chore: bump eslint-plugin-react-hooks from 4.6.2 to 7.0.0 (#1744)
Bumps [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks) from 4.6.2 to 7.0.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/facebook/react/releases">eslint-plugin-react-hooks's releases</a>.</em></p> <blockquote> <h2>eslint-plugin-react-hooks@5.0.0 (Oct 11, 2024)</h2> <p>This release only contains <code>eslint-plugin-react-hooks</code>. Notably, new violations and support for ESLint v9 were added.</p> <h2><code>eslint-plugin-react-hooks</code></h2> <ul> <li><strong>New Violations:</strong> Component names now need to start with an uppercase letter instead of a non-lowercase letter. This means <code>_Button</code> or <code>_component</code> are no longer valid. (<a href="https://github.com/kassens"><code>@kassens</code></a>) in <a href="https://redirect.github.com/facebook/react/pull/25162">#25162</a> For example, in <pre lang="tsx"><code>function _Component() { useState() ^^^^^^^^ A React Hook "useState" is called in function "_Component" which is neither a Component nor a custom React Hook function. } </code></pre> <code>_Component</code> should be renamed to <code>Component</code>.</li> </ul> <ul> <li>Add support for ESLint v9. (<a href="https://github.com/eps1lon"><code>@eps1lon</code></a> in <a href="https://redirect.github.com/facebook/react/pull/28773">#28773</a>)</li> <li>Consider dispatch from <code>useActionState</code> stable. (<a href="https://github.com/eps1lon"><code>@eps1lon</code></a> in <a href="https://redirect.github.com/facebook/react/pull/29665">#29665</a>)</li> <li>Accept <code>as</code> expression in callback. (<a href="https://github.com/StyleShit"><code>@StyleShit</code></a> in <a href="https://redirect.github.com/facebook/react/pull/28202">#28202</a>)</li> <li>Accept <code>as</code> expressions in deps array. (<a href="https://github.com/StyleShit"><code>@StyleShit</code></a> in <a href="https://redirect.github.com/facebook/react/pull/28189">#28189</a>)</li> <li>Treat <code>React.use()</code> the same as <code>use()</code>. (<a href="https://github.com/kassens"><code>@kassens</code></a> in <a href="https://redirect.github.com/facebook/react/pull/27769">#27769</a>)</li> <li>Move <code>use()</code> lint to non-experimental. (<a href="https://github.com/kassens"><code>@kassens</code></a> in <a href="https://redirect.github.com/facebook/react/pull/27768">#27768</a>)</li> <li>Support Flow <code>as</code> expressions. (<a href="https://github.com/cpojer"><code>@cpojer</code></a> in <a href="https://redirect.github.com/facebook/react/pull/27590">#27590</a>)</li> <li>Allow <code>useEffect(fn, undefined)</code>. (<a href="https://github.com/kassens"><code>@kassens</code></a> in <a href="https://redirect.github.com/facebook/react/pull/27525">#27525</a>)</li> <li>Disallow hooks in async functions. (<a href="https://github.com/acdlite"><code>@acdlite</code></a> in <a href="https://redirect.github.com/facebook/react/pull/27045">#27045</a>)</li> <li>Rename experimental <code>useEvent</code> to <code>useEffectEvent</code>. (<a href="https://github.com/sebmarkbage"><code>@sebmarkbage</code></a> in <a href="https://redirect.github.com/facebook/react/pull/25881">#25881</a>)</li> <li>Lint for presence of <code>useEvent</code> functions in dependency lists. (<a href="https://github.com/poteto"><code>@poteto</code></a> in <a href="https://redirect.github.com/facebook/react/pull/25512">#25512</a>)</li> <li>Check <code>useEvent</code> references instead. (<a href="https://github.com/poteto"><code>@poteto</code></a> in <a href="https://redirect.github.com/facebook/react/pull/25319">#25319</a>)</li> <li>Update <code>RulesOfHooks</code> with <code>useEvent</code> rules. (<a href="https://github.com/poteto"><code>@poteto</code></a> in <a href="https://redirect.github.com/facebook/react/pull/25285">#25285</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/facebook/react/blob/main/packages/eslint-plugin-react-hooks/CHANGELOG.md">eslint-plugin-react-hooks's changelog</a>.</em></p> <blockquote> <h2>7.0.0</h2> <p>This release slims down presets to just 2 configurations (<code>recommended</code> and <code>recommended-latest</code>), and all compiler rules are enabled by default.</p> <ul> <li><strong>Breaking:</strong> Removed <code>recommended-latest-legacy</code> and <code>flat/recommended</code> configs. The plugin now provides <code>recommended</code> (legacy and flat configs with all recommended rules), and <code>recommended-latest</code> (legacy and flat configs with all recommended rules plus new bleeding edge experimental compiler rules). (<a href="https://github.com/poteto"><code>@poteto</code></a> in <a href="https://redirect.github.com/facebook/react/pull/34757">#34757</a>)</li> </ul> <h2>6.1.1</h2> <p><strong>Note:</strong> 6.1.0 accidentally allowed use of <code>recommended</code> without flat config, causing errors when used with ESLint v9's <code>defineConfig()</code> helper. This has been fixed in 6.1.1.</p> <ul> <li>Fix <code>recommended</code> config for flat config compatibility. The <code>recommended</code> config has been converted to flat config format. Non-flat config users should use <code>recommended-legacy</code> instead. (<a href="https://github.com/poteto"><code>@poteto</code></a> in <a href="https://redirect.github.com/facebook/react/pull/34700">#34700</a>)</li> <li>Add <code>recommended-latest</code> and <code>recommended-latest-legacy</code> configs that include React Compiler rules. (<a href="https://github.com/poteto"><code>@poteto</code></a> in <a href="https://redirect.github.com/facebook/react/pull/34675">#34675</a>)</li> <li>Remove unused <code>NoUnusedOptOutDirectives</code> rule. (<a href="https://github.com/poteto"><code>@poteto</code></a> in <a href="https://redirect.github.com/facebook/react/pull/34703">#34703</a>)</li> <li>Remove <code>hermes-parser</code> and dependency. (<a href="https://github.com/poteto"><code>@poteto</code></a> in <a href="https://redirect.github.com/facebook/react/pull/34719">#34719</a>)</li> <li>Remove <code>@babel/plugin-proposal-private-methods</code> dependency. (<a href="https://github.com/ArnaudBarre"><code>@ArnaudBarre</code></a> and <a href="https://github.com/josephsavona"><code>@josephsavona</code></a> in <a href="https://redirect.github.com/facebook/react/pull/34715">#34715</a>)</li> <li>Update for Zod v3/v4 compatibility. (<a href="https://github.com/kolvian"><code>@kolian</code></a> and <a href="https://github.com/josephsavona"><code>@josephsavona</code></a> in <a href="https://redirect.github.com/facebook/react/pull/34717">#34717</a>)</li> </ul> <h2>6.1.0</h2> <p><strong>Note:</strong> 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.</p> <ul> <li><strong>Breaking:</strong> Require Node.js 18 or newer. (<a href="https://github.com/michaelfaith"><code>@michaelfaith</code></a> in <a href="https://redirect.github.com/facebook/react/pull/32458">#32458</a>)</li> <li><strong>Breaking:</strong> Flat config is now the default <code>recommended</code> preset. Legacy config moved to <code>recommended-legacy</code>. (<a href="https://github.com/michaelfaith"><code>@michaelfaith</code></a> in <a href="https://redirect.github.com/facebook/react/pull/32457">#32457</a>)</li> <li><strong>New Violations:</strong> Disallow calling <code>use</code> within try/catch blocks. (<a href="https://github.com/poteto"><code>@poteto</code></a> in <a href="https://redirect.github.com/facebook/react/pull/34040">#34040</a>)</li> <li><strong>New Violations:</strong> Disallow calling <code>useEffectEvent</code> functions in arbitrary closures. (<a href="https://github.com/jbrown215"><code>@jbrown215</code></a> in <a href="https://redirect.github.com/facebook/react/pull/33544">#33544</a>)</li> <li>Handle <code>React.useEffect</code> in addition to <code>useEffect</code> in rules-of-hooks. (<a href="https://github.com/Ayc0"><code>@Ayc0</code></a> in <a href="https://redirect.github.com/facebook/react/pull/34076">#34076</a>)</li> <li>Added <code>react-hooks</code> settings config option that to accept <code>additionalEffectHooks</code> that are used across exhaustive-deps and rules-of-hooks rules. (<a href="https://github.com/jbrown215"><code>@jbrown215</code></a>) in <a href="https://redirect.github.com/facebook/react/pull/34497">#34497</a></li> </ul> <h2>6.0.0</h2> <p>Accidentally released. See 6.1.0 for the actual changes.</p> <h2>5.2.0</h2> <ul> <li>Support flat config (<a href="https://github.com/michaelfaith"><code>@michaelfaith</code></a> in <a href="https://redirect.github.com/facebook/react/pull/30774">#30774</a>)</li> <li>Convert the plugin to TypeScript and provide package type declarations (<a href="https://github.com/michaelfaith"><code>@michaelfaith</code></a> in <a href="https://redirect.github.com/facebook/react/pull/32279">#32279</a>, <a href="https://redirect.github.com/facebook/react/pull/32283">#32283</a>, <a href="https://redirect.github.com/facebook/react/pull/32240">#32240</a>, <a href="https://redirect.github.com/facebook/react/pull/32400">#32400</a> and <a href="https://github.com/poteto"><code>@poteto</code></a> in <a href="https://redirect.github.com/facebook/react/pull/32420">#32420</a>)</li> <li>Fix false positive error in components with <code>do</code>/<code>while</code> loops (<a href="https://github.com/tyxla"><code>@tyxla</code></a> in <a href="https://redirect.github.com/facebook/react/pull/31720">#31720</a>)</li> <li>Detect issues in class properties (<a href="https://github.com/mjesun"><code>@mjesun</code></a> & <a href="https://github.com/ecraig12345"><code>@ecraig12345</code></a> in <a href="https://redirect.github.com/facebook/react/pull/31823">#31823</a>)</li> </ul> <h2>5.1.0</h2> <ul> <li>Add support for <code>do</code>/<code>while</code> loops (<a href="https://github.com/tyxla"><code>@tyxla</code></a> in <a href="https://redirect.github.com/facebook/react/pull/28714">#28714</a>)</li> <li>Fix error when callback argument is an identifier with an <code>as</code> expression (<a href="https://github.com/mskelton"><code>@mskelton</code></a> in <a href="https://redirect.github.com/facebook/react/pull/31119">#31119</a>)</li> </ul> <h2>5.0.0</h2> <ul> <li><strong>New Violations:</strong> Component names now need to start with an uppercase letter instead of a non-lowercase letter. This means <code>_Button</code> or <code>_component</code> are no longer valid. (<a href="https://github.com/kassens"><code>@kassens</code></a>) in <a href="https://redirect.github.com/facebook/react/pull/25162">#25162</a></li> </ul> <ul> <li>Consider dispatch from <code>useActionState</code> stable. (<a href="https://github.com/eps1lon"><code>@eps1lon</code></a> in <a href="https://redirect.github.com/facebook/react/pull/29665">#29665</a>)</li> <li>Add support for ESLint v9. (<a href="https://github.com/eps1lon"><code>@eps1lon</code></a> in <a href="https://redirect.github.com/facebook/react/pull/28773">#28773</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/facebook/react/commits/HEAD/packages/eslint-plugin-react-hooks">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Gar <gar+gh@danger.computer>