Releases: jsx-eslint/eslint-plugin-react
Releases · jsx-eslint/eslint-plugin-react
 v7.35.0
Added
- support eslint v9 (#3759 @mdjermanovic)
- export flat configs from plugin root and fix flat config crash (#3694 @bradzacher @mdjermanovic)
- add jsx-props-no-spread-multi(#3724 @SimonSchick)
- forbid-component-props: add- propNamePatternto allow / disallow prop name patterns (#3774 @akulsr0)
- jsx-handler-names: support ignoring component names (#3772 @akulsr0)
- version settings: Allow react defaultVersion to be configurable (#3771 @onlywei)
- jsx-closing-tag-location: add- line-alignedoption (#3777 @kimtaejin3)
- no-danger: add- customComponentNamesoption (#3748 @akulsr0)
Fixed
- no-invalid-html-attribute: substitute placeholders in suggestion messages (#3759 @mdjermanovic)
- sort-prop-types: single line type ending without semicolon (#3784 @akulsr0)
- require-default-props: report when required props have default value (#3785 @akulsr0)
Refactors
- variableUtil: Avoid creating a single flat variable scope for each lookup (#3782 @DanielRosenwasser)
v7.34.4
Fixed
- prop-types: fix- classNamemissing in prop validation false negative (#3749 @akulsr0)
- sort-prop-types: Check for undefined before accessing- node.typeAnnotation.typeAnnotation(#3779 @tylerlaprade)
v7.34.3
Fixed
- prop-types: null-check rootNode before calling getScope (#3762 @crnhrv)
- boolean-prop-naming: avoid a crash with a spread prop (#3733 @ljharb)
- jsx-boolean-value:- assumeUndefinedIsFalsewith- nevermust not allow explicit- truevalue (#3757 @6uliver)
- no-object-type-as-default-prop: enable rule for components with many parameters (#3768 @JulienR1)
- jsx-key: incorrect behavior for checkKeyMustBeforeSpread with map callbacks (#3769 @akulsr0)
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: support- popover,- popovertarget,- popovertargetactionattributes (#3707 @ljharb)
- no-unknown-property: only match- data-*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 for- apple-touch-startup-image- relattributes in- linktags (#3638 @thomashockaday)
- no-unknown-property: add requireDataLowercase option (#3645 @HermanBilous)
- no-unknown-property: add- displaystyleon- <math>(#3652 @lounsbrough)
- prefer-read-only-props,- prop-types, component detection: allow components to be async functions (#3654 @pnodet)
- no-unknown-property: support- onResizeon audio/video tags (#3662 @caesar1030)
- jsx-wrap-multilines: add- neveroption to prohibit wrapping parens on multiline JSX (#3668 @reedws)
- jsx-filename-extension: add- ignoreFilesWithoutCodeoption to allow empty files (#3674 @burtek)
- jsx-boolean-value: add- assumeUndefinedIsFalseoption (#3675 @developer-bandi)
- linkAttributesetting,- jsx-no-target-blank: support multiple properties (#3673 @burtek)
- jsx-no-script-url: add- includeFromSettingsoption to support- linkAttributessetting (#3673 @burtek)
- jsx-one-expression-per-line: add- non-jsxoption to allow non-JSX children in one line (#3677 @burtek)
- add checked-requires-onchange-or-readonlyrule (#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 when- allowMultilines(#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: add- fetchPriority(#3697 @SevereCloud)
- forbid-elements: prevent a crash on- createElement()(#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: add- checkContextObjectsoption (#3529 @JulesBlm)
- jsx-first-prop-new-line: add- multipropoption (#3533 @haydncomley)
- no-deprecated: add React 18 deprecations (#3548 @sergei-startsev)
- forbid-component-props: add- disallowedForoption (#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: allow- onLoadon- source(@ljharb)
- jsx-first-prop-new-line: ensure autofix preserves generics in component name (#3546 @ljharb)
- no-unknown-property: allow- fillprop 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 missingmultipropvalue (#3598 @dzek69)
v7.32.2
Fixed
- configs: restore parserOptionsin legacy configs ([#3523][] @ljharb)
- jsx-no-constructed-context-values,- jsx-no-useless-fragment: add a rule schema (@ljharb)
 (- no-unknown-property: add- fillfor- <marker>(#3525 @alexey-koran)