UNPKG

@intlayer/chokidar

Version:

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

56 lines (54 loc) 1.91 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); const require_runtime = require('../_virtual/_rolldown/runtime.cjs'); let node_fs_promises = require("node:fs/promises"); let node_path = require("node:path"); let _intlayer_config_utils = require("@intlayer/config/utils"); let _intlayer_config_file = require("@intlayer/config/file"); let node_module = require("node:module"); //#region src/loadDictionaries/getIntlayerBundle.ts /** * Rewrites bare specifiers to absolute paths on the user's disk and externalizes them * to preserve directory context (__dirname/import.meta.url). */ const localResolvePlugin = (aliases, rootRequire) => { return { name: "local-resolve", setup(build) { build.onResolve({ filter: /.*/ }, (args) => { if (aliases[args.path]) return { path: aliases[args.path], external: true }; if (args.path === "defu" || args.path.startsWith("@intlayer/")) try { return { path: rootRequire.resolve(args.path), external: true }; } catch { return null; } return null; }); } }; }; const getIntlayerBundle = async (configuration) => { const rootRequire = (0, _intlayer_config_utils.getProjectRequire)(configuration.system.baseDir); const aliases = { "@intlayer/config/built": (0, node_path.join)(configuration.system.configDir, `configuration.cjs`) }; const filePath = rootRequire.resolve("intlayer"); return await (0, _intlayer_config_file.bundleFile)(await (0, node_fs_promises.readFile)(filePath, "utf-8"), filePath, { bundle: true, platform: "node", external: [ ...node_module.builtinModules, ...node_module.builtinModules.map((mod) => `node:${mod}`), "vscode", "esbuild" ], minify: true, plugins: [localResolvePlugin(aliases, rootRequire)] }) ?? ""; }; //#endregion exports.getIntlayerBundle = getIntlayerBundle; //# sourceMappingURL=getIntlayerBundle.cjs.map