Update dependency @eslint-react/eslint-plugin to v2 - autoclosed
This MR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| @eslint-react/eslint-plugin (source) | ^1.53.1 -> ^2.0.6 |
Release Notes
Rel1cx/eslint-react (@eslint-react/eslint-plugin)
v2.0.6
🐞 Fixes
Full Changelog: https://github.com/Rel1cx/eslint-react/compare/v2.0.5...v2.0.6
v2.0.5
🪄 Improvements
- Move error marker from
dangerouslySetInnerHTMLto children indom/no-dangerously-set-innerhtml-with-childrenrule by @Rel1cx in #1256 - Update default React version in settings from
19.1.0to19.2.0by @Rel1cx in #1259
Full Changelog: https://github.com/Rel1cx/eslint-react/compare/v2.0.4...v2.0.5
v2.0.4
✨ New
🐞 Fixes
- Adds
hooks-extra/no-direct-set-state-in-use-effectrule to recommended presets, closes #1251 by @Rel1cx in #1252
Full Changelog: https://github.com/Rel1cx/eslint-react/compare/v2.0.3...v2.0.4
v2.0.3
🐞 Fixes
- Fix
dom/prefer-namespace-importmissing inreact-domplugin by @Rel1cx in #1249 - Fix false positive for
dom/no-missing-button-typewhen specifying non-trivial expression as value oftypeattribute, closes #1247 by @Rel1cx in #1250
Full Changelog: https://github.com/Rel1cx/eslint-react/compare/v2.0.2...v2.0.3
v2.0.2
🪄 Improvements
- Refine migration table from
eslint-plugin-react, closes #1154 by @outslept in #1242 - Fix dead link for
hooks-extra/no-direct-set-state-in-use-layout-effectby @tnir in #1245 - Cleanup unused deps, closes #1244 by @Rel1cx, @outslept in #1246
v2.0.1
🐞 Fixes
Full Changelog: https://github.com/Rel1cx/eslint-react/compare/v2.0.0...v2.0.1
v2.0.0
💥 Breaking Changes
Target Environment Updates: Now ESM and ESLint Flat Config Only
- Drop support for CommonJS (CJS) module format, packages are now distributed only as ECMAScript Modules (ESM)
- Drop support for ESLint legacy config system, packages now support only ESLint Flat Config (
eslint.config.js) - Drop support for Node.js 18, minimum required version is now Node.js 20
- Drop support for ESLint 8, minimum required version is now ESLint 9.3.6
- Drop support for TypeScript 4, minimum required version is now TypeScript 5.9.2
Removed Rules
| Rule | Replaced by | Reason |
|---|---|---|
react-x/avoid-shorthand-boolean |
react-x/jsx-shorthand-boolean |
consolidated |
react-x/avoid-shorthand-fragment |
react-x/jsx-shorthand-fragment |
consolidated |
react-x/ensure-forward-ref-using-ref |
react-x/no-useless-forward-ref |
renamed |
react-x/no-duplicate-props |
react-x/jsx-no-duplicate-props |
renamed |
react-x/no-comment-textnodes |
react-x/jsx-no-comment-textnodes |
renamed |
react-x/no-complicated-conditional-rendering |
discontinued | |
react-x/no-nested-components |
react-x/no-nested-component-definitions |
renamed |
react-x/prefer-react-namespace-import |
react-x/prefer-namespace-import |
renamed |
react-x/prefer-shorthand-boolean |
react-x/jsx-shorthand-boolean |
consolidated |
react-x/prefer-shorthand-fragment |
react-x/jsx-shorthand-fragment |
consolidated |
react-x/use-jsx-vars |
react-x/jsx-uses-vars |
renamed |
react-dom/no-children-in-void-dom-elements |
react-dom/no-void-elements-with-children |
renamed |
react-hooks-extra/no-direct-set-state-in-use-layout-effect |
react-hooks-extra/no-direct-set-state-in-use-effect |
consolidated |
react-hooks-extra/no-unnecessary-use-callback |
react-x/no-unnecessary-use-callback |
relocated |
react-hooks-extra/no-unnecessary-use-memo |
react-x/no-unnecessary-use-memo |
relocated |
react-hooks-extra/no-unnecessary-use-prefix |
react-x/no-unnecessary-use-prefix |
relocated |
react-hooks-extra/prefer-use-state-lazy-initialization |
react-x/prefer-use-state-lazy-initialization |
relocated |
Removed Presets
| Preset | Replaced by | Reason |
|---|---|---|
core |
x |
renamed |
off-dom |
disable-dom |
renamed |
Removed Settings
| Setting | Replaced by | Reason |
|---|---|---|
additionalComponents |
discontinued | |
additionalHooks |
discontinued | |
skipImportCheck |
discontinued |
Rules previously using these settings have been refactored to use improved heuristics and no longer require manual configuration.
✨ New
Added the following new rules:
-
react-x/jsx-shorthand-boolean: Enforces a consistent style for boolean attributes by @Rel1cx -
react-x/jsx-shorthand-fragment: Enforces a consistent style for React Fragments by @Rel1cx -
react-x/no-forbidden-props: Disallows specific props on components by @reteps -
react-x/no-unnecessary-key: Reports unnecessarykeyprops on elements by @Rel1cx, @kachkaev -
react-x/no-unused-props: Reports unused props in components by @ulrichstark -
react-dom/no-string-style-prop: Disallows string values for thestyleprop by @Rel1cx, @karlhorky -
react-dom/prefer-namespace-import: Enforces using a namespace import forreact-domby @Rel1cx
Added the following new rule to the recommended-type-checked preset:
-
react-x/no-unused-props: Reports unused props in components
The following rules now support Codemod features:
-
react-x/no-component-did-updateby @Rel1cx -
react-x/no-component-will-receive-propsby @Rel1cx -
react-x/no-component-will-updateby @Rel1cx -
react-x/no-context-providerby @Rel1cx -
react-x/no-forward-refby @Rel1cx -
react-x/no-string-refsby @Rel1cx
The following rules now support auto-fix:
-
react-x/no-missing-context-display-nameby @k-yle
The following rules now support suggestion fixes:
-
react-dom/no-missing-button-typeby @Rel1cx -
react-dom/no-missing-iframe-sandboxby @Rel1cx -
react-dom/no-unsafe-target-blankby @Rel1cx
New configuration preset added:
-
disable-conflict-eslint-plugin-react: Disable rules ineslint-plugin-reactthat conflict with rules in our plugins by @reteps
🐞 Fixes
- fix(react-x/no-unnecessary-use-prefix): fix false positive of React Hooks defined within the callback function of
vi.mock(...)in Vitest test files by @Rel1cx - fix(react-web-api/no-leaked-event-listener): fix
useEffectsetup function check to handleReact.useEffect()calls correctly by @Rel1cx - fix(react-naming-convention/filename): fix false positive on well-known filenames like
404.tsx,_app.tsx,[slug].tsxby @Rel1cx
🪄 Improvements
- refactor: simplify React APIs detection logic by @Rel1cx
- refactor: cleanup utilities and simplify rule implementations by @Rel1cx
- docs: add comparison table between
eslint-plugin-reactandeslint-reactrules by @reteps, @outslept - docs: replace
tseslint.configwithdefineConfigin all examples by @Rel1cx - build: migrate build system from
tsuptotsdownfor better performance by @Rel1cx
Full Changelog: https://github.com/Rel1cx/eslint-react/compare/v1.53.1...v2.0.0
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.