aboutsummaryrefslogtreecommitdiff
path: root/src/install/npm.zig
diff options
context:
space:
mode:
authorGravatar Dylan Conway <35280289+dylan-conway@users.noreply.github.com> 2023-10-30 23:04:47 -0700
committerGravatar GitHub <noreply@github.com> 2023-10-30 23:04:47 -0700
commite259056bd8966f38057f5f9962246503be7b4cb2 (patch)
tree7cd02b643760dee5491b1bed165a334273182824 /src/install/npm.zig
parent68146d054435c069e96e40bb1253d0000956ddf4 (diff)
downloadbun-e259056bd8966f38057f5f9962246503be7b4cb2.tar.gz
bun-e259056bd8966f38057f5f9962246503be7b4cb2.tar.zst
bun-e259056bd8966f38057f5f9962246503be7b4cb2.zip
peer dependency and semver prerelease bug fixes (#6814)
* `order` and `satisfy` prerelease numbers * remove sorter * use existing package for peer dep if possible * fix test, remove loop * count workspace versions, compare each part of prerelease * other peer dependencies * use existing packages if possible * don't install peer more than once * fix update tests
Diffstat (limited to 'src/install/npm.zig')
-rw-r--r--src/install/npm.zig6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/install/npm.zig b/src/install/npm.zig
index 1ab140beb..fdf66f333 100644
--- a/src/install/npm.zig
+++ b/src/install/npm.zig
@@ -809,7 +809,7 @@ pub const PackageManifest = struct {
}
if (this.findByDistTag("latest")) |result| {
- if (group.satisfies(result.version)) {
+ if (group.satisfies(result.version, this.string_buf)) {
if (group.flags.isSet(Semver.Query.Group.Flags.pre)) {
if (left.version.order(result.version, this.string_buf, this.string_buf) == .eq) {
// if prerelease, use latest if semver+tag match range exactly
@@ -829,7 +829,7 @@ pub const PackageManifest = struct {
while (i > 0) : (i -= 1) {
const version = releases[i - 1];
- if (group.satisfies(version)) {
+ if (group.satisfies(version, this.string_buf)) {
return .{ .version = version, .package = &this.pkg.releases.values.get(this.package_versions)[i - 1] };
}
}
@@ -842,7 +842,7 @@ pub const PackageManifest = struct {
const version = prereleases[i - 1];
// This list is sorted at serialization time.
- if (group.satisfies(version)) {
+ if (group.satisfies(version, this.string_buf)) {
const packages = this.pkg.prereleases.values.get(this.package_versions);
return .{ .version = version, .package = &packages[i - 1] };
}