UNPKG

@intlayer/chokidar

Version:

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

36 lines (34 loc) 1.85 kB
import { cleanRemovedContentDeclaration } from "./cleanRemovedContentDeclaration.mjs"; import { formatPath } from "./utils/formatter.mjs"; import { buildDictionary } from "./buildIntlayerDictionary/buildIntlayerDictionary.mjs"; import { createModuleAugmentation } from "./createType/createModuleAugmentation.mjs"; import { createTypes } from "./createType/createType.mjs"; import { loadLocalDictionaries } from "./loadDictionaries/loadLocalDictionaries.mjs"; import { listDictionaries } from "./listDictionariesPath.mjs"; import { normalize } from "node:path"; import { getAppLogger } from "@intlayer/config/logger"; //#region src/handleUnlinkedContentDeclarationFile.ts const handleUnlinkedContentDeclarationFile = async (filePath, config) => { const appLogger = getAppLogger(config); appLogger(`Unlinked detected: ${formatPath(filePath)}`, { isVerbose: true }); const localeDictionaries = await loadLocalDictionaries((await listDictionaries(config)).filter((file) => normalize(file) !== normalize(filePath)), config); await cleanRemovedContentDeclaration(filePath, [], config); const dictionariesOutput = await buildDictionary(localeDictionaries, config); await createTypes(Object.values(dictionariesOutput?.mergedDictionaries ?? {}).map((dictionary) => dictionary.dictionary), config); appLogger("Dictionaries rebuilt", { isVerbose: true }); await createModuleAugmentation(config); appLogger("Module augmentation built", { isVerbose: true }); for await (const plugin of config.plugins ?? []) { const { unmergedDictionaries, mergedDictionaries } = dictionariesOutput; await plugin.afterBuild?.({ dictionaries: { unmergedDictionaries, mergedDictionaries }, configuration: config }); } }; //#endregion export { handleUnlinkedContentDeclarationFile }; //# sourceMappingURL=handleUnlinkedContentDeclarationFile.mjs.map