newkit-cli
Version:
Newkit cli tools.
69 lines (55 loc) • 1.54 kB
JavaScript
require('shelljs/global');
const program = require('commander');
const packageJson = require('./package.json');
const util = require('./lib/util');
var version = `Newkit-cli: ${packageJson.version}`;
// 检查CLI版本
util.checkCliVersion();
program
.version(version)
.usage('Newkit cli tool');
//初始化Newkit2到当前目录
program
.command('init')
.description('Initial newkit2 at current folder')
.action(() => {
require('./lib2/nk_init')();
});
program
.command('create <module>')
.description('Create module template')
.action(mod => {
require('./lib2/nk_create')(mod);
});
program
.command('update [version]')
.option('-f, --force', 'Force to update, ingore version check')
.description('Update newkit2 to special version')
.action((version, cmd) => {
require('./lib2/nk_update')(version, cmd.force);
});
program
.command('types <module>')
.description('Generate type define file to node_modules/@types')
.action(module => {
require('./lib2/nk_types')(module);
});
program
.command('lint [module]')
.description('Lint the source code')
.action(module => {
require('./lib2/nk_lint')(module || '');
});
//处理未知的command
program
.command('*')
.description('Process undefined command')
.action((cmd) => {
console.error(` error: unknown option \`${cmd}'`);
});
program.parse(process.argv);
//如果直接使用nk,那么显示help
if (process.argv.length === 2) {
program.outputHelp();
}