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
][]: 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-mount-set-state
][], [no-did-update-set-state
][], [no-will-update-set-state
][]: fix docs URLs (#2090, @JBallin)jsx-sort-props
][]: Fix small mistake (#2044, @dimitarnestorov)no-unescaped-entities
][]: add more escape examples (#2015, @stevemao)display-name
][]: mention default ignoreTranspilerName
value (#2002, @OliverJAsh)jsx-no-target-blank
][]: Add full example (#1988, @atomcorp)jsx-no-target-blank
][].md (#1953, @brunocoelho)require('babel-eslint')
from tests (#2004, @sergei-startsev)prop-types
][]: Add tests for prop-types destructuring (#2029, @sstern6)display-name
][]: add false positive component detection for destructured createElement (#1098, @arian)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)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-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
][] 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
][] (#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-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)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-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)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)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
documentationthis.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)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