{"version":3,"file":"loadConfigurationFile.cjs","names":["configESMxCJSRequire","loadExternalFileSync"],"sources":["../../../src/configFile/loadConfigurationFile.ts"],"sourcesContent":["import type { CustomIntlayerConfig } from '@intlayer/types/config';\nimport {\n  type LoadExternalFileOptions,\n  loadExternalFileSync,\n} from '../loadExternalFile/loadExternalFile';\nimport { configESMxCJSRequire } from '../utils/ESMxCJSHelpers';\n\nconst getAliases = (\n  options?: Omit<LoadExternalFileOptions, 'configuration'>\n) => {\n  // Can fail if CJS hot removed from the module (e.g. in Tanstack Start + Nitro)\n  try {\n    return {\n      ...options?.aliases,\n      // Replace intlayer with @intlayer/types to avoid circular dependency intlayer -> @intlayer/config -> intlayer\n      intlayer: configESMxCJSRequire.resolve('@intlayer/types'),\n    };\n  } catch {\n    return options?.aliases;\n  }\n};\n\n/**\n * Load the configuration file from the given path\n * Example of configuration file: intlayer.config.js\n *\n * Accepts JSON, JS, MJS and TS files as configuration\n */\nexport const loadConfigurationFile = (\n  configFilePath: string,\n  options?: Omit<LoadExternalFileOptions, 'configuration'>\n): CustomIntlayerConfig | undefined => {\n  const fileContent = loadExternalFileSync(configFilePath, {\n    ...options,\n    aliases: getAliases(options),\n  });\n\n  return fileContent;\n};\n"],"mappings":";;;;;AAOA,MAAM,cACJ,YACG;AAEH,KAAI;AACF,SAAO;GACL,GAAG,SAAS;GAEZ,UAAUA,kDAAqB,QAAQ,kBAAkB;GAC1D;SACK;AACN,SAAO,SAAS;;;;;;;;;AAUpB,MAAa,yBACX,gBACA,YACqC;AAMrC,QALoBC,+DAAqB,gBAAgB;EACvD,GAAG;EACH,SAAS,WAAW,QAAQ;EAC7B,CAEiB"}