aboutsummaryrefslogtreecommitdiff
path: root/src/install/npm.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/install/npm.zig')
-rw-r--r--src/install/npm.zig29
1 files changed, 16 insertions, 13 deletions
diff --git a/src/install/npm.zig b/src/install/npm.zig
index 57fcf72b9..78d0f6061 100644
--- a/src/install/npm.zig
+++ b/src/install/npm.zig
@@ -798,29 +798,32 @@ pub const PackageManifest = struct {
return this.findByVersion(left.version);
}
- const releases = this.pkg.releases.keys.get(this.versions);
+ if (this.findByDistTag("latest")) |result| {
+ if (group.satisfies(result.version)) {
+ return result;
+ }
+ }
- if (group.flags.isSet(Semver.Query.Group.Flags.pre)) {
- const prereleases = this.pkg.prereleases.keys.get(this.versions);
- var i = prereleases.len;
+ {
+ const releases = this.pkg.releases.keys.get(this.versions);
+ var i = releases.len;
+ // For now, this is the dumb way
while (i > 0) : (i -= 1) {
- const version = prereleases[i - 1];
- const packages = this.pkg.prereleases.values.get(this.package_versions);
+ const version = releases[i - 1];
+ const packages = this.pkg.releases.values.get(this.package_versions);
if (group.satisfies(version)) {
return .{ .version = version, .package = &packages[i - 1] };
}
}
- } else if (this.findByDistTag("latest")) |result| {
- if (group.satisfies(result.version)) return result;
}
- {
- var i = releases.len;
- // // For now, this is the dumb way
+ if (group.flags.isSet(Semver.Query.Group.Flags.pre)) {
+ const prereleases = this.pkg.prereleases.keys.get(this.versions);
+ var i = prereleases.len;
while (i > 0) : (i -= 1) {
- const version = releases[i - 1];
- const packages = this.pkg.releases.values.get(this.package_versions);
+ const version = prereleases[i - 1];
+ const packages = this.pkg.prereleases.values.get(this.package_versions);
if (group.satisfies(version)) {
return .{ .version = version, .package = &packages[i - 1] };