UNPKG

@intlayer/chokidar

Version:

Uses chokidar to scan and build Intlayer declaration files into dictionaries based on Intlayer configuration.

27 lines 1.11 kB
import { mkdir, writeFile } from "fs/promises"; import { resolve } from "path"; import { getConfiguration } from "@intlayer/config"; const writeDictionary = async (dictionariesDeclaration, configuration = getConfiguration()) => { const { i18nextResourcesDir } = configuration.content; const resultDictionariesPaths = []; for (const [nameSpace, localContent] of Object.entries( dictionariesDeclaration )) { for await (const [locale, content] of Object.entries(localContent)) { const contentString = JSON.stringify(content); const outputFileName = `${nameSpace}.json`; const resultDirPath = resolve(i18nextResourcesDir, locale); const resultFilePath = resolve(resultDirPath, outputFileName); await mkdir(resultDirPath, { recursive: true }); await writeFile(resultFilePath, contentString, "utf8").catch((err) => { console.error(`Error creating ${outputFileName}:`, err); }); resultDictionariesPaths.push(resultFilePath); } } return resultDictionariesPaths; }; export { writeDictionary }; //# sourceMappingURL=writeDictionary.mjs.map