diff --git a/src/proto.rs b/src/proto.rs index 3edc96f..88b5701 100644 --- a/src/proto.rs +++ b/src/proto.rs @@ -124,7 +124,7 @@ pub fn load_versions(Json(_): Json) -> FnResult = releases + let versions = releases .versions .into_iter() .map(|release| { @@ -136,7 +136,25 @@ pub fn load_versions(Json(_): Json) -> FnResult, _>>()?; + + let latest = versions + .first() + .and_then(|v| v.as_version()) + .cloned() + .unwrap_or(Version::new(0, 0, 0)); + + let mut aliases = FxHashMap::default(); + aliases.insert( + "latest".into(), + UnresolvedVersionSpec::Semantic(SemVer(latest.clone())), + ); + + Ok(Json(LoadVersionsOutput { + versions, + aliases, + latest: Some(UnresolvedVersionSpec::Semantic(SemVer(latest))), + ..Default::default() + })) }