diff options
Diffstat (limited to 'cli/npm')
-rw-r--r-- | cli/npm/resolvers/common.rs | 3 | ||||
-rw-r--r-- | cli/npm/resolvers/global.rs | 6 | ||||
-rw-r--r-- | cli/npm/resolvers/local.rs | 8 | ||||
-rw-r--r-- | cli/npm/resolvers/mod.rs | 9 |
4 files changed, 14 insertions, 12 deletions
diff --git a/cli/npm/resolvers/common.rs b/cli/npm/resolvers/common.rs index e3acef3f5..4f2a6d82a 100644 --- a/cli/npm/resolvers/common.rs +++ b/cli/npm/resolvers/common.rs @@ -10,6 +10,7 @@ use deno_core::error::AnyError; use deno_core::futures; use deno_core::futures::future::BoxFuture; use deno_core::url::Url; +use deno_runtime::deno_node::NodeResolutionMode; use crate::args::Lockfile; use crate::npm::cache::should_sync_download; @@ -29,7 +30,7 @@ pub trait InnerNpmPackageResolver: Send + Sync { &self, name: &str, referrer: &ModuleSpecifier, - conditions: &[&str], + mode: NodeResolutionMode, ) -> Result<PathBuf, AnyError>; fn resolve_package_folder_from_specifier( diff --git a/cli/npm/resolvers/global.rs b/cli/npm/resolvers/global.rs index 46cfec48f..07df80d30 100644 --- a/cli/npm/resolvers/global.rs +++ b/cli/npm/resolvers/global.rs @@ -12,8 +12,8 @@ use deno_core::error::AnyError; use deno_core::futures::future::BoxFuture; use deno_core::futures::FutureExt; use deno_core::url::Url; +use deno_runtime::deno_node::NodeResolutionMode; use deno_runtime::deno_node::PackageJson; -use deno_runtime::deno_node::TYPES_CONDITIONS; use crate::args::Lockfile; use crate::npm::resolution::NpmResolution; @@ -76,7 +76,7 @@ impl InnerNpmPackageResolver for GlobalNpmPackageResolver { &self, name: &str, referrer: &ModuleSpecifier, - conditions: &[&str], + mode: NodeResolutionMode, ) -> Result<PathBuf, AnyError> { let referrer_pkg_id = self .cache @@ -84,7 +84,7 @@ impl InnerNpmPackageResolver for GlobalNpmPackageResolver { let pkg_result = self .resolution .resolve_package_from_package(name, &referrer_pkg_id); - if conditions == TYPES_CONDITIONS && !name.starts_with("@types/") { + if mode.is_types() && !name.starts_with("@types/") { // When doing types resolution, the package must contain a "types" // entry, or else it will then search for a @types package if let Ok(pkg) = pkg_result { diff --git a/cli/npm/resolvers/local.rs b/cli/npm/resolvers/local.rs index 3a9e97433..69f275c70 100644 --- a/cli/npm/resolvers/local.rs +++ b/cli/npm/resolvers/local.rs @@ -19,8 +19,8 @@ use deno_core::futures::future::BoxFuture; use deno_core::futures::FutureExt; use deno_core::url::Url; use deno_runtime::deno_core::futures; +use deno_runtime::deno_node::NodeResolutionMode; use deno_runtime::deno_node::PackageJson; -use deno_runtime::deno_node::TYPES_CONDITIONS; use tokio::task::JoinHandle; use crate::args::Lockfile; @@ -152,7 +152,7 @@ impl InnerNpmPackageResolver for LocalNpmPackageResolver { &self, name: &str, referrer: &ModuleSpecifier, - conditions: &[&str], + mode: NodeResolutionMode, ) -> Result<PathBuf, AnyError> { let local_path = self.resolve_folder_for_specifier(referrer)?; let package_root_path = self.resolve_package_root(&local_path); @@ -162,7 +162,7 @@ impl InnerNpmPackageResolver for LocalNpmPackageResolver { let sub_dir = join_package_name(current_folder, name); if sub_dir.is_dir() { // if doing types resolution, only resolve the package if it specifies a types property - if conditions == TYPES_CONDITIONS && !name.starts_with("@types/") { + if mode.is_types() && !name.starts_with("@types/") { let package_json = PackageJson::load_skip_read_permission( sub_dir.join("package.json"), )?; @@ -175,7 +175,7 @@ impl InnerNpmPackageResolver for LocalNpmPackageResolver { } // if doing type resolution, check for the existance of a @types package - if conditions == TYPES_CONDITIONS && !name.starts_with("@types/") { + if mode.is_types() && !name.starts_with("@types/") { let sub_dir = join_package_name(current_folder, &types_package_name(name)); if sub_dir.is_dir() { diff --git a/cli/npm/resolvers/mod.rs b/cli/npm/resolvers/mod.rs index 3cc695523..d30775dd4 100644 --- a/cli/npm/resolvers/mod.rs +++ b/cli/npm/resolvers/mod.rs @@ -11,6 +11,7 @@ use deno_core::error::custom_error; use deno_core::error::AnyError; use deno_core::parking_lot::Mutex; use deno_core::serde_json; +use deno_runtime::deno_node::NodeResolutionMode; use deno_runtime::deno_node::PathClean; use deno_runtime::deno_node::RequireNpmResolver; use global::GlobalNpmPackageResolver; @@ -197,11 +198,11 @@ impl NpmPackageResolver { &self, name: &str, referrer: &ModuleSpecifier, - conditions: &[&str], + mode: NodeResolutionMode, ) -> Result<PathBuf, AnyError> { let path = self .inner - .resolve_package_folder_from_package(name, referrer, conditions)?; + .resolve_package_folder_from_package(name, referrer, mode)?; log::debug!("Resolved {} from {} to {}", name, referrer, path.display()); Ok(path) } @@ -330,10 +331,10 @@ impl RequireNpmResolver for NpmPackageResolver { &self, specifier: &str, referrer: &std::path::Path, - conditions: &[&str], + mode: NodeResolutionMode, ) -> Result<PathBuf, AnyError> { let referrer = path_to_specifier(referrer)?; - self.resolve_package_folder_from_package(specifier, &referrer, conditions) + self.resolve_package_folder_from_package(specifier, &referrer, mode) } fn resolve_package_folder_from_path( |