UNPKG

@intlayer/chokidar

Version:

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

63 lines (61 loc) 3.65 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); const require_runtime = require('../_virtual/_rolldown/runtime.cjs'); const require_utils_readDictionariesFromDisk = require('../utils/readDictionariesFromDisk.cjs'); const require_buildIntlayerDictionary_writeDynamicDictionary = require('./writeDynamicDictionary.cjs'); const require_buildIntlayerDictionary_writeFetchDictionary = require('./writeFetchDictionary.cjs'); const require_buildIntlayerDictionary_writeMergedDictionary = require('./writeMergedDictionary.cjs'); const require_buildIntlayerDictionary_writeUnmergedDictionary = require('./writeUnmergedDictionary.cjs'); let _intlayer_config_defaultValues = require("@intlayer/config/defaultValues"); //#region src/buildIntlayerDictionary/buildIntlayerDictionary.ts const defaultOptions = { formats: _intlayer_config_defaultValues.OUTPUT_FORMAT, importOtherDictionaries: true, env: "dev" }; /** * This function transpile the bundled code to to make dictionaries as JSON files */ const buildDictionary = async (localDictionariesEntries, configuration, options) => { const importMode = configuration?.build?.importMode ?? configuration?.dictionary?.importMode ?? _intlayer_config_defaultValues.IMPORT_MODE; const { importOtherDictionaries, env, formats } = { ...defaultOptions, ...options }; const unmergedDictionariesToUpdate = [...localDictionariesEntries]; if (importOtherDictionaries) { const prevUnmergedDictionaries = require_utils_readDictionariesFromDisk.readDictionariesFromDisk(configuration.system.unmergedDictionariesDir); for (const dictionaryToWrite of localDictionariesEntries) { const allPrebuiltUnmergedDictionaries = prevUnmergedDictionaries[dictionaryToWrite.key]; if (allPrebuiltUnmergedDictionaries?.length > 0) { const otherUnmergedDictionaries = allPrebuiltUnmergedDictionaries.filter((unmergedDictionary) => unmergedDictionary.localId !== dictionaryToWrite.localId); unmergedDictionariesToUpdate.push(...otherUnmergedDictionaries); } } } const unmergedDictionaries = await require_buildIntlayerDictionary_writeUnmergedDictionary.writeUnmergedDictionaries(unmergedDictionariesToUpdate, configuration, env); const mergedDictionaries = await require_buildIntlayerDictionary_writeMergedDictionary.writeMergedDictionaries(unmergedDictionaries, configuration); const dictionariesToBuildDynamic = {}; const keysToBuildFetch = /* @__PURE__ */ new Set(); for (const [key, mergedResult] of Object.entries(mergedDictionaries)) { const mode = mergedResult.dictionary.importMode ?? importMode; if (mode === "dynamic" || mode === "fetch") dictionariesToBuildDynamic[key] = mergedResult; if (mode === "fetch") keysToBuildFetch.add(key); } let dynamicDictionaries = null; if (Object.keys(dictionariesToBuildDynamic).length > 0) dynamicDictionaries = await require_buildIntlayerDictionary_writeDynamicDictionary.writeDynamicDictionary(dictionariesToBuildDynamic, configuration, formats); let fetchDictionaries = null; if (dynamicDictionaries && keysToBuildFetch.size > 0) { const dictionariesToBuildFetch = {}; for (const key of keysToBuildFetch) if (dynamicDictionaries[key]) dictionariesToBuildFetch[key] = dynamicDictionaries[key]; if (Object.keys(dictionariesToBuildFetch).length > 0) fetchDictionaries = await require_buildIntlayerDictionary_writeFetchDictionary.writeFetchDictionary(dictionariesToBuildFetch, configuration, formats); } return { unmergedDictionaries, mergedDictionaries, dynamicDictionaries, fetchDictionaries }; }; //#endregion exports.buildDictionary = buildDictionary; //# sourceMappingURL=buildIntlayerDictionary.cjs.map