Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update dependency eslint-plugin-react to v7.33.2 (#16)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [eslint-plugin-react](https://togithub.com/jsx-eslint/eslint-plugin-react) | [`7.22.0` -> `7.33.2`](https://renovatebot.com/diffs/npm/eslint-plugin-react/7.22.0/7.33.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-react/7.33.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-plugin-react/7.33.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-plugin-react/7.22.0/7.33.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-react/7.22.0/7.33.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>jsx-eslint/eslint-plugin-react (eslint-plugin-react)</summary> ### [`v7.33.2`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7332---20230815) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.33.1...v7.33.2) ##### Fixed - \[`no-deprecated`]: prevent false positive on commonjs import ([#​3614][] [@​akulsr0](https://togithub.com/akulsr0)) - \[`no-unsafe`]: report on the method instead of the entire component ([@​ljharb](https://togithub.com/ljharb)) - \[`no-deprecated`]: report on the destructured property instead of the entire variable declarator ([@​ljharb](https://togithub.com/ljharb)) - \[`no-deprecated`]: report on the imported specifier instead of the entire import statement ([@​ljharb](https://togithub.com/ljharb)) - \[`no-invalid-html-attribute`]: report more granularly ([@​ljharb](https://togithub.com/ljharb)) [7.33.2]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.33.1...v7.33.2 [#​3614]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3614 ### [`v7.33.1`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7331---20230729) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.33.0...v7.33.1) ##### Fixed - \[`require-default-props`]: fix config schema ([#​3605][] [@​controversial](https://togithub.com/controversial)) - \[`jsx-curly-brace-presence`]: Revert \[[#​3538](https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3538)]\[] due to issues with intended string type casting usage ([#​3611][] [@​taozhou-glean](https://togithub.com/taozhou-glean)) - \[`sort-prop-types`]: ensure sort-prop-types respects noSortAlphabetically ([#​3610][] [@​caesar1030](https://togithub.com/caesar1030)) [7.33.1]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.33.0...v7.33.1 [#​3611]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3611 [#​3610]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3610 [#​3605]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3605 ### [`v7.33.0`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7330---20230719) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.32.2...v7.33.0) ##### Added - \[`display-name`]: add `checkContextObjects` option ([#​3529][] [@​JulesBlm](https://togithub.com/JulesBlm)) - \[`jsx-first-prop-new-line`]: add `multiprop` option ([#​3533][] [@​haydncomley](https://togithub.com/haydncomley)) - \[`no-deprecated`]: add React 18 deprecations ([#​3548][] [@​sergei-startsev](https://togithub.com/sergei-startsev)) - \[`forbid-component-props`]: add `disallowedFor` option ([#​3417][] [@​jacketwpbb](https://togithub.com/jacketwpbb)) ##### Fixed - \[`no-array-index-key`]: consider flatMap ([#​3530][] [@​k-yle](https://togithub.com/k-yle)) - \[`jsx-curly-brace-presence`]: handle single and only expression template literals ([#​3538][] [@​taozhou-glean](https://togithub.com/taozhou-glean)) - \[`no-unknown-property`]: allow `onLoad` on `source` ([@​ljharb](https://togithub.com/ljharb)) - \[`jsx-first-prop-new-line`]: ensure autofix preserves generics in component name ([#​3546][] [@​ljharb](https://togithub.com/ljharb)) - \[`no-unknown-property`]: allow `fill` prop on `<symbol>` ([#​3555][] [@​stefanprobst](https://togithub.com/stefanprobst)) - \[`display-name`], \[`prop-types`]: when checking for a capitalized name, ignore underscores entirely ([#​3560][] [@​ljharb](https://togithub.com/ljharb)) - \[`no-unused-state`]: avoid crashing on a class field function with destructured state ([#​3568][] [@​ljharb](https://togithub.com/ljharb)) - \[`no-unused-prop-types`]: allow using spread with object expression in jsx ([#​3570][] [@​akulsr0](https://togithub.com/akulsr0)) - Revert "\[`destructuring-assignment`]: Handle destructuring of useContext in SFC" ([#​3583][] \[[#​2797](https://togithub.com/jsx-eslint/eslint-plugin-react/issues/2797)]\[] [@​102](https://togithub.com/102)) - \[`prefer-read-only-props`]: add TS support ([#​3593][] [@​HenryBrown0](https://togithub.com/HenryBrown0)) ##### Changed - \[Docs] \[`jsx-newline`], \[`no-unsafe`], \[`static-property-placement`]: Fix code syntax highlighting ([#​3563][] [@​nbsp1221](https://togithub.com/nbsp1221)) - \[readme] resore configuration URL ([#​3582][] [@​gokaygurcan](https://togithub.com/gokaygurcan)) - \[Docs] \[`jsx-no-bind`]: reword performance rationale ([#​3581][] [@​gpoole](https://togithub.com/gpoole)) <!----> - \[Docs] \[`jsx-first-prop-new-line`]: add missing `multiprop` value ([#​3598][] [@​dzek69](https://togithub.com/dzek69)) [7.33.0]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.32.2...v7.33.0 [#​3598]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3598 [#​3593]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3593 [#​3583]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3583 [#​3582]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3582 [#​3581]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3581 [#​3570]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3570 [#​3568]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3568 [#​3563]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3563 [#​3560]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3560 [#​3555]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3555 [#​3548]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3548 [#​3546]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3546 [#​3538]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3538 [#​3533]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3533 [#​3530]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3530 [#​3529]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3529 [#​3417]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3417 ### [`v7.32.2`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7322---20230128) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.32.1...v7.32.2) ##### Fixed - configs: restore `parserOptions` in legacy configs (\[[#​3523](https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3523)]\[] [@​ljharb](https://togithub.com/ljharb)) - \[`jsx-no-constructed-context-values`], \[`jsx-no-useless-fragment`]: add a rule schema ([@​ljharb](https://togithub.com/ljharb)) ( \[`no-unknown-property`]: add `fill` for `<marker>` ([#​3525][] [@​alexey-koran](https://togithub.com/alexey-koran)) [7.32.2]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.32.1...v7.32.2 [#​3525]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3525 [#​3520]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3523 ### [`v7.32.1`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7321---20230116) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.32.0...v7.32.1) ##### Fixed - prevent circular dependency in index and "all" config ([#​3519][] [@​ljharb](https://togithub.com/ljharb)) - \[`destructuring-assignment`]: do not force destructuring of optionally chained properties ([#​3520][] [@​ljharb](https://togithub.com/ljharb)) [7.32.1]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.32.0...v7.32.1 [#​3520]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3520 [#​3519]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3519 ### [`v7.32.0`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7320---20230110) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.31.11...v7.32.0) ##### Added - support new config system ([#​3429][] [@​jjangga0214](https://togithub.com/jjangga0214)) - \[`hook-use-state`]: add `allowDestructuredState` option ([#​3449][] [@​ljharb](https://togithub.com/ljharb)) - add \[`sort-default-props`] and deprecate \[`jsx-sort-default-props`] ([#​1861][] [@​alexzherdev](https://togithub.com/alexzherdev)) - add \[`no-object-type-as-default-prop`] rule ([#​2848][] [@​cyan33](https://togithub.com/cyan33) [@​fengkx](https://togithub.com/fengkx)) ##### Fixed - configs: avoid legacy config system error ([#​3461][] [@​ljharb](https://togithub.com/ljharb)) - \[`sort-prop-types`]: restore autofixing ([#​3452][], [#​3471][] [@​ROSSROSALES](https://togithub.com/ROSSROSALES)) - \[`no-unknown-property`]: do not check `fbs` elements ([#​3494][] [@​brianogilvie](https://togithub.com/brianogilvie)) - \[`jsx-newline`]: No newline between comments and jsx elements ([#​3493][] [@​justmejulian](https://togithub.com/justmejulian)) - \[`jsx-no-leaked-render`]: Don't report errors on empty strings if React >= v18 ([#​3488][] [@​himanshu007-creator](https://togithub.com/himanshu007-creator)) - \[`no-invalid-html-attribute`]: convert autofix to suggestion ([#​3474][] [@​himanshu007-creator](https://togithub.com/himanshu007-creator) [@​ljharb](https://togithub.com/ljharb)) - \[`jsx-no-leaked-render`]: fix removing parentheses for conditionals ([#​3502][] [@​akulsr0](https://togithub.com/akulsr0)) - \[`jsx-no-leaked-render`]: invalid fixes in coerce mode ([#​3511][] [@​akulsr0](https://togithub.com/akulsr0)) - \[`destructuring-assignment`]: Handle destructuring of useContext in SFC ([#​2797][] [@​Zinyon](https://togithub.com/Zinyon) [@​ljharb](https://togithub.com/ljharb)) ##### Changed - \[Docs] \[`jsx-no-leaked-render`]: Remove mentions of empty strings for React 18 ([#​3468][] [@​karlhorky](https://togithub.com/karlhorky)) - \[Docs] update `eslint-doc-generator` to v1.0.0 ([#​3499][] [@​bmish](https://togithub.com/bmish)) - \[meta] add issue template ([#​3483][] [@​ROSSROSALES](https://togithub.com/ROSSROSALES)) - \[Docs] Use emoji for jsx-runtime config and config file for eslint-doc-generator ([#​3504][] [@​bmish](https://togithub.com/bmish)) - \[Docs] \[`prefer-exact-props`]: fix example flow syntax ([#​3510][] [@​smackfu](https://togithub.com/smackfu)) - \[Perf] use `anyOf` instead of `oneOf` ([@​ljharb](https://togithub.com/ljharb) [@​remcohaszing](https://togithub.com/remcohaszing)) [7.32.0]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.31.11...v7.32.0 [#​3511]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3511 [#​3510]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3510 [#​3504]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3504 [#​3502]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3502 [#​3499]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3499 [#​3494]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3494 [#​3493]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3493 [#​3488]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3488 [#​3483]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3483 [#​3474]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3474 [#​3471]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3471 [#​3468]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3468 [#​3461]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3461 [#​3452]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3452 [#​3449]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3449 [#​3429]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3429 [#​2848]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/2848 [#​2797]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/2797 [#​1861]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/1861 ### [`v7.31.11`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#73111---20221117) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.31.10...v7.31.11) ##### Fixed - \[`jsx-no-target-blank`]: allow ternaries with literals ([#​3464][] [@​akulsr0](https://togithub.com/akulsr0)) - \[`no-unknown-property`]: add `inert` attribute ([#​3484][] [@​ljharb](https://togithub.com/ljharb)) - \[`jsx-key`]: detect keys in logical expression and conditional expression ([#​3490][] [@​metreniuk](https://togithub.com/metreniuk)) ##### Changed - \[Perf] component detection: improve performance by avoiding traversing parents unnecessarily ([#​3459][] [@​golopot](https://togithub.com/golopot)) - \[Docs] `forbid-component-props`: inclusive language w/ allowlist ([#​3473][] [@​AndersDJohnson](https://togithub.com/AndersDJohnson)) - \[Docs] automate doc generation with `eslint-doc-generator` ([#​3469][] [@​bmish](https://togithub.com/bmish)) [7.31.11]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.31.10...v7.31.11 [#​3490]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3490 [#​3484]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3484 [#​3473]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3473 [#​3469]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3469 [#​3464]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3464 [#​3459]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3459 ### [`v7.31.10`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#73110---20221010) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.31.9...v7.31.10) ##### Fixed - \[`no-unknown-property`]: allow `allowFullScreen` on `iframe` ([#​3455][] [@​almeidx](https://togithub.com/almeidx)) [7.31.10]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.31.9...v7.31.10 [#​3455]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3455 ### [`v7.31.9`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7319---20221009) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.31.8...v7.31.9) ##### Fixed - \[`no-unknown-property`]: add `dialog` attributes ([#​3436][] [@​ljharb](https://togithub.com/ljharb)) - \[`no-arrow-function-lifecycle`]: when converting from an arrow, remove the semi and wrapping parens ([#​3337][] [@​ljharb](https://togithub.com/ljharb)) - \[`jsx-key`]: Ignore elements inside `React.Children.toArray()` ([#​1591][] [@​silvenon](https://togithub.com/silvenon)) - \[`jsx-no-constructed-context-values`]: fix false positive for usage in non-components ([#​3448][] [@​golopot](https://togithub.com/golopot)) - \[`static-property-placement`]: warn on nonstatic expected-statics ([#​2581][] [@​ljharb](https://togithub.com/ljharb)) - \[`no-unknown-property`]: properly tag-restrict case-insensitive attributes ([@​ljharb](https://togithub.com/ljharb)) - \[`no-unknown-property`]: allow `webkitDirectory` on `input`, case-insensitive ([#​3454][] [@​ljharb](https://togithub.com/ljharb)) ##### Changed - \[Docs] \[`no-unknown-property`]: fix typo in link ([#​3445][] [@​denkristoffer](https://togithub.com/denkristoffer)) - \[Perf] component detection: improve performance by optimizing getId ([#​3451][] [@​golopot](https://togithub.com/golopot)) - \[Docs] \[`no-unstable-nested-components`]: Warn about memoized, nested components ([#​3444][] [@​eps1lon](https://togithub.com/eps1lon)) [7.31.9]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.31.8...v7.31.9 [#​3454]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3454 [#​3451]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3451 [#​3448]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3448 [#​3445]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3445 [#​3444]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3444 [#​3436]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3436 [#​3337]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3337 [#​2581]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/2581 [#​1591]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/1591 ### [`v7.31.8`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7318---20220908) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.31.7...v7.31.8) ##### Fixed - \[`no-unknown-property`]: add `viewBox` on `marker` ([#​3416][] [@​ljharb](https://togithub.com/ljharb)) - \[`no-unknown-property`]: add `noModule` on `script` ([#​3414][] [@​ljharb](https://togithub.com/ljharb)) - \[`no-unknown-property`]: allow `onLoad` on `<object>` ([#​3415][] [@​OleksiiKachan](https://togithub.com/OleksiiKachan)) - \[`no-multi-comp`]: do not detect a function property returning only null as a component ([#​3412][] [@​ljharb](https://togithub.com/ljharb)) - \[`no-unknown-property`]: allow `abbr` on `<th>` and `<td>` ([#​3419][] [@​OleksiiKachan](https://togithub.com/OleksiiKachan)) - \[`no-unknown-property`]: add `viewBox` for `pattern`, `symbol`, `view` ([#​3424][] [@​MNBuyskih](https://togithub.com/MNBuyskih)) - \[`no-unknown-property`]: add `align` on all the tags that support it ([#​3425][] [@​ljharb](https://togithub.com/ljharb)) ##### Changed - \[meta] npmignore markdownlint config ([#​3413][] [@​jorrit](https://togithub.com/jorrit)) [7.31.8]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.31.7...v7.31.8 [#​3425]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3425 [#​3424]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3424 [#​3419]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3419 [#​3416]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3416 [#​3415]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3415 [#​3414]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3414 [#​3413]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3413 [#​3412]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3412 ### [`v7.31.7`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7317---20220905) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.31.6...v7.31.7) ##### Fixed - \[`no-unknown-property`]: avoid warning on `fbt` nodes entirely ([#​3391][] [@​ljharb](https://togithub.com/ljharb)) - \[`no-unknown-property`]: add `download` property support for `a` and `area` ([#​3394][] [@​HJain13](https://togithub.com/HJain13)) - \[`no-unknown-property`]: allow `webkitAllowFullScreen` and `mozAllowFullScreen` ([#​3396][] [@​ljharb](https://togithub.com/ljharb)) - \[`no-unknown-property`]: `controlsList`, not `controlList` ([#​3397][] [@​ljharb](https://togithub.com/ljharb)) - \[`no-unknown-property`]: add more capture event properties ([#​3402][] [@​sjarva](https://togithub.com/sjarva)) - \[`no-unknown-property`]: Add more one word properties found in DefinitelyTyped's react/index.d.ts ([#​3402][] [@​sjarva](https://togithub.com/sjarva)) - \[`no-unknown-property`]: Mark onLoad/onError as supported on iframes ([#​3398][] [@​maiis](https://togithub.com/maiis), [#​3406][] [@​akx](https://togithub.com/akx)) - \[`no-unknown-property`]: allow `imageSrcSet` and `imageSizes` attributes on `<link>` ([#​3407][] [@​terrymun](https://togithub.com/terrymun)) - \[`no-unknown-property`]: add `border`; `focusable` on `<svg>` ([#​3404][] [#​3404][] [@​ljharb](https://togithub.com/ljharb)) - \[`no-unknown-property`]: React lowercases `data-` attrs ([#​3395][] [@​ljharb](https://togithub.com/ljharb)) - \[`no-unknown-property`]: add `valign` on table components ([#​3389][] [@​ljharb](https://togithub.com/ljharb)) [7.31.7]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.31.6...v7.31.7 [#​3407]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3407 [#​3406]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3406 [#​3405]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3405 [#​3404]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3404 [#​3402]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3402 [#​3398]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3398 [#​3397]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3397 [#​3396]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3396 [#​3395]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3395 [#​3394]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3394 [#​3391]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3391 [#​3389]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3389 ### [`v7.31.6`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7316---20220904) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.31.5...v7.31.6) ##### Fixed - \[`no-unknown-property`]: `onError` and `onLoad` both work on `img` and `script` ([#​3388][] [@​ljharb](https://togithub.com/ljharb)) - \[`no-unknown-property`]: data-\* attributes can have numbers ([#​3390][] [@​sjarva](https://togithub.com/sjarva)) - \[`no-unknown-property`]: add more audio/video attributes ([#​3390][] [@​sjarva](https://togithub.com/sjarva)) - \[`no-unknown-property`]: move allowfullscreen to case ignored attributes ([#​3390][] [@​sjarva](https://togithub.com/sjarva)) - \[`no-unknown-property`]: fill works on line, mask, and use elements ([#​3390][] [@​sjarva](https://togithub.com/sjarva)) - \[`no-unknown-property`]: add onMouseMoveCapture as valid react-specific attribute ([#​3390][] [@​sjarva](https://togithub.com/sjarva)) - \[`no-unknown-property`]: make onLoad and onError be accepted on more elements ([#​3390][] [@​sjarva](https://togithub.com/sjarva)) ##### Changed - \[Docs] \[`no-unknown-property`]: add a mention about using ignores properties with libraries that add props ([#​3390][] [@​sjarva](https://togithub.com/sjarva)) [7.31.6]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.31.5...v7.31.6 [#​3390]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3390 [#​3388]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3388 ### [`v7.31.5`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7315---20220903) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.31.4...v7.31.5) ##### Fixed - \[`no-unknown-property`]: add properties `onToggle`, `fill`, `as`, and pointer events ([#​3385][] [@​sjarva](https://togithub.com/sjarva)) - \[`no-unknown-property`]: add `defaultChecked` property ([#​3385][] [@​sjarva](https://togithub.com/sjarva)) - \[`no-unknown-property`]: add touch and media event related properties ([#​3385][] [@​sjarva](https://togithub.com/sjarva)) - \[`no-unknown-property`]: `children` is always an acceptable prop; iframes have `scrolling`; video has `playsInline` ([#​3385][] [@​ljharb](https://togithub.com/ljharb)) [7.31.5]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.31.4...v7.31.5 [#​3385]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3385 ### [`v7.31.4`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7314---20220903) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.31.3...v7.31.4) ##### Fixed - \[`no-unknown-property`]: support `checked` on inputs ([#​3383][] [@​ljharb](https://togithub.com/ljharb)) [#​3383]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3383 [7.31.4]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.31.3...v7.31.4 ### [`v7.31.3`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7313---20220902) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.31.2...v7.31.3) ##### Fixed - \[`no-unknown-property`]: add SVG and meta properties ([#​3381][] [@​AhmadMayo](https://togithub.com/AhmadMayo)) [7.31.3]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.31.2...v7.31.3 [#​3381]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3381 ### [`v7.31.2`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7312---20220902) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.31.1...v7.31.2) ##### Fixed - \[`jsx-key`]: avoid a crash with optional chaining ([#​3371][] [@​ljharb](https://togithub.com/ljharb)) - \[`jsx-sort-props`]: avoid a crash with spread props ([#​3376][] [@​ljharb](https://togithub.com/ljharb)) - \[`no-unknown-property`]: properly recognize valid data- and aria- attributes ([#​3377][] [@​sjarva](https://togithub.com/sjarva)) - \[`no-unknown-property`]: properly recognize unknown HTML/DOM attributes ([#​3377][] [@​sjarva](https://togithub.com/sjarva)) ##### Changed - \[Docs] \[`jsx-sort-props`]: replace ref string with ref variable ([#​3375][] [@​Luccasoli](https://togithub.com/Luccasoli)) - \[Refactor] \[`no-unknown-property`]: improve jsdoc; extract logic to separate functions ([#​3377][] [@​sjarva](https://togithub.com/sjarva)) - \[Refactor] \[`no-unknown-property`]: update DOM properties to include also one word properties ([#​3377][] [@​sjarva](https://togithub.com/sjarva)) [7.31.2]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.31.1...v7.31.2 [#​3377]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3377 [#​3376]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3376 [#​3375]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3375 [#​3371]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3371 ### [`v7.31.1`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#73111---20221117) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.31.0...v7.31.1) ##### Fixed - \[`jsx-no-target-blank`]: allow ternaries with literals ([#​3464][] [@​akulsr0](https://togithub.com/akulsr0)) - \[`no-unknown-property`]: add `inert` attribute ([#​3484][] [@​ljharb](https://togithub.com/ljharb)) - \[`jsx-key`]: detect keys in logical expression and conditional expression ([#​3490][] [@​metreniuk](https://togithub.com/metreniuk)) ##### Changed - \[Perf] component detection: improve performance by avoiding traversing parents unnecessarily ([#​3459][] [@​golopot](https://togithub.com/golopot)) - \[Docs] `forbid-component-props`: inclusive language w/ allowlist ([#​3473][] [@​AndersDJohnson](https://togithub.com/AndersDJohnson)) - \[Docs] automate doc generation with `eslint-doc-generator` ([#​3469][] [@​bmish](https://togithub.com/bmish)) [7.31.11]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.31.10...v7.31.11 [#​3490]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3490 [#​3484]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3484 [#​3473]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3473 [#​3469]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3469 [#​3464]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3464 [#​3459]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3459 ### [`v7.31.0`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7310---20220824) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.30.2...v7.31.0) ##### Added - \[`jsx-newline`]: add `allowMultiline` option when prevent option is true ([#​3311][] [@​TildaDares](https://togithub.com/TildaDares)) - \[`forbid-dom-props`]: add `disallowedFor` option ([#​3338][] [@​TildaDares](https://togithub.com/TildaDares)) ##### Fixed - \[`jsx-no-literals`]: properly error on children with noAttributeStrings: true ([#​3317][] [@​TildaDares](https://togithub.com/TildaDares)) - \[`jsx-key`]: catch key errors inside conditional statements ([#​3320][] [@​TildaDares](https://togithub.com/TildaDares)) - \[`display-name`]: Accept forwardRef and Memo nesting in newer React versions ([#​3321][] [@​TildaDares](https://togithub.com/TildaDares)) - \[`jsx-key`]: avoid a crash from optional chaining from [#​3320][] ([#​3327][] [@​ljharb](https://togithub.com/ljharb)) - \[`jsx-key`]: avoid a crash on a non-array node.body from [#​3320][] ([#​3328][] [@​ljharb](https://togithub.com/ljharb)) - \[`display-name`]: fix false positive for assignment of function returning null ([#​3331][] [@​apbarrero](https://togithub.com/apbarrero)) - \[`display-name`]: fix identifying `_` as a capital letter ([#​3335][] [@​apbarrero](https://togithub.com/apbarrero)) - \[`require-default-props`]: avoid a crash when function has no props param ([#​3350][] [@​noahnu](https://togithub.com/noahnu)) - \[`display-name`], component detection: fix HOF returning null as Components ([#​3347][] [@​jxm-math](https://togithub.com/jxm-math)) - \[`forbid-prop-types`]: Ignore objects that are not of type React.PropTypes ([#​3326][] [@​TildaDares](https://togithub.com/TildaDares)) - \[`display-name`], component detection: fix false positive for HOF returning only nulls and literals ([#​3305][] [@​golopot](https://togithub.com/golopot)) - \[`jsx-no-target-blank`]: False negative when rel attribute is assigned using ConditionalExpression ([#​3332][] [@​V2dha](https://togithub.com/V2dha)) - \[`jsx-no-leaked-render`]: autofix nested "&&" logical expressions ([#​3353][] [@​hduprat](https://togithub.com/hduprat)) - \[`jsx-sort-props`]: sorted attributes now respect comments ([#​3358][] [@​ROSSROSALES](https://togithub.com/ROSSROSALES)) ##### Changed - \[Refactor] \[`jsx-indent-props`]: improved readability of the checkNodesIndent function ([#​3315][] [@​caroline223](https://togithub.com/caroline223)) - \[Tests] \[`jsx-indent`], \[`jsx-one-expression-per-line`]: add passing test cases ([#​3314][] [@​ROSSROSALES](https://togithub.com/ROSSROSALES)) - \[Refactor] `boolean-prop-naming`, `jsx-indent`: avoid assigning to arguments ([#​3316][] [@​caroline223](https://togithub.com/caroline223)) - \[Docs] \[`sort-comp`]: add class component examples ([#​3339][] [@​maurer2](https://togithub.com/maurer2)) - \[Docs] \[`jsx-no-useless-fragment`]: add more examples of correct code ([#​3349][] [@​karlhorky](https://togithub.com/karlhorky)) - \[Docs] \[`jsx-boolean-value`]: add jsdoc types for helper functions ([#​3344][] [@​caroline223](https://togithub.com/caroline223)) - \[readme] remove dead codeclimate badge, add actions badge ([@​ljharb](https://togithub.com/ljharb)) - \[readme] Remove dead david-dm badge ([#​3262][] [@​ddzz](https://togithub.com/ddzz)) - \[Refactor] \[`jsx-closing-bracket-location`], \[`jsx-no-bind`]: fix eslint issues ([#​3351][] [@​caroline223](https://togithub.com/caroline223)) - \[Tests] \[`function-component-definition`]: add passing test cases ([#​3355][] [@​TildaDares](https://togithub.com/TildaDares)) - \[Docs] \[`jsx-no-target-blank`]: Fix link to link-type-noreferrer ([#​3319][] [@​Luccasoli](https://togithub.com/Luccasoli)) - \[Docs] document which rules provide suggestions ([#​3359][], [#​3365][] [@​bmish](https://togithub.com/bmish)) - \[Docs] Consistent rule descriptions and doc sections ([#​3361][] [@​bmish](https://togithub.com/bmish)) - \[Docs] Standardize deprecated rule notice ([#​3364][] [@​bmish](https://togithub.com/bmish)) - \[Docs] Fix typos ([#​3366][] [@​bmish](https://togithub.com/bmish)) - \[Docs] Add markdownlint for documentation formatting consistency ([#​3367][] [@​bmish](https://togithub.com/bmish)) - \[Docs] Add config notice to rule docs ([#​3362][] [@​bmish](https://togithub.com/bmish)) [7.31.0]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.30.1...v7.31.0 [#​3367]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3367 [#​3366]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3366 [#​3365]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3365 [#​3364]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3364 [#​3362]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3362 [#​3361]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3361 [#​3359]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3359 [#​3358]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3358 [#​3355]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3355 [#​3353]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3353 [#​3351]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3351 [#​3350]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3350 [#​3349]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3349 [#​3347]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3347 [#​3344]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3344 [#​3339]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3339 [#​3338]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3338 [#​3335]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3335 [#​3332]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3332 [#​3331]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3331 [#​3328]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3328 [#​3327]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3327 [#​3326]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3326 [#​3321]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3321 [#​3320]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3320 [#​3319]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3319 [#​3317]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3317 [#​3316]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3316 [#​3315]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3315 [#​3314]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3314 [#​3311]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3311 [#​3305]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3305 [#​3262]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3262 ### [`v7.30.2`](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.30.1...v7.30.2) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.30.1...v7.30.2) ### [`v7.30.1`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7301---20220623) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.30.0...v7.30.1) ##### Fixed - \[`display-name`]: fix false positive for HOF returning only nulls ([#​3291][] [@​golopot](https://togithub.com/golopot)) - \[`jsx-no-leaked-render`]: avoid unnecessary negation operators and ternary branches deletion ([#​3299][] [@​Belco90](https://togithub.com/Belco90)) - \[`display-name`]: fix false positive when using memo ([#​3304][] [@​golopot](https://togithub.com/golopot)) ##### Changed - \[Docs] \[`jsx-tag-spacing`]: rename option from \[[#​3264](https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3264)]\[] (\[[#​3294](https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3294)\[] [@​ljharb](https://togithub.com/ljharb)) - \[Docs] \[`jsx-key`]: split the examples ([#​3293][] [@​ioggstream](https://togithub.com/ioggstream)) [7.30.1]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.30.0...v7.30.1 [#​3304]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3304 [#​3299]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3299 [#​3294]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3294 [#​3293]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3293 [#​3291]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3291 ### [`v7.30.0`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7300---20220518) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.29.4...v7.30.0) ##### Added - \[`destructuring-assignment`]: add option `destructureInSignature` ([#​3235][] [@​golopot](https://togithub.com/golopot)) - \[`no-unknown-property`]: Allow crossOrigin on image tag (SVG) ([#​3251][] [@​zpao](https://togithub.com/zpao)) - \[`jsx-tag-spacing`]: Add `multiline-always` option ([#​3260][], [#​3264][] [@​Nokel81](https://togithub.com/Nokel81)) - \[`function-component-definition`]: replace `var` by `const` in certain situations ([#​3248][] [@​JohnBerd](https://togithub.com/JohnBerd) [@​SimeonC](https://togithub.com/SimeonC)) - add \[`jsx-no-leaked-render`] ([#​3203][] [@​Belco90](https://togithub.com/Belco90)) - \[`require-default-props`]: add option `functions` ([#​3249][] [@​nix6839](https://togithub.com/nix6839)) - \[`jsx-newline`]: Add `allowMultilines` option (\[[#​3311](https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3311)]\[] [@​TildaDares](https://togithub.com/TildaDares)) ##### Fixed - \[`hook-use-state`]: Allow UPPERCASE setState setter prefixes ([#​3244][] [@​duncanbeevers](https://togithub.com/duncanbeevers)) - `propTypes`: add `VFC` to react generic type param map ([#​3230][] [@​dlech](https://togithub.com/dlech)) - \[`no-unused-state`]: avoid a crash ([#​3258][] [@​WillyLiaoWH](https://togithub.com/WillyLiaoWH) [@​ljharb](https://togithub.com/ljharb)) - \[`jsx-no-useless-fragment`]: use proper apostrophe in error message ([#​3266][] [@​develohpanda](https://togithub.com/develohpanda)) - `propTypes`: handle imported types/interface in forwardRef generic ([#​3280][] [@​vedadeepta](https://togithub.com/vedadeepta)) - \[`button-has-type`]: fix exception for `<button type>` ([#​3255][] [@​meowtec](https://togithub.com/meowtec)) - \[`no-unstable-nested-components`]: Improve error message and catch React.memo() ([#​3247][] [@​zacharyliu](https://togithub.com/zacharyliu)) ##### Changed - \[readme] remove global usage and eslint version from readme ([#​3254][] [@​aladdin-add](https://togithub.com/aladdin-add)) - \[Refactor] fix linter errors ([#​3261][] [@​golopot](https://togithub.com/golopot)) - \[Docs] \[`no-unused-prop-types`]: fix syntax errors ([#​3259][] [@​mrdulin](https://togithub.com/mrdulin)) - \[Refactor] improve performance for detecting function components ([#​3265][] [@​golopot](https://togithub.com/golopot)) - \[Refactor] improve performance for detecting class components ([#​3267][] [@​golopot](https://togithub.com/golopot)) - \[Refactor] \[`no-deprecated`]: improve performance ([#​3271][] [@​golopot](https://togithub.com/golopot)) - \[Refactor] \[`no-did-mount-set-state`], \[`no-did-update-set-state`], \[`no-will-update-set-state`]: improve performance ([#​3272][] [@​golopot](https://togithub.com/golopot)) - \[Refactor] improve performance by avoiding unnecessary `Components.detect` ([#​3273][] [@​golopot](https://togithub.com/golopot)) - \[Refactor] add `isParenthesized` AST util ([#​3203][] [@​Belco90](https://togithub.com/Belco90)) - \[Docs] `default-props-match-prop-types`, `require-default-props`, `sort-prop-types`: fix typos ([#​3279][] [@​nix6839](https://togithub.com/nix6839)) - \[Refactor] improve performance of rule merging ([#​3281][] [@​golopot](https://togithub.com/golopot)) - \[Refactor] improve performance of component detection ([#​3276][] [@​golopot](https://togithub.com/golopot)) [7.30.0]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.29.4...v7.30.0 [#​3281]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3281 [#​3280]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3280 [#​3279]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3279 [#​3276]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3276 [#​3273]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3273 [#​3272]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3272 [#​3271]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3271 [#​3267]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3267 [#​3266]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3266 [#​3265]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3265 [#​3264]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3264 [#​3261]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3261 [#​3260]: https://github.jsx-eslintckcr/eslint-plugin-react/pull/3260 [#​3259]: https://githubjsx-eslintickcr/eslint-plugin-react/pull/3259 [#​3258]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3258 [#​3255]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3255 [#​3254]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3254 [#​3251]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3251 [#​3249]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3249 [#​3248]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3248 [#​3247]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3247 [#​3244]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3244 [#​3235]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3235 [#​3230]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3230 [#​3203]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3203 ### [`v7.29.4`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7294---20220313) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.29.3...v7.29.4) ##### Fixed - \[`no-unused-state`]: avoid a crash on a class field gDSFP ([#​3236][] [@​ljharb](https://togithub.com/ljharb)) - \[`boolean-prop-naming`]: handle React.FC, intersection, union types ([#​3241][] [@​ljharb](https://togithub.com/ljharb)) [7.29.4]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.29.3...v7.29.4 [#​3241]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3241 [#​3236]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3236 ### [`v7.29.3`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7293---20220303) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.29.2...v7.29.3) ##### Fixed - \[`no-unused-state`]: avoid a crash on type-only gDSFP declarations ([#​3225][] [@​ljharb](https://togithub.com/ljharb)) - \[`jsx-curly-brace-presence`]: the string "never" defaults to `propElementValues` as `ignore` ([#​3228][] [@​ljharb](https://togithub.com/ljharb)) - `propTypes`: add `VFC` to react generic list ([#​3230][] [@​ljharb](https://togithub.com/ljharb)) [7.29.3]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.29.2...v7.29.3 [#​3230]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3230 [#​3228]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3228 [#​3225]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3225 ### [`v7.29.2`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7292---20220225) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.29.1...v7.29.2) ##### Fixed - \[`jsx-curly-brace-presence`]: avoid warning on curlies containing quote characters ([#​3214][] [@​ljharb](https://togithub.com/ljharb)) - \[`jsx-indent`]: do not report on non-jsx-returning ternaries that contain null ([#​3222][] [@​ljharb](https://togithub.com/ljharb)) - \[`jsx-indent`]: properly report on returned ternaries with jsx ([#​3222][] [@​ljharb](https://togithub.com/ljharb)) - \[`no-array-index-key`]: detect named-imported `cloneElement`/`createElement` ([#​3213][] [@​ljharb](https://togithub.com/ljharb)) [7.29.2]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.29.1...v7.29.2 [#​3222]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3222 [#​3214]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3214 [#​3213]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3213 ### [`v7.29.1`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7291---20220225) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.29.0...v7.29.1) ##### Fixed - \[`jsx-key`]: prevent false "missing array key" warning ([#​3215][] [@​ljharb](https://togithub.com/ljharb)) - \[`jsx-indent`]: avoid checking returns sans jsx ([#​3218][] [@​ljharb](https://togithub.com/ljharb)) - \[`jsx-key`]: avoid a crash ([#​3220][] [@​ljharb](https://togithub.com/ljharb)) - version settings: avoid a crash with an invalid version ([#​3219][] [@​ljharb](https://togithub.com/ljharb)) [7.29.1]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.29.0...v7.29.1 [#​3220]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3220 [#​3219]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3219 [#​3218]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3218 [#​3215]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3215 ### [`v7.29.0`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7290---20220224) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.28.0...v7.29.0) ##### Added - add \[`hook-use-state`] rule to enforce symmetric useState hook variable names ([#​2921][] [@​duncanbeevers](https://togithub.com/duncanbeevers)) - \[`jsx-no-target-blank`]: Improve fixer with option `allowReferrer` ([#​3167][] [@​apepper](https://togithub.com/apepper)) - \[`jsx-curly-brace-presence`]: add "propElementValues" config option ([#​3191][] [@​ljharb](https://togithub.com/ljharb)) - add \[`iframe-missing-sandbox`] rule ([#​2753][] [@​tosmolka](https://togithub.com/tosmolka) [@​ljharb](https://togithub.com/ljharb)) - \[`no-did-mount-set-state`], \[`no-did-update-set-state`]: no-op with react >= 16.3 ([#​1754][] [@​ljharb](https://togithub.com/ljharb)) - \[`jsx-sort-props`]: support multiline prop groups ([#​3198][] [@​duhamelgm](https://togithub.com/duhamelgm)) - \[`jsx-key`]: add `warnDuplicates` option to warn on duplicate jsx keys in an array ([#​2614][] [@​ljharb](https://togithub.com/ljharb)) - \[`jsx-sort-props`]: add `locale` option ([#​3002][] [@​ljharb](https://togithub.com/ljharb)) ##### Fixed - \[`prop-types`], `propTypes`: add support for exported type inference ([#​3163][] [@​vedadeepta](https://togithub.com/vedadeepta)) - \[`no-invalid-html-attribute`]: allow 'shortcut icon' on `link` ([#​3174][] [@​Primajin](https://togithub.com/Primajin)) - \[`prefer-exact-props`] improve performance for `Identifier` visitor ([#​3190][] [@​meowtec](https://togithub.com/meowtec)) - `propTypes`: Handle TSTypeReference in no-unused-prop-type ([#​3195][] [@​niik](https://togithub.com/niik)) - \[`sort-prop-types`]: avoid repeated warnings of the same node/reason ([#​519][] [@​ljharb](https://togithub.com/ljharb)) - \[`jsx-indent`]: Fix indent handling for closing parentheses ([#​620][] [@​stefanbuck](https://togithub.com/stefanbuck)]) - \[`prop-types`]/`propTypes`: follow a returned identifier to see if it is JSX ([#​1046][] [@​ljharb](https://togithub.com/ljharb)) - \[`no-unused-state`]: TS: support `getDerivedStateFromProps` as an arrow function ([#​2061][] [@​ljharb](https://togithub.com/ljharb)) - \[`no-array-index-key`]: catch `.toString` and `String()` usage ([#​2813][] [@​RedTn](https://togithub.com/RedTn)) - \[`function-component-definition`]: do not break on dollar signs ([#​3207][] [@​ljharb](https://togithub.com/ljharb)) - \[`prefer-stateless-function`]: avoid a crash inside `doctrine` ([#​2596][] [@​ljharb](https://togithub.com/ljharb)) - \[`prop-types`]: catch infinite loop ([#​2861][] [@​ljharb](https://togithub.com/ljharb)) - \[`forbid-prop-types`]: properly report name in error message; check undestructured arguments ([#​2945][] [@​ljharb](https://togithub.com/ljharb)) ##### Changed - \[readme] change \[`jsx-runtime`] link from branch to sha ([#​3160][] [@​tatsushitoji](https://togithub.com/tatsushitoji)) - \[Docs] HTTP => HTTPS ([#​3133][] [@​Schweinepriester](https://togithub.com/Schweinepriester)) - \[readme] Some grammar fixes ([#​3186][] [@​JJ](https://togithub.com/JJ)) - \[Docs] \[`jsx-no-target-blank`]: Improve readme ([#​3169][] [@​apepper](https://togithub.com/apepper)) - \[Docs] \[`display-name`]: improve examples ([#​3189][] [@​golopot](https://togithub.com/golopot)) - \[Refactor] \[`no-invalid-html-attribute`]: sort HTML_ELEMENTS and messages ([#​3182][] [@​Primajin](https://togithub.com/Primajin)) - \[Docs] \[`forbid-foreign-prop-types`]: document `allowInPropTypes` option ([#​1815][] [@​ljharb](https://togithub.com/ljharb)) - \[Refactor] \[`jsx-sort-default-props`]: remove unnecessary code ([#​1817][] [@​ljharb](https://togithub.com/ljharb)) - \[Docs] \[`jsx-no-target-blank`]: fix syntax highlighting ([#​3199][] [@​shamrin](https://togithub.com/shamrin)) - \[Docs] \[`jsx-key`]: improve example ([#​3202][] [@​chnakamura](https://togithub.com/chnakamura)) - \[Refactor] \[`jsx-key`]: use more AST selectors ([@​ljharb](https://togithub.com/ljharb)) [7.29.0]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.28.0...v7.29.0 [#​3207]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3207 [#​3202]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3202 [#​3199]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3199 [#​3198]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3198 [#​3195]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3195 [#​3191]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3191 [#​3190]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3190 [#​3189]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3189 [#​3186]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3186 [#​3182]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3182 [#​3174]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3174 [#​3169]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3169 [#​3167]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3167 [#​3163]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3163 [#​3160]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3160 [#​3133]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3133 [#​3002]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3002 [#​2945]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/2945 [#​2921]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/2921 [#​2861]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/2861 [#​2813]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/2813 [#​2753]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/2753 [#​2614]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/2614 [#​2596]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/2596 [#​2061]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/2061 [#​1817]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/1817 [#​1815]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/1815 [#​1754]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/1754 [#​1046]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/1046 [#​620]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/620 [#​519]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/519 ### [`v7.28.0`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7280---20211222) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.27.1...v7.28.0) ##### Added - \[`function-component-definition`]: support namedComponents option being an array ([#​3129][] [@​petersendidit](https://togithub.com/petersendidit)) ##### Fixed - \[`jsx-indent-props`]: Reset `line.isUsingOperator` correctly after ternary ([#​3146][] [@​tobiaswaltl](https://togithub.com/tobiaswaltl)) ##### Changed - \[Refactor] \[`no-arrow-function-lifecycle`], \[`no-unused-class-component-methods`]: use report/messages convention ([@​ljharb](https://togithub.com/ljharb)) - \[Tests] component detection: Add testing scaffolding ([#​3149][] [@​duncanbeevers](https://togithub.com/duncanbeevers)) - \[New] component detection: track React imports ([#​3149][] [@​duncanbeevers](https://togithub.com/duncanbeevers)) - \[New] component detection: add `util.isReactHookCall` ([#​3156][] [@​duncanbeevers](https://togithub.com/duncanbeevers)) [7.28.0]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.27.1...v7.28.0 [#​3156]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3156 [#​3149]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3149 [#​3146]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3146 [#​3129]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3129 ### [`v7.27.1`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7271---20211118) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.27.0...v7.27.1) ##### Fixed - \[`no-invalid-html-attribute`]: allow `link` `rel` to have `apple-touch-icon`, `mask-icon` ([#​3132][] [@​ljharb](https://togithub.com/ljharb)) - \[`no-unused-class-component-methods`]: add `getChildContext` lifecycle method ([#​3136][] [@​yoyo837](https://togithub.com/yoyo837)) - \[`prop-types`]: fix false positives on renames in object destructuring ([#​3142][] [@​golopot](https://togithub.com/golopot)) - \[`no-arrow-function-lifecycle`]: fix invalid autofix from a concise arrow method to a regular one ([#​3145][] [@​ljharb](https://togithub.com/ljharb)) - \[`display-name`]: avoid false positives on non-creatClass object expressions ([#​3144] [@​ljharb](https://togithub.com/ljharb)) ##### Changed - \[readme] fix syntax typo ([#​3141][] [@&# </details> --- ### Configuration 📅 **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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/powerhome/audiences). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi40My4yIiwidXBkYXRlZEluVmVyIjoiMzYuNDMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
- Loading branch information