chore(deps): update dependency eslint-plugin-react to v7.32.2 #79
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
7.21.5->7.32.2Release Notes
jsx-eslint/eslint-plugin-react
v7.32.2Compare Source
Fixed
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)v7.32.1Compare Source
Fixed
destructuring-assignment]: do not force destructuring of optionally chained properties (#3520 @ljharb)v7.32.0Compare Source
Added
hook-use-state]: addallowDestructuredStateoption (#3449 @ljharb)sort-default-props] and deprecate [jsx-sort-default-props] (#1861 @alexzherdev)no-object-type-as-default-prop] rule (#2848 @cyan33 @fengkx)Fixed
sort-prop-types]: restore autofixing (#3452, #3471 @ROSSROSALES)no-unknown-property]: do not checkfbselements (#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
jsx-no-leaked-render]: Remove mentions of empty strings for React 18 (#3468 @karlhorky)eslint-doc-generatorto v1.0.0 (#3499 @bmish)prefer-exact-props]: fix example flow syntax (#3510 @smackfu)anyOfinstead ofoneOf(@ljharb @remcohaszing)v7.31.11Compare Source
Fixed
jsx-no-target-blank]: allow ternaries with literals (#3464 @akulsr0)no-unknown-property]: addinertattribute (#3484 @ljharb)jsx-key]: detect keys in logical expression and conditional expression (#3490 @metreniuk)Changed
forbid-component-props: inclusive language w/ allowlist (#3473 @AndersDJohnson)eslint-doc-generator(#3469 @bmish)v7.31.10Compare Source
Fixed
no-unknown-property]: allowallowFullScreenoniframe(#3455 @almeidx)v7.31.9Compare Source
Fixed
no-unknown-property]: adddialogattributes (#3436 @ljharb)no-arrow-function-lifecycle]: when converting from an arrow, remove the semi and wrapping parens (#3337 @ljharb)jsx-key]: Ignore elements insideReact.Children.toArray()(#1591 @silvenon)jsx-no-constructed-context-values]: fix false positive for usage in non-components (#3448 @golopot)static-property-placement]: warn on nonstatic expected-statics (#2581 @ljharb)no-unknown-property]: properly tag-restrict case-insensitive attributes (@ljharb)no-unknown-property]: allowwebkitDirectoryoninput, case-insensitive (#3454 @ljharb)Changed
no-unknown-property]: fix typo in link (#3445 @denkristoffer)no-unstable-nested-components]: Warn about memoized, nested components (#3444 @eps1lon)v7.31.8Compare Source
Fixed
no-unknown-property]: addviewBoxonmarker(#3416 @ljharb)no-unknown-property]: addnoModuleonscript(#3414 @ljharb)no-unknown-property]: allowonLoadon<object>(#3415 @OleksiiKachan)no-multi-comp]: do not detect a function property returning only null as a component (#3412 @ljharb)no-unknown-property]: allowabbron<th>and<td>(#3419 @OleksiiKachan)no-unknown-property]: addviewBoxforpattern,symbol,view(#3424 @MNBuyskih)no-unknown-property]: addalignon all the tags that support it (#3425 @ljharb)Changed
v7.31.7Compare Source
Fixed
no-unknown-property]: avoid warning onfbtnodes entirely (#3391 @ljharb)no-unknown-property]: adddownloadproperty support foraandarea(#3394 @HJain13)no-unknown-property]: allowwebkitAllowFullScreenandmozAllowFullScreen(#3396 @ljharb)no-unknown-property]:controlsList, notcontrolList(#3397 @ljharb)no-unknown-property]: add more capture event properties (#3402 @sjarva)no-unknown-property]: Add more one word properties found in DefinitelyTyped's react/index.d.ts (#3402 @sjarva)no-unknown-property]: Mark onLoad/onError as supported on iframes (#3398 @maiis, #3406 @akx)no-unknown-property]: allowimageSrcSetandimageSizesattributes on<link>(#3407 @terrymun)no-unknown-property]: addborder;focusableon<svg>(#3404 #3404 @ljharb)no-unknown-property]: React lowercasesdata-attrs (#3395 @ljharb)no-unknown-property]: addvalignon table components (#3389 @ljharb)v7.31.6Compare Source
Fixed
no-unknown-property]:onErrorandonLoadboth work onimgandscript(#3388 @ljharb)no-unknown-property]: data-* attributes can have numbers (#3390 @sjarva)no-unknown-property]: add more audio/video attributes (#3390 @sjarva)no-unknown-property]: move allowfullscreen to case ignored attributes (#3390 @sjarva)no-unknown-property]: fill works on line, mask, and use elements (#3390 @sjarva)no-unknown-property]: add onMouseMoveCapture as valid react-specific attribute (#3390 @sjarva)no-unknown-property]: make onLoad and onError be accepted on more elements (#3390 @sjarva)Changed
no-unknown-property]: add a mention about using ignores properties with libraries that add props (#3390 @sjarva)v7.31.5Compare Source
Fixed
no-unknown-property]: add propertiesonToggle,fill,as, and pointer events (#3385 @sjarva)no-unknown-property]: adddefaultCheckedproperty (#3385 @sjarva)no-unknown-property]: add touch and media event related properties (#3385 @sjarva)no-unknown-property]:childrenis always an acceptable prop; iframes havescrolling; video hasplaysInline(#3385 @ljharb)v7.31.4Compare Source
Fixed
no-unknown-property]: supportcheckedon inputs (#3383 @ljharb)v7.31.3Compare Source
Fixed
no-unknown-property]: add SVG and meta properties (#3381 @AhmadMayo)v7.31.2Compare Source
Fixed
jsx-key]: avoid a crash with optional chaining (#3371 @ljharb)jsx-sort-props]: avoid a crash with spread props (#3376 @ljharb)no-unknown-property]: properly recognize valid data- and aria- attributes (#3377 @sjarva)no-unknown-property]: properly recognize unknown HTML/DOM attributes (#3377 @sjarva)Changed
jsx-sort-props]: replace ref string with ref variable (#3375 @Luccasoli)no-unknown-property]: improve jsdoc; extract logic to separate functions (#3377 @sjarva)no-unknown-property]: update DOM properties to include also one word properties (#3377 @sjarva)v7.31.1Compare Source
Fixed
jsx-no-target-blank]: allow ternaries with literals (#3464 @akulsr0)no-unknown-property]: addinertattribute (#3484 @ljharb)jsx-key]: detect keys in logical expression and conditional expression (#3490 @metreniuk)Changed
forbid-component-props: inclusive language w/ allowlist (#3473 @AndersDJohnson)eslint-doc-generator(#3469 @bmish)v7.31.0Compare Source
Added
jsx-newline]: addallowMultilineoption when prevent option is true (#3311 @TildaDares)forbid-dom-props]: adddisallowedForoption (#3338 @TildaDares)Fixed
jsx-no-literals]: properly error on children with noAttributeStrings: true (#3317 @TildaDares)jsx-key]: catch key errors inside conditional statements (#3320 @TildaDares)display-name]: Accept forwardRef and Memo nesting in newer React versions (#3321 @TildaDares)jsx-key]: avoid a crash from optional chaining from #3320 (#3327 @ljharb)jsx-key]: avoid a crash on a non-array node.body from #3320 (#3328 @ljharb)display-name]: fix false positive for assignment of function returning null (#3331 @apbarrero)display-name]: fix identifying_as a capital letter (#3335 @apbarrero)require-default-props]: avoid a crash when function has no props param (#3350 @noahnu)display-name], component detection: fix HOF returning null as Components (#3347 @jxm-math)forbid-prop-types]: Ignore objects that are not of type React.PropTypes (#3326 @TildaDares)display-name], component detection: fix false positive for HOF returning only nulls and literals (#3305 @golopot)jsx-no-target-blank]: False negative when rel attribute is assigned using ConditionalExpression (#3332 @V2dha)jsx-no-leaked-render]: autofix nested "&&" logical expressions (#3353 @hduprat)jsx-sort-props]: sorted attributes now respect comments (#3358 @ROSSROSALES)Changed
jsx-indent-props]: improved readability of the checkNodesIndent function (#3315 @caroline223)jsx-indent], [jsx-one-expression-per-line]: add passing test cases (#3314 @ROSSROSALES)boolean-prop-naming,jsx-indent: avoid assigning to arguments (#3316 @caroline223)sort-comp]: add class component examples (#3339 @maurer2)jsx-no-useless-fragment]: add more examples of correct code (#3349 @karlhorky)jsx-boolean-value]: add jsdoc types for helper functions (#3344 @caroline223)jsx-closing-bracket-location], [jsx-no-bind]: fix eslint issues (#3351 @caroline223)function-component-definition]: add passing test cases (#3355 @TildaDares)jsx-no-target-blank]: Fix link to link-type-noreferrer (#3319 @Luccasoli)v7.30.2Compare Source
v7.30.1Compare Source
Fixed
display-name]: fix false positive for HOF returning only nulls (#3291 @golopot)jsx-no-leaked-render]: avoid unnecessary negation operators and ternary branches deletion (#3299 @Belco90)display-name]: fix false positive when using memo (#3304 @golopot)Changed
jsx-tag-spacing]: rename option from [#3264][] ([#3294[] @ljharb)jsx-key]: split the examples (#3293 @ioggstream)v7.30.0Compare Source
Added
destructuring-assignment]: add optiondestructureInSignature(#3235 @golopot)no-unknown-property]: Allow crossOrigin on image tag (SVG) (#3251 @zpao)jsx-tag-spacing]: Addmultiline-alwaysoption (#3260, #3264 @Nokel81)function-component-definition]: replacevarbyconstin certain situations (#3248 @JohnBerd @SimeonC)jsx-no-leaked-render] (#3203 @Belco90)require-default-props]: add optionfunctions(#3249 @nix6839)jsx-newline]: AddallowMultilinesoption ([#3311][] @TildaDares)Fixed
hook-use-state]: Allow UPPERCASE setState setter prefixes (#3244 @duncanbeevers)propTypes: addVFCto react generic type param map (#3230 @dlech)no-unused-state]: avoid a crash (#3258 @WillyLiaoWH @ljharb)jsx-no-useless-fragment]: use proper apostrophe in error message (#3266 @develohpanda)propTypes: handle imported types/interface in forwardRef generic (#3280 @vedadeepta)button-has-type]: fix exception for<button type>(#3255 @meowtec)no-unstable-nested-components]: Improve error message and catch React.memo() (#3247 @zacharyliu)Changed
no-unused-prop-types]: fix syntax errors (#3259 @mrdulin)no-deprecated]: improve performance (#3271 @golopot)no-did-mount-set-state], [no-did-update-set-state], [no-will-update-set-state]: improve performance (#3272 @golopot)Components.detect(#3273 @golopot)isParenthesizedAST util (#3203 @Belco90)default-props-match-prop-types,require-default-props,sort-prop-types: fix typos (#3279 @nix6839)v7.29.4Compare Source
Fixed
no-unused-state]: avoid a crash on a class field gDSFP (#3236 @ljharb)boolean-prop-naming]: handle React.FC, intersection, union types (#3241 @ljharb)v7.29.3Compare Source
Fixed
no-unused-state]: avoid a crash on type-only gDSFP declarations (#3225 @ljharb)jsx-curly-brace-presence]: the string "never" defaults topropElementValuesasignore(#3228 @ljharb)propTypes: addVFCto react generic list (#3230 @ljharb)v7.29.2Compare Source
Fixed
jsx-curly-brace-presence]: avoid warning on curlies containing quote characters (#3214 @ljharb)jsx-indent]: do not report on non-jsx-returning ternaries that contain null (#3222 @ljharb)jsx-indent]: properly report on returned ternaries with jsx (#3222 @ljharb)no-array-index-key]: detect named-importedcloneElement/createElement(#3213 @ljharb)v7.29.1Compare Source
Fixed
jsx-key]: prevent false "missing array key" warning (#3215 @ljharb)jsx-indent]: avoid checking returns sans jsx (#3218 @ljharb)jsx-key]: avoid a crash (#3220 @ljharb)v7.29.0Compare Source
Added
hook-use-state] rule to enforce symmetric useState hook variable names (#2921 @duncanbeevers)jsx-no-target-blank]: Improve fixer with optionallowReferrer(#3167 @apepper)jsx-curly-brace-presence]: add "propElementValues" config option (#3191 @ljharb)iframe-missing-sandbox] rule (#2753 @tosmolka @ljharb)no-did-mount-set-state], [no-did-update-set-state]: no-op with react >= 16.3 (#1754 @ljharb)jsx-sort-props]: support multiline prop groups (#3198 @duhamelgm)jsx-key]: addwarnDuplicatesoption to warn on duplicate jsx keys in an array (#2614 @ljharb)jsx-sort-props]: addlocaleoption (#3002 @ljharb)Fixed
prop-types],propTypes: add support for exported type inference (#3163 @vedadeepta)no-invalid-html-attribute]: allow 'shortcut icon' onlink(#3174 @Primajin)prefer-exact-props] improve performance forIdentifiervisitor (#3190 @meowtec)propTypes: Handle TSTypeReference in no-unused-prop-type (#3195 @niik)sort-prop-types]: avoid repeated warnings of the same node/reason (#519 @ljharb)jsx-indent]: Fix indent handling for closing parentheses (#620 @stefanbuck])prop-types]/propTypes: follow a returned identifier to see if it is JSX (#1046 @ljharb)no-unused-state]: TS: supportgetDerivedStateFromPropsas an arrow function (#2061 @ljharb)no-array-index-key]: catch.toStringandString()usage (#2813 @RedTn)function-component-definition]: do not break on dollar signs (#3207 @ljharb)prefer-stateless-function]: avoid a crash insidedoctrine(#2596 @ljharb)prop-types]: catch infinite loop (#2861 @ljharb)forbid-prop-types]: properly report name in error message; check undestructured arguments (#2945 @ljharb)Changed
jsx-runtime] link from branch to sha (#3160 @tatsushitoji)jsx-no-target-blank]: Improve readme (#3169 @apepper)display-name]: improve examples (#3189 @golopot)no-invalid-html-attribute]: sort HTML_ELEMENTS and messages (#3182 @Primajin)forbid-foreign-prop-types]: documentallowInPropTypesoption (#1815 @ljharb)jsx-sort-default-props]: remove unnecessary code (#1817 @ljharb)jsx-no-target-blank]: fix syntax highlighting (#3199 @shamrin)jsx-key]: improve example (#3202 @chnakamura)jsx-key]: use more AST selectors (@ljharb)v7.28.0Compare Source
Added
function-component-definition]: support namedComponents option being an array (#3129 @petersendidit)Fixed
jsx-indent-props]: Resetline.isUsingOperatorcorrectly after ternary (#3146 @tobiaswaltl)Changed
no-arrow-function-lifecycle], [no-unused-class-component-methods]: use report/messages convention (@ljharb)util.isReactHookCall(#3156 @duncanbeevers)v7.27.1Compare Source
Fixed
no-invalid-html-attribute]: allowlinkrelto haveapple-touch-icon,mask-icon(#3132 @ljharb)no-unused-class-component-methods]: addgetChildContextlifecycle method (#3136 @yoyo837)prop-types]: fix false positives on renames in object destructuring (#3142 @golopot)no-arrow-function-lifecycle]: fix invalid autofix from a concise arrow method to a regular one (#3145 @ljharb)display-name]: avoid false positives on non-creatClass object expressions (#3144 @ljharb)Changed
v7.27.0Compare Source
Added
no-unused-class-component-methods]: Handle unused class component methods (#2166 @jakeleventhal @pawelnvk)no-arrow-function-lifecycle] (#1980 @ngtan)@typescript-eslint/parserv5 (@ljharb)no-invalid-html-attribute]: add rule (#2863 @Nokel81)Fixed
propTypes: addVoidFunctionComponentto react generic list (#3092 @vedadeepta)jsx-fragments], [jsx-no-useless-fragment]: avoid a crash on fragment syntax intypescript-eslintparser (@ljharb)jsx-props-no-multi-spaces]: avoid a crash on long member chains in tag names intypescript-eslintparser (@ljharb)no-unused-prop-types],usedPropTypes: avoid crash with typescript-eslint parser (@ljharb)display-name]: unwrap TSasexpressions (#3110 @ljharb)destructuring-assignment]: detect refs nested in functions (#3102 @ljharb)no-unstable-components]: improve handling of objects containing render function properties (#3111 @fizwidget)prop-types],propTypes: add forwardRef<>, ForwardRefRenderFunction<> prop-types (#3112 @vedadeepta)no-typos]: prevent a crash when using private methods (@ljharb)destructuring-assignment], component detection: improve component detection (#3122 @vedadeepta)no-invalid-html-attribute]: avoid crash on spread props (#3126 @ljharb)Changed
jsx-no-target-blank]: adjust options description (#3124 @gebsh)v7.26.1Compare Source
Fixed
no-namespace]: fix crash on non-string React.createElement name (#3082 @ljharb)no-namespace]: avoid crash on non-string createElement values (#3085 @ljharb)jsx-no-target-blank]: improve error messages (#3088 @cutiful)Changed
jsx-max-props-per-line]: fix options example (#3083 @MrRaiter)v7.26.0Compare Source
Added
no-namespace] rule ([#2640] @yacinehmito @ljharb)jsx-max-props-per-line]: addsingleandmultioptions ([#3078] @SIL0RAK)Fixed
display-name]: Get rid of false position on component detection ([#2759] [@iiison](https://togConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.