nk-cli
Version:
Initialize a vite app fast by NK-CLI
72 lines • 6.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.pluginConsole = exports.install = exports.copyPlugins = void 0;
const fs = require("fs-extra");
const path = require("path");
const chalk = require("chalk");
const clearConsole_1 = require("./utils/clearConsole");
const packages_1 = require("./questions/packages");
const options_1 = require("./options");
const readJson_1 = require("./utils/readJson");
const createSpawnCmd_1 = require("./utils/createSpawnCmd");
async function default_1(name) {
// CLI package 文件夹路径
options_1.default.src = path.resolve(__dirname, '../packages');
// 获取基础参数
options_1.default.name = name;
options_1.default.dest = process.cwd();
if (name === undefined) {
// 执行自定义选项
await (0, packages_1.default)();
}
else {
const plugins = await (0, readJson_1.default)('plugins.json');
const plugin = plugins.find(item => item.value === name);
if (plugin !== undefined) {
options_1.default.plugins = [name];
}
else {
console.log(chalk.red('The plugin not found'));
process.exit(1);
}
}
}
exports.default = default_1;
async function copyPlugins() {
const pluginsPromise = options_1.default.plugins.map((name) => {
const plugin = options_1.default.allPackages.find(item => item.name === name);
const src = path.resolve(options_1.default.src, plugin.name, 'src');
const dest = path.resolve(options_1.default.dest, plugin.dest);
return fs.copy(src, dest);
});
await Promise.all(pluginsPromise);
}
exports.copyPlugins = copyPlugins;
async function install() {
const packages = [];
options_1.default.plugins.forEach((pluginName) => {
const { dependencies } = options_1.default.allPackages.find(item => item.name === pluginName);
const packageDependencies = Object.keys(dependencies).map(key => `${key}@${dependencies[key]}`);
packages.push(...packageDependencies);
});
const packagesStr = [...new Set(packages)].join(' ');
const cmdInherit = (0, createSpawnCmd_1.default)(options_1.default.dest, 'inherit');
await cmdInherit('pnpm', [`add ${packagesStr} --D`]);
}
exports.install = install;
async function pluginConsole() {
const installed = [];
options_1.default.plugins.forEach(pluginName => {
const plugin = options_1.default.allPackages.find(item => item.name === pluginName);
if (plugin)
installed.push(plugin);
});
(0, clearConsole_1.default)('cyan', `KK-CLI v${options_1.default.version}`);
console.log(chalk.cyan('Plugins added completed:'));
console.log('');
installed.forEach(item => {
console.log(`- ${item.description} [${chalk.green(item.version)}] (${item.dest})`);
});
}
exports.pluginConsole = pluginConsole;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkUGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hZGRQbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUFnQztBQUNoQyw2QkFBOEI7QUFDOUIsK0JBQWdDO0FBQ2hDLHVEQUFnRDtBQUNoRCxtREFBbUQ7QUFDbkQsdUNBQWdDO0FBQ2hDLCtDQUF3QztBQUN4QywyREFBb0Q7QUFFckMsS0FBSyxvQkFBVyxJQUFZO0lBQ3pDLG9CQUFvQjtJQUNwQixpQkFBTyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNyRCxTQUFTO0lBQ1QsaUJBQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLGlCQUFPLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUU3QixJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDdEIsVUFBVTtRQUNWLE1BQU0sSUFBQSxrQkFBZSxHQUFFLENBQUM7S0FDekI7U0FBTTtRQUNMLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBQSxrQkFBUSxFQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ3pELElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRTtZQUN4QixpQkFBTyxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzFCO2FBQU07WUFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO1lBQy9DLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDakI7S0FDRjtBQUNILENBQUM7QUFwQkQsNEJBb0JDO0FBRU0sS0FBSyxV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