newkit-cli
Version:
Newkit cli tools.
98 lines (81 loc) • 2.25 kB
JavaScript
;
var program = require('commander');
var packageJson = require('./package.json');
var util = require('./lib/util');
var version = `Newkit-cli: ${packageJson.version}`;
// 检查CLI版本
util.checkCliVersion();
program
.version(version)
.usage('Newkit cli tool');
//初始化Newkit到当前目录
program
.command('init')
.description('Initial Newkit at current folder')
.action(() => {
require('./lib/nc_init')();
});
//检查远端Newkit版本
program
.command('check')
.description('Check remote version')
.action((cmd) => {
require('./lib/nc_check')();
});
// 打包模块
program
.command('pack <module>')
.description('Pack speical module folder')
.action(mod => {
require('./lib/nc_pack')(mod);
});
// 发布版本到GDEV
program
.command('deploy <module>')
.option('-m, --memo [memo]', 'Set memo')
.option('-v, --version [version]', 'Set version')
.option('--gqc [gqc]', 'Deploy to GQC')
.description('Deploy module to gdev or gqc')
.action((mod, cmd) => {
require('./lib/nc_deploy')(mod, {
version: typeof cmd.version === 'string' ? cmd.version : undefined,
memo: cmd.memo,
gqc: cmd.gqc
});
});
//从远端更新框架版本
program
.command('update [version]')
.option('-f, --force', 'Force to update, ingore version check')
.description('Pull remote framework version')
.action((version, cmd) => {
require('./lib/nc_update')(version, cmd.force);
});
// jshint检查模块代码
program
.command('jshint <module>')
// .option()
.description('Jshint your module code')
.action((module) => {
require('./lib/nc_jshint')(module);
});
// 清除dist目录
program
.command('clean')
.description('Clean the ./dist folder')
.action(() => {
require('./lib/nc_clean')();
});
//处理未知的command
program
.command('*')
.description('Process undefined command')
.action((cmd) => {
console.error(` error: unknown option \`${cmd}'`);
});
program.parse(process.argv);
//如果直接使用nc,那么显示help
if (process.argv.length === 2) {
program.outputHelp();
}