airbnb / airbnb/javascript

Upgrading eslint-plugin-react-hooks

Open
#3,186 3 comments 2 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
148k
Forks
26.6k
PR merge metrics
No merged PRs in 30d

Description

A new version of [eslint-plugin-react-hooks](https://react.dev/reference/eslint-plugin-react-hooks) has been released, which adds support for React Compiler related rules. I recommend releasing a version that supports the new version of eslint-plugin-react-hooks before supporting V9.

New eslint-plugin-react-hooks configuration

```js
{
"plugins": [
// ...
"react-hooks"
],
"rules": {
// ...
// Core hooks rules
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": "warn",

// React Compiler rules
"react-hooks/config": "error",
"react-hooks/error-boundaries": "error",
"react-hooks/component-hook-factories": "error",
"react-hooks/gating": "error",
"react-hooks/globals": "error",
"react-hooks/immutability": "error",
"react-hooks/preserve-manual-memoization": "error",
"react-hooks/purity": "error",
"react-hooks/refs": "error",
"react-hooks/set-state-in-effect": "error",
"react-hooks/set-state-in-render": "error",
"react-hooks/static-components": "error",
"react-hooks/unsupported-syntax": "warn",
"react-hooks/use-memo": "error",
"react-hooks/incompatible-library": "warn"
}
}
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the repository's eslint-plugin-react-hooks dependency and ESLint rule configuration, then compare them with the React Compiler rules listed in the issue. Done means the project supports the requested plugin version and its relevant rules without breaking existing linting or release expectations.

Written by the indexing model from the issue text.

Assessment

Tech stack
eslint, javascript, react
Domain
tooling
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.