UNPKG

@intlayer/chokidar

Version:

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

50 lines (48 loc) 3.32 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); const require_runtime = require('./_virtual/_rolldown/runtime.cjs'); const require_createDictionaryEntryPoint_getBuiltDictionariesPath = require('./createDictionaryEntryPoint/getBuiltDictionariesPath.cjs'); const require_createDictionaryEntryPoint_createDictionaryEntryPoint = require('./createDictionaryEntryPoint/createDictionaryEntryPoint.cjs'); const require_cleanRemovedContentDeclaration = require('./cleanRemovedContentDeclaration.cjs'); const require_utils_formatter = require('./utils/formatter.cjs'); const require_buildIntlayerDictionary_buildIntlayerDictionary = require('./buildIntlayerDictionary/buildIntlayerDictionary.cjs'); const require_createType_createModuleAugmentation = require('./createType/createModuleAugmentation.cjs'); const require_createType_createType = require('./createType/createType.cjs'); const require_loadDictionaries_loadLocalDictionaries = require('./loadDictionaries/loadLocalDictionaries.cjs'); let _intlayer_config_logger = require("@intlayer/config/logger"); //#region src/handleContentDeclarationFileChange.ts const handleContentDeclarationFileChange = async (filePath, config) => { const appLogger = (0, _intlayer_config_logger.getAppLogger)(config); appLogger(`Change detected: ${require_utils_formatter.formatPath(filePath)}`, { isVerbose: true }); const allDictionariesPaths = await require_createDictionaryEntryPoint_getBuiltDictionariesPath.getBuiltDictionariesPath(config); const localeDictionaries = await require_loadDictionaries_loadLocalDictionaries.loadLocalDictionaries(filePath, config); const dictionariesOutput = await require_buildIntlayerDictionary_buildIntlayerDictionary.buildDictionary(localeDictionaries, config); const updatedDictionaries = Object.values(dictionariesOutput?.mergedDictionaries ?? {}); const updatedDictionariesPaths = updatedDictionaries.map((dictionary) => dictionary.dictionaryPath); const { excludeKeys, hasRebuilt } = await require_cleanRemovedContentDeclaration.cleanRemovedContentDeclaration(filePath, localeDictionaries.map((dictionary) => dictionary.key), config); const hasNewDictionaries = updatedDictionariesPaths.some((updatedDictionaryPath) => !allDictionariesPaths.includes(updatedDictionaryPath)); if (hasRebuilt || hasNewDictionaries) { if (!hasRebuilt) { await require_createDictionaryEntryPoint_createDictionaryEntryPoint.createDictionaryEntryPoint(config, { excludeKeys }); appLogger("Dictionary list built", { isVerbose: true }); } } await require_createType_createType.createTypes(updatedDictionaries.map((dictionary) => dictionary.dictionary), config); appLogger("TypeScript types built", { isVerbose: true }); if (hasNewDictionaries) { await require_createType_createModuleAugmentation.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 exports.handleContentDeclarationFileChange = handleContentDeclarationFileChange; //# sourceMappingURL=handleContentDeclarationFileChange.cjs.map