anydemo
Version:
77 lines (76 loc) • 2.15 kB
JavaScript
#!/usr/bin/env node
var Command = require("commander").Command;
var inquirer = require("inquirer");
var path = require("path");
var shell = require("shelljs");
var clone = require("git-clone");
var remoteDir = require("git-remote-dir");
var program = new Command();
var pkginfo = require("../package.json");
var _a = require("./helper"), demoList = _a.demoList, pageList = _a.pageList, codeList = _a.codeList, templatesRepo = _a.templatesRepo;
program.version(pkginfo.version, "-v, --version", "@anydemo/cli 当前版本");
program
.command("demo <name>")
.description("创建一个示例")
.action(function (name) {
inquirer
.prompt({
type: "rawlist",
name: "value",
message: "选择一个框架",
choices: demoList
})
.then(function (answers) {
var value = answers.value;
clone(value, name, function (error) {
if (error) {
console.log("创建失败~ 😔😔😔", error);
}
else {
shell.rm("-rf", "./".concat(name, "/.git"));
console.log("创建成功~ 😄😄😄");
}
});
});
});
program
.command("page <name>")
.description("创建一个页面")
.action(function (name) {
inquirer
.prompt({
type: "rawlist",
name: "value",
message: "选择一个框架",
choices: pageList
})
.then(function (answers) {
var value = answers.value;
remoteDir(templatesRepo, {
branch: "main",
targetDir: value,
outputDir: name
});
});
});
program
.command("code <name>")
.description("创建代码片段")
.action(function (name) {
inquirer
.prompt({
type: "rawlist",
name: "value",
message: "选择一个框架",
choices: codeList
})
.then(function (answers) {
var value = answers.value;
remoteDir(templatesRepo, {
branch: "main",
targetDir: value,
outputDir: name
});
});
});
program.parse(process.argv);