diff --git a/app/packages/playback/eslint.config.mjs b/app/packages/playback/eslint.config.mjs index 2281b87778..5fd106b853 100644 --- a/app/packages/playback/eslint.config.mjs +++ b/app/packages/playback/eslint.config.mjs @@ -1,7 +1,8 @@ +import { fixupConfigRules } from "@eslint/compat"; +import hooksPlugin from "eslint-plugin-react-hooks"; +import pluginReactConfig from "eslint-plugin-react/configs/recommended.js"; import globals from "globals"; import tseslint from "typescript-eslint"; -import pluginReactConfig from "eslint-plugin-react/configs/recommended.js"; -import { fixupConfigRules } from "@eslint/compat"; export default [ { files: ["lib/**/*.{js,mjs,cjs,ts,jsx,tsx}"] }, @@ -9,4 +10,10 @@ export default [ { languageOptions: { globals: globals.browser } }, ...tseslint.configs.recommended, ...fixupConfigRules(pluginReactConfig), + { + plugins: { + "react-hooks": hooksPlugin, + }, + rules: hooksPlugin.configs.recommended.rules, + }, ]; diff --git a/app/packages/playback/package.json b/app/packages/playback/package.json index 081b41a9b4..3bde5e8218 100644 --- a/app/packages/playback/package.json +++ b/app/packages/playback/package.json @@ -6,6 +6,7 @@ "@eslint/compat": "^1.1.1", "eslint": "9.7.0", "eslint-plugin-react": "^7.35.0", + "eslint-plugin-react-hooks": "rc", "globals": "^15.8.0", "prettier": "^3.3.3", "typescript": "^5.5.4", diff --git a/app/yarn.lock b/app/yarn.lock index 9771ba0e5e..2bdcadf2ac 100644 --- a/app/yarn.lock +++ b/app/yarn.lock @@ -1942,6 +1942,7 @@ __metadata: "@eslint/compat": ^1.1.1 eslint: 9.7.0 eslint-plugin-react: ^7.35.0 + eslint-plugin-react-hooks: rc globals: ^15.8.0 jotai: ^2.9.3 jotai-optics: ^0.4.0 @@ -8388,6 +8389,15 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-react-hooks@npm:rc": + version: 5.1.0-rc-28668d39-20241023 + resolution: "eslint-plugin-react-hooks@npm:5.1.0-rc-28668d39-20241023" + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + checksum: 6ad29212fa76b96488a6eeb9941a9a6111420092cc309417f5569f917e4e40b15ed282172842ca8611466387c3d750ceee07e9e739e4c28e808065eaf9ed2307 + languageName: node + linkType: hard + "eslint-plugin-react@npm:^7.31.11": version: 7.34.1 resolution: "eslint-plugin-react@npm:7.34.1"