UNPKG

@intlayer/chokidar

Version:

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

86 lines 3.53 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var createDictionaryEntryPoint_exports = {}; __export(createDictionaryEntryPoint_exports, { createDictionaryEntryPoint: () => createDictionaryEntryPoint }); module.exports = __toCommonJS(createDictionaryEntryPoint_exports); var import_config = require("@intlayer/config"); var import_fs = require("fs"); var import_path = require("path"); var import_getBuiltDictionariesPath = require('../../getBuiltDictionariesPath.cjs'); var import_getBuiltDynamicDictionariesPath = require('../../getBuiltDynamicDictionariesPath.cjs'); var import_getBuiltUnmergedDictionariesPath = require('../../getBuiltUnmergedDictionariesPath.cjs'); var import_generateDictionaryListContent = require('./generateDictionaryListContent.cjs'); const filterDictionaries = (paths, keys) => { if (!keys) return paths; return paths.filter( (path) => keys.some((key) => path.endsWith(`${key}.json`)) ); }; const writeDictionaryFiles = (paths, fileName, format, configuration = (0, import_config.getConfiguration)()) => { const content = (0, import_generateDictionaryListContent.generateDictionaryListContent)(paths, format, configuration); const extension = format === "cjs" ? "cjs" : "mjs"; const { mainDir } = configuration.content; (0, import_fs.writeFileSync)((0, import_path.resolve)(mainDir, `${fileName}.${extension}`), content); }; const createDictionaryEntryPoint = (configuration = (0, import_config.getConfiguration)(), dictionariesKeys, formats = ["cjs", "esm"]) => { const { mainDir } = configuration.content; if (!(0, import_fs.existsSync)(mainDir)) { (0, import_fs.mkdirSync)(mainDir, { recursive: true }); } const dictionariesPath = filterDictionaries( (0, import_getBuiltDictionariesPath.getBuiltDictionariesPath)(configuration), dictionariesKeys ); for (const format of formats) { writeDictionaryFiles( dictionariesPath, "dictionaries", format, configuration ); } const unmergedDictionariesPath = (0, import_getBuiltUnmergedDictionariesPath.getBuiltUnmergedDictionariesPath)(configuration); for (const format of formats) { writeDictionaryFiles( unmergedDictionariesPath, "unmerged_dictionaries", format, configuration ); } for (const format of formats) { const dynamicDictionariesPathCJS = (0, import_getBuiltDynamicDictionariesPath.getBuiltDynamicDictionariesPath)( configuration, format ); writeDictionaryFiles( dynamicDictionariesPathCJS, "dynamic_dictionaries", format, configuration ); } }; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { createDictionaryEntryPoint }); //# sourceMappingURL=createDictionaryEntryPoint.cjs.map