eslint-plugin-react
Advanced tools
Changelog
[7.26.0] - 2021.09.20
no-namespace
] rule ([#2640] @yacinehmito @ljharb)jsx-max-props-per-line
]: add single
and multi
options ([#3078] @SIL0RAK)display-name
]: Get rid of false position on component detection ([#2759] @iiison)no-access-state-in-setstate
]: passing test for “don't error if it's not a React Component” ([#1873] @kentcdodds)Changelog
[7.25.3] - 2021.09.19
prop-types
], propTypes
: bail out unknown generic types inside func params ([#3076] @vedadeepta)isCreateElement
and isDestructuredFromPragmaImport
utils (@ljharb)Changelog
[7.25.2] - 2021.09.16
jsx-no-useless-fragments
]: Handle insignificant whitespace correctly when allowExpressions
is true
([#3061][] @benj-dobs)prop-types
], propTypes
: handle implicit children
prop in react's generic types ([#3064][] @vedadeepta)display-name
]: fix arrow function returning result of function call with JSX arguments being interpreted as component ([#3065][] @danielfinke)jsx-no-target-blank
]: avoid crash on attr-only href ([#3066][] @ljharb @gaz77a)jsx-uses-vars
]: ignore lowercase tag names ([#3070][] @alanorozco)Changelog
[7.25.1] - 2021.08.29
no-this-in-sfc
], component detection: Improve stateless component detection ([#3056][] @Wesitos)Changelog
[7.25.0] - 2021.08.27
jsx-no-useless-fragments
]: add option to allow single expressions in fragments ([#3006][] @mattdarveniza)prefer-exact-props
] rule ([#1547][] @jomasti)jsx-no-target-blank
]: add forms
option ([#1617][] @jaaberg)jsx-pascal-case
]: add allowLeadingUnderscore
option ([#3039][] @pangaeatech)no-children-prop
]: Add allowFunctions
option ([#1903][] @alexzherdev)jsx-runtime
]: set parserOptions.jsxPragma
for @typescript-eslint/parser
([bb64df65][] @ljharb)estraverse
to improve component detection ([#2992][] @Wesitos)destructuring-assignment
], [no-multi-comp
], [no-unstable-nested-components
], component detection: improve component detection ([#3001][] @vedadeepta)no-deprecated
]: fix crash on rest elements ([#3016][] @ljharb)destructuring-assignment
]: get the contextName correctly ([#3025][] @ohhoney1)no-typos
]: prevent crash on styled components and forwardRefs ([#3036][] @ljharb)destructuring-assignment
], component detection: handle default exports edge case ([#3038][] @vedadeepta)no-typos
]: fix crash on private methods ([#3043][] @ljharb)jsx-no-bind
]: handle local function declarations ([#3048][] @p7g)prop-types
], propTypes
: handle React.* TypeScript types ([#3049][] @vedadeepta)prop-types
], propTypes
: add handling for FC<Props>
, improve tests ([#3051][] @vedadeepta)prop-types
], propTypes
: prevent crash introduced in [#3051][] ([#3053][] @ljharb)jsx-no-bind
]: updates discussion of refs ([#2998][] @dimitropoulos)utils/Components
: correct spelling and delete unused code ([#3026][] @ohhoney1)jsx-uses-react
], [react-in-jsx-scope
]: document [react/jsx-runtime
] config ([#3018][] @pkuczynski @ljharb)require-default-props
]: fix small typo ([#2994][] @evsasse)jsx-runtime
config ([#3052][] @ljharb)Changelog
[7.24.0] - 2021.05.27
no-unused-prop-types
]: add ignore option ([#2972][] @grit96)jsx-handler-names
]: properly substitute value into message ([#2975][] @G-Rath)jsx-uses-vars
]: ignore namespaces ([#2985][] @remcohaszing)jsx-no-undef
]: ignore namespaces ([#2986][] @remcohaszing)jsx-child-element-spacing
]: Don't flag whitespace around <br/>
tags ([#2989][] @pascalpp)jsx-newline
]: Fix minor spelling error on rule name ([#2974][] @DennisSkoko)void-dom-elements-no-children
]: improve performancejsx-child-element-spacing
]: fixes sentence which ends abruptly ([#2990][] @pascalpp)Changelog
[7.23.2] - 2021.04.08
jsx-max-depth
]: Prevent getting stuck in circular references ([#2957][] @AriPerkkio)jsx-no-target-blank
]: fix handling of warnOnSpreadAttributes
being false ([#2953][] @Nokel81)forbid-dom-props
]: support JSXNamespacedName
([#2961][] @mrtnzlml)forbid-component-props
]: support JSXNamespacedName
(@ljharb)Changelog
[7.23.1] - 2021.03.23
Changelog
[7.23.0] - 2021.03.22
jsx-no-target-blank
]: add fixer ([#2862][] @Nokel81)jsx-pascal-case
]: support minimatch ignore
option ([#2906][] @bcherny)jsx-pascal-case
]: support allowNamespace
option ([#2917][] @kev-y-huang)jsx-newline
]: Add prevent option ([#2935][] @jsphstls)no-unstable-nested-components
]: Prevent creating unstable components inside components ([#2750][] @AriPerkkio)jsx-runtime
config, for the modern JSX runtime transform (@ljharb)jsx-no-constructed-context-values
]: avoid a crash with as X
TS code ([#2894][] @ljharb)jsx-no-constructed-context-values
]: avoid a crash with boolean shorthand ([#2895][] @ljharb)static-property-placement
]: do not report non-components ([#2893][] @golopot)no-array-index-key
]: support optional chaining ([#2897][] @SyMind)no-typos
]: avoid a crash on bindingless prop-types
import; add warning ([#2899][] @ljharb)jsx-curly-brace-presence
]: ignore containers with comments ([#2900][] @golopot)destructuring-assignment
]: fix a false positive for local prop named context
in SFC ([#2929][] @SyMind)jsx-no-target-blank
]: Allow rel="noreferrer" when allowReferrer
is true ([#2925][] @edemaine)boolean-prop-naming
]: add check for typescript "boolean" type ([#2930][] @vedadeepta)jsx-curly-newline
]: Update error messages ([#2933][] @jbrower2)jsx-no-constructed-context-values
][]: fix invalid example syntax ([#2910][] @kud)Changelog
[7.22.0] - 2020.12.29
jsx-key
]: added checkKeyMustBeforeSpread
option for new jsx transform ([#2835][] @morlay)jsx-newline
]: add new rule ([#2693][] @jzabala)jsx-no-constructed-context-values
]: add new rule which checks when the value passed to a Context Provider will cause needless rerenders ([#2763][] @dylanOshima)jsx-indent-props
]: add ignoreTernaryOperator
option ([#2846][] @SebastianZimmer)jsx-no-target-blank
]: Add warnOnSpreadAttributes
option ([#2855][] @michael-yx-wu)display-name
]/component detection: avoid a crash on anonymous components ([#2840][] @ljharb)prop-types
]: function in class that returns a component causes false warning in typescript ([#2843][] @SyMind)jsx-no-target-blank
]: avoid a crash with a non-string literal ([#2851][] @ljharb)jsx-no-script-url
]: avoid crash with boolean href
([#2871][] @ljharb, @AriPerkkio)no-typos
]: avoid crash with computed method name ([#2870][] @ljharb, @AriPerkkio)jsx-max-depth
]: avoid crash with childless jsx child ([#2869][] @ljharb, @AriPerkkio)jsx-wrap-multilines
]: fix crash with declaration
s that are on a new line after =
([#2875][] @ljharb)no-unknown-property
]: avoid crash with prop named with Object.prototype key ([#2879][] @ljharb, @AriPerkkio)prop-types
]: default argument does not count as props-types declaration ([#2877][] @golopot)jsx-props-no-multi-spaces
]: fix a false positive for beside comments ([#2878][] @golopot)jsx-no-undef
]: handle the TS parser combined with an invalid ecmaVersion ([#2882][] @ljharb)no-unused-prop-types
]: apply skipShapeProps
to exact types ([#2883][] @golopot)no-danger-with-children
]/[style-prop-object
]/[no-adjacent-inline-elements
]: add category, URL ([#2891][] @thofmann)no-unused-prop-types
]: Add new example to rule ([#2852][] @thehereward)prop-types
]: fix example ([#2881][] @technote-space)