Skip to content

Commit 87250de

Browse files
committed
fix: some known issues and code review
1 parent dd566e1 commit 87250de

File tree

6 files changed

+23
-31
lines changed

6 files changed

+23
-31
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
node: lts/*
3333
eslint: 9
3434
os: ubuntu-latest
35-
- noLegacyNodeResolver: true
35+
- legacyNodeResolver: true
3636
node: lts/*
3737
eslint: 9
3838
os: ubuntu-latest
@@ -58,8 +58,8 @@ jobs:
5858
run: yarn --immutable
5959

6060
- name: Uninstall Legacy Node Resolver
61-
if: ${{ matrix.noLegacyNodeResolver }}
62-
run: yarn remove eslint-import-resolver-node
61+
if: ${{ matrix.legacyNodeResolver }}
62+
run: yarn add -D eslint-import-resolver-node
6363

6464
- name: Build and Test
6565
run: yarn run-s test-compiled test

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,6 @@
128128
"eslint": "^9.27.0",
129129
"eslint-config-prettier": "^10.1.5",
130130
"eslint-doc-generator": "^2.1.2",
131-
"eslint-import-resolver-node": "^0.3.9",
132131
"eslint-import-resolver-typescript": "^4.4.1",
133132
"eslint-import-resolver-webpack": "^0.13.10",
134133
"eslint-import-test-order-redirect": "link:./test/fixtures/order-redirect",

src/rules/no-named-as-default.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ export default createRule<[], MessageId>({
4040
declaration.source.value,
4141
context,
4242
)
43+
4344
if (exportMapOfImported == null) {
4445
return
4546
}

src/utils/legacy-resolver-settings.ts

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -96,17 +96,16 @@ export function normalizeConfigResolvers(
9696
return [...map.values()]
9797
}
9898

99-
export const LEGACY_NODE_RESOLVERS = [
99+
export const LEGACY_NODE_RESOLVERS = new Set([
100100
'node',
101101
'eslint-import-resolver-node',
102-
(function () {
103-
try {
104-
return cjsRequire.resolve('eslint-import-resolver-node')
105-
} catch {
106-
// ignore
107-
}
108-
})(),
109-
].filter(Boolean)
102+
])
103+
104+
try {
105+
LEGACY_NODE_RESOLVERS.add(cjsRequire.resolve('eslint-import-resolver-node'))
106+
} catch {
107+
// ignore
108+
}
110109

111110
function requireResolver(name: string, sourceFile: string) {
112111
// Try to resolve package with conventional name
@@ -117,7 +116,7 @@ function requireResolver(name: string, sourceFile: string) {
117116

118117
if (!resolver) {
119118
// ignore `node` resolver not found error, we'll use the new one instead
120-
if (LEGACY_NODE_RESOLVERS.includes(name)) {
119+
if (LEGACY_NODE_RESOLVERS.has(name)) {
121120
return undefined!
122121
}
123122

src/utils/resolve.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ function legacyNodeResolve(
130130
includeCoreModules,
131131
moduleDirectory,
132132
paths,
133-
preserveSymlinks: symlinks,
133+
preserveSymlinks,
134134
package: packageJson,
135135
packageFilter,
136136
pathFilter,
@@ -142,6 +142,9 @@ function legacyNodeResolve(
142142

143143
const modules = arraify(moduleDirectory)
144144

145+
// TODO: change the default behavior to align node itself
146+
const symlinks = preserveSymlinks === false
147+
145148
const resolver = createNodeResolver({
146149
extensions: normalizedExtensions,
147150
builtinModules: includeCoreModules !== false,
@@ -299,7 +302,7 @@ function fullResolve(
299302
}
300303

301304
// if the resolver is `eslint-import-resolver-node`, we use the new `node` resolver as fallback instead
302-
if (LEGACY_NODE_RESOLVERS.includes(name) && !resolver) {
305+
if (LEGACY_NODE_RESOLVERS.has(name)) {
303306
const resolverOptions = (options || {}) as NodeResolverOptions
304307
const resolved = legacyNodeResolve(
305308
{
@@ -317,7 +320,9 @@ function fullResolve(
317320
return resolved
318321
}
319322

320-
continue
323+
if (!resolver) {
324+
continue
325+
}
321326
}
322327

323328
const resolved = setRuleContext(context, () =>

yarn.lock

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5784,17 +5784,6 @@ __metadata:
57845784
languageName: node
57855785
linkType: hard
57865786

5787-
"eslint-import-resolver-node@npm:^0.3.9":
5788-
version: 0.3.9
5789-
resolution: "eslint-import-resolver-node@npm:0.3.9"
5790-
dependencies:
5791-
debug: "npm:^3.2.7"
5792-
is-core-module: "npm:^2.13.0"
5793-
resolve: "npm:^1.22.4"
5794-
checksum: 10c0/0ea8a24a72328a51fd95aa8f660dcca74c1429806737cf10261ab90cfcaaf62fd1eff664b76a44270868e0a932711a81b250053942595bcd00a93b1c1575dd61
5795-
languageName: node
5796-
linkType: hard
5797-
57985787
"eslint-import-resolver-typescript@npm:^4.4.1":
57995788
version: 4.4.1
58005789
resolution: "eslint-import-resolver-typescript@npm:4.4.1"
@@ -5956,7 +5945,6 @@ __metadata:
59565945
eslint-config-prettier: "npm:^10.1.5"
59575946
eslint-doc-generator: "npm:^2.1.2"
59585947
eslint-import-context: "npm:^0.1.6"
5959-
eslint-import-resolver-node: "npm:^0.3.9"
59605948
eslint-import-resolver-typescript: "npm:^4.4.1"
59615949
eslint-import-resolver-webpack: "npm:^0.13.10"
59625950
eslint-import-test-order-redirect: "link:./test/fixtures/order-redirect"
@@ -11585,7 +11573,7 @@ __metadata:
1158511573
languageName: node
1158611574
linkType: hard
1158711575

11588-
"resolve@npm:^1.14.2, resolve@npm:^1.20.0, resolve@npm:^1.22.4":
11576+
"resolve@npm:^1.14.2, resolve@npm:^1.20.0":
1158911577
version: 1.22.10
1159011578
resolution: "resolve@npm:1.22.10"
1159111579
dependencies:
@@ -11611,7 +11599,7 @@ __metadata:
1161111599
languageName: node
1161211600
linkType: hard
1161311601

11614-
"resolve@patch:resolve@npm%3A^1.14.2#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin<compat/resolve>":
11602+
"resolve@patch:resolve@npm%3A^1.14.2#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin<compat/resolve>":
1161511603
version: 1.22.10
1161611604
resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin<compat/resolve>::version=1.22.10&hash=c3c19d"
1161711605
dependencies:

0 commit comments

Comments
 (0)