@intlayer/dictionaries-entry
Version:
Provides the entry path for Intlayer dictionaries, solving filesystem retrieval issues for bundlers like Webpack and Rollup.
22 lines (20 loc) • 905 B
JavaScript
import { existsSync } from "node:fs";
import { join } from "node:path";
import defaultConfiguration 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 = defaultConfiguration) => {
const { system, build } = configuration;
const dictionariesPath = join(system.mainDir, `dictionaries.cjs`);
let dictionaries = {};
if (existsSync(dictionariesPath)) dictionaries = (build.require ?? configESMxCJSRequire)(dictionariesPath);
return dictionaries ?? {};
};
//#endregion
export { getDictionaries };
//# sourceMappingURL=index.mjs.map