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: addpropNamePatternto 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: addline-alignedoption (#3777 @kimtaejin3)no-danger: addcustomComponentNamesoption (#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: fixclassNamemissing in prop validation false negative (#3749 @akulsr0)sort-prop-types: Check for undefined before accessingnode.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:assumeUndefinedIsFalsewithnevermust not allow explicittruevalue (#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: supportpopover,popovertarget,popovertargetactionattributes (#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-imagerelattributes inlinktags (#3638 @thomashockaday)no-unknown-property: add requireDataLowercase option (#3645 @HermanBilous)no-unknown-property: adddisplaystyleon<math>(#3652 @lounsbrough)prefer-read-only-props,prop-types, component detection: allow components to be async functions (#3654 @pnodet)no-unknown-property: supportonResizeon audio/video tags (#3662 @caesar1030)jsx-wrap-multilines: addneveroption to prohibit wrapping parens on multiline JSX (#3668 @reedws)jsx-filename-extension: addignoreFilesWithoutCodeoption to allow empty files (#3674 @burtek)jsx-boolean-value: addassumeUndefinedIsFalseoption (#3675 @developer-bandi)linkAttributesetting,jsx-no-target-blank: support multiple properties (#3673 @burtek)jsx-no-script-url: addincludeFromSettingsoption to supportlinkAttributessetting (#3673 @burtek)jsx-one-expression-per-line: addnon-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 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: addcheckContextObjectsoption (#3529 @JulesBlm)jsx-first-prop-new-line: addmultipropoption (#3533 @haydncomley)no-deprecated: add React 18 deprecations (#3548 @sergei-startsev)forbid-component-props: adddisallowedForoption (#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: allowonLoadonsource(@ljharb)jsx-first-prop-new-line: ensure autofix preserves generics in component name (#3546 @ljharb)no-unknown-property: allowfillprop 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: addfillfor<marker>(#3525 @alexey-koran)