eslint-plugin-react
Advanced tools
Changelog
[7.33.2] - 2023.08.15
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)Changelog
[7.33.1] - 2023.07.29
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)Changelog
[7.33.0] - 2023.07.19
display-name
]: add checkContextObjects
option ([#3529][] @JulesBlm)jsx-first-prop-new-line
]: add multiprop
option ([#3533][] @haydncomley)no-deprecated
]: add React 18 deprecations ([#3548][] @sergei-startsev)forbid-component-props
]: add disallowedFor
option ([#3417][] @jacketwpbb)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 onLoad
on source
(@ljharb)jsx-first-prop-new-line
]: ensure autofix preserves generics in component name ([#3546][] @ljharb)no-unknown-property
]: allow fill
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)destructuring-assignment
]: Handle destructuring of useContext in SFC" ([#3583][] [#2797][] @102)prefer-read-only-props
]: add TS support ([#3593][] @HenryBrown0)jsx-newline
], [no-unsafe
], [static-property-placement
]: Fix code syntax highlighting ([#3563][] @nbsp1221)jsx-no-bind
]: reword performance rationale ([#3581][] @gpoole)jsx-first-prop-new-line
]: add missing multiprop
value ([#3598][] @dzek69)Changelog
[7.32.2] - 2023.01.28
parserOptions
in legacy configs ([#3523][] @ljharb)jsx-no-constructed-context-values
], [jsx-no-useless-fragment
]: add a rule schema (@ljharb)
( [no-unknown-property
]: add fill
for <marker>
([#3525][] @alexey-koran)Changelog
[7.32.1] - 2023.01.16
destructuring-assignment
]: do not force destructuring of optionally chained properties ([#3520][] @ljharb)Changelog
[7.32.0] - 2023.01.10
hook-use-state
]: add allowDestructuredState
option ([#3449][] @ljharb)sort-default-props
] and deprecate [jsx-sort-default-props
] ([#1861][] @alexzherdev)no-object-type-as-default-prop
] rule ([#2848][] @cyan33 @fengkx)sort-prop-types
]: restore autofixing ([#3452][], [#3471][] @ROSSROSALES)no-unknown-property
]: do not check fbs
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)jsx-no-leaked-render
]: Remove mentions of empty strings for React 18 ([#3468][] @karlhorky)eslint-doc-generator
to v1.0.0 ([#3499][] @bmish)prefer-exact-props
]: fix example flow syntax ([#3510][] @smackfu)anyOf
instead of oneOf
(@ljharb @remcohaszing)Changelog
[7.31.11] - 2022.11.17
jsx-no-target-blank
]: allow ternaries with literals ([#3464][] @akulsr0)no-unknown-property
]: add inert
attribute ([#3484][] @ljharb)jsx-key
]: detect keys in logical expression and conditional expression ([#3490][] @metreniuk)forbid-component-props
: inclusive language w/ allowlist ([#3473][] @AndersDJohnson)eslint-doc-generator
([#3469][] @bmish)Changelog
[7.31.10] - 2022.10.10
no-unknown-property
]: allow allowFullScreen
on iframe
([#3455][] @almeidx)Changelog
[7.31.9] - 2022.10.09
no-unknown-property
]: add dialog
attributes ([#3436][] @ljharb)no-arrow-function-lifecycle
]: when converting from an arrow, remove the semi and wrapping parens ([#3337][] @ljharb)jsx-key
]: Ignore elements inside React.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
]: allow webkitDirectory
on input
, case-insensitive ([#3454][] @ljharb)no-unknown-property
]: fix typo in link ([#3445][] @denkristoffer)no-unstable-nested-components
]: Warn about memoized, nested components ([#3444][] @eps1lon)Changelog
[7.31.8] - 2022.09.08
no-unknown-property
]: add viewBox
on marker
([#3416][] @ljharb)no-unknown-property
]: add noModule
on script
([#3414][] @ljharb)no-unknown-property
]: allow onLoad
on <object>
([#3415][] @OleksiiKachan)no-multi-comp
]: do not detect a function property returning only null as a component ([#3412][] @ljharb)no-unknown-property
]: allow abbr
on <th>
and <td>
([#3419][] @OleksiiKachan)no-unknown-property
]: add viewBox
for pattern
, symbol
, view
([#3424][] @MNBuyskih)no-unknown-property
]: add align
on all the tags that support it ([#3425][] @ljharb)