diff --git a/eslint.js.config.base.mjs b/eslint.js.config.base.mjs
index 31f147f9b5..66a155c8d5 100644
--- a/eslint.js.config.base.mjs
+++ b/eslint.js.config.base.mjs
@@ -1,4 +1,5 @@
+import { defineConfig } from 'eslint/config';
import eslint from '@eslint/js';
import eslintConfigPrettier from 'eslint-config-prettier';
-export default [eslint.configs.recommended, eslintConfigPrettier];
+export default defineConfig([eslint.configs.recommended, eslintConfigPrettier]);
diff --git a/eslint.js.react.jest.config.base.mjs b/eslint.js.react.jest.config.base.mjs
index 47997596d5..a07ab5a7f2 100644
--- a/eslint.js.react.jest.config.base.mjs
+++ b/eslint.js.react.jest.config.base.mjs
@@ -1,11 +1,11 @@
+import { defineConfig } from 'eslint/config';
import eslint from '@eslint/js';
import react from 'eslint-plugin-react';
-import { fixupPluginRules } from '@eslint/compat';
-import eslintPluginReactHooks from 'eslint-plugin-react-hooks';
+import reactHooks from 'eslint-plugin-react-hooks';
import jest from 'eslint-plugin-jest';
import eslintConfigPrettier from 'eslint-config-prettier';
-export default [
+export default defineConfig([
{
files: ['test/**/*.js', 'test/**/*.jsx'],
...eslint.configs.recommended,
@@ -24,9 +24,7 @@ export default [
},
{
files: ['test/**/*.js', 'test/**/*.jsx'],
- plugins: {
- 'react-hooks': fixupPluginRules(eslintPluginReactHooks),
- },
+ ...reactHooks.configs.flat.recommended,
},
{
files: ['test/**/*.js', 'test/**/*.jsx'],
@@ -40,4 +38,4 @@ export default [
files: ['test/**/*.js', 'test/**/*.jsx'],
...eslintConfigPrettier,
},
-];
+]);
diff --git a/eslint.ts.config.base.mjs b/eslint.ts.config.base.mjs
index 2af98f40be..095a55337b 100644
--- a/eslint.ts.config.base.mjs
+++ b/eslint.ts.config.base.mjs
@@ -1,55 +1,57 @@
+import { defineConfig } from 'eslint/config';
import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';
import eslintConfigPrettier from 'eslint-config-prettier';
-export default (tsconfigRootDir, files = ['**/*.ts'], project = true) => [
- {
- files,
- ...eslint.configs.recommended,
- },
- ...tseslint.configs.recommendedTypeChecked.map((config) => ({
- files,
- ...config,
- })),
- ...tseslint.configs.stylisticTypeChecked.map((config) => ({
- files,
- ...config,
- })),
- {
- files,
- languageOptions: {
- parserOptions: {
- project,
- tsconfigRootDir,
+export default (tsconfigRootDir, files = ['**/*.ts'], project = true) =>
+ defineConfig([
+ {
+ files,
+ ...eslint.configs.recommended,
+ },
+ ...tseslint.configs.recommendedTypeChecked.map((config) => ({
+ files,
+ ...config,
+ })),
+ ...tseslint.configs.stylisticTypeChecked.map((config) => ({
+ files,
+ ...config,
+ })),
+ {
+ files,
+ languageOptions: {
+ parserOptions: {
+ project,
+ tsconfigRootDir,
+ },
},
},
- },
- {
- files,
- ...eslintConfigPrettier,
- },
- {
- files,
- rules: {
- '@typescript-eslint/no-unsafe-return': 'off',
- '@typescript-eslint/no-unsafe-assignment': 'off',
- '@typescript-eslint/no-unsafe-call': 'off',
- '@typescript-eslint/no-unsafe-member-access': 'off',
- '@typescript-eslint/prefer-optional-chain': 'off',
- '@typescript-eslint/no-base-to-string': 'off',
- '@typescript-eslint/consistent-indexed-object-style': 'off',
- '@typescript-eslint/prefer-nullish-coalescing': 'off',
- '@typescript-eslint/consistent-type-definitions': 'off',
- '@typescript-eslint/no-unused-vars': 'off',
- '@typescript-eslint/no-explicit-any': 'off',
- '@typescript-eslint/prefer-for-of': 'off',
- '@typescript-eslint/non-nullable-type-assertion-style': 'off',
- '@typescript-eslint/class-literal-property-style': 'off',
- '@typescript-eslint/no-redundant-type-constituents': 'off',
- '@typescript-eslint/prefer-string-starts-ends-with': 'off',
- '@typescript-eslint/no-duplicate-type-constituents': 'off',
- '@typescript-eslint/array-type': 'off',
- '@typescript-eslint/prefer-function-type': 'off',
+ {
+ files,
+ ...eslintConfigPrettier,
+ },
+ {
+ files,
+ rules: {
+ '@typescript-eslint/no-unsafe-return': 'off',
+ '@typescript-eslint/no-unsafe-assignment': 'off',
+ '@typescript-eslint/no-unsafe-call': 'off',
+ '@typescript-eslint/no-unsafe-member-access': 'off',
+ '@typescript-eslint/prefer-optional-chain': 'off',
+ '@typescript-eslint/no-base-to-string': 'off',
+ '@typescript-eslint/consistent-indexed-object-style': 'off',
+ '@typescript-eslint/prefer-nullish-coalescing': 'off',
+ '@typescript-eslint/consistent-type-definitions': 'off',
+ '@typescript-eslint/no-unused-vars': 'off',
+ '@typescript-eslint/no-explicit-any': 'off',
+ '@typescript-eslint/prefer-for-of': 'off',
+ '@typescript-eslint/non-nullable-type-assertion-style': 'off',
+ '@typescript-eslint/class-literal-property-style': 'off',
+ '@typescript-eslint/no-redundant-type-constituents': 'off',
+ '@typescript-eslint/prefer-string-starts-ends-with': 'off',
+ '@typescript-eslint/no-duplicate-type-constituents': 'off',
+ '@typescript-eslint/array-type': 'off',
+ '@typescript-eslint/prefer-function-type': 'off',
+ },
},
- },
-];
+ ]);
diff --git a/eslint.ts.jest.config.base.mjs b/eslint.ts.jest.config.base.mjs
index fd916a03f2..d3ebd7be20 100644
--- a/eslint.ts.jest.config.base.mjs
+++ b/eslint.ts.jest.config.base.mjs
@@ -1,64 +1,66 @@
+import { defineConfig } from 'eslint/config';
import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';
import jest from 'eslint-plugin-jest';
import eslintConfigPrettier from 'eslint-config-prettier';
-export default (tsconfigRootDir) => [
- {
- files: ['test/**/*.ts'],
- ...eslint.configs.recommended,
- },
- ...tseslint.configs.recommendedTypeChecked.map((config) => ({
- files: ['test/**/*.ts'],
- ...config,
- })),
- ...tseslint.configs.stylisticTypeChecked.map((config) => ({
- files: ['test/**/*.ts'],
- ...config,
- })),
- {
- files: ['test/**/*.ts'],
- languageOptions: {
- parserOptions: {
- project: ['./tsconfig.test.json'],
- tsconfigRootDir,
+export default (tsconfigRootDir) =>
+ defineConfig([
+ {
+ files: ['test/**/*.ts'],
+ ...eslint.configs.recommended,
+ },
+ ...tseslint.configs.recommendedTypeChecked.map((config) => ({
+ files: ['test/**/*.ts'],
+ ...config,
+ })),
+ ...tseslint.configs.stylisticTypeChecked.map((config) => ({
+ files: ['test/**/*.ts'],
+ ...config,
+ })),
+ {
+ files: ['test/**/*.ts'],
+ languageOptions: {
+ parserOptions: {
+ project: ['./tsconfig.test.json'],
+ tsconfigRootDir,
+ },
},
},
- },
- {
- files: ['test/**/*.ts'],
- ...jest.configs['flat/recommended'],
- },
- {
- files: ['test/**/*.ts'],
- ...jest.configs['jest/style'],
- },
- {
- files: ['test/**/*.ts'],
- ...eslintConfigPrettier,
- },
- {
- files: ['test/**/*.ts'],
- rules: {
- '@typescript-eslint/no-unsafe-return': 'off',
- '@typescript-eslint/no-unsafe-assignment': 'off',
- '@typescript-eslint/no-unsafe-call': 'off',
- '@typescript-eslint/no-unsafe-member-access': 'off',
- '@typescript-eslint/prefer-optional-chain': 'off',
- '@typescript-eslint/no-base-to-string': 'off',
- '@typescript-eslint/consistent-indexed-object-style': 'off',
- '@typescript-eslint/prefer-nullish-coalescing': 'off',
- '@typescript-eslint/consistent-type-definitions': 'off',
- '@typescript-eslint/no-unused-vars': 'off',
- '@typescript-eslint/no-explicit-any': 'off',
- '@typescript-eslint/prefer-for-of': 'off',
- '@typescript-eslint/non-nullable-type-assertion-style': 'off',
- '@typescript-eslint/class-literal-property-style': 'off',
- '@typescript-eslint/no-redundant-type-constituents': 'off',
- '@typescript-eslint/prefer-string-starts-ends-with': 'off',
- '@typescript-eslint/no-duplicate-type-constituents': 'off',
- '@typescript-eslint/array-type': 'off',
- '@typescript-eslint/prefer-function-type': 'off',
+ {
+ files: ['test/**/*.ts'],
+ ...jest.configs['flat/recommended'],
+ },
+ {
+ files: ['test/**/*.ts'],
+ ...jest.configs['jest/style'],
+ },
+ {
+ files: ['test/**/*.ts'],
+ ...eslintConfigPrettier,
+ },
+ {
+ files: ['test/**/*.ts'],
+ rules: {
+ '@typescript-eslint/no-unsafe-return': 'off',
+ '@typescript-eslint/no-unsafe-assignment': 'off',
+ '@typescript-eslint/no-unsafe-call': 'off',
+ '@typescript-eslint/no-unsafe-member-access': 'off',
+ '@typescript-eslint/prefer-optional-chain': 'off',
+ '@typescript-eslint/no-base-to-string': 'off',
+ '@typescript-eslint/consistent-indexed-object-style': 'off',
+ '@typescript-eslint/prefer-nullish-coalescing': 'off',
+ '@typescript-eslint/consistent-type-definitions': 'off',
+ '@typescript-eslint/no-unused-vars': 'off',
+ '@typescript-eslint/no-explicit-any': 'off',
+ '@typescript-eslint/prefer-for-of': 'off',
+ '@typescript-eslint/non-nullable-type-assertion-style': 'off',
+ '@typescript-eslint/class-literal-property-style': 'off',
+ '@typescript-eslint/no-redundant-type-constituents': 'off',
+ '@typescript-eslint/prefer-string-starts-ends-with': 'off',
+ '@typescript-eslint/no-duplicate-type-constituents': 'off',
+ '@typescript-eslint/array-type': 'off',
+ '@typescript-eslint/prefer-function-type': 'off',
+ },
},
- },
-];
+ ]);
diff --git a/eslint.ts.react.config.base.mjs b/eslint.ts.react.config.base.mjs
index 110f1e8a21..5778aaacc3 100644
--- a/eslint.ts.react.config.base.mjs
+++ b/eslint.ts.react.config.base.mjs
@@ -1,89 +1,88 @@
+import { defineConfig } from 'eslint/config';
import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';
import react from 'eslint-plugin-react';
-import { fixupPluginRules } from '@eslint/compat';
-import eslintPluginReactHooks from 'eslint-plugin-react-hooks';
+import reactHooks from 'eslint-plugin-react-hooks';
import eslintConfigPrettier from 'eslint-config-prettier';
export default (
tsconfigRootDir,
files = ['**/*.ts', '**/*.tsx'],
project = true,
-) => [
- {
- files,
- ...eslint.configs.recommended,
- },
- ...tseslint.configs.recommendedTypeChecked.map((config) => ({
- files,
- ...config,
- })),
- ...tseslint.configs.stylisticTypeChecked.map((config) => ({
- files,
- ...config,
- })),
- {
- files,
- languageOptions: {
- parserOptions: {
- project,
- tsconfigRootDir,
+) =>
+ defineConfig([
+ {
+ files,
+ ...eslint.configs.recommended,
+ },
+ ...tseslint.configs.recommendedTypeChecked.map((config) => ({
+ files,
+ ...config,
+ })),
+ ...tseslint.configs.stylisticTypeChecked.map((config) => ({
+ files,
+ ...config,
+ })),
+ {
+ files,
+ languageOptions: {
+ parserOptions: {
+ project,
+ tsconfigRootDir,
+ },
},
},
- },
- {
- files,
- ...react.configs.flat.recommended,
- },
- {
- files,
- settings: {
- react: {
- version: 'detect',
+ {
+ files,
+ ...react.configs.flat.recommended,
+ },
+ {
+ files,
+ settings: {
+ react: {
+ version: 'detect',
+ },
},
},
- },
- {
- files,
- plugins: {
- 'react-hooks': fixupPluginRules(eslintPluginReactHooks),
+ {
+ files,
+ ...reactHooks.configs.flat.recommended,
},
- },
- {
- files,
- ...eslintConfigPrettier,
- },
- {
- files,
- rules: {
- '@typescript-eslint/no-unsafe-return': 'off',
- '@typescript-eslint/no-unsafe-assignment': 'off',
- '@typescript-eslint/no-unsafe-call': 'off',
- '@typescript-eslint/no-unsafe-member-access': 'off',
- '@typescript-eslint/no-misused-promises': [
- 'error',
- {
- checksVoidReturn: {
- attributes: false,
+ {
+ files,
+ ...eslintConfigPrettier,
+ },
+ {
+ files,
+ rules: {
+ '@typescript-eslint/no-unsafe-return': 'off',
+ '@typescript-eslint/no-unsafe-assignment': 'off',
+ '@typescript-eslint/no-unsafe-call': 'off',
+ '@typescript-eslint/no-unsafe-member-access': 'off',
+ '@typescript-eslint/no-misused-promises': [
+ 'error',
+ {
+ checksVoidReturn: {
+ attributes: false,
+ },
},
- },
- ],
- '@typescript-eslint/prefer-optional-chain': 'off',
- '@typescript-eslint/no-base-to-string': 'off',
- '@typescript-eslint/consistent-indexed-object-style': 'off',
- '@typescript-eslint/prefer-nullish-coalescing': 'off',
- '@typescript-eslint/consistent-type-definitions': 'off',
- '@typescript-eslint/no-unused-vars': 'off',
- '@typescript-eslint/no-explicit-any': 'off',
- '@typescript-eslint/prefer-for-of': 'off',
- '@typescript-eslint/non-nullable-type-assertion-style': 'off',
- '@typescript-eslint/class-literal-property-style': 'off',
- '@typescript-eslint/no-redundant-type-constituents': 'off',
- '@typescript-eslint/prefer-string-starts-ends-with': 'off',
- '@typescript-eslint/no-duplicate-type-constituents': 'off',
- '@typescript-eslint/array-type': 'off',
- '@typescript-eslint/prefer-function-type': 'off',
- 'react/prop-types': 'off',
+ ],
+ '@typescript-eslint/prefer-optional-chain': 'off',
+ '@typescript-eslint/no-base-to-string': 'off',
+ '@typescript-eslint/consistent-indexed-object-style': 'off',
+ '@typescript-eslint/prefer-nullish-coalescing': 'off',
+ '@typescript-eslint/consistent-type-definitions': 'off',
+ '@typescript-eslint/no-unused-vars': 'off',
+ '@typescript-eslint/no-explicit-any': 'off',
+ '@typescript-eslint/prefer-for-of': 'off',
+ '@typescript-eslint/non-nullable-type-assertion-style': 'off',
+ '@typescript-eslint/class-literal-property-style': 'off',
+ '@typescript-eslint/no-redundant-type-constituents': 'off',
+ '@typescript-eslint/prefer-string-starts-ends-with': 'off',
+ '@typescript-eslint/no-duplicate-type-constituents': 'off',
+ '@typescript-eslint/array-type': 'off',
+ '@typescript-eslint/prefer-function-type': 'off',
+ 'react/prop-types': 'off',
+ },
},
- },
-];
+ ]);
diff --git a/eslint.ts.react.jest.config.base.mjs b/eslint.ts.react.jest.config.base.mjs
index f0db2ab2fb..3c6a99b058 100644
--- a/eslint.ts.react.jest.config.base.mjs
+++ b/eslint.ts.react.jest.config.base.mjs
@@ -1,85 +1,84 @@
+import { defineConfig } from 'eslint/config';
import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';
import react from 'eslint-plugin-react';
-import { fixupPluginRules } from '@eslint/compat';
-import eslintPluginReactHooks from 'eslint-plugin-react-hooks';
+import reactHooks from 'eslint-plugin-react-hooks';
import jest from 'eslint-plugin-jest';
import eslintConfigPrettier from 'eslint-config-prettier';
-export default (tsconfigRootDir) => [
- {
- files: ['test/**/*.ts', 'test/**/*.tsx'],
- ...eslint.configs.recommended,
- },
- ...tseslint.configs.recommendedTypeChecked.map((config) => ({
- files: ['test/**/*.ts', 'test/**/*.tsx'],
- ...config,
- })),
- ...tseslint.configs.stylisticTypeChecked.map((config) => ({
- files: ['test/**/*.ts', 'test/**/*.tsx'],
- ...config,
- })),
- {
- files: ['test/**/*.ts', 'test/**/*.tsx'],
- languageOptions: {
- parserOptions: {
- project: ['./tsconfig.test.json'],
- tsconfigRootDir,
+export default (tsconfigRootDir) =>
+ defineConfig([
+ {
+ files: ['test/**/*.ts', 'test/**/*.tsx'],
+ ...eslint.configs.recommended,
+ },
+ ...tseslint.configs.recommendedTypeChecked.map((config) => ({
+ files: ['test/**/*.ts', 'test/**/*.tsx'],
+ ...config,
+ })),
+ ...tseslint.configs.stylisticTypeChecked.map((config) => ({
+ files: ['test/**/*.ts', 'test/**/*.tsx'],
+ ...config,
+ })),
+ {
+ files: ['test/**/*.ts', 'test/**/*.tsx'],
+ languageOptions: {
+ parserOptions: {
+ project: ['./tsconfig.test.json'],
+ tsconfigRootDir,
+ },
},
},
- },
- {
- files: ['test/**/*.ts', 'test/**/*.tsx'],
- ...react.configs.flat.recommended,
- },
- {
- files: ['test/**/*.ts', 'test/**/*.tsx'],
- settings: {
- react: {
- version: 'detect',
+ {
+ files: ['test/**/*.ts', 'test/**/*.tsx'],
+ ...react.configs.flat.recommended,
+ },
+ {
+ files: ['test/**/*.ts', 'test/**/*.tsx'],
+ settings: {
+ react: {
+ version: 'detect',
+ },
},
},
- },
- {
- files: ['test/**/*.ts', 'test/**/*.tsx'],
- plugins: {
- 'react-hooks': fixupPluginRules(eslintPluginReactHooks),
+ {
+ files: ['test/**/*.ts', 'test/**/*.tsx'],
+ ...reactHooks.configs.flat.recommended,
+ },
+ {
+ files: ['test/**/*.ts', 'test/**/*.tsx'],
+ ...jest.configs['flat/recommended'],
},
- },
- {
- files: ['test/**/*.ts', 'test/**/*.tsx'],
- ...jest.configs['flat/recommended'],
- },
- {
- files: ['test/**/*.ts', 'test/**/*.tsx'],
- ...jest.configs['jest/style'],
- },
- {
- files: ['test/**/*.ts', 'test/**/*.tsx'],
- ...eslintConfigPrettier,
- },
- {
- files: ['test/**/*.ts', 'test/**/*.tsx'],
- rules: {
- '@typescript-eslint/no-unsafe-return': 'off',
- '@typescript-eslint/no-unsafe-assignment': 'off',
- '@typescript-eslint/no-unsafe-call': 'off',
- '@typescript-eslint/no-unsafe-member-access': 'off',
- '@typescript-eslint/prefer-optional-chain': 'off',
- '@typescript-eslint/no-base-to-string': 'off',
- '@typescript-eslint/consistent-indexed-object-style': 'off',
- '@typescript-eslint/prefer-nullish-coalescing': 'off',
- '@typescript-eslint/consistent-type-definitions': 'off',
- '@typescript-eslint/no-unused-vars': 'off',
- '@typescript-eslint/no-explicit-any': 'off',
- '@typescript-eslint/prefer-for-of': 'off',
- '@typescript-eslint/non-nullable-type-assertion-style': 'off',
- '@typescript-eslint/class-literal-property-style': 'off',
- '@typescript-eslint/no-redundant-type-constituents': 'off',
- '@typescript-eslint/prefer-string-starts-ends-with': 'off',
- '@typescript-eslint/no-duplicate-type-constituents': 'off',
- '@typescript-eslint/array-type': 'off',
- '@typescript-eslint/prefer-function-type': 'off',
+ {
+ files: ['test/**/*.ts', 'test/**/*.tsx'],
+ ...jest.configs['jest/style'],
+ },
+ {
+ files: ['test/**/*.ts', 'test/**/*.tsx'],
+ ...eslintConfigPrettier,
+ },
+ {
+ files: ['test/**/*.ts', 'test/**/*.tsx'],
+ rules: {
+ '@typescript-eslint/no-unsafe-return': 'off',
+ '@typescript-eslint/no-unsafe-assignment': 'off',
+ '@typescript-eslint/no-unsafe-call': 'off',
+ '@typescript-eslint/no-unsafe-member-access': 'off',
+ '@typescript-eslint/prefer-optional-chain': 'off',
+ '@typescript-eslint/no-base-to-string': 'off',
+ '@typescript-eslint/consistent-indexed-object-style': 'off',
+ '@typescript-eslint/prefer-nullish-coalescing': 'off',
+ '@typescript-eslint/consistent-type-definitions': 'off',
+ '@typescript-eslint/no-unused-vars': 'off',
+ '@typescript-eslint/no-explicit-any': 'off',
+ '@typescript-eslint/prefer-for-of': 'off',
+ '@typescript-eslint/non-nullable-type-assertion-style': 'off',
+ '@typescript-eslint/class-literal-property-style': 'off',
+ '@typescript-eslint/no-redundant-type-constituents': 'off',
+ '@typescript-eslint/prefer-string-starts-ends-with': 'off',
+ '@typescript-eslint/no-duplicate-type-constituents': 'off',
+ '@typescript-eslint/array-type': 'off',
+ '@typescript-eslint/prefer-function-type': 'off',
+ },
},
- },
-];
+ ]);
diff --git a/package.json b/package.json
index d5c308fec7..aec9b3dd21 100644
--- a/package.json
+++ b/package.json
@@ -3,13 +3,12 @@
"devDependencies": {
"@babel/core": "^7.28.4",
"@changesets/cli": "^2.29.7",
- "@eslint/compat": "^1.4.0",
"@eslint/js": "^9.37.0",
"eslint": "^9.37.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-jest": "^29.0.1",
"eslint-plugin-react": "^7.37.5",
- "eslint-plugin-react-hooks": "^5.2.0",
+ "eslint-plugin-react-hooks": "^7.0.0",
"jest": "^30.2.0",
"prettier": "3.6.2",
"typescript": "~5.9.3",
diff --git a/packages/redux-devtools-inspector-monitor-test-tab/demo/src/DevTools.tsx b/packages/redux-devtools-inspector-monitor-test-tab/demo/src/DevTools.tsx
index 8b68a2b634..4dae506d00 100644
--- a/packages/redux-devtools-inspector-monitor-test-tab/demo/src/DevTools.tsx
+++ b/packages/redux-devtools-inspector-monitor-test-tab/demo/src/DevTools.tsx
@@ -36,5 +36,6 @@ export const getDevTools = (location: { search: string }) =>
export function ConnectedDevTools() {
const location = useLocation();
const DevTools = getDevTools(location);
+ // eslint-disable-next-line react-hooks/static-components
return ;
}
diff --git a/packages/redux-devtools-inspector-monitor/demo/src/DevTools.tsx b/packages/redux-devtools-inspector-monitor/demo/src/DevTools.tsx
index 38d248e852..1690be2be9 100644
--- a/packages/redux-devtools-inspector-monitor/demo/src/DevTools.tsx
+++ b/packages/redux-devtools-inspector-monitor/demo/src/DevTools.tsx
@@ -47,5 +47,6 @@ export const getDevTools = (location: { search: string }) =>
export function ConnectedDevTools() {
const location = useLocation();
const DevTools = getDevTools(location);
+ // eslint-disable-next-line react-hooks/static-components
return ;
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 7aa04a75ba..ce0245972b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -25,9 +25,6 @@ importers:
'@changesets/cli':
specifier: ^2.29.7
version: 2.29.7(@types/node@22.18.10)
- '@eslint/compat':
- specifier: ^1.4.0
- version: 1.4.0(eslint@9.37.0)
'@eslint/js':
specifier: ^9.37.0
version: 9.37.0
@@ -44,8 +41,8 @@ importers:
specifier: ^7.37.5
version: 7.37.5(eslint@9.37.0)
eslint-plugin-react-hooks:
- specifier: ^5.2.0
- version: 5.2.0(eslint@9.37.0)
+ specifier: ^7.0.0
+ version: 7.0.0(eslint@9.37.0)
jest:
specifier: ^30.2.0
version: 30.2.0(@types/node@22.18.10)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.10))(ts-node@10.9.2(@types/node@22.18.10)(typescript@5.9.3))
@@ -3862,15 +3859,6 @@ packages:
resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- '@eslint/compat@1.4.0':
- resolution: {integrity: sha512-DEzm5dKeDBPm3r08Ixli/0cmxr8LkRdwxMRUIJBlSCpAwSrvFEJpVBzV+66JhDxiaqKxnRzCXhtiMiczF7Hglg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.40 || 9
- peerDependenciesMeta:
- eslint:
- optional: true
-
'@eslint/config-array@0.21.0':
resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -6792,9 +6780,9 @@ packages:
jest:
optional: true
- eslint-plugin-react-hooks@5.2.0:
- resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==}
- engines: {node: '>=10'}
+ eslint-plugin-react-hooks@7.0.0:
+ resolution: {integrity: sha512-fNXaOwvKwq2+pXiRpXc825Vd63+KM4DLL40Rtlycb8m7fYpp6efrTp1sa6ZbP/Ap58K2bEKFXRmhURE+CJAQWw==}
+ engines: {node: '>=18'}
peerDependencies:
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
@@ -7284,6 +7272,12 @@ packages:
headers-polyfill@4.0.3:
resolution: {integrity: sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==}
+ hermes-estree@0.25.1:
+ resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==}
+
+ hermes-parser@0.25.1:
+ resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==}
+
hex-rgba@1.0.2:
resolution: {integrity: sha512-MKla68wFGv+i7zU3Q4giWN74f+zWdkuf2Tk21fISV7aw55r8dH/noBbH5JsVlM4Z2WRTYCEmSxsoZ1QR/o68jg==}
@@ -10352,6 +10346,15 @@ packages:
resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==}
engines: {node: '>=18'}
+ zod-validation-error@4.0.2:
+ resolution: {integrity: sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ zod: ^3.25.0 || ^4.0.0
+
+ zod@4.1.12:
+ resolution: {integrity: sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==}
+
snapshots:
'@adobe/css-tools@4.4.4': {}
@@ -11831,12 +11834,6 @@ snapshots:
'@eslint-community/regexpp@4.12.1': {}
- '@eslint/compat@1.4.0(eslint@9.37.0)':
- dependencies:
- '@eslint/core': 0.16.0
- optionalDependencies:
- eslint: 9.37.0
-
'@eslint/config-array@0.21.0':
dependencies:
'@eslint/object-schema': 2.1.6
@@ -15460,9 +15457,16 @@ snapshots:
- supports-color
- typescript
- eslint-plugin-react-hooks@5.2.0(eslint@9.37.0):
+ eslint-plugin-react-hooks@7.0.0(eslint@9.37.0):
dependencies:
+ '@babel/core': 7.28.4
+ '@babel/parser': 7.28.4
eslint: 9.37.0
+ hermes-parser: 0.25.1
+ zod: 4.1.12
+ zod-validation-error: 4.0.2(zod@4.1.12)
+ transitivePeerDependencies:
+ - supports-color
eslint-plugin-react@7.37.5(eslint@9.37.0):
dependencies:
@@ -16092,6 +16096,12 @@ snapshots:
headers-polyfill@4.0.3: {}
+ hermes-estree@0.25.1: {}
+
+ hermes-parser@0.25.1:
+ dependencies:
+ hermes-estree: 0.25.1
+
hex-rgba@1.0.2: {}
hoist-non-react-statics@3.3.2:
@@ -19726,3 +19736,9 @@ snapshots:
yocto-queue@1.2.1: {}
yoctocolors-cjs@2.1.3: {}
+
+ zod-validation-error@4.0.2(zod@4.1.12):
+ dependencies:
+ zod: 4.1.12
+
+ zod@4.1.12: {}