@intlayer/chokidar
Version:
Uses chokidar to scan and build Intlayer declaration files into dictionaries based on Intlayer configuration.
32 lines • 1.2 kB
JavaScript
import { IntlayerEventListener } from "@intlayer/api";
import { buildIntlayerDictionary } from "./transpiler/declaration_file_to_dictionary/intlayer_dictionary/buildIntlayerDictionary.mjs";
import { getConfiguration, appLogger } from "@intlayer/config";
const writeDictionary = async (dictionary) => {
appLogger(`Writing dictionary ${dictionary.key}`);
await buildIntlayerDictionary([dictionary]);
};
const checkDictionaryChanges = async () => {
const configuration = getConfiguration();
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 = writeDictionary;
eventSource.onDictionaryChange = writeDictionary;
eventSource.onDictionaryDeleted = writeDictionary;
return eventSource;
};
export {
checkDictionaryChanges
};
//# sourceMappingURL=checkDictionaryChanges.mjs.map