packageVersions method
Future<Response>
packageVersions(
- Request req,
- String package
)
Implementation
Future<shelf.Response> packageVersions(
shelf.Request req, String package) async {
logger!.info('[packageVersions] $package');
var pkg = await metaRepo.query(package);
if (pkg == null) {
logger!.warning('$package not found in unpuber, get from pub.dev.');
return _pubDevPkg(package);
}
pkg.versions.sort((a, b) {
return semver.Version.prioritize(
semver.Version.parse(a.version), semver.Version.parse(b.version));
});
var versionMaps =
pkg.versions.map((it) => _versionToJson(it, req)).toList();
return _ok(
{'name': package, 'latest': versionMaps.last, 'versions': versionMaps});
}