summaryrefslogtreecommitdiff
path: root/cli/npm/resolution/mod.rs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2023-01-16 14:46:30 -0500
committerGitHub <noreply@github.com>2023-01-16 19:46:30 +0000
commit40527526e569532fa076e05a229f29c6edd4522c (patch)
treefc6701a9fa3f22ddb9be629ca48dafdf8eae7533 /cli/npm/resolution/mod.rs
parentf0c79a676cc36a5e8f6f5af86d93186d41974518 (diff)
refactor(npm): avoid cloning snapshot for lockfile (#17451)
Diffstat (limited to 'cli/npm/resolution/mod.rs')
-rw-r--r--cli/npm/resolution/mod.rs13
1 files changed, 3 insertions, 10 deletions
diff --git a/cli/npm/resolution/mod.rs b/cli/npm/resolution/mod.rs
index 18158bd17..c4d05598c 100644
--- a/cli/npm/resolution/mod.rs
+++ b/cli/npm/resolution/mod.rs
@@ -382,10 +382,6 @@ impl NpmResolution {
.cloned()
}
- pub fn all_packages(&self) -> Vec<NpmResolutionPackage> {
- self.snapshot.read().all_packages()
- }
-
pub fn all_packages_partitioned(&self) -> NpmPackagesPartitioned {
self.snapshot.read().all_packages_partitioned()
}
@@ -398,15 +394,12 @@ impl NpmResolution {
self.snapshot.read().clone()
}
- pub fn lock(
- &self,
- lockfile: &mut Lockfile,
- snapshot: &NpmResolutionSnapshot,
- ) -> Result<(), AnyError> {
+ pub fn lock(&self, lockfile: &mut Lockfile) -> Result<(), AnyError> {
+ let snapshot = self.snapshot.read();
for (package_req, package_id) in snapshot.package_reqs.iter() {
lockfile.insert_npm_specifier(package_req, package_id);
}
- for package in self.all_packages() {
+ for package in snapshot.all_packages() {
lockfile.check_or_insert_npm_package(&package)?;
}
Ok(())