UNPKG

@intlayer/chokidar

Version:

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

71 lines (69 loc) 4.04 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); const require_runtime = require('../_virtual/_rolldown/runtime.cjs'); const require_utils_parallelize = require('../utils/parallelize.cjs'); const require_writeFileIfChanged = require('../writeFileIfChanged.cjs'); const require_createDictionaryEntryPoint_generateDictionaryListContent = require('./generateDictionaryListContent.cjs'); const require_createDictionaryEntryPoint_getBuiltDictionariesPath = require('./getBuiltDictionariesPath.cjs'); const require_createDictionaryEntryPoint_getBuiltDynamicDictionariesPath = require('./getBuiltDynamicDictionariesPath.cjs'); const require_createDictionaryEntryPoint_getBuiltFetchDictionariesPath = require('./getBuiltFetchDictionariesPath.cjs'); const require_createDictionaryEntryPoint_getBuiltRemoteDictionariesPath = require('./getBuiltRemoteDictionariesPath.cjs'); const require_createDictionaryEntryPoint_getBuiltUnmergedDictionariesPath = require('./getBuiltUnmergedDictionariesPath.cjs'); let node_fs_promises = require("node:fs/promises"); let node_path = require("node:path"); let _intlayer_config_node = require("@intlayer/config/node"); //#region src/createDictionaryEntryPoint/createDictionaryEntryPoint.ts const writeDictionaryFiles = async (paths, fileName, importType, functionName, format, configuration = (0, _intlayer_config_node.getConfiguration)()) => { const content = require_createDictionaryEntryPoint_generateDictionaryListContent.generateDictionaryListContent(await paths, functionName, importType, format, configuration); const extension = format === "cjs" ? "cjs" : "mjs"; const { mainDir } = configuration.system; await require_writeFileIfChanged.writeFileIfChanged((0, node_path.resolve)(mainDir, `${fileName}.${extension}`), content); }; /** * This function generates a list of dictionaries in the main directory */ const createDictionaryEntryPoint = async (configuration = (0, _intlayer_config_node.getConfiguration)(), options = {}) => { const { formats, excludeKeys = [] } = options; const outputFormats = formats ?? configuration.build.outputFormat; const { mainDir } = configuration.system; await (0, node_fs_promises.mkdir)(mainDir, { recursive: true }); await require_utils_parallelize.parallelize([ ...outputFormats.map((format) => ({ paths: require_createDictionaryEntryPoint_getBuiltDictionariesPath.getBuiltDictionariesPath(configuration, excludeKeys), importType: "json", functionName: "getDictionaries", fileName: "dictionaries", format })), ...outputFormats.map((format) => ({ paths: require_createDictionaryEntryPoint_getBuiltUnmergedDictionariesPath.getBuiltUnmergedDictionariesPath(configuration, excludeKeys), importType: "json", functionName: "getUnmergedDictionaries", fileName: "unmerged_dictionaries", format })), ...outputFormats.map((format) => ({ paths: require_createDictionaryEntryPoint_getBuiltDynamicDictionariesPath.getBuiltDynamicDictionariesPath(configuration, format, excludeKeys), importType: "javascript", functionName: "getDynamicDictionaries", fileName: "dynamic_dictionaries", format })), ...outputFormats.map((format) => ({ paths: require_createDictionaryEntryPoint_getBuiltFetchDictionariesPath.getBuiltFetchDictionariesPath(configuration, format, excludeKeys), importType: "javascript", functionName: "getFetchDictionaries", fileName: "fetch_dictionaries", format })), ...outputFormats.map((format) => ({ paths: require_createDictionaryEntryPoint_getBuiltRemoteDictionariesPath.getBuiltRemoteDictionariesPath(configuration, excludeKeys), importType: "json", functionName: "getRemoteDictionaries", fileName: "remote_dictionaries", format })) ], async ({ paths, fileName, format, functionName, importType }) => await writeDictionaryFiles(paths, fileName, importType, functionName, format, configuration)); }; //#endregion exports.createDictionaryEntryPoint = createDictionaryEntryPoint; //# sourceMappingURL=createDictionaryEntryPoint.cjs.map