From 233d5422fdf7493bbd1768c611811085c0ff46ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Tue, 13 Sep 2022 00:11:32 +0200 Subject: fix(npm): use shim from deno_node crate for 'module' built-in module (#15881) --- cli/node/mod.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'cli/node') diff --git a/cli/node/mod.rs b/cli/node/mod.rs index 690a21181..cd803cc4f 100644 --- a/cli/node/mod.rs +++ b/cli/node/mod.rs @@ -138,7 +138,10 @@ static SUPPORTED_MODULES: &[NodeModulePolyfill] = &[ }, NodeModulePolyfill { name: "module", - specifier: "node/module.ts", + // NOTE(bartlomieju): `module` is special, because we don't want to use + // `deno_std/node/module.ts`, but instead use a special shim that we + // provide in `ext/node`. + specifier: "[USE `deno_node::MODULE_ES_SHIM` to get this module]", }, NodeModulePolyfill { name: "net", @@ -265,6 +268,13 @@ fn is_builtin_node_module(specifier: &str) -> bool { } pub fn resolve_builtin_node_module(specifier: &str) -> Result { + // NOTE(bartlomieju): `module` is special, because we don't want to use + // `deno_std/node/module.ts`, but instead use a special shim that we + // provide in `ext/node`. + if specifier == "module" { + return Ok(Url::parse("node:module").unwrap()); + } + if let Some(module) = find_builtin_node_module(specifier) { let module_url = NODE_COMPAT_URL.join(module.specifier).unwrap(); return Ok(module_url); -- cgit v1.2.3