@intlayer/dictionaries-entry
Version:
Provides the entry path for Intlayer dictionaries, solving filesystem retrieval issues for bundlers like Webpack and Rollup.
25 lines (23 loc) • 924 B
JavaScript
import { existsSync } from "node:fs";
import { join } from "node:path";
import { build, system } from "@intlayer/config/built";
import { configESMxCJSRequire } from "@intlayer/config/utils";
//#region src/index.ts
/**
* @intlayer/dictionaries-entry is a package that only returns the dictionary entry file.
* Using an external package allow to alias it in the bundle configuration (such as webpack).
* The alias allow hot reload the app (such as nextjs) on any dictionary change.
*/
const getDictionaries = (configuration = {
system,
build
}) => {
const { system: system$1, build: build$1 } = configuration;
const dictionariesPath = join(system$1.mainDir, `dictionaries.cjs`);
let dictionaries = {};
if (existsSync(dictionariesPath)) dictionaries = (build$1.require ?? configESMxCJSRequire)(dictionariesPath);
return dictionaries ?? {};
};
//#endregion
export { getDictionaries };
//# sourceMappingURL=index.mjs.map