{"version":3,"file":"index.cjs","names":["join","readFile","generateConfigurationContent","mkdir","writeFileIfChanged"],"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;EACF,MAAM,cAAUA,gBAAK,cAAc,OAAO,WAAW,mBAAmB;EAGxE,OAAO,UAFuBC,2BAAS,SAAS,MAAM,MAC9BC,qFAA6B,eAAe,KAC3B;CAC3C,QAAQ;EACN,OAAO;CACT;AACF;AAEA,MAAa,qBAAqB,OAAO,kBAAkC;CACzE,MAAM,EAAE,cAAc,cAAc;CAEpC,UAAMC,wBAAM,WAAW,EAAE,WAAW,KAAK,CAAC;CAE1C,MAAM,QAAQ,IAAI,CAChBC,kDACEJ,gBAAK,WAAW,mBAAmB,GACnCE,qFAA6B,eAAe,KAAK,CACnD,GACAE,kDACEJ,gBAAK,WAAW,mBAAmB,GACnCE,qFAA6B,eAAe,KAAK,CACnD,CACF,CAAC;AACH"}