Skip to content

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Oct 2, 2025

Note

Mend has cancelled the proposed renaming of the Renovate GitHub app being renamed to mend[bot].

This notice will be removed on 2025-10-07.


This PR contains the following updates:

Package Change Age Confidence
eslint-plugin-react-hooks (source) 5.2.0 -> 6.1.1 age confidence

Release Notes

facebook/react (eslint-plugin-react-hooks)

v6.1.1

Compare Source

Note: 6.1.0 accidentally allowed use of recommended without flat config, causing errors when used with ESLint v9's defineConfig() helper. This has been fixed in 6.1.1.

v6.1.0

Compare Source

Note: Version 6.0.0 was mistakenly released and immediately deprecated and untagged on npm. This is the first official 6.x major release and includes breaking changes.

  • Breaking: Require Node.js 18 or newer. (@​michaelfaith in #​32458)
  • Breaking: Flat config is now the default recommended preset. Legacy config moved to recommended-legacy. (@​michaelfaith in #​32457)
  • New Violations: Disallow calling use within try/catch blocks. (@​poteto in #​34040)
  • New Violations: Disallow calling useEffectEvent functions in arbitrary closures. (@​jbrown215 in #​33544)
  • Handle React.useEffect in addition to useEffect in rules-of-hooks. (@​Ayc0 in #​34076)
  • Added react-hooks settings config option that to accept additionalEffectHooks that are used across exhaustive-deps and rules-of-hooks rules. (@​jbrown215) in #​34497

v6.0.0

Compare Source

Accidentally released. See 6.1.0 for the actual changes.


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Copy link

fossabot bot commented Oct 2, 2025

Needs Review

I recommend reviewing this upgrade before merging because it introduces two critical breaking changes: a Node.js version requirement bump to v18+ and a migration from legacy ESLint config to flat config format. While this project already uses ESLint flat config (eslint.config.mjs), the plugin now defaults to 'recommended' instead of 'recommended-legacy', and the codebase imports the plugin directly without using any recommended preset configuration. Additionally, there's a reported issue with v6.x unexpectedly installing 37 Babel dependencies even for projects not using Babel, which could significantly bloat the dependency tree. Manual review is needed to verify Node.js compatibility, confirm the flat config setup works correctly with the new default, and assess the impact of the Babel dependency bloat.

What we checked

  • eslint-plugin-react-hooks upgraded to 6.1.0 which requires Node.js 18+ and changes default config preset [1]
  • Plugin registered manually in flat config without using recommended preset - needs verification that this approach still works correctly with v6.x breaking changes [2]
  • Project uses ESLint flat config format which is required for v6.x compatibility [3]
  • Version 6.x installs 37 additional Babel dependencies even for projects not using Babel or React compiler, significantly bloating dependency tree [4]
  • Official migration guide documents flat config changes and new preset naming (recommended vs recommended-legacy) [5]

Dependency Usage

This dependency is a development tool used exclusively within the eslint-config-fuf package to enforce React Hooks linting rules. It is integrated into the React ESLint configuration preset exported by this package, enabling projects that consume this configuration to automatically validate proper usage of React Hooks patterns (such as ensuring hooks are called in the correct order and only within function components). The plugin operates as part of the code quality infrastructure rather than supporting direct business functionality, providing automated developer guardrails during the development process.

Changes

BREAKING: eslint-plugin-react-hooks now requires Node.js 18+ and switches to flat config as the default recommended preset (legacy config moved to recommended-legacy). The update adds stricter rules for use hooks in try/catch blocks and useEffectEvent in closures, while fixing false positives in components with do/while loops.

View 7 more changes
References (5)

[1]: eslint-plugin-react-hooks upgraded to 6.1.0 which requires Node.js 18+ and changes default config preset

"eslint-plugin-react-hooks": "6.1.0",

[2]: Plugin registered manually in flat config without using recommended preset - needs verification that this approach still works correctly with v6.x breaking changes

'react-hooks': reactHooksPlugin,

[3]: Project uses ESLint flat config format which is required for v6.x compatibility

import react from '@fuf-stack/eslint-config-fuf/react';

[4]: Version 6.x installs 37 additional Babel dependencies even for projects not using Babel or React compiler, significantly bloating dependency tree (source link)

[5]: Official migration guide documents flat config changes and new preset naming (recommended vs recommended-legacy) (source link)


fossabot analyzed this PR using dependency research.

@renovate renovate bot force-pushed the renovate/major-react-monorepo branch 4 times, most recently from 77f8ff3 to 761cfce Compare October 4, 2025 01:36
@renovate renovate bot force-pushed the renovate/major-react-monorepo branch from 761cfce to 9e38c5c Compare October 4, 2025 05:14
Copy link

sonarqubecloud bot commented Oct 4, 2025

@toxsick toxsick merged commit 11b958c into main Oct 4, 2025
2 of 3 checks passed
@toxsick toxsick deleted the renovate/major-react-monorepo branch October 4, 2025 08:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant