chore(eslint): replace eslint-plugin-react w/ eslint-react (#4844)

* chore(eslint): replace `eslint-plugin-react` w/ `eslint-react`

* chore(eslint): replace `eslint-plugin-import` w/ `import-x`
This commit is contained in:
Sukka
2025-09-24 13:25:22 +08:00
committed by GitHub
parent b608a389c5
commit fb5d5a7d37
3 changed files with 527 additions and 183 deletions

View File

@@ -1,14 +1,15 @@
import js from "@eslint/js";
import configPrettier from "eslint-config-prettier";
import pluginImport from "eslint-plugin-import";
import pluginImportX from "eslint-plugin-import-x";
import pluginPrettier from "eslint-plugin-prettier";
import pluginReact from "eslint-plugin-react";
import pluginReactHooks from "eslint-plugin-react-hooks";
import pluginReactRefresh from "eslint-plugin-react-refresh";
import pluginUnusedImports from "eslint-plugin-unused-imports";
import { defineConfig } from "eslint/config";
import globals from "globals";
import tseslint from "typescript-eslint";
import eslintReact from "@eslint-react/eslint-plugin";
import { createTypeScriptImportResolver } from "eslint-import-resolver-typescript";
export default defineConfig([
{
@@ -16,9 +17,9 @@ export default defineConfig([
plugins: {
js,
react: pluginReact,
"react-hooks": pluginReactHooks,
import: pluginImport,
// @ts-expect-error -- https://github.com/un-ts/eslint-plugin-import-x/issues/421
"import-x": pluginImportX,
"react-refresh": pluginReactRefresh,
"unused-imports": pluginUnusedImports,
prettier: pluginPrettier,
@@ -27,8 +28,7 @@ export default defineConfig([
extends: [
"js/recommended",
tseslint.configs.recommended,
pluginReact.configs.flat.recommended,
pluginReact.configs.flat["jsx-runtime"],
eslintReact.configs["recommended-typescript"],
configPrettier,
],
@@ -40,11 +40,11 @@ export default defineConfig([
react: {
version: "detect",
},
"import/resolver": {
typescript: {
"import-x/resolver-next": [
createTypeScriptImportResolver({
project: "./tsconfig.json",
},
},
}),
],
},
rules: {
@@ -73,8 +73,8 @@ export default defineConfig([
],
// Import
"import/no-unresolved": "error",
"import/order": [
"import-x/no-unresolved": "error",
"import-x/order": [
"warn",
{
groups: [

View File

@@ -75,6 +75,7 @@
},
"devDependencies": {
"@actions/github": "^6.0.1",
"@eslint-react/eslint-plugin": "^1.53.1",
"@eslint/js": "^9.36.0",
"@tauri-apps/cli": "2.8.4",
"@types/js-yaml": "^4.0.9",
@@ -90,9 +91,8 @@
"eslint": "^9.36.0",
"eslint-config-prettier": "^10.1.8",
"eslint-import-resolver-typescript": "^4.4.4",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-import-x": "^4.16.1",
"eslint-plugin-prettier": "^5.5.4",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^5.2.0",
"eslint-plugin-react-refresh": "^0.4.21",
"eslint-plugin-unused-imports": "^4.2.0",

682
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff