@intlayer/chokidar
Version:
Uses chokidar to scan and build Intlayer declaration files into dictionaries based on Intlayer configuration.
23 lines (21 loc) • 802 B
JavaScript
import { basename, extname, join } from "node:path";
import { existsSync, readFileSync, readdirSync } from "node:fs";
//#region src/utils/readDictionariesFromDisk.ts
/**
* Reads all JSON dictionary files from a directory, keyed by filename.
* Uses readFileSync instead of require() to avoid require.cache memory leak.
*/
const readDictionariesFromDisk = (directory) => {
const dictionaries = {};
if (existsSync(directory)) {
const files = readdirSync(directory).filter((file) => file.endsWith(".json"));
for (const file of files) {
const key = basename(file, extname(file));
dictionaries[key] = JSON.parse(readFileSync(join(directory, file), "utf-8"));
}
}
return dictionaries;
};
//#endregion
export { readDictionariesFromDisk };
//# sourceMappingURL=readDictionariesFromDisk.mjs.map