summaryrefslogtreecommitdiff
path: root/cli/npm/resolvers
diff options
context:
space:
mode:
Diffstat (limited to 'cli/npm/resolvers')
-rw-r--r--cli/npm/resolvers/local.rs11
-rw-r--r--cli/npm/resolvers/mod.rs3
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,