summaryrefslogtreecommitdiff
path: root/cli/npm/resolvers/global.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/npm/resolvers/global.rs')
-rw-r--r--cli/npm/resolvers/global.rs48
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(
+ &copy.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, &registry_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(
- &copy.get_package_cache_folder_id(),
- &resolver.registry_url,
- )?;
- }
-
- Ok(())
-}