UNPKG

wangyj

Version:

wangyj 个人常用命令库

62 lines (61 loc) 2.36 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.wdtInit = void 0; const inquirer_1 = __importDefault(require("inquirer")); const ora_1 = __importDefault(require("ora")); const download_git_repo_1 = __importDefault(require("download-git-repo")); const templates_json_1 = __importDefault(require("../templates.json")); const formatOutput_1 = require("../../../utils/formatOutput"); const wdtInit = async () => { const keys = Object.keys(templates_json_1.default); if (keys.length === 0) { (0, formatOutput_1.formatOutput)("提示信息", "当前无模板", "warning"); return; } else { const { project, select } = await inquirer_1.default.prompt([ { type: "input", name: "project", message: "请输入项目名称", validate(valid) { if (!valid.trim()) { return `项目名称不能为空`; } return true; }, }, { type: "list", loop: false, name: "select", message: "请选择项目模板", choices: keys, }, ]); const url = Reflect.get(templates_json_1.default, select).url; const spinner = (0, ora_1.default)("Downloading..."); spinner.start(); try { (0, download_git_repo_1.default)(`direct:${url}`, project, { clone: true }, (err) => { if (err) { spinner.fail(); (0, formatOutput_1.formatOutput)("项目生成", "失败", "error"); return; } spinner.succeed("Downloaded"); (0, formatOutput_1.formatOutput)("项目生成", "成功,请执行:", "success"); console.log(` cd ${project}`); console.log(` npm install`); console.log(` npm run dev\n\n`); }); } catch (error) { (0, formatOutput_1.formatOutput)("错误信息", `${error}`, "error"); } } }; exports.wdtInit = wdtInit;