@storm-software/eslint 0.76.0 → 0.77.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/preset.d.mts +0 -1147
- package/dist/preset.d.ts +0 -1147
- package/dist/preset.mjs +43 -927
- package/dist/rules.d.ts +0 -1362
- package/package.json +1 -1
package/dist/preset.d.mts
CHANGED
|
@@ -789,725 +789,10 @@ interface RuleOptions {
|
|
|
789
789
|
* @see https://docs.stormsoftware.com/eslint/rules/banner
|
|
790
790
|
*/
|
|
791
791
|
'banner/banner'?: Linter.RuleEntry<BannerBanner>
|
|
792
|
-
/**
|
|
793
|
-
* Enforce emojis are wrapped in `<span>` and provide screenreader access.
|
|
794
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/accessible-emoji.md
|
|
795
|
-
* @deprecated
|
|
796
|
-
*/
|
|
797
|
-
'jsx-a11y/accessible-emoji'?: Linter.RuleEntry<JsxA11yAccessibleEmoji>
|
|
798
|
-
/**
|
|
799
|
-
* Enforce all elements that require alternative text have meaningful information to relay back to end user.
|
|
800
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/alt-text.md
|
|
801
|
-
*/
|
|
802
|
-
'jsx-a11y/alt-text'?: Linter.RuleEntry<JsxA11yAltText>
|
|
803
|
-
/**
|
|
804
|
-
* Enforce `<a>` text to not exactly match "click here", "here", "link", or "a link".
|
|
805
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/anchor-ambiguous-text.md
|
|
806
|
-
*/
|
|
807
|
-
'jsx-a11y/anchor-ambiguous-text'?: Linter.RuleEntry<JsxA11yAnchorAmbiguousText>
|
|
808
|
-
/**
|
|
809
|
-
* Enforce all anchors to contain accessible content.
|
|
810
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/anchor-has-content.md
|
|
811
|
-
*/
|
|
812
|
-
'jsx-a11y/anchor-has-content'?: Linter.RuleEntry<JsxA11yAnchorHasContent>
|
|
813
|
-
/**
|
|
814
|
-
* Enforce all anchors are valid, navigable elements.
|
|
815
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/anchor-is-valid.md
|
|
816
|
-
*/
|
|
817
|
-
'jsx-a11y/anchor-is-valid'?: Linter.RuleEntry<JsxA11yAnchorIsValid>
|
|
818
|
-
/**
|
|
819
|
-
* Enforce elements with aria-activedescendant are tabbable.
|
|
820
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-activedescendant-has-tabindex.md
|
|
821
|
-
*/
|
|
822
|
-
'jsx-a11y/aria-activedescendant-has-tabindex'?: Linter.RuleEntry<JsxA11yAriaActivedescendantHasTabindex>
|
|
823
|
-
/**
|
|
824
|
-
* Enforce all `aria-*` props are valid.
|
|
825
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-props.md
|
|
826
|
-
*/
|
|
827
|
-
'jsx-a11y/aria-props'?: Linter.RuleEntry<JsxA11yAriaProps>
|
|
828
|
-
/**
|
|
829
|
-
* Enforce ARIA state and property values are valid.
|
|
830
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-proptypes.md
|
|
831
|
-
*/
|
|
832
|
-
'jsx-a11y/aria-proptypes'?: Linter.RuleEntry<JsxA11yAriaProptypes>
|
|
833
|
-
/**
|
|
834
|
-
* Enforce that elements with ARIA roles must use a valid, non-abstract ARIA role.
|
|
835
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-role.md
|
|
836
|
-
*/
|
|
837
|
-
'jsx-a11y/aria-role'?: Linter.RuleEntry<JsxA11yAriaRole>
|
|
838
|
-
/**
|
|
839
|
-
* Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes.
|
|
840
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-unsupported-elements.md
|
|
841
|
-
*/
|
|
842
|
-
'jsx-a11y/aria-unsupported-elements'?: Linter.RuleEntry<JsxA11yAriaUnsupportedElements>
|
|
843
|
-
/**
|
|
844
|
-
* Enforce that autocomplete attributes are used correctly.
|
|
845
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/autocomplete-valid.md
|
|
846
|
-
*/
|
|
847
|
-
'jsx-a11y/autocomplete-valid'?: Linter.RuleEntry<JsxA11yAutocompleteValid>
|
|
848
|
-
/**
|
|
849
|
-
* Enforce a clickable non-interactive element has at least one keyboard event listener.
|
|
850
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/click-events-have-key-events.md
|
|
851
|
-
*/
|
|
852
|
-
'jsx-a11y/click-events-have-key-events'?: Linter.RuleEntry<JsxA11yClickEventsHaveKeyEvents>
|
|
853
|
-
/**
|
|
854
|
-
* Enforce that a control (an interactive element) has a text label.
|
|
855
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/control-has-associated-label.md
|
|
856
|
-
*/
|
|
857
|
-
'jsx-a11y/control-has-associated-label'?: Linter.RuleEntry<JsxA11yControlHasAssociatedLabel>
|
|
858
|
-
/**
|
|
859
|
-
* Enforce heading (`h1`, `h2`, etc) elements contain accessible content.
|
|
860
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/heading-has-content.md
|
|
861
|
-
*/
|
|
862
|
-
'jsx-a11y/heading-has-content'?: Linter.RuleEntry<JsxA11yHeadingHasContent>
|
|
863
|
-
/**
|
|
864
|
-
* Enforce `<html>` element has `lang` prop.
|
|
865
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/html-has-lang.md
|
|
866
|
-
*/
|
|
867
|
-
'jsx-a11y/html-has-lang'?: Linter.RuleEntry<JsxA11yHtmlHasLang>
|
|
868
|
-
/**
|
|
869
|
-
* Enforce iframe elements have a title attribute.
|
|
870
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/iframe-has-title.md
|
|
871
|
-
*/
|
|
872
|
-
'jsx-a11y/iframe-has-title'?: Linter.RuleEntry<JsxA11yIframeHasTitle>
|
|
873
|
-
/**
|
|
874
|
-
* Enforce `<img>` alt prop does not contain the word "image", "picture", or "photo".
|
|
875
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/img-redundant-alt.md
|
|
876
|
-
*/
|
|
877
|
-
'jsx-a11y/img-redundant-alt'?: Linter.RuleEntry<JsxA11yImgRedundantAlt>
|
|
878
|
-
/**
|
|
879
|
-
* Enforce that elements with interactive handlers like `onClick` must be focusable.
|
|
880
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/interactive-supports-focus.md
|
|
881
|
-
*/
|
|
882
|
-
'jsx-a11y/interactive-supports-focus'?: Linter.RuleEntry<JsxA11yInteractiveSupportsFocus>
|
|
883
|
-
/**
|
|
884
|
-
* Enforce that a `label` tag has a text label and an associated control.
|
|
885
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/label-has-associated-control.md
|
|
886
|
-
*/
|
|
887
|
-
'jsx-a11y/label-has-associated-control'?: Linter.RuleEntry<JsxA11yLabelHasAssociatedControl>
|
|
888
|
-
/**
|
|
889
|
-
* Enforce that `<label>` elements have the `htmlFor` prop.
|
|
890
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/label-has-for.md
|
|
891
|
-
* @deprecated
|
|
892
|
-
*/
|
|
893
|
-
'jsx-a11y/label-has-for'?: Linter.RuleEntry<JsxA11yLabelHasFor>
|
|
894
|
-
/**
|
|
895
|
-
* Enforce lang attribute has a valid value.
|
|
896
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/lang.md
|
|
897
|
-
*/
|
|
898
|
-
'jsx-a11y/lang'?: Linter.RuleEntry<JsxA11yLang>
|
|
899
|
-
/**
|
|
900
|
-
* Enforces that `<audio>` and `<video>` elements must have a `<track>` for captions.
|
|
901
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/media-has-caption.md
|
|
902
|
-
*/
|
|
903
|
-
'jsx-a11y/media-has-caption'?: Linter.RuleEntry<JsxA11yMediaHasCaption>
|
|
904
|
-
/**
|
|
905
|
-
* Enforce that `onMouseOver`/`onMouseOut` are accompanied by `onFocus`/`onBlur` for keyboard-only users.
|
|
906
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/mouse-events-have-key-events.md
|
|
907
|
-
*/
|
|
908
|
-
'jsx-a11y/mouse-events-have-key-events'?: Linter.RuleEntry<JsxA11yMouseEventsHaveKeyEvents>
|
|
909
|
-
/**
|
|
910
|
-
* Enforce that the `accessKey` prop is not used on any element to avoid complications with keyboard commands used by a screenreader.
|
|
911
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-access-key.md
|
|
912
|
-
*/
|
|
913
|
-
'jsx-a11y/no-access-key'?: Linter.RuleEntry<JsxA11yNoAccessKey>
|
|
914
|
-
/**
|
|
915
|
-
* Disallow `aria-hidden="true"` from being set on focusable elements.
|
|
916
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-aria-hidden-on-focusable.md
|
|
917
|
-
*/
|
|
918
|
-
'jsx-a11y/no-aria-hidden-on-focusable'?: Linter.RuleEntry<JsxA11yNoAriaHiddenOnFocusable>
|
|
919
|
-
/**
|
|
920
|
-
* Enforce autoFocus prop is not used.
|
|
921
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-autofocus.md
|
|
922
|
-
*/
|
|
923
|
-
'jsx-a11y/no-autofocus'?: Linter.RuleEntry<JsxA11yNoAutofocus>
|
|
924
|
-
/**
|
|
925
|
-
* Enforce distracting elements are not used.
|
|
926
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-distracting-elements.md
|
|
927
|
-
*/
|
|
928
|
-
'jsx-a11y/no-distracting-elements'?: Linter.RuleEntry<JsxA11yNoDistractingElements>
|
|
929
|
-
/**
|
|
930
|
-
* Interactive elements should not be assigned non-interactive roles.
|
|
931
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-interactive-element-to-noninteractive-role.md
|
|
932
|
-
*/
|
|
933
|
-
'jsx-a11y/no-interactive-element-to-noninteractive-role'?: Linter.RuleEntry<JsxA11yNoInteractiveElementToNoninteractiveRole>
|
|
934
|
-
/**
|
|
935
|
-
* Non-interactive elements should not be assigned mouse or keyboard event listeners.
|
|
936
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-noninteractive-element-interactions.md
|
|
937
|
-
*/
|
|
938
|
-
'jsx-a11y/no-noninteractive-element-interactions'?: Linter.RuleEntry<JsxA11yNoNoninteractiveElementInteractions>
|
|
939
|
-
/**
|
|
940
|
-
* Non-interactive elements should not be assigned interactive roles.
|
|
941
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-noninteractive-element-to-interactive-role.md
|
|
942
|
-
*/
|
|
943
|
-
'jsx-a11y/no-noninteractive-element-to-interactive-role'?: Linter.RuleEntry<JsxA11yNoNoninteractiveElementToInteractiveRole>
|
|
944
|
-
/**
|
|
945
|
-
* `tabIndex` should only be declared on interactive elements.
|
|
946
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-noninteractive-tabindex.md
|
|
947
|
-
*/
|
|
948
|
-
'jsx-a11y/no-noninteractive-tabindex'?: Linter.RuleEntry<JsxA11yNoNoninteractiveTabindex>
|
|
949
|
-
/**
|
|
950
|
-
* Enforce usage of `onBlur` over `onChange` on select menus for accessibility.
|
|
951
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-onchange.md
|
|
952
|
-
* @deprecated
|
|
953
|
-
*/
|
|
954
|
-
'jsx-a11y/no-onchange'?: Linter.RuleEntry<JsxA11yNoOnchange>
|
|
955
|
-
/**
|
|
956
|
-
* Enforce explicit role property is not the same as implicit/default role property on element.
|
|
957
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-redundant-roles.md
|
|
958
|
-
*/
|
|
959
|
-
'jsx-a11y/no-redundant-roles'?: Linter.RuleEntry<JsxA11yNoRedundantRoles>
|
|
960
|
-
/**
|
|
961
|
-
* Enforce that non-interactive, visible elements (such as `<div>`) that have click handlers use the role attribute.
|
|
962
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-static-element-interactions.md
|
|
963
|
-
*/
|
|
964
|
-
'jsx-a11y/no-static-element-interactions'?: Linter.RuleEntry<JsxA11yNoStaticElementInteractions>
|
|
965
|
-
/**
|
|
966
|
-
* Enforces using semantic DOM elements over the ARIA `role` property.
|
|
967
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/prefer-tag-over-role.md
|
|
968
|
-
*/
|
|
969
|
-
'jsx-a11y/prefer-tag-over-role'?: Linter.RuleEntry<JsxA11yPreferTagOverRole>
|
|
970
|
-
/**
|
|
971
|
-
* Enforce that elements with ARIA roles must have all required attributes for that role.
|
|
972
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/role-has-required-aria-props.md
|
|
973
|
-
*/
|
|
974
|
-
'jsx-a11y/role-has-required-aria-props'?: Linter.RuleEntry<JsxA11yRoleHasRequiredAriaProps>
|
|
975
|
-
/**
|
|
976
|
-
* Enforce that elements with explicit or implicit roles defined contain only `aria-*` properties supported by that `role`.
|
|
977
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/role-supports-aria-props.md
|
|
978
|
-
*/
|
|
979
|
-
'jsx-a11y/role-supports-aria-props'?: Linter.RuleEntry<JsxA11yRoleSupportsAriaProps>
|
|
980
|
-
/**
|
|
981
|
-
* Enforce `scope` prop is only used on `<th>` elements.
|
|
982
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/scope.md
|
|
983
|
-
*/
|
|
984
|
-
'jsx-a11y/scope'?: Linter.RuleEntry<JsxA11yScope>
|
|
985
|
-
/**
|
|
986
|
-
* Enforce `tabIndex` value is not greater than zero.
|
|
987
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/tabindex-no-positive.md
|
|
988
|
-
*/
|
|
989
|
-
'jsx-a11y/tabindex-no-positive'?: Linter.RuleEntry<JsxA11yTabindexNoPositive>
|
|
990
792
|
/**
|
|
991
793
|
* @see https://github.com/prettier/eslint-plugin-prettier#options
|
|
992
794
|
*/
|
|
993
795
|
'prettier/prettier'?: Linter.RuleEntry<PrettierPrettier>
|
|
994
|
-
/**
|
|
995
|
-
* verifies the list of dependencies for Hooks like useEffect and similar
|
|
996
|
-
* @see https://github.com/facebook/react/issues/14920
|
|
997
|
-
*/
|
|
998
|
-
'react-hooks/exhaustive-deps'?: Linter.RuleEntry<ReactHooksExhaustiveDeps>
|
|
999
|
-
/**
|
|
1000
|
-
* enforces the Rules of Hooks
|
|
1001
|
-
* @see https://reactjs.org/docs/hooks-rules.html
|
|
1002
|
-
*/
|
|
1003
|
-
'react-hooks/rules-of-hooks'?: Linter.RuleEntry<[]>
|
|
1004
|
-
/**
|
|
1005
|
-
* Enforces consistent naming for boolean props
|
|
1006
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/boolean-prop-naming.md
|
|
1007
|
-
*/
|
|
1008
|
-
'react/boolean-prop-naming'?: Linter.RuleEntry<ReactBooleanPropNaming>
|
|
1009
|
-
/**
|
|
1010
|
-
* Disallow usage of `button` elements without an explicit `type` attribute
|
|
1011
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/button-has-type.md
|
|
1012
|
-
*/
|
|
1013
|
-
'react/button-has-type'?: Linter.RuleEntry<ReactButtonHasType>
|
|
1014
|
-
/**
|
|
1015
|
-
* Enforce using `onChange` or `readonly` attribute when `checked` is used
|
|
1016
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/checked-requires-onchange-or-readonly.md
|
|
1017
|
-
*/
|
|
1018
|
-
'react/checked-requires-onchange-or-readonly'?: Linter.RuleEntry<ReactCheckedRequiresOnchangeOrReadonly>
|
|
1019
|
-
/**
|
|
1020
|
-
* Enforce all defaultProps have a corresponding non-required PropType
|
|
1021
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/default-props-match-prop-types.md
|
|
1022
|
-
*/
|
|
1023
|
-
'react/default-props-match-prop-types'?: Linter.RuleEntry<ReactDefaultPropsMatchPropTypes>
|
|
1024
|
-
/**
|
|
1025
|
-
* Enforce consistent usage of destructuring assignment of props, state, and context
|
|
1026
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/destructuring-assignment.md
|
|
1027
|
-
*/
|
|
1028
|
-
'react/destructuring-assignment'?: Linter.RuleEntry<ReactDestructuringAssignment>
|
|
1029
|
-
/**
|
|
1030
|
-
* Disallow missing displayName in a React component definition
|
|
1031
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/display-name.md
|
|
1032
|
-
*/
|
|
1033
|
-
'react/display-name'?: Linter.RuleEntry<ReactDisplayName>
|
|
1034
|
-
/**
|
|
1035
|
-
* Disallow certain props on components
|
|
1036
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forbid-component-props.md
|
|
1037
|
-
*/
|
|
1038
|
-
'react/forbid-component-props'?: Linter.RuleEntry<ReactForbidComponentProps>
|
|
1039
|
-
/**
|
|
1040
|
-
* Disallow certain props on DOM Nodes
|
|
1041
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forbid-dom-props.md
|
|
1042
|
-
*/
|
|
1043
|
-
'react/forbid-dom-props'?: Linter.RuleEntry<ReactForbidDomProps>
|
|
1044
|
-
/**
|
|
1045
|
-
* Disallow certain elements
|
|
1046
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forbid-elements.md
|
|
1047
|
-
*/
|
|
1048
|
-
'react/forbid-elements'?: Linter.RuleEntry<ReactForbidElements>
|
|
1049
|
-
/**
|
|
1050
|
-
* Disallow using another component's propTypes
|
|
1051
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forbid-foreign-prop-types.md
|
|
1052
|
-
*/
|
|
1053
|
-
'react/forbid-foreign-prop-types'?: Linter.RuleEntry<ReactForbidForeignPropTypes>
|
|
1054
|
-
/**
|
|
1055
|
-
* Disallow certain propTypes
|
|
1056
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forbid-prop-types.md
|
|
1057
|
-
*/
|
|
1058
|
-
'react/forbid-prop-types'?: Linter.RuleEntry<ReactForbidPropTypes>
|
|
1059
|
-
/**
|
|
1060
|
-
* Enforce a specific function type for function components
|
|
1061
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/function-component-definition.md
|
|
1062
|
-
*/
|
|
1063
|
-
'react/function-component-definition'?: Linter.RuleEntry<ReactFunctionComponentDefinition>
|
|
1064
|
-
/**
|
|
1065
|
-
* Ensure destructuring and symmetric naming of useState hook value and setter variables
|
|
1066
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/hook-use-state.md
|
|
1067
|
-
*/
|
|
1068
|
-
'react/hook-use-state'?: Linter.RuleEntry<ReactHookUseState>
|
|
1069
|
-
/**
|
|
1070
|
-
* Enforce sandbox attribute on iframe elements
|
|
1071
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/iframe-missing-sandbox.md
|
|
1072
|
-
*/
|
|
1073
|
-
'react/iframe-missing-sandbox'?: Linter.RuleEntry<[]>
|
|
1074
|
-
/**
|
|
1075
|
-
* Enforce boolean attributes notation in JSX
|
|
1076
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-boolean-value.md
|
|
1077
|
-
*/
|
|
1078
|
-
'react/jsx-boolean-value'?: Linter.RuleEntry<ReactJsxBooleanValue>
|
|
1079
|
-
/**
|
|
1080
|
-
* Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
|
|
1081
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-child-element-spacing.md
|
|
1082
|
-
*/
|
|
1083
|
-
'react/jsx-child-element-spacing'?: Linter.RuleEntry<[]>
|
|
1084
|
-
/**
|
|
1085
|
-
* Enforce closing bracket location in JSX
|
|
1086
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-closing-bracket-location.md
|
|
1087
|
-
*/
|
|
1088
|
-
'react/jsx-closing-bracket-location'?: Linter.RuleEntry<ReactJsxClosingBracketLocation>
|
|
1089
|
-
/**
|
|
1090
|
-
* Enforce closing tag location for multiline JSX
|
|
1091
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-closing-tag-location.md
|
|
1092
|
-
*/
|
|
1093
|
-
'react/jsx-closing-tag-location'?: Linter.RuleEntry<[]>
|
|
1094
|
-
/**
|
|
1095
|
-
* Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes
|
|
1096
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-curly-brace-presence.md
|
|
1097
|
-
*/
|
|
1098
|
-
'react/jsx-curly-brace-presence'?: Linter.RuleEntry<ReactJsxCurlyBracePresence>
|
|
1099
|
-
/**
|
|
1100
|
-
* Enforce consistent linebreaks in curly braces in JSX attributes and expressions
|
|
1101
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-curly-newline.md
|
|
1102
|
-
*/
|
|
1103
|
-
'react/jsx-curly-newline'?: Linter.RuleEntry<ReactJsxCurlyNewline>
|
|
1104
|
-
/**
|
|
1105
|
-
* Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
|
|
1106
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-curly-spacing.md
|
|
1107
|
-
*/
|
|
1108
|
-
'react/jsx-curly-spacing'?: Linter.RuleEntry<ReactJsxCurlySpacing>
|
|
1109
|
-
/**
|
|
1110
|
-
* Enforce or disallow spaces around equal signs in JSX attributes
|
|
1111
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-equals-spacing.md
|
|
1112
|
-
*/
|
|
1113
|
-
'react/jsx-equals-spacing'?: Linter.RuleEntry<ReactJsxEqualsSpacing>
|
|
1114
|
-
/**
|
|
1115
|
-
* Disallow file extensions that may contain JSX
|
|
1116
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-filename-extension.md
|
|
1117
|
-
*/
|
|
1118
|
-
'react/jsx-filename-extension'?: Linter.RuleEntry<ReactJsxFilenameExtension>
|
|
1119
|
-
/**
|
|
1120
|
-
* Enforce proper position of the first property in JSX
|
|
1121
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-first-prop-new-line.md
|
|
1122
|
-
*/
|
|
1123
|
-
'react/jsx-first-prop-new-line'?: Linter.RuleEntry<ReactJsxFirstPropNewLine>
|
|
1124
|
-
/**
|
|
1125
|
-
* Enforce shorthand or standard form for React fragments
|
|
1126
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-fragments.md
|
|
1127
|
-
*/
|
|
1128
|
-
'react/jsx-fragments'?: Linter.RuleEntry<ReactJsxFragments>
|
|
1129
|
-
/**
|
|
1130
|
-
* Enforce event handler naming conventions in JSX
|
|
1131
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-handler-names.md
|
|
1132
|
-
*/
|
|
1133
|
-
'react/jsx-handler-names'?: Linter.RuleEntry<ReactJsxHandlerNames>
|
|
1134
|
-
/**
|
|
1135
|
-
* Enforce JSX indentation
|
|
1136
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-indent.md
|
|
1137
|
-
*/
|
|
1138
|
-
'react/jsx-indent'?: Linter.RuleEntry<ReactJsxIndent>
|
|
1139
|
-
/**
|
|
1140
|
-
* Enforce props indentation in JSX
|
|
1141
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-indent-props.md
|
|
1142
|
-
*/
|
|
1143
|
-
'react/jsx-indent-props'?: Linter.RuleEntry<ReactJsxIndentProps>
|
|
1144
|
-
/**
|
|
1145
|
-
* Disallow missing `key` props in iterators/collection literals
|
|
1146
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-key.md
|
|
1147
|
-
*/
|
|
1148
|
-
'react/jsx-key'?: Linter.RuleEntry<ReactJsxKey>
|
|
1149
|
-
/**
|
|
1150
|
-
* Enforce JSX maximum depth
|
|
1151
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-max-depth.md
|
|
1152
|
-
*/
|
|
1153
|
-
'react/jsx-max-depth'?: Linter.RuleEntry<ReactJsxMaxDepth>
|
|
1154
|
-
/**
|
|
1155
|
-
* Enforce maximum of props on a single line in JSX
|
|
1156
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-max-props-per-line.md
|
|
1157
|
-
*/
|
|
1158
|
-
'react/jsx-max-props-per-line'?: Linter.RuleEntry<ReactJsxMaxPropsPerLine>
|
|
1159
|
-
/**
|
|
1160
|
-
* Require or prevent a new line after jsx elements and expressions.
|
|
1161
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-newline.md
|
|
1162
|
-
*/
|
|
1163
|
-
'react/jsx-newline'?: Linter.RuleEntry<ReactJsxNewline>
|
|
1164
|
-
/**
|
|
1165
|
-
* Disallow `.bind()` or arrow functions in JSX props
|
|
1166
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-bind.md
|
|
1167
|
-
*/
|
|
1168
|
-
'react/jsx-no-bind'?: Linter.RuleEntry<ReactJsxNoBind>
|
|
1169
|
-
/**
|
|
1170
|
-
* Disallow comments from being inserted as text nodes
|
|
1171
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-comment-textnodes.md
|
|
1172
|
-
*/
|
|
1173
|
-
'react/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>
|
|
1174
|
-
/**
|
|
1175
|
-
* Disallows JSX context provider values from taking values that will cause needless rerenders
|
|
1176
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-constructed-context-values.md
|
|
1177
|
-
*/
|
|
1178
|
-
'react/jsx-no-constructed-context-values'?: Linter.RuleEntry<[]>
|
|
1179
|
-
/**
|
|
1180
|
-
* Disallow duplicate properties in JSX
|
|
1181
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-duplicate-props.md
|
|
1182
|
-
*/
|
|
1183
|
-
'react/jsx-no-duplicate-props'?: Linter.RuleEntry<ReactJsxNoDuplicateProps>
|
|
1184
|
-
/**
|
|
1185
|
-
* Disallow problematic leaked values from being rendered
|
|
1186
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-leaked-render.md
|
|
1187
|
-
*/
|
|
1188
|
-
'react/jsx-no-leaked-render'?: Linter.RuleEntry<ReactJsxNoLeakedRender>
|
|
1189
|
-
/**
|
|
1190
|
-
* Disallow usage of string literals in JSX
|
|
1191
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-literals.md
|
|
1192
|
-
*/
|
|
1193
|
-
'react/jsx-no-literals'?: Linter.RuleEntry<ReactJsxNoLiterals>
|
|
1194
|
-
/**
|
|
1195
|
-
* Disallow usage of `javascript:` URLs
|
|
1196
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-script-url.md
|
|
1197
|
-
*/
|
|
1198
|
-
'react/jsx-no-script-url'?: Linter.RuleEntry<ReactJsxNoScriptUrl>
|
|
1199
|
-
/**
|
|
1200
|
-
* Disallow `target="_blank"` attribute without `rel="noreferrer"`
|
|
1201
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-target-blank.md
|
|
1202
|
-
*/
|
|
1203
|
-
'react/jsx-no-target-blank'?: Linter.RuleEntry<ReactJsxNoTargetBlank>
|
|
1204
|
-
/**
|
|
1205
|
-
* Disallow undeclared variables in JSX
|
|
1206
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-undef.md
|
|
1207
|
-
*/
|
|
1208
|
-
'react/jsx-no-undef'?: Linter.RuleEntry<ReactJsxNoUndef>
|
|
1209
|
-
/**
|
|
1210
|
-
* Disallow unnecessary fragments
|
|
1211
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-useless-fragment.md
|
|
1212
|
-
*/
|
|
1213
|
-
'react/jsx-no-useless-fragment'?: Linter.RuleEntry<ReactJsxNoUselessFragment>
|
|
1214
|
-
/**
|
|
1215
|
-
* Require one JSX element per line
|
|
1216
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-one-expression-per-line.md
|
|
1217
|
-
*/
|
|
1218
|
-
'react/jsx-one-expression-per-line'?: Linter.RuleEntry<ReactJsxOneExpressionPerLine>
|
|
1219
|
-
/**
|
|
1220
|
-
* Enforce PascalCase for user-defined JSX components
|
|
1221
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-pascal-case.md
|
|
1222
|
-
*/
|
|
1223
|
-
'react/jsx-pascal-case'?: Linter.RuleEntry<ReactJsxPascalCase>
|
|
1224
|
-
/**
|
|
1225
|
-
* Disallow multiple spaces between inline JSX props
|
|
1226
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-props-no-multi-spaces.md
|
|
1227
|
-
*/
|
|
1228
|
-
'react/jsx-props-no-multi-spaces'?: Linter.RuleEntry<[]>
|
|
1229
|
-
/**
|
|
1230
|
-
* Disallow JSX prop spreading
|
|
1231
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-props-no-spreading.md
|
|
1232
|
-
*/
|
|
1233
|
-
'react/jsx-props-no-spreading'?: Linter.RuleEntry<ReactJsxPropsNoSpreading>
|
|
1234
|
-
/**
|
|
1235
|
-
* Enforce defaultProps declarations alphabetical sorting
|
|
1236
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-sort-default-props.md
|
|
1237
|
-
* @deprecated
|
|
1238
|
-
*/
|
|
1239
|
-
'react/jsx-sort-default-props'?: Linter.RuleEntry<ReactJsxSortDefaultProps>
|
|
1240
|
-
/**
|
|
1241
|
-
* Enforce props alphabetical sorting
|
|
1242
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-sort-props.md
|
|
1243
|
-
*/
|
|
1244
|
-
'react/jsx-sort-props'?: Linter.RuleEntry<ReactJsxSortProps>
|
|
1245
|
-
/**
|
|
1246
|
-
* Enforce spacing before closing bracket in JSX
|
|
1247
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-space-before-closing.md
|
|
1248
|
-
* @deprecated
|
|
1249
|
-
*/
|
|
1250
|
-
'react/jsx-space-before-closing'?: Linter.RuleEntry<ReactJsxSpaceBeforeClosing>
|
|
1251
|
-
/**
|
|
1252
|
-
* Enforce whitespace in and around the JSX opening and closing brackets
|
|
1253
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-tag-spacing.md
|
|
1254
|
-
*/
|
|
1255
|
-
'react/jsx-tag-spacing'?: Linter.RuleEntry<ReactJsxTagSpacing>
|
|
1256
|
-
/**
|
|
1257
|
-
* Disallow React to be incorrectly marked as unused
|
|
1258
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-uses-react.md
|
|
1259
|
-
*/
|
|
1260
|
-
'react/jsx-uses-react'?: Linter.RuleEntry<[]>
|
|
1261
|
-
/**
|
|
1262
|
-
* Disallow variables used in JSX to be incorrectly marked as unused
|
|
1263
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-uses-vars.md
|
|
1264
|
-
*/
|
|
1265
|
-
'react/jsx-uses-vars'?: Linter.RuleEntry<[]>
|
|
1266
|
-
/**
|
|
1267
|
-
* Disallow missing parentheses around multiline JSX
|
|
1268
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-wrap-multilines.md
|
|
1269
|
-
*/
|
|
1270
|
-
'react/jsx-wrap-multilines'?: Linter.RuleEntry<ReactJsxWrapMultilines>
|
|
1271
|
-
/**
|
|
1272
|
-
* Disallow when this.state is accessed within setState
|
|
1273
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-access-state-in-setstate.md
|
|
1274
|
-
*/
|
|
1275
|
-
'react/no-access-state-in-setstate'?: Linter.RuleEntry<[]>
|
|
1276
|
-
/**
|
|
1277
|
-
* Disallow adjacent inline elements not separated by whitespace.
|
|
1278
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-adjacent-inline-elements.md
|
|
1279
|
-
*/
|
|
1280
|
-
'react/no-adjacent-inline-elements'?: Linter.RuleEntry<[]>
|
|
1281
|
-
/**
|
|
1282
|
-
* Disallow usage of Array index in keys
|
|
1283
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-array-index-key.md
|
|
1284
|
-
*/
|
|
1285
|
-
'react/no-array-index-key'?: Linter.RuleEntry<[]>
|
|
1286
|
-
/**
|
|
1287
|
-
* Lifecycle methods should be methods on the prototype, not class fields
|
|
1288
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-arrow-function-lifecycle.md
|
|
1289
|
-
*/
|
|
1290
|
-
'react/no-arrow-function-lifecycle'?: Linter.RuleEntry<[]>
|
|
1291
|
-
/**
|
|
1292
|
-
* Disallow passing of children as props
|
|
1293
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-children-prop.md
|
|
1294
|
-
*/
|
|
1295
|
-
'react/no-children-prop'?: Linter.RuleEntry<ReactNoChildrenProp>
|
|
1296
|
-
/**
|
|
1297
|
-
* Disallow usage of dangerous JSX properties
|
|
1298
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-danger.md
|
|
1299
|
-
*/
|
|
1300
|
-
'react/no-danger'?: Linter.RuleEntry<[]>
|
|
1301
|
-
/**
|
|
1302
|
-
* Disallow when a DOM element is using both children and dangerouslySetInnerHTML
|
|
1303
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-danger-with-children.md
|
|
1304
|
-
*/
|
|
1305
|
-
'react/no-danger-with-children'?: Linter.RuleEntry<[]>
|
|
1306
|
-
/**
|
|
1307
|
-
* Disallow usage of deprecated methods
|
|
1308
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-deprecated.md
|
|
1309
|
-
*/
|
|
1310
|
-
'react/no-deprecated'?: Linter.RuleEntry<[]>
|
|
1311
|
-
/**
|
|
1312
|
-
* Disallow usage of setState in componentDidMount
|
|
1313
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-did-mount-set-state.md
|
|
1314
|
-
*/
|
|
1315
|
-
'react/no-did-mount-set-state'?: Linter.RuleEntry<ReactNoDidMountSetState>
|
|
1316
|
-
/**
|
|
1317
|
-
* Disallow usage of setState in componentDidUpdate
|
|
1318
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-did-update-set-state.md
|
|
1319
|
-
*/
|
|
1320
|
-
'react/no-did-update-set-state'?: Linter.RuleEntry<ReactNoDidUpdateSetState>
|
|
1321
|
-
/**
|
|
1322
|
-
* Disallow direct mutation of this.state
|
|
1323
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-direct-mutation-state.md
|
|
1324
|
-
*/
|
|
1325
|
-
'react/no-direct-mutation-state'?: Linter.RuleEntry<[]>
|
|
1326
|
-
/**
|
|
1327
|
-
* Disallow usage of findDOMNode
|
|
1328
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-find-dom-node.md
|
|
1329
|
-
*/
|
|
1330
|
-
'react/no-find-dom-node'?: Linter.RuleEntry<[]>
|
|
1331
|
-
/**
|
|
1332
|
-
* Disallow usage of invalid attributes
|
|
1333
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-invalid-html-attribute.md
|
|
1334
|
-
*/
|
|
1335
|
-
'react/no-invalid-html-attribute'?: Linter.RuleEntry<ReactNoInvalidHtmlAttribute>
|
|
1336
|
-
/**
|
|
1337
|
-
* Disallow usage of isMounted
|
|
1338
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-is-mounted.md
|
|
1339
|
-
*/
|
|
1340
|
-
'react/no-is-mounted'?: Linter.RuleEntry<[]>
|
|
1341
|
-
/**
|
|
1342
|
-
* Disallow multiple component definition per file
|
|
1343
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-multi-comp.md
|
|
1344
|
-
*/
|
|
1345
|
-
'react/no-multi-comp'?: Linter.RuleEntry<ReactNoMultiComp>
|
|
1346
|
-
/**
|
|
1347
|
-
* Enforce that namespaces are not used in React elements
|
|
1348
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-namespace.md
|
|
1349
|
-
*/
|
|
1350
|
-
'react/no-namespace'?: Linter.RuleEntry<[]>
|
|
1351
|
-
/**
|
|
1352
|
-
* Disallow usage of referential-type variables as default param in functional component
|
|
1353
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-object-type-as-default-prop.md
|
|
1354
|
-
*/
|
|
1355
|
-
'react/no-object-type-as-default-prop'?: Linter.RuleEntry<[]>
|
|
1356
|
-
/**
|
|
1357
|
-
* Disallow usage of shouldComponentUpdate when extending React.PureComponent
|
|
1358
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-redundant-should-component-update.md
|
|
1359
|
-
*/
|
|
1360
|
-
'react/no-redundant-should-component-update'?: Linter.RuleEntry<[]>
|
|
1361
|
-
/**
|
|
1362
|
-
* Disallow usage of the return value of ReactDOM.render
|
|
1363
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-render-return-value.md
|
|
1364
|
-
*/
|
|
1365
|
-
'react/no-render-return-value'?: Linter.RuleEntry<[]>
|
|
1366
|
-
/**
|
|
1367
|
-
* Disallow usage of setState
|
|
1368
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-set-state.md
|
|
1369
|
-
*/
|
|
1370
|
-
'react/no-set-state'?: Linter.RuleEntry<[]>
|
|
1371
|
-
/**
|
|
1372
|
-
* Disallow using string references
|
|
1373
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-string-refs.md
|
|
1374
|
-
*/
|
|
1375
|
-
'react/no-string-refs'?: Linter.RuleEntry<ReactNoStringRefs>
|
|
1376
|
-
/**
|
|
1377
|
-
* Disallow `this` from being used in stateless functional components
|
|
1378
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-this-in-sfc.md
|
|
1379
|
-
*/
|
|
1380
|
-
'react/no-this-in-sfc'?: Linter.RuleEntry<[]>
|
|
1381
|
-
/**
|
|
1382
|
-
* Disallow common typos
|
|
1383
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-typos.md
|
|
1384
|
-
*/
|
|
1385
|
-
'react/no-typos'?: Linter.RuleEntry<[]>
|
|
1386
|
-
/**
|
|
1387
|
-
* Disallow unescaped HTML entities from appearing in markup
|
|
1388
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unescaped-entities.md
|
|
1389
|
-
*/
|
|
1390
|
-
'react/no-unescaped-entities'?: Linter.RuleEntry<ReactNoUnescapedEntities>
|
|
1391
|
-
/**
|
|
1392
|
-
* Disallow usage of unknown DOM property
|
|
1393
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unknown-property.md
|
|
1394
|
-
*/
|
|
1395
|
-
'react/no-unknown-property'?: Linter.RuleEntry<ReactNoUnknownProperty>
|
|
1396
|
-
/**
|
|
1397
|
-
* Disallow usage of unsafe lifecycle methods
|
|
1398
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unsafe.md
|
|
1399
|
-
*/
|
|
1400
|
-
'react/no-unsafe'?: Linter.RuleEntry<ReactNoUnsafe>
|
|
1401
|
-
/**
|
|
1402
|
-
* Disallow creating unstable components inside components
|
|
1403
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unstable-nested-components.md
|
|
1404
|
-
*/
|
|
1405
|
-
'react/no-unstable-nested-components'?: Linter.RuleEntry<ReactNoUnstableNestedComponents>
|
|
1406
|
-
/**
|
|
1407
|
-
* Disallow declaring unused methods of component class
|
|
1408
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unused-class-component-methods.md
|
|
1409
|
-
*/
|
|
1410
|
-
'react/no-unused-class-component-methods'?: Linter.RuleEntry<[]>
|
|
1411
|
-
/**
|
|
1412
|
-
* Disallow definitions of unused propTypes
|
|
1413
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unused-prop-types.md
|
|
1414
|
-
*/
|
|
1415
|
-
'react/no-unused-prop-types'?: Linter.RuleEntry<ReactNoUnusedPropTypes>
|
|
1416
|
-
/**
|
|
1417
|
-
* Disallow definitions of unused state
|
|
1418
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unused-state.md
|
|
1419
|
-
*/
|
|
1420
|
-
'react/no-unused-state'?: Linter.RuleEntry<[]>
|
|
1421
|
-
/**
|
|
1422
|
-
* Disallow usage of setState in componentWillUpdate
|
|
1423
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-will-update-set-state.md
|
|
1424
|
-
*/
|
|
1425
|
-
'react/no-will-update-set-state'?: Linter.RuleEntry<ReactNoWillUpdateSetState>
|
|
1426
|
-
/**
|
|
1427
|
-
* Enforce ES5 or ES6 class for React Components
|
|
1428
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/prefer-es6-class.md
|
|
1429
|
-
*/
|
|
1430
|
-
'react/prefer-es6-class'?: Linter.RuleEntry<ReactPreferEs6Class>
|
|
1431
|
-
/**
|
|
1432
|
-
* Prefer exact proptype definitions
|
|
1433
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/prefer-exact-props.md
|
|
1434
|
-
*/
|
|
1435
|
-
'react/prefer-exact-props'?: Linter.RuleEntry<[]>
|
|
1436
|
-
/**
|
|
1437
|
-
* Enforce that props are read-only
|
|
1438
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/prefer-read-only-props.md
|
|
1439
|
-
*/
|
|
1440
|
-
'react/prefer-read-only-props'?: Linter.RuleEntry<[]>
|
|
1441
|
-
/**
|
|
1442
|
-
* Enforce stateless components to be written as a pure function
|
|
1443
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/prefer-stateless-function.md
|
|
1444
|
-
*/
|
|
1445
|
-
'react/prefer-stateless-function'?: Linter.RuleEntry<ReactPreferStatelessFunction>
|
|
1446
|
-
/**
|
|
1447
|
-
* Disallow missing props validation in a React component definition
|
|
1448
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/prop-types.md
|
|
1449
|
-
*/
|
|
1450
|
-
'react/prop-types'?: Linter.RuleEntry<ReactPropTypes>
|
|
1451
|
-
/**
|
|
1452
|
-
* Disallow missing React when using JSX
|
|
1453
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/react-in-jsx-scope.md
|
|
1454
|
-
*/
|
|
1455
|
-
'react/react-in-jsx-scope'?: Linter.RuleEntry<[]>
|
|
1456
|
-
/**
|
|
1457
|
-
* Enforce a defaultProps definition for every prop that is not a required prop
|
|
1458
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/require-default-props.md
|
|
1459
|
-
*/
|
|
1460
|
-
'react/require-default-props'?: Linter.RuleEntry<ReactRequireDefaultProps>
|
|
1461
|
-
/**
|
|
1462
|
-
* Enforce React components to have a shouldComponentUpdate method
|
|
1463
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/require-optimization.md
|
|
1464
|
-
*/
|
|
1465
|
-
'react/require-optimization'?: Linter.RuleEntry<ReactRequireOptimization>
|
|
1466
|
-
/**
|
|
1467
|
-
* Enforce ES5 or ES6 class for returning value in render function
|
|
1468
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/require-render-return.md
|
|
1469
|
-
*/
|
|
1470
|
-
'react/require-render-return'?: Linter.RuleEntry<[]>
|
|
1471
|
-
/**
|
|
1472
|
-
* Disallow extra closing tags for components without children
|
|
1473
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/self-closing-comp.md
|
|
1474
|
-
*/
|
|
1475
|
-
'react/self-closing-comp'?: Linter.RuleEntry<ReactSelfClosingComp>
|
|
1476
|
-
/**
|
|
1477
|
-
* Enforce component methods order
|
|
1478
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/sort-comp.md
|
|
1479
|
-
*/
|
|
1480
|
-
'react/sort-comp'?: Linter.RuleEntry<ReactSortComp>
|
|
1481
|
-
/**
|
|
1482
|
-
* Enforce defaultProps declarations alphabetical sorting
|
|
1483
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/sort-default-props.md
|
|
1484
|
-
*/
|
|
1485
|
-
'react/sort-default-props'?: Linter.RuleEntry<ReactSortDefaultProps>
|
|
1486
|
-
/**
|
|
1487
|
-
* Enforce propTypes declarations alphabetical sorting
|
|
1488
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/sort-prop-types.md
|
|
1489
|
-
*/
|
|
1490
|
-
'react/sort-prop-types'?: Linter.RuleEntry<ReactSortPropTypes>
|
|
1491
|
-
/**
|
|
1492
|
-
* Enforce class component state initialization style
|
|
1493
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/state-in-constructor.md
|
|
1494
|
-
*/
|
|
1495
|
-
'react/state-in-constructor'?: Linter.RuleEntry<ReactStateInConstructor>
|
|
1496
|
-
/**
|
|
1497
|
-
* Enforces where React component static properties should be positioned.
|
|
1498
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/static-property-placement.md
|
|
1499
|
-
*/
|
|
1500
|
-
'react/static-property-placement'?: Linter.RuleEntry<ReactStaticPropertyPlacement>
|
|
1501
|
-
/**
|
|
1502
|
-
* Enforce style prop value is an object
|
|
1503
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/style-prop-object.md
|
|
1504
|
-
*/
|
|
1505
|
-
'react/style-prop-object'?: Linter.RuleEntry<ReactStylePropObject>
|
|
1506
|
-
/**
|
|
1507
|
-
* Disallow void DOM elements (e.g. `<img />`, `<br />`) from receiving children
|
|
1508
|
-
* @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/void-dom-elements-no-children.md
|
|
1509
|
-
*/
|
|
1510
|
-
'react/void-dom-elements-no-children'?: Linter.RuleEntry<[]>
|
|
1511
796
|
/**
|
|
1512
797
|
* Validates that TypeScript documentation comments conform to the TSDoc standard
|
|
1513
798
|
* @see https://tsdoc.org/pages/packages/eslint-plugin-tsdoc
|
|
@@ -3974,438 +3259,6 @@ type PrettierPrettier = []|[{
|
|
|
3974
3259
|
}
|
|
3975
3260
|
[k: string]: unknown | undefined
|
|
3976
3261
|
}]
|
|
3977
|
-
// ----- react-hooks/exhaustive-deps -----
|
|
3978
|
-
type ReactHooksExhaustiveDeps = []|[{
|
|
3979
|
-
additionalHooks?: string
|
|
3980
|
-
enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean
|
|
3981
|
-
}]
|
|
3982
|
-
// ----- react/boolean-prop-naming -----
|
|
3983
|
-
type ReactBooleanPropNaming = []|[{
|
|
3984
|
-
|
|
3985
|
-
propTypeNames?: [string, ...(string)[]]
|
|
3986
|
-
rule?: string
|
|
3987
|
-
message?: string
|
|
3988
|
-
validateNested?: boolean
|
|
3989
|
-
}]
|
|
3990
|
-
// ----- react/button-has-type -----
|
|
3991
|
-
type ReactButtonHasType = []|[{
|
|
3992
|
-
button?: boolean
|
|
3993
|
-
submit?: boolean
|
|
3994
|
-
reset?: boolean
|
|
3995
|
-
}]
|
|
3996
|
-
// ----- react/checked-requires-onchange-or-readonly -----
|
|
3997
|
-
type ReactCheckedRequiresOnchangeOrReadonly = []|[{
|
|
3998
|
-
ignoreMissingProperties?: boolean
|
|
3999
|
-
ignoreExclusiveCheckedAttribute?: boolean
|
|
4000
|
-
}]
|
|
4001
|
-
// ----- react/default-props-match-prop-types -----
|
|
4002
|
-
type ReactDefaultPropsMatchPropTypes = []|[{
|
|
4003
|
-
allowRequiredDefaults?: boolean
|
|
4004
|
-
}]
|
|
4005
|
-
// ----- react/destructuring-assignment -----
|
|
4006
|
-
type ReactDestructuringAssignment = []|[("always" | "never")]|[("always" | "never"), {
|
|
4007
|
-
ignoreClassFields?: boolean
|
|
4008
|
-
destructureInSignature?: ("always" | "ignore")
|
|
4009
|
-
}]
|
|
4010
|
-
// ----- react/display-name -----
|
|
4011
|
-
type ReactDisplayName = []|[{
|
|
4012
|
-
ignoreTranspilerName?: boolean
|
|
4013
|
-
checkContextObjects?: boolean
|
|
4014
|
-
}]
|
|
4015
|
-
// ----- react/forbid-component-props -----
|
|
4016
|
-
type ReactForbidComponentProps = []|[{
|
|
4017
|
-
forbid?: (string | {
|
|
4018
|
-
propName?: string
|
|
4019
|
-
allowedFor?: string[]
|
|
4020
|
-
message?: string
|
|
4021
|
-
} | {
|
|
4022
|
-
propName?: string
|
|
4023
|
-
|
|
4024
|
-
disallowedFor: [string, ...(string)[]]
|
|
4025
|
-
message?: string
|
|
4026
|
-
})[]
|
|
4027
|
-
[k: string]: unknown | undefined
|
|
4028
|
-
}]
|
|
4029
|
-
// ----- react/forbid-dom-props -----
|
|
4030
|
-
type ReactForbidDomProps = []|[{
|
|
4031
|
-
forbid?: (string | {
|
|
4032
|
-
propName?: string
|
|
4033
|
-
disallowedFor?: string[]
|
|
4034
|
-
message?: string
|
|
4035
|
-
[k: string]: unknown | undefined
|
|
4036
|
-
})[]
|
|
4037
|
-
}]
|
|
4038
|
-
// ----- react/forbid-elements -----
|
|
4039
|
-
type ReactForbidElements = []|[{
|
|
4040
|
-
forbid?: (string | {
|
|
4041
|
-
element: string
|
|
4042
|
-
message?: string
|
|
4043
|
-
})[]
|
|
4044
|
-
}]
|
|
4045
|
-
// ----- react/forbid-foreign-prop-types -----
|
|
4046
|
-
type ReactForbidForeignPropTypes = []|[{
|
|
4047
|
-
allowInPropTypes?: boolean
|
|
4048
|
-
}]
|
|
4049
|
-
// ----- react/forbid-prop-types -----
|
|
4050
|
-
type ReactForbidPropTypes = []|[{
|
|
4051
|
-
forbid?: string[]
|
|
4052
|
-
checkContextTypes?: boolean
|
|
4053
|
-
checkChildContextTypes?: boolean
|
|
4054
|
-
[k: string]: unknown | undefined
|
|
4055
|
-
}]
|
|
4056
|
-
// ----- react/function-component-definition -----
|
|
4057
|
-
type ReactFunctionComponentDefinition = []|[{
|
|
4058
|
-
namedComponents?: (("function-declaration" | "arrow-function" | "function-expression") | ("function-declaration" | "arrow-function" | "function-expression")[])
|
|
4059
|
-
unnamedComponents?: (("arrow-function" | "function-expression") | ("arrow-function" | "function-expression")[])
|
|
4060
|
-
[k: string]: unknown | undefined
|
|
4061
|
-
}]
|
|
4062
|
-
// ----- react/hook-use-state -----
|
|
4063
|
-
type ReactHookUseState = []|[{
|
|
4064
|
-
allowDestructuredState?: boolean
|
|
4065
|
-
}]
|
|
4066
|
-
// ----- react/jsx-boolean-value -----
|
|
4067
|
-
type ReactJsxBooleanValue = ([]|[("always" | "never")] | []|["always"]|["always", {
|
|
4068
|
-
never?: string[]
|
|
4069
|
-
assumeUndefinedIsFalse?: boolean
|
|
4070
|
-
}] | []|["never"]|["never", {
|
|
4071
|
-
always?: string[]
|
|
4072
|
-
assumeUndefinedIsFalse?: boolean
|
|
4073
|
-
}])
|
|
4074
|
-
// ----- react/jsx-closing-bracket-location -----
|
|
4075
|
-
type ReactJsxClosingBracketLocation = []|[(("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | {
|
|
4076
|
-
location?: ("after-props" | "props-aligned" | "tag-aligned" | "line-aligned")
|
|
4077
|
-
} | {
|
|
4078
|
-
nonEmpty?: ("after-props" | "props-aligned" | "tag-aligned" | "line-aligned" | false)
|
|
4079
|
-
selfClosing?: ("after-props" | "props-aligned" | "tag-aligned" | "line-aligned" | false)
|
|
4080
|
-
})]
|
|
4081
|
-
// ----- react/jsx-curly-brace-presence -----
|
|
4082
|
-
type ReactJsxCurlyBracePresence = []|[({
|
|
4083
|
-
props?: ("always" | "never" | "ignore")
|
|
4084
|
-
children?: ("always" | "never" | "ignore")
|
|
4085
|
-
propElementValues?: ("always" | "never" | "ignore")
|
|
4086
|
-
} | ("always" | "never" | "ignore"))]
|
|
4087
|
-
// ----- react/jsx-curly-newline -----
|
|
4088
|
-
type ReactJsxCurlyNewline = []|[(("consistent" | "never") | {
|
|
4089
|
-
singleline?: ("consistent" | "require" | "forbid")
|
|
4090
|
-
multiline?: ("consistent" | "require" | "forbid")
|
|
4091
|
-
})]
|
|
4092
|
-
// ----- react/jsx-curly-spacing -----
|
|
4093
|
-
type ReactJsxCurlySpacing = []|[((_ReactJsxCurlySpacing_BasicConfig & {
|
|
4094
|
-
attributes?: _ReactJsxCurlySpacingBasicConfigOrBoolean
|
|
4095
|
-
children?: _ReactJsxCurlySpacingBasicConfigOrBoolean
|
|
4096
|
-
[k: string]: unknown | undefined
|
|
4097
|
-
}) | ("always" | "never"))]|[((_ReactJsxCurlySpacing_BasicConfig & {
|
|
4098
|
-
attributes?: _ReactJsxCurlySpacingBasicConfigOrBoolean
|
|
4099
|
-
children?: _ReactJsxCurlySpacingBasicConfigOrBoolean
|
|
4100
|
-
[k: string]: unknown | undefined
|
|
4101
|
-
}) | ("always" | "never")), {
|
|
4102
|
-
allowMultiline?: boolean
|
|
4103
|
-
spacing?: {
|
|
4104
|
-
objectLiterals?: ("always" | "never")
|
|
4105
|
-
[k: string]: unknown | undefined
|
|
4106
|
-
}
|
|
4107
|
-
}]
|
|
4108
|
-
type _ReactJsxCurlySpacingBasicConfigOrBoolean = (_ReactJsxCurlySpacing_BasicConfig | boolean)
|
|
4109
|
-
interface _ReactJsxCurlySpacing_BasicConfig {
|
|
4110
|
-
when?: ("always" | "never")
|
|
4111
|
-
allowMultiline?: boolean
|
|
4112
|
-
spacing?: {
|
|
4113
|
-
objectLiterals?: ("always" | "never")
|
|
4114
|
-
[k: string]: unknown | undefined
|
|
4115
|
-
}
|
|
4116
|
-
[k: string]: unknown | undefined
|
|
4117
|
-
}
|
|
4118
|
-
// ----- react/jsx-equals-spacing -----
|
|
4119
|
-
type ReactJsxEqualsSpacing = []|[("always" | "never")]
|
|
4120
|
-
// ----- react/jsx-filename-extension -----
|
|
4121
|
-
type ReactJsxFilenameExtension = []|[{
|
|
4122
|
-
allow?: ("always" | "as-needed")
|
|
4123
|
-
extensions?: string[]
|
|
4124
|
-
ignoreFilesWithoutCode?: boolean
|
|
4125
|
-
}]
|
|
4126
|
-
// ----- react/jsx-first-prop-new-line -----
|
|
4127
|
-
type ReactJsxFirstPropNewLine = []|[("always" | "never" | "multiline" | "multiline-multiprop" | "multiprop")]
|
|
4128
|
-
// ----- react/jsx-fragments -----
|
|
4129
|
-
type ReactJsxFragments = []|[("syntax" | "element")]
|
|
4130
|
-
// ----- react/jsx-handler-names -----
|
|
4131
|
-
type ReactJsxHandlerNames = []|[({
|
|
4132
|
-
eventHandlerPrefix?: string
|
|
4133
|
-
eventHandlerPropPrefix?: string
|
|
4134
|
-
checkLocalVariables?: boolean
|
|
4135
|
-
checkInlineFunction?: boolean
|
|
4136
|
-
} | {
|
|
4137
|
-
eventHandlerPrefix?: string
|
|
4138
|
-
eventHandlerPropPrefix?: false
|
|
4139
|
-
checkLocalVariables?: boolean
|
|
4140
|
-
checkInlineFunction?: boolean
|
|
4141
|
-
} | {
|
|
4142
|
-
eventHandlerPrefix?: false
|
|
4143
|
-
eventHandlerPropPrefix?: string
|
|
4144
|
-
checkLocalVariables?: boolean
|
|
4145
|
-
checkInlineFunction?: boolean
|
|
4146
|
-
} | {
|
|
4147
|
-
checkLocalVariables?: boolean
|
|
4148
|
-
} | {
|
|
4149
|
-
checkInlineFunction?: boolean
|
|
4150
|
-
})]
|
|
4151
|
-
// ----- react/jsx-indent -----
|
|
4152
|
-
type ReactJsxIndent = []|[("tab" | number)]|[("tab" | number), {
|
|
4153
|
-
checkAttributes?: boolean
|
|
4154
|
-
indentLogicalExpressions?: boolean
|
|
4155
|
-
}]
|
|
4156
|
-
// ----- react/jsx-indent-props -----
|
|
4157
|
-
type ReactJsxIndentProps = []|[(("tab" | "first") | number | {
|
|
4158
|
-
indentMode?: (("tab" | "first") | number)
|
|
4159
|
-
ignoreTernaryOperator?: boolean
|
|
4160
|
-
[k: string]: unknown | undefined
|
|
4161
|
-
})]
|
|
4162
|
-
// ----- react/jsx-key -----
|
|
4163
|
-
type ReactJsxKey = []|[{
|
|
4164
|
-
checkFragmentShorthand?: boolean
|
|
4165
|
-
checkKeyMustBeforeSpread?: boolean
|
|
4166
|
-
warnOnDuplicates?: boolean
|
|
4167
|
-
}]
|
|
4168
|
-
// ----- react/jsx-max-depth -----
|
|
4169
|
-
type ReactJsxMaxDepth = []|[{
|
|
4170
|
-
max?: number
|
|
4171
|
-
}]
|
|
4172
|
-
// ----- react/jsx-max-props-per-line -----
|
|
4173
|
-
type ReactJsxMaxPropsPerLine = []|[({
|
|
4174
|
-
maximum?: {
|
|
4175
|
-
single?: number
|
|
4176
|
-
multi?: number
|
|
4177
|
-
[k: string]: unknown | undefined
|
|
4178
|
-
}
|
|
4179
|
-
} | {
|
|
4180
|
-
maximum?: number
|
|
4181
|
-
when?: ("always" | "multiline")
|
|
4182
|
-
})]
|
|
4183
|
-
// ----- react/jsx-newline -----
|
|
4184
|
-
type ReactJsxNewline = []|[{
|
|
4185
|
-
prevent?: boolean
|
|
4186
|
-
allowMultilines?: boolean
|
|
4187
|
-
}]
|
|
4188
|
-
// ----- react/jsx-no-bind -----
|
|
4189
|
-
type ReactJsxNoBind = []|[{
|
|
4190
|
-
allowArrowFunctions?: boolean
|
|
4191
|
-
allowBind?: boolean
|
|
4192
|
-
allowFunctions?: boolean
|
|
4193
|
-
ignoreRefs?: boolean
|
|
4194
|
-
ignoreDOMComponents?: boolean
|
|
4195
|
-
}]
|
|
4196
|
-
// ----- react/jsx-no-duplicate-props -----
|
|
4197
|
-
type ReactJsxNoDuplicateProps = []|[{
|
|
4198
|
-
ignoreCase?: boolean
|
|
4199
|
-
}]
|
|
4200
|
-
// ----- react/jsx-no-leaked-render -----
|
|
4201
|
-
type ReactJsxNoLeakedRender = []|[{
|
|
4202
|
-
validStrategies?: ("ternary" | "coerce")[]
|
|
4203
|
-
}]
|
|
4204
|
-
// ----- react/jsx-no-literals -----
|
|
4205
|
-
type ReactJsxNoLiterals = []|[{
|
|
4206
|
-
noStrings?: boolean
|
|
4207
|
-
allowedStrings?: string[]
|
|
4208
|
-
ignoreProps?: boolean
|
|
4209
|
-
noAttributeStrings?: boolean
|
|
4210
|
-
}]
|
|
4211
|
-
// ----- react/jsx-no-script-url -----
|
|
4212
|
-
type ReactJsxNoScriptUrl = ([]|[{
|
|
4213
|
-
name: string
|
|
4214
|
-
props: string[]
|
|
4215
|
-
}[]]|[{
|
|
4216
|
-
name: string
|
|
4217
|
-
props: string[]
|
|
4218
|
-
}[], {
|
|
4219
|
-
includeFromSettings?: boolean
|
|
4220
|
-
[k: string]: unknown | undefined
|
|
4221
|
-
}] | []|[{
|
|
4222
|
-
includeFromSettings?: boolean
|
|
4223
|
-
[k: string]: unknown | undefined
|
|
4224
|
-
}])
|
|
4225
|
-
// ----- react/jsx-no-target-blank -----
|
|
4226
|
-
type ReactJsxNoTargetBlank = []|[{
|
|
4227
|
-
allowReferrer?: boolean
|
|
4228
|
-
enforceDynamicLinks?: ("always" | "never")
|
|
4229
|
-
warnOnSpreadAttributes?: boolean
|
|
4230
|
-
links?: boolean
|
|
4231
|
-
forms?: boolean
|
|
4232
|
-
}]
|
|
4233
|
-
// ----- react/jsx-no-undef -----
|
|
4234
|
-
type ReactJsxNoUndef = []|[{
|
|
4235
|
-
allowGlobals?: boolean
|
|
4236
|
-
}]
|
|
4237
|
-
// ----- react/jsx-no-useless-fragment -----
|
|
4238
|
-
type ReactJsxNoUselessFragment = []|[{
|
|
4239
|
-
allowExpressions?: boolean
|
|
4240
|
-
[k: string]: unknown | undefined
|
|
4241
|
-
}]
|
|
4242
|
-
// ----- react/jsx-one-expression-per-line -----
|
|
4243
|
-
type ReactJsxOneExpressionPerLine = []|[{
|
|
4244
|
-
allow?: ("none" | "literal" | "single-child" | "non-jsx")
|
|
4245
|
-
}]
|
|
4246
|
-
// ----- react/jsx-pascal-case -----
|
|
4247
|
-
type ReactJsxPascalCase = []|[{
|
|
4248
|
-
allowAllCaps?: boolean
|
|
4249
|
-
allowLeadingUnderscore?: boolean
|
|
4250
|
-
allowNamespace?: boolean
|
|
4251
|
-
|
|
4252
|
-
ignore?: []|[string]
|
|
4253
|
-
}]
|
|
4254
|
-
// ----- react/jsx-props-no-spreading -----
|
|
4255
|
-
type ReactJsxPropsNoSpreading = []|[({
|
|
4256
|
-
html?: ("enforce" | "ignore")
|
|
4257
|
-
custom?: ("enforce" | "ignore")
|
|
4258
|
-
exceptions?: string[]
|
|
4259
|
-
[k: string]: unknown | undefined
|
|
4260
|
-
} & {
|
|
4261
|
-
[k: string]: unknown | undefined
|
|
4262
|
-
})]
|
|
4263
|
-
// ----- react/jsx-sort-default-props -----
|
|
4264
|
-
type ReactJsxSortDefaultProps = []|[{
|
|
4265
|
-
ignoreCase?: boolean
|
|
4266
|
-
}]
|
|
4267
|
-
// ----- react/jsx-sort-props -----
|
|
4268
|
-
type ReactJsxSortProps = []|[{
|
|
4269
|
-
callbacksLast?: boolean
|
|
4270
|
-
shorthandFirst?: boolean
|
|
4271
|
-
shorthandLast?: boolean
|
|
4272
|
-
multiline?: ("ignore" | "first" | "last")
|
|
4273
|
-
ignoreCase?: boolean
|
|
4274
|
-
noSortAlphabetically?: boolean
|
|
4275
|
-
reservedFirst?: (unknown[] | boolean)
|
|
4276
|
-
locale?: string
|
|
4277
|
-
}]
|
|
4278
|
-
// ----- react/jsx-space-before-closing -----
|
|
4279
|
-
type ReactJsxSpaceBeforeClosing = []|[("always" | "never")]
|
|
4280
|
-
// ----- react/jsx-tag-spacing -----
|
|
4281
|
-
type ReactJsxTagSpacing = []|[{
|
|
4282
|
-
closingSlash?: ("always" | "never" | "allow")
|
|
4283
|
-
beforeSelfClosing?: ("always" | "proportional-always" | "never" | "allow")
|
|
4284
|
-
afterOpening?: ("always" | "allow-multiline" | "never" | "allow")
|
|
4285
|
-
beforeClosing?: ("always" | "proportional-always" | "never" | "allow")
|
|
4286
|
-
}]
|
|
4287
|
-
// ----- react/jsx-wrap-multilines -----
|
|
4288
|
-
type ReactJsxWrapMultilines = []|[{
|
|
4289
|
-
declaration?: (true | false | "ignore" | "parens" | "parens-new-line" | "never")
|
|
4290
|
-
assignment?: (true | false | "ignore" | "parens" | "parens-new-line" | "never")
|
|
4291
|
-
return?: (true | false | "ignore" | "parens" | "parens-new-line" | "never")
|
|
4292
|
-
arrow?: (true | false | "ignore" | "parens" | "parens-new-line" | "never")
|
|
4293
|
-
condition?: (true | false | "ignore" | "parens" | "parens-new-line" | "never")
|
|
4294
|
-
logical?: (true | false | "ignore" | "parens" | "parens-new-line" | "never")
|
|
4295
|
-
prop?: (true | false | "ignore" | "parens" | "parens-new-line" | "never")
|
|
4296
|
-
}]
|
|
4297
|
-
// ----- react/no-children-prop -----
|
|
4298
|
-
type ReactNoChildrenProp = []|[{
|
|
4299
|
-
allowFunctions?: boolean
|
|
4300
|
-
}]
|
|
4301
|
-
// ----- react/no-did-mount-set-state -----
|
|
4302
|
-
type ReactNoDidMountSetState = []|["disallow-in-func"]
|
|
4303
|
-
// ----- react/no-did-update-set-state -----
|
|
4304
|
-
type ReactNoDidUpdateSetState = []|["disallow-in-func"]
|
|
4305
|
-
// ----- react/no-invalid-html-attribute -----
|
|
4306
|
-
type ReactNoInvalidHtmlAttribute = []|[("rel")[]]
|
|
4307
|
-
// ----- react/no-multi-comp -----
|
|
4308
|
-
type ReactNoMultiComp = []|[{
|
|
4309
|
-
ignoreStateless?: boolean
|
|
4310
|
-
}]
|
|
4311
|
-
// ----- react/no-string-refs -----
|
|
4312
|
-
type ReactNoStringRefs = []|[{
|
|
4313
|
-
noTemplateLiterals?: boolean
|
|
4314
|
-
}]
|
|
4315
|
-
// ----- react/no-unescaped-entities -----
|
|
4316
|
-
type ReactNoUnescapedEntities = []|[{
|
|
4317
|
-
forbid?: (string | {
|
|
4318
|
-
char?: string
|
|
4319
|
-
alternatives?: string[]
|
|
4320
|
-
[k: string]: unknown | undefined
|
|
4321
|
-
})[]
|
|
4322
|
-
}]
|
|
4323
|
-
// ----- react/no-unknown-property -----
|
|
4324
|
-
type ReactNoUnknownProperty = []|[{
|
|
4325
|
-
ignore?: string[]
|
|
4326
|
-
requireDataLowercase?: boolean
|
|
4327
|
-
}]
|
|
4328
|
-
// ----- react/no-unsafe -----
|
|
4329
|
-
type ReactNoUnsafe = []|[{
|
|
4330
|
-
checkAliases?: boolean
|
|
4331
|
-
}]
|
|
4332
|
-
// ----- react/no-unstable-nested-components -----
|
|
4333
|
-
type ReactNoUnstableNestedComponents = []|[{
|
|
4334
|
-
customValidators?: string[]
|
|
4335
|
-
allowAsProps?: boolean
|
|
4336
|
-
}]
|
|
4337
|
-
// ----- react/no-unused-prop-types -----
|
|
4338
|
-
type ReactNoUnusedPropTypes = []|[{
|
|
4339
|
-
ignore?: string[]
|
|
4340
|
-
customValidators?: string[]
|
|
4341
|
-
skipShapeProps?: boolean
|
|
4342
|
-
}]
|
|
4343
|
-
// ----- react/no-will-update-set-state -----
|
|
4344
|
-
type ReactNoWillUpdateSetState = []|["disallow-in-func"]
|
|
4345
|
-
// ----- react/prefer-es6-class -----
|
|
4346
|
-
type ReactPreferEs6Class = []|[("always" | "never")]
|
|
4347
|
-
// ----- react/prefer-stateless-function -----
|
|
4348
|
-
type ReactPreferStatelessFunction = []|[{
|
|
4349
|
-
ignorePureComponents?: boolean
|
|
4350
|
-
}]
|
|
4351
|
-
// ----- react/prop-types -----
|
|
4352
|
-
type ReactPropTypes = []|[{
|
|
4353
|
-
ignore?: string[]
|
|
4354
|
-
customValidators?: string[]
|
|
4355
|
-
skipUndeclared?: boolean
|
|
4356
|
-
}]
|
|
4357
|
-
// ----- react/require-default-props -----
|
|
4358
|
-
type ReactRequireDefaultProps = []|[{
|
|
4359
|
-
forbidDefaultForRequired?: boolean
|
|
4360
|
-
classes?: ("defaultProps" | "ignore")
|
|
4361
|
-
functions?: ("defaultArguments" | "defaultProps" | "ignore")
|
|
4362
|
-
ignoreFunctionalComponents?: boolean
|
|
4363
|
-
}]
|
|
4364
|
-
// ----- react/require-optimization -----
|
|
4365
|
-
type ReactRequireOptimization = []|[{
|
|
4366
|
-
allowDecorators?: string[]
|
|
4367
|
-
}]
|
|
4368
|
-
// ----- react/self-closing-comp -----
|
|
4369
|
-
type ReactSelfClosingComp = []|[{
|
|
4370
|
-
component?: boolean
|
|
4371
|
-
html?: boolean
|
|
4372
|
-
}]
|
|
4373
|
-
// ----- react/sort-comp -----
|
|
4374
|
-
type ReactSortComp = []|[{
|
|
4375
|
-
order?: string[]
|
|
4376
|
-
groups?: {
|
|
4377
|
-
[k: string]: string[]
|
|
4378
|
-
}
|
|
4379
|
-
}]
|
|
4380
|
-
// ----- react/sort-default-props -----
|
|
4381
|
-
type ReactSortDefaultProps = []|[{
|
|
4382
|
-
ignoreCase?: boolean
|
|
4383
|
-
}]
|
|
4384
|
-
// ----- react/sort-prop-types -----
|
|
4385
|
-
type ReactSortPropTypes = []|[{
|
|
4386
|
-
requiredFirst?: boolean
|
|
4387
|
-
callbacksLast?: boolean
|
|
4388
|
-
ignoreCase?: boolean
|
|
4389
|
-
noSortAlphabetically?: boolean
|
|
4390
|
-
sortShapeProp?: boolean
|
|
4391
|
-
checkTypes?: boolean
|
|
4392
|
-
}]
|
|
4393
|
-
// ----- react/state-in-constructor -----
|
|
4394
|
-
type ReactStateInConstructor = []|[("always" | "never")]
|
|
4395
|
-
// ----- react/static-property-placement -----
|
|
4396
|
-
type ReactStaticPropertyPlacement = []|[("static public field" | "static getter" | "property assignment")]|[("static public field" | "static getter" | "property assignment"), {
|
|
4397
|
-
propTypes?: ("static public field" | "static getter" | "property assignment")
|
|
4398
|
-
defaultProps?: ("static public field" | "static getter" | "property assignment")
|
|
4399
|
-
childContextTypes?: ("static public field" | "static getter" | "property assignment")
|
|
4400
|
-
contextTypes?: ("static public field" | "static getter" | "property assignment")
|
|
4401
|
-
contextType?: ("static public field" | "static getter" | "property assignment")
|
|
4402
|
-
displayName?: ("static public field" | "static getter" | "property assignment")
|
|
4403
|
-
}]
|
|
4404
|
-
// ----- react/style-prop-object -----
|
|
4405
|
-
type ReactStylePropObject = []|[{
|
|
4406
|
-
allow?: string[]
|
|
4407
|
-
[k: string]: unknown | undefined
|
|
4408
|
-
}]
|
|
4409
3262
|
// ----- unicorn/better-regex -----
|
|
4410
3263
|
type UnicornBetterRegex = []|[{
|
|
4411
3264
|
sortCharacterClasses?: boolean
|