Skip to content

Commit 148e47e

Browse files
authoredOct 9, 2024··
fix(no-missing-import): Ignore node builtins in package.json imports (#346)
1 parent 6cd7954 commit 148e47e

File tree

3 files changed

+23
-0
lines changed

3 files changed

+23
-0
lines changed
 

‎lib/util/import-target.js

+9
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,17 @@ const { resolve } = require("path")
88
const { isBuiltin } = require("node:module")
99
const resolver = require("enhanced-resolve")
1010

11+
const {
12+
NodeBuiltinModules,
13+
} = require("../unsupported-features/node-builtins.js")
1114
const isTypescript = require("./is-typescript")
1215
const { getTSConfigForContext } = require("./get-tsconfig.js")
1316
const getTypescriptExtensionMap = require("./get-typescript-extension-map")
1417

18+
const nodeBuiltinFallback = Object.keys(NodeBuiltinModules).map(
19+
name => /** @type {const} */ ({ name, alias: false })
20+
)
21+
1522
/**
1623
* @overload
1724
* @param {string[]} input
@@ -304,6 +311,8 @@ module.exports = class ImportTarget {
304311

305312
extensionAlias,
306313
alias,
314+
315+
fallback: nodeBuiltinFallback,
307316
}
308317

309318
const requireResolve = resolver.create.sync(this.resolverConfig)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"imports": {
3+
"#is-ip": {
4+
"node": "net",
5+
"browser": "is-ip"
6+
}
7+
}
8+
}

‎tests/lib/rules/no-missing-import.js

+6
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,12 @@ ruleTester.run("no-missing-import", rule, {
336336
code: "import plugin from 'eslint-plugin-n';",
337337
},
338338

339+
// imports alias
340+
{
341+
filename: fixture("issue-285/test.js"),
342+
code: "import isIp from '#is-ip';",
343+
},
344+
339345
// import()
340346
...(DynamicImportSupported
341347
? [

0 commit comments

Comments
 (0)
Please sign in to comment.