Tamasho blog
← 一覧に戻る

eslint-plugin-reactから@eslint-react/eslint-pluginに移行

2026-10-24

Reactのlintルールをeslint-plugin-reactから@eslint-react/eslint-pluginに移行した。

移行の理由

eslint-plugin-reactがESLint 10へのブロッカーになっていたため。ESLint 10では非推奨のAPIの削除があったが、eslint-plugin-reactでは未対応であった。ESLint 10への対応PR自体は7月末出ていたが、記事執筆時点(2026/10/24)では未マージである。
PR: https://github.com/jsx-eslint/eslint-plugin-react/pull/4022

Next.jsのプロジェクトでは、プロジェクト側で互換レイヤーを作成することによって使用を継続していた。ただ、AIである程度簡単にできるとはいえESLintの変更に応じてパッチが必要になるのも面倒なので移行した。
Next.jsの変更: https://github.com/vercel/next.js/commit/907721a66e8b4174515445c27068d9835bd424d8

移行先

@eslint-react/eslint-pluginのリポジトリ: https://github.com/Rel1cx/eslint-react

ルールについては全てのeslint-plugin-reactのルールをカバーしているわけではないので、移行の際には注意が必要である。
ルールの対応表: https://eslint-react.xyz/docs/migrating-from-eslint-plugin-react

個人のリポジトリであるため、会社のルールによっては使えない可能性もある。ESLint Communityへの招待も来ているが、実際に今後移管されるかは未定である。
招待: https://github.com/Rel1cx/eslint-react/issues/1950

Tamashoのアバター

著者

Tamasho

Webエンジニアをしています

GitHub
楽天モバイル紹介キャンペーン