{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/writeConfiguration/index.ts"],"sourcesContent":["import { mkdir, readFile } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport type { IntlayerConfig } from '@intlayer/types/config';\nimport { writeFileIfChanged } from '../writeFileIfChanged';\nimport { generateConfigurationContent } from './generateConfigurationContent';\n\nexport const isCachedConfigurationUpToDate = async (\n  configuration: IntlayerConfig\n): Promise<boolean | null> => {\n  try {\n    const mjsPath = join(configuration.system.configDir, 'configuration.mjs');\n    const existingContent = await readFile(mjsPath, 'utf8');\n    const expectedContent = generateConfigurationContent(configuration, 'esm');\n    return existingContent === expectedContent;\n  } catch {\n    return null; // Can crash if file doesn't exist yet or config is not defined\n  }\n};\n\nexport const writeConfiguration = async (configuration: IntlayerConfig) => {\n  const { configDir } = configuration.system;\n\n  await mkdir(configDir, { recursive: true });\n\n  await Promise.all([\n    writeFileIfChanged(\n      join(configDir, 'configuration.mjs'),\n      generateConfigurationContent(configuration, 'esm')\n    ),\n    writeFileIfChanged(\n      join(configDir, 'configuration.cjs'),\n      generateConfigurationContent(configuration, 'cjs')\n    ),\n  ]);\n};\n"],"mappings":";;;;;;AAMA,MAAa,gCAAgC,OAC3C,kBAC4B;AAC5B,KAAI;AAIF,SAAO,MAFuB,SADd,KAAK,cAAc,OAAO,WAAW,oBACP,EAAE,OAAO,KAC/B,6BAA6B,eAAe,MAC1B;SACpC;AACN,SAAO;;;AAIX,MAAa,qBAAqB,OAAO,kBAAkC;CACzE,MAAM,EAAE,cAAc,cAAc;AAEpC,OAAM,MAAM,WAAW,EAAE,WAAW,MAAM,CAAC;AAE3C,OAAM,QAAQ,IAAI,CAChB,mBACE,KAAK,WAAW,oBAAoB,EACpC,6BAA6B,eAAe,MAAM,CACnD,EACD,mBACE,KAAK,WAAW,oBAAoB,EACpC,6BAA6B,eAAe,MAAM,CACnD,CACF,CAAC"}