UNPKG

lightfold

Version:

lightweight scaffolding and archiving utility CLI.

825 lines (714 loc) 156 kB
# Change Log All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). This change log adheres to standards from [Keep a CHANGELOG](http://keepachangelog.com). ## [7.19.0] - 2020-03-06 ### Added * [`style-prop-object`][]: Add `allow` option ([#1819][] @hornta) * [`jsx-pascal-case`][]: Support unicode characters ([#2557][] @Svish) ### Fixed * [`prefer-stateless-function`][]: avoid crash on ts empty constructor ([#2582][] @golopot) * [`no-adjacent-inline-elements`][]: avoid a crash ([#2575] @ljharb) * [`no-unused-prop-types`][]: Change the reporting to point to a more accurate node ([#2292][] @jseminck) * [`self-closing-comp`][]: consider JSXMemberExpression as component too ([#2572][] @Belco90) * [`no-unused-prop-types`][]: make `markPropTypesAsUsed` work with `TSEmptyBodyFunctionExpression` AST node ([#2560][] @guillaumewuip) * [`displayName`][] (but really, `propTypes` detection): do not crash on empty flow type spreads ([#2570][] @ljharb) ### Changed * [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.19.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.18.3...v7.19.0 [#2583]: https://github.com/yannickcr/eslint-plugin-react/pull/2583 [#2582]: https://github.com/yannickcr/eslint-plugin-react/pull/2582 [#2575]: https://github.com/yannickcr/eslint-plugin-react/issue/2575 [#2572]: https://github.com/yannickcr/eslint-plugin-react/pull/2572 [#2570]: https://github.com/yannickcr/eslint-plugin-react/issue/2570 [#2568]: https://github.com/yannickcr/eslint-plugin-react/pull/2568 [#2560]: https://github.com/yannickcr/eslint-plugin-react/pull/2560 [#2557]: https://github.com/yannickcr/eslint-plugin-react/pull/2557 [#2292]: https://github.com/yannickcr/eslint-plugin-react/pull/2292 [#1819]: https://github.com/yannickcr/eslint-plugin-react/pull/1819 ## [7.18.3] - 2020-02-02 ### Fixed * [`jsx-indent`][]: don't check literals not within JSX ([#2564][] @toshi-toma) [7.18.3]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.18.2...v7.18.3 [#2564]: https://github.com/yannickcr/eslint-plugin-react/issue/2564 ## [7.18.2] - 2020-02-01 ### Fixed * [`jsx-indent`][]: avoid a crash on non-string literals ([#2561][] @ljharb) [7.18.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.18.1...v7.18.2 [#2561]: https://github.com/yannickcr/eslint-plugin-react/issue/2561 ## [7.18.1] - 2020-02-01 ### Fixed * [`jsx-indent`][]: Does not check indents for JSXText ([#2542][] @toshi-toma) * [`jsx-props-no-spreading`][]: add support for namespaced jsx components ([#2534][] @jonathanpalma) * [`jsx-no-target-blank`][]: allow rel to be an expression ([#2544][] @odinho) * [`sort-comp`][]: `|` isn’t a valid regex flag; `u` and `s` are (@ljharb) ### Changed * [Docs] use `markdown-magic` to automatically sort all rules alphabetically ([#1742][] @ybiquitous) * [Docs] [`jsx-props-no-spreading`][]: fix typo to use correct rule ([#2547][] @jonggyun)) [7.18.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.18.0...v7.18.1 [#2547]: https://github.com/yannickcr/eslint-plugin-react/pull/2547 [#2544]: https://github.com/yannickcr/eslint-plugin-react/pull/2544 [#2542]: https://github.com/yannickcr/eslint-plugin-react/pull/2542 [#2534]: https://github.com/yannickcr/eslint-plugin-react/pull/2534 [#1742]: https://github.com/yannickcr/eslint-plugin-react/pull/1742 ## [7.18.0] - 2020-01-15 ### Added * [`require-default-props`][]: add option to ignore functional components ([#2532][] @RedTn) * [`function-component-definition`][]: Enforce a specific function type for function components ([#2414][] @Stefanwullems) * [`no-adjacent-inline-elements`][]: Prevent adjacent inline elements not separated by whitespace ([#1155][] @SeanHayes) * [`jsx-no-script-url`][]: prevent usage of `javascript:` URLs ([#2419][] @sergei-startsev) ### Fixed * [`jsx-pascal-case`][]: false negative with namespacing ([#1337][] @mfyuce) * [`jsx-curly-brace-presence`][]: Fix `curly-brace-presence` edge cases ([#2523][] @rafbgarcia) * [`prop-types`][]: Does not validate missing propTypes for LogicalExpression ([#2533][] @toshi-toma) * [`no-unknown-property`][]: allowTransparency does not exist in React >= v16.1 ([#1538][] @dawidvdh) * [`jsx-curly-brace-presence`][]: Fix error related to tags line break ([#2521][] @rafbgarcia) * [`no-typos`][]: Compilation error when method name is string instead of identifier ([#2514][] @shijistar) * [`jsx-curly-brace-presence`][]: allow trailing spaces in TemplateLiteral ([#2507][] @doochik) * [`no-unused-prop-types`], [`no-unused-state`]: fix false positives when using TS type assertions ([#2536][] @kdmadej) ### Changed * [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.18.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.17.0...v7.18.0 [#2540]: https://github.com/yannickcr/eslint-plugin-react/pull/2540 [#2536]: https://github.com/yannickcr/eslint-plugin-react/pull/2536 [#2535]: https://github.com/yannickcr/eslint-plugin-react/pull/2535 [#2533]: https://github.com/yannickcr/eslint-plugin-react/pull/2533 [#2532]: https://github.com/yannickcr/eslint-plugin-react/pull/2532 [#2523]: https://github.com/yannickcr/eslint-plugin-react/pull/2523 [#2521]: https://github.com/yannickcr/eslint-plugin-react/pull/2521 [#2514]: https://github.com/yannickcr/eslint-plugin-react/pull/2514 [#2510]: https://github.com/yannickcr/eslint-plugin-react/pull/2510 [#2507]: https://github.com/yannickcr/eslint-plugin-react/pull/2507 [#2419]: https://github.com/yannickcr/eslint-plugin-react/pull/2419 [#2414]: https://github.com/yannickcr/eslint-plugin-react/pull/2414 [#2288]: https://github.com/yannickcr/eslint-plugin-react/pull/2288 [#2006]: https://github.com/yannickcr/eslint-plugin-react/pull/2006 [#1538]: https://github.com/yannickcr/eslint-plugin-react/pull/1538 [#1337]: https://github.com/yannickcr/eslint-plugin-react/pull/1337 [#1155]: https://github.com/yannickcr/eslint-plugin-react/pull/1155 [#977]: https://github.com/yannickcr/eslint-plugin-react/pull/977 ## [7.17.0] - 2019-11-28 ### Added * [`jsx-no-target-blank`][]: add `allowReferrer` option ([#2478][] @eps1lon) * [`jsx-handler-names`][]: add `checkLocalVariables` option ([#2470][] @aub) * [`prop-types`][]: Support Flow Type spread ([#2446][] @moroine) * [`jsx-props-no-spreading`][]: add `explicitSpread` option to allow explicit spread of props ([#2449][] @pawelnvk) * [`jsx-no-target-blank`][]: warn on `target={'_blank'}` expressions ([#2451][] @timkraut) * [`function-component-definition`]: Enforce a specific function type for function components ([#2414][] @Stefanwullems) ### Fixed * [`sort-prop-types`][], [`jsx-sort-default-props`][]: disable broken autofix ([#2505][] @webOS101) * [`no-typos`][]: improve report location ([#2468][] @golopot) * [`jsx-no-literals`][]: trim whitespace for `allowedStrings` check ([#2436][] @cainlevy) * [`jsx-curly-brace-presence`][]: Fix filter of undefined error with whitespace inside jsx attr curlies ([#2460][] @dustinyoste) * [`no-render-return-value`][]: should warn when used in assignment expression ([#2462][] @jichu4n) * [`jsx-curly-brace-presence`][]: allow trailing spaces in literal ([#2448][] @doochik) ### Changed * [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.17.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.16.0...v7.17.0 [#2532]: https://github.com/yannickcr/eslint-plugin-react/pull/2532 [#2505]: https://github.com/yannickcr/eslint-plugin-react/pull/2505 [#2504]: https://github.com/yannickcr/eslint-plugin-react/pull/2504 [#2500]: https://github.com/yannickcr/eslint-plugin-react/pull/2500 [#2489]: https://github.com/yannickcr/eslint-plugin-react/pull/2489 [#2483]: https://github.com/yannickcr/eslint-plugin-react/pull/2483 [#2478]: https://github.com/yannickcr/eslint-plugin-react/pull/2478 [#2470]: https://github.com/yannickcr/eslint-plugin-react/pull/2470 [#2469]: https://github.com/yannickcr/eslint-plugin-react/pull/2469 [#2468]: https://github.com/yannickcr/eslint-plugin-react/pull/2468 [#2465]: https://github.com/yannickcr/eslint-plugin-react/pull/2465 [#2463]: https://github.com/yannickcr/eslint-plugin-react/pull/2463 [#2460]: https://github.com/yannickcr/eslint-plugin-react/pull/2460 [#2453]: https://github.com/yannickcr/eslint-plugin-react/pull/2453 [#2451]: https://github.com/yannickcr/eslint-plugin-react/pull/2451 [#2449]: https://github.com/yannickcr/eslint-plugin-react/pull/2449 [#2448]: https://github.com/yannickcr/eslint-plugin-react/pull/2448 [#2446]: https://github.com/yannickcr/eslint-plugin-react/pull/2446 [#2443]: https://github.com/yannickcr/eslint-plugin-react/pull/2443 [#2438]: https://github.com/yannickcr/eslint-plugin-react/pull/2438 [#2436]: https://github.com/yannickcr/eslint-plugin-react/pull/2436 [#2414]: https://github.com/yannickcr/eslint-plugin-react/pull/2414 [#2273]: https://github.com/yannickcr/eslint-plugin-react/pull/2273 ## [7.16.0] - 2019-10-04 ### Added * [`jsx-sort-default-props`][]: make rule fixable ([#2429][] @emroussel) ### Fixed * [`jsx-no-useless-fragment`][]: use `array-includes` over `.includes` for back compat (@ljharb) * [`jsx-curly-brace-presence`][]: allow necessary white-space literal ([#2437][] @uniqname) * [`jsx-curly-brace-presence`][]: warns incorrectly on trailing whitespace ([#2431][] @BC-M) * [`no-unused-prop-types`][]: false positive when nested destructuring ([#2428][] @golopot) [7.16.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.15.1...v7.16.0 [#2437]: https://github.com/yannickcr/eslint-plugin-react/pull/2437 [#2431]: https://github.com/yannickcr/eslint-plugin-react/pull/2431 [#2429]: https://github.com/yannickcr/eslint-plugin-react/pull/2429 [#2428]: https://github.com/yannickcr/eslint-plugin-react/pull/2428 ## [7.15.1] - 2019-10-01 ### Fixed * [`jsx-curly-brace-presence`][]: bail out checks when JSXElements are passed as props ([#2426][] @vedadeepta) ### Changed * [Docs] [`prefer-es6-class`][]: Fix typos ([#2425][] @spencerbyw) [7.15.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.15.0...v7.15.1 [#2426]: https://github.com/yannickcr/eslint-plugin-react/pull/2426 [#2425]: https://github.com/yannickcr/eslint-plugin-react/pull/2425 ## [7.15.0] - 2019-09-30 ### Added * add [`jsx-no-useless-fragment`][] rule ([#2261][] @golopot) * [`jsx-handler-name`][]: allow `false` to disable `eventHandlerPrefix`/`eventHandlerPropPrefix` ([#2410][] @tanmoyopenroot) * [`sort-comp`][]: add `static-variables` grouping ([#2408][] @vedadeepta) * [`jsx-no-literals`][]: Add `allowedStrings` option ([#2380][] @benhollander) * [`no-multi-comp`][]: Added handling for `forwardRef` and `memo` wrapping components declared in the same file ([#2184][] @jenil94) * [`jsx-pascal-case`][]: `allowAllCaps` option now allows `SCREAMING_SNAKE_CASE` ([#2364][] @TylerR909) ### Fixed * [`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) ### Changed * [Docs] [`no-access-state-in-setstate`][]: update grammar ([#2418][] @neaumusic) * [`jsx-curly-brace-presence`][], [`jsx-one-expression-per-line`][], [`no-danger-with-children`][]: add `isWhiteSpaces` to `lib/util/jsx` ([#2409][] @vedadeepta) [7.15.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.14.3...v7.15.0 [#2422]: https://github.com/yannickcr/eslint-plugin-react/pull/2422 [#2410]: https://github.com/yannickcr/eslint-plugin-react/pull/2410 [#2409]: https://github.com/yannickcr/eslint-plugin-react/pull/2409 [#2408]: https://github.com/yannickcr/eslint-plugin-react/pull/2408 [#2402]: https://github.com/yannickcr/eslint-plugin-react/pull/2402 [#2399]: https://github.com/yannickcr/eslint-plugin-react/pull/2399 [#2395]: https://github.com/yannickcr/eslint-plugin-react/pull/2395 [#2392]: https://github.com/yannickcr/eslint-plugin-react/pull/2392 [#2391]: https://github.com/yannickcr/eslint-plugin-react/pull/2391 [#2385]: https://github.com/yannickcr/eslint-plugin-react/pull/2385 [#2383]: https://github.com/yannickcr/eslint-plugin-react/issue/2383 [#2380]: https://github.com/yannickcr/eslint-plugin-react/pull/2380 [#2378]: https://github.com/yannickcr/eslint-plugin-react/pull/2378 [#2375]: https://github.com/yannickcr/eslint-plugin-react/pull/2375 [#2367]: https://github.com/yannickcr/eslint-plugin-react/pull/2367 [#2364]: https://github.com/yannickcr/eslint-plugin-react/pull/2364 [#2361]: https://github.com/yannickcr/eslint-plugin-react/pull/2361 [#2359]: https://github.com/yannickcr/eslint-plugin-react/pull/2359 [#2261]: https://github.com/yannickcr/eslint-plugin-react/pull/2261 [#2200]: https://github.com/yannickcr/eslint-plugin-react/pull/2200 [#2184]: https://github.com/yannickcr/eslint-plugin-react/pull/2184 ## [7.14.3] - 2019-07-23 ### Fixed * Fix [`prop-types`][] to 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 `memo` and `forwardRef` are used together ([#2349][] @yannickcr) ### Changed * Documentation improvements (@ljharb, [#2354][] @golopot) [7.14.3]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.14.2...v7.14.3 [#2330]: https://github.com/yannickcr/eslint-plugin-react/issues/2330 [#2336]: https://github.com/yannickcr/eslint-plugin-react/pull/2336 [#2349]: https://github.com/yannickcr/eslint-plugin-react/issues/2349 [#2354]: https://github.com/yannickcr/eslint-plugin-react/pull/2354 ## [7.14.2] - 2019-06-24 ### Fixed * Fix [`prop-types`][] crash on for...of destructuring ([#2326][] @yannickcr) [7.14.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.14.1...v7.14.2 [#2326]: https://github.com/yannickcr/eslint-plugin-react/issues/2326 ## [7.14.1] - 2019-06-24 ### Fixed * Fix [`prop-types`][] crash on multiple destructuring ([#2319][] @golopot) [7.14.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.14.0...v7.14.1 [#2319]: https://github.com/yannickcr/eslint-plugin-react/issues/2319 ## [7.14.0] - 2019-06-23 ### Added * Add [`jsx-curly-newline`][] rule ([#1493][] @golopot) * Add support for nested destructuring to [`prop-types`][] ([#296][] [#1422][] @golopot) * Add support for variables defined as props to [`prop-types`][] and [`no-unused-prop-types`][] ([#442][] [#833][] [#1002][] [#1116][] [#1257][] [#1764][] @golopot) * Add `checkFragmentShorthand` option to [`jsx-key`][] ([#2316][] @kaykayehnn) ### Fixed * Fix [`no-did-mount-set-state`][] and [`no-did-update-set-state`][] to handle cDU and cDM defined as class properties ([#1595][] @jaaberg) * Fix [`sort-prop-types`][] cash when a shape PropType is defined in a variable ([#1749][] @alexzherdev) * Fix [`no-unused-state`][] false positive when using state of non-lifecycle method ([#2274][] @golopot) * Fix [`static-property-placement`][] false positive when accessing static property inside method ([#2283][] @dmason30) * Fix [`prop-type`][] detection for annotated props with default value ([#2298][] @yannickcr) ### Changed * Add ESLint 6.0.0 as valid peerDependency (@yannickcr) * Improve [`no-render-return-value`][] performance ([#2259][] @golopot) * Change [`jsx-sort-props`][] to 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.14.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.13.0...v7.14.0 [#296]: https://github.com/yannickcr/eslint-plugin-react/issues/296 [#442]: https://github.com/yannickcr/eslint-plugin-react/issues/442 [#833]: https://github.com/yannickcr/eslint-plugin-react/issues/833 [#1002]: https://github.com/yannickcr/eslint-plugin-react/issues/1002 [#1047]: https://github.com/yannickcr/eslint-plugin-react/issues/1047 [#1116]: https://github.com/yannickcr/eslint-plugin-react/issues/1116 [#1257]: https://github.com/yannickcr/eslint-plugin-react/issues/1257 [#1422]: https://github.com/yannickcr/eslint-plugin-react/issues/1422 [#1493]: https://github.com/yannickcr/eslint-plugin-react/issues/1493 [#1595]: https://github.com/yannickcr/eslint-plugin-react/issues/1595 [#1749]: https://github.com/yannickcr/eslint-plugin-react/issues/1749 [#1764]: https://github.com/yannickcr/eslint-plugin-react/issues/1764 [#2259]: https://github.com/yannickcr/eslint-plugin-react/pull/2259 [#2262]: https://github.com/yannickcr/eslint-plugin-react/pull/2262 [#2263]: https://github.com/yannickcr/eslint-plugin-react/pull/2263 [#2265]: https://github.com/yannickcr/eslint-plugin-react/pull/2265 [#2267]: https://github.com/yannickcr/eslint-plugin-react/pull/2267 [#2274]: https://github.com/yannickcr/eslint-plugin-react/pull/2274 [#2276]: https://github.com/yannickcr/eslint-plugin-react/issues/2276 [#2283]: https://github.com/yannickcr/eslint-plugin-react/issues/2283 [#2286]: https://github.com/yannickcr/eslint-plugin-react/pull/2286 [#2294]: https://github.com/yannickcr/eslint-plugin-react/pull/2294 [#2295]: https://github.com/yannickcr/eslint-plugin-react/pull/2295 [#2298]: https://github.com/yannickcr/eslint-plugin-react/issues/2298 [#2302]: https://github.com/yannickcr/eslint-plugin-react/pull/2302 [#2303]: https://github.com/yannickcr/eslint-plugin-react/pull/2303 [#2304]: https://github.com/yannickcr/eslint-plugin-react/pull/2304 [#2312]: https://github.com/yannickcr/eslint-plugin-react/issues/2312 [#2316]: https://github.com/yannickcr/eslint-plugin-react/pull/2316 ## [7.13.0] - 2019-05-03 ### Added * Make [`jsx-sort-props`][] fully fixable ([#2250][], @guliashvili) * [`boolean-prop-naming`][]: add `validateNested` option to validate shape prop names ([#2234][], @pawelnvk) * add [`static-property-placement`][] rule ([#2193][], @dmason30) * add "detect" for flow version ([#2233][], @jedwards1211) * [`jsx-indent`][]: Add `indentLogicalExpressions` option ([#2227][], @mdnsk) * add [`jsx-props-no-spreading`][] ([#2191][], @ashbhir) * [`no-string-refs`][]: Added `noTemplateLiteral` option ([#2167][], @jenil94) * add `linkComponents` setting ([#2116][], @gbakernet) * [`jsx-no-target-blank`][]: add support for `linkComponents` setting ([#2116][], @gbakernet) * Add [`state-in-constructor`][] rule ([#1945][], @lukyth) * Add [`prefer-read-only-props`][] rule ([#2110][], @golopot) * [`no-unescaped-entities`][]: more friendly error message; add config to adjust ([#2016][], @stevemao) ### Fixed * [`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) ### Changed * [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.13.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.12.4...v7.13.0 [#2256]: https://github.com/yannickcr/eslint-plugin-react/pull/2256 [#2250]: https://github.com/yannickcr/eslint-plugin-react/pull/2250 [#2246]: https://github.com/yannickcr/eslint-plugin-react/pull/2246 [#2238]: https://github.com/yannickcr/eslint-plugin-react/pull/2238 [#2234]: https://github.com/yannickcr/eslint-plugin-react/pull/2234 [#2233]: https://github.com/yannickcr/eslint-plugin-react/pull/2233 [#2232]: https://github.com/yannickcr/eslint-plugin-react/pull/2232 [#2230]: https://github.com/yannickcr/eslint-plugin-react/pull/2230 [#2229]: https://github.com/yannickcr/eslint-plugin-react/pull/2229 [#2227]: https://github.com/yannickcr/eslint-plugin-react/pull/2227 [#2225]: https://github.com/yannickcr/eslint-plugin-react/pull/2225 [#2210]: https://github.com/yannickcr/eslint-plugin-react/pull/2210 [#2207]: https://github.com/yannickcr/eslint-plugin-react/pull/2207 [#2206]: https://github.com/yannickcr/eslint-plugin-react/pull/2206 [#2203]: https://github.com/yannickcr/eslint-plugin-react/pull/2203 [#2202]: https://github.com/yannickcr/eslint-plugin-react/pull/2202 [#2198]: https://github.com/yannickcr/eslint-plugin-react/pull/2198 [#2193]: https://github.com/yannickcr/eslint-plugin-react/pull/2193 [#2191]: https://github.com/yannickcr/eslint-plugin-react/pull/2191 [#2183]: https://github.com/yannickcr/eslint-plugin-react/issues/2183 [#2182]: https://github.com/yannickcr/eslint-plugin-react/pull/2182 [#2180]: https://github.com/yannickcr/eslint-plugin-react/pull/2180 [#2167]: https://github.com/yannickcr/eslint-plugin-react/pull/2167 [#2147]: https://github.com/yannickcr/eslint-plugin-react/issues/2147 [#2145]: https://github.com/yannickcr/eslint-plugin-react/issues/2145 [#2143]: https://github.com/yannickcr/eslint-plugin-react/pull/2143 [#2137]: https://github.com/yannickcr/eslint-plugin-react/issues/2137 [#2116]: https://github.com/yannickcr/eslint-plugin-react/pull/2116 [#2110]: https://github.com/yannickcr/eslint-plugin-react/pull/2110 [#2016]: https://github.com/yannickcr/eslint-plugin-react/pull/2016 [#1945]: https://github.com/yannickcr/eslint-plugin-react/pull/1945 ## [7.12.4] - 2019-01-16 ### Fixed * [`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) ### Changed * [`prop-types`][], [`no-typos`][]: add passing test cases ([#2123][], [#2128][], [#2136][], [#2134][], @ljharb) [7.12.4]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.12.3...v7.12.4 [#2136]: https://github.com/yannickcr/eslint-plugin-react/issues/2136 [#2134]: https://github.com/yannickcr/eslint-plugin-react/issues/2134 [#2131]: https://github.com/yannickcr/eslint-plugin-react/issues/2131 [#2128]: https://github.com/yannickcr/eslint-plugin-react/issues/2128 [#2127]: https://github.com/yannickcr/eslint-plugin-react/issues/2127 [#2125]: https://github.com/yannickcr/eslint-plugin-react/pull/2125 [#2123]: https://github.com/yannickcr/eslint-plugin-react/issues/2123 [#2118]: https://github.com/yannickcr/eslint-plugin-react/issues/2118 [#2051]: https://github.com/yannickcr/eslint-plugin-react/issues/2051 [#1957]: https://github.com/yannickcr/eslint-plugin-react/issues/1957 ## [7.12.3] - 2019-01-04 ### Fixed * [`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) ### Changed * [Docs] add a missing comma in the JSON settings ([#2117][], @haideralsh) * [Docs] update README to document React version detection ([#2114][], @mohsinulhaq) [7.12.3]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.12.2...v7.12.3 [#2120]: https://github.com/yannickcr/eslint-plugin-react/issues/2120 [#2117]: https://github.com/yannickcr/eslint-plugin-react/issues/2117 [#2115]: https://github.com/yannickcr/eslint-plugin-react/issues/2115 [#2114]: https://github.com/yannickcr/eslint-plugin-react/issues/2114 [#2113]: https://github.com/yannickcr/eslint-plugin-react/issues/2113 [#2111]: https://github.com/yannickcr/eslint-plugin-react/issues/2111 [#2109]: https://github.com/yannickcr/eslint-plugin-react/issues/2109 ## [7.12.2] - 2019-01-02 ### Fixed * [`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.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.12.1...v7.12.2 [#2104]: https://github.com/yannickcr/eslint-plugin-react/issues/2104 [#2103]: https://github.com/yannickcr/eslint-plugin-react/pull/2103 [#2095]: https://github.com/yannickcr/eslint-plugin-react/issues/2095 ## [7.12.1] - 2019-01-01 ### Fixed * [`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) ### Changed * Fix CHANGELOG.md ([#2097][], @alexzherdev) [7.12.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.12.0...v7.12.1 [#2102]: https://github.com/yannickcr/eslint-plugin-react/issues/2102 [#2100]: https://github.com/yannickcr/eslint-plugin-react/issues/2100 [#2099]: https://github.com/yannickcr/eslint-plugin-react/pull/2099 [#2098]: https://github.com/yannickcr/eslint-plugin-react/pull/2098 [#2097]: https://github.com/yannickcr/eslint-plugin-react/pull/2097 ## [7.12.0] - 2018-12-27 ### Added * [`no-typos`]: Support createClass ([#1828][], @alexzherdev) * Support detecting React.forwardRef/React.memo ([#2089][], @jomasti) * [`jsx-indent`][]: add `checkAttributes` option for JSX attribute indentation ([#2086][], @jomasti) * Change allowed `propWrapperFunctions` setting values ([#2065][], @jomasti) * add [`jsx-fragments`][] rule 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) ### Fixed * [`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`][]: 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) ### Changed * [`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 `propTypes` detection ([#1946][], @alexzherdev) * [Refactor] Extract `defaultProps` detection ([#1942][], @alexzherdev) * [Refactor] Extract required `propTypes` detection ([#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 default `ignoreTranspilerName` value ([#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.12.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.11.1...v7.12.0 [#2090]: https://github.com/yannickcr/eslint-plugin-react/pull/2090 [#2089]: https://github.com/yannickcr/eslint-plugin-react/pull/2089 [#2086]: https://github.com/yannickcr/eslint-plugin-react/pull/2086 [#2085]: https://github.com/yannickcr/eslint-plugin-react/pull/2085 [#2084]: https://github.com/yannickcr/eslint-plugin-react/pull/2084 [#2082]: https://github.com/yannickcr/eslint-plugin-react/issues/2082 [#2075]: https://github.com/yannickcr/eslint-plugin-react/pull/2075 [#2069]: https://github.com/yannickcr/eslint-plugin-react/pull/2069 [#2067]: https://github.com/yannickcr/eslint-plugin-react/pull/2067 [#2065]: https://github.com/yannickcr/eslint-plugin-react/pull/2065 [#2064]: https://github.com/yannickcr/eslint-plugin-react/pull/2064 [#2056]: https://github.com/yannickcr/eslint-plugin-react/issues/2056 [#2044]: https://github.com/yannickcr/eslint-plugin-react/pull/2044 [#2040]: https://github.com/yannickcr/eslint-plugin-react/pull/2040 [#2032]: https://github.com/yannickcr/eslint-plugin-react/pull/2032 [#2029]: https://github.com/yannickcr/eslint-plugin-react/pull/2029 [#2026]: https://github.com/yannickcr/eslint-plugin-react/pull/2026 [#2015]: https://github.com/yannickcr/eslint-plugin-react/pull/2015 [#2012]: https://github.com/yannickcr/eslint-plugin-react/pull/2012 [#2008]: https://github.com/yannickcr/eslint-plugin-react/pull/2008 [#2004]: https://github.com/yannickcr/eslint-plugin-react/pull/2004 [#2002]: https://github.com/yannickcr/eslint-plugin-react/pull/2002 [#2001]: https://github.com/yannickcr/eslint-plugin-react/pull/2001 [#1995]: https://github.com/yannickcr/eslint-plugin-react/pull/1995 [#1994]: https://github.com/yannickcr/eslint-plugin-react/pull/1994 [#1989]: https://github.com/yannickcr/eslint-plugin-react/pull/1989 [#1988]: https://github.com/yannickcr/eslint-plugin-react/pull/1988 [#1984]: https://github.com/yannickcr/eslint-plugin-react/pull/1984 [#1983]: https://github.com/yannickcr/eslint-plugin-react/pull/1983 [#1978]: https://github.com/yannickcr/eslint-plugin-react/pull/1978 [#1977]: https://github.com/yannickcr/eslint-plugin-react/pull/1977 [#1956]: https://github.com/yannickcr/eslint-plugin-react/pull/1956 [#1953]: https://github.com/yannickcr/eslint-plugin-react/pull/1953 [#1949]: https://github.com/yannickcr/eslint-plugin-react/issues/1949 [#1946]: https://github.com/yannickcr/eslint-plugin-react/pull/1946 [#1942]: https://github.com/yannickcr/eslint-plugin-react/pull/1942 [#1941]: https://github.com/yannickcr/eslint-plugin-react/pull/1941 [#1939]: https://github.com/yannickcr/eslint-plugin-react/pull/1939 [#1829]: https://github.com/yannickcr/eslint-plugin-react/pull/1829 [#1828]: https://github.com/yannickcr/eslint-plugin-react/pull/1828 [#1824]: https://github.com/yannickcr/eslint-plugin-react/pull/1824 [#1098]: https://github.com/yannickcr/eslint-plugin-react/pull/1098 ## [7.11.1] - 2018-08-14 ### Fixed * stop crashing when assigning to propTypes ([#1932][], @alexzherdev) ### Changed * Fix changelog links ([#1926][], @ferhatelmas) * Fix changelog links ([#1929][], @alexzherdev) [7.11.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.11.0...v7.11.1 [#1932]: https://github.com/yannickcr/eslint-plugin-react/pull/1932 [#1929]: https://github.com/yannickcr/eslint-plugin-react/pull/1929 [#1926]: https://github.com/yannickcr/eslint-plugin-react/pull/1926 ## [7.11.0] - 2018-08-13 ### Added * [`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) ### Fixed * [`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) * support JSXText nodes alongside Literal nodes (@ljharb) ### Changed * 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.11.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.10.0...v7.11.0 [#1924]: https://github.com/yannickcr/eslint-plugin-react/pull/1924 [#1918]: https://github.com/yannickcr/eslint-plugin-react/pull/1918 [#1914]: https://github.com/yannickcr/eslint-plugin-react/pull/1914 [#1911]: https://github.com/yannickcr/eslint-plugin-react/pull/1911 [#1909]: https://github.com/yannickcr/eslint-plugin-react/pull/1909 [#1907]: https://github.com/yannickcr/eslint-plugin-react/pull/1907 [#1905]: https://github.com/yannickcr/eslint-plugin-react/pull/1905 [#1898]: https://github.com/yannickcr/eslint-plugin-react/pull/1898 [#1892]: https://github.com/yannickcr/eslint-plugin-react/pull/1892 [#1891]: https://github.com/yannickcr/eslint-plugin-react/pull/1891 [#1890]: https://github.com/yannickcr/eslint-plugin-react/pull/1890 [#1883]: https://github.com/yannickcr/eslint-plugin-react/pull/1883 [#1880]: https://github.com/yannickcr/eslint-plugin-react/pull/1880 [#1874]: https://github.com/yannickcr/eslint-plugin-react/issues/1874 [#1868]: https://github.com/yannickcr/eslint-plugin-react/pull/1868 [#1867]: https://github.com/yannickcr/eslint-plugin-react/pull/1867 [#1863]: https://github.com/yannickcr/eslint-plugin-react/pull/1863 [#1860]: https://github.com/yannickcr/eslint-plugin-react/pull/1860 [#1858]: https://github.com/yannickcr/eslint-plugin-react/pull/1858 [#1857]: https://github.com/yannickcr/eslint-plugin-react/pull/1857 [#1854]: https://github.com/yannickcr/eslint-plugin-react/pull/1854 [#1851]: https://github.com/yannickcr/eslint-plugin-react/pull/1851 [#1849]: https://github.com/yannickcr/eslint-plugin-react/pull/1849 ## [7.10.0] - 2018-06-24 ### Added * Allow eslint ^5 ([#1843][] @papandreou, @ljharb) * [`no-unsafe`][] rule ([#1831][], [#1830][] @sergei-startsev) * [`no-will-update-set-state`][]: Account for `UNSAFE_` methods ([#1845][], [#1844][] @alexzherdev) ### Fixed * [`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) ### Changed * Typo fixes in [`jsx-no-target-blank`][] ([#1805][] @ferhatelmas)) [7.10.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.9.1...v7.10.0 [#1845]: https://github.com/yannickcr/eslint-plugin-react/pull/1845 [#1844]: https://github.com/yannickcr/eslint-plugin-react/issues/1844 [#1843]: https://github.com/yannickcr/eslint-plugin-react/pull/1843 [#1831]: https://github.com/yannickcr/eslint-plugin-react/pull/1831 [#1830]: https://github.com/yannickcr/eslint-plugin-react/issues/1830 [#1827]: https://github.com/yannickcr/eslint-plugin-react/pull/1827 [#1825]: https://github.com/yannickcr/eslint-plugin-react/pull/1825 [#1806]: https://github.com/yannickcr/eslint-plugin-react/issues/1806 [#1805]: https://github.com/yannickcr/eslint-plugin-react/pull/1805 [#1728]: https://github.com/yannickcr/eslint-plugin-react/issues/1728 [#1677]: https://github.com/yannickcr/eslint-plugin-react/issues/1677 ## [7.9.1] - 2018-06-03 * Nothing was fixed; this is a republish with some updated deps. ([#1804][] @ljharb) [7.9.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.9.0...v7.9.1 [#1804]: https://github.com/yannickcr/eslint-plugin-react/issues/1804 ## [7.9.0] - 2018-06-03 ### Added * Add [`jsx-props-no-multi-spaces`][] rule ([#1755][] @ThiefMaster) * Add `first` option to [`jsx-indent-props`][] ([#398][] @ThiefMaster) * Add `enforceDynamicLinks` option to [`jsx-no-target-blank`][] ([#1737][] @kenearley) ### Fixed * Fix static lifecycle methods validation in [`sort-comp`][] ([#1793][] @lynxtaa) * Fix crash in [`no-typos`][] when encountering anonymous react imports ([#1796][] @jsg2021) * Fix ESLint 3 support ([#1779][]) ### Changed * Documentation improvements ([#1794][] @lencioni) * Update Travis CI configuration to test on multiple ESLint verions [7.9.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.8.2...v7.9.0 [#1755]: https://github.com/yannickcr/eslint-plugin-react/pull/1755 [#398]: https://github.com/yannickcr/eslint-plugin-react/issues/398 [#1737]: https://github.com/yannickcr/eslint-plugin-react/issues/1737 [#1793]: https://github.com/yannickcr/eslint-plugin-react/issues/1793 [#1796]: https://github.com/yannickcr/eslint-plugin-react/pull/1796 [#1779]: https://github.com/yannickcr/eslint-plugin-react/issues/1779 [#1794]: https://github.com/yannickcr/eslint-plugin-react/pull/1794 ## [7.8.2] - 2018-05-13 ### Fixed * Fix crash in [`boolean-prop-naming`][] when encountering a required shape prop type ([#1791][] @pcorpet) [7.8.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.8.1...v7.8.2 [#1791]: https://github.com/yannickcr/eslint-plugin-react/issues/1791 ## [7.8.1] - 2018-05-12 ### Fixed * Fix crash in [`no-deprecated`][] when encountering a class constructor ([#1785][] @taddei) [7.8.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.8.0...v7.8.1 [#1785]: https://github.com/yannickcr/eslint-plugin-react/issues/1785 ## [7.8.0] - 2018-05-11 ### Added * 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 `prevState` and `nextState` to [`no-unused-state`][] ([#1759][]) * Add warnings for `componentWillMount`, `componentWillReceiveProps` and `componentWillUpdate` lifecycle methods in [`no-deprecated`][] ([#1750][] @sergei-startsev) ### Fixed * Fix [`no-typos`][] false positive on custom `PropType` classes ([#1389][] @brettdh) * Fix [`boolean-prop-naming`][] to handle required props ([#1389][] @louisscruz) * Fix [`jsx-curly-brace-presence`][] to allow whitespace JSX container ([#1717][] @sharmilajesupaul) * Fix [`jsx-no-bind`][] to handle ternary conditions ([#1722][] @gwenaellarmet) ### Changed * Documentation improvements ([#1699][] @ronanmathew, [#1743][] @ybiquitous, [#1753][] @awthwathje, [#1783][] @chentsulin, [#1703][] @ferhatelmas) [7.8.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.7.0...v7.8.0 [#1758]: https://github.com/yannickcr/eslint-plugin-react/issues/1758 [#1724]: https://github.com/yannickcr/eslint-plugin-react/issues/1724 [#1732]: https://github.com/yannickcr/eslint-plugin-react/issues/1732 [#1681]: https://github.com/yannickcr/eslint-plugin-react/pull/1681 [#1767]: https://github.com/yannickcr/eslint-plugin-react/issues/1767 [#1759]: https://github.com/yannickcr/eslint-plugin-react/issues/1759 [#1750]: https://github.com/yannickcr/eslint-plugin-react/pull/1750 [#1389]: https://github.com/yannickcr/eslint-plugin-react/issues/1389 [#1717]: https://github.com/yannickcr/eslint-plugin-react/issues/1717 [#1722]: https://github.com/yannickcr/eslint-plugin-react/issues/1722 [#1699]: https://github.com/yannickcr/eslint-plugin-react/pull/1699 [#1743]: https://github.com/yannickcr/eslint-plugin-react/pull/1743 [#1753]: https://github.com/yannickcr/eslint-plugin-react/issues/1753 [#1783]: https://github.com/yannickcr/eslint-plugin-react/pull/1783 [#1703]: https://github.com/yannickcr/eslint-plugin-react/pull/1703 ## [7.7.0] - 2018-02-19 ### Added * [`forbid-foreign-prop-types`][]: add `allowInPropTypes` option ([#1655][] @iansu) * Add [`jsx-max-depth`][] rule ([#1260][] @chriswong) ### Fixed * [`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) ### Changed * [`jsx-child-element-spacing`][]: add missing docs ([#1665][] @pfhayes); fix docs ([#1670][] @SammyM) [7.7.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.6.1...v7.7.0 [#1690]: https://github.com/yannickcr/eslint-plugin-react/pull/1690 [#1675]: https://github.com/yannickcr/eslint-plugin-react/pull/1675 [#1670]: https://github.com/yannickcr/eslint-plugin-react/pull/1670 [#1669]: https://github.com/yannickcr/eslint-plugin-react/pull/1669 [#1666]: https://github.com/yannickcr/eslint-plugin-react/pull/1666 [#1665]: https://github.com/yannickcr/eslint-plugin-react/pull/1665 [#1655]: https://github.com/yannickcr/eslint-plugin-react/pull/1655 [#1610]: https://github.com/yannickcr/eslint-plugin-react/pull/1610 [#1414]: https://github.com/yannickcr/eslint-plugin-react/pull/1414 [#1260]: https://github.com/yannickcr/eslint-plugin-react/pull/1260 [#1571]: https://github.com/yannickcr/eslint-plugin-react/issues/1571 ## [7.6.1] - 2018-01-28 ### Fixed * Flow: fix crash in [`prop-types`][] with recursive type annotations ([#1653][] @jetpacmonkey) * Fix [`no-unknown-property`][] to properly recognize `crossOrigin` instead of `crossorigin`, and allow it on `link` tags. ([#1659][] @jzDev) * Fix [`no-access-state-in-setstate`][] to handle object spread ([#1657][] @ljharb) [7.6.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.6.0...v7.6.1 [#1659]: https://github.com/yannickcr/eslint-plugin-react/pull/1659 [#1657]: https://github.com/yannickcr/eslint-plugin-react/issues/1657 [#1653]: https://github.com/yannickcr/eslint-plugin-react/pull/1653 ## [7.6.0] - 2018-01-25 ### Added * Add [`forbid-dom-props`][] rule ([#1562][] @davazp) * Add [`jsx-child-element-spacing`][] rule ([#1515][] @pfhayes) * Add [`no-this-in-sfc`][] rule ([#1435][] @jomasti) * Add [`jsx-sort-default-props`][] rule ([#281][] @b0gok) * Add `message` option to [`boolean-prop-naming`][] ([#1588][] @louisscruz) * Add `beforeClosing` option to [`jsx-tag-spacing`][] ([#1396][] @cjskillingstad) * Add `instance-methods` and `instance-variables` to [`sort-comp`][] ([#599][] @RDGthree) * Add `propWrapperFunctions` support for [`boolean-prop-naming`][] ([#1478][] @jomasti) * Add warning for `React.addons.TestUtils` in [`no-deprecated`][] ([#1644][] @nirnaor) * Add URL to rule documentation to the rules metadata ([#1635][] @Arcanemagus) ### Fixed * Fix crashes in [`no-access-state-in-setstate`][] ([#1559][] @jomasti, [#1611][] @pfhayes) * Fix crash in [`require-optimization`][] when encountering arrays with empty items as values in object