Releases: jsx-eslint/eslint-plugin-react
Releases · jsx-eslint/eslint-plugin-react
v7.34.2
Fixed
boolean-prop-naming
: avoid a crash with a non-TSTypeReference type (#3718 @developer-bandi)jsx-no-leaked-render
: invalid report if left side is boolean (#3746 @akulsr0)jsx-closing-bracket-location
: message shows{{details}}
when there are no details (#3759 @mdjermanovic)no-invalid-html-attribute
: ensure error messages are correct (#3759 @mdjermanovic, @ljharb)
Changed
- [Refactor] create various eslint utils to fix eslint deprecations (#3759 @mdjermanovic, @ljharb)
v7.34.1
Fixed
jsx-no-leaked-render
: prevent wrongly adding parens (#3700 @developer-bandi)boolean-prop-naming
: detect TS interfaces (#3701 @developer-bandi)boolean-prop-naming
: literalType error fix (#3704 @developer-bandi)boolean-prop-naming
: allow TSIntersectionType (#3705 @developer-bandi)no-unknown-property
: supportpopover
,popovertarget
,popovertargetaction
attributes (#3707 @ljharb)no-unknown-property
: only matchdata-*
attributes containing-
(#3713 @silverwind)checked-requires-onchange-or-readonly
: correct options that were behaving opposite (#3715 @jaesoekjjang)
Changed
boolean-prop-naming
: improve error message (@ljharb)
v7.34.0
Added
sort-prop-types
: give errors on TS types (#3615 @akulsr0)no-invalid-html-attribute
: add support forapple-touch-startup-image
rel
attributes inlink
tags (#3638 @thomashockaday)no-unknown-property
: add requireDataLowercase option (#3645 @HermanBilous)no-unknown-property
: adddisplaystyle
on<math>
(#3652 @lounsbrough)prefer-read-only-props
,prop-types
, component detection: allow components to be async functions (#3654 @pnodet)no-unknown-property
: supportonResize
on audio/video tags (#3662 @caesar1030)jsx-wrap-multilines
: addnever
option to prohibit wrapping parens on multiline JSX (#3668 @reedws)jsx-filename-extension
: addignoreFilesWithoutCode
option to allow empty files (#3674 @burtek)jsx-boolean-value
: addassumeUndefinedIsFalse
option (#3675 @developer-bandi)linkAttribute
setting,jsx-no-target-blank
: support multiple properties (#3673 @burtek)jsx-no-script-url
: addincludeFromSettings
option to supportlinkAttributes
setting (#3673 @burtek)jsx-one-expression-per-line
: addnon-jsx
option to allow non-JSX children in one line (#3677 @burtek)- add
checked-requires-onchange-or-readonly
rule (#3680 @jaesoekjjang)
Fixed
jsx-no-leaked-render
: preserve RHS parens for multiline jsx elements while fixing (#3623 @akulsr0)jsx-key
: detect conditional returns (#3630 @yialo)jsx-newline
: prevent a crash whenallowMultilines
(#3633 @ljharb)no-unknown-property
: use a better regex to avoid a crash (#3666 @ljharb @SCH227)prop-types
: handle nested forwardRef + memo (#3679 @developer-bandi)no-unknown-property
: addfetchPriority
(#3697 @SevereCloud)forbid-elements
: prevent a crash oncreateElement()
(#3632 @ljharb)
Changed
jsx-boolean-value
: make error messages clearer (#3691 @developer-bandi)- [Refactor]
propTypes
: extract type params to var (#3634 @HenryBrown0) - [Refactor]
boolean-prop-naming
: invert if statement (#3634 @HenryBrown0) - [Refactor]
function-component-definition
: exit early if no type params (#3634 @HenryBrown0) - [Refactor]
jsx-props-no-multi-spaces
: extract type parameters to var (#3634 @HenryBrown0) - [Docs]
jsx-key
: fix correct example (#3656 @developer-bandi) - [Tests]
jsx-wrap-multilines
: passing tests (#3545 @burtek) - [Docs]
iframe-missing-sandbox
: fix link to iframe attribute on mdn (#3690 @nnmrts) - [Docs]
hook-use-state
: fix an undefined variable (#3626 @chentsulin)
v7.33.2
Fixed
no-deprecated
: prevent false positive on commonjs import (#3614 @akulsr0)no-unsafe
: report on the method instead of the entire component (@ljharb)no-deprecated
: report on the destructured property instead of the entire variable declarator (@ljharb)no-deprecated
: report on the imported specifier instead of the entire import statement (@ljharb)no-invalid-html-attribute
: report more granularly (@ljharb)
v7.33.1
Fixed
require-default-props
: fix config schema (#3605 @controversial)jsx-curly-brace-presence
: Revert #3538 due to issues with intended string type casting usage (#3611 @taozhou-glean)sort-prop-types
: ensure sort-prop-types respects noSortAlphabetically (#3610 @caesar1030)
v7.33.0
Added
display-name
: addcheckContextObjects
option (#3529 @JulesBlm)jsx-first-prop-new-line
: addmultiprop
option (#3533 @haydncomley)no-deprecated
: add React 18 deprecations (#3548 @sergei-startsev)forbid-component-props
: adddisallowedFor
option (#3417 @jacketwpbb)
Fixed
no-array-index-key
: consider flatMap (#3530 @k-yle)jsx-curly-brace-presence
: handle single and only expression template literals (#3538 @taozhou-glean)no-unknown-property
: allowonLoad
onsource
(@ljharb)jsx-first-prop-new-line
: ensure autofix preserves generics in component name (#3546 @ljharb)no-unknown-property
: allowfill
prop on<symbol>
(#3555 @stefanprobst)display-name
,prop-types
: when checking for a capitalized name, ignore underscores entirely (#3560 @ljharb)no-unused-state
: avoid crashing on a class field function with destructured state (#3568 @ljharb)no-unused-prop-types
: allow using spread with object expression in jsx (#3570 @akulsr0)- Revert "
destructuring-assignment
: Handle destructuring of useContext in SFC" (#3583 #2797 @102) prefer-read-only-props
: add TS support (#3593 @HenryBrown0)
Changed
- [Docs]
jsx-newline
,no-unsafe
,static-property-placement
: Fix code syntax highlighting (#3563 @nbsp1221) - [readme] resore configuration URL (#3582 @gokaygurcan)
- [Docs]
jsx-no-bind
: reword performance rationale (#3581 @gpoole)
- [Docs]
jsx-first-prop-new-line
: add missingmultiprop
value (#3598 @dzek69)
v7.32.2
Fixed
- configs: restore
parserOptions
in legacy configs ([#3523][] @ljharb) jsx-no-constructed-context-values
,jsx-no-useless-fragment
: add a rule schema (@ljharb)
(no-unknown-property
: addfill
for<marker>
(#3525 @alexey-koran)
v7.32.1
v7.32.0
Added
- support new config system (#3429 @jjangga0214)
hook-use-state
: addallowDestructuredState
option (#3449 @ljharb)- add
sort-default-props
and deprecatejsx-sort-default-props
(#1861 @alexzherdev) - add
no-object-type-as-default-prop
rule (#2848 @cyan33 @fengkx)
Fixed
- configs: avoid legacy config system error (#3461 @ljharb)
sort-prop-types
: restore autofixing (#3452, #3471 @ROSSROSALES)no-unknown-property
: do not checkfbs
elements (#3494 @brianogilvie)jsx-newline
: No newline between comments and jsx elements (#3493 @justmejulian)jsx-no-leaked-render
: Don't report errors on empty strings if React >= v18 (#3488 @himanshu007-creator)no-invalid-html-attribute
: convert autofix to suggestion (#3474 @himanshu007-creator @ljharb)jsx-no-leaked-render
: fix removing parentheses for conditionals (#3502 @akulsr0)jsx-no-leaked-render
: invalid fixes in coerce mode (#3511 @akulsr0)destructuring-assignment
: Handle destructuring of useContext in SFC (#2797 @Zinyon @ljharb)
Changed
- [Docs]
jsx-no-leaked-render
: Remove mentions of empty strings for React 18 (#3468 @karlhorky) - [Docs] update
eslint-doc-generator
to v1.0.0 (#3499 @bmish) - [meta] add issue template (#3483 @ROSSROSALES)
- [Docs] Use emoji for jsx-runtime config and config file for eslint-doc-generator (#3504 @bmish)
- [Docs]
prefer-exact-props
: fix example flow syntax (#3510 @smackfu) - [Perf] use
anyOf
instead ofoneOf
(@ljharb @remcohaszing)
v7.31.11
Fixed
jsx-no-target-blank
: allow ternaries with literals (#3464 @akulsr0)no-unknown-property
: addinert
attribute (#3484 @ljharb)jsx-key
: detect keys in logical expression and conditional expression (#3490 @metreniuk)
Changed
- [Perf] component detection: improve performance by avoiding traversing parents unnecessarily (#3459 @golopot)
- [Docs]
forbid-component-props
: inclusive language w/ allowlist (#3473 @AndersDJohnson) - [Docs] automate doc generation with
eslint-doc-generator
(#3469 @bmish)