Skip to content

Commit d60439d

Browse files
authored
fix: correctly handle version ranges in prefer-node-protocol (#454)
1 parent 45e2803 commit d60439d

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

lib/rules/prefer-node-protocol.js

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const {
99
getPropertyName,
1010
} = require("@eslint-community/eslint-utils")
1111

12-
const { Range } = require("semver")
12+
const { subset, Range } = require("semver")
1313

1414
const getConfiguredNodeVersion = require("../util/get-configured-node-version")
1515
const stripImportPathParams = require("../util/strip-import-path-params")
@@ -57,15 +57,12 @@ function isEnablingThisRule(context, moduleStyle) {
5757
const version = getConfiguredNodeVersion(context)
5858

5959
// Only check Node.js version because this rule is meaningless if configured Node.js version doesn't match semver range.
60-
if (!version.intersects(supportedRangeForEsm)) {
60+
if (!subset(version, supportedRangeForEsm)) {
6161
return false
6262
}
6363

6464
// Only check when using `require`
65-
if (
66-
moduleStyle === "require" &&
67-
!version.intersects(supportedRangeForCjs)
68-
) {
65+
if (moduleStyle === "require" && !subset(version, supportedRangeForCjs)) {
6966
return false
7067
}
7168

tests/lib/rules/prefer-node-protocol.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@ new RuleTester({
5757
'const fs = require("eslint-plugin-n");',
5858

5959
// check disabling by supported Node.js versions
60+
{
61+
options: [{ version: ">=10.13.0" }],
62+
code: 'import fs from "fs";',
63+
},
6064
{
6165
options: [{ version: "12.19.1" }],
6266
code: 'import fs from "fs";',

0 commit comments

Comments
 (0)