Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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:
^1.52.2
->^2.0.4
v4
->v5
v4
->v5
^59.0.1
->^61.0.2
Release Notes
Rel1cx/eslint-react (@eslint-react/eslint-plugin)
v2.0.4
Compare Source
✨ New
naming-convention/use-state
rule in recommended presets by @Rel1cx in #1252🐞 Fixes
hooks-extra/no-direct-set-state-in-use-effect
rule to recommended presets, closes #1251 by @Rel1cx in #1252Full Changelog: Rel1cx/eslint-react@v2.0.3...v2.0.4
v2.0.3
Compare Source
🐞 Fixes
dom/prefer-namespace-import
missing inreact-dom
plugin by @Rel1cx in #1249dom/no-missing-button-type
when specifying non-trivial expression as value oftype
attribute, closes #1247 by @Rel1cx in #1250Full Changelog: Rel1cx/eslint-react@v2.0.2...v2.0.3
v2.0.2
Compare Source
🪄 Improvements
eslint-plugin-react
, closes #1154 by @outslept in #1242hooks-extra/no-direct-set-state-in-use-layout-effect
by @tnir in #1245v2.0.1
Compare Source
🐞 Fixes
ts-api-utils
to unified plugin deps, closes #1239 by @Rel1cx in #1240Full Changelog: Rel1cx/eslint-react@v2.0.0...v2.0.1
v2.0.0
Compare Source
💥 Breaking Changes
Target Environment Updates: Now ESM and ESLint Flat Config Only
eslint.config.js
)Removed Rules
react-x/avoid-shorthand-boolean
react-x/jsx-shorthand-boolean
react-x/avoid-shorthand-fragment
react-x/jsx-shorthand-fragment
react-x/ensure-forward-ref-using-ref
react-x/no-useless-forward-ref
react-x/no-duplicate-props
react-x/jsx-no-duplicate-props
react-x/no-comment-textnodes
react-x/jsx-no-comment-textnodes
react-x/no-complicated-conditional-rendering
react-x/no-nested-components
react-x/no-nested-component-definitions
react-x/prefer-react-namespace-import
react-x/prefer-namespace-import
react-x/prefer-shorthand-boolean
react-x/jsx-shorthand-boolean
react-x/prefer-shorthand-fragment
react-x/jsx-shorthand-fragment
react-x/use-jsx-vars
react-x/jsx-uses-vars
react-dom/no-children-in-void-dom-elements
react-dom/no-void-elements-with-children
react-hooks-extra/no-direct-set-state-in-use-layout-effect
react-hooks-extra/no-direct-set-state-in-use-effect
react-hooks-extra/no-unnecessary-use-callback
react-x/no-unnecessary-use-callback
react-hooks-extra/no-unnecessary-use-memo
react-x/no-unnecessary-use-memo
react-hooks-extra/no-unnecessary-use-prefix
react-x/no-unnecessary-use-prefix
react-hooks-extra/prefer-use-state-lazy-initialization
react-x/prefer-use-state-lazy-initialization
Removed Presets
core
x
off-dom
disable-dom
Removed Settings
additionalComponents
additionalHooks
skipImportCheck
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 @Rel1cxreact-x/jsx-shorthand-fragment
: Enforces a consistent style for React Fragments by @Rel1cxreact-x/no-forbidden-props
: Disallows specific props on components by @retepsreact-x/no-unnecessary-key
: Reports unnecessarykey
props on elements by @Rel1cx, @kachkaevreact-x/no-unused-props
: Reports unused props in components by @ulrichstarkreact-dom/no-string-style-prop
: Disallows string values for thestyle
prop by @Rel1cx, @karlhorkyreact-dom/prefer-namespace-import
: Enforces using a namespace import forreact-dom
by @Rel1cxAdded the following new rule to the
recommended-type-checked
preset:react-x/no-unused-props
: Reports unused props in componentsThe following rules now support Codemod features:
react-x/no-component-did-update
by @Rel1cxreact-x/no-component-will-receive-props
by @Rel1cxreact-x/no-component-will-update
by @Rel1cxreact-x/no-context-provider
by @Rel1cxreact-x/no-forward-ref
by @Rel1cxreact-x/no-string-refs
by @Rel1cxThe following rules now support auto-fix:
react-x/no-missing-context-display-name
by @k-yleThe following rules now support suggestion fixes:
react-dom/no-missing-button-type
by @Rel1cxreact-dom/no-missing-iframe-sandbox
by @Rel1cxreact-dom/no-unsafe-target-blank
by @Rel1cxNew configuration preset added:
disable-conflict-eslint-plugin-react
: Disable rules ineslint-plugin-react
that conflict with rules in our plugins by @reteps🐞 Fixes
vi.mock(...)
in Vitest test files by @Rel1cxuseEffect
setup function check to handleReact.useEffect()
calls correctly by @Rel1cx404.tsx
,_app.tsx
,[slug].tsx
by @Rel1cx🪄 Improvements
eslint-plugin-react
andeslint-react
rules by @reteps, @outslepttseslint.config
withdefineConfig
in all examples by @Rel1cxtsup
totsdown
for better performance by @Rel1cxFull Changelog: Rel1cx/eslint-react@v1.53.1...v2.0.0
v1.53.1
Compare Source
🐞 Fixes
web-api/no-leaked-event-listener
, closes #1228 by @Rel1cx in #1229Full Changelog: Rel1cx/eslint-react@v1.53.0...v1.53.1
v1.53.0
Compare Source
✨ New
🪄 Improvements
tsup
withtsdown
by @Rel1cx in #1213Full Changelog: Rel1cx/eslint-react@v1.52.8...v1.53.0
v1.52.9
Compare Source
🐞 Fixes
react-hooks-extra
rules were not exported, closes #1207 by @Rel1cx in #1208Full Changelog: Rel1cx/eslint-react@v1.52.8...v1.52.9
v1.52.8
Compare Source
🐞 Fixes
Full Changelog: Rel1cx/eslint-react@v1.52.7...v1.52.8
v1.52.7
Compare Source
🐞 Fixes
f3083c7
Full Changelog: Rel1cx/eslint-react@v1.52.6...v1.52.7
v1.52.6
Compare Source
🐞 Fixes
naming-convention/component-name
validation to continue on valid names, closes #1176 by @Rel1cx in #1177Full Changelog: Rel1cx/eslint-react@v1.52.5...v1.52.6
v1.52.5
Compare Source
🐞 Fixes
is-from-react
utility inreact-debug/is-from-react
rule and improvereact-x/no-forward-ref
rule autofix handling, closes #1172 by @Rel1cx in #1173Full Changelog: Rel1cx/eslint-react@v1.52.4...v1.52.5
v1.52.4
Compare Source
🐞 Fixes
Full Changelog: Rel1cx/eslint-react@v1.52.3...v1.52.4
v1.52.3
Compare Source
🐞 Fixes
bun
engine requirement frompackage.json
files, closes #1157 by @Rel1cx in #1158Full Changelog: Rel1cx/eslint-react@v1.52.2...v1.52.3
actions/checkout (actions/checkout)
v5
Compare Source
actions/setup-node (actions/setup-node)
v5
Compare Source
sindresorhus/eslint-plugin-unicorn (eslint-plugin-unicorn)
v61.0.2
Compare Source
throw-new-error
: Fix false positive for Effect library (#2740)0ddf5ea
no-useless-undefined
: IgnoreSet#delete(undefined)
(#2739)99acd27
prefer-includes
andprefer-array-index-of
: Prevent crash on Vue files (#2645)a1da518
v61.0.1
Compare Source
prefer-classlist-toggle
: OmitElement#classList.contains()
call when fixing (#2732)066f96b
v61.0.0
Compare Source
New rules
prefer-bigint-literals
(#2722)1f4cb8a
prefer-classlist-toggle
(#2731)5f27ec2
require-module-attributes
(#2725)5f275e2
no-array-sort
(#2713)b70d1e8
Improvements
unopinionated
config (#2715)c13d09b
60b2ec5
no-array-reduce
: Report optional chaining and calling of.reduce()
(#2721)caa1f8b
prefer-type-error
: Ignore error type check (#2729)d12fc01
Fixes
prefer-includes
: Fix compatibility with Vue SFC (#2704)540a4d4
v60.0.0
Compare Source
Breaking
2dc27d9
New rules
prefer-class-fields
(#2512)4c82dc1
no-array-reverse
(#2677)b051302
require-module-specifiers
(#2686)2a8e152
no-useless-error-capture-stack-trace
(#2676)fc900b6
Improvements
prefer-string-replace-all
: Preserve escape (#2667)2310b50
SuppressedError
(#2669)f51aeb9
Fixes
no-array-callback-reference
: Fix optional chaining expressions being ignored (#2694)ad27922
no-unnecessary-await
: Fix handling of experimental pipeline operator (#2658)2b8ebe5
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 is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.