UNPKG

nk-cli

Version:

Initialize a vite app fast by NK-CLI

72 lines 6.65 kB
"use strict"; 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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