Skip to content

Commit 5f3ca13

Browse files
puneetdixit200Puneet Dixit
andauthored
fix: handle prerelease bounds in subset (#867)
## Summary - Fix `subset()` so prerelease lower and upper bounds are checked against individual comparators without reapplying full range prerelease gating. - Add coverage for `^10.2.0-beta.2` being a subset of `^10.2.0-beta.1`. ## Tests - `npx tap test/ranges/subset.js` - `npm test` - `git diff --check` Fixes #757 Co-authored-by: Puneet Dixit <[email protected]>
1 parent efa4be6 commit 5f3ca13

2 files changed

Lines changed: 3 additions & 2 deletions

File tree

ranges/subset.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ const simpleSubset = (sub, dom, options) => {
174174
if (higher === c && higher !== gt) {
175175
return false
176176
}
177-
} else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) {
177+
} else if (gt.operator === '>=' && !c.test(gt.semver)) {
178178
return false
179179
}
180180
}
@@ -192,7 +192,7 @@ const simpleSubset = (sub, dom, options) => {
192192
if (lower === c && lower !== lt) {
193193
return false
194194
}
195-
} else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) {
195+
} else if (lt.operator === '<=' && !c.test(lt.semver)) {
196196
return false
197197
}
198198
}

test/ranges/subset.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ const cases = [
2929
['^1.2.3-pre.0', '>=1.0.0', true, { includePrerelease: true }],
3030
['^1.2.3-pre.0', '>=1.2.3-pre.0', true],
3131
['^1.2.3-pre.0', '>=1.2.3-pre.0', true, { includePrerelease: true }],
32+
['^10.2.0-beta.2', '^10.2.0-beta.1', true],
3233
['>1.2.3-pre.0', '>=1.2.3-pre.0', true],
3334
['>1.2.3-pre.0', '>1.2.3-pre.0 || 2', true],
3435
['1 >1.2.3-pre.0', '>1.2.3-pre.0', true],

0 commit comments

Comments
 (0)