diff options
Diffstat (limited to 'cli/npm/managed/mod.rs')
-rw-r--r-- | cli/npm/managed/mod.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/cli/npm/managed/mod.rs b/cli/npm/managed/mod.rs index 62af3e4aa..6f6fa4bf8 100644 --- a/cli/npm/managed/mod.rs +++ b/cli/npm/managed/mod.rs @@ -428,6 +428,16 @@ impl ManagedCliNpmResolver { self.resolution.snapshot() } + pub fn top_package_req_for_name(&self, name: &str) -> Option<PackageReq> { + let package_reqs = self.resolution.package_reqs(); + let mut entries = package_reqs + .iter() + .filter(|(_, nv)| nv.name == name) + .collect::<Vec<_>>(); + entries.sort_by_key(|(_, nv)| &nv.version); + Some(entries.last()?.0.clone()) + } + pub fn serialized_valid_snapshot_for_system( &self, system_info: &NpmSystemInfo, |