nk-cli
Version:
Initialize a vite app fast by NK-CLI
51 lines • 5.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
// 写入文件,安装依赖
const fs = require("fs-extra");
const chalk = require("chalk");
const path = require("path");
// import createQuestions from './questions/creator';
const clearConsole_1 = require("./utils/clearConsole");
const createSpawnCmd_1 = require("./utils/createSpawnCmd");
const createTemplate_1 = require("./createTemplate");
const options_1 = require("./options");
let startTime, endTime;
async function default_1(name) {
// CLI 模板文件夹路径
options_1.default.src = path.resolve(__dirname, '../template');
// 获取基础参数
options_1.default.name = name;
options_1.default.dest = path.resolve(process.cwd(), name);
const cmdIgnore = (0, createSpawnCmd_1.default)(options_1.default.dest, 'ignore');
const cmdInherit = (0, createSpawnCmd_1.default)(options_1.default.dest, 'inherit');
(0, clearConsole_1.default)('cyan', `KK-CLI v${options_1.default.version}`);
// 执行自定义选项
// await createQuestions();
// 开始记录用时
startTime = new Date().getTime();
// 拷贝基础模板文件
await fs.copy(options_1.default.src, options_1.default.dest);
// 编译 ejs 模板文件
await Promise.all((0, options_1.fetchTemplateFiles)().map(file => (0, createTemplate_1.ejsRender)(file)));
console.log(`> Project template directory ${chalk.yellow(options_1.default.dest)}`);
// 生成 gitignore
await fs.move(path.resolve(options_1.default.dest, '.gitignore.ejs'), path.resolve(options_1.default.dest, '.gitignore'), { overwrite: true });
// Git 初始化
await cmdIgnore('git', ['init']);
await cmdIgnore('git', ['add .']);
await cmdIgnore('git', ['commit -m "create vite-app by KK-CLI"']);
console.log(`> Git init successful`);
// 依赖安装
console.log(`> Dependencies are being installed automatically, please waiting...`);
console.log('');
await cmdInherit('pnpm', ['install']);
(0, clearConsole_1.default)('cyan', `KK-CLI v${options_1.default.version}`);
endTime = new Date().getTime();
const usageTime = (endTime - startTime) / 1000;
console.log(`> Project creation completed after${chalk.cyan(usageTime)}s,please continue by follow options...`);
console.log('');
console.log(chalk.cyan(' $ ') + chalk.blueBright(`cd ${name}`));
console.log(chalk.cyan(' $ ') + chalk.blueBright('pnpm serve'));
}
exports.default = default_1;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsWUFBWTtBQUNaLCtCQUFnQztBQUNoQywrQkFBZ0M7QUFDaEMsNkJBQThCO0FBQzlCLHFEQUFxRDtBQUNyRCx1REFBZ0Q7QUFDaEQsMkRBQW9EO0FBQ3BELHFEQUE2QztBQUM3Qyx1Q0FBd0Q7QUFFeEQsSUFBSSxTQUFpQixFQUFFLE9BQWUsQ0FBQztBQUV4QixLQUFLLG9CQUFXLElBQVk7SUFDekMsY0FBYztJQUNkLGlCQUFPLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3JELFNBQVM7SUFDVCxpQkFBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDcEIsaUJBQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakQsTUFBTSxTQUFTLEdBQUcsSUFBQSx3QkFBYyxFQUFDLGlCQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sVUFBVSxHQUFHLElBQUEsd0JBQWMsRUFBQyxpQkFBTyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUUzRCxJQUFBLHNCQUFZLEVBQUMsTUFBTSxFQUFFLFdBQVcsaUJBQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRW5ELFVBQVU7SUFDViwyQkFBMkI7SUFFM0IsU0FBUztJQUNULFNBQVMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ2hDLFdBQVc7SUFDWCxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQU8sQ0FBQyxHQUFHLEVBQUUsaUJBQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxjQUFjO0lBQ2QsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUEsNEJBQWtCLEdBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFBLDBCQUFTLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0NBQWdDLEtBQUssQ0FBQyxNQUFNLENBQUMsaUJBQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUUsZUFBZTtJQUNmLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FDWCxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFPLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLEVBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQU8sQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLEVBQ3hDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUNwQixDQUFDO0lBQ0YsVUFBVTtJQUNWLE1BQU0sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7SUFDaEMsTUFBTSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtJQUNqQyxNQUFNLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDLENBQUE7SUFDakUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBRXJDLE9BQU87SUFDUCxPQUFPLENBQUMsR0FBRyxDQUFDLHFFQUFxRSxDQUFDLENBQUM7SUFDbkYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoQixNQUFNLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBRXRDLElBQUEsc0JBQVksRUFBQyxNQUFNLEVBQUUsV0FBVyxpQkFBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDbkQsT0FBTyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDL0IsTUFBTSxTQUFTLEdBQUcsQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFBO0lBQzlDLE9BQU8sQ0FBQyxHQUFHLENBQUMscUNBQXFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7SUFDaEgsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoRSxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUE3Q0QsNEJBNkNDIn0=