UNPKG

@anijs/load-config

Version:
57 lines (56 loc) 2.55 kB
var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __markAsModule = (target) => __defProp(target, "__esModule", { value: true }); var __export = (target, all) => { __markAsModule(target); for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __reExport = (target, module2, desc) => { if (module2 && typeof module2 === "object" || typeof module2 === "function") { for (let key of __getOwnPropNames(module2)) if (!__hasOwnProp.call(target, key) && key !== "default") __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable }); } return target; }; var __toModule = (module2) => { return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2); }; __export(exports, { default: () => handleJSON_default }); var import_fs_extra = __toModule(require("fs-extra")); var import_path = __toModule(require("path")); var import_deepmerge = __toModule(require("deepmerge")); async function handleJSON(params, callback) { const { configFile, cwd = process.cwd(), configName = "", beforeConfigData } = params || {}; const absolutePath = import_path.default.isAbsolute(configFile); const filePath = absolutePath ? configFile : import_path.default.resolve(cwd, "../", configFile); const jsonData = await readJsonData(filePath, import_path.default.basename(filePath) === "package.json" ? configName : "") || {}; const extendsFile = jsonData.extends; const newResult = (0, import_deepmerge.default)(jsonData, beforeConfigData); if (extendsFile !== void 0) { const result = await callback({ cwd: filePath, configFile: extendsFile, beforeConfigData: newResult, configName }); return result; } if (newResult.extends !== void 0) delete newResult.extends; return newResult; } async function readJsonData(file, name) { const pkgData = await (0, import_fs_extra.readJson)(file); return name ? pkgData[name] : pkgData; } var handleJSON_default = handleJSON; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = {});