@ricsam/isolate 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -232,7 +232,7 @@ function pickImportTarget(value) {
232
232
  return null;
233
233
  }
234
234
  const record = value;
235
- for (const key of ["browser", "import", "module", "default"]) {
235
+ for (const key of ["workerd", "worker", "edge-light", "import", "module", "default", "browser"]) {
236
236
  if (key in record) {
237
237
  const target = pickImportTarget(record[key]);
238
238
  if (target) {
@@ -318,6 +318,8 @@ function externalizeDepsPlugin(currentPackageName) {
318
318
  return null;
319
319
  if (source.startsWith(".") || source.startsWith("/"))
320
320
  return null;
321
+ if (source.startsWith("#"))
322
+ return null;
321
323
  if (isNodeBuiltin(source))
322
324
  return null;
323
325
  const { packageName } = import_resolve.parseSpecifier(source);
@@ -356,7 +358,11 @@ async function doBundleSpecifier(specifier, rootDir) {
356
358
  plugins: [
357
359
  packageEntryWrapperPlugin(specifier, namedExports),
358
360
  externalizeDepsPlugin(packageName),
359
- nodeResolve({ browser: true, rootDir }),
361
+ nodeResolve({
362
+ rootDir,
363
+ browser: false,
364
+ exportConditions: ["workerd", "worker", "edge-light"]
365
+ }),
360
366
  shimNodeBuiltinsPlugin(),
361
367
  commonjs(commonjsInteropOptions),
362
368
  json(),
@@ -396,6 +402,8 @@ function externalizeAllBareSpecifiersPlugin() {
396
402
  return null;
397
403
  if (source.startsWith(".") || source.startsWith("/"))
398
404
  return null;
405
+ if (source.startsWith("#"))
406
+ return null;
399
407
  if (isNodeBuiltin(source))
400
408
  return null;
401
409
  return { id: source, external: true };
@@ -440,8 +448,9 @@ async function doBundleHostFile(hostFilePath) {
440
448
  externalizeAllBareSpecifiersPlugin(),
441
449
  stripTypeScriptPlugin(),
442
450
  nodeResolve({
443
- browser: true,
444
451
  rootDir,
452
+ browser: false,
453
+ exportConditions: ["workerd", "worker", "edge-light"],
445
454
  extensions: [".mjs", ".js", ".json", ".node", ...TS_EXTENSIONS]
446
455
  }),
447
456
  shimNodeBuiltinsPlugin(),
@@ -479,4 +488,4 @@ function clearBundleCache() {
479
488
  bundleCache.clear();
480
489
  }
481
490
 
482
- //# debugId=0B3ADDC12296866164756E2164756E21
491
+ //# debugId=DB85D50E47506D9464756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/internal/module-loader/bundle.ts"],
4
4
  "sourcesContent": [
5
- "import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { builtinModules, createRequire } from \"node:module\";\nimport { rollup, type Plugin } from \"rollup\";\nimport * as nodeResolveModule from \"@rollup/plugin-node-resolve\";\nimport * as commonjsModule from \"@rollup/plugin-commonjs\";\nimport * as jsonModule from \"@rollup/plugin-json\";\nimport * as replaceModule from \"@rollup/plugin-replace\";\nimport { detectFormat, parseSpecifier } from \"./resolve.cjs\";\nimport { processTypeScript, isTypeScriptFile } from \"./strip-types.cjs\";\nimport type { RollupCommonJSOptions } from \"@rollup/plugin-commonjs\";\nimport type { RollupJsonOptions } from \"@rollup/plugin-json\";\nimport type { RollupReplaceOptions } from \"@rollup/plugin-replace\";\n\n// Handle CJS default exports\nconst nodeResolve = ((nodeResolveModule as any).default ||\n nodeResolveModule) as (typeof nodeResolveModule)[\"nodeResolve\"];\nconst commonjs = ((commonjsModule as any).default || commonjsModule) as (\n options?: RollupCommonJSOptions\n) => Plugin;\nconst json = ((jsonModule as any).default || jsonModule) as (\n options?: RollupJsonOptions\n) => Plugin;\nconst replace = ((replaceModule as any).default || replaceModule) as (\n options?: RollupReplaceOptions\n) => Plugin;\n\nconst commonjsInteropOptions = {\n // External package imports are resolved by later loader calls as ESM bundles,\n // so CommonJS requires need ESM-aware interop instead of default-import assumptions.\n esmExternals: true,\n requireReturnsDefault: \"auto\",\n} satisfies RollupCommonJSOptions;\n\nconst PACKAGE_ENTRY_WRAPPER_PREFIX = \"\\0package-entry-wrapper:\";\nconst INVALID_FUNCTION_EXPORT_NAMES = new Set([\n \"arguments\",\n \"caller\",\n \"length\",\n \"name\",\n \"prototype\",\n]);\n\n/**\n * Set of Node.js built-in module names (e.g. \"fs\", \"path\", \"crypto\").\n */\nconst nodeBuiltins = new Set(builtinModules);\n\n/**\n * Check if a specifier refers to a Node.js built-in module.\n * Handles bare names (\"fs\"), subpaths (\"fs/promises\"), and node: prefix (\"node:fs\").\n */\nfunction isNodeBuiltin(source: string): boolean {\n const name = source.startsWith(\"node:\") ? source.slice(5) : source;\n const topLevel = name.split(\"/\")[0]!;\n return nodeBuiltins.has(topLevel);\n}\n\nconst NODE_BUILTIN_SHIM_PREFIX = \"\\0node-builtin-shim:\";\n\nexport function getNodeBuiltinShimCode(source: string): string {\n if (source === \"ws\" || source === \"node:ws\") {\n return `\nconst WebSocketShim = globalThis.WebSocket;\n\nif (!WebSocketShim) {\n throw new Error(\"The isolate runtime does not provide a global WebSocket implementation.\");\n}\n\nexport { WebSocketShim as WebSocket };\nexport default WebSocketShim;\n`;\n }\n\n return \"export default {};\\n\";\n}\n\n/**\n * Rollup plugin that provides empty shims for Node.js built-in modules.\n * Place after nodeResolve — acts as a catch-all for builtins that the\n * package's browser field didn't map to false.\n */\nfunction shimNodeBuiltinsPlugin(): Plugin {\n return {\n name: \"shim-node-builtins\",\n resolveId(source) {\n if (isNodeBuiltin(source)) {\n return { id: `${NODE_BUILTIN_SHIM_PREFIX}${source}`, moduleSideEffects: false };\n }\n return null;\n },\n load(id) {\n if (id.startsWith(NODE_BUILTIN_SHIM_PREFIX)) {\n return getNodeBuiltinShimCode(id.slice(NODE_BUILTIN_SHIM_PREFIX.length));\n }\n return null;\n },\n };\n}\n\nfunction isValidEsmIdentifier(name: string): boolean {\n return /^[$A-Z_a-z][$\\w]*$/.test(name);\n}\n\nfunction resolvePackageImportPath(specifier: string, rootDir: string): string | null {\n const resolver = createRequire(path.join(rootDir, \"__isolate_module_loader__.js\"));\n\n let resolvedRequirePath: string;\n try {\n resolvedRequirePath = resolver.resolve(specifier);\n } catch {\n return null;\n }\n\n const { packageName, subpath } = parseSpecifier(specifier);\n const packageJsonPath = findPackageJsonPath(resolvedRequirePath, packageName);\n if (!packageJsonPath) {\n return resolvedRequirePath;\n }\n\n let packageJson: Record<string, unknown>;\n try {\n packageJson = JSON.parse(fs.readFileSync(packageJsonPath, \"utf-8\")) as Record<string, unknown>;\n } catch {\n return resolvedRequirePath;\n }\n\n const packageRoot = path.dirname(packageJsonPath);\n const exportPath = resolveImportEntryFromPackageJson(packageJson, subpath);\n\n if (exportPath) {\n return path.resolve(packageRoot, exportPath);\n }\n\n if (!subpath) {\n const moduleEntry = packageJson.module;\n if (typeof moduleEntry === \"string\") {\n return path.resolve(packageRoot, moduleEntry);\n }\n\n const browserEntry = packageJson.browser;\n if (typeof browserEntry === \"string\") {\n return path.resolve(packageRoot, browserEntry);\n }\n }\n\n return resolvedRequirePath;\n}\n\nfunction findPackageJsonPath(resolvedPath: string, packageName: string): string | null {\n let currentDir = path.dirname(resolvedPath);\n let matchedPackageJsonPath: string | null = null;\n\n while (true) {\n const packageJsonPath = path.join(currentDir, \"package.json\");\n\n if (fs.existsSync(packageJsonPath)) {\n try {\n const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, \"utf-8\")) as { name?: string };\n if (packageJson.name === packageName) {\n // Keep walking upward: published packages often include nested\n // dist/cjs or dist/mjs package.json files with the same name, but the\n // real package root higher up contains the export map we need.\n matchedPackageJsonPath = packageJsonPath;\n }\n } catch {\n // Keep walking upward if a parent package.json is malformed.\n }\n }\n\n const parentDir = path.dirname(currentDir);\n if (parentDir === currentDir) {\n return matchedPackageJsonPath;\n }\n currentDir = parentDir;\n }\n}\n\nfunction resolveImportEntryFromPackageJson(\n packageJson: Record<string, unknown>,\n subpath: string\n): string | null {\n const exportsField = packageJson.exports;\n if (exportsField === undefined) {\n return null;\n }\n\n const exportKey = subpath ? `.${subpath}` : \".\";\n\n if (isConditionalExportsObject(exportsField)) {\n if (exportKey !== \".\") {\n return null;\n }\n return pickImportTarget(exportsField);\n }\n\n if (typeof exportsField === \"object\" && exportsField !== null && !Array.isArray(exportsField)) {\n const target = (exportsField as Record<string, unknown>)[exportKey];\n return target === undefined ? null : pickImportTarget(target);\n }\n\n return exportKey === \".\" ? pickImportTarget(exportsField) : null;\n}\n\nfunction isConditionalExportsObject(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\"\n && value !== null\n && !Array.isArray(value)\n && Object.keys(value).every((key) => !key.startsWith(\".\"));\n}\n\nfunction pickImportTarget(value: unknown): string | null {\n if (typeof value === \"string\") {\n return value;\n }\n\n if (Array.isArray(value)) {\n for (const item of value) {\n const target = pickImportTarget(item);\n if (target) {\n return target;\n }\n }\n return null;\n }\n\n if (typeof value !== \"object\" || value === null) {\n return null;\n }\n\n const record = value as Record<string, unknown>;\n\n for (const key of [\"browser\", \"import\", \"module\", \"default\"]) {\n if (key in record) {\n const target = pickImportTarget(record[key]);\n if (target) {\n return target;\n }\n }\n }\n\n for (const nestedValue of Object.values(record)) {\n const target = pickImportTarget(nestedValue);\n if (target) {\n return target;\n }\n }\n\n return null;\n}\n\nfunction getCommonJsNamedExports(specifier: string, rootDir: string): string[] {\n const resolvedHostPath = resolvePackageImportPath(specifier, rootDir);\n if (!resolvedHostPath) {\n return [];\n }\n\n let code: string;\n try {\n code = fs.readFileSync(resolvedHostPath, \"utf-8\");\n } catch {\n return [];\n }\n\n if (detectFormat(resolvedHostPath, code) !== \"cjs\") {\n return [];\n }\n\n let moduleExports: unknown;\n try {\n moduleExports = createRequire(resolvedHostPath)(resolvedHostPath);\n } catch {\n return [];\n }\n\n if (moduleExports == null || (typeof moduleExports !== \"object\" && typeof moduleExports !== \"function\")) {\n return [];\n }\n\n const names = new Set([\n ...Object.keys(moduleExports),\n ...Object.getOwnPropertyNames(moduleExports),\n ]);\n\n names.delete(\"default\");\n names.delete(\"__esModule\");\n\n if (typeof moduleExports === \"function\") {\n for (const name of INVALID_FUNCTION_EXPORT_NAMES) {\n names.delete(name);\n }\n }\n\n return [...names].filter(isValidEsmIdentifier).sort();\n}\n\nfunction packageEntryWrapperPlugin(specifier: string, namedExports: string[]): Plugin {\n const wrapperId = `${PACKAGE_ENTRY_WRAPPER_PREFIX}${specifier}`;\n\n return {\n name: \"package-entry-wrapper\",\n resolveId(source) {\n if (source === wrapperId) {\n return wrapperId;\n }\n return null;\n },\n load(id) {\n if (id !== wrapperId) {\n return null;\n }\n\n const namedExportLines = namedExports.map(\n (name) => `export const ${name} = __packageDefault.${name};`\n );\n\n return [\n `import __packageDefault from ${JSON.stringify(specifier)};`,\n \"export default __packageDefault;\",\n ...namedExportLines,\n ].join(\"\\n\");\n },\n };\n}\n\n/**\n * Cache for bundled npm packages. Key includes specifier + resolution root.\n */\nconst bundleCache = new Map<string, { code: string }>();\n\n/**\n * In-flight bundle promises to avoid duplicate concurrent bundles.\n */\nconst bundlesInFlight = new Map<string, Promise<{ code: string }>>();\n\n/**\n * Create a Rollup plugin that externalizes all bare specifiers that don't\n * belong to the current package. Internal files of the package are inlined;\n * other npm packages remain as import statements.\n */\nfunction externalizeDepsPlugin(currentPackageName: string): Plugin {\n return {\n name: \"externalize-deps\",\n resolveId(source, importer) {\n // Don't externalize the entry point\n if (!importer) return null;\n\n // Don't externalize relative imports (internal to the package)\n if (source.startsWith(\".\") || source.startsWith(\"/\")) return null;\n\n // Don't externalize Node.js builtins — let nodeResolve handle them\n // via the package's browser field (e.g. \"fs\": false → empty module)\n if (isNodeBuiltin(source)) return null;\n\n // Check if this is a different npm package\n const { packageName } = parseSpecifier(source);\n if (packageName !== currentPackageName) {\n return { id: source, external: true };\n }\n\n // Same package — let Rollup resolve it normally\n return null;\n },\n };\n}\n\n/**\n * Bundle a bare specifier (npm package) using Rollup.\n *\n * Each unique bare specifier gets its own bundle with:\n * - node-resolve with browser conditions\n * - commonjs conversion\n * - json support\n * - process.env.NODE_ENV replacement\n * - External deps (other npm packages) left as import statements\n *\n * Results are cached permanently (npm packages are static).\n */\nexport async function bundleSpecifier(\n specifier: string,\n rootDir: string\n): Promise<{ code: string }> {\n const cacheKey = `${specifier}\\0${rootDir}`;\n\n // Check cache\n const cached = bundleCache.get(cacheKey);\n if (cached) return cached;\n\n // Check in-flight\n const inFlight = bundlesInFlight.get(cacheKey);\n if (inFlight) return inFlight;\n\n const promise = doBundleSpecifier(specifier, rootDir);\n bundlesInFlight.set(cacheKey, promise);\n\n try {\n const result = await promise;\n bundleCache.set(cacheKey, result);\n return result;\n } finally {\n bundlesInFlight.delete(cacheKey);\n }\n}\n\nasync function doBundleSpecifier(\n specifier: string,\n rootDir: string\n): Promise<{ code: string }> {\n const { packageName } = parseSpecifier(specifier);\n const namedExports = getCommonJsNamedExports(specifier, rootDir);\n const input = namedExports.length > 0\n ? `${PACKAGE_ENTRY_WRAPPER_PREFIX}${specifier}`\n : specifier;\n\n const bundle = await rollup({\n input,\n // Disable tree-shaking: we're creating a virtual module that must faithfully\n // expose all package exports. We can't predict which ones user code will import.\n // Without this, exports like AWS SDK's ConverseStreamOutput (a namespace with\n // a visit() helper that nothing inside the bundle references) get dropped.\n treeshake: false,\n plugins: [\n packageEntryWrapperPlugin(specifier, namedExports),\n externalizeDepsPlugin(packageName),\n nodeResolve({ browser: true, rootDir }),\n shimNodeBuiltinsPlugin(),\n commonjs(commonjsInteropOptions),\n json(),\n replace({\n preventAssignment: true,\n values: { \"process.env.NODE_ENV\": JSON.stringify(\"development\") },\n }),\n ],\n onwarn: (warning, warn) => {\n if (warning.code === \"CIRCULAR_DEPENDENCY\") return;\n if (warning.code === \"THIS_IS_UNDEFINED\") return;\n if (warning.code === \"UNUSED_EXTERNAL_IMPORT\") return;\n if (warning.code === \"EMPTY_BUNDLE\") return;\n // Suppress warnings about named imports from shimmed Node.js builtins\n if (warning.code === \"MISSING_EXPORT\" && warning.exporter?.startsWith(NODE_BUILTIN_SHIM_PREFIX)) return;\n warn(warning);\n },\n });\n\n const { output } = await bundle.generate({\n format: \"es\",\n sourcemap: \"inline\",\n inlineDynamicImports: true,\n });\n await bundle.close();\n\n const code = output[0]!.code;\n return { code };\n}\n\n/**\n * Create a Rollup plugin that externalizes ALL bare specifiers.\n * Used for module aliases where the host file's relative imports are bundled\n * but npm package dependencies are left as external imports.\n */\nfunction externalizeAllBareSpecifiersPlugin(): Plugin {\n return {\n name: \"externalize-all-bare-specifiers\",\n resolveId(source, importer) {\n if (!importer) return null;\n if (source.startsWith(\".\") || source.startsWith(\"/\")) return null;\n // Don't externalize Node.js builtins — let nodeResolve/shim handle them\n if (isNodeBuiltin(source)) return null;\n return { id: source, external: true };\n },\n };\n}\n\n/**\n * Create a Rollup transform plugin that strips TypeScript types.\n */\nfunction stripTypeScriptPlugin(): Plugin {\n return {\n name: \"strip-typescript\",\n transform(code, id) {\n if (isTypeScriptFile(id)) {\n return { code: processTypeScript(code, id), map: null };\n }\n return null;\n },\n };\n}\n\nconst TS_EXTENSIONS = [\".ts\", \".tsx\", \".mts\", \".cts\"];\n\n/**\n * Bundle a host file using Rollup, inlining its relative imports.\n *\n * - Uses the host file path as Rollup input\n * - Externalizes ALL bare specifiers (npm packages)\n * - Strips TypeScript via processTypeScript\n * - Shares the bundleCache/bundlesInFlight (no key collision since file paths start with `/`)\n *\n * Results are cached permanently.\n */\nexport async function bundleHostFile(\n hostFilePath: string,\n): Promise<{ code: string }> {\n const cached = bundleCache.get(hostFilePath);\n if (cached) return cached;\n\n const inFlight = bundlesInFlight.get(hostFilePath);\n if (inFlight) return inFlight;\n\n const promise = doBundleHostFile(hostFilePath);\n bundlesInFlight.set(hostFilePath, promise);\n\n try {\n const result = await promise;\n bundleCache.set(hostFilePath, result);\n return result;\n } finally {\n bundlesInFlight.delete(hostFilePath);\n }\n}\n\nasync function doBundleHostFile(\n hostFilePath: string,\n): Promise<{ code: string }> {\n const rootDir = path.dirname(hostFilePath);\n\n const bundle = await rollup({\n input: hostFilePath,\n treeshake: false,\n plugins: [\n externalizeAllBareSpecifiersPlugin(),\n stripTypeScriptPlugin(),\n nodeResolve({\n browser: true,\n rootDir,\n extensions: [\".mjs\", \".js\", \".json\", \".node\", ...TS_EXTENSIONS],\n }),\n shimNodeBuiltinsPlugin(),\n commonjs(commonjsInteropOptions),\n json(),\n replace({\n preventAssignment: true,\n values: { \"process.env.NODE_ENV\": JSON.stringify(\"development\") },\n }),\n ],\n onwarn: (warning, warn) => {\n if (warning.code === \"CIRCULAR_DEPENDENCY\") return;\n if (warning.code === \"THIS_IS_UNDEFINED\") return;\n if (warning.code === \"UNUSED_EXTERNAL_IMPORT\") return;\n if (warning.code === \"EMPTY_BUNDLE\") return;\n // Suppress warnings about named imports from shimmed Node.js builtins\n if (warning.code === \"MISSING_EXPORT\" && warning.exporter?.startsWith(NODE_BUILTIN_SHIM_PREFIX)) return;\n warn(warning);\n },\n });\n\n const { output } = await bundle.generate({\n format: \"es\",\n sourcemap: \"inline\",\n inlineDynamicImports: true,\n });\n await bundle.close();\n\n const code = output[0]!.code;\n return { code };\n}\n\n/**\n * Clear the bundle cache. Useful for testing.\n */\nexport function clearBundleCache(): void {\n bundleCache.clear();\n}\n"
5
+ "import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { builtinModules, createRequire } from \"node:module\";\nimport { rollup, type Plugin } from \"rollup\";\nimport * as nodeResolveModule from \"@rollup/plugin-node-resolve\";\nimport * as commonjsModule from \"@rollup/plugin-commonjs\";\nimport * as jsonModule from \"@rollup/plugin-json\";\nimport * as replaceModule from \"@rollup/plugin-replace\";\nimport { detectFormat, parseSpecifier } from \"./resolve.cjs\";\nimport { processTypeScript, isTypeScriptFile } from \"./strip-types.cjs\";\nimport type { RollupCommonJSOptions } from \"@rollup/plugin-commonjs\";\nimport type { RollupJsonOptions } from \"@rollup/plugin-json\";\nimport type { RollupReplaceOptions } from \"@rollup/plugin-replace\";\n\n// Handle CJS default exports\nconst nodeResolve = ((nodeResolveModule as any).default ||\n nodeResolveModule) as (typeof nodeResolveModule)[\"nodeResolve\"];\nconst commonjs = ((commonjsModule as any).default || commonjsModule) as (\n options?: RollupCommonJSOptions\n) => Plugin;\nconst json = ((jsonModule as any).default || jsonModule) as (\n options?: RollupJsonOptions\n) => Plugin;\nconst replace = ((replaceModule as any).default || replaceModule) as (\n options?: RollupReplaceOptions\n) => Plugin;\n\nconst commonjsInteropOptions = {\n // External package imports are resolved by later loader calls as ESM bundles,\n // so CommonJS requires need ESM-aware interop instead of default-import assumptions.\n esmExternals: true,\n requireReturnsDefault: \"auto\",\n} satisfies RollupCommonJSOptions;\n\nconst PACKAGE_ENTRY_WRAPPER_PREFIX = \"\\0package-entry-wrapper:\";\nconst INVALID_FUNCTION_EXPORT_NAMES = new Set([\n \"arguments\",\n \"caller\",\n \"length\",\n \"name\",\n \"prototype\",\n]);\n\n/**\n * Set of Node.js built-in module names (e.g. \"fs\", \"path\", \"crypto\").\n */\nconst nodeBuiltins = new Set(builtinModules);\n\n/**\n * Check if a specifier refers to a Node.js built-in module.\n * Handles bare names (\"fs\"), subpaths (\"fs/promises\"), and node: prefix (\"node:fs\").\n */\nfunction isNodeBuiltin(source: string): boolean {\n const name = source.startsWith(\"node:\") ? source.slice(5) : source;\n const topLevel = name.split(\"/\")[0]!;\n return nodeBuiltins.has(topLevel);\n}\n\nconst NODE_BUILTIN_SHIM_PREFIX = \"\\0node-builtin-shim:\";\n\nexport function getNodeBuiltinShimCode(source: string): string {\n if (source === \"ws\" || source === \"node:ws\") {\n return `\nconst WebSocketShim = globalThis.WebSocket;\n\nif (!WebSocketShim) {\n throw new Error(\"The isolate runtime does not provide a global WebSocket implementation.\");\n}\n\nexport { WebSocketShim as WebSocket };\nexport default WebSocketShim;\n`;\n }\n\n return \"export default {};\\n\";\n}\n\n/**\n * Rollup plugin that provides empty shims for Node.js built-in modules.\n * Place after nodeResolve — acts as a catch-all for builtins that the\n * package's browser field didn't map to false.\n */\nfunction shimNodeBuiltinsPlugin(): Plugin {\n return {\n name: \"shim-node-builtins\",\n resolveId(source) {\n if (isNodeBuiltin(source)) {\n return { id: `${NODE_BUILTIN_SHIM_PREFIX}${source}`, moduleSideEffects: false };\n }\n return null;\n },\n load(id) {\n if (id.startsWith(NODE_BUILTIN_SHIM_PREFIX)) {\n return getNodeBuiltinShimCode(id.slice(NODE_BUILTIN_SHIM_PREFIX.length));\n }\n return null;\n },\n };\n}\n\nfunction isValidEsmIdentifier(name: string): boolean {\n return /^[$A-Z_a-z][$\\w]*$/.test(name);\n}\n\nfunction resolvePackageImportPath(specifier: string, rootDir: string): string | null {\n const resolver = createRequire(path.join(rootDir, \"__isolate_module_loader__.js\"));\n\n let resolvedRequirePath: string;\n try {\n resolvedRequirePath = resolver.resolve(specifier);\n } catch {\n return null;\n }\n\n const { packageName, subpath } = parseSpecifier(specifier);\n const packageJsonPath = findPackageJsonPath(resolvedRequirePath, packageName);\n if (!packageJsonPath) {\n return resolvedRequirePath;\n }\n\n let packageJson: Record<string, unknown>;\n try {\n packageJson = JSON.parse(fs.readFileSync(packageJsonPath, \"utf-8\")) as Record<string, unknown>;\n } catch {\n return resolvedRequirePath;\n }\n\n const packageRoot = path.dirname(packageJsonPath);\n const exportPath = resolveImportEntryFromPackageJson(packageJson, subpath);\n\n if (exportPath) {\n return path.resolve(packageRoot, exportPath);\n }\n\n if (!subpath) {\n const moduleEntry = packageJson.module;\n if (typeof moduleEntry === \"string\") {\n return path.resolve(packageRoot, moduleEntry);\n }\n\n const browserEntry = packageJson.browser;\n if (typeof browserEntry === \"string\") {\n return path.resolve(packageRoot, browserEntry);\n }\n }\n\n return resolvedRequirePath;\n}\n\nfunction findPackageJsonPath(resolvedPath: string, packageName: string): string | null {\n let currentDir = path.dirname(resolvedPath);\n let matchedPackageJsonPath: string | null = null;\n\n while (true) {\n const packageJsonPath = path.join(currentDir, \"package.json\");\n\n if (fs.existsSync(packageJsonPath)) {\n try {\n const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, \"utf-8\")) as { name?: string };\n if (packageJson.name === packageName) {\n // Keep walking upward: published packages often include nested\n // dist/cjs or dist/mjs package.json files with the same name, but the\n // real package root higher up contains the export map we need.\n matchedPackageJsonPath = packageJsonPath;\n }\n } catch {\n // Keep walking upward if a parent package.json is malformed.\n }\n }\n\n const parentDir = path.dirname(currentDir);\n if (parentDir === currentDir) {\n return matchedPackageJsonPath;\n }\n currentDir = parentDir;\n }\n}\n\nfunction resolveImportEntryFromPackageJson(\n packageJson: Record<string, unknown>,\n subpath: string\n): string | null {\n const exportsField = packageJson.exports;\n if (exportsField === undefined) {\n return null;\n }\n\n const exportKey = subpath ? `.${subpath}` : \".\";\n\n if (isConditionalExportsObject(exportsField)) {\n if (exportKey !== \".\") {\n return null;\n }\n return pickImportTarget(exportsField);\n }\n\n if (typeof exportsField === \"object\" && exportsField !== null && !Array.isArray(exportsField)) {\n const target = (exportsField as Record<string, unknown>)[exportKey];\n return target === undefined ? null : pickImportTarget(target);\n }\n\n return exportKey === \".\" ? pickImportTarget(exportsField) : null;\n}\n\nfunction isConditionalExportsObject(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\"\n && value !== null\n && !Array.isArray(value)\n && Object.keys(value).every((key) => !key.startsWith(\".\"));\n}\n\nfunction pickImportTarget(value: unknown): string | null {\n if (typeof value === \"string\") {\n return value;\n }\n\n if (Array.isArray(value)) {\n for (const item of value) {\n const target = pickImportTarget(item);\n if (target) {\n return target;\n }\n }\n return null;\n }\n\n if (typeof value !== \"object\" || value === null) {\n return null;\n }\n\n const record = value as Record<string, unknown>;\n\n for (const key of [\"workerd\", \"worker\", \"edge-light\", \"import\", \"module\", \"default\", \"browser\"]) {\n if (key in record) {\n const target = pickImportTarget(record[key]);\n if (target) {\n return target;\n }\n }\n }\n\n for (const nestedValue of Object.values(record)) {\n const target = pickImportTarget(nestedValue);\n if (target) {\n return target;\n }\n }\n\n return null;\n}\n\nfunction getCommonJsNamedExports(specifier: string, rootDir: string): string[] {\n const resolvedHostPath = resolvePackageImportPath(specifier, rootDir);\n if (!resolvedHostPath) {\n return [];\n }\n\n let code: string;\n try {\n code = fs.readFileSync(resolvedHostPath, \"utf-8\");\n } catch {\n return [];\n }\n\n if (detectFormat(resolvedHostPath, code) !== \"cjs\") {\n return [];\n }\n\n let moduleExports: unknown;\n try {\n moduleExports = createRequire(resolvedHostPath)(resolvedHostPath);\n } catch {\n return [];\n }\n\n if (moduleExports == null || (typeof moduleExports !== \"object\" && typeof moduleExports !== \"function\")) {\n return [];\n }\n\n const names = new Set([\n ...Object.keys(moduleExports),\n ...Object.getOwnPropertyNames(moduleExports),\n ]);\n\n names.delete(\"default\");\n names.delete(\"__esModule\");\n\n if (typeof moduleExports === \"function\") {\n for (const name of INVALID_FUNCTION_EXPORT_NAMES) {\n names.delete(name);\n }\n }\n\n return [...names].filter(isValidEsmIdentifier).sort();\n}\n\nfunction packageEntryWrapperPlugin(specifier: string, namedExports: string[]): Plugin {\n const wrapperId = `${PACKAGE_ENTRY_WRAPPER_PREFIX}${specifier}`;\n\n return {\n name: \"package-entry-wrapper\",\n resolveId(source) {\n if (source === wrapperId) {\n return wrapperId;\n }\n return null;\n },\n load(id) {\n if (id !== wrapperId) {\n return null;\n }\n\n const namedExportLines = namedExports.map(\n (name) => `export const ${name} = __packageDefault.${name};`\n );\n\n return [\n `import __packageDefault from ${JSON.stringify(specifier)};`,\n \"export default __packageDefault;\",\n ...namedExportLines,\n ].join(\"\\n\");\n },\n };\n}\n\n/**\n * Cache for bundled npm packages. Key includes specifier + resolution root.\n */\nconst bundleCache = new Map<string, { code: string }>();\n\n/**\n * In-flight bundle promises to avoid duplicate concurrent bundles.\n */\nconst bundlesInFlight = new Map<string, Promise<{ code: string }>>();\n\n/**\n * Create a Rollup plugin that externalizes all bare specifiers that don't\n * belong to the current package. Internal files of the package are inlined;\n * other npm packages remain as import statements.\n */\nfunction externalizeDepsPlugin(currentPackageName: string): Plugin {\n return {\n name: \"externalize-deps\",\n resolveId(source, importer) {\n // Don't externalize the entry point\n if (!importer) return null;\n\n // Don't externalize relative imports (internal to the package)\n if (source.startsWith(\".\") || source.startsWith(\"/\")) return null;\n\n // Keep package-private imports inside the current bundle so Rollup can\n // resolve them through the importing package's `imports` map.\n if (source.startsWith(\"#\")) return null;\n\n // Don't externalize Node.js builtins — let nodeResolve handle them\n // via the package's browser field (e.g. \"fs\": false → empty module)\n if (isNodeBuiltin(source)) return null;\n\n // Check if this is a different npm package\n const { packageName } = parseSpecifier(source);\n if (packageName !== currentPackageName) {\n return { id: source, external: true };\n }\n\n // Same package — let Rollup resolve it normally\n return null;\n },\n };\n}\n\n/**\n * Bundle a bare specifier (npm package) using Rollup.\n *\n * Each unique bare specifier gets its own bundle with:\n * - node-resolve with worker/server-safe export conditions\n * - commonjs conversion\n * - json support\n * - process.env.NODE_ENV replacement\n * - External deps (other npm packages) left as import statements\n *\n * Results are cached permanently (npm packages are static).\n */\nexport async function bundleSpecifier(\n specifier: string,\n rootDir: string\n): Promise<{ code: string }> {\n const cacheKey = `${specifier}\\0${rootDir}`;\n\n // Check cache\n const cached = bundleCache.get(cacheKey);\n if (cached) return cached;\n\n // Check in-flight\n const inFlight = bundlesInFlight.get(cacheKey);\n if (inFlight) return inFlight;\n\n const promise = doBundleSpecifier(specifier, rootDir);\n bundlesInFlight.set(cacheKey, promise);\n\n try {\n const result = await promise;\n bundleCache.set(cacheKey, result);\n return result;\n } finally {\n bundlesInFlight.delete(cacheKey);\n }\n}\n\nasync function doBundleSpecifier(\n specifier: string,\n rootDir: string\n): Promise<{ code: string }> {\n const { packageName } = parseSpecifier(specifier);\n const namedExports = getCommonJsNamedExports(specifier, rootDir);\n const input = namedExports.length > 0\n ? `${PACKAGE_ENTRY_WRAPPER_PREFIX}${specifier}`\n : specifier;\n\n const bundle = await rollup({\n input,\n // Disable tree-shaking: we're creating a virtual module that must faithfully\n // expose all package exports. We can't predict which ones user code will import.\n // Without this, exports like AWS SDK's ConverseStreamOutput (a namespace with\n // a visit() helper that nothing inside the bundle references) get dropped.\n treeshake: false,\n plugins: [\n packageEntryWrapperPlugin(specifier, namedExports),\n externalizeDepsPlugin(packageName),\n nodeResolve({\n rootDir,\n browser: false,\n exportConditions: [\"workerd\", \"worker\", \"edge-light\"],\n }),\n shimNodeBuiltinsPlugin(),\n commonjs(commonjsInteropOptions),\n json(),\n replace({\n preventAssignment: true,\n values: { \"process.env.NODE_ENV\": JSON.stringify(\"development\") },\n }),\n ],\n onwarn: (warning, warn) => {\n if (warning.code === \"CIRCULAR_DEPENDENCY\") return;\n if (warning.code === \"THIS_IS_UNDEFINED\") return;\n if (warning.code === \"UNUSED_EXTERNAL_IMPORT\") return;\n if (warning.code === \"EMPTY_BUNDLE\") return;\n // Suppress warnings about named imports from shimmed Node.js builtins\n if (warning.code === \"MISSING_EXPORT\" && warning.exporter?.startsWith(NODE_BUILTIN_SHIM_PREFIX)) return;\n warn(warning);\n },\n });\n\n const { output } = await bundle.generate({\n format: \"es\",\n sourcemap: \"inline\",\n inlineDynamicImports: true,\n });\n await bundle.close();\n\n const code = output[0]!.code;\n return { code };\n}\n\n/**\n * Create a Rollup plugin that externalizes ALL bare specifiers.\n * Used for module aliases where the host file's relative imports are bundled\n * but npm package dependencies are left as external imports.\n */\nfunction externalizeAllBareSpecifiersPlugin(): Plugin {\n return {\n name: \"externalize-all-bare-specifiers\",\n resolveId(source, importer) {\n if (!importer) return null;\n if (source.startsWith(\".\") || source.startsWith(\"/\")) return null;\n if (source.startsWith(\"#\")) return null;\n // Don't externalize Node.js builtins — let nodeResolve/shim handle them\n if (isNodeBuiltin(source)) return null;\n return { id: source, external: true };\n },\n };\n}\n\n/**\n * Create a Rollup transform plugin that strips TypeScript types.\n */\nfunction stripTypeScriptPlugin(): Plugin {\n return {\n name: \"strip-typescript\",\n transform(code, id) {\n if (isTypeScriptFile(id)) {\n return { code: processTypeScript(code, id), map: null };\n }\n return null;\n },\n };\n}\n\nconst TS_EXTENSIONS = [\".ts\", \".tsx\", \".mts\", \".cts\"];\n\n/**\n * Bundle a host file using Rollup, inlining its relative imports.\n *\n * - Uses the host file path as Rollup input\n * - Externalizes ALL bare specifiers (npm packages)\n * - Strips TypeScript via processTypeScript\n * - Shares the bundleCache/bundlesInFlight (no key collision since file paths start with `/`)\n *\n * Results are cached permanently.\n */\nexport async function bundleHostFile(\n hostFilePath: string,\n): Promise<{ code: string }> {\n const cached = bundleCache.get(hostFilePath);\n if (cached) return cached;\n\n const inFlight = bundlesInFlight.get(hostFilePath);\n if (inFlight) return inFlight;\n\n const promise = doBundleHostFile(hostFilePath);\n bundlesInFlight.set(hostFilePath, promise);\n\n try {\n const result = await promise;\n bundleCache.set(hostFilePath, result);\n return result;\n } finally {\n bundlesInFlight.delete(hostFilePath);\n }\n}\n\nasync function doBundleHostFile(\n hostFilePath: string,\n): Promise<{ code: string }> {\n const rootDir = path.dirname(hostFilePath);\n\n const bundle = await rollup({\n input: hostFilePath,\n treeshake: false,\n plugins: [\n externalizeAllBareSpecifiersPlugin(),\n stripTypeScriptPlugin(),\n nodeResolve({\n rootDir,\n browser: false,\n exportConditions: [\"workerd\", \"worker\", \"edge-light\"],\n extensions: [\".mjs\", \".js\", \".json\", \".node\", ...TS_EXTENSIONS],\n }),\n shimNodeBuiltinsPlugin(),\n commonjs(commonjsInteropOptions),\n json(),\n replace({\n preventAssignment: true,\n values: { \"process.env.NODE_ENV\": JSON.stringify(\"development\") },\n }),\n ],\n onwarn: (warning, warn) => {\n if (warning.code === \"CIRCULAR_DEPENDENCY\") return;\n if (warning.code === \"THIS_IS_UNDEFINED\") return;\n if (warning.code === \"UNUSED_EXTERNAL_IMPORT\") return;\n if (warning.code === \"EMPTY_BUNDLE\") return;\n // Suppress warnings about named imports from shimmed Node.js builtins\n if (warning.code === \"MISSING_EXPORT\" && warning.exporter?.startsWith(NODE_BUILTIN_SHIM_PREFIX)) return;\n warn(warning);\n },\n });\n\n const { output } = await bundle.generate({\n format: \"es\",\n sourcemap: \"inline\",\n inlineDynamicImports: true,\n });\n await bundle.close();\n\n const code = output[0]!.code;\n return { code };\n}\n\n/**\n * Clear the bundle cache. Useful for testing.\n */\nexport function clearBundleCache(): void {\n bundleCache.clear();\n}\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "0B3ADDC12296866164756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "DB85D50E47506D9464756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -77,8 +77,10 @@ class ModuleResolverBuilder {
77
77
  virtualFiles = new Map;
78
78
  sourceTrees = [];
79
79
  fallbackLoader;
80
+ nodeModulesLoader;
80
81
  mountNodeModules(virtualMount, hostPath) {
81
82
  this.nodeModuleMappings.push({ from: hostPath, to: virtualMount });
83
+ this.nodeModulesLoader = undefined;
82
84
  return this;
83
85
  }
84
86
  virtual(specifier, source, options) {
@@ -135,9 +137,8 @@ class ModuleResolverBuilder {
135
137
  }
136
138
  }
137
139
  if (this.nodeModuleMappings.length > 0) {
138
- const mappedLoader = import_module_loader.defaultModuleLoader(...this.nodeModuleMappings);
139
140
  try {
140
- return await mappedLoader(specifier, importer);
141
+ return await this.getNodeModulesLoader()(specifier, importer);
141
142
  } catch (error) {
142
143
  if (!this.fallbackLoader) {
143
144
  throw error;
@@ -152,9 +153,15 @@ class ModuleResolverBuilder {
152
153
  }
153
154
  throw new Error(`Unable to resolve module: ${specifier}`);
154
155
  }
156
+ getNodeModulesLoader() {
157
+ if (!this.nodeModulesLoader) {
158
+ this.nodeModulesLoader = import_module_loader.defaultModuleLoader(...this.nodeModuleMappings);
159
+ }
160
+ return this.nodeModulesLoader;
161
+ }
155
162
  }
156
163
  function createModuleResolver() {
157
164
  return new ModuleResolverBuilder;
158
165
  }
159
166
 
160
- //# debugId=EDA6F0BF09C3B66964756E2164756E21
167
+ //# debugId=363B95C4D202910564756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/modules/index.ts"],
4
4
  "sourcesContent": [
5
- "import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { defaultModuleLoader } from \"../internal/module-loader/index.cjs\";\nimport { normalizeExplicitModuleResult } from \"../bridge/legacy-adapters.cjs\";\nimport type { HostCallContext, ModuleResolveResult, ModuleResolver, ModuleResolverFallback, ModuleResolverSourceLoader, ModuleSource } from \"../types.cjs\";\n\nclass ModuleResolverBuilder implements ModuleResolver {\n private readonly nodeModuleMappings: Array<{ from: string; to: string }> = [];\n private readonly virtualEntries = new Map<string, { source: ModuleResolveResult | (() => ModuleResolveResult); options?: Partial<ModuleSource> }>();\n private readonly virtualFiles = new Map<string, { filePath: string; options?: Partial<ModuleSource> }>();\n private readonly sourceTrees: Array<{ prefix: string; loader: ModuleResolverSourceLoader }> = [];\n private fallbackLoader?: ModuleResolverFallback;\n\n mountNodeModules(virtualMount: string, hostPath: string): ModuleResolver {\n this.nodeModuleMappings.push({ from: hostPath, to: virtualMount });\n return this;\n }\n\n virtual(specifier: string, source: ModuleResolveResult | (() => ModuleResolveResult), options?: Partial<ModuleSource>): ModuleResolver {\n this.virtualEntries.set(specifier, { source, options });\n return this;\n }\n\n virtualFile(specifier: string, filePath: string, options?: Partial<ModuleSource>): ModuleResolver {\n this.virtualFiles.set(specifier, { filePath, options });\n return this;\n }\n\n sourceTree(prefix: string, loader: ModuleResolverSourceLoader): ModuleResolver {\n this.sourceTrees.push({ prefix, loader });\n return this;\n }\n\n fallback(loader: ModuleResolverFallback): ModuleResolver {\n this.fallbackLoader = loader;\n return this;\n }\n\n async resolve(specifier: string, importer: { path: string; resolveDir: string }, context: HostCallContext): Promise<ModuleSource> {\n const explicit = this.virtualEntries.get(specifier);\n if (explicit) {\n const raw = typeof explicit.source === \"function\" ? await explicit.source() : await explicit.source;\n const normalized = await normalizeExplicitModuleResult(specifier, raw, importer.resolveDir);\n if (!normalized) {\n throw new Error(`Virtual module ${specifier} returned no source.`);\n }\n return {\n ...normalized,\n ...explicit.options,\n };\n }\n\n const virtualFile = this.virtualFiles.get(specifier);\n if (virtualFile) {\n const code = fs.readFileSync(virtualFile.filePath, \"utf-8\");\n const fallback = await normalizeExplicitModuleResult(\n specifier,\n {\n code,\n filename: virtualFile.options?.filename ?? path.basename(virtualFile.filePath),\n resolveDir: virtualFile.options?.resolveDir ?? path.posix.dirname(specifier.startsWith(\"/\") ? specifier : `/${specifier}`),\n static: virtualFile.options?.static,\n },\n importer.resolveDir,\n );\n if (!fallback) {\n throw new Error(`Virtual file module ${specifier} returned no source.`);\n }\n return fallback;\n }\n\n for (const sourceTree of this.sourceTrees) {\n if (!specifier.startsWith(sourceTree.prefix)) {\n continue;\n }\n const relativePath = specifier.slice(sourceTree.prefix.length);\n const normalized = await normalizeExplicitModuleResult(specifier, sourceTree.loader(relativePath, context), importer.resolveDir);\n if (normalized) {\n return normalized;\n }\n }\n\n if (this.nodeModuleMappings.length > 0) {\n const mappedLoader = defaultModuleLoader(...this.nodeModuleMappings);\n try {\n return await mappedLoader(specifier, importer);\n } catch (error) {\n if (!this.fallbackLoader) {\n throw error;\n }\n }\n }\n\n if (this.fallbackLoader) {\n const normalized = await normalizeExplicitModuleResult(specifier, this.fallbackLoader(specifier, importer, context), importer.resolveDir);\n if (normalized) {\n return normalized;\n }\n }\n\n throw new Error(`Unable to resolve module: ${specifier}`);\n }\n}\n\nexport function createModuleResolver(): ModuleResolver {\n return new ModuleResolverBuilder();\n}\n"
5
+ "import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { defaultModuleLoader } from \"../internal/module-loader/index.cjs\";\nimport { normalizeExplicitModuleResult } from \"../bridge/legacy-adapters.cjs\";\nimport type { HostCallContext, ModuleResolveResult, ModuleResolver, ModuleResolverFallback, ModuleResolverSourceLoader, ModuleSource } from \"../types.cjs\";\n\nclass ModuleResolverBuilder implements ModuleResolver {\n private readonly nodeModuleMappings: Array<{ from: string; to: string }> = [];\n private readonly virtualEntries = new Map<string, { source: ModuleResolveResult | (() => ModuleResolveResult); options?: Partial<ModuleSource> }>();\n private readonly virtualFiles = new Map<string, { filePath: string; options?: Partial<ModuleSource> }>();\n private readonly sourceTrees: Array<{ prefix: string; loader: ModuleResolverSourceLoader }> = [];\n private fallbackLoader?: ModuleResolverFallback;\n private nodeModulesLoader?: ReturnType<typeof defaultModuleLoader>;\n\n mountNodeModules(virtualMount: string, hostPath: string): ModuleResolver {\n this.nodeModuleMappings.push({ from: hostPath, to: virtualMount });\n this.nodeModulesLoader = undefined;\n return this;\n }\n\n virtual(specifier: string, source: ModuleResolveResult | (() => ModuleResolveResult), options?: Partial<ModuleSource>): ModuleResolver {\n this.virtualEntries.set(specifier, { source, options });\n return this;\n }\n\n virtualFile(specifier: string, filePath: string, options?: Partial<ModuleSource>): ModuleResolver {\n this.virtualFiles.set(specifier, { filePath, options });\n return this;\n }\n\n sourceTree(prefix: string, loader: ModuleResolverSourceLoader): ModuleResolver {\n this.sourceTrees.push({ prefix, loader });\n return this;\n }\n\n fallback(loader: ModuleResolverFallback): ModuleResolver {\n this.fallbackLoader = loader;\n return this;\n }\n\n async resolve(specifier: string, importer: { path: string; resolveDir: string }, context: HostCallContext): Promise<ModuleSource> {\n const explicit = this.virtualEntries.get(specifier);\n if (explicit) {\n const raw = typeof explicit.source === \"function\" ? await explicit.source() : await explicit.source;\n const normalized = await normalizeExplicitModuleResult(specifier, raw, importer.resolveDir);\n if (!normalized) {\n throw new Error(`Virtual module ${specifier} returned no source.`);\n }\n return {\n ...normalized,\n ...explicit.options,\n };\n }\n\n const virtualFile = this.virtualFiles.get(specifier);\n if (virtualFile) {\n const code = fs.readFileSync(virtualFile.filePath, \"utf-8\");\n const fallback = await normalizeExplicitModuleResult(\n specifier,\n {\n code,\n filename: virtualFile.options?.filename ?? path.basename(virtualFile.filePath),\n resolveDir: virtualFile.options?.resolveDir ?? path.posix.dirname(specifier.startsWith(\"/\") ? specifier : `/${specifier}`),\n static: virtualFile.options?.static,\n },\n importer.resolveDir,\n );\n if (!fallback) {\n throw new Error(`Virtual file module ${specifier} returned no source.`);\n }\n return fallback;\n }\n\n for (const sourceTree of this.sourceTrees) {\n if (!specifier.startsWith(sourceTree.prefix)) {\n continue;\n }\n const relativePath = specifier.slice(sourceTree.prefix.length);\n const normalized = await normalizeExplicitModuleResult(specifier, sourceTree.loader(relativePath, context), importer.resolveDir);\n if (normalized) {\n return normalized;\n }\n }\n\n if (this.nodeModuleMappings.length > 0) {\n try {\n return await this.getNodeModulesLoader()(specifier, importer);\n } catch (error) {\n if (!this.fallbackLoader) {\n throw error;\n }\n }\n }\n\n if (this.fallbackLoader) {\n const normalized = await normalizeExplicitModuleResult(specifier, this.fallbackLoader(specifier, importer, context), importer.resolveDir);\n if (normalized) {\n return normalized;\n }\n }\n\n throw new Error(`Unable to resolve module: ${specifier}`);\n }\n\n private getNodeModulesLoader(): ReturnType<typeof defaultModuleLoader> {\n if (!this.nodeModulesLoader) {\n this.nodeModulesLoader = defaultModuleLoader(...this.nodeModuleMappings);\n }\n return this.nodeModulesLoader;\n }\n}\n\nexport function createModuleResolver(): ModuleResolver {\n return new ModuleResolverBuilder();\n}\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "EDA6F0BF09C3B66964756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "363B95C4D202910564756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@ricsam/isolate",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "type": "commonjs"
5
5
  }
@@ -162,7 +162,7 @@ function pickImportTarget(value) {
162
162
  return null;
163
163
  }
164
164
  const record = value;
165
- for (const key of ["browser", "import", "module", "default"]) {
165
+ for (const key of ["workerd", "worker", "edge-light", "import", "module", "default", "browser"]) {
166
166
  if (key in record) {
167
167
  const target = pickImportTarget(record[key]);
168
168
  if (target) {
@@ -248,6 +248,8 @@ function externalizeDepsPlugin(currentPackageName) {
248
248
  return null;
249
249
  if (source.startsWith(".") || source.startsWith("/"))
250
250
  return null;
251
+ if (source.startsWith("#"))
252
+ return null;
251
253
  if (isNodeBuiltin(source))
252
254
  return null;
253
255
  const { packageName } = parseSpecifier(source);
@@ -286,7 +288,11 @@ async function doBundleSpecifier(specifier, rootDir) {
286
288
  plugins: [
287
289
  packageEntryWrapperPlugin(specifier, namedExports),
288
290
  externalizeDepsPlugin(packageName),
289
- nodeResolve({ browser: true, rootDir }),
291
+ nodeResolve({
292
+ rootDir,
293
+ browser: false,
294
+ exportConditions: ["workerd", "worker", "edge-light"]
295
+ }),
290
296
  shimNodeBuiltinsPlugin(),
291
297
  commonjs(commonjsInteropOptions),
292
298
  json(),
@@ -326,6 +332,8 @@ function externalizeAllBareSpecifiersPlugin() {
326
332
  return null;
327
333
  if (source.startsWith(".") || source.startsWith("/"))
328
334
  return null;
335
+ if (source.startsWith("#"))
336
+ return null;
329
337
  if (isNodeBuiltin(source))
330
338
  return null;
331
339
  return { id: source, external: true };
@@ -370,8 +378,9 @@ async function doBundleHostFile(hostFilePath) {
370
378
  externalizeAllBareSpecifiersPlugin(),
371
379
  stripTypeScriptPlugin(),
372
380
  nodeResolve({
373
- browser: true,
374
381
  rootDir,
382
+ browser: false,
383
+ exportConditions: ["workerd", "worker", "edge-light"],
375
384
  extensions: [".mjs", ".js", ".json", ".node", ...TS_EXTENSIONS]
376
385
  }),
377
386
  shimNodeBuiltinsPlugin(),
@@ -415,4 +424,4 @@ export {
415
424
  bundleHostFile
416
425
  };
417
426
 
418
- //# debugId=331C39AA7511FF7B64756E2164756E21
427
+ //# debugId=C1DEBF2A9C3A510464756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/internal/module-loader/bundle.ts"],
4
4
  "sourcesContent": [
5
- "import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { builtinModules, createRequire } from \"node:module\";\nimport { rollup, type Plugin } from \"rollup\";\nimport * as nodeResolveModule from \"@rollup/plugin-node-resolve\";\nimport * as commonjsModule from \"@rollup/plugin-commonjs\";\nimport * as jsonModule from \"@rollup/plugin-json\";\nimport * as replaceModule from \"@rollup/plugin-replace\";\nimport { detectFormat, parseSpecifier } from \"./resolve.mjs\";\nimport { processTypeScript, isTypeScriptFile } from \"./strip-types.mjs\";\nimport type { RollupCommonJSOptions } from \"@rollup/plugin-commonjs\";\nimport type { RollupJsonOptions } from \"@rollup/plugin-json\";\nimport type { RollupReplaceOptions } from \"@rollup/plugin-replace\";\n\n// Handle CJS default exports\nconst nodeResolve = ((nodeResolveModule as any).default ||\n nodeResolveModule) as (typeof nodeResolveModule)[\"nodeResolve\"];\nconst commonjs = ((commonjsModule as any).default || commonjsModule) as (\n options?: RollupCommonJSOptions\n) => Plugin;\nconst json = ((jsonModule as any).default || jsonModule) as (\n options?: RollupJsonOptions\n) => Plugin;\nconst replace = ((replaceModule as any).default || replaceModule) as (\n options?: RollupReplaceOptions\n) => Plugin;\n\nconst commonjsInteropOptions = {\n // External package imports are resolved by later loader calls as ESM bundles,\n // so CommonJS requires need ESM-aware interop instead of default-import assumptions.\n esmExternals: true,\n requireReturnsDefault: \"auto\",\n} satisfies RollupCommonJSOptions;\n\nconst PACKAGE_ENTRY_WRAPPER_PREFIX = \"\\0package-entry-wrapper:\";\nconst INVALID_FUNCTION_EXPORT_NAMES = new Set([\n \"arguments\",\n \"caller\",\n \"length\",\n \"name\",\n \"prototype\",\n]);\n\n/**\n * Set of Node.js built-in module names (e.g. \"fs\", \"path\", \"crypto\").\n */\nconst nodeBuiltins = new Set(builtinModules);\n\n/**\n * Check if a specifier refers to a Node.js built-in module.\n * Handles bare names (\"fs\"), subpaths (\"fs/promises\"), and node: prefix (\"node:fs\").\n */\nfunction isNodeBuiltin(source: string): boolean {\n const name = source.startsWith(\"node:\") ? source.slice(5) : source;\n const topLevel = name.split(\"/\")[0]!;\n return nodeBuiltins.has(topLevel);\n}\n\nconst NODE_BUILTIN_SHIM_PREFIX = \"\\0node-builtin-shim:\";\n\nexport function getNodeBuiltinShimCode(source: string): string {\n if (source === \"ws\" || source === \"node:ws\") {\n return `\nconst WebSocketShim = globalThis.WebSocket;\n\nif (!WebSocketShim) {\n throw new Error(\"The isolate runtime does not provide a global WebSocket implementation.\");\n}\n\nexport { WebSocketShim as WebSocket };\nexport default WebSocketShim;\n`;\n }\n\n return \"export default {};\\n\";\n}\n\n/**\n * Rollup plugin that provides empty shims for Node.js built-in modules.\n * Place after nodeResolve — acts as a catch-all for builtins that the\n * package's browser field didn't map to false.\n */\nfunction shimNodeBuiltinsPlugin(): Plugin {\n return {\n name: \"shim-node-builtins\",\n resolveId(source) {\n if (isNodeBuiltin(source)) {\n return { id: `${NODE_BUILTIN_SHIM_PREFIX}${source}`, moduleSideEffects: false };\n }\n return null;\n },\n load(id) {\n if (id.startsWith(NODE_BUILTIN_SHIM_PREFIX)) {\n return getNodeBuiltinShimCode(id.slice(NODE_BUILTIN_SHIM_PREFIX.length));\n }\n return null;\n },\n };\n}\n\nfunction isValidEsmIdentifier(name: string): boolean {\n return /^[$A-Z_a-z][$\\w]*$/.test(name);\n}\n\nfunction resolvePackageImportPath(specifier: string, rootDir: string): string | null {\n const resolver = createRequire(path.join(rootDir, \"__isolate_module_loader__.js\"));\n\n let resolvedRequirePath: string;\n try {\n resolvedRequirePath = resolver.resolve(specifier);\n } catch {\n return null;\n }\n\n const { packageName, subpath } = parseSpecifier(specifier);\n const packageJsonPath = findPackageJsonPath(resolvedRequirePath, packageName);\n if (!packageJsonPath) {\n return resolvedRequirePath;\n }\n\n let packageJson: Record<string, unknown>;\n try {\n packageJson = JSON.parse(fs.readFileSync(packageJsonPath, \"utf-8\")) as Record<string, unknown>;\n } catch {\n return resolvedRequirePath;\n }\n\n const packageRoot = path.dirname(packageJsonPath);\n const exportPath = resolveImportEntryFromPackageJson(packageJson, subpath);\n\n if (exportPath) {\n return path.resolve(packageRoot, exportPath);\n }\n\n if (!subpath) {\n const moduleEntry = packageJson.module;\n if (typeof moduleEntry === \"string\") {\n return path.resolve(packageRoot, moduleEntry);\n }\n\n const browserEntry = packageJson.browser;\n if (typeof browserEntry === \"string\") {\n return path.resolve(packageRoot, browserEntry);\n }\n }\n\n return resolvedRequirePath;\n}\n\nfunction findPackageJsonPath(resolvedPath: string, packageName: string): string | null {\n let currentDir = path.dirname(resolvedPath);\n let matchedPackageJsonPath: string | null = null;\n\n while (true) {\n const packageJsonPath = path.join(currentDir, \"package.json\");\n\n if (fs.existsSync(packageJsonPath)) {\n try {\n const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, \"utf-8\")) as { name?: string };\n if (packageJson.name === packageName) {\n // Keep walking upward: published packages often include nested\n // dist/cjs or dist/mjs package.json files with the same name, but the\n // real package root higher up contains the export map we need.\n matchedPackageJsonPath = packageJsonPath;\n }\n } catch {\n // Keep walking upward if a parent package.json is malformed.\n }\n }\n\n const parentDir = path.dirname(currentDir);\n if (parentDir === currentDir) {\n return matchedPackageJsonPath;\n }\n currentDir = parentDir;\n }\n}\n\nfunction resolveImportEntryFromPackageJson(\n packageJson: Record<string, unknown>,\n subpath: string\n): string | null {\n const exportsField = packageJson.exports;\n if (exportsField === undefined) {\n return null;\n }\n\n const exportKey = subpath ? `.${subpath}` : \".\";\n\n if (isConditionalExportsObject(exportsField)) {\n if (exportKey !== \".\") {\n return null;\n }\n return pickImportTarget(exportsField);\n }\n\n if (typeof exportsField === \"object\" && exportsField !== null && !Array.isArray(exportsField)) {\n const target = (exportsField as Record<string, unknown>)[exportKey];\n return target === undefined ? null : pickImportTarget(target);\n }\n\n return exportKey === \".\" ? pickImportTarget(exportsField) : null;\n}\n\nfunction isConditionalExportsObject(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\"\n && value !== null\n && !Array.isArray(value)\n && Object.keys(value).every((key) => !key.startsWith(\".\"));\n}\n\nfunction pickImportTarget(value: unknown): string | null {\n if (typeof value === \"string\") {\n return value;\n }\n\n if (Array.isArray(value)) {\n for (const item of value) {\n const target = pickImportTarget(item);\n if (target) {\n return target;\n }\n }\n return null;\n }\n\n if (typeof value !== \"object\" || value === null) {\n return null;\n }\n\n const record = value as Record<string, unknown>;\n\n for (const key of [\"browser\", \"import\", \"module\", \"default\"]) {\n if (key in record) {\n const target = pickImportTarget(record[key]);\n if (target) {\n return target;\n }\n }\n }\n\n for (const nestedValue of Object.values(record)) {\n const target = pickImportTarget(nestedValue);\n if (target) {\n return target;\n }\n }\n\n return null;\n}\n\nfunction getCommonJsNamedExports(specifier: string, rootDir: string): string[] {\n const resolvedHostPath = resolvePackageImportPath(specifier, rootDir);\n if (!resolvedHostPath) {\n return [];\n }\n\n let code: string;\n try {\n code = fs.readFileSync(resolvedHostPath, \"utf-8\");\n } catch {\n return [];\n }\n\n if (detectFormat(resolvedHostPath, code) !== \"cjs\") {\n return [];\n }\n\n let moduleExports: unknown;\n try {\n moduleExports = createRequire(resolvedHostPath)(resolvedHostPath);\n } catch {\n return [];\n }\n\n if (moduleExports == null || (typeof moduleExports !== \"object\" && typeof moduleExports !== \"function\")) {\n return [];\n }\n\n const names = new Set([\n ...Object.keys(moduleExports),\n ...Object.getOwnPropertyNames(moduleExports),\n ]);\n\n names.delete(\"default\");\n names.delete(\"__esModule\");\n\n if (typeof moduleExports === \"function\") {\n for (const name of INVALID_FUNCTION_EXPORT_NAMES) {\n names.delete(name);\n }\n }\n\n return [...names].filter(isValidEsmIdentifier).sort();\n}\n\nfunction packageEntryWrapperPlugin(specifier: string, namedExports: string[]): Plugin {\n const wrapperId = `${PACKAGE_ENTRY_WRAPPER_PREFIX}${specifier}`;\n\n return {\n name: \"package-entry-wrapper\",\n resolveId(source) {\n if (source === wrapperId) {\n return wrapperId;\n }\n return null;\n },\n load(id) {\n if (id !== wrapperId) {\n return null;\n }\n\n const namedExportLines = namedExports.map(\n (name) => `export const ${name} = __packageDefault.${name};`\n );\n\n return [\n `import __packageDefault from ${JSON.stringify(specifier)};`,\n \"export default __packageDefault;\",\n ...namedExportLines,\n ].join(\"\\n\");\n },\n };\n}\n\n/**\n * Cache for bundled npm packages. Key includes specifier + resolution root.\n */\nconst bundleCache = new Map<string, { code: string }>();\n\n/**\n * In-flight bundle promises to avoid duplicate concurrent bundles.\n */\nconst bundlesInFlight = new Map<string, Promise<{ code: string }>>();\n\n/**\n * Create a Rollup plugin that externalizes all bare specifiers that don't\n * belong to the current package. Internal files of the package are inlined;\n * other npm packages remain as import statements.\n */\nfunction externalizeDepsPlugin(currentPackageName: string): Plugin {\n return {\n name: \"externalize-deps\",\n resolveId(source, importer) {\n // Don't externalize the entry point\n if (!importer) return null;\n\n // Don't externalize relative imports (internal to the package)\n if (source.startsWith(\".\") || source.startsWith(\"/\")) return null;\n\n // Don't externalize Node.js builtins — let nodeResolve handle them\n // via the package's browser field (e.g. \"fs\": false → empty module)\n if (isNodeBuiltin(source)) return null;\n\n // Check if this is a different npm package\n const { packageName } = parseSpecifier(source);\n if (packageName !== currentPackageName) {\n return { id: source, external: true };\n }\n\n // Same package — let Rollup resolve it normally\n return null;\n },\n };\n}\n\n/**\n * Bundle a bare specifier (npm package) using Rollup.\n *\n * Each unique bare specifier gets its own bundle with:\n * - node-resolve with browser conditions\n * - commonjs conversion\n * - json support\n * - process.env.NODE_ENV replacement\n * - External deps (other npm packages) left as import statements\n *\n * Results are cached permanently (npm packages are static).\n */\nexport async function bundleSpecifier(\n specifier: string,\n rootDir: string\n): Promise<{ code: string }> {\n const cacheKey = `${specifier}\\0${rootDir}`;\n\n // Check cache\n const cached = bundleCache.get(cacheKey);\n if (cached) return cached;\n\n // Check in-flight\n const inFlight = bundlesInFlight.get(cacheKey);\n if (inFlight) return inFlight;\n\n const promise = doBundleSpecifier(specifier, rootDir);\n bundlesInFlight.set(cacheKey, promise);\n\n try {\n const result = await promise;\n bundleCache.set(cacheKey, result);\n return result;\n } finally {\n bundlesInFlight.delete(cacheKey);\n }\n}\n\nasync function doBundleSpecifier(\n specifier: string,\n rootDir: string\n): Promise<{ code: string }> {\n const { packageName } = parseSpecifier(specifier);\n const namedExports = getCommonJsNamedExports(specifier, rootDir);\n const input = namedExports.length > 0\n ? `${PACKAGE_ENTRY_WRAPPER_PREFIX}${specifier}`\n : specifier;\n\n const bundle = await rollup({\n input,\n // Disable tree-shaking: we're creating a virtual module that must faithfully\n // expose all package exports. We can't predict which ones user code will import.\n // Without this, exports like AWS SDK's ConverseStreamOutput (a namespace with\n // a visit() helper that nothing inside the bundle references) get dropped.\n treeshake: false,\n plugins: [\n packageEntryWrapperPlugin(specifier, namedExports),\n externalizeDepsPlugin(packageName),\n nodeResolve({ browser: true, rootDir }),\n shimNodeBuiltinsPlugin(),\n commonjs(commonjsInteropOptions),\n json(),\n replace({\n preventAssignment: true,\n values: { \"process.env.NODE_ENV\": JSON.stringify(\"development\") },\n }),\n ],\n onwarn: (warning, warn) => {\n if (warning.code === \"CIRCULAR_DEPENDENCY\") return;\n if (warning.code === \"THIS_IS_UNDEFINED\") return;\n if (warning.code === \"UNUSED_EXTERNAL_IMPORT\") return;\n if (warning.code === \"EMPTY_BUNDLE\") return;\n // Suppress warnings about named imports from shimmed Node.js builtins\n if (warning.code === \"MISSING_EXPORT\" && warning.exporter?.startsWith(NODE_BUILTIN_SHIM_PREFIX)) return;\n warn(warning);\n },\n });\n\n const { output } = await bundle.generate({\n format: \"es\",\n sourcemap: \"inline\",\n inlineDynamicImports: true,\n });\n await bundle.close();\n\n const code = output[0]!.code;\n return { code };\n}\n\n/**\n * Create a Rollup plugin that externalizes ALL bare specifiers.\n * Used for module aliases where the host file's relative imports are bundled\n * but npm package dependencies are left as external imports.\n */\nfunction externalizeAllBareSpecifiersPlugin(): Plugin {\n return {\n name: \"externalize-all-bare-specifiers\",\n resolveId(source, importer) {\n if (!importer) return null;\n if (source.startsWith(\".\") || source.startsWith(\"/\")) return null;\n // Don't externalize Node.js builtins — let nodeResolve/shim handle them\n if (isNodeBuiltin(source)) return null;\n return { id: source, external: true };\n },\n };\n}\n\n/**\n * Create a Rollup transform plugin that strips TypeScript types.\n */\nfunction stripTypeScriptPlugin(): Plugin {\n return {\n name: \"strip-typescript\",\n transform(code, id) {\n if (isTypeScriptFile(id)) {\n return { code: processTypeScript(code, id), map: null };\n }\n return null;\n },\n };\n}\n\nconst TS_EXTENSIONS = [\".ts\", \".tsx\", \".mts\", \".cts\"];\n\n/**\n * Bundle a host file using Rollup, inlining its relative imports.\n *\n * - Uses the host file path as Rollup input\n * - Externalizes ALL bare specifiers (npm packages)\n * - Strips TypeScript via processTypeScript\n * - Shares the bundleCache/bundlesInFlight (no key collision since file paths start with `/`)\n *\n * Results are cached permanently.\n */\nexport async function bundleHostFile(\n hostFilePath: string,\n): Promise<{ code: string }> {\n const cached = bundleCache.get(hostFilePath);\n if (cached) return cached;\n\n const inFlight = bundlesInFlight.get(hostFilePath);\n if (inFlight) return inFlight;\n\n const promise = doBundleHostFile(hostFilePath);\n bundlesInFlight.set(hostFilePath, promise);\n\n try {\n const result = await promise;\n bundleCache.set(hostFilePath, result);\n return result;\n } finally {\n bundlesInFlight.delete(hostFilePath);\n }\n}\n\nasync function doBundleHostFile(\n hostFilePath: string,\n): Promise<{ code: string }> {\n const rootDir = path.dirname(hostFilePath);\n\n const bundle = await rollup({\n input: hostFilePath,\n treeshake: false,\n plugins: [\n externalizeAllBareSpecifiersPlugin(),\n stripTypeScriptPlugin(),\n nodeResolve({\n browser: true,\n rootDir,\n extensions: [\".mjs\", \".js\", \".json\", \".node\", ...TS_EXTENSIONS],\n }),\n shimNodeBuiltinsPlugin(),\n commonjs(commonjsInteropOptions),\n json(),\n replace({\n preventAssignment: true,\n values: { \"process.env.NODE_ENV\": JSON.stringify(\"development\") },\n }),\n ],\n onwarn: (warning, warn) => {\n if (warning.code === \"CIRCULAR_DEPENDENCY\") return;\n if (warning.code === \"THIS_IS_UNDEFINED\") return;\n if (warning.code === \"UNUSED_EXTERNAL_IMPORT\") return;\n if (warning.code === \"EMPTY_BUNDLE\") return;\n // Suppress warnings about named imports from shimmed Node.js builtins\n if (warning.code === \"MISSING_EXPORT\" && warning.exporter?.startsWith(NODE_BUILTIN_SHIM_PREFIX)) return;\n warn(warning);\n },\n });\n\n const { output } = await bundle.generate({\n format: \"es\",\n sourcemap: \"inline\",\n inlineDynamicImports: true,\n });\n await bundle.close();\n\n const code = output[0]!.code;\n return { code };\n}\n\n/**\n * Clear the bundle cache. Useful for testing.\n */\nexport function clearBundleCache(): void {\n bundleCache.clear();\n}\n"
5
+ "import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { builtinModules, createRequire } from \"node:module\";\nimport { rollup, type Plugin } from \"rollup\";\nimport * as nodeResolveModule from \"@rollup/plugin-node-resolve\";\nimport * as commonjsModule from \"@rollup/plugin-commonjs\";\nimport * as jsonModule from \"@rollup/plugin-json\";\nimport * as replaceModule from \"@rollup/plugin-replace\";\nimport { detectFormat, parseSpecifier } from \"./resolve.mjs\";\nimport { processTypeScript, isTypeScriptFile } from \"./strip-types.mjs\";\nimport type { RollupCommonJSOptions } from \"@rollup/plugin-commonjs\";\nimport type { RollupJsonOptions } from \"@rollup/plugin-json\";\nimport type { RollupReplaceOptions } from \"@rollup/plugin-replace\";\n\n// Handle CJS default exports\nconst nodeResolve = ((nodeResolveModule as any).default ||\n nodeResolveModule) as (typeof nodeResolveModule)[\"nodeResolve\"];\nconst commonjs = ((commonjsModule as any).default || commonjsModule) as (\n options?: RollupCommonJSOptions\n) => Plugin;\nconst json = ((jsonModule as any).default || jsonModule) as (\n options?: RollupJsonOptions\n) => Plugin;\nconst replace = ((replaceModule as any).default || replaceModule) as (\n options?: RollupReplaceOptions\n) => Plugin;\n\nconst commonjsInteropOptions = {\n // External package imports are resolved by later loader calls as ESM bundles,\n // so CommonJS requires need ESM-aware interop instead of default-import assumptions.\n esmExternals: true,\n requireReturnsDefault: \"auto\",\n} satisfies RollupCommonJSOptions;\n\nconst PACKAGE_ENTRY_WRAPPER_PREFIX = \"\\0package-entry-wrapper:\";\nconst INVALID_FUNCTION_EXPORT_NAMES = new Set([\n \"arguments\",\n \"caller\",\n \"length\",\n \"name\",\n \"prototype\",\n]);\n\n/**\n * Set of Node.js built-in module names (e.g. \"fs\", \"path\", \"crypto\").\n */\nconst nodeBuiltins = new Set(builtinModules);\n\n/**\n * Check if a specifier refers to a Node.js built-in module.\n * Handles bare names (\"fs\"), subpaths (\"fs/promises\"), and node: prefix (\"node:fs\").\n */\nfunction isNodeBuiltin(source: string): boolean {\n const name = source.startsWith(\"node:\") ? source.slice(5) : source;\n const topLevel = name.split(\"/\")[0]!;\n return nodeBuiltins.has(topLevel);\n}\n\nconst NODE_BUILTIN_SHIM_PREFIX = \"\\0node-builtin-shim:\";\n\nexport function getNodeBuiltinShimCode(source: string): string {\n if (source === \"ws\" || source === \"node:ws\") {\n return `\nconst WebSocketShim = globalThis.WebSocket;\n\nif (!WebSocketShim) {\n throw new Error(\"The isolate runtime does not provide a global WebSocket implementation.\");\n}\n\nexport { WebSocketShim as WebSocket };\nexport default WebSocketShim;\n`;\n }\n\n return \"export default {};\\n\";\n}\n\n/**\n * Rollup plugin that provides empty shims for Node.js built-in modules.\n * Place after nodeResolve — acts as a catch-all for builtins that the\n * package's browser field didn't map to false.\n */\nfunction shimNodeBuiltinsPlugin(): Plugin {\n return {\n name: \"shim-node-builtins\",\n resolveId(source) {\n if (isNodeBuiltin(source)) {\n return { id: `${NODE_BUILTIN_SHIM_PREFIX}${source}`, moduleSideEffects: false };\n }\n return null;\n },\n load(id) {\n if (id.startsWith(NODE_BUILTIN_SHIM_PREFIX)) {\n return getNodeBuiltinShimCode(id.slice(NODE_BUILTIN_SHIM_PREFIX.length));\n }\n return null;\n },\n };\n}\n\nfunction isValidEsmIdentifier(name: string): boolean {\n return /^[$A-Z_a-z][$\\w]*$/.test(name);\n}\n\nfunction resolvePackageImportPath(specifier: string, rootDir: string): string | null {\n const resolver = createRequire(path.join(rootDir, \"__isolate_module_loader__.js\"));\n\n let resolvedRequirePath: string;\n try {\n resolvedRequirePath = resolver.resolve(specifier);\n } catch {\n return null;\n }\n\n const { packageName, subpath } = parseSpecifier(specifier);\n const packageJsonPath = findPackageJsonPath(resolvedRequirePath, packageName);\n if (!packageJsonPath) {\n return resolvedRequirePath;\n }\n\n let packageJson: Record<string, unknown>;\n try {\n packageJson = JSON.parse(fs.readFileSync(packageJsonPath, \"utf-8\")) as Record<string, unknown>;\n } catch {\n return resolvedRequirePath;\n }\n\n const packageRoot = path.dirname(packageJsonPath);\n const exportPath = resolveImportEntryFromPackageJson(packageJson, subpath);\n\n if (exportPath) {\n return path.resolve(packageRoot, exportPath);\n }\n\n if (!subpath) {\n const moduleEntry = packageJson.module;\n if (typeof moduleEntry === \"string\") {\n return path.resolve(packageRoot, moduleEntry);\n }\n\n const browserEntry = packageJson.browser;\n if (typeof browserEntry === \"string\") {\n return path.resolve(packageRoot, browserEntry);\n }\n }\n\n return resolvedRequirePath;\n}\n\nfunction findPackageJsonPath(resolvedPath: string, packageName: string): string | null {\n let currentDir = path.dirname(resolvedPath);\n let matchedPackageJsonPath: string | null = null;\n\n while (true) {\n const packageJsonPath = path.join(currentDir, \"package.json\");\n\n if (fs.existsSync(packageJsonPath)) {\n try {\n const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, \"utf-8\")) as { name?: string };\n if (packageJson.name === packageName) {\n // Keep walking upward: published packages often include nested\n // dist/cjs or dist/mjs package.json files with the same name, but the\n // real package root higher up contains the export map we need.\n matchedPackageJsonPath = packageJsonPath;\n }\n } catch {\n // Keep walking upward if a parent package.json is malformed.\n }\n }\n\n const parentDir = path.dirname(currentDir);\n if (parentDir === currentDir) {\n return matchedPackageJsonPath;\n }\n currentDir = parentDir;\n }\n}\n\nfunction resolveImportEntryFromPackageJson(\n packageJson: Record<string, unknown>,\n subpath: string\n): string | null {\n const exportsField = packageJson.exports;\n if (exportsField === undefined) {\n return null;\n }\n\n const exportKey = subpath ? `.${subpath}` : \".\";\n\n if (isConditionalExportsObject(exportsField)) {\n if (exportKey !== \".\") {\n return null;\n }\n return pickImportTarget(exportsField);\n }\n\n if (typeof exportsField === \"object\" && exportsField !== null && !Array.isArray(exportsField)) {\n const target = (exportsField as Record<string, unknown>)[exportKey];\n return target === undefined ? null : pickImportTarget(target);\n }\n\n return exportKey === \".\" ? pickImportTarget(exportsField) : null;\n}\n\nfunction isConditionalExportsObject(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\"\n && value !== null\n && !Array.isArray(value)\n && Object.keys(value).every((key) => !key.startsWith(\".\"));\n}\n\nfunction pickImportTarget(value: unknown): string | null {\n if (typeof value === \"string\") {\n return value;\n }\n\n if (Array.isArray(value)) {\n for (const item of value) {\n const target = pickImportTarget(item);\n if (target) {\n return target;\n }\n }\n return null;\n }\n\n if (typeof value !== \"object\" || value === null) {\n return null;\n }\n\n const record = value as Record<string, unknown>;\n\n for (const key of [\"workerd\", \"worker\", \"edge-light\", \"import\", \"module\", \"default\", \"browser\"]) {\n if (key in record) {\n const target = pickImportTarget(record[key]);\n if (target) {\n return target;\n }\n }\n }\n\n for (const nestedValue of Object.values(record)) {\n const target = pickImportTarget(nestedValue);\n if (target) {\n return target;\n }\n }\n\n return null;\n}\n\nfunction getCommonJsNamedExports(specifier: string, rootDir: string): string[] {\n const resolvedHostPath = resolvePackageImportPath(specifier, rootDir);\n if (!resolvedHostPath) {\n return [];\n }\n\n let code: string;\n try {\n code = fs.readFileSync(resolvedHostPath, \"utf-8\");\n } catch {\n return [];\n }\n\n if (detectFormat(resolvedHostPath, code) !== \"cjs\") {\n return [];\n }\n\n let moduleExports: unknown;\n try {\n moduleExports = createRequire(resolvedHostPath)(resolvedHostPath);\n } catch {\n return [];\n }\n\n if (moduleExports == null || (typeof moduleExports !== \"object\" && typeof moduleExports !== \"function\")) {\n return [];\n }\n\n const names = new Set([\n ...Object.keys(moduleExports),\n ...Object.getOwnPropertyNames(moduleExports),\n ]);\n\n names.delete(\"default\");\n names.delete(\"__esModule\");\n\n if (typeof moduleExports === \"function\") {\n for (const name of INVALID_FUNCTION_EXPORT_NAMES) {\n names.delete(name);\n }\n }\n\n return [...names].filter(isValidEsmIdentifier).sort();\n}\n\nfunction packageEntryWrapperPlugin(specifier: string, namedExports: string[]): Plugin {\n const wrapperId = `${PACKAGE_ENTRY_WRAPPER_PREFIX}${specifier}`;\n\n return {\n name: \"package-entry-wrapper\",\n resolveId(source) {\n if (source === wrapperId) {\n return wrapperId;\n }\n return null;\n },\n load(id) {\n if (id !== wrapperId) {\n return null;\n }\n\n const namedExportLines = namedExports.map(\n (name) => `export const ${name} = __packageDefault.${name};`\n );\n\n return [\n `import __packageDefault from ${JSON.stringify(specifier)};`,\n \"export default __packageDefault;\",\n ...namedExportLines,\n ].join(\"\\n\");\n },\n };\n}\n\n/**\n * Cache for bundled npm packages. Key includes specifier + resolution root.\n */\nconst bundleCache = new Map<string, { code: string }>();\n\n/**\n * In-flight bundle promises to avoid duplicate concurrent bundles.\n */\nconst bundlesInFlight = new Map<string, Promise<{ code: string }>>();\n\n/**\n * Create a Rollup plugin that externalizes all bare specifiers that don't\n * belong to the current package. Internal files of the package are inlined;\n * other npm packages remain as import statements.\n */\nfunction externalizeDepsPlugin(currentPackageName: string): Plugin {\n return {\n name: \"externalize-deps\",\n resolveId(source, importer) {\n // Don't externalize the entry point\n if (!importer) return null;\n\n // Don't externalize relative imports (internal to the package)\n if (source.startsWith(\".\") || source.startsWith(\"/\")) return null;\n\n // Keep package-private imports inside the current bundle so Rollup can\n // resolve them through the importing package's `imports` map.\n if (source.startsWith(\"#\")) return null;\n\n // Don't externalize Node.js builtins — let nodeResolve handle them\n // via the package's browser field (e.g. \"fs\": false → empty module)\n if (isNodeBuiltin(source)) return null;\n\n // Check if this is a different npm package\n const { packageName } = parseSpecifier(source);\n if (packageName !== currentPackageName) {\n return { id: source, external: true };\n }\n\n // Same package — let Rollup resolve it normally\n return null;\n },\n };\n}\n\n/**\n * Bundle a bare specifier (npm package) using Rollup.\n *\n * Each unique bare specifier gets its own bundle with:\n * - node-resolve with worker/server-safe export conditions\n * - commonjs conversion\n * - json support\n * - process.env.NODE_ENV replacement\n * - External deps (other npm packages) left as import statements\n *\n * Results are cached permanently (npm packages are static).\n */\nexport async function bundleSpecifier(\n specifier: string,\n rootDir: string\n): Promise<{ code: string }> {\n const cacheKey = `${specifier}\\0${rootDir}`;\n\n // Check cache\n const cached = bundleCache.get(cacheKey);\n if (cached) return cached;\n\n // Check in-flight\n const inFlight = bundlesInFlight.get(cacheKey);\n if (inFlight) return inFlight;\n\n const promise = doBundleSpecifier(specifier, rootDir);\n bundlesInFlight.set(cacheKey, promise);\n\n try {\n const result = await promise;\n bundleCache.set(cacheKey, result);\n return result;\n } finally {\n bundlesInFlight.delete(cacheKey);\n }\n}\n\nasync function doBundleSpecifier(\n specifier: string,\n rootDir: string\n): Promise<{ code: string }> {\n const { packageName } = parseSpecifier(specifier);\n const namedExports = getCommonJsNamedExports(specifier, rootDir);\n const input = namedExports.length > 0\n ? `${PACKAGE_ENTRY_WRAPPER_PREFIX}${specifier}`\n : specifier;\n\n const bundle = await rollup({\n input,\n // Disable tree-shaking: we're creating a virtual module that must faithfully\n // expose all package exports. We can't predict which ones user code will import.\n // Without this, exports like AWS SDK's ConverseStreamOutput (a namespace with\n // a visit() helper that nothing inside the bundle references) get dropped.\n treeshake: false,\n plugins: [\n packageEntryWrapperPlugin(specifier, namedExports),\n externalizeDepsPlugin(packageName),\n nodeResolve({\n rootDir,\n browser: false,\n exportConditions: [\"workerd\", \"worker\", \"edge-light\"],\n }),\n shimNodeBuiltinsPlugin(),\n commonjs(commonjsInteropOptions),\n json(),\n replace({\n preventAssignment: true,\n values: { \"process.env.NODE_ENV\": JSON.stringify(\"development\") },\n }),\n ],\n onwarn: (warning, warn) => {\n if (warning.code === \"CIRCULAR_DEPENDENCY\") return;\n if (warning.code === \"THIS_IS_UNDEFINED\") return;\n if (warning.code === \"UNUSED_EXTERNAL_IMPORT\") return;\n if (warning.code === \"EMPTY_BUNDLE\") return;\n // Suppress warnings about named imports from shimmed Node.js builtins\n if (warning.code === \"MISSING_EXPORT\" && warning.exporter?.startsWith(NODE_BUILTIN_SHIM_PREFIX)) return;\n warn(warning);\n },\n });\n\n const { output } = await bundle.generate({\n format: \"es\",\n sourcemap: \"inline\",\n inlineDynamicImports: true,\n });\n await bundle.close();\n\n const code = output[0]!.code;\n return { code };\n}\n\n/**\n * Create a Rollup plugin that externalizes ALL bare specifiers.\n * Used for module aliases where the host file's relative imports are bundled\n * but npm package dependencies are left as external imports.\n */\nfunction externalizeAllBareSpecifiersPlugin(): Plugin {\n return {\n name: \"externalize-all-bare-specifiers\",\n resolveId(source, importer) {\n if (!importer) return null;\n if (source.startsWith(\".\") || source.startsWith(\"/\")) return null;\n if (source.startsWith(\"#\")) return null;\n // Don't externalize Node.js builtins — let nodeResolve/shim handle them\n if (isNodeBuiltin(source)) return null;\n return { id: source, external: true };\n },\n };\n}\n\n/**\n * Create a Rollup transform plugin that strips TypeScript types.\n */\nfunction stripTypeScriptPlugin(): Plugin {\n return {\n name: \"strip-typescript\",\n transform(code, id) {\n if (isTypeScriptFile(id)) {\n return { code: processTypeScript(code, id), map: null };\n }\n return null;\n },\n };\n}\n\nconst TS_EXTENSIONS = [\".ts\", \".tsx\", \".mts\", \".cts\"];\n\n/**\n * Bundle a host file using Rollup, inlining its relative imports.\n *\n * - Uses the host file path as Rollup input\n * - Externalizes ALL bare specifiers (npm packages)\n * - Strips TypeScript via processTypeScript\n * - Shares the bundleCache/bundlesInFlight (no key collision since file paths start with `/`)\n *\n * Results are cached permanently.\n */\nexport async function bundleHostFile(\n hostFilePath: string,\n): Promise<{ code: string }> {\n const cached = bundleCache.get(hostFilePath);\n if (cached) return cached;\n\n const inFlight = bundlesInFlight.get(hostFilePath);\n if (inFlight) return inFlight;\n\n const promise = doBundleHostFile(hostFilePath);\n bundlesInFlight.set(hostFilePath, promise);\n\n try {\n const result = await promise;\n bundleCache.set(hostFilePath, result);\n return result;\n } finally {\n bundlesInFlight.delete(hostFilePath);\n }\n}\n\nasync function doBundleHostFile(\n hostFilePath: string,\n): Promise<{ code: string }> {\n const rootDir = path.dirname(hostFilePath);\n\n const bundle = await rollup({\n input: hostFilePath,\n treeshake: false,\n plugins: [\n externalizeAllBareSpecifiersPlugin(),\n stripTypeScriptPlugin(),\n nodeResolve({\n rootDir,\n browser: false,\n exportConditions: [\"workerd\", \"worker\", \"edge-light\"],\n extensions: [\".mjs\", \".js\", \".json\", \".node\", ...TS_EXTENSIONS],\n }),\n shimNodeBuiltinsPlugin(),\n commonjs(commonjsInteropOptions),\n json(),\n replace({\n preventAssignment: true,\n values: { \"process.env.NODE_ENV\": JSON.stringify(\"development\") },\n }),\n ],\n onwarn: (warning, warn) => {\n if (warning.code === \"CIRCULAR_DEPENDENCY\") return;\n if (warning.code === \"THIS_IS_UNDEFINED\") return;\n if (warning.code === \"UNUSED_EXTERNAL_IMPORT\") return;\n if (warning.code === \"EMPTY_BUNDLE\") return;\n // Suppress warnings about named imports from shimmed Node.js builtins\n if (warning.code === \"MISSING_EXPORT\" && warning.exporter?.startsWith(NODE_BUILTIN_SHIM_PREFIX)) return;\n warn(warning);\n },\n });\n\n const { output } = await bundle.generate({\n format: \"es\",\n sourcemap: \"inline\",\n inlineDynamicImports: true,\n });\n await bundle.close();\n\n const code = output[0]!.code;\n return { code };\n}\n\n/**\n * Clear the bundle cache. Useful for testing.\n */\nexport function clearBundleCache(): void {\n bundleCache.clear();\n}\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "331C39AA7511FF7B64756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "C1DEBF2A9C3A510464756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -10,8 +10,10 @@ class ModuleResolverBuilder {
10
10
  virtualFiles = new Map;
11
11
  sourceTrees = [];
12
12
  fallbackLoader;
13
+ nodeModulesLoader;
13
14
  mountNodeModules(virtualMount, hostPath) {
14
15
  this.nodeModuleMappings.push({ from: hostPath, to: virtualMount });
16
+ this.nodeModulesLoader = undefined;
15
17
  return this;
16
18
  }
17
19
  virtual(specifier, source, options) {
@@ -68,9 +70,8 @@ class ModuleResolverBuilder {
68
70
  }
69
71
  }
70
72
  if (this.nodeModuleMappings.length > 0) {
71
- const mappedLoader = defaultModuleLoader(...this.nodeModuleMappings);
72
73
  try {
73
- return await mappedLoader(specifier, importer);
74
+ return await this.getNodeModulesLoader()(specifier, importer);
74
75
  } catch (error) {
75
76
  if (!this.fallbackLoader) {
76
77
  throw error;
@@ -85,6 +86,12 @@ class ModuleResolverBuilder {
85
86
  }
86
87
  throw new Error(`Unable to resolve module: ${specifier}`);
87
88
  }
89
+ getNodeModulesLoader() {
90
+ if (!this.nodeModulesLoader) {
91
+ this.nodeModulesLoader = defaultModuleLoader(...this.nodeModuleMappings);
92
+ }
93
+ return this.nodeModulesLoader;
94
+ }
88
95
  }
89
96
  function createModuleResolver() {
90
97
  return new ModuleResolverBuilder;
@@ -93,4 +100,4 @@ export {
93
100
  createModuleResolver
94
101
  };
95
102
 
96
- //# debugId=2CF3589A6AEA63AC64756E2164756E21
103
+ //# debugId=4DA1BAD5AFE3BC2B64756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/modules/index.ts"],
4
4
  "sourcesContent": [
5
- "import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { defaultModuleLoader } from \"../internal/module-loader/index.mjs\";\nimport { normalizeExplicitModuleResult } from \"../bridge/legacy-adapters.mjs\";\nimport type { HostCallContext, ModuleResolveResult, ModuleResolver, ModuleResolverFallback, ModuleResolverSourceLoader, ModuleSource } from \"../types.mjs\";\n\nclass ModuleResolverBuilder implements ModuleResolver {\n private readonly nodeModuleMappings: Array<{ from: string; to: string }> = [];\n private readonly virtualEntries = new Map<string, { source: ModuleResolveResult | (() => ModuleResolveResult); options?: Partial<ModuleSource> }>();\n private readonly virtualFiles = new Map<string, { filePath: string; options?: Partial<ModuleSource> }>();\n private readonly sourceTrees: Array<{ prefix: string; loader: ModuleResolverSourceLoader }> = [];\n private fallbackLoader?: ModuleResolverFallback;\n\n mountNodeModules(virtualMount: string, hostPath: string): ModuleResolver {\n this.nodeModuleMappings.push({ from: hostPath, to: virtualMount });\n return this;\n }\n\n virtual(specifier: string, source: ModuleResolveResult | (() => ModuleResolveResult), options?: Partial<ModuleSource>): ModuleResolver {\n this.virtualEntries.set(specifier, { source, options });\n return this;\n }\n\n virtualFile(specifier: string, filePath: string, options?: Partial<ModuleSource>): ModuleResolver {\n this.virtualFiles.set(specifier, { filePath, options });\n return this;\n }\n\n sourceTree(prefix: string, loader: ModuleResolverSourceLoader): ModuleResolver {\n this.sourceTrees.push({ prefix, loader });\n return this;\n }\n\n fallback(loader: ModuleResolverFallback): ModuleResolver {\n this.fallbackLoader = loader;\n return this;\n }\n\n async resolve(specifier: string, importer: { path: string; resolveDir: string }, context: HostCallContext): Promise<ModuleSource> {\n const explicit = this.virtualEntries.get(specifier);\n if (explicit) {\n const raw = typeof explicit.source === \"function\" ? await explicit.source() : await explicit.source;\n const normalized = await normalizeExplicitModuleResult(specifier, raw, importer.resolveDir);\n if (!normalized) {\n throw new Error(`Virtual module ${specifier} returned no source.`);\n }\n return {\n ...normalized,\n ...explicit.options,\n };\n }\n\n const virtualFile = this.virtualFiles.get(specifier);\n if (virtualFile) {\n const code = fs.readFileSync(virtualFile.filePath, \"utf-8\");\n const fallback = await normalizeExplicitModuleResult(\n specifier,\n {\n code,\n filename: virtualFile.options?.filename ?? path.basename(virtualFile.filePath),\n resolveDir: virtualFile.options?.resolveDir ?? path.posix.dirname(specifier.startsWith(\"/\") ? specifier : `/${specifier}`),\n static: virtualFile.options?.static,\n },\n importer.resolveDir,\n );\n if (!fallback) {\n throw new Error(`Virtual file module ${specifier} returned no source.`);\n }\n return fallback;\n }\n\n for (const sourceTree of this.sourceTrees) {\n if (!specifier.startsWith(sourceTree.prefix)) {\n continue;\n }\n const relativePath = specifier.slice(sourceTree.prefix.length);\n const normalized = await normalizeExplicitModuleResult(specifier, sourceTree.loader(relativePath, context), importer.resolveDir);\n if (normalized) {\n return normalized;\n }\n }\n\n if (this.nodeModuleMappings.length > 0) {\n const mappedLoader = defaultModuleLoader(...this.nodeModuleMappings);\n try {\n return await mappedLoader(specifier, importer);\n } catch (error) {\n if (!this.fallbackLoader) {\n throw error;\n }\n }\n }\n\n if (this.fallbackLoader) {\n const normalized = await normalizeExplicitModuleResult(specifier, this.fallbackLoader(specifier, importer, context), importer.resolveDir);\n if (normalized) {\n return normalized;\n }\n }\n\n throw new Error(`Unable to resolve module: ${specifier}`);\n }\n}\n\nexport function createModuleResolver(): ModuleResolver {\n return new ModuleResolverBuilder();\n}\n"
5
+ "import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { defaultModuleLoader } from \"../internal/module-loader/index.mjs\";\nimport { normalizeExplicitModuleResult } from \"../bridge/legacy-adapters.mjs\";\nimport type { HostCallContext, ModuleResolveResult, ModuleResolver, ModuleResolverFallback, ModuleResolverSourceLoader, ModuleSource } from \"../types.mjs\";\n\nclass ModuleResolverBuilder implements ModuleResolver {\n private readonly nodeModuleMappings: Array<{ from: string; to: string }> = [];\n private readonly virtualEntries = new Map<string, { source: ModuleResolveResult | (() => ModuleResolveResult); options?: Partial<ModuleSource> }>();\n private readonly virtualFiles = new Map<string, { filePath: string; options?: Partial<ModuleSource> }>();\n private readonly sourceTrees: Array<{ prefix: string; loader: ModuleResolverSourceLoader }> = [];\n private fallbackLoader?: ModuleResolverFallback;\n private nodeModulesLoader?: ReturnType<typeof defaultModuleLoader>;\n\n mountNodeModules(virtualMount: string, hostPath: string): ModuleResolver {\n this.nodeModuleMappings.push({ from: hostPath, to: virtualMount });\n this.nodeModulesLoader = undefined;\n return this;\n }\n\n virtual(specifier: string, source: ModuleResolveResult | (() => ModuleResolveResult), options?: Partial<ModuleSource>): ModuleResolver {\n this.virtualEntries.set(specifier, { source, options });\n return this;\n }\n\n virtualFile(specifier: string, filePath: string, options?: Partial<ModuleSource>): ModuleResolver {\n this.virtualFiles.set(specifier, { filePath, options });\n return this;\n }\n\n sourceTree(prefix: string, loader: ModuleResolverSourceLoader): ModuleResolver {\n this.sourceTrees.push({ prefix, loader });\n return this;\n }\n\n fallback(loader: ModuleResolverFallback): ModuleResolver {\n this.fallbackLoader = loader;\n return this;\n }\n\n async resolve(specifier: string, importer: { path: string; resolveDir: string }, context: HostCallContext): Promise<ModuleSource> {\n const explicit = this.virtualEntries.get(specifier);\n if (explicit) {\n const raw = typeof explicit.source === \"function\" ? await explicit.source() : await explicit.source;\n const normalized = await normalizeExplicitModuleResult(specifier, raw, importer.resolveDir);\n if (!normalized) {\n throw new Error(`Virtual module ${specifier} returned no source.`);\n }\n return {\n ...normalized,\n ...explicit.options,\n };\n }\n\n const virtualFile = this.virtualFiles.get(specifier);\n if (virtualFile) {\n const code = fs.readFileSync(virtualFile.filePath, \"utf-8\");\n const fallback = await normalizeExplicitModuleResult(\n specifier,\n {\n code,\n filename: virtualFile.options?.filename ?? path.basename(virtualFile.filePath),\n resolveDir: virtualFile.options?.resolveDir ?? path.posix.dirname(specifier.startsWith(\"/\") ? specifier : `/${specifier}`),\n static: virtualFile.options?.static,\n },\n importer.resolveDir,\n );\n if (!fallback) {\n throw new Error(`Virtual file module ${specifier} returned no source.`);\n }\n return fallback;\n }\n\n for (const sourceTree of this.sourceTrees) {\n if (!specifier.startsWith(sourceTree.prefix)) {\n continue;\n }\n const relativePath = specifier.slice(sourceTree.prefix.length);\n const normalized = await normalizeExplicitModuleResult(specifier, sourceTree.loader(relativePath, context), importer.resolveDir);\n if (normalized) {\n return normalized;\n }\n }\n\n if (this.nodeModuleMappings.length > 0) {\n try {\n return await this.getNodeModulesLoader()(specifier, importer);\n } catch (error) {\n if (!this.fallbackLoader) {\n throw error;\n }\n }\n }\n\n if (this.fallbackLoader) {\n const normalized = await normalizeExplicitModuleResult(specifier, this.fallbackLoader(specifier, importer, context), importer.resolveDir);\n if (normalized) {\n return normalized;\n }\n }\n\n throw new Error(`Unable to resolve module: ${specifier}`);\n }\n\n private getNodeModulesLoader(): ReturnType<typeof defaultModuleLoader> {\n if (!this.nodeModulesLoader) {\n this.nodeModulesLoader = defaultModuleLoader(...this.nodeModuleMappings);\n }\n return this.nodeModulesLoader;\n }\n}\n\nexport function createModuleResolver(): ModuleResolver {\n return new ModuleResolverBuilder();\n}\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "2CF3589A6AEA63AC64756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "4DA1BAD5AFE3BC2B64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@ricsam/isolate",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "type": "module"
5
5
  }
@@ -3,7 +3,7 @@ export declare function getNodeBuiltinShimCode(source: string): string;
3
3
  * Bundle a bare specifier (npm package) using Rollup.
4
4
  *
5
5
  * Each unique bare specifier gets its own bundle with:
6
- * - node-resolve with browser conditions
6
+ * - node-resolve with worker/server-safe export conditions
7
7
  * - commonjs conversion
8
8
  * - json support
9
9
  * - process.env.NODE_ENV replacement
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ricsam/isolate",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "type": "module",
5
5
  "description": "Unified runtime host for app servers, script runtimes, browser runtimes, module resolution, file bindings, and typechecking",
6
6
  "author": "ricsam <oss@ricsam.dev>",