eslint-plugin-react
Advanced tools
Changelog
[7.18.0] - 2020-01-15
require-default-props
][]: add option to ignore functional components ([#2532][] @RedTn)function-component-definition
][]: Enforce a specific function type for function components ([#2414][] @Stefanwullems)no-adjacent-inline-elements
][]: Prevent adjacent inline elements not separated by whitespace ([#1155][] @SeanHayes)jsx-no-script-url
][]: prevent usage of javascript:
URLs ([#2419][] @sergei-startsev)jsx-pascal-case
][]: false negative with namespacing ([#1337][] @mfyuce)jsx-curly-brace-presence
][]: Fix curly-brace-presence
edge cases ([#2523][] @rafbgarcia)prop-types
][]: Does not validate missing propTypes for LogicalExpression ([#2533][] @toshi-toma)no-unknown-property
][]: allowTransparency does not exist in React >= v16.1 ([#1538][] @dawidvdh)jsx-curly-brace-presence
][]: Fix error related to tags line break ([#2521][] @rafbgarcia)no-typos
][]: Compilation error when method name is string instead of identifier ([#2514][] @shijistar)jsx-curly-brace-presence
][]: allow trailing spaces in TemplateLiteral ([#2507][] @doochik)no-unused-prop-types
], [no-unused-state
]: fix false positives when using TS type assertions ([#2536][] @kdmadej)no-render-return-value
][]: Fix title ([#2540][] @micnic)no-typos
]: check static lifecycle methods ([#2006][] @bsonntag)jsx-first-prop-new-line
][]: Fix rule name in "Rule Options" section ([#2535][] @barreira)no-unused-prop-types
][]: Added test cases ([#977][] @dozoisch)array-includes
, object.entries
, object.fromentries
, object.values
, resolve
Changelog
[7.17.0] - 2019-11-28
jsx-no-target-blank
][]: add allowReferrer
option ([#2478][] @eps1lon)jsx-handler-names
][]: add checkLocalVariables
option ([#2470][] @aub)prop-types
][]: Support Flow Type spread ([#2446][] @moroine)jsx-props-no-spreading
][]: add explicitSpread
option to allow explicit spread of props ([#2449][] @pawelnvk)jsx-no-target-blank
][]: warn on target={'_blank'}
expressions ([#2451][] @timkraut)function-component-definition
]: Enforce a specific function type for function components ([#2414][] @Stefanwullems)sort-prop-types
][], [jsx-sort-default-props
][]: disable broken autofix ([#2505][] @webOS101)no-typos
][]: improve report location ([#2468][] @golopot)jsx-no-literals
][]: trim whitespace for allowedStrings
check ([#2436][] @cainlevy)jsx-curly-brace-presence
][]: Fix filter of undefined error with whitespace inside jsx attr curlies ([#2460][] @dustinyoste)no-render-return-value
][]: should warn when used in assignment expression ([#2462][] @jichu4n)jsx-curly-brace-presence
][]: allow trailing spaces in literal ([#2448][] @doochik)jsx-ast-utils
, object.fromentries
, resolve
jsx-first-prop-new-line
: Fix documentation formatting ([#2489][] @pjg)prop-types
][]: Update 'skipUndeclared' in rule options ([#2504][] @cjnickel)jsx-first-prop-new-line
][]: fix wrong rule name ([#2500][] @zgayjjf)jsx-props-no-multi-spaces
][]: suggest using core rule instead ([#2463][] @golopot)jsx-first-prop-new-line
][]: add rule options ([#2465][] @SerdarMustafa1)jsx-no-target-blank
][]: Add section about overriding for trusted links ([#2438][] @aschriner)no-unused-prop-types
][]: clean up prose ([#2273][] @coryhouse)jsx-no-bind
][]: add section about React Hooks ([#2443][] @kdex)Changelog
[7.16.0] - 2019-10-04
jsx-sort-default-props
][]: make rule fixable ([#2429][] @emroussel)jsx-no-useless-fragment
][]: use array-includes
over .includes
for back compat (@ljharb)jsx-curly-brace-presence
][]: allow necessary white-space literal ([#2437][] @uniqname)jsx-curly-brace-presence
][]: warns incorrectly on trailing whitespace ([#2431][] @BC-M)no-unused-prop-types
][]: false positive when nested destructuring ([#2428][] @golopot)Changelog
[7.15.1] - 2019-10-01
jsx-curly-brace-presence
][]: bail out checks when JSXElements are passed as props ([#2426][] @vedadeepta)prefer-es6-class
][]: Fix typos ([#2425][] @spencerbyw)Changelog
[7.15.0] - 2019-09-30
jsx-no-useless-fragment
][] rule ([#2261][] @golopot)jsx-handler-name
][]: allow false
to disable eventHandlerPrefix
/eventHandlerPropPrefix
([#2410][] @tanmoyopenroot)sort-comp
][]: add static-variables
grouping ([#2408][] @vedadeepta)jsx-no-literals
][]: Add allowedStrings
option ([#2380][] @benhollander)no-multi-comp
][]: Added handling for forwardRef
and memo
wrapping components declared in the same file ([#2184][] @jenil94)jsx-pascal-case
][]: allowAllCaps
option now allows SCREAMING_SNAKE_CASE
([#2364][] @TylerR909)jsx-indent
][]: Fix false positive when a jsx element is the last statement within a do expression (with tests) ([#2200][] @Kenneth-KT)jsx-curly-brace-presence
][]: fix jsx tags in braces ([#2422][] @tanmoyopenroot)display-name
][]: Fix false positives ([#2399][] @BPScott)jsx-curly-brace-presence
][]: report unnecessary curly braces with children on next line ([#2409][] @vedadeepta)no-unused-prop-types
][]: false positive with callback ([#2375][] @golopot)jsx-sort-props
][]: use localeCompare rather than comparison operator ([#2391][] @tanmoyopenroot)jsx-pascal-case
][]: allow one-letter-named components ([#2395][] @Haegin)jsx-wrap-multilines
][]: fix incorrect formatting ([#2392][] @tanmoyopenroot)require-optimization
][]: fix when using arrow function in class components ([#2385][] @jenil94)no-deprecated
][]: Deprecate cWM/cWRP/cWU lifecycle methods since React 16.9.0 ([#2378][] @meowtec)jsx-key
][]: improve docs and confusing error message ([#2367][] @kaykayehnn)prop-types
][]: false positive with setState updator ([#2359][] @golopot)no-access-state-in-setstate
][]: update grammar ([#2418][] @neaumusic)jsx-curly-brace-presence
][], [jsx-one-expression-per-line
][], [no-danger-with-children
][]: add isWhiteSpaces
to lib/util/jsx
([#2409][] @vedadeepta)Changelog
[7.14.3] - 2019-07-23
prop-types
][] to ignore validation when Flow indexers are used ([#2330][] @yannickcr)memo
and forwardRef
are used together ([#2349][] @yannickcr)Changelog
[7.14.2] - 2019-06-24
prop-types
][] crash on for...of destructuring ([#2326][] @yannickcr)Changelog
[7.14.1] - 2019-06-24
prop-types
][] crash on multiple destructuring ([#2319][] @golopot)Changelog
[7.14.0] - 2019-06-23
jsx-curly-newline
][] rule ([#1493][] @golopot)prop-types
][] ([#296][] [#1422][] @golopot)prop-types
][] and [no-unused-prop-types
][] ([#442][] [#833][] [#1002][] [#1116][] [#1257][] [#1764][] @golopot)checkFragmentShorthand
option to [jsx-key
][] ([#2316][] @kaykayehnn)no-did-mount-set-state
][] and [no-did-update-set-state
][] to handle cDU and cDM defined as class properties ([#1595][] @jaaberg)sort-prop-types
][] cash when a shape PropType is defined in a variable ([#1749][] @alexzherdev)no-unused-state
][] false positive when using state of non-lifecycle method ([#2274][] @golopot)static-property-placement
][] false positive when accessing static property inside method ([#2283][] @dmason30)prop-type
][] detection for annotated props with default value ([#2298][] @yannickcr)no-render-return-value
][] performance ([#2259][] @golopot)jsx-sort-props
][] to report errors only on the identifier ([#2312][] @MrHen)Changelog
[7.13.0] - 2019-05-03
jsx-sort-props
][] fully fixable ([#2250][], @guliashvili)boolean-prop-naming
][]: add validateNested
option to validate shape prop names ([#2234][], @pawelnvk)static-property-placement
][] rule ([#2193][], @dmason30)jsx-indent
][]: Add indentLogicalExpressions
option ([#2227][], @mdnsk)jsx-props-no-spreading
][] ([#2191][], @ashbhir)no-string-refs
][]: Added noTemplateLiteral
option ([#2167][], @jenil94)linkComponents
setting ([#2116][], @gbakernet)jsx-no-target-blank
][]: add support for linkComponents
setting ([#2116][], @gbakernet)state-in-constructor
][] rule ([#1945][], @lukyth)prefer-read-only-props
][] rule ([#2110][], @golopot)no-unescaped-entities
][]: more friendly error message; add config to adjust ([#2016][], @stevemao)jsx-props-no-multi-spaces
][]: support generic components (ts) ([#2256][], @mateuszsokola)prop-types
][]: fix case with destructuring and default param ([#2246][], @golopot)prefer-stateless-function
][]: Ignoring pure components without props and context usage ([#2238][], @pawelnvk)propTypes
: resolveSuperParameterPropsType: add null check ([#2232][], @jedwards1211)self-closing-comp
][]: stop reporting single-line spaces ([#2210][], @golopot)require-render-return
][]: more accurate report location ([#2229][], @golopot)sort-prop-types
][]: Fix sorting props with numeric keys ([#2230][], @pawelnvk)display-name
][]: fix false negative around nested functions ([#2225][], @dwelle)no-unknown-property
][]: fix case like <Foo.bar>
([#2207][], @golopot)jsx-curly-brace-presence
][]: accept multiline template string ([#2203][], @golopot)jsx-one-expression-per-line
][]: fix when using tabs ([#2198][], @Ohar)prop-types
][]: Fix false positive on computed member expression ([#2202][], @golopot)jsx-sort-default-props
][]: fix case with spread ([#2182][], @VincentLanglet)no-this-in-sfc
][]: Fix false positive on SFC defined as object property ([#2147][], @yannickcr)sort-comp
][]: correctly recognize instance variables declared without explicit value ([#2183][], @yannickcr)no-unused-state
][]: fix set state callback destructing & state use inside callback ([#2151][], @barakyosi)no-multi-comp
][]: correctly ignore wrapped stateless components: ([#2145][], @yannickcr)display-name
][]: avoid crash on for..of ([#2137][], @ljharb)no-access-state-in-setstate
][]: Use syntax highlighting for examples ([#2160][], @pReya)jsx-fragments
][]: add "fixable" note ([#2143][], @joshunger)jsx-curly-spacing
][]: add regression test case ([#2206][], @ColCh)