UNPKG

@intlayer/chokidar

Version:

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

37 lines 1.45 kB
import { IntlayerEventListener } from "@intlayer/api"; import { getAppLogger, getConfiguration } from "@intlayer/config"; import { buildIntlayerDictionary } from "./transpiler/declaration_file_to_dictionary/intlayer_dictionary/buildIntlayerDictionary.mjs"; const writeDictionary = async (dictionary, configuration) => { const appLogger = getAppLogger(configuration); appLogger(`Writing dictionary ${dictionary.key}`); await buildIntlayerDictionary([dictionary]); }; const checkDictionaryChanges = async () => { const configuration = getConfiguration(); const appLogger = getAppLogger(configuration); const { editor } = configuration; if (!editor.hotReload) return; if (!editor.clientId) return; if (!editor.clientSecret) return; const eventSource = new IntlayerEventListener(configuration); try { await eventSource.initialize().then(() => { appLogger("Connected to Intlayer. Hot reload enabled"); }); } catch (error) { appLogger("Error initializing IntlayerEventListener:", { level: "error" }); } eventSource.onDictionaryAdded = (dictionary) => writeDictionary(dictionary, configuration); eventSource.onDictionaryChange = (dictionary) => writeDictionary(dictionary, configuration); eventSource.onDictionaryDeleted = (dictionary) => writeDictionary(dictionary, configuration); return eventSource; }; export { checkDictionaryChanges }; //# sourceMappingURL=checkDictionaryChanges.mjs.map