index.d.ts 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. export = plugin;
  2. /** @typedef {{ plugins: { react: typeof plugin }, rules: import('eslint').Linter.RulesRecord, languageOptions: { parserOptions: import('eslint').Linter.ParserOptions } }} ReactFlatConfig */
  3. /** @type {{ deprecatedRules: typeof deprecatedRules, rules: typeof allRules, configs: typeof configs & { flat: Record<string, ReactFlatConfig> }}} */
  4. declare const plugin: {
  5. deprecatedRules: typeof deprecatedRules;
  6. rules: typeof allRules;
  7. configs: typeof configs & {
  8. flat: Record<string, ReactFlatConfig>;
  9. };
  10. };
  11. declare namespace plugin {
  12. export { ReactFlatConfig };
  13. }
  14. /** @type {Partial<typeof allRules>} */
  15. declare const deprecatedRules: Partial<typeof allRules>;
  16. declare const allRules: {
  17. 'boolean-prop-naming': import("eslint").Rule.RuleModule;
  18. 'button-has-type': import("eslint").Rule.RuleModule;
  19. 'checked-requires-onchange-or-readonly': import("eslint").Rule.RuleModule;
  20. 'default-props-match-prop-types': import("eslint").Rule.RuleModule;
  21. 'destructuring-assignment': import("eslint").Rule.RuleModule;
  22. 'display-name': import("eslint").Rule.RuleModule;
  23. 'forbid-component-props': import("eslint").Rule.RuleModule;
  24. 'forbid-dom-props': import("eslint").Rule.RuleModule;
  25. 'forbid-elements': import("eslint").Rule.RuleModule;
  26. 'forbid-foreign-prop-types': import("eslint").Rule.RuleModule;
  27. 'forbid-prop-types': import("eslint").Rule.RuleModule;
  28. 'forward-ref-uses-ref': import("eslint").Rule.RuleModule;
  29. 'function-component-definition': import("eslint").Rule.RuleModule;
  30. 'hook-use-state': import("eslint").Rule.RuleModule;
  31. 'iframe-missing-sandbox': import("eslint").Rule.RuleModule;
  32. 'jsx-boolean-value': import("eslint").Rule.RuleModule;
  33. 'jsx-child-element-spacing': import("eslint").Rule.RuleModule;
  34. 'jsx-closing-bracket-location': import("eslint").Rule.RuleModule;
  35. 'jsx-closing-tag-location': import("eslint").Rule.RuleModule;
  36. 'jsx-curly-spacing': import("eslint").Rule.RuleModule;
  37. 'jsx-curly-newline': import("eslint").Rule.RuleModule;
  38. 'jsx-equals-spacing': import("eslint").Rule.RuleModule;
  39. 'jsx-filename-extension': import("eslint").Rule.RuleModule;
  40. 'jsx-first-prop-new-line': import("eslint").Rule.RuleModule;
  41. 'jsx-handler-names': import("eslint").Rule.RuleModule;
  42. 'jsx-indent': import("eslint").Rule.RuleModule;
  43. 'jsx-indent-props': import("eslint").Rule.RuleModule;
  44. 'jsx-key': import("eslint").Rule.RuleModule;
  45. 'jsx-max-depth': import("eslint").Rule.RuleModule;
  46. 'jsx-max-props-per-line': import("eslint").Rule.RuleModule;
  47. 'jsx-newline': import("eslint").Rule.RuleModule;
  48. 'jsx-no-bind': import("eslint").Rule.RuleModule;
  49. 'jsx-no-comment-textnodes': import("eslint").Rule.RuleModule;
  50. 'jsx-no-constructed-context-values': import("eslint").Rule.RuleModule;
  51. 'jsx-no-duplicate-props': import("eslint").Rule.RuleModule;
  52. 'jsx-no-leaked-render': import("eslint").Rule.RuleModule;
  53. 'jsx-no-literals': import("eslint").Rule.RuleModule;
  54. 'jsx-no-script-url': import("eslint").Rule.RuleModule;
  55. 'jsx-no-target-blank': import("eslint").Rule.RuleModule;
  56. 'jsx-no-useless-fragment': import("eslint").Rule.RuleModule;
  57. 'jsx-one-expression-per-line': import("eslint").Rule.RuleModule;
  58. 'jsx-no-undef': import("eslint").Rule.RuleModule;
  59. 'jsx-curly-brace-presence': import("eslint").Rule.RuleModule;
  60. 'jsx-pascal-case': import("eslint").Rule.RuleModule;
  61. 'jsx-fragments': import("eslint").Rule.RuleModule;
  62. 'jsx-props-no-multi-spaces': import("eslint").Rule.RuleModule;
  63. 'jsx-props-no-spreading': import("eslint").Rule.RuleModule;
  64. 'jsx-props-no-spread-multi': import("eslint").Rule.RuleModule;
  65. 'jsx-sort-default-props': import("eslint").Rule.RuleModule;
  66. 'jsx-sort-props': import("eslint").Rule.RuleModule;
  67. 'jsx-space-before-closing': import("eslint").Rule.RuleModule;
  68. 'jsx-tag-spacing': import("eslint").Rule.RuleModule;
  69. 'jsx-uses-react': import("eslint").Rule.RuleModule;
  70. 'jsx-uses-vars': import("eslint").Rule.RuleModule;
  71. 'jsx-wrap-multilines': import("eslint").Rule.RuleModule;
  72. 'no-invalid-html-attribute': import("eslint").Rule.RuleModule;
  73. 'no-access-state-in-setstate': import("eslint").Rule.RuleModule;
  74. 'no-adjacent-inline-elements': import("eslint").Rule.RuleModule;
  75. 'no-array-index-key': import("eslint").Rule.RuleModule;
  76. 'no-arrow-function-lifecycle': import("eslint").Rule.RuleModule;
  77. 'no-children-prop': import("eslint").Rule.RuleModule;
  78. 'no-danger': import("eslint").Rule.RuleModule;
  79. 'no-danger-with-children': import("eslint").Rule.RuleModule;
  80. 'no-deprecated': import("eslint").Rule.RuleModule;
  81. 'no-did-mount-set-state': import("eslint").Rule.RuleModule;
  82. 'no-did-update-set-state': import("eslint").Rule.RuleModule;
  83. 'no-direct-mutation-state': import("eslint").Rule.RuleModule;
  84. 'no-find-dom-node': import("eslint").Rule.RuleModule;
  85. 'no-is-mounted': import("eslint").Rule.RuleModule;
  86. 'no-multi-comp': import("eslint").Rule.RuleModule;
  87. 'no-namespace': import("eslint").Rule.RuleModule;
  88. 'no-set-state': import("eslint").Rule.RuleModule;
  89. 'no-string-refs': import("eslint").Rule.RuleModule;
  90. 'no-redundant-should-component-update': import("eslint").Rule.RuleModule;
  91. 'no-render-return-value': import("eslint").Rule.RuleModule;
  92. 'no-this-in-sfc': import("eslint").Rule.RuleModule;
  93. 'no-typos': import("eslint").Rule.RuleModule;
  94. 'no-unescaped-entities': import("eslint").Rule.RuleModule;
  95. 'no-unknown-property': import("eslint").Rule.RuleModule;
  96. 'no-unsafe': import("eslint").Rule.RuleModule;
  97. 'no-unstable-nested-components': import("eslint").Rule.RuleModule;
  98. 'no-unused-class-component-methods': import("eslint").Rule.RuleModule;
  99. 'no-unused-prop-types': import("eslint").Rule.RuleModule;
  100. 'no-unused-state': import("eslint").Rule.RuleModule;
  101. 'no-object-type-as-default-prop': import("eslint").Rule.RuleModule;
  102. 'no-will-update-set-state': import("eslint").Rule.RuleModule;
  103. 'prefer-es6-class': import("eslint").Rule.RuleModule;
  104. 'prefer-exact-props': import("eslint").Rule.RuleModule;
  105. 'prefer-read-only-props': import("eslint").Rule.RuleModule;
  106. 'prefer-stateless-function': import("eslint").Rule.RuleModule;
  107. 'prop-types': import("eslint").Rule.RuleModule;
  108. 'react-in-jsx-scope': import("eslint").Rule.RuleModule;
  109. 'require-default-props': import("eslint").Rule.RuleModule;
  110. 'require-optimization': import("eslint").Rule.RuleModule;
  111. 'require-render-return': import("eslint").Rule.RuleModule;
  112. 'self-closing-comp': import("eslint").Rule.RuleModule;
  113. 'sort-comp': import("eslint").Rule.RuleModule;
  114. 'sort-default-props': import("eslint").Rule.RuleModule;
  115. 'sort-prop-types': import("eslint").Rule.RuleModule;
  116. 'state-in-constructor': import("eslint").Rule.RuleModule;
  117. 'static-property-placement': import("eslint").Rule.RuleModule;
  118. 'style-prop-object': import("eslint").Rule.RuleModule;
  119. 'void-dom-elements-no-children': import("eslint").Rule.RuleModule;
  120. };
  121. declare const configs: {
  122. recommended: {
  123. plugins: ["react"];
  124. parserOptions: {
  125. ecmaFeatures: {
  126. jsx: boolean;
  127. };
  128. };
  129. rules: {
  130. 'react/display-name': 2;
  131. 'react/jsx-key': 2;
  132. 'react/jsx-no-comment-textnodes': 2;
  133. 'react/jsx-no-duplicate-props': 2;
  134. 'react/jsx-no-target-blank': 2;
  135. 'react/jsx-no-undef': 2;
  136. 'react/jsx-uses-react': 2;
  137. 'react/jsx-uses-vars': 2;
  138. 'react/no-children-prop': 2;
  139. 'react/no-danger-with-children': 2;
  140. 'react/no-deprecated': 2;
  141. 'react/no-direct-mutation-state': 2;
  142. 'react/no-find-dom-node': 2;
  143. 'react/no-is-mounted': 2;
  144. 'react/no-render-return-value': 2;
  145. 'react/no-string-refs': 2;
  146. 'react/no-unescaped-entities': 2;
  147. 'react/no-unknown-property': 2;
  148. 'react/no-unsafe': 0;
  149. 'react/prop-types': 2;
  150. 'react/react-in-jsx-scope': 2;
  151. 'react/require-render-return': 2;
  152. };
  153. };
  154. all: {
  155. plugins: ["react"];
  156. parserOptions: {
  157. ecmaFeatures: {
  158. jsx: boolean;
  159. };
  160. };
  161. rules: Record<"boolean-prop-naming" | "button-has-type" | "checked-requires-onchange-or-readonly" | "default-props-match-prop-types" | "destructuring-assignment" | "display-name" | "forbid-component-props" | "forbid-dom-props" | "forbid-elements" | "forbid-foreign-prop-types" | "forbid-prop-types" | "prop-types" | "forward-ref-uses-ref" | "function-component-definition" | "hook-use-state" | "iframe-missing-sandbox" | "jsx-boolean-value" | "jsx-child-element-spacing" | "jsx-closing-bracket-location" | "jsx-closing-tag-location" | "jsx-curly-spacing" | "jsx-curly-newline" | "jsx-equals-spacing" | "jsx-filename-extension" | "jsx-first-prop-new-line" | "jsx-handler-names" | "jsx-indent" | "jsx-indent-props" | "jsx-key" | "jsx-max-depth" | "jsx-max-props-per-line" | "jsx-newline" | "jsx-no-bind" | "jsx-no-comment-textnodes" | "jsx-no-constructed-context-values" | "jsx-no-duplicate-props" | "jsx-no-leaked-render" | "jsx-no-literals" | "jsx-no-script-url" | "jsx-no-target-blank" | "jsx-no-useless-fragment" | "jsx-one-expression-per-line" | "jsx-no-undef" | "jsx-curly-brace-presence" | "jsx-pascal-case" | "jsx-fragments" | "jsx-props-no-multi-spaces" | "jsx-props-no-spreading" | "jsx-props-no-spread-multi" | "sort-default-props" | "jsx-sort-default-props" | "jsx-sort-props" | "jsx-tag-spacing" | "jsx-space-before-closing" | "jsx-uses-react" | "jsx-uses-vars" | "jsx-wrap-multilines" | "no-invalid-html-attribute" | "no-access-state-in-setstate" | "no-adjacent-inline-elements" | "no-array-index-key" | "no-arrow-function-lifecycle" | "no-children-prop" | "no-danger" | "no-danger-with-children" | "no-deprecated" | "no-direct-mutation-state" | "no-find-dom-node" | "no-is-mounted" | "no-multi-comp" | "no-namespace" | "no-set-state" | "no-string-refs" | "no-redundant-should-component-update" | "no-render-return-value" | "no-this-in-sfc" | "no-typos" | "no-unescaped-entities" | "no-unknown-property" | "no-unsafe" | "no-unstable-nested-components" | "no-unused-class-component-methods" | "no-unused-prop-types" | "no-unused-state" | "no-object-type-as-default-prop" | "prefer-es6-class" | "prefer-exact-props" | "prefer-read-only-props" | "prefer-stateless-function" | "react-in-jsx-scope" | "require-default-props" | "require-optimization" | "require-render-return" | "self-closing-comp" | "sort-comp" | "sort-prop-types" | "state-in-constructor" | "static-property-placement" | "style-prop-object" | "void-dom-elements-no-children" | "no-did-mount-set-state" | "no-did-update-set-state" | "no-will-update-set-state", 2 | "error">;
  162. };
  163. 'jsx-runtime': {
  164. plugins: ["react"];
  165. parserOptions: {
  166. ecmaFeatures: {
  167. jsx: boolean;
  168. };
  169. jsxPragma: any;
  170. };
  171. rules: {
  172. 'react/react-in-jsx-scope': 0;
  173. 'react/jsx-uses-react': 0;
  174. };
  175. };
  176. flat: Record<string, ReactFlatConfig>;
  177. };
  178. type ReactFlatConfig = {
  179. plugins: {
  180. react: typeof plugin;
  181. };
  182. rules: import('eslint').Linter.RulesRecord;
  183. languageOptions: {
  184. parserOptions: import('eslint').Linter.ParserOptions;
  185. };
  186. };
  187. //# sourceMappingURL=index.d.ts.map