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