diff --git a/semver/parse_range.ts b/semver/parse_range.ts index 5d9d42eb550a..b9bef6039251 100644 --- a/semver/parse_range.ts +++ b/semver/parse_range.ts @@ -248,10 +248,7 @@ function handleLessThanOrEqualOperator( const patch = +groups.patch; if (minorIsWildcard) { - if (patchIsWildcard) { - return [{ operator: "<", major: major + 1, minor: 0, patch: 0 }]; - } - return [{ operator: "<", major, minor: minor + 1, patch: 0 }]; + return [{ operator: "<", major: major + 1, minor: 0, patch: 0 }]; } if (patchIsWildcard) { return [{ operator: "<", major, minor: minor + 1, patch: 0 }]; @@ -292,7 +289,6 @@ function handleGreaterOrEqualOperator(groups: RangeRegExpGroups): Comparator[] { if (majorIsWildcard) return [ALL]; if (minorIsWildcard) { - if (patchIsWildcard) return [{ operator: ">=", major, minor: 0, patch: 0 }]; return [{ operator: ">=", major, minor: 0, patch: 0 }]; } if (patchIsWildcard) return [{ operator: ">=", major, minor, patch: 0 }]; diff --git a/semver/parse_range_test.ts b/semver/parse_range_test.ts index 6be816da5a1a..845d372f30b2 100644 --- a/semver/parse_range_test.ts +++ b/semver/parse_range_test.ts @@ -683,9 +683,8 @@ Deno.test("parseRange() handles wildcards", () => { assertEquals(parseRange("<1.*.*"), [ [{ operator: "<", major: 1, minor: 0, patch: 0 }], ]); - // FIXME(kt3k): The following case should equal `[{ operator: "<", major: 2, minor: 0, patch: 0 }]` assertEquals(parseRange("<=1.*.2"), [ - [{ operator: "<", major: 1, minor: NaN, patch: 0 }], + [{ operator: "<", major: 2, minor: 0, patch: 0 }], ]); assertEquals(parseRange(">=1.*.0"), [ [{ operator: ">=", major: 1, minor: 0, patch: 0 }],