UNPKG

zqserver-cli

Version:
124 lines 9.66 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.loadExistsPlugins = exports.requestPlugins = exports.remove = exports.add = void 0; const colors = require("colors/safe"); const fs = require("fs"); const fse = require("fs-extra"); const inquirer = require("inquirer"); const lodash = require("lodash"); const rp = require("request-promise"); const cmd_1 = require("./cmd"); function add(flags, answers_) { return __awaiter(this, void 0, void 0, function* () { const cwd = process.cwd(); const exists = yield loadExistsPlugins(); console.log(colors.yellow('已安装 plugin :')); console.log('[', colors.green(exists.join(', ')), ']'); console.log(colors.yellow('正在从github获取 plugin 列表')); const choices = yield requestPlugins(); let answers = answers_; if (!answers) answers = yield inquirer.prompt([ { type: 'list', name: 'plugin', choices: lodash.difference(choices, exists), message: '请选择plugin', }, ]); flags.plugin = answers.plugin; try { yield cmd_1.run(`npm install zqs-plugin-${flags.plugin}`, { cwd: `${cwd}`, stdio: 'inherit', }); yield fse.mkdirp(cwd + `/src/plugins`); yield fse.copy(`node_modules/zqs-plugin-${flags.plugin}/default_config`, `${cwd}/src/plugins/${flags.plugin}.ts`); console.log('plugin', colors.cyan(flags.plugin), '已被安装'); return true; } catch (e) { console.log(e); return false; } }); } exports.add = add; function remove(flags, answers_) { return __awaiter(this, void 0, void 0, function* () { const cwd = process.cwd(); const exists = yield loadExistsPlugins(); console.log(colors.yellow('已安装 plugin :')); console.log('[', colors.green(exists.join(', ')), ']'); let answers = answers_; if (!answers) answers = yield inquirer.prompt([ { type: 'checkbox', name: 'plugins', choices: exists, default: [], message: colors.red('移除 plugin'), }, ]); flags.plugins = answers.plugins; if (!flags.plugins.length) return false; try { const plugins = flags.plugins .map((x) => 'zqs-plugin-' + x) .join(' '); yield cmd_1.run(`npm uninstall ${plugins}`, { cwd: `${cwd}`, stdio: 'inherit', }); for (const plugin of flags.plugins) yield fse.remove(`${cwd}/src/plugins/${plugin}.ts`); console.log('plugin', colors.red(flags.plugins.join(' ')), '已被移除'); return true; } catch (e) { console.error(e); return false; } }); } exports.remove = remove; function requestPlugins() { return __awaiter(this, void 0, void 0, function* () { const url = 'https://api.github.com/users/ToolsZhang/repos'; const res = yield rp.get(url, { json: true, headers: { 'User-Agent': 'Zqs Cli ' + new Date().toISOString(), }, }); return res .filter(x => x.name.startsWith('zqs-plugin-')) .map(x => x.name.slice(11)); }); } exports.requestPlugins = requestPlugins; function loadExistsPlugins() { return __awaiter(this, void 0, void 0, function* () { const cwd = process.cwd(); const pluginPath = cwd + '/src/plugins'; if (!fs.existsSync(pluginPath)) return []; const files = yield fse.readdir(pluginPath); return files .filter(x => x.endsWith('.ts')) .map(x => x.slice(0, x.length - 3)); }); } exports.loadExistsPlugins = loadExistsPlugins; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxzQ0FBc0M7QUFDdEMseUJBQXlCO0FBQ3pCLGdDQUFnQztBQUNoQyxxQ0FBcUM7QUFDckMsaUNBQWlDO0FBQ2pDLHNDQUFzQztBQUN0QywrQkFBNEI7QUFFNUIsU0FBc0IsR0FBRyxDQUFDLEtBQVUsRUFBRSxRQUFjOztRQUNsRCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDMUIsTUFBTSxNQUFNLEdBQUcsTUFBTSxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUM7UUFDcEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxjQUFjLEVBQUUsQ0FBQztRQUN2QyxJQUFJLE9BQU8sR0FBRyxRQUFRLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU87WUFDVixPQUFPLEdBQUcsTUFBTSxRQUFRLENBQUMsTUFBTSxDQUFDO2dCQUM5QjtvQkFDRSxJQUFJLEVBQUUsTUFBTTtvQkFDWixJQUFJLEVBQUUsUUFBUTtvQkFDZCxPQUFPLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDO29CQUMzQyxPQUFPLEVBQUUsV0FBVztpQkFDckI7YUFDRixDQUFDLENBQUM7UUFDTCxLQUFLLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENB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