gittttup
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

55 lines
2.0 KiB

// https://github.com/tj/commander.js/blob/HEAD/Readme_zh-CN.md
// https://www.npmjs.com/package/inquirer
// https://www.npmjs.com/package/ora
const program = require('commander');
const inquirer = require('inquirer');
const ora = require('ora');
// example commander
// const program = require('commander');
// program
// .version(require('../package.json').version, '-v, --version') // 定义版本信息
// .usage('<command> [options]'); // 定义命令用法
// program
// .command('rm <dir>') // 定义一个rm命令
// .description('删除文件或文件夹') // 给rm命令添加描述信息,获取命令帮助信息的时候会显示
// .option('-r, --recursive', 'Remove recursively') // rm允许添加-r或者--recursive命令进行递归
// .action(function (dir, cmd) { // 对应命令的处理函数
// console.log('remove ' + dir + (cmd.recursive ? ' recursively' : ''))
// });
// program.parse(process.argv); // commander的入口欧,传入命令行参数执行解析
// example inquirer
// inquirer.prompt([
// {
// type: 'input', // 问题类型,包括input,number,confirm,list,rawlist,password
// name: 'name',
// message: '请输入项目名称', // 问题
// default: 'unnamed' // 默认值
// validate: (input: string) => {
// if (input.length > 255) { // 输入验证:name长度不允许超过255
// return '项目名称超过限制';
// }
// return true;
// }
// },
// {
// type: 'list',
// name: 'type',
// message: '请选择',
// choices: ['item1', 'item2', 'item3', 'item4'], // 可选选项
// default: 'project'
// }]).then(answers => {
// console.log(answers.name);
// console.log(answers.type);
// });
// example ora
// const spinner = ora('Loading unicorns').start();
// setTimeout(() => {
// spinner.color = 'yellow';
// spinner.text = 'Loading rainbows';
// }, 1000);
// setTimeout(() => {
// spinner.stop();
// }, 2000);
// npm i ora