summaryrefslogtreecommitdiff
path: root/cli/npm/managed/resolvers/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/npm/managed/resolvers/mod.rs')
-rw-r--r--cli/npm/managed/resolvers/mod.rs19
1 files changed, 15 insertions, 4 deletions
diff --git a/cli/npm/managed/resolvers/mod.rs b/cli/npm/managed/resolvers/mod.rs
index d5472344a..5f0343805 100644
--- a/cli/npm/managed/resolvers/mod.rs
+++ b/cli/npm/managed/resolvers/mod.rs
@@ -7,6 +7,7 @@ mod local;
use std::path::PathBuf;
use std::sync::Arc;
+use deno_npm::npm_rc::ResolvedNpmRc;
use deno_npm::NpmSystemInfo;
use deno_runtime::deno_fs::FileSystem;
@@ -18,28 +19,38 @@ use self::global::GlobalNpmPackageResolver;
use self::local::LocalNpmPackageResolver;
use super::cache::NpmCache;
+use super::cache::TarballCache;
use super::resolution::NpmResolution;
pub fn create_npm_fs_resolver(
fs: Arc<dyn FileSystem>,
- cache: Arc<NpmCache>,
+ npm_cache: Arc<NpmCache>,
+ npm_rc: Arc<ResolvedNpmRc>,
progress_bar: &ProgressBar,
resolution: Arc<NpmResolution>,
maybe_node_modules_path: Option<PathBuf>,
system_info: NpmSystemInfo,
) -> Arc<dyn NpmPackageFsResolver> {
+ let tarball_cache = Arc::new(TarballCache::new(
+ npm_cache.clone(),
+ fs.clone(),
+ npm_rc,
+ progress_bar.clone(),
+ ));
match maybe_node_modules_path {
Some(node_modules_folder) => Arc::new(LocalNpmPackageResolver::new(
+ npm_cache,
fs,
- cache,
progress_bar.clone(),
- node_modules_folder,
resolution,
+ tarball_cache,
+ node_modules_folder,
system_info,
)),
None => Arc::new(GlobalNpmPackageResolver::new(
+ npm_cache,
fs,
- cache,
+ tarball_cache,
resolution,
system_info,
)),