Skip to content

Commit 5a22112

Browse files
authored
fix: range matching fails (#31)
* fix: range matching fails fixes #22 * chore: add a test
1 parent 793a48b commit 5a22112

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

lib/rules/no-unsupported-features/es-syntax.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
const { rules: esRules } = require("eslint-plugin-es")
88
const { getInnermostScope } = require("eslint-utils")
99
const { Range } = require("semver")
10+
const rangeSubset = require("semver/ranges/subset")
1011
const getConfiguredNodeVersion = require("../../util/get-configured-node-version")
1112
const getSemverRange = require("../../util/get-semver-range")
1213
const mergeVisitorsInPlace = require("../../util/merge-visitors-in-place")
@@ -457,11 +458,11 @@ function defineVisitor(context, options) {
457458
return true
458459
}
459460

460-
if (aCase.supported instanceof Range) {
461-
return !options.version.intersects(aCase.supported)
462-
}
463-
464-
return options.version.intersects(getSemverRange(`<${aCase.supported}`))
461+
const supported =
462+
typeof aCase.supported === "string"
463+
? getSemverRange(`>=${aCase.supported}`)
464+
: aCase.supported
465+
return !rangeSubset(options.version, supported)
465466
}
466467

467468
/**

tests/lib/rules/no-unsupported-features/es-syntax.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2493,7 +2493,7 @@ ruleTester.run(
24932493
})),
24942494
],
24952495
invalid: [
2496-
...["12.16.0", "13.0.0", "13.1.0"].map(v => ({
2496+
...["12.16.0", "13.0.0", "13.1.0", ">=8.0.0"].map(v => ({
24972497
code: "import(source)",
24982498
options: [{ version: v }],
24992499
errors: [

0 commit comments

Comments
 (0)