// 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(' [options]'); // 定义命令用法 // program // .command('rm ') // 定义一个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