const { program } = require("commander");
// 1. 生成脚手架得帮助文档: imooc-build -h
// 2. 生成脚手架command的帮助文档 imooc-build split -h / imooc-build help split
program
.name("imooc-build")
.description("CLI to build javascript project")
.version("0.0.1");
program.option("-d, --debug", "debugging").option("-g, --global", "global");
program
.command("split")
.description("Splite string to array")
.argument("<arguments>", "string to split")
.option("--first", "display just the first substring")
.option("-s, --separator <char>", "separator char", "/")
// 必填
// .requiredOption("-s, --separator <char>", "separator char", "/")
.option("-e, --extra", "extra for something")
.option("-a, --add [string]", "add something")
.option("-l, --letter [letters...]", "specify letters")
.action((args, options, cmd) => {
console.log(cmd.optsWithGlobals());
const limit = options.first ? 1 : undefined;
console.log(args.split(options.separator, limit));
});
// <> 必须要输入 【】 可以不输
program.parse();
// opts 获取当前实例的options 比如全局program获取全局options, subcommand获取局部options
// optsWithGlobals 获取全部options 全局获取全局options subcommand获取全局+局部options
// const options = program.opts();
// const globalOptions = program.optsWithGlobals();
// console.log(options);
// console.log(globalOptions);
imooc-build split -dgel abcde – aaa/bbb/ccc