Skip to content

Commit bb872dd

Browse files
authored
chore: migrate eslint-plugin-import to eslint-plugin-import-x (#4473)
close #4411
1 parent 108a052 commit bb872dd

File tree

4 files changed

+267
-1562
lines changed

4 files changed

+267
-1562
lines changed

@packages/test-environment/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@
3030
"license": "MIT",
3131
"dependencies": {
3232
"@types/tmp": "^0.2.5",
33-
"jest-environment-node": "^30.0.0",
34-
"tmp": "^0.2.1"
33+
"tmp": "^0.2.1",
34+
"vitest": "^3.0.0"
3535
},
3636
"gitHead": "71f0194f33943954a8dac1c458be47e5049717cd"
3737
}

eslint.config.mjs

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import typescriptEslint from '@typescript-eslint/eslint-plugin';
2+
import {createTypeScriptImportResolver} from 'eslint-import-resolver-typescript';
23
import jest from 'eslint-plugin-jest';
3-
import _import from 'eslint-plugin-import';
4-
import {fixupPluginRules} from '@eslint/compat';
4+
import {importX} from 'eslint-plugin-import-x';
55
import globals from 'globals';
66
import tsParser from '@typescript-eslint/parser';
77
import path from 'node:path';
@@ -21,12 +21,16 @@ export default [
2121
{
2222
ignores: ['**/lib/', '**/coverage/', '**/node_modules/', '**/fixtures/'],
2323
},
24+
importX.flatConfigs.typescript,
2425
...compat.extends('eslint:recommended', 'prettier'),
2526
{
2627
plugins: {
2728
'@typescript-eslint': typescriptEslint,
2829
jest,
29-
import: fixupPluginRules(_import),
30+
},
31+
32+
settings: {
33+
'import-x/resolver-next': createTypeScriptImportResolver(),
3034
},
3135

3236
languageOptions: {
@@ -45,14 +49,14 @@ export default [
4549
},
4650

4751
rules: {
48-
'import/first': 'error',
49-
'import/no-absolute-path': 'error',
50-
'import/no-amd': 'error',
51-
'import/no-mutable-exports': 'error',
52-
'import/no-named-default': 'error',
53-
'import/no-self-import': 'error',
52+
'import-x/first': 'error',
53+
'import-x/no-absolute-path': 'error',
54+
'import-x/no-amd': 'error',
55+
'import-x/no-mutable-exports': 'error',
56+
'import-x/no-named-default': 'error',
57+
'import-x/no-self-import': 'error',
5458

55-
'import/no-extraneous-dependencies': [
59+
'import-x/no-extraneous-dependencies': [
5660
'error',
5761
{
5862
devDependencies: true,
@@ -100,8 +104,8 @@ export default [
100104
rules: {
101105
'@typescript-eslint/no-explicit-any': 'off',
102106
'@typescript-eslint/no-var-requires': 'off',
103-
'import/first': 'off',
104-
'import/no-extraneous-dependencies': 'off',
107+
'import-x/first': 'off',
108+
'import-x/no-extraneous-dependencies': 'off',
105109
'jest/no-deprecated-functions': 'off',
106110
},
107111
},

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,6 @@
8282
"email": "[email protected]"
8383
},
8484
"devDependencies": {
85-
"@eslint/compat": "^1.2.4",
8685
"@eslint/eslintrc": "^3.1.0",
8786
"@eslint/js": "^9.16.0",
8887
"@swc/core": "^1.10.1",
@@ -92,7 +91,8 @@
9291
"cross-env": "^7.0.3",
9392
"eslint": "^9.16.0",
9493
"eslint-config-prettier": "^10.0.0",
95-
"eslint-plugin-import": "^2.30.0",
94+
"eslint-import-resolver-typescript": "^4.4.3",
95+
"eslint-plugin-import-x": "^4.15.2",
9696
"eslint-plugin-jest": "^29.0.0",
9797
"globals": "^16.0.0",
9898
"husky": "^9.1.5",

0 commit comments

Comments
 (0)