UNPKG

@storm-stack/core

Version:

A build toolkit and runtime used by Storm Software in TypeScript applications

117 lines (115 loc) 4.4 kB
import { __name } from './chunk-43IZMM3W.js'; import { tsconfigPathsToRegExp, match } from 'bundle-require'; var NON_NODE_MODULE_REGEX = /^[A-Z]:[/\\]|^\.{0,2}\/|^\.{1,2}$/; var resolverPlugin = /* @__PURE__ */ __name((context, options = {}) => { return { name: "storm-stack:resolver", setup(build) { const skipNodeModulesBundle = options.skipNodeModulesBundle ?? context.options.skipNodeModulesBundle; const external = options.external ?? context.options.external ?? []; const noExternal = options.noExternal ?? context.options.noExternal ?? []; if (skipNodeModulesBundle) { const resolvePatterns = tsconfigPathsToRegExp(context.tsconfig.options.paths ?? []); build.onResolve({ filter: /.*/ }, (args) => { if (args.path) { if (context.vfs.isVirtualFile(args.path, { paths: [ args.resolveDir ] }) || args.importer && context.vfs.isVirtualFile(args.importer)) { const resolvedPath = context.vfs.resolvePath(args.path, { paths: [ args.resolveDir ] }); if (resolvedPath) { return { path: resolvedPath, external: context.options.projectType !== "application" }; } } if (context.vfs.isTsconfigPath(args.path)) { const tsconfigPath = context.vfs.resolveTsconfigPath(args.path); const tsconfigPathPackage = context.vfs.resolveTsconfigPathPackage(args.path); if (tsconfigPath && tsconfigPathPackage) { return { path: tsconfigPath, external: !noExternal.includes(tsconfigPathPackage) && (external.includes(tsconfigPathPackage) || context.options.projectType !== "application") }; } } if (match(args.path, resolvePatterns) || match(args.path, noExternal) || args.path.startsWith("internal:") || args.path.startsWith("virtual:")) { return; } if (match(args.path, external) || args.path.startsWith("node:")) { return { external: true }; } if (!NON_NODE_MODULE_REGEX.test(args.path)) { return { path: args.path, external: true }; } } return; }); } else { build.onResolve({ filter: /.*/ }, (args) => { if (args.path) { if (context.vfs.isVirtualFile(args.path, { paths: [ args.resolveDir ] }) || args.importer && context.vfs.isVirtualFile(args.importer)) { const resolvedPath = context.vfs.resolvePath(args.path, { paths: [ args.resolveDir ] }); if (resolvedPath) { return { path: resolvedPath, external: context.options.projectType !== "application" }; } } if (context.vfs.isTsconfigPath(args.path)) { const tsconfigPath = context.vfs.resolveTsconfigPath(args.path); const tsconfigPathPackage = context.vfs.resolveTsconfigPathPackage(args.path); if (tsconfigPath && tsconfigPathPackage) { return { path: tsconfigPath, external: !noExternal.includes(tsconfigPathPackage) && (external.includes(tsconfigPathPackage) || context.options.projectType !== "application") }; } } if (match(args.path, noExternal) || context.vfs.isRuntimeFile(args.path, { paths: [ args.resolveDir, args.importer ] })) { return; } if (match(args.path, external) || args.path.startsWith("node:")) { return { external: true }; } } return; }); } } }; }, "resolverPlugin"); export { resolverPlugin }; //# sourceMappingURL=chunk-NCYETMXO.js.map //# sourceMappingURL=chunk-NCYETMXO.js.map