@beisen/bscpm
Version:
64 lines (41 loc) • 3.02 kB
JavaScript
;
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _commander = require('commander');
var _commander2 = _interopRequireDefault(_commander);
var _yeomanEnvironment = require('yeoman-environment');
var _yeomanEnvironment2 = _interopRequireDefault(_yeomanEnvironment);
var _upgradeMsg = require('./helpers/upgrade-msg');
var _upgradeMsg2 = _interopRequireDefault(_upgradeMsg);
var _package = require('../package.json');
var _package2 = _interopRequireDefault(_package);
var _dotenv = require('dotenv');
var _dotenv2 = _interopRequireDefault(_dotenv);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
_dotenv2.default.config({ 'path': _path2.default.join(__dirname, '..', '.env') });
const env = _yeomanEnvironment2.default.createEnv().register(require.resolve('../lib/commands/create'), 'create').register(require.resolve('../lib/commands/run'), 'run').register(require.resolve('../lib/commands/upgrade'), 'upgrade').register(require.resolve('../lib/commands/add'), 'add');
_commander2.default.version(_package2.default.version, '-v, --version');
_commander2.default.command('create [cmd]').option('-u, --username [username]', 'Gitlab账号名,创建项目时添加最高权限的用户,默认是当前机器上的 git user.name').description('脚手架工具生成解决方案').action((() => {
var _ref = _asyncToGenerator(function* (cmd = 'component', opts) {
yield (0, _upgradeMsg2.default)();
let { username, italent } = opts;
env.run(`create ${cmd}`, { username, italent });
});
return function () {
return _ref.apply(this, arguments);
};
})());
_commander2.default.command('run <cmd>').option('-d, --dir [dir]', '复制Gitlab项目的目标路径').option('-r, --registries [registries]', '需要Clone的Gitlab项目.git地址,逗号分隔').description('其他命令').action((cmd, opts) => {
let { dir, registries } = opts;
env.run(`run ${cmd}`, { dir, registries });
});
_commander2.default.command('upgrade [cmd]').option('-m, --message [message]', '无用参数').description('更新组件配置,可能涉及到 `文件` 和 `package.json`').action((cmd = 'common', opts) => {
let { message } = opts;
env.run(`upgrade ${cmd}`, { message });
});
_commander2.default.command('add [cmd]').option('-m, --message [message]', '无用参数').description('添加配置、脚本').action((cmd, opts) => {
let { message } = opts;
env.run(`add ${cmd}`, { message });
});
_commander2.default.parse(process.argv);