UNPKG

codess

Version:

vscode代码片段管理器,通过 本地包(本地某个文件夹) 或官网的 远程包(代码片段集合) 生成本地项目的 vscode 代码片段配置。

72 lines (71 loc) 3.4 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()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.uninstall = uninstall; const chalk_1 = __importDefault(require("chalk")); const inquirer_1 = __importDefault(require("inquirer")); const config_1 = require("../config/config"); const package_1 = require("../package"); const saveSnippetsConfig_1 = require("../saveSnippetsConfig"); const ArrayUtils_1 = require("../yayaluoya-tool/ArrayUtils"); function uninstall(list) { return __awaiter(this, void 0, void 0, function* () { (0, saveSnippetsConfig_1.saveDefSnippets)(); let config = (0, config_1.getConfig)(); config.dependent = config.dependent || []; config.installRecord = config.installRecord || {}; if (config.dependent.length > 0) { let lists = list.length > 0 ? config.dependent .filter((_) => list.findIndex((__) => (0, package_1.comparePackageStr)(_.package, __)) != -1) .map((_) => _.package) : ArrayUtils_1.ArrayUtils.arraify(yield inquirer_1.default .prompt({ type: 'checkbox', name: 'checkbox', message: 'Select the package to uninstall', choices: config.dependent.map((_) => { return { name: _.package, value: _.package, }; }), pageSize: config.dependent.length, loop: true, }) .then(({ checkbox }) => checkbox) .catch(() => { return []; })); if (lists.length <= 0) { } else { lists.forEach((_) => { let c = (0, package_1.parsePackageNameStr)(_); c && (0, saveSnippetsConfig_1.saveSnippetsConfig)('', _, c.type); c.type == 'web' && (config.installRecord[c.op.web.name] = undefined); }); ArrayUtils_1.ArrayUtils.eliminate(config.dependent, (_) => lists.includes(_.package)); console.log(lists.join(','), chalk_1.default.red('Uninstalled')); } } else { console.log(chalk_1.default.yellow('There are no packages to uninstall')); } if (!config.dependent || config.dependent.length <= 0) { config.installRecord = {}; } (0, config_1.setConfig)(config); }); }