UNPKG

react-klasha

Version:

This is an reactJS library for implementing klasha payment gateway

836 lines (706 loc) 182 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). ## Unreleased ## [7.24.0] - 2021.05.27 ### Added * component detection: add componentWrapperFunctions setting ([#2713][] @@jzabala @LandonSchropp) * [`no-unused-prop-types`]: add ignore option ([#2972][] @grit96) * version detection: support recursive processor virtual filename ([#2965][] @JounQin) ### Fixed * [`jsx-handler-names`]: properly substitute value into message ([#2975][] @G-Rath) * [`jsx-uses-vars`]: ignore namespaces ([#2985][] @remcohaszing) * [`jsx-no-undef`]: ignore namespaces ([#2986][] @remcohaszing) * [`jsx-child-element-spacing`]: Don't flag whitespace around `<br/>` tags ([#2989][] @pascalpp) ### Changed * [Docs] [`jsx-newline`]: Fix minor spelling error on rule name ([#2974][] @DennisSkoko) * [Refactor] [`void-dom-elements-no-children`]: improve performance * [readme] fix missing trailing commas ([#2980][] @sugardon) * [readme] fix broken anchor link ([#2982][] @vzvu3k6k) * [Docs] [`jsx-child-element-spacing`]: fixes sentence which ends abruptly ([#2990][] @pascalpp) [7.24.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.23.2...v7.24.0 [#2990]: https://github.com/yannickcr/eslint-plugin-react/pull/2990 [#2989]: https://github.com/yannickcr/eslint-plugin-react/pull/2989 [#2986]: https://github.com/yannickcr/eslint-plugin-react/pull/2986 [#2985]: https://github.com/yannickcr/eslint-plugin-react/pull/2985 [#2982]: https://github.com/yannickcr/eslint-plugin-react/pull/2982 [#2980]: https://github.com/yannickcr/eslint-plugin-react/pull/2980 [#2977]: https://github.com/yannickcr/eslint-plugin-react/pull/2977 [#2975]: https://github.com/yannickcr/eslint-plugin-react/pull/2975 [#2974]: https://github.com/yannickcr/eslint-plugin-react/pull/2974 [#2972]: https://github.com/yannickcr/eslint-plugin-react/pull/2972 [#2965]: https://github.com/yannickcr/eslint-plugin-react/pull/2965 [#2713]: https://github.com/yannickcr/eslint-plugin-react/pull/2713 ## [7.23.2] - 2021.04.08 ### Fixed * [`jsx-max-depth`]: Prevent getting stuck in circular references ([#2957][] @AriPerkkio) * [`jsx-no-target-blank`]: fix handling of `warnOnSpreadAttributes` being false ([#2953][] @Nokel81) * [`forbid-dom-props`]: support `JSXNamespacedName` ([#2961][] @mrtnzlml) * [`forbid-component-props`]: support `JSXNamespacedName` (@ljharb) ### Changed * Fix CHANGELOG.md ([#2950][] @JounQin) [7.23.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.23.1...v7.23.2 [#2961]: https://github.com/yannickcr/eslint-plugin-react/pull/2961 [#2953]: https://github.com/yannickcr/eslint-plugin-react/pull/2953 [#2957]: https://github.com/yannickcr/eslint-plugin-react/pull/2957 [#2950]: https://github.com/yannickcr/eslint-plugin-react/pull/2950 ## [7.23.1] - 2021.03.23 ### Fixed * version detection: support processor virtual filename ([#2949][] @JounQin) [7.23.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.23.0...v7.23.1 [#2949]: https://github.com/yannickcr/eslint-plugin-react/pull/2949 ## [7.23.0] - 2021.03.22 ### Added * [`jsx-no-target-blank`]: add fixer ([#2862][] @Nokel81) * [`jsx-pascal-case`]: support minimatch `ignore` option ([#2906][] @bcherny) * [`jsx-pascal-case`]: support `allowNamespace` option ([#2917][] @kev-y-huang) * [`jsx-newline`]: Add prevent option ([#2935][] @jsphstls) * [`no-unstable-nested-components`]: Prevent creating unstable components inside components ([#2750][] @AriPerkkio) * added `jsx-runtime` config, for the modern JSX runtime transform (@ljharb) ### Fixed * [`jsx-no-constructed-context-values`]: avoid a crash with `as X` TS code ([#2894][] @ljharb) * [`jsx-no-constructed-context-values`]: avoid a crash with boolean shorthand ([#2895][] @ljharb) * [`static-property-placement`]: do not report non-components ([#2893][] @golopot) * [`no-array-index-key`]: support optional chaining ([#2897][] @SyMind) * [`no-typos`]: avoid a crash on bindingless `prop-types` import; add warning ([#2899][] @ljharb) * [`jsx-curly-brace-presence`]: ignore containers with comments ([#2900][] @golopot) * [`destructuring-assignment`]: fix a false positive for local prop named `context` in SFC ([#2929][] @SyMind) * [`jsx-no-target-blank`]: Allow rel="noreferrer" when `allowReferrer` is true ([#2925][] @edemaine) * [`boolean-prop-naming`]: add check for typescript "boolean" type ([#2930][] @vedadeepta) * version detection: Add tests that verify versioning works for sibling and child projects ([#2943][] @jcrosetto) * [`jsx-curly-newline`]: Update error messages ([#2933][] @jbrower2) ### Changed * [Docs] [`jsx-no-constructed-context-values`][]: fix invalid example syntax ([#2910][] @kud) * [readme] Replace lists of rules with tables in readme ([#2908][] @motato1) * [Docs] added missing curly braces ([#2923][] @Muditxofficial) [7.23.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.22.0...v7.23.0 [#2943]: https://github.com/yannickcr/eslint-plugin-react/pull/2943 [#2935]: https://github.com/yannickcr/eslint-plugin-react/pull/2935 [#2933]: https://github.com/yannickcr/eslint-plugin-react/pull/2933 [#2930]: https://github.com/yannickcr/eslint-plugin-react/pull/2930 [#2929]: https://github.com/yannickcr/eslint-plugin-react/pull/2929 [#2925]: https://github.com/yannickcr/eslint-plugin-react/pull/2925 [#2923]: https://github.com/yannickcr/eslint-plugin-react/pull/2923 [#2917]: https://github.com/yannickcr/eslint-plugin-react/pull/2917 [#2910]: https://github.com/yannickcr/eslint-plugin-react/pull/2910 [#2908]: https://github.com/yannickcr/eslint-plugin-react/pull/2908 [#2906]: https://github.com/yannickcr/eslint-plugin-react/pull/2906 [#2900]: https://github.com/yannickcr/eslint-plugin-react/pull/2900 [#2899]: https://github.com/yannickcr/eslint-plugin-react/issues/2899 [#2897]: https://github.com/yannickcr/eslint-plugin-react/pull/2897 [#2895]: https://github.com/yannickcr/eslint-plugin-react/issues/2895 [#2894]: https://github.com/yannickcr/eslint-plugin-react/issues/2894 [#2893]: https://github.com/yannickcr/eslint-plugin-react/pull/2893 [#2862]: https://github.com/yannickcr/eslint-plugin-react/pull/2862 [#2750]: https://github.com/yannickcr/eslint-plugin-react/pull/2750 ## [7.22.0] - 2020.12.29 ### Added * [`jsx-key`]: added `checkKeyMustBeforeSpread` option for new jsx transform ([#2835][] @morlay) * [`jsx-newline`]: add new rule ([#2693][] @jzabala) * [`jsx-no-constructed-context-values`]: add new rule which checks when the value passed to a Context Provider will cause needless rerenders ([#2763][] @dylanOshima) * [`jsx-indent-props`]: add `ignoreTernaryOperator` option ([#2846][] @SebastianZimmer) * [`jsx-no-target-blank`]: Add `warnOnSpreadAttributes` option ([#2855][] @michael-yx-wu) ### Fixed * [`display-name`]/component detection: avoid a crash on anonymous components ([#2840][] @ljharb) * [`prop-types`]: function in class that returns a component causes false warning in typescript ([#2843][] @SyMind) * [`jsx-no-target-blank`]: avoid a crash with a non-string literal ([#2851][] @ljharb) * [`jsx-no-script-url`]: avoid crash with boolean `href` ([#2871][] @ljharb, @AriPerkkio) * [`no-typos`]: avoid crash with computed method name ([#2870][] @ljharb, @AriPerkkio) * [`jsx-max-depth`]: avoid crash with childless jsx child ([#2869][] @ljharb, @AriPerkkio) * [`jsx-wrap-multilines`]: fix crash with `declaration`s that are on a new line after `=` ([#2875][] @ljharb) * [`no-unknown-property`]: avoid crash with prop named with Object.prototype key ([#2879][] @ljharb, @AriPerkkio) * [`prop-types`]: default argument does not count as props-types declaration ([#2877][] @golopot) * [`jsx-props-no-multi-spaces`]: fix a false positive for beside comments ([#2878][] @golopot) * [`jsx-no-undef`]: handle the TS parser combined with an invalid ecmaVersion ([#2882][] @ljharb) * [`no-unused-prop-types`]: apply `skipShapeProps` to exact types ([#2883][] @golopot) * [`no-danger-with-children`]/[`style-prop-object`]/[`no-adjacent-inline-elements`]: add category, URL ([#2891][] @thofmann) ### Docs * [`no-unused-prop-types`]: Add new example to rule ([#2852][] @thehereward) * [`prop-types`]: fix example ([#2881][] @technote-space) [7.22.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.21.5...v7.22.0 [#2891]: https://github.com/yannickcr/eslint-plugin-react/pull/2891 [#2883]: https://github.com/yannickcr/eslint-plugin-react/pull/2883 [#2882]: https://github.com/yannickcr/eslint-plugin-react/issues/2882 [#2881]: https://github.com/yannickcr/eslint-plugin-react/pull/2881 [#2879]: https://github.com/yannickcr/eslint-plugin-react/issues/2879 [#2878]: https://github.com/yannickcr/eslint-plugin-react/pull/2878 [#2877]: https://github.com/yannickcr/eslint-plugin-react/pull/2877 [#2875]: https://github.com/yannickcr/eslint-plugin-react/issues/2875 [#2871]: https://github.com/yannickcr/eslint-plugin-react/issues/2871 [#2870]: https://github.com/yannickcr/eslint-plugin-react/issues/2870 [#2869]: https://github.com/yannickcr/eslint-plugin-react/issues/2869 [#2855]: https://github.com/yannickcr/eslint-plugin-react/pull/2855 [#2852]: https://github.com/yannickcr/eslint-plugin-react/pull/2852 [#2851]: https://github.com/yannickcr/eslint-plugin-react/issues/2851 [#2846]: https://github.com/yannickcr/eslint-plugin-react/pull/2846 [#2843]: https://github.com/yannickcr/eslint-plugin-react/pull/2843 [#2840]: https://github.com/yannickcr/eslint-plugin-react/issues/2840 [#2835]: https://github.com/yannickcr/eslint-plugin-react/pull/2835 [#2763]: https://github.com/yannickcr/eslint-plugin-react/pull/2763 [#2693]: https://github.com/yannickcr/eslint-plugin-react/pull/2693 ## [7.21.5] - 2020.10.19 ### Fixed * [`jsx-indent-props`]: Apply indentation when using brackets ([#2826][] @Moong0122) * [`jsx-handler-names`]: Skip inline handlers when checkInlineFunction=false ([#2833][] @onigoetz) ### Changed * [Tests] `jsx-indent-props`: Add passing test ([#2823][] @Hypnosphi) [7.21.5]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.21.4...v7.21.5 [#2833]: https://github.com/yannickcr/eslint-plugin-react/pull/2833 [#2826]: https://github.com/yannickcr/eslint-plugin-react/pull/2826 [#2823]: https://github.com/yannickcr/eslint-plugin-react/pull/2823 ## [7.21.4] - 2020.10.09 ### Fixed * [`no-unused-prop-types`]: Silence false positive on `never` type in TS ([#2815][] @pcorpet) * [`jsx-indent-props`]: Apply indentation when operator is used in front of the upper line ([#2808][], [#2820][] @Moong0122) * [Deps] update `jsx-ast-utils` ([#2822][] [jsx-eslint/jsx-ast-utils#102][] @ljharb) [7.21.4]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.21.3...v7.21.4 [#2822]: https://github.com/yannickcr/eslint-plugin-react/issues/2822 [#2820]: https://github.com/yannickcr/eslint-plugin-react/pull/2820 [#2815]: https://github.com/yannickcr/eslint-plugin-react/pull/2815 [#2808]: https://github.com/yannickcr/eslint-plugin-react/pull/2808 [jsx-eslint/jsx-ast-utils#102]: https://github.com/jsx-eslint/jsx-ast-utils/pull/102 ## [7.21.3] - 2020.10.02 ### Fixed * [`prop-types`]: fix Cannot read property 'type' of undefined error when destructured param ([#2807][] @minwe) * [`no-typos`]: avoid crash on spread syntax in createReactClass object ([#2816][] @ljharb @Songyu-Wang) [7.21.3]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.21.2...v7.21.3 [#2816]: https://github.com/yannickcr/eslint-plugin-react/issues/2816 [#2807]: https://github.com/yannickcr/eslint-plugin-react/pull/2807 ## [7.21.2] - 2020.09.24 ### Fixed * [`prop-types`]: handle RestElement in destructured param ([#2805][] @hank121314) [7.21.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.21.1...v7.21.2 [#2805]: https://github.com/yannickcr/eslint-plugin-react/pull/2805 ## [7.21.1] - 2020.09.23 ### Fixed * [`jsx-handler-names`]: avoid a crash when an inline prop is not a MemberExpression ([#2803][] @willheslam) [7.21.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.21.0...v7.21.1 [#2803]: https://github.com/yannickcr/eslint-plugin-react/issues/2803 ## [7.21.0] - 2020.09.22 ### Added * [`button-has-type`]: support trivial ternary expressions ([#2748][] @Hypnosphi) * [`jsx-handler-names`]: add `checkInlineFunction` option ([#2761][] @dididy) * [`jsx-no-literals`]: add `noAttributeStrings` option ([#2782][] @TaLeaMonet) * [`prop-types`]: add support for `PropTypes.exact` ([#2740][] @jzabala) * [`jsx-filename-extension`]: Add allow option ([#2746][] @remcohaszing) ### Fixed * [`function-component-definition`]: ignore object properties ([#2771][] @stefan-wullems) * [`forbid-component-props`]: Implemented support for "namespaced" components ([#2767][] @mnn) * [`prefer-read-only-props`]: support Flow `$ReadOnly` ([#2772][], [#2779][], [#2770][] @karolina-benitez) * [`jsx-handler-names`]: handle whitespace ([#2789][] @AriPerkkio) * [`prop-types`]: Detect TypeScript types for destructured default prop values ([#2780][] @sunghyunjo) * [`jsx-pascal-case`]: Handle single character namespaced component ([#2791][] @daviferreira) * [`jsx-closing-bracket-location`]: In `tag-aligned`, made a distinction between tabs and spaces ([#2796][] @Moong0122) * [`jsx-handler-names`]: false positive when handler name begins with number ([#1689][] @jsphstls) * [`prop-types`]: Detect JSX returned by sequential expression ([#2801][] @mikol) * [`jsx-props-no-multi-spaces`]: "Expected no line gap between" false positive ([#2792][] @karolina-benitez) * [`no-unknown-property`]: check attributes with any input case ([#2790][] @julienw) * [`prop-types`]/[`no-unused-prop-types`]: handle CallExpression in ReturnType ([#2802][] @hank121314) * [`jsx-uses-react`]: mark fragment variables as used ([#2775][] @remcohaszing) * [`no-unused-prop-types`]: improve component declared props detection ([#2755][] @jzabala) * [`jsx-props-no-multi-spaces`]: Show error in multi-line props ([#2756][] @iiison) ### Changed * [Tests] [`jsx-one-expression-per-line`]: add passing tests ([#2799][] @TaLeaMonet) * [Tests] [`prop-types`]: add test ([#2757][] @jzabala) [7.21.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.20.6...v7.21.0 [#2802]: https://github.com/yannickcr/eslint-plugin-react/pull/2802 [#2801]: https://github.com/yannickcr/eslint-plugin-react/pull/2801 [#2799]: https://github.com/yannickcr/eslint-plugin-react/pull/2799 [#2796]: https://github.com/yannickcr/eslint-plugin-react/pull/2796 [#2792]: https://github.com/yannickcr/eslint-plugin-react/pull/2792 [#2791]: https://github.com/yannickcr/eslint-plugin-react/pull/2791 [#2790]: https://github.com/yannickcr/eslint-plugin-react/pull/2790 [#2789]: https://github.com/yannickcr/eslint-plugin-react/pull/2789 [#2782]: https://github.com/yannickcr/eslint-plugin-react/pull/2782 [#2780]: https://github.com/yannickcr/eslint-plugin-react/pull/2780 [#2779]: https://github.com/yannickcr/eslint-plugin-react/pull/2779 [#2775]: https://github.com/yannickcr/eslint-plugin-react/pull/2775 [#2772]: https://github.com/yannickcr/eslint-plugin-react/pull/2772 [#2771]: https://github.com/yannickcr/eslint-plugin-react/pull/2771 [#2770]: https://github.com/yannickcr/eslint-plugin-react/pull/2770 [#2767]: https://github.com/yannickcr/eslint-plugin-react/pull/2767 [#2761]: https://github.com/yannickcr/eslint-plugin-react/pull/2761 [#2757]: https://github.com/yannickcr/eslint-plugin-react/pull/2757 [#2756]: https://github.com/yannickcr/eslint-plugin-react/pull/2756 [#2748]: https://github.com/yannickcr/eslint-plugin-react/pull/2748 [#2746]: https://github.com/yannickcr/eslint-plugin-react/pull/2746 [#2740]: https://github.com/yannickcr/eslint-plugin-react/pull/2740 [#1689]: https://github.com/yannickcr/eslint-plugin-react/pull/1689 ## [7.20.6] - 2020.08.12 ### Fixed * [`jsx-curly-brace-presence`]: fix multiline comment case ([#2716][] @ljharb) * [`jsx-no-useless-fragment`]: accept fragments with call expressions ([#2744][] @hasparus) * [`jsx-no-literals`] with allowStrings doesn't work in props ([#2736][] @karolina-benitez) * [`no-find-dom-node`]: Improve error message ([#2741][] @ecraig12345) * [`no-typos`]/[`no-unused-prop-types`]/propType detection: Support typescript props interface extension and TSTypeAliasDeclaration ([#2721][] @hank121314) * [`no-this-in-sfc`]/component detection: add arrow function to list of allowed position for component ([#2708][] @jzabala) * [`no-access-state-in-setstate`]: add check for class component ([#2711][] @jzabala) * [`prop-types`]/component detection: avoid a crash when a local `createElement` identifier exists ([#2733][] @ljharb) ### Changed * [`no-unused-prop-types`]: add test assigning this.props to a variable [7.20.6]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.20.5...v7.20.6 [#2744]: https://github.com/yannickcr/eslint-plugin-react/pull/2744 [#2741]: https://github.com/yannickcr/eslint-plugin-react/pull/2741 [#2737]: https://github.com/yannickcr/eslint-plugin-react/pull/2737 [#2736]: https://github.com/yannickcr/eslint-plugin-react/pull/2736 [#2733]: https://github.com/yannickcr/eslint-plugin-react/issues/2733 [#2721]: https://github.com/yannickcr/eslint-plugin-react/pull/2721 [#2716]: https://github.com/yannickcr/eslint-plugin-react/issues/2716 [#2711]: https://github.com/yannickcr/eslint-plugin-react/pull/2711 [#2708]: https://github.com/yannickcr/eslint-plugin-react/pull/2708 ## [7.20.5] - 2020.07.28 ### Fixed * [`jsx-curly-brace-presence`]: disable disallowed JSX text chars check in props ([#2710][] @jzabala) * [`no-unused-state`]: check for class expression ([#2712][] @jzabala) * [`prop-types`]: handle anonymous functions ([#2730][], [#2731][] @odinho @wKich @jzabala) ### Docs * [Docs] [`no-access-state-in-setstate`]: fix example ([#2724][] @youngjuning) [7.20.5]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.20.4...v7.20.5 [#2731]: https://github.com/yannickcr/eslint-plugin-react/pull/2731 [#2730]: https://github.com/yannickcr/eslint-plugin-react/pull/2730 [#2724]: https://github.com/yannickcr/eslint-plugin-react/pull/2724 [#2712]: https://github.com/yannickcr/eslint-plugin-react/pull/2712 [#2710]: https://github.com/yannickcr/eslint-plugin-react/pull/2710 ## [7.20.4] - 2020.07.26 ### Fixed * improve algorithm to check if a variable is coming from the pragma ([#2706][] @jzabala) * [`prop-types`]: handle component returning null ([#2696][] @hank121314) * [`prop-types`]/[`function-component-definition`]: Add check for first letter capitalization in functional component detection ([#2699][] @jzabala) * [`prop-types`]: use variable value in prop type fields defined by variables ([#2704][] @jzabala) * [`no-typos`]: warn on a bindingless `react` import ### Changed * [Tests] `boolean-prop-naming`: Added test for function invocation of bool ([#2697][] @ajkovar) * [Tests] `jsx-curly-brace-presence`, `jsx-no-comment-textnodes`: add passing tests * [Refactor] `no-unused-state`: avoid a loop [7.20.4]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.20.3...v7.20.4 [#2704]: https://github.com/yannickcr/eslint-plugin-react/pull/2704 [#2699]: https://github.com/yannickcr/eslint-plugin-react/pull/2699 [#2697]: https://github.com/yannickcr/eslint-plugin-react/pull/2697 [#2696]: https://github.com/yannickcr/eslint-plugin-react/pull/2696 ## [7.20.3] - 2020-06-30 ### Fixed * [`no-unused-prop-types`]/[`prop-types`]: typescript interface support literal type and only FunctionComponent should have propTypes validation ([#2690][] @hank121314) * [`no-unused-prop-types`]/TypeScript: avoid crash on indexable interface ([#2687][] @ljharb) [7.20.3]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.20.2...v7.20.3 [#2690]: https://github.com/yannickcr/eslint-plugin-react/pull/2690 [#2687]: https://github.com/yannickcr/eslint-plugin-react/issues/2687 ## [7.20.2] - 2020-06-29 ### Fixed * [`no-unused-prop-types`]: handle optional chaining ([#2679][] @hank121314) * [`jsx-pascal-case`]: fix a false positive with "H1" ([#2683][] @ljharb) * [`jsx-no-useless-fragment`]: avoid a crash when autofixing a self-closing React.Fragment ([#2680][] @ljharb) * [`forbid-prop-types`]: avoid crash ([#2682][] @ljharb) [7.20.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.20.1...v7.20.2 [#2683]: https://github.com/yannickcr/eslint-plugin-react/issues/2683 [#2682]: https://github.com/yannickcr/eslint-plugin-react/issues/2682 [#2680]: https://github.com/yannickcr/eslint-plugin-react/issues/2680 [#2679]: https://github.com/yannickcr/eslint-plugin-react/pull/2679 ## [7.20.1] - 2020-06-28 ### Fixed * [`forbid-dom-props`], [`function-component-definition`]: fix schema typos ([#2667][] @mflorence99) * [`no-unused-prop-types`]: fix with typescript eslint parser ([#2661][] @eltonio450) ### Changed * [`forbid-prop-types`]: warn on destructured values as well ([#2676][] @ajkovar) * relax JSX pragma regexp ([#2643][] @gfmio) * Cache detected React version ([#2673][] @lencioni) * [refactor] [`jsx-pascal-case`]: Remove xregexp ([#2636][] @yacinehmito)) * [Tests] a [`no-typos`] test fails in eslint v7.3 ([#2678][] @toshi-toma) * [Deps] update `jsx-ast-utils`, `object.entries`, `resolve` * [Dev Deps] update `@types/eslint`, `@types/estree`, `@types/node`, `@typescript-eslint/parser`, `eslint-config-airbnb-base`, `eslint-plugin-eslint-plugin`, `eslint-plugin-import`, `typescript` [7.20.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.20.0...v7.20.1 [#2676]: https://github.com/yannickcr/eslint-plugin-react/pull/2676 [#2673]: https://github.com/yannickcr/eslint-plugin-react/pull/2673 [#2667]: https://github.com/yannickcr/eslint-plugin-react/pull/2667 [#2661]: https://github.com/yannickcr/eslint-plugin-react/pull/2661 [#2643]: https://github.com/yannickcr/eslint-plugin-react/pull/2643 [#2636]: https://github.com/yannickcr/eslint-plugin-react/pull/2636 ## [7.20.0] - 2020-05-12 ### Added * 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`][]: add `ignoreProps` option to ignore props validation ([#2146][] @iiison) ### Fixed * [`jsx-sort-props`][]: only use localeCompare when case is ignored ([#2556][] @tanmoyopenroot) * [`jsx-key`][]: add a failing test case for optional chaining ([#2610][] @JonathanLee-LX) * [`no-unused-state`][]: handle optional chaining ([#2588][] @golopot) * [`jsx-pascal-case`][]: Do not consider namespaces when checking for DOM ([#2638][] @yacinehmito) * [`jsx-curly-spacing`][], [`jsx-no-bind`][], `usedPropTypes` util: avoid node.start and node.end ([25b1936][] @toshi-toma) * [`jsx-no-target-blank`][]: allow `no-referrer` without `noopener` by default ([#2043][] @seancrater) * [`button-has-type`][]: improve message when non-static value is used ([aecff62][] @golopot) * [`no-adjacent-inline-elements`][]: prevent crash on nullish children ([#2621][] @Rogdham) * [`prop-types`][]: avoid crash when spreading any type ([#2606][] @golopot)) * [`require-render-return`][]: add missing "a" ([#2604][] @leothorp) * [`jsx-no-comment-textnodes`][]: fix for `@typescript-eslint/parser` ([#2601][] @Axnyff) * [`displayName`][]: avoid a crash when using React.memo ([#2587][] @golopot) ### Docs * Clean up examples in rule docs ([#2546][] @silvenon) * [readme] Add Rules of Hooks to Other useful plugins section ([#2633][] @petetnt) * [`no-this-in-sfc`][]: backtick `this` ([#2616][] @mrflip) * [`function-component-definition`][]: Fix unnamedComponents option examples ([#2608][] @vkrol)) ### Changed * [Deps] Move "semver" to devDependencies ([#2595][] @rajivshah3) * [eslint] remove `operator-linebreak` override ([#2578][] @golopot) * [Tests] `button-has-type`: ensure no mistakenly allowed identifiers named `button`/`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.20.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.19.0...v7.20.0 [#2638]: https://github.com/yannickcr/eslint-plugin-react/pull/2638 [#2635]: https://github.com/yannickcr/eslint-plugin-react/pull/2635 [#2633]: https://github.com/yannickcr/eslint-plugin-react/pull/2633 [#2625]: https://github.com/yannickcr/eslint-plugin-react/pull/2625 [#2621]: https://github.com/yannickcr/eslint-plugin-react/pull/2621 [#2616]: https://github.com/yannickcr/eslint-plugin-react/pull/2616 [#2615]: https://github.com/yannickcr/eslint-plugin-react/pull/2615 [#2610]: https://github.com/yannickcr/eslint-plugin-react/pull/2610 [#2608]: https://github.com/yannickcr/eslint-plugin-react/pull/2608 [#2606]: https://github.com/yannickcr/eslint-plugin-react/pull/2606 [#2604]: https://github.com/yannickcr/eslint-plugin-react/pull/2604 [#2601]: https://github.com/yannickcr/eslint-plugin-react/pull/2601 [#2595]: https://github.com/yannickcr/eslint-plugin-react/pull/2595 [#2593]: https://github.com/yannickcr/eslint-plugin-react/pull/2593 [#2588]: https://github.com/yannickcr/eslint-plugin-react/pull/2588 [#2587]: https://github.com/yannickcr/eslint-plugin-react/pull/2587 [#2578]: https://github.com/yannickcr/eslint-plugin-react/pull/2578 [#2556]: https://github.com/yannickcr/eslint-plugin-react/pull/2556 [#2546]: https://github.com/yannickcr/eslint-plugin-react/pull/2546 [#2146]: https://github.com/yannickcr/eslint-plugin-react/pull/2146 [#2043]: https://github.com/yannickcr/eslint-plugin-react/pull/2043 [25b1936]: https://github.com/yannickcr/eslint-plugin-react/commit/25b19365e6cc3f188d6a5ed6cecc70fe6f1af7cd [aecff62]: https://github.com/yannickcr/eslint-plugin-react/commit/aecff625bf0590ed4d80ed6b58b81af11901f5f6 ## [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/p