Support package manager: cnpm and pnpm (#8222)

* feat: support pnpm, cnpm

* feat: store supportedPackageManager in default package.json

* feat: store supportedPackageManager in src/cli/package-install.js

Co-authored-by: a632079 <a632079@qq.com>
This commit is contained in:
Jonson Petard
2020-04-13 21:59:52 +08:00
committed by GitHub
parent 3ce885fff2
commit e6a1741c2e
3 changed files with 74 additions and 43 deletions

View File

@@ -14,7 +14,8 @@ const pubsub = require('../pubsub');
const statAsync = util.promisify(fs.stat);
const packageManager = nconf.get('package_manager') === 'yarn' ? 'yarn' : 'npm';
const supportedPackageManagerList = require('../cli/package-install').supportedPackageManager; // load config from src/cli/package-install.js
const packageManager = supportedPackageManagerList.indexOf(nconf.get('package_manager')) >= 0 ? nconf.get('package_manager') : 'npm';
let packageManagerExecutable = packageManager;
const packageManagerCommands = {
yarn: {
@@ -25,6 +26,14 @@ const packageManagerCommands = {
install: 'install',
uninstall: 'uninstall',
},
cnpm: {
install: 'install',
uninstall: 'uninstall',
},
pnpm: {
install: 'install',
uninstall: 'uninstall',
},
};
if (process.platform === 'win32') {