Skip to content

Commit 1d8f28d

Browse files
andholpil
authored andcommitted
feat: ignore pre release versions and sort versions before getting last ✨
1 parent 3403723 commit 1d8f28d

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

compiler-core/src/dependency.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ use hexpm::{
77
Dependency, Release,
88
version::{Range, ResolutionError, Version},
99
};
10+
use itertools::Itertools;
1011
use pubgrub::{
1112
solver::{Dependencies, choose_package_with_fewest_versions},
1213
type_aliases::Map,
@@ -82,15 +83,17 @@ pub fn resolve_major_versions(
8283
versions
8384
.iter()
8485
.filter_map(|(package, version)| {
85-
// TODO: find out best error type for this operation
8686
let Ok(hexpackage) = package_fetcher.get_dependencies(package) else {
8787
return None;
8888
};
8989

9090
let Some(latest) = &hexpackage
9191
.releases
92-
.last()
92+
.iter()
9393
.map(|release| release.version.clone())
94+
.filter(|version| !version.is_pre())
95+
.sorted_by(|a, b| b.cmp(a))
96+
.next()
9497
else {
9598
return None;
9699
};

0 commit comments

Comments
 (0)