diff options
Diffstat (limited to 'cli/npm')
-rw-r--r-- | cli/npm/resolvers/local.rs | 11 | ||||
-rw-r--r-- | cli/npm/resolvers/mod.rs | 3 |
2 files changed, 11 insertions, 3 deletions
diff --git a/cli/npm/resolvers/local.rs b/cli/npm/resolvers/local.rs index a44afc935..e2919f6ee 100644 --- a/cli/npm/resolvers/local.rs +++ b/cli/npm/resolvers/local.rs @@ -23,6 +23,7 @@ use deno_npm::resolution::NpmResolutionSnapshot; use deno_npm::NpmPackageCacheFolderId; use deno_npm::NpmPackageId; use deno_runtime::deno_core::futures; +use deno_runtime::deno_node::NodeFs; use deno_runtime::deno_node::NodePermissions; use deno_runtime::deno_node::NodeResolutionMode; use deno_runtime::deno_node::PackageJson; @@ -43,6 +44,7 @@ use super::common::NpmPackageFsResolver; /// and resolves packages from it. #[derive(Debug)] pub struct LocalNpmPackageResolver { + fs: Arc<dyn NodeFs>, cache: Arc<NpmCache>, progress_bar: ProgressBar, resolution: Arc<NpmResolution>, @@ -53,6 +55,7 @@ pub struct LocalNpmPackageResolver { impl LocalNpmPackageResolver { pub fn new( + fs: Arc<dyn NodeFs>, cache: Arc<NpmCache>, progress_bar: ProgressBar, registry_url: Url, @@ -60,6 +63,7 @@ impl LocalNpmPackageResolver { resolution: Arc<NpmResolution>, ) -> Self { Self { + fs, cache, progress_bar, resolution, @@ -149,9 +153,10 @@ impl NpmPackageFsResolver for LocalNpmPackageResolver { if sub_dir.is_dir() { // if doing types resolution, only resolve the package if it specifies a types property if mode.is_types() && !name.starts_with("@types/") { - let package_json = PackageJson::load_skip_read_permission::< - deno_runtime::deno_node::RealFs, - >(sub_dir.join("package.json"))?; + let package_json = PackageJson::load_skip_read_permission( + &*self.fs, + sub_dir.join("package.json"), + )?; if package_json.types.is_some() { return Ok(sub_dir); } diff --git a/cli/npm/resolvers/mod.rs b/cli/npm/resolvers/mod.rs index 8b871beaf..fa83cdf59 100644 --- a/cli/npm/resolvers/mod.rs +++ b/cli/npm/resolvers/mod.rs @@ -18,6 +18,7 @@ use deno_npm::resolution::NpmResolutionSnapshot; use deno_npm::resolution::PackageReqNotFoundError; use deno_npm::resolution::SerializedNpmResolutionSnapshot; use deno_npm::NpmPackageId; +use deno_runtime::deno_node; use deno_runtime::deno_node::NodePermissions; use deno_runtime::deno_node::NodeResolutionMode; use deno_runtime::deno_node::NpmResolver; @@ -269,6 +270,7 @@ impl NpmResolver for CliNpmResolver { } pub fn create_npm_fs_resolver( + fs: Arc<dyn deno_node::NodeFs>, cache: Arc<NpmCache>, progress_bar: &ProgressBar, registry_url: Url, @@ -277,6 +279,7 @@ pub fn create_npm_fs_resolver( ) -> Arc<dyn NpmPackageFsResolver> { match maybe_node_modules_path { Some(node_modules_folder) => Arc::new(LocalNpmPackageResolver::new( + fs, cache, progress_bar.clone(), registry_url, |