diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2024-06-02 21:39:13 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-03 01:39:13 +0000 |
commit | b1f776adef6f0d0caa0b2badf9fb707cf5efa6e7 (patch) | |
tree | df801e53bb5e43268933d883f049546256ef8e7f /cli/npm/managed/resolvers/global.rs | |
parent | eda43c46de12ed589fdbe62ba0574887cfbb3574 (diff) |
refactor: extract structs for downloading tarballs and npm registry packuments (#24067)
Diffstat (limited to 'cli/npm/managed/resolvers/global.rs')
-rw-r--r-- | cli/npm/managed/resolvers/global.rs | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/cli/npm/managed/resolvers/global.rs b/cli/npm/managed/resolvers/global.rs index cfc57e591..4ffcb251f 100644 --- a/cli/npm/managed/resolvers/global.rs +++ b/cli/npm/managed/resolvers/global.rs @@ -20,8 +20,11 @@ use deno_runtime::deno_fs::FileSystem; use deno_runtime::deno_node::NodePermissions; use deno_runtime::deno_node::NodeResolutionMode; +use crate::http_util::HttpClient; + use super::super::super::common::types_package_name; use super::super::cache::NpmCache; +use super::super::cache::TarballCache; use super::super::resolution::NpmResolution; use super::common::cache_packages; use super::common::NpmPackageFsResolver; @@ -31,6 +34,7 @@ use super::common::RegistryReadPermissionChecker; #[derive(Debug)] pub struct GlobalNpmPackageResolver { cache: Arc<NpmCache>, + tarball_cache: Arc<TarballCache>, resolution: Arc<NpmResolution>, system_info: NpmSystemInfo, registry_read_permission_checker: RegistryReadPermissionChecker, @@ -38,19 +42,21 @@ pub struct GlobalNpmPackageResolver { impl GlobalNpmPackageResolver { pub fn new( - fs: Arc<dyn FileSystem>, cache: Arc<NpmCache>, + fs: Arc<dyn FileSystem>, + tarball_cache: Arc<TarballCache>, resolution: Arc<NpmResolution>, system_info: NpmSystemInfo, ) -> Self { Self { - cache: cache.clone(), - resolution, - system_info, registry_read_permission_checker: RegistryReadPermissionChecker::new( fs, cache.root_folder(), ), + cache, + tarball_cache, + resolution, + system_info, } } @@ -123,12 +129,20 @@ impl NpmPackageFsResolver for GlobalNpmPackageResolver { ) } - async fn cache_packages(&self) -> Result<(), AnyError> { + async fn cache_packages( + &self, + http_client: &Arc<HttpClient>, + ) -> Result<(), AnyError> { let package_partitions = self .resolution .all_system_packages_partitioned(&self.system_info); - cache_packages(package_partitions.packages, &self.cache).await?; + cache_packages( + package_partitions.packages, + &self.tarball_cache, + http_client, + ) + .await?; // create the copy package folders for copy in package_partitions.copy_packages { |