From f6a9b49dfb57a2392ea37a64cfdee956a1c392ec Mon Sep 17 00:00:00 2001 From: David Sherret Date: Fri, 23 Sep 2022 17:35:48 -0400 Subject: perf: don't re-download package tarball to global cache if local node_modules folder exists for package (#16005) --- cli/npm/cache.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'cli/npm/cache.rs') diff --git a/cli/npm/cache.rs b/cli/npm/cache.rs index a733ecceb..6b841501a 100644 --- a/cli/npm/cache.rs +++ b/cli/npm/cache.rs @@ -198,6 +198,18 @@ impl NpmCache { id: &NpmPackageId, dist: &NpmPackageVersionDistInfo, registry_url: &Url, + ) -> Result<(), AnyError> { + self + .ensure_package_inner(id, dist, registry_url) + .await + .with_context(|| format!("Failed caching npm package '{}'.", id)) + } + + async fn ensure_package_inner( + &self, + id: &NpmPackageId, + dist: &NpmPackageVersionDistInfo, + registry_url: &Url, ) -> Result<(), AnyError> { let package_folder = self.readonly.package_folder(id, registry_url); if package_folder.exists() -- cgit v1.2.3