UNPKG

sth-cli

Version:

stonehg vue cli

58 lines (47 loc) 1.71 kB
#! /usr/bin/env node const program = require('commander') const create = require('../lib/create') const chalk = require('chalk'); const figlet = require('figlet') const updater = require('pkg-updater'); const pkg = require('../package.json'); updater({ 'pkg': pkg, 'registry': 'https://www.npmjs.com/package/sth-cli', // custom registry 'tag': 'next', // custom the check tag(default is latest) 'checkInterval': 24 * 60 * 60 * 1000, // custom the check interval(ms) 'level': 'patch' }).then(() => { program //定义命令和参数 .command('create <app-name>') //描述信息 .description('create a new project') //-f --force 强制创建,如果创建的目录存在则直接覆盖 .option('-f,--force', 'overwrite target directory if it exist') //回调方法 .action((name, options) => { // console.log(name, options); create(name, options) }) program .version(`v${require('../package.json').version}`) .usage('<command> [option]') program // 监听 --help 执行 .on('--help', () => { // 使用 figlet 绘制 Logo console.log('\r\n' + figlet.textSync('STONEHG', { font: 'Ghost', horizontalLayout: 'default', verticalLayout: 'default', width: 80, whitespaceBreak: true })); // 新增说明信息 console.log(`\r\nRun ${chalk.cyan(`st <command> --help`)} for detailed usage of given command\r\n`) }) //解析用户执行命令行传入参数 program .parse(process.argv) });