diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2024-07-25 19:08:14 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-25 19:08:14 -0400 |
commit | 3bf147fe287ac779b20d318daba56b336f356adf (patch) | |
tree | 3b5bfe2a1ad918b275a2cd08f7dcc05f90a180ab /ext/node/ops | |
parent | 0cf7f268a7df7711ac6ab8c2c67b4d7abf454fcd (diff) |
refactor: decouple node resolution from deno_core (#24724)
Diffstat (limited to 'ext/node/ops')
-rw-r--r-- | ext/node/ops/require.rs | 17 | ||||
-rw-r--r-- | ext/node/ops/worker_threads.rs | 14 |
2 files changed, 16 insertions, 15 deletions
diff --git a/ext/node/ops/require.rs b/ext/node/ops/require.rs index d03b3dd9c..d074234c3 100644 --- a/ext/node/ops/require.rs +++ b/ext/node/ops/require.rs @@ -10,16 +10,17 @@ use deno_core::JsRuntimeInspector; use deno_core::ModuleSpecifier; use deno_core::OpState; use deno_fs::FileSystemRc; +use node_resolver::NodeModuleKind; +use node_resolver::NodeResolutionMode; +use node_resolver::REQUIRE_CONDITIONS; use std::cell::RefCell; use std::path::Path; use std::path::PathBuf; use std::rc::Rc; -use crate::resolution; -use crate::resolution::NodeResolverRc; -use crate::NodeModuleKind; use crate::NodePermissions; -use crate::NodeResolutionMode; +use crate::NodeRequireResolverRc; +use crate::NodeResolverRc; use crate::NpmResolverRc; use crate::PackageJson; @@ -30,7 +31,7 @@ fn ensure_read_permission<P>( where P: NodePermissions + 'static, { - let resolver = state.borrow::<NpmResolverRc>().clone(); + let resolver = state.borrow::<NodeRequireResolverRc>().clone(); let permissions = state.borrow_mut::<P>(); resolver.ensure_read_permission(permissions, file_path) } @@ -423,7 +424,7 @@ where exports, Some(&referrer), NodeModuleKind::Cjs, - resolution::REQUIRE_CONDITIONS, + REQUIRE_CONDITIONS, NodeResolutionMode::Execution, )?; Ok(Some(if r.scheme() == "file" { @@ -511,7 +512,7 @@ where exports, Some(&referrer), NodeModuleKind::Cjs, - resolution::REQUIRE_CONDITIONS, + REQUIRE_CONDITIONS, NodeResolutionMode::Execution, )?; Ok(Some(if r.scheme() == "file" { @@ -590,7 +591,7 @@ where Some(&referrer_url), NodeModuleKind::Cjs, Some(&pkg), - resolution::REQUIRE_CONDITIONS, + REQUIRE_CONDITIONS, NodeResolutionMode::Execution, )?; Ok(Some(url_to_file_path_string(&url)?)) diff --git a/ext/node/ops/worker_threads.rs b/ext/node/ops/worker_threads.rs index 182ba0118..c7ea4c52c 100644 --- a/ext/node/ops/worker_threads.rs +++ b/ext/node/ops/worker_threads.rs @@ -6,13 +6,13 @@ use deno_core::op2; use deno_core::url::Url; use deno_core::OpState; use deno_fs::FileSystemRc; +use node_resolver::NodeResolution; use std::path::Path; use std::path::PathBuf; -use crate::resolution; -use crate::resolution::NodeResolverRc; use crate::NodePermissions; -use crate::NpmResolverRc; +use crate::NodeRequireResolverRc; +use crate::NodeResolverRc; fn ensure_read_permission<P>( state: &mut OpState, @@ -21,7 +21,7 @@ fn ensure_read_permission<P>( where P: NodePermissions + 'static, { - let resolver = state.borrow::<NpmResolverRc>().clone(); + let resolver = state.borrow::<NodeRequireResolverRc>().clone(); let permissions = state.borrow_mut::<P>(); resolver.ensure_read_permission(permissions, file_path) } @@ -64,9 +64,9 @@ where } let node_resolver = state.borrow::<NodeResolverRc>(); match node_resolver.url_to_node_resolution(url)? { - resolution::NodeResolution::Esm(u) => Ok(u.to_string()), - resolution::NodeResolution::CommonJs(u) => wrap_cjs(u), - _ => Err(generic_error("Neither ESM nor CJS")), + NodeResolution::Esm(u) => Ok(u.to_string()), + NodeResolution::CommonJs(u) => wrap_cjs(u), + NodeResolution::BuiltIn(_) => Err(generic_error("Neither ESM nor CJS")), } } |