UNPKG

naily

Version:

写了一个没有模块系统的 Minimal Nest.js 写着玩的~

58 lines 1.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const inquirer = require("inquirer"); const ora = require("ora"); const path_1 = require("path"); const gitly_1 = require("gitly"); const child_process_1 = require("child_process"); const content_1 = require("./content"); const fs_1 = require("fs"); const args = process.argv.slice(2); args.forEach((item) => { if (item === "-v") { console.log(content_1.default); const readPackageJSON = (0, fs_1.readFileSync)((0, path_1.join)("package.json")); console.log("Version: " + JSON.parse(readPackageJSON.toString()).version); process.exit(); } }); const LIST = [ { type: "input", message: "请输入项目名称:", name: "projectName", }, { type: "list", message: "请选择包管理器:", name: "packageManager", choices: ["npm", "yarn", "pnpm", "cnpm"], }, ]; async function downloadRepo(options) { const loading = ora("开始下载...☕️~").start(); try { const CURRENT_PATH = process.cwd(); const FILE_PATH = (0, path_1.join)(CURRENT_PATH, options.projectName); const source = await (0, gitly_1.download)("Groupguanfang/naily-starter"); await (0, gitly_1.extract)(source, FILE_PATH); loading.start("正在安装...☕️~"); (0, child_process_1.execSync)(`cd ${FILE_PATH} && ${options.packageManager}` + (options.packageManager === "yarn" ? "" : " install")); loading.succeed("✨安装完成"); return true; } catch (err) { console.error(err); loading.start("Nai ERR! 失败 请检查网络状况后重试!"); return err; } } async function main() { console.log(content_1.default); console.log(); const answer = await inquirer.prompt(LIST); await downloadRepo(answer); } main(); //# sourceMappingURL=npx.js.map