dmp-cli
Version:
Dmp component's cli
83 lines (68 loc) • 2.49 kB
JavaScript
const chalk = require('chalk')
const cmd = require('commander')
let config = require('../package.json')
const version = require('../libs/utils/check-version')
const log = require('../libs/utils/log')
const _ = require('lodash')
const logo =
`
██████╗ ███╗ ███╗ ██████╗
██╔══██╗ ████╗ ████║ ██╔══██╗
██║ ██║ ██╔████╔██║ ██████╔╝
██║ ██║ ██║╚██╔╝██║ ██╔═══╝
██████╔╝ ██║ ╚═╝ ██║ ██║
╚═════╝ ╚═╝ ╚═╝ ╚═╝
`
console.log(chalk.cyan(logo))
config = _.merge(config, require('../config'))
const COMMANDMAP = {
comInit: require('../libs/init'), //初始化
preview: require('../libs/preview'), //预览
// unittest: require('../libs/unittest'), //单测
package: require('../libs/package'), //打包
}
function exec(command, ...args) {
log.debugModeSwitch(args[0].debug)
version(config, () => {
COMMANDMAP[command](config, ...args)
})
}
cmd
.usage('[options] <folder|file...>')
.version(`v${config.version}`, '-v, --version')
.description('DMP图表组件开发工具')
cmd.command('init')
.option('-d --debug', 'debug mode')
.description('初始化组件')
.action((...args) => exec('comInit', ...args))
cmd
.command('run')
.option('-p --port [value]', 'custom server port')
.option('-s --silent', 'keep silent')
.option('-d --debug', 'debug mode')
.option('-t --test', 'proxy to test dev')
.description('运行组件')
.action((...args) => exec('preview', ...args))
// cmd
// .command('test')
// .option('-d --debug', 'debug mode')
// .option('-f --jestfilepath [path]', 'Jest run filepath')
// .option('-o --jest [option1,option2,...]', 'Jest CLI Options: option prefix cannot have --')
// .description('测试组件')
// .action((...args) => exec('unittest', ...args))
cmd
.command('package')
.option('-d --debug', 'debug mode')
.option('-n --pkgversion [value]', 'package build version')
.option('-a --analyzer', 'analyzer package size')
.description('打包组件')
.action((...args) => exec('package', ...args))
cmd
.command('latest')
.description('检测开发工具最新版本')
.action(() => version(config))
cmd.parse(process.argv)
if (!cmd.args.length) {
cmd.help()
}