@@ -4,7 +4,8 @@ import stylistic from '@stylistic/eslint-plugin';
44import css from '@eslint/css' ; // eslint-disable-line no-unused-vars
55import typescriptEslint from 'typescript-eslint' ;
66import 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' ;
89import pluginN from 'eslint-plugin-n' ;
910import 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 } ,
0 commit comments