[0c6b92a] | 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': {
|
---|
| 29 | meta: {
|
---|
| 30 | docs: {
|
---|
| 31 | description: string;
|
---|
| 32 | category: string;
|
---|
| 33 | recommended: boolean;
|
---|
| 34 | url: string;
|
---|
| 35 | };
|
---|
| 36 | messages: {
|
---|
| 37 | missingRefParameter: string;
|
---|
| 38 | addRefParameter: string;
|
---|
| 39 | removeForwardRef: string;
|
---|
| 40 | };
|
---|
| 41 | schema: undefined[];
|
---|
| 42 | type: string;
|
---|
| 43 | hasSuggestions: boolean;
|
---|
| 44 | };
|
---|
| 45 | create(context: any): {
|
---|
| 46 | 'FunctionExpression, ArrowFunctionExpression'(node: any): void;
|
---|
| 47 | };
|
---|
| 48 | };
|
---|
| 49 | 'function-component-definition': import("eslint").Rule.RuleModule;
|
---|
| 50 | 'hook-use-state': import("eslint").Rule.RuleModule;
|
---|
| 51 | 'iframe-missing-sandbox': import("eslint").Rule.RuleModule;
|
---|
| 52 | 'jsx-boolean-value': import("eslint").Rule.RuleModule;
|
---|
| 53 | 'jsx-child-element-spacing': import("eslint").Rule.RuleModule;
|
---|
| 54 | 'jsx-closing-bracket-location': import("eslint").Rule.RuleModule;
|
---|
| 55 | 'jsx-closing-tag-location': import("eslint").Rule.RuleModule;
|
---|
| 56 | 'jsx-curly-spacing': import("eslint").Rule.RuleModule;
|
---|
| 57 | 'jsx-curly-newline': import("eslint").Rule.RuleModule;
|
---|
| 58 | 'jsx-equals-spacing': import("eslint").Rule.RuleModule;
|
---|
| 59 | 'jsx-filename-extension': import("eslint").Rule.RuleModule;
|
---|
| 60 | 'jsx-first-prop-new-line': import("eslint").Rule.RuleModule;
|
---|
| 61 | 'jsx-handler-names': import("eslint").Rule.RuleModule;
|
---|
| 62 | 'jsx-indent': import("eslint").Rule.RuleModule;
|
---|
| 63 | 'jsx-indent-props': import("eslint").Rule.RuleModule;
|
---|
| 64 | 'jsx-key': import("eslint").Rule.RuleModule;
|
---|
| 65 | 'jsx-max-depth': import("eslint").Rule.RuleModule;
|
---|
| 66 | 'jsx-max-props-per-line': import("eslint").Rule.RuleModule;
|
---|
| 67 | 'jsx-newline': import("eslint").Rule.RuleModule;
|
---|
| 68 | 'jsx-no-bind': import("eslint").Rule.RuleModule;
|
---|
| 69 | 'jsx-no-comment-textnodes': import("eslint").Rule.RuleModule;
|
---|
| 70 | 'jsx-no-constructed-context-values': import("eslint").Rule.RuleModule;
|
---|
| 71 | 'jsx-no-duplicate-props': import("eslint").Rule.RuleModule;
|
---|
| 72 | 'jsx-no-leaked-render': import("eslint").Rule.RuleModule;
|
---|
| 73 | 'jsx-no-literals': {
|
---|
| 74 | meta: import("eslint").Rule.RuleMetaData;
|
---|
| 75 | create(context: any): (false & {
|
---|
| 76 | Literal(node: any): void;
|
---|
| 77 | JSXAttribute(node: any): void;
|
---|
| 78 | JSXText(node: any): void;
|
---|
| 79 | TemplateLiteral(node: any): void;
|
---|
| 80 | }) | ({
|
---|
| 81 | ImportDeclaration(node: any): void;
|
---|
| 82 | VariableDeclaration(node: any): void;
|
---|
| 83 | } & {
|
---|
| 84 | Literal(node: any): void;
|
---|
| 85 | JSXAttribute(node: any): void;
|
---|
| 86 | JSXText(node: any): void;
|
---|
| 87 | TemplateLiteral(node: any): void;
|
---|
| 88 | });
|
---|
| 89 | };
|
---|
| 90 | 'jsx-no-script-url': import("eslint").Rule.RuleModule;
|
---|
| 91 | 'jsx-no-target-blank': import("eslint").Rule.RuleModule;
|
---|
| 92 | 'jsx-no-useless-fragment': import("eslint").Rule.RuleModule;
|
---|
| 93 | 'jsx-one-expression-per-line': import("eslint").Rule.RuleModule;
|
---|
| 94 | 'jsx-no-undef': import("eslint").Rule.RuleModule;
|
---|
| 95 | 'jsx-curly-brace-presence': import("eslint").Rule.RuleModule;
|
---|
| 96 | 'jsx-pascal-case': import("eslint").Rule.RuleModule;
|
---|
| 97 | 'jsx-fragments': import("eslint").Rule.RuleModule;
|
---|
| 98 | 'jsx-props-no-multi-spaces': import("eslint").Rule.RuleModule;
|
---|
| 99 | 'jsx-props-no-spreading': import("eslint").Rule.RuleModule;
|
---|
| 100 | 'jsx-props-no-spread-multi': {
|
---|
| 101 | meta: {
|
---|
| 102 | docs: {
|
---|
| 103 | description: string; /** @type {Record<keyof typeof activeRules, 2 | 'error'>} */
|
---|
| 104 | category: string;
|
---|
| 105 | recommended: boolean;
|
---|
| 106 | url: string;
|
---|
| 107 | };
|
---|
| 108 | /** @type {Partial<typeof allRules>} */
|
---|
| 109 | messages: {
|
---|
| 110 | noMultiSpreading: string;
|
---|
| 111 | };
|
---|
| 112 | };
|
---|
| 113 | create(context: any): {
|
---|
| 114 | JSXOpeningElement(node: any): void;
|
---|
| 115 | };
|
---|
| 116 | };
|
---|
| 117 | 'jsx-sort-default-props': import("eslint").Rule.RuleModule;
|
---|
| 118 | 'jsx-sort-props': import("eslint").Rule.RuleModule;
|
---|
| 119 | 'jsx-space-before-closing': import("eslint").Rule.RuleModule;
|
---|
| 120 | 'jsx-tag-spacing': import("eslint").Rule.RuleModule;
|
---|
| 121 | 'jsx-uses-react': import("eslint").Rule.RuleModule;
|
---|
| 122 | 'jsx-uses-vars': import("eslint").Rule.RuleModule;
|
---|
| 123 | 'jsx-wrap-multilines': import("eslint").Rule.RuleModule;
|
---|
| 124 | 'no-invalid-html-attribute': import("eslint").Rule.RuleModule;
|
---|
| 125 | 'no-access-state-in-setstate': import("eslint").Rule.RuleModule;
|
---|
| 126 | 'no-adjacent-inline-elements': import("eslint").Rule.RuleModule;
|
---|
| 127 | 'no-array-index-key': import("eslint").Rule.RuleModule;
|
---|
| 128 | 'no-arrow-function-lifecycle': import("eslint").Rule.RuleModule;
|
---|
| 129 | 'no-children-prop': import("eslint").Rule.RuleModule;
|
---|
| 130 | 'no-danger': import("eslint").Rule.RuleModule;
|
---|
| 131 | 'no-danger-with-children': import("eslint").Rule.RuleModule;
|
---|
| 132 | 'no-deprecated': import("eslint").Rule.RuleModule;
|
---|
| 133 | 'no-did-mount-set-state': import("eslint").Rule.RuleModule;
|
---|
| 134 | 'no-did-update-set-state': import("eslint").Rule.RuleModule;
|
---|
| 135 | 'no-direct-mutation-state': import("eslint").Rule.RuleModule;
|
---|
| 136 | 'no-find-dom-node': import("eslint").Rule.RuleModule;
|
---|
| 137 | 'no-is-mounted': import("eslint").Rule.RuleModule;
|
---|
| 138 | 'no-multi-comp': import("eslint").Rule.RuleModule;
|
---|
| 139 | 'no-namespace': import("eslint").Rule.RuleModule;
|
---|
| 140 | 'no-set-state': import("eslint").Rule.RuleModule;
|
---|
| 141 | 'no-string-refs': import("eslint").Rule.RuleModule;
|
---|
| 142 | 'no-redundant-should-component-update': import("eslint").Rule.RuleModule;
|
---|
| 143 | 'no-render-return-value': import("eslint").Rule.RuleModule;
|
---|
| 144 | 'no-this-in-sfc': import("eslint").Rule.RuleModule;
|
---|
| 145 | 'no-typos': import("eslint").Rule.RuleModule;
|
---|
| 146 | 'no-unescaped-entities': import("eslint").Rule.RuleModule;
|
---|
| 147 | 'no-unknown-property': import("eslint").Rule.RuleModule;
|
---|
| 148 | 'no-unsafe': import("eslint").Rule.RuleModule;
|
---|
| 149 | 'no-unstable-nested-components': import("eslint").Rule.RuleModule;
|
---|
| 150 | 'no-unused-class-component-methods': import("eslint").Rule.RuleModule;
|
---|
| 151 | 'no-unused-prop-types': import("eslint").Rule.RuleModule;
|
---|
| 152 | 'no-unused-state': import("eslint").Rule.RuleModule;
|
---|
| 153 | 'no-object-type-as-default-prop': import("eslint").Rule.RuleModule;
|
---|
| 154 | 'no-will-update-set-state': import("eslint").Rule.RuleModule;
|
---|
| 155 | 'prefer-es6-class': import("eslint").Rule.RuleModule;
|
---|
| 156 | 'prefer-exact-props': import("eslint").Rule.RuleModule;
|
---|
| 157 | 'prefer-read-only-props': import("eslint").Rule.RuleModule;
|
---|
| 158 | 'prefer-stateless-function': import("eslint").Rule.RuleModule;
|
---|
| 159 | 'prop-types': import("eslint").Rule.RuleModule;
|
---|
| 160 | 'react-in-jsx-scope': import("eslint").Rule.RuleModule;
|
---|
| 161 | 'require-default-props': import("eslint").Rule.RuleModule;
|
---|
| 162 | 'require-optimization': import("eslint").Rule.RuleModule;
|
---|
| 163 | 'require-render-return': import("eslint").Rule.RuleModule;
|
---|
| 164 | 'self-closing-comp': import("eslint").Rule.RuleModule;
|
---|
| 165 | 'sort-comp': import("eslint").Rule.RuleModule;
|
---|
| 166 | 'sort-default-props': import("eslint").Rule.RuleModule;
|
---|
| 167 | 'sort-prop-types': import("eslint").Rule.RuleModule;
|
---|
| 168 | 'state-in-constructor': import("eslint").Rule.RuleModule;
|
---|
| 169 | 'static-property-placement': import("eslint").Rule.RuleModule;
|
---|
| 170 | 'style-prop-object': import("eslint").Rule.RuleModule;
|
---|
| 171 | 'void-dom-elements-no-children': import("eslint").Rule.RuleModule;
|
---|
| 172 | };
|
---|
| 173 | declare const configs: {
|
---|
| 174 | recommended: {
|
---|
| 175 | plugins: ["react"];
|
---|
| 176 | parserOptions: {
|
---|
| 177 | ecmaFeatures: {
|
---|
| 178 | jsx: boolean;
|
---|
| 179 | };
|
---|
| 180 | };
|
---|
| 181 | rules: {
|
---|
| 182 | 'react/display-name': number;
|
---|
| 183 | 'react/jsx-key': number;
|
---|
| 184 | 'react/jsx-no-comment-textnodes': number;
|
---|
| 185 | 'react/jsx-no-duplicate-props': number;
|
---|
| 186 | 'react/jsx-no-target-blank': number;
|
---|
| 187 | 'react/jsx-no-undef': number;
|
---|
| 188 | 'react/jsx-uses-react': number;
|
---|
| 189 | 'react/jsx-uses-vars': number;
|
---|
| 190 | 'react/no-children-prop': number;
|
---|
| 191 | 'react/no-danger-with-children': number;
|
---|
| 192 | 'react/no-deprecated': number;
|
---|
| 193 | 'react/no-direct-mutation-state': number;
|
---|
| 194 | 'react/no-find-dom-node': number;
|
---|
| 195 | 'react/no-is-mounted': number;
|
---|
| 196 | 'react/no-render-return-value': number;
|
---|
| 197 | 'react/no-string-refs': number;
|
---|
| 198 | 'react/no-unescaped-entities': number;
|
---|
| 199 | 'react/no-unknown-property': number;
|
---|
| 200 | 'react/no-unsafe': number;
|
---|
| 201 | 'react/prop-types': number;
|
---|
| 202 | 'react/react-in-jsx-scope': number;
|
---|
| 203 | 'react/require-render-return': number;
|
---|
| 204 | };
|
---|
| 205 | };
|
---|
| 206 | all: {
|
---|
| 207 | plugins: ["react"];
|
---|
| 208 | parserOptions: {
|
---|
| 209 | ecmaFeatures: {
|
---|
| 210 | jsx: boolean;
|
---|
| 211 | };
|
---|
| 212 | };
|
---|
| 213 | 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">;
|
---|
| 214 | };
|
---|
| 215 | 'jsx-runtime': {
|
---|
| 216 | plugins: ["react"];
|
---|
| 217 | parserOptions: {
|
---|
| 218 | ecmaFeatures: {
|
---|
| 219 | jsx: boolean;
|
---|
| 220 | };
|
---|
| 221 | jsxPragma: any;
|
---|
| 222 | };
|
---|
| 223 | rules: {
|
---|
| 224 | 'react/react-in-jsx-scope': number;
|
---|
| 225 | 'react/jsx-uses-react': number;
|
---|
| 226 | };
|
---|
| 227 | };
|
---|
| 228 | };
|
---|
| 229 | type ReactFlatConfig = {
|
---|
| 230 | plugins: {
|
---|
| 231 | react: typeof plugin;
|
---|
| 232 | };
|
---|
| 233 | rules: import('eslint').Linter.RulesRecord;
|
---|
| 234 | languageOptions: {
|
---|
| 235 | parserOptions: import('eslint').Linter.ParserOptions;
|
---|
| 236 | };
|
---|
| 237 | };
|
---|
| 238 | //# sourceMappingURL=index.d.ts.map |
---|