geeks-cli
Version:
simple vue cli
38 lines (33 loc) • 1.07 kB
JavaScript
const program = require('commander')
const figlet = require('figlet');
const chalk = require('chalk');
// 定义命令和参数
// create命令
program
.command('create <app-name>')
.description(chalk.cyan('create a new project'))
// -f or --force 为强制创建,如果创建的目录存在则直接覆盖
.option('-f, --force', 'overwrite target directory if it exist')
.action((name, options) => {
// 打印执行结果
require("../lib/create")(name, options)
})
// 配置版本号信息
program
.version(`v${require('../package.json').version}`)
.usage('<command> [option]')
// 绘制logo 和 提示语 在触发帮助时执行
let help = () => {
// 使用 figlet 绘制 Logo
console.log('\r\n' + figlet.textSync('geeks', {
width: 60,
whitespaceBreak: true
}));
// 新增说明信息
console.log(`\r\nRun ${chalk.cyan(`geeks <command> --help`)} show details\r\n`)
}
// 监听--help
program.on('--help', help).on('-h', help);
// 解析用户执行命令传入参数
program.parse(process.argv);