{"version":3,"file":"index.cjs","names":["getDictionaries: GetDictionaries","config","configESMxCJSRequire"],"sources":["../../src/index.ts"],"sourcesContent":["/**\n * @intlayer/dictionaries-entry is a package that only returns the dictionary entry file.\n * Using an external package allow to alias it in the bundle configuration (such as webpack).\n * The alias allow hot reload the app (such as nextjs) on any dictionary change.\n */\n\nimport { existsSync } from 'node:fs';\nimport { join } from 'node:path';\nimport { clearModuleCache, configESMxCJSRequire } from '@intlayer/config';\nimport config from '@intlayer/config/built';\nimport type { DictionaryRegistry, IntlayerConfig } from '@intlayer/types';\n\ntype GetDictionaries = (configuration?: IntlayerConfig) => DictionaryRegistry;\n\nexport const getDictionaries: GetDictionaries = (\n  configuration: IntlayerConfig = config\n) => {\n  const { content, build } = configuration;\n\n  // Always use cjs for dictionaries entry as it uses require\n  const dictionariesPath = join(content.mainDir, `dictionaries.cjs`);\n\n  let dictionaries = {};\n  if (existsSync(dictionariesPath)) {\n    // Clear cache for dictionaries.cjs and all its dependencies (JSON files)\n    clearModuleCache(dictionariesPath);\n\n    dictionaries = (build.require ?? configESMxCJSRequire)(dictionariesPath);\n  }\n\n  return (dictionaries ?? {}) as DictionaryRegistry;\n};\n"],"mappings":";;;;;;;;;;;;;AAcA,MAAaA,mBACX,gBAAgCC,oCAC7B;CACH,MAAM,EAAE,SAAS,UAAU;CAG3B,MAAM,uCAAwB,QAAQ,SAAS,mBAAmB;CAElE,IAAI,eAAe,EAAE;AACrB,6BAAe,iBAAiB,EAAE;AAEhC,0CAAiB,iBAAiB;AAElC,kBAAgB,MAAM,WAAWC,wCAAsB,iBAAiB;;AAG1E,QAAQ,gBAAgB,EAAE"}