UNPKG

@feflow/cli

Version:
140 lines 5.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.Config = exports.writeFileSync = exports.readFileSync = exports.setKeyToFile = exports.getKeyFormFile = exports.fileExit = void 0; var fs_1 = __importDefault(require("fs")); var path_1 = __importDefault(require("path")); var import_fresh_1 = __importDefault(require("import-fresh")); var strip_json_comments_1 = __importDefault(require("strip-json-comments")); var js_yaml_1 = __importDefault(require("js-yaml")); /* * @description 保证文件一定存在,文件不存在则创建文件 * @param filePath 文件路径 * */ function fileExit(filePath) { try { fs_1.default.readFileSync(filePath, 'utf-8'); } catch (_) { fs_1.default.appendFileSync(filePath, '', 'utf-8'); } } exports.fileExit = fileExit; // 文件中读取json对象的某个value var getKeyFormFile = function (filePath, key) { try { var jsonString = fs_1.default.readFileSync(filePath, 'utf-8'); if (jsonString) { var jsonData = JSON.parse(jsonString); return jsonData[key]; } return ''; } catch (e) { console.log('getKeyFormCache error =>', e); } }; exports.getKeyFormFile = getKeyFormFile; // 文件中写入一个json字符串 var setKeyToFile = function (filePath, key, value) { var _a; try { var jsonString = fs_1.default.readFileSync(filePath, 'utf-8'); var jsonData = void 0; if (jsonString) { jsonData = JSON.parse(jsonString); jsonData[key] = value; } else { jsonData = (_a = {}, _a[key] = value, _a); } fs_1.default.writeFileSync(filePath, JSON.stringify(jsonData, null, 4), 'utf-8'); } catch (e) { console.log('setKeyToCache error =>', e); } }; exports.setKeyToFile = setKeyToFile; // 同步读取文件 var readFileSync = function (filePath) { return fs_1.default.readFileSync(filePath, 'utf8').replace(/^\ufeff/u, ''); }; exports.readFileSync = readFileSync; // 同步写入文件 var writeFileSync = function (filePath, data) { fs_1.default.writeFileSync(filePath, data); }; exports.writeFileSync = writeFileSync; var Config = /** @class */ (function () { function Config() { } Config.loadConfigFile = function (filePath) { switch (path_1.default.extname(filePath)) { case '.js': return Config.loadJSConfigFile(filePath); case '.json': if (path_1.default.basename(filePath) === 'package.json') { return Config.loadPackageJSONConfigFile(filePath); } return Config.loadJSONConfigFile(filePath); case '.yaml': case '.yml': return Config.loadYAMLConfigFile(filePath); default: return Config.loadLegacyConfigFile(filePath); } }; Config.loadJSConfigFile = function (filePath) { try { return (0, import_fresh_1.default)(filePath); } catch (e) { e instanceof Error && (e.message = "Cannot read config file: ".concat(filePath, "\nError: ").concat(e.message)); throw e; } }; Config.loadPackageJSONConfigFile = function (filePath) { try { return Config.loadJSONConfigFile(filePath); } catch (e) { e instanceof Error && (e.message = "Cannot read config file: ".concat(filePath, "\nError: ").concat(e.message)); throw e; } }; Config.loadJSONConfigFile = function (filePath) { try { return JSON.parse((0, strip_json_comments_1.default)(Config.readFile(filePath))); } catch (e) { e instanceof Error && (e.message = "Cannot read config file: ".concat(filePath, "\nError: ").concat(e.message)); throw e; } }; Config.readFile = function (filePath) { return fs_1.default.readFileSync(filePath, 'utf8').replace(/^\ufeff/u, ''); }; Config.loadYAMLConfigFile = function (filePath) { try { return js_yaml_1.default.safeLoad(Config.readFile(filePath)) || {}; } catch (e) { e instanceof Error && (e.message = "Cannot read config file: ".concat(filePath, "\nError: ").concat(e.message)); throw e; } }; Config.loadLegacyConfigFile = function (filePath) { try { return js_yaml_1.default.safeLoad((0, strip_json_comments_1.default)(this.readFile(filePath))) || {}; } catch (e) { e instanceof Error && (e.message = "Cannot read config file: ".concat(filePath, "\nError: ").concat(e.message)); throw e; } }; return Config; }()); exports.Config = Config; //# sourceMappingURL=file.js.map