{"version":3,"file":"save-config.mjs","names":[],"sources":["../../src/utils/save-config.ts"],"sourcesContent":["import { readFileSync, writeFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { rebuildOrderedConfig } from \"../merge\";\nimport type { BosConfig } from \"../types\";\n\nexport async function saveBosConfig(\n  configDir: string,\n  config: BosConfig | Record<string, unknown>,\n): Promise<void> {\n  const filePath = join(configDir, \"bos.config.json\");\n  const ordered = rebuildOrderedConfig(config as Record<string, unknown>);\n  const next = `${JSON.stringify(ordered, null, 2)}\\n`;\n  try {\n    if (readFileSync(filePath, \"utf8\") === next) return;\n  } catch {\n    // file does not exist yet\n  }\n\n  writeFileSync(filePath, next);\n}\n"],"mappings":";;;;;AAKA,eAAsB,cACpB,WACA,QACe;CACf,MAAM,WAAW,KAAK,WAAW,kBAAkB;CACnD,MAAM,UAAU,qBAAqB,OAAkC;CACvE,MAAM,OAAO,GAAG,KAAK,UAAU,SAAS,MAAM,EAAE,CAAC;AACjD,KAAI;AACF,MAAI,aAAa,UAAU,OAAO,KAAK,KAAM;SACvC;AAIR,eAAc,UAAU,KAAK"}