diff options
author | 2023-10-30 23:04:47 -0700 | |
---|---|---|
committer | 2023-10-30 23:04:47 -0700 | |
commit | e259056bd8966f38057f5f9962246503be7b4cb2 (patch) | |
tree | 7cd02b643760dee5491b1bed165a334273182824 /src/install/npm.zig | |
parent | 68146d054435c069e96e40bb1253d0000956ddf4 (diff) | |
download | bun-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.zig | 6 |
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] }; } |