What's Changed
🐞 Fixes
react-x/no-duplicate-key: reworked duplicate detection to cover non-adjacent and static keys,.flatMap()/Array.from()callbacks, andChildren-rekeyed output; bare or whitespace-separatedkeyattributes are no longer skipped. (#2088)react-x/no-direct-mutation-state: state assignments in nested constructor blocks are no longer reported. (#2088)react-x/no-missing-context-display-name: the autofix no longer produces invalid syntax for multi-declarator declarations. (#2088)react-x/no-missing-key: TypeScript-wrapped iterator callbacks are now unwrapped before checking. (#2088)react-x/no-unused-class-component-members: statically resolvable computed reads and destructuring are now counted as usages. (#2088)
🪄 Improvements
-
Added fast-path text checks so rules skip AST traversal when their target term is absent from the file. (#2088)
Affected rules:
react-x/no-children-countreact-x/no-children-for-eachreact-x/no-children-mapreact-x/no-children-onlyreact-x/no-children-to-arrayreact-x/no-clone-elementreact-x/no-direct-mutation-statereact-x/no-implicit-childrenreact-x/no-implicit-keyreact-x/no-implicit-refreact-x/no-nested-lazy-component-declarationsreact-x/no-unused-class-component-members
🏗️ Internal
@eslint-react/eslint: added acompletehelper for merging rule options with defaults; rules now use it, with type-annotated schemas and defaults kept inmeta.defaultOptions. No behavior change. (#2088)eslint-plugin-react-x: added shared iterator-callback detection forno-missing-keyandno-duplicate-key; updated rule implementation docs and cleaned up stale comments and JSDoc. No behavior change. (#2088)
Full Changelog: v5.30.0-beta.6...v5.30.0-beta.7
Attestation
https://github.com/Rel1cx/eslint-react/attestations/60225220