github Rel1cx/eslint-react v5.23.0
v5.23.0 (2026-09-30)

latest release: v5.23.1
4 hours ago

What's Changed

✨ New

  • react-x/static-components: dynamic creation-site tracing now follows both sides of logical expressions (ex: const C = DefaultComponent || (() => <div />)) and the last element of sequence expressions (ex: const C = (setup(), () => <div />)), in initializers and reassignments alike. (#1975)

🐞 Fixes

  • react-x/static-components: parameters of nested non-component functions (ex: function render(Comp) { return <Comp /> }) are no longer mistaken for render-created components; definitions are judged by definition type instead of AST node type. (#1975)
  • react-x/static-components: createdHere is now reported once per creation site instead of once per JSX usage; the default diagnostic remains per usage. (#1975)

🏗️ Internal

  • react-x/static-components: restructured the rule to the fact-based implementation pattern — collect.ts (usage facts), origins.ts (creation-site resolution), and effects.ts (effect inference) are now separate modules, with reporting centralized in Program:exit; added 14 boundary test cases covering creation-site resolution, render boundaries, and per-usage reporting. (#1975)
  • Renamed lib.ts to helpers.ts in the fact-based react-x rules (globals, immutability, refs). (#1976)
  • Bumped @effect/language-service to 0.87.3 and oxlint to 1.86.0.

Full Changelog: v5.22.1...v5.23.0

Attestation

https://github.com/Rel1cx/eslint-react/attestations/51189530

Don't miss a new eslint-react release

NewReleases is sending notifications on new releases.