UNPKG

everything-dev

Version:

A consolidated product package for building Module Federation apps with oRPC APIs.

30 lines (28 loc) • 1.11 kB
import { rebuildOrderedConfig } from "../merge.mjs"; import { localConfigEntryPath } from "../config.mjs"; import { serializeAppDescriptorSource } from "../descriptor/serialize.mjs"; import { readFileSync, writeFileSync } from "node:fs"; import { join } from "node:path"; //#region src/utils/save-config.ts /** * Persists config changes onto the project's authored surface: the authored * `bos.app.ts` descriptor when present (the serializer drops pipeline state — * production URLs and integrity), else the legacy `bos.config.json` as-is. */ async function saveBosConfig(configDir, config) { const entryPath = localConfigEntryPath(configDir); if (entryPath?.endsWith(".app.ts")) { writeFileSync(entryPath, serializeAppDescriptorSource(config)); return; } const filePath = join(configDir, "bos.config.json"); const ordered = rebuildOrderedConfig(config); const next = `${JSON.stringify(ordered, null, 2)}\n`; try { if (readFileSync(filePath, "utf8") === next) return; } catch {} writeFileSync(filePath, next); } //#endregion export { saveBosConfig }; //# sourceMappingURL=save-config.mjs.map