diff options
Diffstat (limited to 'cli/npm/resolvers/global.rs')
-rw-r--r-- | cli/npm/resolvers/global.rs | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/cli/npm/resolvers/global.rs b/cli/npm/resolvers/global.rs index fe8764b0c..22211071a 100644 --- a/cli/npm/resolvers/global.rs +++ b/cli/npm/resolvers/global.rs @@ -14,6 +14,7 @@ use deno_npm::resolution::PackageNotFoundFromReferrerError; use deno_npm::NpmPackageCacheFolderId; use deno_npm::NpmPackageId; use deno_npm::NpmResolutionPackage; +use deno_npm::NpmSystemInfo; use deno_runtime::deno_fs::FileSystem; use deno_runtime::deno_node::NodePermissions; use deno_runtime::deno_node::NodeResolutionMode; @@ -33,6 +34,7 @@ pub struct GlobalNpmPackageResolver { cache: Arc<NpmCache>, resolution: Arc<NpmResolution>, registry_url: Url, + system_info: NpmSystemInfo, } impl GlobalNpmPackageResolver { @@ -41,12 +43,14 @@ impl GlobalNpmPackageResolver { cache: Arc<NpmCache>, registry_url: Url, resolution: Arc<NpmResolution>, + system_info: NpmSystemInfo, ) -> Self { Self { fs, cache, resolution, registry_url, + system_info, } } @@ -125,7 +129,26 @@ impl NpmPackageFsResolver for GlobalNpmPackageResolver { } async fn cache_packages(&self) -> Result<(), AnyError> { - cache_packages_in_resolver(self).await + let package_partitions = self + .resolution + .all_system_packages_partitioned(&self.system_info); + + cache_packages( + package_partitions.packages, + &self.cache, + &self.registry_url, + ) + .await?; + + // create the copy package folders + for copy in package_partitions.copy_packages { + self.cache.ensure_copy_package( + ©.get_package_cache_folder_id(), + &self.registry_url, + )?; + } + + Ok(()) } fn ensure_read_permission( @@ -137,26 +160,3 @@ impl NpmPackageFsResolver for GlobalNpmPackageResolver { ensure_registry_read_permission(&self.fs, permissions, ®istry_path, path) } } - -async fn cache_packages_in_resolver( - resolver: &GlobalNpmPackageResolver, -) -> Result<(), AnyError> { - let package_partitions = resolver.resolution.all_packages_partitioned(); - - cache_packages( - package_partitions.packages, - &resolver.cache, - &resolver.registry_url, - ) - .await?; - - // create the copy package folders - for copy in package_partitions.copy_packages { - resolver.cache.ensure_copy_package( - ©.get_package_cache_folder_id(), - &resolver.registry_url, - )?; - } - - Ok(()) -} |