Skip to content

Commit ab00592

Browse files
committed
fix(imports-as-dependencies): support Node builtins; fixes #1112
1 parent 7469e59 commit ab00592

File tree

5 files changed

+67
-23
lines changed

5 files changed

+67
-23
lines changed

docs/rules/imports-as-dependencies.md

+12
Original file line numberDiff line numberDiff line change
@@ -83,5 +83,17 @@ The following patterns are not considered problems:
8383
/**
8484
* @type {null|import('./relativePath.js').Program}
8585
*/
86+
87+
/**
88+
* @type {null|import('fs').PathLike}
89+
*/
90+
91+
/**
92+
* @type {null|import('fs/promises').FileHandle}
93+
*/
94+
95+
/**
96+
* @type {null|import('node:fs').PathLike}
97+
*/
8698
````
8799

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"debug": "^4.3.4",
1212
"escape-string-regexp": "^4.0.0",
1313
"esquery": "^1.5.0",
14+
"is-builtin-module": "^3.2.1",
1415
"semver": "^7.5.1",
1516
"spdx-expression-parse": "^3.0.1"
1617
},
@@ -37,7 +38,7 @@
3738
"@types/estree": "^1.0.1",
3839
"@types/lodash.defaultsdeep": "^4.6.7",
3940
"@types/mocha": "^10.0.1",
40-
"@types/node": "^20.2.3",
41+
"@types/node": "^20.2.5",
4142
"@types/semver": "^7.5.0",
4243
"@types/spdx-expression-parse": "^3.0.2",
4344
"@typescript-eslint/parser": "^5.59.6",

pnpm-lock.yaml

+26-21
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/rules/importsAsDependencies.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {
77
import {
88
readFileSync,
99
} from 'fs';
10+
import isBuiltinModule from 'is-builtin-module';
1011
import {
1112
join,
1213
} from 'path';
@@ -71,7 +72,11 @@ export default iterateJsdoc(({
7172
return;
7273
}
7374

74-
if (!moduleCheck.has(mod)) {
75+
if (isBuiltinModule(mod)) {
76+
// mod = '@types/node';
77+
// moduleCheck.set(mod, !deps.has(mod));
78+
return;
79+
} else if (!moduleCheck.has(mod)) {
7580
let pkg;
7681
try {
7782
pkg = JSON.parse(

test/rules/assertions/importsAsDependencies.js

+21
Original file line numberDiff line numberDiff line change
@@ -116,5 +116,26 @@ export default {
116116
*/
117117
`,
118118
},
119+
{
120+
code: `
121+
/**
122+
* @type {null|import('fs').PathLike}
123+
*/
124+
`,
125+
},
126+
{
127+
code: `
128+
/**
129+
* @type {null|import('fs/promises').FileHandle}
130+
*/
131+
`,
132+
},
133+
{
134+
code: `
135+
/**
136+
* @type {null|import('node:fs').PathLike}
137+
*/
138+
`,
139+
},
119140
],
120141
};

0 commit comments

Comments
 (0)