Skip to content

Commit 28517ff

Browse files
committed
[Tests] no-nodejs-modules: add tests for node protocol URL
1 parent 9e4c9a9 commit 28517ff

1 file changed

Lines changed: 58 additions & 0 deletions

File tree

tests/src/rules/no-nodejs-modules.js

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
import { test } from '../utils';
22

33
import { RuleTester } from 'eslint';
4+
import semver from 'semver';
45

56
const ruleTester = new RuleTester();
67
const rule = require('rules/no-nodejs-modules');
78

9+
const supportsNodePrefix = semver.satisfies(process.versions.node, '^14.18 || >= 16', { includePrerelease: true });
10+
811
const error = message => ({
912
message,
1013
});
@@ -55,6 +58,37 @@ ruleTester.run('no-nodejs-modules', rule, {
5558
allow: ['path', 'events'],
5659
}],
5760
}),
61+
...(supportsNodePrefix ? [
62+
test({
63+
code: 'import events from "node:events"',
64+
options: [{
65+
allow: ['node:events'],
66+
}],
67+
}),
68+
test({
69+
code: 'import path from "node:path"',
70+
options: [{
71+
allow: ['node:path'],
72+
}],
73+
}),
74+
test({
75+
code: 'var events = require("node:events")',
76+
options: [{
77+
allow: ['node:events'],
78+
}],
79+
}),
80+
test({
81+
code: 'var path = require("node:path")',
82+
options: [{
83+
allow: ['node:path'],
84+
}],
85+
}),
86+
test({
87+
code: 'import path from "node:path";import events from "node:events"',
88+
options: [{
89+
allow: ['node:path', 'node:events'],
90+
}],
91+
})] : []),
5892
],
5993
invalid: [
6094
test({
@@ -80,5 +114,29 @@ ruleTester.run('no-nodejs-modules', rule, {
80114
}],
81115
errors: [error('Do not import Node.js builtin module "fs"')],
82116
}),
117+
...(supportsNodePrefix ? [
118+
test({
119+
code: 'import path from "node:path"',
120+
errors: [error('Do not import Node.js builtin module "node:path"')],
121+
}),
122+
test({
123+
code: 'import fs from "node:fs"',
124+
errors: [error('Do not import Node.js builtin module "node:fs"')],
125+
}),
126+
test({
127+
code: 'var path = require("node:path")',
128+
errors: [error('Do not import Node.js builtin module "node:path"')],
129+
}),
130+
test({
131+
code: 'var fs = require("node:fs")',
132+
errors: [error('Do not import Node.js builtin module "node:fs"')],
133+
}),
134+
test({
135+
code: 'import fs from "node:fs"',
136+
options: [{
137+
allow: ['node:path'],
138+
}],
139+
errors: [error('Do not import Node.js builtin module "node:fs"')],
140+
})] : []),
83141
],
84142
});

0 commit comments

Comments
 (0)