UNPKG

j-2024-cli

Version:

一个mini版的脚手架

42 lines (36 loc) 1.38 kB
#! /usr/bin/env node const program = require("commander"); const path = require("path"); const chalk = require("chalk"); const pkg = require(path.join(__dirname, "../package.json")); program.version(`j-cli@${pkg.version}`).usage("<command> [option]"); // 1.通过脚手架来创建一个项目 create(拉取仓库中的模板,下载方式可以采用github gitlab gitee) // 2.配置拉取的信息,配置系统文件 config // vue create abc program .command("create <project-name>") .description("create a project") .option("-f, --force", "overwrite target directory") .action(async (name, option) => { require("./commands/create.js")(name, option); }); // my-cli config --set a 1 // my-cli config --get a program .command("config [value]") .description("inspect config ") .option("-g, --get <path>", "get value") .option("-s, --set <path> <value>", "set value") .option("-d, --delete <path>", "delete value") .action(async (value, option) => { console.log(value, option); require("./commands/config.js").setConfig(value, option); }); program.addHelpText( "after", `\nRun ${chalk.blueBright( "my-cli <command> --help" )} for detailed usage of given command.` ); // process.argv 用户传递的参数 program.parse(process.argv); //直接解析用户参数自动提供了--help