{"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;CAC5B,IAAI;EAIF,OAAO,MAFuB,SADd,KAAK,cAAc,OAAO,WAAW,mBACR,GAAG,MAAM,MAC9B,6BAA6B,eAAe,KAC3B;CAC3C,QAAQ;EACN,OAAO;CACT;AACF;AAEA,MAAa,qBAAqB,OAAO,kBAAkC;CACzE,MAAM,EAAE,cAAc,cAAc;CAEpC,MAAM,MAAM,WAAW,EAAE,WAAW,KAAK,CAAC;CAE1C,MAAM,QAAQ,IAAI,CAChB,mBACE,KAAK,WAAW,mBAAmB,GACnC,6BAA6B,eAAe,KAAK,CACnD,GACA,mBACE,KAAK,WAAW,mBAAmB,GACnC,6BAA6B,eAAe,KAAK,CACnD,CACF,CAAC;AACH"}