eslint-plugin-react
Advanced tools
Changelog
[7.36.1] - 2024.09.12
no-is-mounted
]: fix logic in method name check ([#3821][] @Mathias-S)jsx-no-literals
]: Avoid crashing on valueless boolean props ([#3823][] @reosarevok)Changelog
[7.36.0] - 2024.09.12
no-string-refs
]: allow this.refs in > 18.3.0 ([#3807][] @henryqdineen)jsx-no-literals
] Add elementOverrides
option and the ability to ignore this rule on specific elements ([#3812][] @Pearce-Ropion)forward-ref-uses-ref
]: add rule for checking ref parameter is added ([#3667][] @NotWoods)function-component-definition
], [boolean-prop-naming
], [jsx-first-prop-new-line
], [jsx-props-no-multi-spaces
], propTypes
: use type args ([#3629][] @HenryBrown0)jsx-props-no-spreading
]: add explicitSpread
option to schema ([#3799][] @ljharb)no-danger
]: update broken link ([#3817][] @lucasrmendonca)button-has-type
: add test case with spread ([#3731][] @y-hsgw)Changelog
[7.35.2] - 2024.09.03
jsx-curly-brace-presence
]: avoid autofixing attributes with double quotes to a double quoted attribute ([#3814][] @ljharb)Changelog
[7.35.1] - 2024.09.02
jsx-curly-brace-presence
]: do not trigger on strings containing a quote character ([#3798][] @akulsr0)Changelog
[7.35.0] - 2024.07.19
jsx-props-no-spread-multi
] ([#3724][] @SimonSchick)forbid-component-props
]: add propNamePattern
to allow / disallow prop name patterns ([#3774][] @akulsr0)jsx-handler-names
]: support ignoring component names ([#3772][] @akulsr0)jsx-closing-tag-location
]: add line-aligned
option ([#3777] @kimtaejin3)no-danger
]: add customComponentNames
option ([#3748][] @akulsr0)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)variableUtil
: Avoid creating a single flat variable scope for each lookup ([#3782][] @DanielRosenwasser)Changelog
[7.34.4] - 2024.07.13
prop-types
]: fix className
missing in prop validation false negative ([#3749][] @akulsr0)sort-prop-types
]: Check for undefined before accessing node.typeAnnotation.typeAnnotation
([#3779][] @tylerlaprade)Changelog
[7.34.3] - 2024.06.18
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
]: assumeUndefinedIsFalse
with never
must not allow explicit true
value ([#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)Changelog
[7.34.2] - 2024.05.24
boolean-prop-naming
]: avoid a crash with a non-TSTypeReference type ([#3718][] @developer-bandi)jsx-no-leaked-render
]: invalid report if left eside 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)Changelog
[7.34.1] - 2024.03.15
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
, popovertargetaction
attributes ([#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)boolean-prop-naming
]: improve error message (@ljharb)