All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning. This change log adheres to standards from Keep a CHANGELOG.
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-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)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-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)jsx-indent-props
: Apply indentation when using brackets (#2826 @Moong0122)jsx-handler-names
: Skip inline handlers when checkInlineFunction=false (#2833 @onigoetz)jsx-indent-props
: Add passing test (#2823 @Hypnosphi)no-unused-prop-types
: Silence false positive on never
type in TS (#2815 @pcorpet)jsx-indent-props
: Apply indentation when operator is used in front of the upper line (#2808, #2820 @Moong0122)jsx-ast-utils
(#2822 jsx-eslint/jsx-ast-utils#102 @ljharb)prop-types
: fix Cannot read property 'type' of undefined error when destructured param (#2807 @minwe)no-typos
: avoid crash on spread syntax in createReactClass object (#2816 @ljharb @Songyu-Wang)prop-types
: handle RestElement in destructured param (#2805 @hank121314)jsx-handler-names
: avoid a crash when an inline prop is not a MemberExpression (#2803 @willheslam)button-has-type
: support trivial ternary expressions (#2748 @Hypnosphi)jsx-handler-names
: add checkInlineFunction
option (#2761 @dididy)jsx-no-literals
: add noAttributeStrings
option (#2782 @TaLeaMonet)prop-types
: add support for PropTypes.exact
(#2740 @jzabala)jsx-filename-extension
: Add allow option (#2746 @remcohaszing)function-component-definition
: ignore object properties (#2771 @stefan-wullems)forbid-component-props
: Implemented support for "namespaced" components (#2767 @mnn)prefer-read-only-props
: support Flow $ReadOnly
(#2772, #2779, #2770 @karolina-benitez)jsx-handler-names
: handle whitespace (#2789 @AriPerkkio)prop-types
: Detect TypeScript types for destructured default prop values (#2780 @sunghyunjo)jsx-pascal-case
: Handle single character namespaced component (#2791 @daviferreira)jsx-closing-bracket-location
: In tag-aligned
, made a distinction between tabs and spaces (#2796 @Moong0122)jsx-handler-names
: false positive when handler name begins with number (#1689 @jsphstls)prop-types
: Detect JSX returned by sequential expression (#2801 @mikol)jsx-props-no-multi-spaces
: "Expected no line gap between" false positive (#2792 @karolina-benitez)no-unknown-property
: check attributes with any input case (#2790 @julienw)prop-types
/no-unused-prop-types
: handle CallExpression in ReturnType (#2802 @hank121314)jsx-uses-react
: mark fragment variables as used (#2775 @remcohaszing)no-unused-prop-types
: improve component declared props detection ([#2755][] @jzabala)jsx-props-no-multi-spaces
: Show error in multi-line props (#2756 @iiison)jsx-curly-brace-presence
: fix multiline comment case (#2716 @ljharb)jsx-no-useless-fragment
: accept fragments with call expressions (#2744 @hasparus)jsx-no-literals
with allowStrings doesn't work in props (#2736 @karolina-benitez)no-find-dom-node
: Improve error message (#2741 @ecraig12345)no-typos
/no-unused-prop-types
/propType detection: Support typescript props interface extension and TSTypeAliasDeclaration (#2721 @hank121314)no-this-in-sfc
/component detection: add arrow function to list of allowed position for component (#2708 @jzabala)no-access-state-in-setstate
: add check for class component (#2711 @jzabala)prop-types
/component detection: avoid a crash when a local createElement
identifier exists (#2733 @ljharb)no-unused-prop-types
: add test assigning this.props to a variablejsx-curly-brace-presence
: disable disallowed JSX text chars check in props (#2710 @jzabala)no-unused-state
: check for class expression (#2712 @jzabala)prop-types
: handle anonymous functions (#2730, #2731 @odinho @wKich @jzabala)prop-types
: handle component returning null (#2696 @hank121314)prop-types
/function-component-definition
: Add check for first letter capitalization in functional component detection (#2699 @jzabala)prop-types
: use variable value in prop type fields defined by variables (#2704 @jzabala)no-typos
: warn on a bindingless react
importboolean-prop-naming
: Added test for function invocation of bool (#2697 @ajkovar)jsx-curly-brace-presence
, jsx-no-comment-textnodes
: add passing testsno-unused-state
: avoid a loopno-unused-prop-types
/prop-types
: typescript interface support literal type and only FunctionComponent should have propTypes validation (#2690 @hank121314)no-unused-prop-types
/TypeScript: avoid crash on indexable interface (#2687 @ljharb)no-unused-prop-types
: handle optional chaining (#2679 @hank121314)jsx-pascal-case
: fix a false positive with "H1" (#2683 @ljharb)jsx-no-useless-fragment
: avoid a crash when autofixing a self-closing React.Fragment (#2680 @ljharb)forbid-prop-types
: avoid crash (#2682 @ljharb)forbid-dom-props
, function-component-definition
: fix schema typos (#2667 @mflorence99)no-unused-prop-types
: fix with typescript eslint parser (#2661 @eltonio450)forbid-prop-types
: warn on destructured values as well (#2676 @ajkovar)no-typos
test fails in eslint v7.3 ([#2678][] @toshi-toma)jsx-ast-utils
, object.entries
, resolve
@types/eslint
, @types/estree
, @types/node
, @typescript-eslint/parser
, eslint-config-airbnb-base
, eslint-plugin-eslint-plugin
, eslint-plugin-import
, typescript
forbid-component-props
/forbid-dom-props
: Allow a custom message with forbid props (#2615 @mtamhankar1)jsx-no-literals
: add ignoreProps
option to ignore props validation (#2146 @iiison)jsx-sort-props
: only use localeCompare when case is ignored (#2556 @tanmoyopenroot)jsx-key
: add a failing test case for optional chaining (#2610 @JonathanLee-LX)no-unused-state
: handle optional chaining (#2588 @golopot)jsx-pascal-case
: Do not consider namespaces when checking for DOM (#2638 @yacinehmito)jsx-curly-spacing
, jsx-no-bind
, usedPropTypes
util: avoid node.start and node.end (25b1936 @toshi-toma)jsx-no-target-blank
: allow no-referrer
without noopener
by default (#2043 @seancrater)button-has-type
: improve message when non-static value is used (aecff62 @golopot)no-adjacent-inline-elements
: prevent crash on nullish children (#2621 @Rogdham)prop-types
: avoid crash when spreading any type (#2606 @golopot))require-render-return
: add missing "a" (#2604 @leothorp)jsx-no-comment-textnodes
: fix for @typescript-eslint/parser
(#2601 @Axnyff)displayName
][]: avoid a crash when using React.memo (#2587 @golopot)no-this-in-sfc
: backtick this
(#2616 @mrflip)function-component-definition
: Fix unnamedComponents option examples (#2608 @vkrol))operator-linebreak
override (#2578 @golopot)button-has-type
: ensure no mistakenly allowed identifiers named button
/submit
/reset
(#2625 @golopot)displayName
: add a test case (#2593 @golopot)@types/eslint
, @types/estree
, @types/node
, @typescript-eslint/parser
, coveralls
, eslint-config-airbnb-base
, eslint-plugin-import
, typescript
style-prop-object
: Add allow
option (#1819 @hornta)jsx-pascal-case
: Support unicode characters (#2557 @Svish)prefer-stateless-function
: avoid crash on ts empty constructor (#2582 @golopot)no-adjacent-inline-elements
: avoid a crash (#2575 @ljharb)no-unused-prop-types
: Change the reporting to point to a more accurate node (#2292 @jseminck)self-closing-comp
: consider JSXMemberExpression as component too (#2572 @Belco90)no-unused-prop-types
: make markPropTypesAsUsed
work with TSEmptyBodyFunctionExpression
AST node (#2560 @guillaumewuip)displayName
][] (but really, propTypes
detection): do not crash on empty flow type spreads (#2570 @ljharb)react/
prefix to rule name, for consistencyno-unescaped-entities
: skip test cases that are now parsing errors in acorn-jsx@5.2.0 (#2583 @golopot)jsx-indent
: don't check literals not within JSX (#2564 @toshi-toma)jsx-indent
: avoid a crash on non-string literals (#2561 @ljharb)jsx-indent
: Does not check indents for JSXText (#2542 @toshi-toma)jsx-props-no-spreading
: add support for namespaced jsx components (#2534 @jonathanpalma)jsx-no-target-blank
: allow rel to be an expression (#2544 @odinho)sort-comp
: |
isn’t a valid regex flag; u
and s
are (@ljharb)markdown-magic
to automatically sort all rules alphabetically (#1742 @ybiquitous)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-typos
: check static lifecycle methods (#2006 @bsonntag)array-includes
, object.entries
, object.fromentries
, object.values
, resolve
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)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)jsx-curly-brace-presence
: bail out checks when JSXElements are passed as props (#2426 @vedadeepta)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)jsx-curly-brace-presence
, jsx-one-expression-per-line
, no-danger-with-children
: add isWhiteSpaces
to lib/util/jsx
(#2409 @vedadeepta)prop-types
to ignore validation when Flow indexers are used (#2330 @yannickcr)memo
and forwardRef
are used together (#2349 @yannickcr)prop-types
crash on for...of destructuring (#2326 @yannickcr)prop-types
crash on multiple destructuring (#2319 @golopot)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)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-unused-prop-types
: avoid a crash (#2131, @ljharb)prop-types
: avoid further crashes from nonexistent nodes in unusedPropTypes (#2127, @ljharb)prop-types
: Read name of callee object (#2125, @CrOrc)prop-types
: Ignore reassignments when matching props declarations with components (#2051, #1957, @yannickcr)prop-types
, no-unused-prop-types
, require-default-props
: Detect components with return statement in switch/case (#2118, @yannickcr)jsx-indent
: Prevent crash on valueless props (#2120, @jomasti)jsx-fragments
: avoid crashing on self-closing fragments (#2113, @alexzherdev)no-unused-prop-types
: Fix propType detection inside class bodies (#2115, @drx)no-unused-prop-types
: fix issue with propTypes misclassifying props (#2111, @drx)display-name
: fix false positive for React.memo
(#2109, @jomasti)prop-types
: avoid crash on used prevProps (#2095, @ljharb)forbid-prop-types
: fix crash with propWrapper check on MemberExpressions (#2104, @ljharb)no-unused-state
: Fix crash with class fields (#2098, @jomasti)prop-types
: Fix false positives inside lifecycle methods (#2099, @jomasti)jsx-max-depth
: avoid a crash (#2102, @ljharb)jsx-wrap-multilines
: avoid crash when no trailing newline (#2100, @ljharb)no-typos
: Support createClass (#1828, @alexzherdev)jsx-indent
: add checkAttributes
option for JSX attribute indentation (#2086, @jomasti)propWrapperFunctions
setting values (#2065, @jomasti)jsx-fragments
rule to enforce fragment syntax (#1994, @alexzherdev)jsx-no-literals
: print node value in warning message (#2008, @jlgonzalezdev)jsx-max-depth
: Fix depth of JSX siblings in a JSXEpressionContainer (#1824, @alexzherdev)no-array-index-key
: fix in React.Children methods (#2085, @himynameisdave)no-unused-state
: handle functional setState (#2084, @jomasti)no-deprecated
: Disable legacy lifecycle methods linting for now (#2069, @sergei-startsev)forbid-foreign-prop-types
: ensure allowInPropTypes
option applies to class fields (#2040, @Sheile)jsx-wrap-multilines
: catch single missing newlines (#1984, @MrHen)jsx-first-prop-new-line
: Fix for parsers (like TypeScript) (#2026, @HauptmannEck)sort-comp
: Fix fixer in case of more than 10 props (#2012, @tihonove)no-unused-state
Don't depend on state parameter name (#1829, @alexzherdev)no-this-in-sfc
fix for class properties (#1995, @sergei-startsev)no-this-in-sfc
fix rule behavior for arrow functions inside a class field (#1989, @sergei-startsev)destructuring-assignment
: handle nested props usage (#1983, @alexzherdev)sort-prop-types
: fix string property order (#1977, @metreniuk)jsx-no-target-blank
: don’t crash when there’s no value (#1949, @ljharb)prop-types
, no-unused-prop-types
: better handle object spread (#1939, @alexzherdev)jsx-fragments
: improve message text (#2032, @alexzherdev)no-unsafe
: handle all unsafe life-cycle methods (#2075, @sergei-startsev)require-default-props
: Change error message naming from singular defaultProp to plural defaultProps (#2064, @jseminck)propTypes
detection (#1946, @alexzherdev)defaultProps
detection (#1942, @alexzherdev)propTypes
detection (#2001, @alexzherdev)no-did-update-set-state
, no-will-update-set-state
: fix docs URLs (#2090, @JBallin)ignoreTranspilerName
value (#2002, @OliverJAsh)jsx-no-target-blank
.md (#1953, @brunocoelho)require('babel-eslint')
from tests (#2004, @sergei-startsev)jsx-one-expression-per-line
: add "allow" option (#1924, @alexzherdev)sort-prop-types
: add autofix (#1891, @finnp)jsx-no-bind
: Add ignoreDOMComponents option (#1868, @alexzherdev)destructuring-assignment
: Ignore class properties (#1909, @alexandernanberg)destructuring-assignment
, component detection: ignore components with confidence = 0 (#1907, @alexzherdev)boolean-prop-naming
: Handle inline Flow type (#1905, @alexzherdev)jsx-props-no-multi-spaces
: Handle member expressions (#1890, @alexzherdev)sort-comp
: Allow methods to belong to any matching group (#1858, @nosilleg)jsx-sort-props
: Fix reservedFirst
(#1883, @fleischie)prop-types
: (flow) Stop crashing on undefined or null properties (#1860, @nicholas-l)no-unknown-property
: Make attribute "charset" valid (#1863, @silvenon)no-deprecated
: report identifier AST node instead of the class node (#1854, @jsnajdr)button-has-type
: Account for pragma (#1851, @alexzherdev)button-has-type
: improve error message when an identifier is used as the value (#1874, @ljharb)no-unused-state
: combine spread visitors (@ljharb)jsx-one-expression-per-line
: Fix JSX Syntax in docs (#1867, @peter-mouland)jsx-max-depth
, jsx-sort-default-props
: add missing docs urls (#1880, @flyerhzm)jsx-indent
: add test cases (#1892, @alexzherdev)prop-types
: add test cases (#1898, @alexzherdev)jsx-props-no-multi-spaces
: update docs (#1918, @BenRichter)no-unsafe
rule (#1831, #1830 @sergei-startsev)no-will-update-set-state
: Account for UNSAFE_
methods (#1845, #1844 @alexzherdev)no-typos
: Fix static propTypes handling (#1827, #1677 @alexzherdev)destructuring-assignment
: Allow LHS (#1825, #1728 @alexzherdev)no-unused-prop-types
: Fix crash when encountering mixed union and intersection flow types (#1806 @yannickcr)jsx-no-target-blank
(#1805 @ferhatelmas))jsx-props-no-multi-spaces
rule (#1755 @ThiefMaster)first
option to jsx-indent-props
(#398 @ThiefMaster)enforceDynamicLinks
option to jsx-no-target-blank
(#1737 @kenearley)sort-comp
(#1793 @lynxtaa)no-typos
when encountering anonymous react imports (#1796 @jsg2021)boolean-prop-naming
when encountering a required shape prop type (#1791 @pcorpet)no-deprecated
when encountering a class constructor (#1785 @taddei)react-in-jsx-scope
(#1758)require-default-props
(#1724 @Miziak)forbid-component-props
(#1732 @ThiefMaster)no-unused-prop-types
(#1681 @bvaughn)sort-comp
(#1767 @joe-denea)no-typos
prevState
and nextState
to no-unused-state
(#1759)componentWillMount
, componentWillReceiveProps
and componentWillUpdate
lifecycle methods in no-deprecated
(#1750 @sergei-startsev)no-typos
false positive on custom PropType
classes (#1389 @brettdh)boolean-prop-naming
to handle required props (#1389 @louisscruz)jsx-curly-brace-presence
to allow whitespace JSX container (#1717 @sharmilajesupaul)jsx-no-bind
to handle ternary conditions (#1722 @gwenaellarmet)forbid-foreign-prop-types
: add allowInPropTypes
option (#1655 @iansu)jsx-max-depth
rule (#1260 @chriswong)no-access-state-in-setstate
: Exclude references to this.state in setState callback (#1610 @pfhayes)no-danger-with-children
: prevent infinite loop (#1571 @ljharb)sort-prop-types
: Fix sortShapeProp when shape is not an object literal (#1669 @justinanastos)jsx-child-element-spacing
: fix error location (#1666 @pfhayes)no-unused-prop-types
: fix for createClass (#1675 @yuri-sakharov)prop-types
: include nextProps checking in shouldComponentUpdate (#1690 @amerryma)jsx-curly-spacing
: refactor to fix start and end-braces in a single pass (#1414 @s-h-a-d-o-w)jsx-child-element-spacing
: add missing docs (#1665 @pfhayes); fix docs (#1670 @SammyM)prop-types
with recursive type annotations (#1653 @jetpacmonkey)no-unknown-property
to properly recognize crossOrigin
instead of crossorigin
, and allow it on link
tags. (#1659 @jzDev)no-access-state-in-setstate
to handle object spread (#1657 @ljharb)forbid-dom-props
rule (#1562 @davazp)jsx-child-element-spacing
rule (#1515 @pfhayes)no-this-in-sfc
rule (#1435 @jomasti)jsx-sort-default-props
rule (#281 @b0gok)message
option to boolean-prop-naming
(#1588 @louisscruz)beforeClosing
option to jsx-tag-spacing
(#1396 @cjskillingstad)instance-methods
and instance-variables
to sort-comp
(#599 @RDGthree)propWrapperFunctions
support for boolean-prop-naming
(#1478 @jomasti)React.addons.TestUtils
in no-deprecated
(#1644 @nirnaor)no-access-state-in-setstate
(#1559 @jomasti, #1611 @pfhayes)require-optimization
when encountering arrays with empty items as values in object (#1621 @kamataryo)no-unused-prop-types
when passing an empty function as a PropType (#1542 #1581 @kevinzwhuang)no-typos
when using PropType.shape
without arguments (#1471 @mrichmond)jsx-tag-spacing
(#1650 @flyerhzm)no-unused-state
to detect usage of this.state
as an object (#1572)no-access-state-in-setstate
to detect when the state
variable is destructured from this.state
(#1597 @jaaberg)jsx-no-literals
to correctly find string literals part of BinaryExpressions (#1511 @jaaberg)no-typos
false positive on custom propTypes with isRequired (#1607 @lfades)prop-types
to check for nextProps
in componentWillReceiveProps
(#1636 @xjmdoo)no-unknown-property
to not pascal-casing crossorigin
attribute and only allow it on script/img/video (#1642 @ljharb)jsx-wrap-multilines
auto fix (#1576 @sharmilajesupaul)defaultConfig
from sort-comp
rule for programmatic use (#1578 @Andarist)jsx-no-bind
crash (#1543 @jomasti)no-unused-prop-types
crash (#1542 @jomasti)jsx-one-expression-per-line
rule (#1497 @TSMMark)destructuring-assignment
rule (#1462 @DianaSuvorova)no-access-state-in-setstate
rule (#1374 @jaaberg)button-has-type
rule (#1525 @Hypnosphi)React.DOM
factories in no-deprecated
(#1530 @backjo)sortShapeProp
option to sort-prop-types
(#1476 @jomasti)parens-new-line
option to jsx-wrap-multilines
(#1475 @jomasti)checkContextTypes
and checkChildContextTypes
options to forbid-prop-types
(#1533 @jomasti)forbidDefaultForRequired
option to require-default-props
(#1524 @jomasti)jsx-wrap-multilines
(#1384 @evgeny-petukhov)jsx-curly-brace-presence
auto fix by bailing out when some chars exist (#1479 #1449 @jackyho112)boolean-prop-naming
crash with Object spread (#1485 @track0x1)no-unused-state
to correctly handle arrow function class method (#1363 @jackyho112)typescript-eslint-parser
(#1496 @timothykang)jsx-no-bind
to only warn for props and account for variable declaration (#1444 #1395 #1417 @jackyho112)no-unused-prop-types
to handle props usage in custom prop validators (#1518 @petersendidit)prefer-stateless-function
to account for contextTypes
and defaultProps
(#1521 @jomasti)jsx-no-comment-textnodes
to not warn when using two slashes via html entities at the beginning of a literal (#1517 @jomasti)default-props-match-prop-types
crash (#1499 @jomasti)no-unused-prop-types
to handle props used in the setState
update callback (#1507 @petersendidit)jsx-indent
(#1246 @jseminck)jsx-curly-brace-presence
rule (#1310 @jackyho112)prop-types
and no-unused-prop-types
(#1364 #1323 @jseminck)no-unused-prop-types
(#1412 @jseminck)prop-types
(#1400 @jseminck)no-unused-prop-types
(#1388 @jseminck)prop-types
and no-unused-prop-types
(#1381 @DianaSuvorova)no-direct-mutation-state
(#1386 @zpao)no-unused-state
to ignore computed property keys (#1361 @jackyho112)no-typos
crash (#1406 @jseminck)boolean-prop-naming
crash (#1409 @EvHaus)prop-types
and no-unused-prop-types
crash with IntersectionTypeAnnotation (#1413 @jseminck)propTypes
, contextTypes
and childContextTypes
to no-typos
(#213 @DianaSuvorova)boolean-prop-naming
crash (#1369 @EvHaus)no-typos
crash (#1353 @jseminck)require-default-props
stopping when it finds a component without props (#1380 @brgibson)no-direct-mutation-state
detection with nested components (#1382)forbid-prop-types
crash on identifiers (#1352 @ljharb)boolean-prop-naming
crash with propTypes wrapper (#1354 @dustinsoftware)prop-types
false positive with local variable props
(#1288 @DianaSuvorova)no-unused-state
rule (#1103 @wbinnssmith)boolean-prop-naming
rule (#1264 @EvHaus)no-typos
rule (#1189 @jseminck, #1294 @haridusenadeera)jsx-sort-props
(#1273 @Overload119)getters
and setters
groups to sort-comp
(#100 @RDGthree)noStrings
option to jsx-no-literals
(#1202 @deecewan)always
/never
to jsx-boolean-value
(#1249 @ljharb)no-direct-mutation-state
to disallow this.state
mutation in constructor (#832 @burabure)jsx-no-target-blank
crash on empty rel
attribute (#1269 @dustinsoftware)sort-comp
component detection with ClassExpression
(#1076 @webOS101)no-unused-prop-types
detection with async class properties and methods (#1053 @benstepp)void-dom-elements-no-children
crash (#1226 @kokobeware)no-danger-with-children
to ignore line breaks (#1262)no-danger-with-children
crash with undefined (#1287)jsx-no-target-blank
crash (#1296 @jseminck)no-unused-prop-types
to no longer ignore components with no used props (#1303 @DianaSuvorova)jsx-no-duplicate-props
crash (#969 @marcelmokos)jsx-no-literals
false positives (#1301 @davidyorr)no-find-dom-node
detection with named imports (#785 @Hypnosphi)no-unused-prop-types
detection with propTypes wrapped in a function (#1253 @dustinsoftware)no-unused-prop-types
detection with destructured use of properties (#816 @DianaSuvorova)no-unused-prop-types
detection with inline functions (#1309 @DianaSuvorova)no-unused-prop-types
skipShapeProps
option with Flow annotations (#1335 @DianaSuvorova)jsx-curly-spacing
schema incompatibility with ESLint 4.2.0 (#1290 @jseminck)default-props-match-prop-types
rule (#1022 @webOS101)no-redundant-should-component-update
rule (#985 @jomasti)jsx-closing-tag-location
rule (#1206 @rsolomon)jsx-max-props-per-line
(#949 @snowypowers)nextProps
/prevProps
in no-unused-prop-types
(#1213 @jseminck)prop-types
(#1236 @gpeal)children
option to jsx-curly-spacing
(#857 @fatfisz)prefer-stateless-function
ignorePureComponents
option when using class expressions (#1122 @dreid)void-dom-elements-no-children
crash (#1195 @oliviertassinari)require-default-props
quoted defaultProps
detection (#1201)jsx-sort-props
bug with ignoreCase
and callbacksLast
options set to true
(#1175 @jseminck)no-unused-prop-types
false positive (#1183 #1135 @jseminck)jsx-no-target-blank
to not issue errors for non-external URLs (#1216 @gfx)prop-types
quoted Flow types detection (#1132 @ethanjgoldberg)no-array-index-key
crash with key
without value (#1242 @jseminck)jsx-curly-spacing
allowMultiline
option being undefined in some cases (#1179 @fatfisz)jsx-curly-spacing
newline with object literals bug (#1180 @fatfisz)prop-types
to not mark class static function as valid propTypes definition (#1174)prop-types
crash with Flow spread operator (#1178)void-dom-elements-no-children
crash on faulty createElement
detection (#1101)require-default-props
error message for quoted props (#1161)no-will-update-set-state
rule (#1139 @ManThursday)no-deprecated
reservedFirst
option to jsx-sort-props
(#1134 @MatthewHerbst)React.PropTypes
and React.createClass
in no-deprecated
(#1148 @Calyhre)createClass
component factory to createReactClass
. This is used for React component detection, if you still using React.createClass
use the shared settings to specify createClass
as component factoryno-danger-with-children
rule to recommended rules (#748 @ljharb)no-string-refs
rule to recommended rules (#749 @ljharb)jsx-key
rule to recommended rules (#750 @ljharb)jsx-no-comment-textnodes
rule to recommended rules (#751 @ljharb)jsx-no-target-blank
rule to recommended rules (#752 @ljharb)no-unescaped-entities
rule to recommended rules (#841 @ljharb)no-children-prop
rule to recommended rules (#842 @ljharb)wrap-multilines
rule, use jsx-wrap-multilines
insteadno-comment-textnodes
rule, use jsx-no-comment-textnodes
insteadrequire-extension
rule, use the eslint-plugin-import extensions
rule insteadjsx-space-before-closing
rule, use the jsx-tag-spacing
rule instead. jsx-space-before-closing
still works but will trigger a warning (#1070 @afairb)jsx-first-prop-new-line
default is now multiline-multiprop
(#802 @kokarn)jsx-wrap-multilines
now checks arrow functions without block body. It can be deactivated in rule options (#790 @ColCh)jsx-no-undef
will not check the global scope by default. You can force it with the allowGlobals
option (#1013 @jomasti)no-unused-prop-types
false positive with nextProps
(#1079 @Kerumen)prefer-stateless-function
to not warn on classes with decorators (#1034 @benstepp)jsx-indent
(#1117)jsx-indent
indentation calculation with nested JSX (#1117)jsx-indent
auto fix with tabs (#1057 @kentcdodds @webOS101)jsx-indent
crash (#1061 @iancmyers)void-dom-elements-no-children
crash and fix it to only checks for a createElement call from
React (#1073 @jomasti)no-multi-comp
(#1088 @benstepp)forbid-foreign-prop-types
rule (#696 @iancmyers)void-dom-elements-no-children
rule (#709 @lencioni)forbid-elements
rule (#887 @kentor)noSortAlphabetically
option to jsx-sort-props
(#541 #786 @markus101)when
option to jsx-max-props-per-line
(#878 @kentor)nextProps
to prop-types
(#814)require-default-props
crash (#1029)require-default-props
rule when using Flow type from assignment (#1043 @wyze @CarlRosell)style-prop-object
to not warn with explicit null
or undefined
(#812 @ljharb)no-unused-prop-types
props detection in stateless components (#885 @BarryThePenguin)display-name
false positive with document.createElement
(#996 @jomasti)sort-prop-types
(#622)prop-types
to correctly assign props to components (#991)no-array-index-key
rule (#978 @lencioni)require-default-props
rule (#528 @vitorbal)prop-types
(#961 @ajhyndman)jsx-indent
with multiline jsx in ternaries (#966)jsx-curly-spacing
autofix to not delete comments (#648)eslint-plugin-react
in exported configurations (#984 @jamischarles)jsx-tag-spacing
crash when options object isn't passed (#955 @daltones)jsx-tag-spacing
rule (#693 @Kovensky)jsx-indent
for parenthesized ternaries (#945 @voxpelli)jsx-indent
for multiline ternariesjsx-indent
for arrays in jsx (#947)no-danger-with-children
crash with spread on global variables (#921)jsx-wrap-multilines
ternaries handling (#916)no-unused-prop-types
skipShapeProps
option by default to limit false positive (#953 @everdimension)jsx-first-prop-new-line
auto fix (#886 @snowypowers)no-unused-prop-types
crash with destructured prop-types (#938)jsx-indent
in multi-line conditional expressions (#901, #907)sort-comp
bad error message if 2 methods in the same group must be moved (#507)jsx-closing-bracket-location
auto fixer (#909 @arperry)jsx-indent
auto fixer (#608 @jayphelps)multiline-multiprop
option to jsx-first-prop-new-line
(#883 @kentor)forbid-component-props
crash with self reference JSX element (#839 @xeodou)jsx-indent
to ignore lines starting by literals (#900)no-set-state
to correctly detect setState
in arrow functions (#931)deprecated
metadata to deprecated rules (#911 @randycoulman)eslint-plugin-react
in exported configurations (#925 @MoOx)jsx-indent
for arrays (#897, #898)jsx-indent
to allow multi-line logical expressions with one level of indent (#896)skipUndeclared
option to prop-types
(#846 @pfhayes)jsx-no-bind
crash on arrow functions (#854)display-name
false negative on es6-style method in React.createClass
(#852)prefer-stateless-function
to allow components with childContextTypes
(#853)no-children-prop
spread support (#862 @randycoulman)no-unused-prop-types
to ignore validation when spread is used (#840)jsx-closing-bracket-location
for multi-line prop (#889)jsx-indent
in multi-line function calls (#895)jsx-indent
in multi-line logical expressions (#540)no-children-prop
rule (#720 @benstepp)no-unescaped-entities
rule (#681 @pfhayes)jsx-indent
rule (#838 @eelyafi)style-prop-object
crash (#834)style-prop-object
false positive on computed properties (#820)style-prop-object
to deal with null and spread props that can't be resolved (#809 #812 @petersendidit)no-unused-prop-types
crash (#825 @EvNaverniouk)jsx-no-target-blank
crash (#821)no-unused-prop-types
(#792 @EvNaverniouk)jsx-no-target-blank
to target only anchor elements (#793 @aduth)jsx-no-target-blank
to be case insensitive #796 @dmnd)jsx-uses-vars
shadowed variables handling (#799)no-unused-prop-types
rule (#226 @EvNaverniouk)style-prop-object
rule (#715 @petersendidit)self-closing-comp
(#770 @pl12133)typeAnnotations
in sort-comp
(#235 @dozoisch)PureComponent
in prefer-stateless-function
(#781 @tiemevanveen)jsx-uses-vars
to work better with prefer-const
. You'll need to upgrade to ESLint 3.4.0 to completely fix the compatibility issue (#716)require-render-return
crash (#784)prop-types
(#735)no-danger-with-children
(#771 @petersendidit)prop-types
on annotated components (#766)no-danger-with-children
spread support (#767 @petersendidit)React.PureComponent
support (#737)forbid-component-props
rule (#314 @lencioni)no-danger-with-children
rule (#710 @petersendidit)createClass
factory method (#725 @zurawiki)prop-types
on annotated components (#729)require-optimization
test for function declaration (#744 @Tom910)jsx-uses-vars
to handle nested object properties (#761 @yayalice)all
shareable configuration with all rules enabled (#674 @pfhayes)no-find-dom-node
rule (#678)shorthandLast
option to jsx-sort-props
(#391 @mathieumg)allowDecorators
option to require-optimization
(#669 @Tom910)require-extension
rule, use the eslint-plugin-import extensions
rule instead. require-extension
still works but will trigger a warningallow-in-func
mode by default in no-did-mount-set-state
and no-did-update-set-state
rules (#702 @lencioni)self-closing-comp
pragma
option from jsx-uses-react
, use the shared settings to specify a custom pragma (#700 @lencioni)react
option from no-deprecated
rule, use the shared settings to specify the React version (#700 @lencioni)require-render-return
rule to recommended rulesno-danger
from recommended rules (#636 @mjackson)no-did-mount-set-state
and no-did-update-set-state
from recommended rules (#596)jsx-sort-prop-types
rule, use sort-prop-types
instead (#549 @lencioni)no-comment-textnodes
to jsx-no-comment-textnodes
. no-comment-textnodes
still works but will trigger a warning (#668 @lencioni)wrap-multilines
to jsx-wrap-multilines
. wrap-multilines
still works but will trigger a warning (#668 @lencioni)jsx-handler-names
incorrectly flagging only
(#571 @lencioni)jsx-no-target-blank
(#679 @randycoulman)require-optimization
warning on stateless components (#687)jsx-uses-vars
that incorrectly marked some variables as used (#694 @lencioni)no-unknown-property
check on SVG attributes (#718)jsx-no-bind
reporting errors on render functions that don't return JSX (#663 @petersendidit)jsx-closing-bracket-location
autofix when location
is set to props-aligned
(#684 @pfhayes)prop-types
for destructured arguments being assigned to the parent stateless component in some cases (#698)prop-types
for JSX return being assigned to the parent function in some cases (#504)jsx-curly-spacing
for reporting on JSX content by mistake (#671)prop-types
crash when accessing constructor on props (#654)jsx-filename-extension
to not check filenames on text input (#662 @ljharb)jsx-no-comment-textnodes
incorrectly catching urls (#664 @petersendidit)jsx-filename-extension
warning once per file (#660 @mathieumg)no-unknown-property
jsx-no-bind
crash (#641)jsx-pascal-case
for namespaced components (#637 @evcohen)require-optimization
rule (#240 @EvNaverniouk)jsx-filename-extension
rule (#495 @lencioni)no-render-return-value
rule (#531 @iamdustan)no-comment-textnodes
rule (#616 @benvinegar)objectLiterals
option to jsx-curly-spacing
(#388, #211 @casesandberg @ljharb)self-closing-comp
to check html tags (#572 @gitim)ignore
option to no-unknown-property
rule (#631 @insin)jsx-handler-names
(#630)jsx-closing-bracket-location
multiline prop support (#493 @tuures)prop-types
for props that where not assigned to the right component (#591)display-name
when JSON style is used for defining components (#590 @gitim)jsx-no-bind
for bind detection in render when assigned to a variable (#474 @petersendidit)jsx-curly-spacing
for spread operator (#606 @gitim)sort-comp
crash on spread operator (#624)prop-types
crash when destructuring props with spread onlyrequire-render-return
crash (#589)jsx-no-target-blank
rule (#582 @Gasparila)allowAllCaps
and ignore
options to jsx-pascal-case
(#575)require-render-return
(#564)jsx-closing-bracket-location
fixer (#533 @dtinth)require-render-return
to only check valid render methods (#563)this
usage in fonctional components (#576)forbid-prop-types
crash (#579)jsx-curly-spacing
(#584)require-render-return
to not check stateless functions (#550)jsx-first-prop-new-line
rule (#410 @jseminck)LinkedStateMixin
, ReactPerf.printDOM
and ReactPerf.getMeasurementsSummaryMap
in no-deprecated
null
in prefer-stateless-function
If you're still not using React 15 you can keep the old behavior by setting the React version to 0.14
in the shared settings.
require-render-return
rule (#542, #543)prefer-stateless-function
crash (#544)require-render-return
rule (#482 @shmuga)jsx-equals-spacing
(#506 @peet)jsx-closing-bracket-location
(#511 @KevinGrandon)prefer-stateless-function
for conditional JSX (#516)jsx-pascal-case
to support single letter component names (#505 @dthielman)prefer-stateless-function
(#499)prefer-stateless-function
rule (#491)self-closing-comp
to treat non-breaking spaces as content (#496)prop-types
(#497)prop-types
(#498)this
usage in jsx-no-undef
(#489)sort-prop-types
crash with spread operator (#478)getChildContext
lifecycle method in prefer-stateless-function
(#492)prefer-stateless-function
rule (#214)jsx-indent-props
(#483 @shioju)jsx-no-undef
crash on objects (#469)display-name
(#419)prop-types
(#420)jsx-key
(#456 @jkimbo)jsx-space-before-closing
rule (#244 @ryym)prop-types
(#354 @lencioni)sort-comp
. Static methods must now be declared first, see rule documentation (#128 @lencioni)jsx-uses-vars
is not enabled by default anymore, see documentation (#192)jsx-sort-prop-types
to sort-prop-types
. jsx-sort-prop-types
still works but will trigger a warning (#87 @lencioni)jsx-quotes
rule (#433 @lencioni)display-name
now accept the transpiler name by default. You can use the ignoreTranspilerName
option to get the old behavior, see rule documentation (#440 @lencioni)jsx-no-undef
(#435)jsx-handler-names
regex (#425)prop-types
(#443)jsx-sort-prop-types
issue with custom propTypes (#408 @alitaheri)jsx-equals-spacing
rule (#394 @ryym)wrap-multiline
jsx-boolean-value
no-unknown-property
jsx-curly-spacing
(#407 @ewendel)requiredFirst
option to jsx-sort-prop-types
(#392 @chrislaskey)ignoreRefs
option to jsx-no-bind
(#330 @silvenon)ref
in jsx-handler-names
(again) (#396)prop-types
(#382 @phpnode)prop-types
crash when initializing class variable with an empty object (#383)prop-types
crash when propTypes are using the spread operator (#389)sort-comp
error messages (#372 @SystemParadox)jsx-indent
rule (#342)jsx-key
(#380 @nfcampos)forbid-prop-types
(#377 @nfcampos)ref
in jsx-handler-names
(#375)sort-comp
codemod to sort-comp
documentation (#381 @turadg)jsx-key
(#373 @lukekarrys)no-string-refs
rule (#341 @Intellicode)prop-types
(#355)never
option in prefer-es6-class
jsx-key
false-positives (#320 @silvenon)no-deprecated
rule (#356 @graue)no-is-mounted
rule (#37 @lencioni)never
option to prefer-es6-class
rule (#359 @pwmckenna)jsx-pascal-case
to stop checking lower cased components (#329)prop-types
when reassigning props (#345)jsx-handler-names
for stateless components (#346)jsx-handler-names
error messages to be less specific (#348 @jakemmarsh)jsx-pascal-case
(#339)jsx-handler-names
crash with arrays (#340)allow-in-func
option to no-did-update-set-state
documentationno-unknown-property
(#338)jsx-handler-names
rule (#315 @jakemmarsh)no-unknown-property
(#318)jsx-sort-props
(#336 @lucasmotta)require-extension
to ignore extension if it's part of the package name (#319)jsx-pascal-case
(#328 @lencioni)jsx-pascal-case
rule (#306 @jakemmarsh)jsx-key
rule (#293 @benmosher)allow-in-func
option to no-did-update-set-state
(#300)jsx-closing-bracket-location
rule to one type of tag (nonEmpty or selfClosing) (#307)no-unknown-property
to not check custom elements (#308 @zertosh)jsx-closing-bracket-location
error message (#301 @alopatin)no-multi-comp
(#290)createClass
by itself (#297)this
during component detectionsort-comp
crash on stateless components (#285)jsx-no-bind
rule (#184 @Daniel15)jsx-closing-bracket-location
(#243 @alopatin)display-name
for stateless components (#256)prop-types
props validation in constructor (#259)display-name
and prop-types
(#237)jsx-sort-props
and jsx-sort-prop-types
(#242 @Daniel15)prefer-es6-class
rule (#247 @hamiltondanielb)forbid-prop-types
crash with destructured PropTypes (#230 @epmatsw)forbid-prop-types
to do not modify AST directly (#249 @rhysd)prop-types
crash with empty destructuring (#251)prop-types
to not validate computed keys in destructuring (#236)no-direct-mutation-state
to report only in React components (#229)forbid-prop-types
for arrayOf and instanceOf (#230)no-direct-mutation-state
rule (#133, #201 @petersendidit)forbid-prop-types
rule (#215 @pwmckenna)jsx-quotes
deprecation warning with the default formatter (#221)jsx-quotes
rule deprecation message (#220)jsx-no-undef
(#219 @zertosh)jsx-closing-bracket-location
to configure different styles for self-closing and non-empty tags (#208 @evocateur)jsx-quotes
rule, will now trigger a warning if used (#217)state
in lifecycle methods for sort-comp
rule (#197 @mathieudutour)createElement
as valid (#206 @epmatsw)prop-types
(#146)jsx-boolean-value
(#210)jsx-closing-bracket-location
for multiline props (#199)jsx-indent-props
rule (#15, #181)no-set-state rule
(#197 @markdalgleish)jsx-closing-bracket-location
rule (#14, #64)jsx-max-props-per-line
rule (#13)jsx-no-literals
rule (#176 @CalebMorris)jsx-no-undef
(#172)no-unknown-property
(#164 @mkenyon)prop-types
(#145 @CalebMorris)jsx-curly-spacing
(#165)jsx-curly-spacing
rule (#156 @mathieumg)jsx-curly-spacing
braces spanning multiple lines are now allowed with never
option (#156 @mathieumg)prop-types
(#159)no-danger
rule (#138 @scothis)jsx-curly-spacing
rule (#142)prop-types
rule (#135)prop-types
when encountering an empty variable declaration (#130)require-extension
rule (#117 @scothis)prop-types
(#127 @Cellule)sort-comp
default configuration (#97 #122)acceptTranspilerName
option to display-name
rule (#75)ecmaFeatures.jsx
is false (#119 @rpl)jsx-sort-prop-types
support for keys as string (#123 @Cellule)jsx-sort-prop-types
(#129)jsx-uses-vars
with babel-eslint
(#110)prop-types
crash when propTypes definition is invalid (#95)jsx-uses-vars
for ES6 classes (#96)wrap-multilines
more granular (#94 @PiPeep)jsx-uses-react
(#82 @dominicbarnes)sort-comp
(#89 @zertosh)no-unknown-property
rule (#85 @cody)sort-comp
options (#88)sort-comp
rule (#39)allow-in-func
option to no-did-mount-set-state
(#56)prop-types
jsx-sort-prop-types
rule (#38 @AlexKVal)babel-eslint
parserjsx-boolean-value
rule (#11)display-name
and prop-types
(#48)jsx-sort-props
to reset the alphabetical verification on spread (#47 @zertosh)jsx-uses-vars
to be enabled by default (#49 @banderson)prop-types
and display-name
(#45)jsx-sort-props
(#42 @zertosh)jsx-sort-props
rule (#16)no-unknown-property
rule (#28)prop-types
ruleprop-types
the children prop is no longer ignoredprop-types
now return the right line/column (#33)prop-types
(#36 @burnnat)jsx-quotes
documentationjsx-no-undef
with babel-eslint
(#30)jsx-quotes
on Literal childs (#29)jsx-no-undef
rulejsx-quotes
rule (#12)@jsx
pragma support (#23)this.getState
references (not calls) in lifecycle methods (#22 @benmosher)react-in-jsx-scope
in Node.js envjsx-uses-vars
rulejsx-uses-react
for ESLint 0.17.0this.props.children
marked as missing in props validation (#7)this.props
without property (#8)react-in-jsx-scope
rule (#5 @glenjamin)jsx-uses-react
rule (#6 @glenjamin)prop-types
to check props usage insead of propTypes presence (#4)no-did-mount-set-state
ruleno-did-update-set-state
ruleself-closing-comp
(#3)wrap-multilines
and self-closing-comp
rules for ESLint 0.13.0self-closing-comp
ruledisplay-name
and prop-types
rulesdisplay-name
rulewrap-multilines
rule