Skip to content

[eslint-plugin-react-hooks] Add ESLint v10 support#35720

Merged
josephsavona merged 2 commits intofacebook:mainfrom
azat-io:feat/eslint-10
Feb 13, 2026
Merged

[eslint-plugin-react-hooks] Add ESLint v10 support#35720
josephsavona merged 2 commits intofacebook:mainfrom
azat-io:feat/eslint-10

Conversation

@azat-io
Copy link
Contributor

@azat-io azat-io commented Feb 8, 2026

Summary

ESLint v10.0.0 was released on February 7, 2026. The current peerDependencies for eslint-plugin-react-hooks only allows up to ^9.0.0, which causes peer dependency warnings when installing with ESLint v10.

This PR:

  • Adds ^10.0.0 to the eslint peer dependency range
  • Adds eslint-v10 to devDependencies for testing
  • Adds an eslint-v10 e2e fixture (based on the existing eslint-v9 fixture)

ESLint v10's main breaking changes (removal of legacy eslintrc config, deprecated context methods) don't affect this plugin - flat config is already supported since v7.0.0, and the deprecated APIs already have fallbacks in place.

How did you test this change?

Ran the existing unit test suite:

cd packages/eslint-plugin-react-hooks && yarn test

All 5082 tests passed.

@meta-cla
Copy link

meta-cla bot commented Feb 8, 2026

Hi @azat-io!

Thank you for your pull request and welcome to our community.

Action Required

In order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you.

Process

In order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA.

Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with CLA signed. The tagging process may take up to 1 hour after signing. Please give it that time before contacting us about it.

If you have received this in error or have any questions, please contact us at cla@meta.com. Thanks!

Copy link
Member

@josephsavona josephsavona left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome, thanks!

Copy link
Member

@josephsavona josephsavona left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You'll also need to update https://github.com/facebook/react/blob/main/.github/workflows/runtime_eslint_plugin_e2e.yml#L27-L31 to make sure the new fixture runs in CI

@react-sizebot
Copy link

react-sizebot commented Feb 12, 2026

Comparing: 65db100...9867b67

Critical size changes

Includes critical production bundles, as well as any change greater than 2%:

Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable/react-dom/cjs/react-dom.production.js = 6.84 kB 6.84 kB +0.05% 1.88 kB 1.88 kB
oss-stable/react-dom/cjs/react-dom-client.production.js = 610.35 kB 610.35 kB = 107.89 kB 107.89 kB
oss-experimental/react-dom/cjs/react-dom.production.js = 6.84 kB 6.84 kB +0.05% 1.88 kB 1.88 kB
oss-experimental/react-dom/cjs/react-dom-client.production.js = 676.28 kB 676.28 kB = 118.85 kB 118.85 kB
facebook-www/ReactDOM-prod.classic.js = 696.77 kB 696.77 kB = 122.49 kB 122.49 kB
facebook-www/ReactDOM-prod.modern.js = 687.15 kB 687.15 kB = 120.89 kB 120.89 kB

Significant size changes

Includes any change greater than 0.2%:

(No significant changes)

Generated by 🚫 dangerJS against 9867b67

@azat-io
Copy link
Contributor Author

azat-io commented Feb 13, 2026

@josephsavona Done ✅

@josephsavona josephsavona merged commit e8c6362 into facebook:main Feb 13, 2026
235 checks passed
@josephsavona
Copy link
Member

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants