Skip to content

Commit 5c67787

Browse files
aladdin-addscagood
andauthored
fix: unsupported-features/node-builtins-modules version comparation (#257)
* fix: unsupported-features/node-builtins-modules #250 * Reapply "fix: unsupported-features/node-builtins-modules range compare" (#254) This reverts commit caecf3e. * Update lib/util/check-unsupported-builtins.js Co-authored-by: Sebastian Good <[email protected]> * chore: remove a unrelated test --------- Co-authored-by: Sebastian Good <[email protected]>
1 parent 36fd35d commit 5c67787

File tree

2 files changed

+21
-8
lines changed

2 files changed

+21
-8
lines changed

lib/util/check-unsupported-builtins.js

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@
44
*/
55
"use strict"
66

7-
const { major, rsort } = require("semver")
7+
const { rsort } = require("semver")
88
const { ReferenceTracker } = require("@eslint-community/eslint-utils")
99
const getConfiguredNodeVersion = require("./get-configured-node-version")
1010
const getSemverRange = require("./get-semver-range")
1111
const unprefixNodeColon = require("./unprefix-node-colon")
12+
const semverRangeSubset = require("semver/ranges/subset")
1213

1314
/**
1415
* Parses the options.
@@ -38,19 +39,14 @@ function isSupported({ supported }, configured) {
3839

3940
const [latest] = rsort(supported)
4041
const range = getSemverRange(
41-
[
42-
...supported.map(
43-
version => `>= ${version} < ${major(version) + 1}`
44-
),
45-
`> ${major(latest)}`,
46-
].join("||")
42+
[...supported.map(version => `^${version}`), `>= ${latest}`].join("||")
4743
)
4844

4945
if (range == null) {
5046
return false
5147
}
5248

53-
return configured.intersects(range)
49+
return semverRangeSubset(configured, range)
5450
}
5551

5652
/**

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

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2424,6 +2424,23 @@ runTests([
24242424
},
24252425
],
24262426
},
2427+
// https://github.com/eslint-community/eslint-plugin-n/issues/250
2428+
{
2429+
code: "function wrap() { globalThis }",
2430+
settings: {
2431+
node: { version: ">=11.9.9" },
2432+
},
2433+
errors: [
2434+
{
2435+
messageId: "not-supported-till",
2436+
data: {
2437+
name: "globalThis",
2438+
supported: "12.0.0",
2439+
version: ">=11.9.9",
2440+
},
2441+
},
2442+
],
2443+
},
24272444
],
24282445
},
24292446
])

0 commit comments

Comments
 (0)