Skip to content

Commit 48f3d22

Browse files
authored
Merge pull request #87 from JounQin/refactor/import-x
chore: migrate `eslint-plugin-import` to `import-x`
2 parents e5e8a3c + 6ad6c76 commit 48f3d22

File tree

10 files changed

+95
-24
lines changed

10 files changed

+95
-24
lines changed

.commitlintrc.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ const commitlintConfig: UserConfig = {
44
extends: ['@commitlint/config-conventional'],
55
};
66

7-
// eslint-disable-next-line import/no-default-export
7+
// eslint-disable-next-line import-x/no-default-export
88
export default commitlintConfig;

.storybook/main.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,5 @@ const storybookConfig: StorybookConfig = {
3030
addons: ['@storybook/addon-webpack5-compiler-swc'],
3131
};
3232

33-
// eslint-disable-next-line import/no-default-export
33+
// eslint-disable-next-line import-x/no-default-export
3434
export default storybookConfig;

.storybook/preview.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ const preview: Preview = {
1414
},
1515
};
1616

17-
// eslint-disable-next-line import/no-default-export
17+
// eslint-disable-next-line import-x/no-default-export
1818
export default preview;

eslint.config.mjs

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
import eslint from '@eslint/js';
22
import eslintPluginVitest from '@vitest/eslint-plugin';
33
import eslintConfigPrettier from 'eslint-config-prettier';
4-
import eslintPluginImport from 'eslint-plugin-import';
4+
import { createTypeScriptImportResolver } from 'eslint-import-resolver-typescript';
5+
import * as eslintPluginImportX from 'eslint-plugin-import-x';
56
import eslintPluginJestDom from 'eslint-plugin-jest-dom';
67
import eslintPluginJsxA11y from 'eslint-plugin-jsx-a11y';
78
import eslintPluginPlaywright from 'eslint-plugin-playwright';
89
import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended';
910
import eslintPluginReact from 'eslint-plugin-react';
10-
import eslintPluginReactHooks from 'eslint-plugin-react-hooks';
11+
import * as eslintPluginReactHooks from 'eslint-plugin-react-hooks';
1112
import eslintPluginTestingLibrary from 'eslint-plugin-testing-library';
12-
import tseslint from 'typescript-eslint';
13+
import * as tseslint from 'typescript-eslint';
1314

1415
export default tseslint.config(
1516
eslint.configs.recommended,
16-
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access
17-
eslintPluginImport.flatConfigs.recommended,
17+
18+
eslintPluginImportX.flatConfigs.recommended,
19+
eslintPluginImportX.flatConfigs.typescript,
1820
...tseslint.configs.strictTypeChecked,
1921
...tseslint.configs.stylisticTypeChecked,
2022
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access
@@ -36,14 +38,11 @@ export default tseslint.config(
3638
languageOptions: {
3739
parserOptions: {
3840
projectService: true,
39-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
40-
tsconfigRootDir: import.meta.name,
41+
tsconfigRootDir: import.meta.dirname,
4142
},
4243
},
4344
settings: {
44-
'import/resolver': {
45-
typescript: { project: './tsconfig.json' },
46-
},
45+
'import-x/resolver-next': [createTypeScriptImportResolver()],
4746
react: { version: 'detect' },
4847
},
4948
},
@@ -88,8 +87,8 @@ export default tseslint.config(
8887
},
8988
],
9089

91-
'import/no-default-export': 'error',
92-
'import/order': [
90+
'import-x/no-default-export': 'error',
91+
'import-x/order': [
9392
'error',
9493
{
9594
groups: ['builtin', 'external', 'internal', 'parent', 'sibling'],
@@ -123,7 +122,7 @@ export default tseslint.config(
123122
{
124123
files: ['stories/**/*.demozap.*', '**/*.stories.*'],
125124
rules: {
126-
'import/no-default-export': 'off',
125+
'import-x/no-default-export': 'off',
127126
},
128127
},
129128
{

knip.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@ const knipConfig: KnipConfig = {
1212
],
1313
};
1414

15-
// eslint-disable-next-line import/no-default-export
15+
// eslint-disable-next-line import-x/no-default-export
1616
export default knipConfig;

package-lock.json

Lines changed: 75 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
"eslint": "9.25.1",
7575
"eslint-config-prettier": "10.1.2",
7676
"eslint-import-resolver-typescript": "4.3.4",
77-
"eslint-plugin-import": "2.31.0",
77+
"eslint-plugin-import-x": "4.10.6",
7878
"eslint-plugin-jest-dom": "5.5.0",
7979
"eslint-plugin-jsx-a11y": "6.10.2",
8080
"eslint-plugin-no-array-reduce": "1.0.62",

playwright.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const IS_CI = process.env.CI === 'true';
44
const BASE_URL = 'http://localhost:9009';
55
const TIMEOUT_SECONDS = IS_CI ? 15 : 5;
66

7-
// eslint-disable-next-line import/no-default-export
7+
// eslint-disable-next-line import-x/no-default-export
88
export default defineConfig({
99
testDir: './e2e',
1010
fullyParallel: true,

src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// eslint-disable-next-line import/no-default-export
1+
// eslint-disable-next-line import-x/no-default-export
22
export { ReactParallaxTilt as default } from './react-parallax-tilt/ReactParallaxTilt';
33

44
// Public exposed library types

vitest.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import tsconfigPaths from 'vite-tsconfig-paths';
22
import { defineConfig } from 'vitest/config';
33

4-
// eslint-disable-next-line import/no-default-export
4+
// eslint-disable-next-line import-x/no-default-export
55
export default defineConfig({
66
plugins: [tsconfigPaths()],
77
test: {

0 commit comments

Comments
 (0)