Skip to content

Commit 600b604

Browse files
committed
Use eslint-import-resolver-typescript for import resolution
Fixes #96
1 parent bd171ba commit 600b604

2 files changed

Lines changed: 7 additions & 28 deletions

File tree

index.js

Lines changed: 6 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ import stylistic from '@stylistic/eslint-plugin';
44
import css from '@eslint/css'; // eslint-disable-line no-unused-vars
55
import typescriptEslint from 'typescript-eslint';
66
import pluginUnicorn from 'eslint-plugin-unicorn';
7-
import pluginImport from 'eslint-plugin-import-x';
7+
import pluginImport, {createNodeResolver} from 'eslint-plugin-import-x';
8+
import {createTypeScriptImportResolver} from 'eslint-import-resolver-typescript';
89
import pluginN from 'eslint-plugin-n';
910
import pluginComments from '@eslint-community/eslint-plugin-eslint-comments';
1011
/// import pluginPromise from 'eslint-plugin-promise';
@@ -128,13 +129,10 @@ export default function eslintConfigXo({
128129
espree: jsExtensions,
129130
'@typescript-eslint/parser': tsExtensions,
130131
},
131-
'import-x/external-module-folders': [
132-
'node_modules',
133-
'node_modules/@types',
132+
'import-x/resolver-next': [
133+
createNodeResolver(),
134+
createTypeScriptImportResolver(),
134135
],
135-
'import-x/resolver': {
136-
node: allExtensions,
137-
},
138136
},
139137
rules: {
140138
...pluginsRules,
@@ -184,35 +182,15 @@ export default function eslintConfigXo({
184182
},
185183
},
186184
},
187-
// Disabled temporarily.
188-
// settings: {
189-
// 'import/resolver': {
190-
// node: {
191-
// extensions: [
192-
// '.js',
193-
// '.jsx',
194-
// '.ts',
195-
// '.tsx'
196-
// ]
197-
// }
198-
// },
199-
// 'import/parsers': {
200-
// [require.resolve('@typescript-eslint/parser')]: [
201-
// '.ts',
202-
// '.tsx'
203-
// ]
204-
// }
205-
// },
206185
rules: {
207186
...typescriptRules,
208187
'unicorn/import-style': 'off',
209188
'n/file-extension-in-import': 'off',
210-
// Disabled because of https://github.com/benmosher/eslint-plugin-import-x/issues/1590
189+
// Disabled because it doesn't work correctly with TypeScript.
211190
'import-x/export': 'off',
212191
// Does not work when the TS definition exports a default const.
213192
'import-x/default': 'off',
214193
// Disabled as it doesn't work with TypeScript.
215-
// This issue and some others: https://github.com/benmosher/eslint-plugin-import-x/issues/1341
216194
'import-x/named': 'off',
217195
...getOptionRules({space, semicolon, typescript: true}),
218196
},

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
"@eslint/json": "^1.2.0",
6363
"@stylistic/eslint-plugin": "^5.10.0",
6464
"confusing-browser-globals": "1.0.11",
65+
"eslint-import-resolver-typescript": "^4.4.4",
6566
"eslint-plugin-ava": "^16.0.0",
6667
"eslint-plugin-import-x": "^4.16.1",
6768
"eslint-plugin-n": "^17.24.0",

0 commit comments

Comments
 (0)