Skip to content

Commit dbb7264

Browse files
authored
fix: consider node: prefix in prefer-global rules (#63)
* fix: consider node: prefix in prefer-global rules * added tests
1 parent b0faa87 commit dbb7264

File tree

8 files changed

+103
-2
lines changed

8 files changed

+103
-2
lines changed

lib/util/check-prefer-global.js

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,19 @@ class Verifier {
3434
mode: "legacy",
3535
})
3636

37+
const modules = {
38+
...trackMap.modules,
39+
...Object.fromEntries(
40+
Object.entries(trackMap.modules).map(([name, value]) => [
41+
`node:${name}`,
42+
value,
43+
])
44+
),
45+
}
46+
3747
for (const { node } of [
38-
...tracker.iterateCjsReferences(trackMap.modules),
39-
...tracker.iterateEsmReferences(trackMap.modules),
48+
...tracker.iterateCjsReferences(modules),
49+
...tracker.iterateEsmReferences(modules),
4050
]) {
4151
context.report({ node, messageId: "preferGlobal" })
4252
}

tests/lib/rules/prefer-global/buffer.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,30 @@ new RuleTester({
2626
code: "var { Buffer } = require('buffer'); var b = Buffer.alloc(10)",
2727
options: ["never"],
2828
},
29+
{
30+
code: "var { Buffer } = require('node:buffer'); var b = Buffer.alloc(10)",
31+
options: ["never"],
32+
},
2933
],
3034
invalid: [
3135
{
3236
code: "var { Buffer } = require('buffer'); var b = Buffer.alloc(10)",
3337
errors: [{ messageId: "preferGlobal" }],
3438
},
39+
{
40+
code: "var { Buffer } = require('node:buffer'); var b = Buffer.alloc(10)",
41+
errors: [{ messageId: "preferGlobal" }],
42+
},
3543
{
3644
code: "var { Buffer } = require('buffer'); var b = Buffer.alloc(10)",
3745
options: ["always"],
3846
errors: [{ messageId: "preferGlobal" }],
3947
},
48+
{
49+
code: "var { Buffer } = require('node:buffer'); var b = Buffer.alloc(10)",
50+
options: ["always"],
51+
errors: [{ messageId: "preferGlobal" }],
52+
},
4053
{
4154
code: "var b = Buffer.alloc(10)",
4255
options: ["never"],

tests/lib/rules/prefer-global/console.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,30 @@ new RuleTester({
2626
code: "var console = require('console'); console.log(10)",
2727
options: ["never"],
2828
},
29+
{
30+
code: "var console = require('node:console'); console.log(10)",
31+
options: ["never"],
32+
},
2933
],
3034
invalid: [
3135
{
3236
code: "var console = require('console'); console.log(10)",
3337
errors: [{ messageId: "preferGlobal" }],
3438
},
39+
{
40+
code: "var console = require('node:console'); console.log(10)",
41+
errors: [{ messageId: "preferGlobal" }],
42+
},
3543
{
3644
code: "var console = require('console'); console.log(10)",
3745
options: ["always"],
3846
errors: [{ messageId: "preferGlobal" }],
3947
},
48+
{
49+
code: "var console = require('node:console'); console.log(10)",
50+
options: ["always"],
51+
errors: [{ messageId: "preferGlobal" }],
52+
},
4053
{
4154
code: "console.log(10)",
4255
options: ["never"],

tests/lib/rules/prefer-global/process.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,30 @@ new RuleTester({
2626
code: "var process = require('process'); process.exit(0)",
2727
options: ["never"],
2828
},
29+
{
30+
code: "var process = require('node:process'); process.exit(0)",
31+
options: ["never"],
32+
},
2933
],
3034
invalid: [
3135
{
3236
code: "var process = require('process'); process.exit(0)",
3337
errors: [{ messageId: "preferGlobal" }],
3438
},
39+
{
40+
code: "var process = require('node:process'); process.exit(0)",
41+
errors: [{ messageId: "preferGlobal" }],
42+
},
3543
{
3644
code: "var process = require('process'); process.exit(0)",
3745
options: ["always"],
3846
errors: [{ messageId: "preferGlobal" }],
3947
},
48+
{
49+
code: "var process = require('node:process'); process.exit(0)",
50+
options: ["always"],
51+
errors: [{ messageId: "preferGlobal" }],
52+
},
4053
{
4154
code: "process.exit(0)",
4255
options: ["never"],

tests/lib/rules/prefer-global/text-decoder.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,30 @@ new RuleTester({
2626
code: "var { TextDecoder } = require('util'); var b = new TextDecoder(s)",
2727
options: ["never"],
2828
},
29+
{
30+
code: "var { TextDecoder } = require('node:util'); var b = new TextDecoder(s)",
31+
options: ["never"],
32+
},
2933
],
3034
invalid: [
3135
{
3236
code: "var { TextDecoder } = require('util'); var b = new TextDecoder(s)",
3337
errors: [{ messageId: "preferGlobal" }],
3438
},
39+
{
40+
code: "var { TextDecoder } = require('node:util'); var b = new TextDecoder(s)",
41+
errors: [{ messageId: "preferGlobal" }],
42+
},
3543
{
3644
code: "var { TextDecoder } = require('util'); var b = new TextDecoder(s)",
3745
options: ["always"],
3846
errors: [{ messageId: "preferGlobal" }],
3947
},
48+
{
49+
code: "var { TextDecoder } = require('node:util'); var b = new TextDecoder(s)",
50+
options: ["always"],
51+
errors: [{ messageId: "preferGlobal" }],
52+
},
4053
{
4154
code: "var b = new TextDecoder(s)",
4255
options: ["never"],

tests/lib/rules/prefer-global/text-encoder.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,30 @@ new RuleTester({
2626
code: "var { TextEncoder } = require('util'); var b = new TextEncoder(s)",
2727
options: ["never"],
2828
},
29+
{
30+
code: "var { TextEncoder } = require('node:util'); var b = new TextEncoder(s)",
31+
options: ["never"],
32+
},
2933
],
3034
invalid: [
3135
{
3236
code: "var { TextEncoder } = require('util'); var b = new TextEncoder(s)",
3337
errors: [{ messageId: "preferGlobal" }],
3438
},
39+
{
40+
code: "var { TextEncoder } = require('node:util'); var b = new TextEncoder(s)",
41+
errors: [{ messageId: "preferGlobal" }],
42+
},
3543
{
3644
code: "var { TextEncoder } = require('util'); var b = new TextEncoder(s)",
3745
options: ["always"],
3846
errors: [{ messageId: "preferGlobal" }],
3947
},
48+
{
49+
code: "var { TextEncoder } = require('node:util'); var b = new TextEncoder(s)",
50+
options: ["always"],
51+
errors: [{ messageId: "preferGlobal" }],
52+
},
4053
{
4154
code: "var b = new TextEncoder(s)",
4255
options: ["never"],

tests/lib/rules/prefer-global/url-search-params.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,30 @@ new RuleTester({
2626
code: "var { URLSearchParams } = require('url'); var b = new URLSearchParams(s)",
2727
options: ["never"],
2828
},
29+
{
30+
code: "var { URLSearchParams } = require('node:url'); var b = new URLSearchParams(s)",
31+
options: ["never"],
32+
},
2933
],
3034
invalid: [
3135
{
3236
code: "var { URLSearchParams } = require('url'); var b = new URLSearchParams(s)",
3337
errors: [{ messageId: "preferGlobal" }],
3438
},
39+
{
40+
code: "var { URLSearchParams } = require('node:url'); var b = new URLSearchParams(s)",
41+
errors: [{ messageId: "preferGlobal" }],
42+
},
3543
{
3644
code: "var { URLSearchParams } = require('url'); var b = new URLSearchParams(s)",
3745
options: ["always"],
3846
errors: [{ messageId: "preferGlobal" }],
3947
},
48+
{
49+
code: "var { URLSearchParams } = require('node:url'); var b = new URLSearchParams(s)",
50+
options: ["always"],
51+
errors: [{ messageId: "preferGlobal" }],
52+
},
4053
{
4154
code: "var b = new URLSearchParams(s)",
4255
options: ["never"],

tests/lib/rules/prefer-global/url.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,30 @@ new RuleTester({
2626
code: "var { URL } = require('url'); var b = new URL(s)",
2727
options: ["never"],
2828
},
29+
{
30+
code: "var { URL } = require('node:url'); var b = new URL(s)",
31+
options: ["never"],
32+
},
2933
],
3034
invalid: [
3135
{
3236
code: "var { URL } = require('url'); var b = new URL(s)",
3337
errors: [{ messageId: "preferGlobal" }],
3438
},
39+
{
40+
code: "var { URL } = require('node:url'); var b = new URL(s)",
41+
errors: [{ messageId: "preferGlobal" }],
42+
},
3543
{
3644
code: "var { URL } = require('url'); var b = new URL(s)",
3745
options: ["always"],
3846
errors: [{ messageId: "preferGlobal" }],
3947
},
48+
{
49+
code: "var { URL } = require('node:url'); var b = new URL(s)",
50+
options: ["always"],
51+
errors: [{ messageId: "preferGlobal" }],
52+
},
4053
{
4154
code: "var b = new URL(s)",
4255
options: ["never"],

0 commit comments

Comments
 (0)