UNPKG

codess

Version:

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

54 lines (53 loc) 2.04 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.configName = void 0; exports.getNullConfig = getNullConfig; exports.getConfig = getConfig; exports.setConfig = setConfig; const path_1 = __importDefault(require("path")); const fs_1 = __importDefault(require("fs")); const packageJSON_1 = require("./packageJSON"); const seting_1 = require("../seting"); const fs_2 = require("../utils/fs"); const package_1 = require("../package"); exports.configName = `${packageJSON_1.packageJSON.name}.config.json`; function getNullConfig() { return { dependent: [], installRecord: {}, document: seting_1.seting.officialDoc, }; } function getConfig() { var _a; let configPath = path_1.default.join(process.cwd(), exports.configName); let config = getNullConfig(); if ((_a = (0, fs_2.statSync)(configPath)) === null || _a === void 0 ? void 0 : _a.isFile()) { let configStr = fs_1.default.readFileSync(configPath).toString(); try { config = JSON.parse(configStr); if (config.dependent.some((_) => { var _a; let packageName = _.package; _.package = (_a = (0, package_1.parsePackageNameStr)(_.package)) === null || _a === void 0 ? void 0 : _a.package; return _.package != packageName; })) { config.dependent = config.dependent.filter((_) => !!_.package); setConfig(config); } } catch (e) { throw `Error reading configuration file ${configPath}:\n${e}`; } } else { fs_1.default.writeFileSync(configPath, JSON.stringify(config, undefined, 4)); } return config; } function setConfig(config) { fs_1.default.writeFileSync(path_1.default.join(process.cwd(), exports.configName), JSON.stringify(config, undefined, 4)); }