diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2023-02-23 10:58:10 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-23 10:58:10 -0500 |
commit | 344317ec501fa124f0c74b44035fa4516999dce6 (patch) | |
tree | 3a0e4ca3d83b1a47a0903f08648ef1b896b32195 /cli/npm/resolution/mod.rs | |
parent | 214bdbbc2b09ab3f56f0ffe1ad5930d48ec0c76f (diff) |
feat(npm): support bare specifiers from package.json in more subcommands and language server (#17891)
Diffstat (limited to 'cli/npm/resolution/mod.rs')
-rw-r--r-- | cli/npm/resolution/mod.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/cli/npm/resolution/mod.rs b/cli/npm/resolution/mod.rs index 8584958b5..53284d712 100644 --- a/cli/npm/resolution/mod.rs +++ b/cli/npm/resolution/mod.rs @@ -292,17 +292,18 @@ impl NpmResolution { pub async fn set_package_reqs( &self, - package_reqs: HashSet<NpmPackageReq>, + package_reqs: Vec<NpmPackageReq>, ) -> Result<(), AnyError> { let inner = &self.0; // only allow one thread in here at a time let _permit = inner.update_semaphore.acquire().await?; let snapshot = inner.snapshot.read().clone(); + let reqs_set = package_reqs.iter().collect::<HashSet<_>>(); let has_removed_package = !snapshot .package_reqs .keys() - .all(|req| package_reqs.contains(req)); + .all(|req| reqs_set.contains(req)); // if any packages were removed, we need to completely recreate the npm resolution snapshot let snapshot = if has_removed_package { NpmResolutionSnapshot::default() @@ -311,7 +312,7 @@ impl NpmResolution { }; let snapshot = add_package_reqs_to_snapshot( &inner.api, - package_reqs.into_iter().collect(), + package_reqs, snapshot, self.0.maybe_lockfile.clone(), ) |