diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2022-09-13 00:11:32 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-12 18:11:32 -0400 |
commit | 233d5422fdf7493bbd1768c611811085c0ff46ab (patch) | |
tree | 1b5638dd94732e2bf76187fab99f54cbff4616e2 /cli/node/mod.rs | |
parent | 98454c1eb802b91a8c77dd97888a8994c85dfa46 (diff) |
fix(npm): use shim from deno_node crate for 'module' built-in module (#15881)
Diffstat (limited to 'cli/node/mod.rs')
-rw-r--r-- | cli/node/mod.rs | 12 |
1 files changed, 11 insertions, 1 deletions
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<Url, AnyError> { + // 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); |