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.
7.20.0 - 2020-05-12
- support eslint v7 (#2635 @ljharb, @toshi-toma)
forbid-component-props/forbid-dom-props: Allow a custom message with forbid props (#2615 @mtamhankar1)jsx-no-literals: addignorePropsoption 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,usedPropTypesutil: avoid node.start and node.end (25b1936 @toshi-toma)jsx-no-target-blank: allowno-referrerwithoutnoopenerby 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)
- Clean up examples in rule docs (#2546 @silvenon)
- [readme] Add Rules of Hooks to Other useful plugins section (#2633 @petetnt)
no-this-in-sfc: backtickthis(#2616 @mrflip)function-component-definition: Fix unnamedComponents option examples (#2608 @vkrol))
- [Deps] Move "semver" to devDependencies (#2595 @rajivshah3)
- [eslint] remove
operator-linebreakoverride (#2578 @golopot) - [Tests]
button-has-type: ensure no mistakenly allowed identifiers namedbutton/submit/reset(#2625 @golopot) - [Tests]
displayName: add a test case (#2593 @golopot) - [Dev Deps] update
@types/eslint,@types/estree,@types/node,@typescript-eslint/parser,coveralls,eslint-config-airbnb-base,eslint-plugin-import,typescript
7.19.0 - 2020-03-06
style-prop-object: Addallowoption (#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: makemarkPropTypesAsUsedwork withTSEmptyBodyFunctionExpressionAST node (#2560 @guillaumewuip)- [
displayName][] (but really,propTypesdetection): do not crash on empty flow type spreads (#2570 @ljharb)
- [readme] Small visual inconsistency (#2568 @arvigeus)
- [docs] add
react/prefix to rule name, for consistency no-unescaped-entities: skip test cases that are now parsing errors in acorn-jsx@5.2.0 (#2583 @golopot)
7.18.3 - 2020-02-02
jsx-indent: don't check literals not within JSX (#2564 @toshi-toma)
7.18.2 - 2020-02-01
jsx-indent: avoid a crash on non-string literals (#2561 @ljharb)
7.18.1 - 2020-02-01
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;uandsare (@ljharb)
- [Docs] use
markdown-magicto automatically sort all rules alphabetically (#1742 @ybiquitous) - [Docs]
jsx-props-no-spreading: fix typo to use correct rule (#2547 @jonggyun))
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 ofjavascript:URLs (#2419 @sergei-startsev)
jsx-pascal-case: false negative with namespacing (#1337 @mfyuce)jsx-curly-brace-presence: Fixcurly-brace-presenceedge 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)
- [Docs]
no-render-return-value: Fix title (#2540 @micnic) - [Refactor]: remove unused codes in util/propTypes (#2288 @golopot)
no-typos: check static lifecycle methods (#2006 @bsonntag)- [Docs]
jsx-first-prop-new-line: Fix rule name in "Rule Options" section (#2535 @barreira) - [Tests]
no-unused-prop-types: Added test cases (#977 @dozoisch) - [Tests] avoid running tests on pretest job
- [meta] Move eslint-plugin-eslint-plugin to devDeps (#2510 @nstepien)
- [Deps] update
array-includes,object.entries,object.fromentries,object.values,resolve
7.17.0 - 2019-11-28
jsx-no-target-blank: addallowReferreroption (#2478 @eps1lon)jsx-handler-names: addcheckLocalVariablesoption (#2470 @aub)prop-types: Support Flow Type spread (#2446 @moroine)jsx-props-no-spreading: addexplicitSpreadoption to allow explicit spread of props (#2449 @pawelnvk)jsx-no-target-blank: warn ontarget={'_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 forallowedStringscheck (#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)
- [Deps] update
jsx-ast-utils,object.fromentries,resolve - [eslint] fix func-names and change object-shorthand to 'always' (#2483 @golopot)
- [Docs]
jsx-first-prop-new-line: Fix documentation formatting (#2489 @pjg) - [Docs]
prop-types: Update 'skipUndeclared' in rule options (#2504 @cjnickel) - [Docs]
jsx-first-prop-new-line: fix wrong rule name (#2500 @zgayjjf) - [eslint] enable eslint-plugin-eslint-plugin (#2469 @golopot)
- [Docs]
jsx-props-no-multi-spaces: suggest using core rule instead (#2463 @golopot) - [Docs]
jsx-first-prop-new-line: add rule options (#2465 @SerdarMustafa1) - [Docs]
jsx-no-target-blank: Add section about overriding for trusted links (#2438 @aschriner) - [Docs] fix typo (#2453 @cainwatson)
- [Docs]
no-unused-prop-types: clean up prose (#2273 @coryhouse) - [Docs]
jsx-no-bind: add section about React Hooks (#2443 @kdex)
7.16.0 - 2019-10-04
jsx-sort-default-props: make rule fixable (#2429 @emroussel)
jsx-no-useless-fragment: usearray-includesover.includesfor 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)
7.15.1 - 2019-10-01
jsx-curly-brace-presence: bail out checks when JSXElements are passed as props (#2426 @vedadeepta)
- [Docs]
prefer-es6-class: Fix typos (#2425 @spencerbyw)
7.15.0 - 2019-09-30
- add
jsx-no-useless-fragmentrule (#2261 @golopot) - [
jsx-handler-name][]: allowfalseto disableeventHandlerPrefix/eventHandlerPropPrefix(#2410 @tanmoyopenroot) sort-comp: addstatic-variablesgrouping (#2408 @vedadeepta)jsx-no-literals: AddallowedStringsoption (#2380 @benhollander)no-multi-comp: Added handling forforwardRefandmemowrapping components declared in the same file (#2184 @jenil94)jsx-pascal-case:allowAllCapsoption now allowsSCREAMING_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)- Fix prop-types detection collision on renamed props (#2383 @yannickcr)
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)- Recognize props wrapped in flow $ReadOnly<> utility type (#2361 @lukeapage)
prop-types: false positive with setState updator (#2359 @golopot)
- [Docs]
no-access-state-in-setstate: update grammar ([#2418][] @neaumusic) jsx-curly-brace-presence,jsx-one-expression-per-line,no-danger-with-children: addisWhiteSpacestolib/util/jsx(#2409 @vedadeepta)
7.14.3 - 2019-07-23
- Fix
prop-typesto ignore validation when Flow indexers are used (#2330 @yannickcr) - Fix error being thrown after the first warning when react version cannot be detected (#2336 @abhishekdev)
- Fix component detection when
memoandforwardRefare used together (#2349 @yannickcr)
- Documentation improvements (@ljharb, #2354 @golopot)
7.14.2 - 2019-06-24
- Fix
prop-typescrash on for...of destructuring (#2326 @yannickcr)
7.14.1 - 2019-06-24
- Fix
prop-typescrash on multiple destructuring (#2319 @golopot)
7.14.0 - 2019-06-23
- Add
jsx-curly-newlinerule (#1493 @golopot) - Add support for nested destructuring to
prop-types(#296 #1422 @golopot) - Add support for variables defined as props to
prop-typesandno-unused-prop-types(#442 #833 #1002 #1116 #1257 #1764 @golopot) - Add
checkFragmentShorthandoption tojsx-key(#2316 @kaykayehnn)
- Fix
no-did-mount-set-stateandno-did-update-set-stateto handle cDU and cDM defined as class properties (#1595 @jaaberg) - Fix
sort-prop-typescash when a shape PropType is defined in a variable (#1749 @alexzherdev) - Fix
no-unused-statefalse positive when using state of non-lifecycle method (#2274 @golopot) - Fix
static-property-placementfalse positive when accessing static property inside method (#2283 @dmason30) - Fix [
prop-type][] detection for annotated props with default value (#2298 @yannickcr)
- Add ESLint 6.0.0 as valid peerDependency (@yannickcr)
- Improve
no-render-return-valueperformance (#2259 @golopot) - Change
jsx-sort-propsto report errors only on the identifier (#2312 @MrHen) - Change to warn only once if react version cannot be detected (#2276 @ljharb)
- Documentation improvements (#2263 @dimitropoulos, #2262 @ybiquitous, #2295 @battaglr, #2302 @Jason-Cooke, #2303 @golopot)
- Code refactoring (#2265 #2267 #2286 #2294 @golopot, @ljharb)
- Tests improvements (#2304 #1047 @golopot, @yannickcr)
7.13.0 - 2019-05-03
- Make
jsx-sort-propsfully fixable (#2250, @guliashvili) boolean-prop-naming: addvalidateNestedoption to validate shape prop names (#2234, @pawelnvk)- add
static-property-placementrule (#2193, @dmason30) - add "detect" for flow version (#2233, @jedwards1211)
jsx-indent: AddindentLogicalExpressionsoption (#2227, @mdnsk)- add
jsx-props-no-spreading(#2191, @ashbhir) no-string-refs: AddednoTemplateLiteraloption (#2167, @jenil94)- add
linkComponentssetting (#2116, @gbakernet) jsx-no-target-blank: add support forlinkComponentssetting (#2116, @gbakernet)- Add
state-in-constructorrule (#1945, @lukyth) - Add
prefer-read-only-propsrule (#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)
- [Docs]
no-access-state-in-setstate: Use syntax highlighting for examples ([#2160][], @pReya) - [Docs]
jsx-fragments: add "fixable" note (#2143, @joshunger) - [Docs] Added shared settings info, React version default note (#2180, @samsch)
- [Tests]
jsx-curly-spacing: add regression test case (#2206, @ColCh)
7.12.4 - 2019-01-16
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)
7.12.3 - 2019-01-04
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 forReact.memo(#2109, @jomasti)
- [Docs] add a missing comma in the JSON settings (#2117, @haideralsh)
- [Docs] update README to document React version detection (#2114, @mohsinulhaq)
7.12.2 - 2019-01-02
prop-types: avoid crash on used prevProps (#2095, @ljharb)- Version warning: Link does not end with '.' (#2103, @yoyo837))
forbid-prop-types: fix crash with propWrapper check on MemberExpressions (#2104, @ljharb)
7.12.1 - 2019-01-01
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)
- Fix CHANGELOG.md (#2097, @alexzherdev)
7.12.0 - 2018-12-27
no-typos: Support createClass (#1828, @alexzherdev)- Support detecting React.forwardRef/React.memo (#2089, @jomasti)
jsx-indent: addcheckAttributesoption for JSX attribute indentation (#2086, @jomasti)- Change allowed
propWrapperFunctionssetting values (#2065, @jomasti) - add
jsx-fragmentsrule to enforce fragment syntax (#1994, @alexzherdev) - Support "detect" option for React version setting (#1978, @alexzherdev)
- Support shorthand fragment syntax in many rules (#1956, @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)- version errors should log to stderr, not stdout (#2082, @ljharb)
no-deprecated: Disable legacy lifecycle methods linting for now (#2069, @sergei-startsev)- ensure that react and flow versions can be numbers (#2056, @ljharb)
forbid-foreign-prop-types: ensureallowInPropTypesoption 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-stateDon't depend on state parameter name (#1829, @alexzherdev)no-this-in-sfcfix for class properties (#1995, @sergei-startsev)no-this-in-sfcfix 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)- [Refactor] Extract used
propTypesdetection (#1946, @alexzherdev) - [Refactor] Extract
defaultPropsdetection (#1942, @alexzherdev) - [Refactor] Extract required
propTypesdetection (#2001, @alexzherdev) - [Docs]
no-did-mount-set-state,no-did-update-set-state,no-will-update-set-state: fix docs URLs (#2090, @JBallin) - [Docs] Remove statement on GC in jsx-no-bind (#2067, @rickhanlonii)
- [Docs]
jsx-sort-props: Fix small mistake (#2044, @dimitarnestorov) - [Docs]
no-unescaped-entities: add more escape examples (#2015, @stevemao) - [Docs]
display-name: mention defaultignoreTranspilerNamevalue (#2002, @OliverJAsh) - [Docs]
jsx-no-target-blank: Add full example (#1988, @atomcorp) - [Docs] Update
jsx-no-target-blank.md (#1953, @brunocoelho) - [Changelog] fix "Ignore class properties" contributor (#1941, @alexzherdev)
- [Tests] Remove redundant
require('babel-eslint')from tests (#2004, @sergei-startsev) - [Tests]
prop-types: Add tests for prop-types destructuring (#2029, @sstern6) - [Tests]
display-name: add false positive component detection for destructured createElement (#1098, @arian)
7.11.1 - 2018-08-14
- stop crashing when assigning to propTypes (#1932, @alexzherdev)
7.11.0 - 2018-08-13
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)- Output a warning if React version is missing in settings (#1857, @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: FixreservedFirst(#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)- support JSXText nodes alongside Literal nodes (@ljharb)
- Extract propTypes detection code (#1911, @alexzherdev)
- Fix broken links in changelog (#1849, @alexzherdev)
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)- Add a helper function for determining function-like expressions (#1914, @alexzherdev)
jsx-props-no-multi-spaces: update docs (#1918, @BenRichter)
7.10.0 - 2018-06-24
- Allow eslint ^5 (#1843 @papandreou, @ljharb)
no-unsaferule (#1831, #1830 @sergei-startsev)no-will-update-set-state: Account forUNSAFE_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)
- Typo fixes in
jsx-no-target-blank(#1805 @ferhatelmas))
7.9.1 - 2018-06-03
- Nothing was fixed; this is a republish with some updated deps. (#1804 @ljharb)
7.9.0 - 2018-06-03
- Add
jsx-props-no-multi-spacesrule (#1755 @ThiefMaster) - Add
firstoption tojsx-indent-props(#398 @ThiefMaster) - Add
enforceDynamicLinksoption tojsx-no-target-blank(#1737 @kenearley)
- Fix static lifecycle methods validation in
sort-comp(#1793 @lynxtaa) - Fix crash in
no-typoswhen encountering anonymous react imports (#1796 @jsg2021) - Fix ESLint 3 support (#1779)
- Documentation improvements (#1794 @lencioni)
- Update Travis CI configuration to test on multiple ESLint verions
7.8.2 - 2018-05-13
- Fix crash in
boolean-prop-namingwhen encountering a required shape prop type (#1791 @pcorpet)
7.8.1 - 2018-05-12
- Fix crash in
no-deprecatedwhen encountering a class constructor (#1785 @taddei)
7.8.0 - 2018-05-11
- Add support for fragments to
react-in-jsx-scope(#1758) - Add support for Flow generic PropType to
require-default-props(#1724 @Miziak) - Add component whitelist option to
forbid-component-props(#1732 @ThiefMaster) - Add support for React 16.3 lifecycle methods to
no-unused-prop-types(#1681 @bvaughn) - Add support for React 16.3 lifecycle methods to
sort-comp(#1767 @joe-denea) - Add support for React 16.3 lifecycle methods to
no-typos - Add support for
prevStateandnextStatetono-unused-state(#1759) - Add warnings for
componentWillMount,componentWillReceivePropsandcomponentWillUpdatelifecycle methods inno-deprecated(#1750 @sergei-startsev)
- Fix
no-typosfalse positive on customPropTypeclasses (#1389 @brettdh) - Fix
boolean-prop-namingto handle required props (#1389 @louisscruz) - Fix
jsx-curly-brace-presenceto allow whitespace JSX container (#1717 @sharmilajesupaul) - Fix
jsx-no-bindto handle ternary conditions (#1722 @gwenaellarmet)
- Documentation improvements (#1699 @ronanmathew, #1743 @ybiquitous, #1753 @awthwathje, #1783 @chentsulin, #1703 @ferhatelmas)
7.7.0 - 2018-02-19
forbid-foreign-prop-types: addallowInPropTypesoption (#1655 @iansu)- Add
jsx-max-depthrule (#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)
7.6.1 - 2018-01-28
- Flow: fix crash in
prop-typeswith recursive type annotations (#1653 @jetpacmonkey) - Fix
no-unknown-propertyto properly recognizecrossOrigininstead ofcrossorigin, and allow it onlinktags. (#1659 @jzDev) - Fix
no-access-state-in-setstateto handle object spread (#1657 @ljharb)
7.6.0 - 2018-01-25
- Add
forbid-dom-propsrule (#1562 @davazp) - Add
jsx-child-element-spacingrule (#1515 @pfhayes) - Add
no-this-in-sfcrule (#1435 @jomasti) - Add
jsx-sort-default-propsrule (#281 @b0gok) - Add
messageoption toboolean-prop-naming(#1588 @louisscruz) - Add
beforeClosingoption tojsx-tag-spacing(#1396 @cjskillingstad) - Add
instance-methodsandinstance-variablestosort-comp(#599 @RDGthree) - Add
propWrapperFunctionssupport forboolean-prop-naming(#1478 @jomasti) - Add warning for
React.addons.TestUtilsinno-deprecated(#1644 @nirnaor) - Add URL to rule documentation to the rules metadata (#1635 @Arcanemagus)
- Fix crashes in
no-access-state-in-setstate(#1559 @jomasti, #1611 @pfhayes) - Fix crash in
require-optimizationwhen encountering arrays with empty items as values in object (#1621 @kamataryo) - Fix crash in
no-unused-prop-typeswhen passing an empty function as a PropType (#1542 #1581 @kevinzwhuang) - Fix crash in
no-typoswhen usingPropType.shapewithout arguments (#1471 @mrichmond) - Fix crash when using Unions in flow propTypes (#1468 @justinanastos)
- Fix missing meta in
jsx-tag-spacing(#1650 @flyerhzm) - Fix
no-unused-stateto detect usage ofthis.stateas an object (#1572) - Fix
no-access-state-in-setstateto detect when thestatevariable is destructured fromthis.state(#1597 @jaaberg) - Fix
jsx-no-literalsto correctly find string literals part of BinaryExpressions (#1511 @jaaberg) - Fix
no-typosfalse positive on custom propTypes with isRequired (#1607 @lfades) - Fix
prop-typesto check fornextPropsincomponentWillReceiveProps(#1636 @xjmdoo) - Fix
no-unknown-propertyto not pascal-casingcrossoriginattribute and only allow it on script/img/video (#1642 @ljharb)
- Improve
jsx-wrap-multilinesauto fix (#1576 @sharmilajesupaul) - Export
defaultConfigfromsort-comprule for programmatic use (#1578 @Andarist) - Documentation improvements (#1552 @TSMMark, #1566 @lukeapage, #1624 @alexilyaev, @ljharb)
- Update dependencies (@ljharb)
7.5.1 - 2017-11-19
- Fix
jsx-no-bindcrash (#1543 @jomasti) - Fix
no-unused-prop-typescrash (#1542 @jomasti)
- Documentation improvements (#1546 @jseminck)
7.5.0 - 2017-11-18
- Add
jsx-one-expression-per-linerule (#1497 @TSMMark) - Add
destructuring-assignmentrule (#1462 @DianaSuvorova) - Add
no-access-state-in-setstaterule (#1374 @jaaberg) - Add
button-has-typerule (#1525 @Hypnosphi) - Add warnings for
React.DOMfactories inno-deprecated(#1530 @backjo) - Add
sortShapePropoption tosort-prop-types(#1476 @jomasti) - Add
parens-new-lineoption tojsx-wrap-multilines(#1475 @jomasti) - Add
checkContextTypesandcheckChildContextTypesoptions toforbid-prop-types(#1533 @jomasti) - Add
forbidDefaultForRequiredoption torequire-default-props(#1524 @jomasti) - Add new nodes support to
jsx-wrap-multilines(#1384 @evgeny-petukhov)
- Fix
jsx-curly-brace-presenceauto fix by bailing out when some chars exist (#1479 #1449 @jackyho112) - Fix
boolean-prop-namingcrash with Object spread (#1485 @track0x1) - Fix
no-unused-stateto correctly handle arrow function class method (#1363 @jackyho112) - Fix incompatibility with
typescript-eslint-parser(#1496 @timothykang) - Fix
jsx-no-bindto only warn for props and account for variable declaration (#1444 #1395 #1417 @jackyho112) - Fix
no-unused-prop-typesto handle props usage in custom prop validators (#1518 @petersendidit) - Fix
prefer-stateless-functionto account forcontextTypesanddefaultProps(#1521 @jomasti) - Fix
jsx-no-comment-textnodesto not warn when using two slashes via html entities at the beginning of a literal (#1517 @jomasti) - Fix
default-props-match-prop-typescrash (#1499 @jomasti) - Fix
no-unused-prop-typesto handle props used in thesetStateupdate callback (#1507 @petersendidit) - Fix alignment bug in
jsx-indent(#1246 @jseminck)
- Documentation improvements (#1438 @jseminck, #1464 @AlaaAttya, #1494 @piperchester, #1467 @felicio, #1512 @adam-golab)
- Code refactoring (#1423 #1398 @jseminck, #1500 #1514 @Aladdin-ADD, #1502 @SimenB, #1508 #1526 @jomasti, @ljharb)
- Update dependencies (#1450 @leebyron, @ljharb)
7.4.0 - 2017-09-24
- Add Flow 0.53 support (#1376 @jseminck)
- Add
jsx-curly-brace-presencerule (#1310 @jackyho112) - Add support for Flow IntersectionTypeAnnotation to
prop-typesandno-unused-prop-types(#1364 #1323 @jseminck) - Add support for Flow TypedArgument to
no-unused-prop-types(#1412 @jseminck) - Add support for Flow ClassExpressions to
prop-types(#1400 @jseminck) - Add support for Flow read-only props to
no-unused-prop-types(#1388 @jseminck) - Add more tests for
prop-typesandno-unused-prop-types(#1381 @DianaSuvorova) - Add support for increment and decrement operations to
no-direct-mutation-state(#1386 @zpao)
- Fix
no-unused-stateto ignore computed property keys (#1361 @jackyho112) - Fix
no-typoscrash (#1406 @jseminck) - Fix
boolean-prop-namingcrash (#1409 @EvHaus) - Fix
prop-typesandno-unused-prop-typescrash with IntersectionTypeAnnotation (#1413 @jseminck)
7.3.0 - 2017-08-21
- Fix
boolean-prop-namingcrash (#1369 @EvHaus) - Fix
no-typoscrash (#1353 @jseminck) - Fix
require-default-propsstopping when it finds a component without props (#1380 @brgibson) - Fix
no-direct-mutation-statedetection with nested components (#1382)
- Documentation improvements (#1383 @mjomble)
7.2.1 - 2017-08-14
- Fix
forbid-prop-typescrash on identifiers (#1352 @ljharb) - Fix
boolean-prop-namingcrash with propTypes wrapper (#1354 @dustinsoftware) - Fix
prop-typesfalse positive with local variableprops(#1288 @DianaSuvorova) - Fix wrapped propTypes detection (#1366)
- Documentation improvements (#1123 @penx)
7.2.0 - 2017-08-09
- Add
no-unused-staterule (#1103 @wbinnssmith) - Add
boolean-prop-namingrule (#1264 @EvHaus) - Add
no-typosrule (#1189 @jseminck, #1294 @haridusenadeera) - Add auto fix for
jsx-sort-props(#1273 @Overload119) - Add
gettersandsettersgroups tosort-comp(#100 @RDGthree) - Add
noStringsoption tojsx-no-literals(#1202 @deecewan) - Add inverse option for
always/nevertojsx-boolean-value(#1249 @ljharb)
- Fix
no-direct-mutation-stateto disallowthis.statemutation in constructor (#832 @burabure) - Fix
jsx-no-target-blankcrash on emptyrelattribute (#1269 @dustinsoftware) - Fix
sort-compcomponent detection withClassExpression(#1076 @webOS101) - Fix
no-unused-prop-typesdetection with async class properties and methods (#1053 @benstepp) - Fix
void-dom-elements-no-childrencrash (#1226 @kokobeware) - Fix
no-danger-with-childrento ignore line breaks (#1262) - Fix
no-danger-with-childrencrash with undefined (#1287) - Fix
jsx-no-target-blankcrash (#1296 @jseminck) - Fix
no-unused-prop-typesto no longer ignore components with no used props (#1303 @DianaSuvorova) - Fix
jsx-no-duplicate-propscrash (#969 @marcelmokos) - Fix
jsx-no-literalsfalse positives (#1301 @davidyorr) - Fix
no-find-dom-nodedetection with named imports (#785 @Hypnosphi) - Fix proTypes-related rules detection with wrapped propTypes (#1266 @dustinsoftware)
- Fix
no-unused-prop-typesdetection with propTypes wrapped in a function (#1253 @dustinsoftware) - Fix
no-unused-prop-typesdetection with destructured use of properties (#816 @DianaSuvorova) - Fix
no-unused-prop-typesdetection with inline functions (#1309 @DianaSuvorova) - Fix
no-unused-prop-typesskipShapePropsoption with Flow annotations (#1335 @DianaSuvorova) - Fix
jsx-curly-spacingschema incompatibility with ESLint 4.2.0 (#1290 @jseminck)
- Documentation improvements (#1261 @mminer, #1005 @yooungt13, #1289 @konekoya, #1308 @xcatliu, #1306 @egberts, #1329 #1344 @DianaSuvorova)
- ES6-ify codebase (#1274 #1277 #1281 @dfilipidisz)
- Code refactoring (@ljharb)
- Update Travis CI and AppVeyor CI configurations (@lencioni)
7.1.0 - 2017-06-13
- Add
default-props-match-prop-typesrule (#1022 @webOS101) - Add
no-redundant-should-component-updaterule (#985 @jomasti) - Add
jsx-closing-tag-locationrule (#1206 @rsolomon) - Add auto fix for
jsx-max-props-per-line(#949 @snowypowers) - Add support for lifecycle methods with
nextProps/prevPropsinno-unused-prop-types(#1213 @jseminck) - Add Flow SuperTypeParameters support to
prop-types(#1236 @gpeal) - Add
childrenoption tojsx-curly-spacing(#857 @fatfisz)
- Fix
prefer-stateless-functionignorePureComponentsoption when using class expressions (#1122 @dreid) - Fix
void-dom-elements-no-childrencrash (#1195 @oliviertassinari) - Fix
require-default-propsquoteddefaultPropsdetection (#1201) - Fix
jsx-sort-propsbug withignoreCaseandcallbacksLastoptions set totrue(#1175 @jseminck) - Fix
no-unused-prop-typesfalse positive (#1183 #1135 @jseminck) - Fix
jsx-no-target-blankto not issue errors for non-external URLs (#1216 @gfx) - Fix
prop-typesquoted Flow types detection (#1132 @ethanjgoldberg) - Fix
no-array-index-keycrash withkeywithout value (#1242 @jseminck)
- Set ESLint 4.0.0 as valid peerDependency
- Dead code removal (#1227 @jseminck)
- Update dependencies (@ljharb)
- Documentation improvements (#1071 @adnasa, #1199 @preco21, #1222 @alexilyaev, #1231 @vonovak, #1239 @webOS101, #1241 @102)
7.0.1 - 2017-05-13
- Fix
jsx-curly-spacingallowMultilineoption being undefined in some cases (#1179 @fatfisz) - Fix
jsx-curly-spacingnewline with object literals bug (#1180 @fatfisz) - Fix
prop-typesto not mark class static function as valid propTypes definition (#1174) - Fix
prop-typescrash with Flow spread operator (#1178) - Fix
void-dom-elements-no-childrencrash on faultycreateElementdetection (#1101) - Fix
require-default-propserror message for quoted props (#1161)
7.0.0 - 2017-05-06
- Add
no-will-update-set-staterule (#1139 @ManThursday) - Add import and destructuring support to
no-deprecated - Add
reservedFirstoption tojsx-sort-props(#1134 @MatthewHerbst)
- Update rules for React 15.5.0:
- Add warnings for
React.PropTypesandReact.createClassinno-deprecated(#1148 @Calyhre) - Update
createClasscomponent factory tocreateReactClass. This is used for React component detection, if you still usingReact.createClassuse the shared settings to specifycreateClassas component factory
- Add warnings for
- Drop Node.js < 4 support (#1038 @ljharb)
- Add
no-danger-with-childrenrule to recommended rules (#748 @ljharb) - Add
no-string-refsrule to recommended rules (#749 @ljharb) - Add
jsx-keyrule to recommended rules (#750 @ljharb) - Add
jsx-no-comment-textnodesrule to recommended rules (#751 @ljharb) - Add
jsx-no-target-blankrule to recommended rules (#752 @ljharb) - Add
no-unescaped-entitiesrule to recommended rules (#841 @ljharb) - Add
no-children-proprule to recommended rules (#842 @ljharb) - Remove deprecated
wrap-multilinesrule, usejsx-wrap-multilinesinstead - Remove deprecated
no-comment-textnodesrule, usejsx-no-comment-textnodesinstead - Remove deprecated
require-extensionrule, use the eslint-plugin-importextensionsrule instead - Deprecate
jsx-space-before-closingrule, use thejsx-tag-spacingrule instead.jsx-space-before-closingstill works but will trigger a warning (#1070 @afairb) jsx-first-prop-new-linedefault is nowmultiline-multiprop(#802 @kokarn)jsx-wrap-multilinesnow checks arrow functions without block body. It can be deactivated in rule options (#790 @ColCh)jsx-no-undefwill not check the global scope by default. You can force it with theallowGlobalsoption (#1013 @jomasti)
- Fix
no-unused-prop-typesfalse positive withnextProps(#1079 @Kerumen) - Fix
prefer-stateless-functionto not warn on classes with decorators (#1034 @benstepp)
- Update dependencies (#1119 @danez)
- Documentation improvements (#1121 @omerzach, #1130 @dreid, #1131 @shoesandsocks, #1149 @Adzz, #1151 @MatthewHerbst, #1167 @Slumber86)
6.10.3 - 2017-03-20
- Revert #1057 due to issues with
jsx-indent(#1117)
6.10.2 - 2017-03-19
- Fix
jsx-indentindentation calculation with nested JSX (#1117)
6.10.1 - 2017-03-19
- Fix
jsx-indentauto fix with tabs (#1057 @kentcdodds @webOS101) - Fix
jsx-indentcrash (#1061 @iancmyers) - Fix
void-dom-elements-no-childrencrash and fix it to only checks for a createElement call from React (#1073 @jomasti) - Fix component detection that caused a false positive in
no-multi-comp(#1088 @benstepp)
6.10.0 - 2017-02-16
- Add
forbid-foreign-prop-typesrule (#696 @iancmyers) - Add
void-dom-elements-no-childrenrule (#709 @lencioni) - Add
forbid-elementsrule (#887 @kentor) - Add
noSortAlphabeticallyoption tojsx-sort-props(#541 #786 @markus101) - Add
whenoption tojsx-max-props-per-line(#878 @kentor) - Add support for
nextPropstoprop-types(#814)
- Fix
require-default-propscrash (#1029) - Fix
require-default-propsrule when using Flow type from assignment (#1043 @wyze @CarlRosell) - Fix
style-prop-objectto not warn with explicitnullorundefined(#812 @ljharb) - Fix
no-unused-prop-typesprops detection in stateless components (#885 @BarryThePenguin) - Fix
display-namefalse positive withdocument.createElement(#996 @jomasti) - Fix ESLint 2 compatibility (@ljharb)
- Tests improvements (@ljharb)
- Documentation improvements (#958 @Jorundur, #1010 @amilajack, #1041 @EvNaverniouk, #1050 @lencioni, #1062 @dguo)
6.9.0 - 2017-01-08
- Add support for variable reference to
sort-prop-types(#622)
- Fix Node.js 0.10 support (#1000 @ljharb)
- Fix
prop-typesto correctly assign props to components (#991)
- Documentation improvements (#995 @rutsky)
6.8.0 - 2016-12-05
- Add
no-array-index-keyrule (#978 @lencioni) - Add
require-default-propsrule (#528 @vitorbal) - Add support for flow variance syntax to
prop-types(#961 @ajhyndman)
- Fix
jsx-indentwith multiline jsx in ternaries (#966) - Fix component detection to ignore async functions (#989 @taion)
- Fix
jsx-curly-spacingautofix to not delete comments (#648) - Fix auto-enabling of
eslint-plugin-reactin exported configurations (#984 @jamischarles)
- Update dependencies
- Documentation improvements (#960 @evilebottnawi, #973 @JamesWatling, #982 @captbaritone)
6.7.1 - 2016-11-15
- Fix
jsx-tag-spacingcrash when options object isn't passed (#955 @daltones)
6.7.0 - 2016-11-14
- Add
jsx-tag-spacingrule (#693 @Kovensky)
- Fix
jsx-indentfor parenthesized ternaries (#945 @voxpelli) - Fix
jsx-indentfor multiline ternaries - Fix
jsx-indentfor arrays in jsx (#947) - Fix
no-danger-with-childrencrash with spread on global variables (#921) - Fix
jsx-wrap-multilinesternaries handling (#916)
- Enable
no-unused-prop-typesskipShapePropsoption by default to limit false positive (#953 @everdimension)
6.6.0 - 2016-11-06
- Add
jsx-first-prop-new-lineauto fix (#886 @snowypowers)
- Fix
no-unused-prop-typescrash with destructured prop-types (#938) - Fix
jsx-indentin multi-line conditional expressions (#901, #907) - Fix
sort-compbad error message if 2 methods in the same group must be moved (#507)
- Documentation improvements (#941 @pwmckenna)
6.5.0 - 2016-11-01
- Add tab support to
jsx-closing-bracket-locationauto fixer (#909 @arperry) - Add tab and space support to
jsx-indentauto fixer (#608 @jayphelps) - Add
multiline-multipropoption tojsx-first-prop-new-line(#883 @kentor)
- Fix
forbid-component-propscrash with self reference JSX element (#839 @xeodou) - Fix
jsx-indentto ignore lines starting by literals (#900) - Fix
no-set-stateto correctly detectsetStatein arrow functions (#931)
- Update dependencies
- Add
deprecatedmetadata to deprecated rules (#911 @randycoulman) - Auto-enable
eslint-plugin-reactin exported configurations (#925 @MoOx) - Documentation improvements (#910 @Wilfred, #932 @gnarf)
6.4.1 - 2016-10-10
- Fix
jsx-indentfor arrays (#897, #898) - Fix
jsx-indentto allow multi-line logical expressions with one level of indent (#896)
6.4.0 - 2016-10-09
- Add
skipUndeclaredoption toprop-types(#846 @pfhayes)
- Fix
jsx-no-bindcrash on arrow functions (#854) - Fix
display-namefalse negative on es6-style method inReact.createClass(#852) - Fix
prefer-stateless-functionto allow components withchildContextTypes(#853) - Fix
no-children-propspread support (#862 @randycoulman) - Fix
no-unused-prop-typesto ignore validation when spread is used (#840) - Fix
jsx-closing-bracket-locationfor multi-line prop (#889) - Fix
jsx-indentin multi-line function calls (#895) - Fix
jsx-indentin multi-line logical expressions (#540)
- Update dependencies
- Documentation improvements (#860 @fson, #863 @corydolphin, #830 @eelyafi, #876 @manovotny, #877 @gaearon)
6.3.0 - 2016-09-20
- Add
no-children-proprule (#720 @benstepp) - Add
no-unescaped-entitiesrule (#681 @pfhayes) - Add JSXExpressionContainer support to
jsx-indentrule (#838 @eelyafi)
- Fix
style-prop-objectcrash (#834) - Fix
style-prop-objectfalse positive on computed properties (#820) - Fix
style-prop-objectto deal with null and spread props that can't be resolved (#809 #812 @petersendidit)
6.2.2 - 2016-09-15
- Fix
no-unused-prop-typescrash (#825 @EvNaverniouk) - Fix
jsx-no-target-blankcrash (#821)
6.2.1 - 2016-09-13
- Fix false positive in
no-unused-prop-types(#792 @EvNaverniouk) - Fix
jsx-no-target-blankto target only anchor elements (#793 @aduth) - Fix
jsx-no-target-blankto be case insensitive #796 @dmnd) - Fix
jsx-uses-varsshadowed variables handling (#799)
- Update dependencies
- Documentation improvements (@ljharb, #794 @dougshamoo, #813 @AndiDog, #815 @chris-vaszauskas)
6.2.0 - 2016-08-28
- Add
no-unused-prop-typesrule (#226 @EvNaverniouk) - Add
style-prop-objectrule (#715 @petersendidit) - Add auto fix for
self-closing-comp(#770 @pl12133) - Add support for
typeAnnotationsinsort-comp(#235 @dozoisch) - Add support for
PureComponentinprefer-stateless-function(#781 @tiemevanveen)
- Fix
jsx-uses-varsto work better withprefer-const. You'll need to upgrade to ESLint 3.4.0 to completely fix the compatibility issue (#716) - Fix
require-render-returncrash (#784) - Fix related components detection in
prop-types(#735) - Fix component detection to ignore functions expression without a parent component
- Update dependencies
- Documentation improvements (@lencioni)
6.1.2 - 2016-08-17
- Fix nested spread handling in
no-danger-with-children(#771 @petersendidit)
- Documentation improvements
6.1.1 - 2016-08-16
- Fix
prop-typeson annotated components (#766) - Fix
no-danger-with-childrenspread support (#767 @petersendidit)
- Documentation improvements (#769 @daltones)
6.1.0 - 2016-08-14
- Add
React.PureComponentsupport (#737) - Add
forbid-component-propsrule (#314 @lencioni) - Add
no-danger-with-childrenrule (#710 @petersendidit) - Add pragma for
createClassfactory method (#725 @zurawiki)
- Fix Node.js 0.10 support (#746)
- Fix
prop-typeson annotated components (#729) - Fix
require-optimizationtest for function declaration (#744 @Tom910) - Fix
jsx-uses-varsto handle nested object properties (#761 @yayalice) - Fix rules metadata
- Update dependencies
- Documentation improvements (#759 @embrown, #703 #753 @lencioni, #739 @ljharb, #731 @wKich, #745 @petersendidit, #659 @dguo)
6.0.0 - 2016-08-01
- Add an
allshareable configuration with all rules enabled (#674 @pfhayes) - Add
no-find-dom-noderule (#678) - Add
shorthandLastoption tojsx-sort-props(#391 @mathieumg) - Add
allowDecoratorsoption torequire-optimization(#669 @Tom910)
- Deprecate
require-extensionrule, use the eslint-plugin-importextensionsrule instead.require-extensionstill works but will trigger a warning - Enable
allow-in-funcmode by default inno-did-mount-set-stateandno-did-update-set-staterules (#702 @lencioni) - Enable html tags check by default in
self-closing-comp - Remove
pragmaoption fromjsx-uses-react, use the shared settings to specify a custom pragma (#700 @lencioni) - Remove
reactoption fromno-deprecatedrule, use the shared settings to specify the React version (#700 @lencioni) - Add
require-render-returnrule to recommended rules - Remove
no-dangerfrom recommended rules (#636 @mjackson) - Remove
no-did-mount-set-stateandno-did-update-set-statefrom recommended rules (#596) - Remove deprecated
jsx-sort-prop-typesrule, usesort-prop-typesinstead (#549 @lencioni) - Rename
no-comment-textnodestojsx-no-comment-textnodes.no-comment-textnodesstill works but will trigger a warning (#668 @lencioni) - Rename
wrap-multilinestojsx-wrap-multilines.wrap-multilinesstill works but will trigger a warning (#668 @lencioni) - Add ESLint as peerDependency (#657 @jokeyrhyme)
- Add Node.js 0.10 as minimum required version (#657 @jokeyrhyme)
- Fix
jsx-handler-namesincorrectly flaggingonly(#571 @lencioni) - Fix spread props cash in
jsx-no-target-blank(#679 @randycoulman) - Fix
require-optimizationwarning on stateless components (#687) - Fix
jsx-uses-varsthat incorrectly marked some variables as used (#694 @lencioni) - Fix
no-unknown-propertycheck on SVG attributes (#718) - Fix
jsx-no-bindreporting errors on render functions that don't return JSX (#663 @petersendidit) - Fix
jsx-closing-bracket-locationautofix whenlocationis set toprops-aligned(#684 @pfhayes) - Fix
prop-typesfor destructured arguments being assigned to the parent stateless component in some cases (#698) - Fix
prop-typesfor JSX return being assigned to the parent function in some cases (#504) - Fix
jsx-curly-spacingfor reporting on JSX content by mistake (#671) - Fix
prop-typescrash when accessing constructor on props (#654) - Fix
jsx-filename-extensionto not check filenames on text input (#662 @ljharb) - Fix
jsx-no-comment-textnodesincorrectly catching urls (#664 @petersendidit)
- Only report
jsx-filename-extensionwarning once per file (#660 @mathieumg) - Update SVG and DOM attribute list for
no-unknown-property - Update rules to use the new ESLint rule format (#661 @petersendidit)
- Update dependencies
- Documentation improvements (#724 @lencioni)
- Update Travis CI and AppVeyor CI configurations (@ljharb)
5.2.2 - 2016-06-17
- Fix
jsx-no-bindcrash (#641)
5.2.1 - 2016-06-17
- Fix
jsx-pascal-casefor namespaced components (#637 @evcohen)
5.2.0 - 2016-06-17
- Add
require-optimizationrule (#240 @EvNaverniouk) - Add
jsx-filename-extensionrule (#495 @lencioni) - Add
no-render-return-valuerule (#531 @iamdustan) - Add
no-comment-textnodesrule (#616 @benvinegar) - Add
objectLiteralsoption tojsx-curly-spacing(#388, #211 @casesandberg @ljharb) - Add option to
self-closing-compto check html tags (#572 @gitim) - Add
ignoreoption tono-unknown-propertyrule (#631 @insin) - Add support for ES7 bind operator to
jsx-handler-names(#630) - Add support for explicit declaration that class extends React.Component (#68 @gausie)
- Fix
jsx-closing-bracket-locationmultiline prop support (#493 @tuures) - Fix
prop-typesfor props that where not assigned to the right component (#591) - Fix
display-namewhen JSON style is used for defining components (#590 @gitim) - Fix
jsx-no-bindfor bind detection in render when assigned to a variable (#474 @petersendidit) - Fix
jsx-curly-spacingfor spread operator (#606 @gitim) - Fix
sort-compcrash on spread operator (#624) - Fix
prop-typescrash when destructuring props with spread only
- Update dependencies
- Add doctrine as a dependency (#68 @gausie)
- Add jsx-ast-utils as a dependency (#634 @evcohen)
- Documentation improvements (#594 @lencioni, #598 @mLuby, #633 @appsforartists)
5.1.1 - 2016-05-10
- Fix
require-render-returncrash (#589)
5.1.0 - 2016-05-10
- Add
jsx-no-target-blankrule (#582 @Gasparila) - Add
allowAllCapsandignoreoptions tojsx-pascal-case(#575) - Add class properties support to
require-render-return(#564)
- Fix
jsx-closing-bracket-locationfixer (#533 @dtinth) - Fix
require-render-returnto only check valid render methods (#563) - Fix detection to allow simple
thisusage in fonctional components (#576) - Fix
forbid-prop-typescrash (#579) - Fix comment handling in
jsx-curly-spacing(#584)
5.0.1 - 2016-04-18
- Fix
require-render-returnto not check stateless functions (#550)
5.0.0 - 2016-04-17
- Add
jsx-first-prop-new-linerule (#410 @jseminck)
- Update rules for React 15:
- Add warnings for
LinkedStateMixin,ReactPerf.printDOMandReactPerf.getMeasurementsSummaryMapinno-deprecated - Allow stateless components to return
nullinprefer-stateless-function - Remove SVG attributes warnings (#490)
- Add warnings for
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.
- Rewrite
require-render-returnrule (#542, #543) - Fix
prefer-stateless-functioncrash (#544) - Fix external propTypes handling (#545)
- Do not mark inline functions in JSX as components (#546)
- Update dependencies
- Documentation improvements
4.3.0 - 2016-04-07
- Add
require-render-returnrule (#482 @shmuga) - Add auto fix for
jsx-equals-spacing(#506 @peet) - Add auto fix for
jsx-closing-bracket-location(#511 @KevinGrandon)
- Fix
prefer-stateless-functionfor conditional JSX (#516) - Fix
jsx-pascal-caseto support single letter component names (#505 @dthielman)
4.2.3 - 2016-03-15
- Fix class properties retrieval in
prefer-stateless-function(#499)
4.2.2 - 2016-03-14
- Rewrite
prefer-stateless-functionrule (#491) - Fix
self-closing-compto treat non-breaking spaces as content (#496) - Fix detection for direct props in
prop-types(#497) - Fix annotated function detection in
prop-types(#498) - Fix
thisusage injsx-no-undef(#489)
- Update dependencies
- Add shared setting for React version
4.2.1 - 2016-03-08
- Fix
sort-prop-typescrash with spread operator (#478) - Fix stateless components detection when conditionally returning JSX (#486)
- Fix case where props were not assigned to the right component (#485)
- Fix missing
getChildContextlifecycle method inprefer-stateless-function(#492)
4.2.0 - 2016-03-05
- Add support for Flow annotations on stateless components (#467)
- Add
prefer-stateless-functionrule (#214) - Add auto fix for
jsx-indent-props(#483 @shioju)
- Fix
jsx-no-undefcrash on objects (#469) - Fix propTypes detection when declared before the component (#472)
- Update dependencies
- Documentation improvements (#464 @alex-tan, #466 @awong-dev, #470 @Gpx; #462 @thaggie)
4.1.0 - 2016-02-23
- Add component detection for class expressions
- Add displayName detection for class expressions in
display-name(#419)
- Fix used props detection in components for which we are not confident in
prop-types(#420) - Fix false positive in
jsx-key(#456 @jkimbo)
- Documentation improvements (#457 @wyze)
4.0.0 - 2016-02-19
- Add
jsx-space-before-closingrule (#244 @ryym) - Add support for destructing in function signatures to
prop-types(#354 @lencioni)
- Add support for static methods to
sort-comp. Static methods must now be declared first, see rule documentation (#128 @lencioni) - Add shareable config in place of default configuration.
jsx-uses-varsis not enabled by default anymore, see documentation (#192) - Rename
jsx-sort-prop-typestosort-prop-types.jsx-sort-prop-typesstill works but will trigger a warning (#87 @lencioni) - Remove deprecated
jsx-quotesrule (#433 @lencioni) display-namenow accept the transpiler name by default. You can use theignoreTranspilerNameoption to get the old behavior, see rule documentation (#440 @lencioni)
- Only ignore lowercase JSXIdentifier in
jsx-no-undef(#435) - Fix
jsx-handler-namesregex (#425) - Fix destructured props detection in
prop-types(#443)
- Update dependencies (#426 @quentin-)
- Documentation improvements (#414 @vkrol, #370 @tmcw, #441 #429 @lencioni, #432 @note89, #438 @jmann6)
3.16.1 - 2016-01-24
- Fix
jsx-sort-prop-typesissue with custom propTypes (#408 @alitaheri)
3.16.0 - 2016-01-24
- Add
jsx-equals-spacingrule (#394 @ryym) - Add auto fix for
wrap-multiline - Add auto fix for
jsx-boolean-value - Add auto fix for
no-unknown-property - Add auto fix for
jsx-curly-spacing(#407 @ewendel) - Add
requiredFirstoption tojsx-sort-prop-types(#392 @chrislaskey) - Add
ignoreRefsoption tojsx-no-bind(#330 @silvenon)
- Ignore
refinjsx-handler-names(again) (#396)
- Update dependencies
3.15.0 - 2016-01-12
- Add support for flow annotations to
prop-types(#382 @phpnode)
- Fix
prop-typescrash when initializing class variable with an empty object (#383) - Fix
prop-typescrash when propTypes are using the spread operator (#389)
3.14.0 - 2016-01-05
- Add
jsx-indentrule (#342) - Add shared setting for pragma configuration (#228 @NickStefan)
- Fix crash in
jsx-key(#380 @nfcampos) - Fix crash in
forbid-prop-types(#377 @nfcampos) - Ignore
refinjsx-handler-names(#375)
- Add AppVeyor CI to run tests on a Windows platform
- Add
sort-compcodemod tosort-compdocumentation (#381 @turadg)
3.13.1 - 2015-12-26
3.13.0 - 2015-12-24
- Add
no-string-refsrule (#341 @Intellicode) - Add support for propTypes assigned via a variable in
prop-types(#355)
- Fix
neveroption inprefer-es6-class - Fix
jsx-keyfalse-positives (#320 @silvenon)
3.12.0 - 2015-12-20
- Add
no-deprecatedrule (#356 @graue) - Add
no-is-mountedrule (#37 @lencioni) - Add
neveroption toprefer-es6-classrule (#359 @pwmckenna)
- Fix
jsx-pascal-caseto stop checking lower cased components (#329) - Fix crash in component detection class (#364)
- Add link to eslint-plugin-react-native in Readme
- Update dependencies
3.11.3 - 2015-12-05
- Fix crash in
prop-typeswhen reassigning props (#345) - Fix
jsx-handler-namesfor stateless components (#346)
- Update
jsx-handler-nameserror messages to be less specific (#348 @jakemmarsh)
3.11.2 - 2015-12-01
- Allow numbers in
jsx-pascal-case(#339) - Fix
jsx-handler-namescrash with arrays (#340)
- Add
allow-in-funcoption tono-did-update-set-statedocumentation
3.11.1 - 2015-11-29
- Fix SVG attributes support for
no-unknown-property(#338)
3.11.0 - 2015-11-29
- Add
jsx-handler-namesrule (#315 @jakemmarsh) - Add SVG attributes support to
no-unknown-property(#318) - Add shorthandFirst option to
jsx-sort-props(#336 @lucasmotta)
- Fix destructured props detection in stateless components (#326)
- Fix props validation for nested stateless components (#331)
- Fix
require-extensionto ignore extension if it's part of the package name (#319)
- Allow consecutive uppercase letters in
jsx-pascal-case(#328 @lencioni) - Update dependencies
3.10.0 - 2015-11-21
- Add
jsx-pascal-caserule (#306 @jakemmarsh)
- Fix crash on incomplete class property declaration (#317 @dapetcu21)
- Fix crash with ESLint 1.10.0 (#323 @lukekarrys)
3.9.0 - 2015-11-17
- Add
jsx-keyrule (#293 @benmosher) - Add
allow-in-funcoption tono-did-update-set-state(#300) - Add option to only enforce
jsx-closing-bracket-locationrule to one type of tag (nonEmpty or selfClosing) (#307)
- Fix crash when destructuring with only the rest spread (#269)
- Fix variables detection when searching for related components (#303)
- Fix
no-unknown-propertyto not check custom elements (#308 @zertosh)
- Improve
jsx-closing-bracket-locationerror message (#301 @alopatin) - Update dependencies
3.8.0 - 2015-11-07
- Add ignoreStateless option to
no-multi-comp(#290)
- Fix classes with properties to always be marked as components (#291)
- Fix ES5 class detection when using
createClassby itself (#297) - Fix direct props detection (#298)
- Ignore functions containing the keyword
thisduring component detection
3.7.1 - 2015-11-05
- Fix
sort-compcrash on stateless components (#285) - Fix crash in ES5 components detection (#286)
- Fix ES5 components detection from nested functions (#287)
3.7.0 - 2015-11-05
- Add
jsx-no-bindrule (#184 @Daniel15) - Add line-aligned option to
jsx-closing-bracket-location(#243 @alopatin)
- Fix a lot of issues about components detection, mostly related to stateless components (#264, #267, #268, #276, #277, #280)
- Update dependencies
3.6.3 - 2015-10-20
- Fix
display-namefor stateless components (#256) - Fix
prop-typesprops validation in constructor (#259) - Fix typo in README (#261 @chiedojohn)
3.6.2 - 2015-10-18
- Fix wrong prop-types detection (#255)
3.6.1 - 2015-10-18
- Fix props validation in constructor (#254)
3.6.0 - 2015-10-18
- Add support for stateless function components to
display-nameandprop-types(#237) - Add callbacksLast option to
jsx-sort-propsandjsx-sort-prop-types(#242 @Daniel15) - Add
prefer-es6-classrule (#247 @hamiltondanielb)
- Fix
forbid-prop-typescrash with destructured PropTypes (#230 @epmatsw) - Fix
forbid-prop-typesto do not modify AST directly (#249 @rhysd) - Fix
prop-typescrash with empty destructuring (#251) - Fix
prop-typesto not validate computed keys in destructuring (#236)
3.5.1 - 2015-10-01
- Fix
no-direct-mutation-stateto report only in React components (#229) - Fix
forbid-prop-typesfor arrayOf and instanceOf (#230)
- Documentation improvements (#232 @edge)
3.5.0 - 2015-09-28
- Add
no-direct-mutation-staterule (#133, #201 @petersendidit) - Add
forbid-prop-typesrule (#215 @pwmckenna)
- Fix no-did-mount/update-set-state rules, these rules were not working on ES6 classes
- Update dependencies
- Documentation improvements (#222 @Andersos)
3.4.2 - 2015-09-18
- Only display the
jsx-quotesdeprecation warning with the default formatter (#221)
3.4.1 - 2015-09-17
- Fix
jsx-quotesrule deprecation message (#220)
3.4.0 - 2015-09-16
- Add namespaced JSX support to
jsx-no-undef(#219 @zertosh) - Add option to
jsx-closing-bracket-locationto configure different styles for self-closing and non-empty tags (#208 @evocateur)
- Deprecate
jsx-quotesrule, will now trigger a warning if used (#217)
3.3.2 - 2015-09-10
- Add
statein lifecycle methods forsort-comprule (#197 @mathieudutour) - Treat component with render which returns
createElementas valid (#206 @epmatsw)
- Fix allowed methods on arrayOf in
prop-types(#146) - Fix default configuration for
jsx-boolean-value(#210)
3.3.1 - 2015-09-01
- Update dependencies
- Update changelog to follow the Keep a CHANGELOG standards
- Documentation improvements (#198 @lencioni)
- Fix
jsx-closing-bracket-locationfor multiline props (#199)
3.3.0 - 2015-08-26
- Add
jsx-indent-propsrule (#15, #181) - Add
no-set-state rule(#197 @markdalgleish) - Add
jsx-closing-bracket-locationrule (#14, #64)
- Update dependencies
- Fix crash on propTypes declarations with an empty body (#193 @mattyod)
3.2.3 - 2015-08-16
- Update dependencies
3.2.2 - 2015-08-11
- Remove peerDependencies (#178)
3.2.1 - 2015-08-08
- Fix crash when propTypes don't have any parent (#182)
- Fix jsx-no-literals reporting errors outside JSX (#183 @CalebMorris)
3.2.0 - 2015-08-04
- Add
jsx-max-props-per-linerule (#13) - Add
jsx-no-literalsrule (#176 @CalebMorris)
- Update dependencies
- Fix object access in
jsx-no-undef(#172)
3.1.0 - 2015-07-28
- Add event handlers to
no-unknown-property(#164 @mkenyon) - Add customValidators option to
prop-types(#145 @CalebMorris)
- Update dependencies
- Documentation improvements (#167 @ngbrown)
- Fix comment handling in
jsx-curly-spacing(#165)
3.0.0 - 2015-07-21
- Add jsx-no-duplicate-props rule (#161 @hummlas)
- Add allowMultiline option to the
jsx-curly-spacingrule (#156 @mathieumg)
- In
jsx-curly-spacingbraces spanning multiple lines are now allowed withneveroption (#156 @mathieumg)
- Fix multiple var and destructuring handling in
prop-types(#159) - Fix crash when retrieving propType name (#163)
2.7.1 - 2015-07-16
- Update peerDependencies requirements (#154)
- Update codebase for ESLint v1.0.0
- Change oneOfType to actually keep the child types (#148 @CalebMorris)
- Documentation improvements (#147 @lencioni)
2.7.0 - 2015-07-11
- Add
no-dangerrule (#138 @scothis) - Add
jsx-curly-spacingrule (#142)
2.6.4 - 2015-07-02
- Fix simple destructuring handling (#137)
2.6.3 - 2015-06-30
- Fix ignore option for
prop-typesrule (#135) - Fix nested props destructuring (#136)
2.6.2 - 2015-06-28
- Fix props validation when using a prop as an object key (#132)
2.6.1 - 2015-06-28
- Fix crash in
prop-typeswhen encountering an empty variable declaration (#130)
2.6.0 - 2015-06-28
- Add support for nested propTypes (#62 #105 @Cellule)
- Add
require-extensionrule (#117 @scothis) - Add support for computed string format in
prop-types(#127 @Cellule) - Add ES6 methods to
sort-compdefault configuration (#97 #122) - Add support for props destructuring directly on the this keyword
- Add
acceptTranspilerNameoption todisplay-namerule (#75) - Add schema to validate rules options
- Update dependencies
- Fix test command for Windows (#114 @Cellule)
- Fix detection of missing displayName and propTypes when
ecmaFeatures.jsxis false (#119 @rpl) - Fix propTypes destructuring with properties as string (#118 @Cellule)
- Fix
jsx-sort-prop-typessupport for keys as string (#123 @Cellule) - Fix crash if a ClassProperty has only one token (#125)
- Fix invalid class property handling in
jsx-sort-prop-types(#129)
2.5.2 - 2015-06-14
- Fix regression in
jsx-uses-varswithbabel-eslint(#110)
2.5.1 - 2015-06-14
- Update dependencies
- Documentation improvements (#99 @morenoh149)
- Fix
prop-typescrash when propTypes definition is invalid (#95) - Fix
jsx-uses-varsfor ES6 classes (#96) - Fix hasOwnProperty that is taken for a prop (#102)
2.5.0 - 2015-06-04
- Add option to make
wrap-multilinesmore granular (#94 @PiPeep)
2.4.0 - 2015-05-30
- Add pragma option to
jsx-uses-react(#82 @dominicbarnes) - Add context props to
sort-comp(#89 @zertosh)
- Update dependencies
- Documentation improvement (#91 @matthewwithanm)
- Fix itemID in
no-unknown-propertyrule (#85 @cody) - Fix license field in package.json (#90 @zertosh)
- Fix usage of contructor in
sort-compoptions (#88)
2.3.0 - 2015-05-14
- Add
sort-comprule (#39) - Add
allow-in-funcoption tono-did-mount-set-state(#56)
- Update dependencies
- Improve errors locations for
prop-types
- Fix quoted propTypes in ES6 (#77)
2.2.0 - 2015-04-22
- Add
jsx-sort-prop-typesrule (#38 @AlexKVal)
- Documentation improvements (#71 @AlexKVal)
- Fix variables marked as used when a prop has the same name (#69 @burnnat)
2.1.1 - 2015-04-17
- Add support for classes static properties (#43)
- Add tests for the
babel-eslintparser - Add ESLint as peerDependency (#63 @AlexKVal)
2.1.0 - 2015-04-06
- Add
jsx-boolean-valuerule (#11) - Add support for static methods in
display-nameandprop-types(#48)
- Update
jsx-sort-propsto reset the alphabetical verification on spread (#47 @zertosh) - Update
jsx-uses-varsto be enabled by default (#49 @banderson)
- Fix describing comment for hasSpreadOperator() method (#53 @AlexKVal)
2.0.2 - 2015-03-31
- Fix ignore rest spread when destructuring props (#46)
- Fix component detection in
prop-typesanddisplay-name(#45) - Fix spread handling in
jsx-sort-props(#42 @zertosh)
2.0.1 - 2015-03-30
- Fix props detection when used in an object (#41)
2.0.0 - 2015-03-29
- Add
jsx-sort-propsrule (#16) - Add
no-unknown-propertyrule (#28) - Add ignore option to
prop-typesrule
- Update dependencies
- In
prop-typesthe children prop is no longer ignored
- Fix components are now detected when using ES6 classes (#24)
- Fix
prop-typesnow return the right line/column (#33) - Fix props are now detected when destructuring (#27)
- Fix only check for computed property names in
prop-types(#36 @burnnat)
1.6.1 - 2015-03-25
- Update
jsx-quotesdocumentation
- Fix
jsx-no-undefwithbabel-eslint(#30) - Fix
jsx-quoteson Literal childs (#29)
1.6.0 - 2015-03-22
- Add
jsx-no-undefrule - Add
jsx-quotesrule (#12) - Add
@jsxpragma support (#23)
- Allow
this.getStatereferences (not calls) in lifecycle methods (#22 @benmosher) - Update dependencies
- Fix
react-in-jsx-scopein Node.js env - Fix usage of propTypes with an external object (#9)
1.5.0 - 2015-03-14
- Add
jsx-uses-varsrule
- Fix
jsx-uses-reactfor ESLint 0.17.0
1.4.1 - 2015-03-03
- Fix
this.props.childrenmarked as missing in props validation (#7) - Fix usage of
this.propswithout property (#8)
1.4.0 - 2015-02-24
- Add
react-in-jsx-scoperule (#5 @glenjamin) - Add
jsx-uses-reactrule (#6 @glenjamin)
- Update
prop-typesto check props usage insead of propTypes presence (#4)
1.3.0 - 2015-02-24
- Add
no-did-mount-set-staterule - Add
no-did-update-set-staterule
- Update dependencies
1.2.2 - 2015-02-09
- Update dependencies
- Fix childs detection in
self-closing-comp(#3)
1.2.1 - 2015-01-29
- Update Readme
- Update dependencies
- Update
wrap-multilinesandself-closing-comprules for ESLint 0.13.0
1.2.0 - 2014-12-29
- Add
self-closing-comprule
- Fix
display-nameandprop-typesrules
1.1.0 - 2014-12-28
- Add
display-namerule - Add
wrap-multilinesrule - Add rules documentation
- Add rules tests
- First revision