Immutable
release. Only release title and notes can be modified.
What's Changed
🐞 Fixes
- Fixed an issue where several rules treated computed identifier keys in spread props (e.g.
<div {...{ [key]: value }} />) as static prop names. The actual property name is the runtime value of the variable; computed string literal keys are still recognized. Affected rules:react-x/no-missing-keyreact-jsx/no-children-prop-with-childrenreact-jsx/no-children-propreact-jsx/no-useless-fragmentreact-dom/no-dangerously-set-innerhtml-with-childrenreact-dom/no-dangerously-set-innerhtmlreact-dom/no-missing-button-typereact-dom/no-missing-iframe-sandboxreact-dom/no-string-style-propreact-dom/no-unsafe-iframe-sandboxreact-dom/no-unsafe-target-blankreact-dom/no-void-elements-with-childrenreact-web-api/no-leaked-event-listenerreact-web-api/no-leaked-fetch
- Fixed
react-x/unsupported-syntaxto no longer report IIFEs in JSX. This makes the rule consistent with the upstreamreact-hooks/unsupported-syntaxand removes theiifemessage.
✨ New
react-x/unsupported-syntaxnow detectsevalcalls viaglobalThis.eval,globalThis["eval"], and type assertions like(globalThis as any).eval.
🏗️ Internal
- Added an optional
resolveparameter toExtract.getPropertyNameso callers can control how identifier and private identifier property names are resolved. - Added unit tests for
Extract.getPropertyName.
Full Changelog: v5.10.1...v5.10.2
Attestation
https://github.com/Rel1cx/eslint-react/attestations/33749679