{"version":3,"file":"index.cjs","names":["getRemoteDictionaries: GetRemoteDictionaries","config","dictionaries: Record<DictionaryKey, DictionaryAPI[]>","configESMxCJSRequire"],"sources":["../../src/index.ts"],"sourcesContent":["/**\n * @intlayer/dynamic-dictionaries-entry is a package that only returns the dynamic 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 type { DictionaryAPI } from '@intlayer/backend';\nimport { clearModuleCache, configESMxCJSRequire } from '@intlayer/config';\nimport config from '@intlayer/config/built';\nimport type { DictionaryKey, IntlayerConfig } from '@intlayer/types';\n\nexport type RemoteDictionaries = Record<DictionaryKey, DictionaryAPI[]>;\n\ntype GetRemoteDictionaries = (\n  configuration?: IntlayerConfig\n) => RemoteDictionaries;\n\nexport const getRemoteDictionaries: GetRemoteDictionaries = (\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, `remote_dictionaries.cjs`);\n  let dictionaries: Record<DictionaryKey, DictionaryAPI[]> = {};\n\n  if (existsSync(dictionariesPath)) {\n    // Clear cache for dynamic_dictionaries.cjs and all its dependencies (JSON files)\n    clearModuleCache(dictionariesPath);\n    dictionaries = (build.require ?? configESMxCJSRequire)(dictionariesPath);\n  }\n\n  return dictionaries;\n};\n"],"mappings":";;;;;;;;;;;;;AAmBA,MAAaA,yBACX,gBAAgCC,oCAC7B;CACH,MAAM,EAAE,SAAS,UAAU;CAG3B,MAAM,uCAAwB,QAAQ,SAAS,0BAA0B;CACzE,IAAIC,eAAuD,EAAE;AAE7D,6BAAe,iBAAiB,EAAE;AAEhC,0CAAiB,iBAAiB;AAClC,kBAAgB,MAAM,WAAWC,wCAAsB,iBAAiB;;AAG1E,QAAO"}