zqserver-cli
Version:
Zqs cli tool
124 lines • 9.66 kB
JavaScript
;
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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