rhine-lint 1.0.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.
@@ -0,0 +1,810 @@
1
+ export default function createConfig(overrides?: {}): (({
2
+ rules: Record<string, 0 | "off">;
3
+ } & {
4
+ name: "config-prettier";
5
+ }) | import("eslint/config").Config | tseslint.FlatConfig.Config | {
6
+ plugins: {
7
+ '@next/next': typeof nextPlugin;
8
+ react: {
9
+ deprecatedRules: Partial<{
10
+ 'boolean-prop-naming': import("eslint").Rule.RuleModule;
11
+ 'button-has-type': import("eslint").Rule.RuleModule;
12
+ 'checked-requires-onchange-or-readonly': import("eslint").Rule.RuleModule;
13
+ 'default-props-match-prop-types': import("eslint").Rule.RuleModule;
14
+ 'destructuring-assignment': import("eslint").Rule.RuleModule;
15
+ 'display-name': import("eslint").Rule.RuleModule;
16
+ 'forbid-component-props': import("eslint").Rule.RuleModule;
17
+ 'forbid-dom-props': import("eslint").Rule.RuleModule;
18
+ 'forbid-elements': import("eslint").Rule.RuleModule;
19
+ 'forbid-foreign-prop-types': import("eslint").Rule.RuleModule;
20
+ 'forbid-prop-types': import("eslint").Rule.RuleModule;
21
+ 'forward-ref-uses-ref': import("eslint").Rule.RuleModule;
22
+ 'function-component-definition': import("eslint").Rule.RuleModule;
23
+ 'hook-use-state': import("eslint").Rule.RuleModule;
24
+ 'iframe-missing-sandbox': import("eslint").Rule.RuleModule;
25
+ 'jsx-boolean-value': import("eslint").Rule.RuleModule;
26
+ 'jsx-child-element-spacing': import("eslint").Rule.RuleModule;
27
+ 'jsx-closing-bracket-location': import("eslint").Rule.RuleModule;
28
+ 'jsx-closing-tag-location': import("eslint").Rule.RuleModule;
29
+ 'jsx-curly-spacing': import("eslint").Rule.RuleModule;
30
+ 'jsx-curly-newline': import("eslint").Rule.RuleModule;
31
+ 'jsx-equals-spacing': import("eslint").Rule.RuleModule;
32
+ 'jsx-filename-extension': import("eslint").Rule.RuleModule;
33
+ 'jsx-first-prop-new-line': import("eslint").Rule.RuleModule;
34
+ 'jsx-handler-names': import("eslint").Rule.RuleModule;
35
+ 'jsx-indent': import("eslint").Rule.RuleModule;
36
+ 'jsx-indent-props': import("eslint").Rule.RuleModule;
37
+ 'jsx-key': import("eslint").Rule.RuleModule;
38
+ 'jsx-max-depth': import("eslint").Rule.RuleModule;
39
+ 'jsx-max-props-per-line': import("eslint").Rule.RuleModule;
40
+ 'jsx-newline': import("eslint").Rule.RuleModule;
41
+ 'jsx-no-bind': import("eslint").Rule.RuleModule;
42
+ 'jsx-no-comment-textnodes': import("eslint").Rule.RuleModule;
43
+ 'jsx-no-constructed-context-values': import("eslint").Rule.RuleModule;
44
+ 'jsx-no-duplicate-props': import("eslint").Rule.RuleModule;
45
+ 'jsx-no-leaked-render': import("eslint").Rule.RuleModule;
46
+ 'jsx-no-literals': import("eslint").Rule.RuleModule;
47
+ 'jsx-no-script-url': import("eslint").Rule.RuleModule;
48
+ 'jsx-no-target-blank': import("eslint").Rule.RuleModule;
49
+ 'jsx-no-useless-fragment': import("eslint").Rule.RuleModule;
50
+ 'jsx-one-expression-per-line': import("eslint").Rule.RuleModule;
51
+ 'jsx-no-undef': import("eslint").Rule.RuleModule;
52
+ 'jsx-curly-brace-presence': import("eslint").Rule.RuleModule;
53
+ 'jsx-pascal-case': import("eslint").Rule.RuleModule;
54
+ 'jsx-fragments': import("eslint").Rule.RuleModule;
55
+ 'jsx-props-no-multi-spaces': import("eslint").Rule.RuleModule;
56
+ 'jsx-props-no-spreading': import("eslint").Rule.RuleModule;
57
+ 'jsx-props-no-spread-multi': import("eslint").Rule.RuleModule;
58
+ 'jsx-sort-default-props': import("eslint").Rule.RuleModule;
59
+ 'jsx-sort-props': import("eslint").Rule.RuleModule;
60
+ 'jsx-space-before-closing': import("eslint").Rule.RuleModule;
61
+ 'jsx-tag-spacing': import("eslint").Rule.RuleModule;
62
+ 'jsx-uses-react': import("eslint").Rule.RuleModule;
63
+ 'jsx-uses-vars': import("eslint").Rule.RuleModule;
64
+ 'jsx-wrap-multilines': import("eslint").Rule.RuleModule;
65
+ 'no-invalid-html-attribute': import("eslint").Rule.RuleModule;
66
+ 'no-access-state-in-setstate': import("eslint").Rule.RuleModule;
67
+ 'no-adjacent-inline-elements': import("eslint").Rule.RuleModule;
68
+ 'no-array-index-key': import("eslint").Rule.RuleModule;
69
+ 'no-arrow-function-lifecycle': import("eslint").Rule.RuleModule;
70
+ 'no-children-prop': import("eslint").Rule.RuleModule;
71
+ 'no-danger': import("eslint").Rule.RuleModule;
72
+ 'no-danger-with-children': import("eslint").Rule.RuleModule;
73
+ 'no-deprecated': import("eslint").Rule.RuleModule;
74
+ 'no-did-mount-set-state': import("eslint").Rule.RuleModule;
75
+ 'no-did-update-set-state': import("eslint").Rule.RuleModule;
76
+ 'no-direct-mutation-state': import("eslint").Rule.RuleModule;
77
+ 'no-find-dom-node': import("eslint").Rule.RuleModule;
78
+ 'no-is-mounted': import("eslint").Rule.RuleModule;
79
+ 'no-multi-comp': import("eslint").Rule.RuleModule;
80
+ 'no-namespace': import("eslint").Rule.RuleModule;
81
+ 'no-set-state': import("eslint").Rule.RuleModule;
82
+ 'no-string-refs': import("eslint").Rule.RuleModule;
83
+ 'no-redundant-should-component-update': import("eslint").Rule.RuleModule;
84
+ 'no-render-return-value': import("eslint").Rule.RuleModule;
85
+ 'no-this-in-sfc': import("eslint").Rule.RuleModule;
86
+ 'no-typos': import("eslint").Rule.RuleModule;
87
+ 'no-unescaped-entities': import("eslint").Rule.RuleModule;
88
+ 'no-unknown-property': import("eslint").Rule.RuleModule;
89
+ 'no-unsafe': import("eslint").Rule.RuleModule;
90
+ 'no-unstable-nested-components': import("eslint").Rule.RuleModule;
91
+ 'no-unused-class-component-methods': import("eslint").Rule.RuleModule;
92
+ 'no-unused-prop-types': import("eslint").Rule.RuleModule;
93
+ 'no-unused-state': import("eslint").Rule.RuleModule;
94
+ 'no-object-type-as-default-prop': import("eslint").Rule.RuleModule;
95
+ 'no-will-update-set-state': import("eslint").Rule.RuleModule;
96
+ 'prefer-es6-class': import("eslint").Rule.RuleModule;
97
+ 'prefer-exact-props': import("eslint").Rule.RuleModule;
98
+ 'prefer-read-only-props': import("eslint").Rule.RuleModule;
99
+ 'prefer-stateless-function': import("eslint").Rule.RuleModule;
100
+ 'prop-types': import("eslint").Rule.RuleModule;
101
+ 'react-in-jsx-scope': import("eslint").Rule.RuleModule;
102
+ 'require-default-props': import("eslint").Rule.RuleModule;
103
+ 'require-optimization': import("eslint").Rule.RuleModule;
104
+ 'require-render-return': import("eslint").Rule.RuleModule;
105
+ 'self-closing-comp': import("eslint").Rule.RuleModule;
106
+ 'sort-comp': import("eslint").Rule.RuleModule;
107
+ 'sort-default-props': import("eslint").Rule.RuleModule;
108
+ 'sort-prop-types': import("eslint").Rule.RuleModule;
109
+ 'state-in-constructor': import("eslint").Rule.RuleModule;
110
+ 'static-property-placement': import("eslint").Rule.RuleModule;
111
+ 'style-prop-object': import("eslint").Rule.RuleModule;
112
+ 'void-dom-elements-no-children': import("eslint").Rule.RuleModule;
113
+ }>;
114
+ rules: {
115
+ 'boolean-prop-naming': import("eslint").Rule.RuleModule;
116
+ 'button-has-type': import("eslint").Rule.RuleModule;
117
+ 'checked-requires-onchange-or-readonly': import("eslint").Rule.RuleModule;
118
+ 'default-props-match-prop-types': import("eslint").Rule.RuleModule;
119
+ 'destructuring-assignment': import("eslint").Rule.RuleModule;
120
+ 'display-name': import("eslint").Rule.RuleModule;
121
+ 'forbid-component-props': import("eslint").Rule.RuleModule;
122
+ 'forbid-dom-props': import("eslint").Rule.RuleModule;
123
+ 'forbid-elements': import("eslint").Rule.RuleModule;
124
+ 'forbid-foreign-prop-types': import("eslint").Rule.RuleModule;
125
+ 'forbid-prop-types': import("eslint").Rule.RuleModule;
126
+ 'forward-ref-uses-ref': import("eslint").Rule.RuleModule;
127
+ 'function-component-definition': import("eslint").Rule.RuleModule;
128
+ 'hook-use-state': import("eslint").Rule.RuleModule;
129
+ 'iframe-missing-sandbox': import("eslint").Rule.RuleModule;
130
+ 'jsx-boolean-value': import("eslint").Rule.RuleModule;
131
+ 'jsx-child-element-spacing': import("eslint").Rule.RuleModule;
132
+ 'jsx-closing-bracket-location': import("eslint").Rule.RuleModule;
133
+ 'jsx-closing-tag-location': import("eslint").Rule.RuleModule;
134
+ 'jsx-curly-spacing': import("eslint").Rule.RuleModule;
135
+ 'jsx-curly-newline': import("eslint").Rule.RuleModule;
136
+ 'jsx-equals-spacing': import("eslint").Rule.RuleModule;
137
+ 'jsx-filename-extension': import("eslint").Rule.RuleModule;
138
+ 'jsx-first-prop-new-line': import("eslint").Rule.RuleModule;
139
+ 'jsx-handler-names': import("eslint").Rule.RuleModule;
140
+ 'jsx-indent': import("eslint").Rule.RuleModule;
141
+ 'jsx-indent-props': import("eslint").Rule.RuleModule;
142
+ 'jsx-key': import("eslint").Rule.RuleModule;
143
+ 'jsx-max-depth': import("eslint").Rule.RuleModule;
144
+ 'jsx-max-props-per-line': import("eslint").Rule.RuleModule;
145
+ 'jsx-newline': import("eslint").Rule.RuleModule;
146
+ 'jsx-no-bind': import("eslint").Rule.RuleModule;
147
+ 'jsx-no-comment-textnodes': import("eslint").Rule.RuleModule;
148
+ 'jsx-no-constructed-context-values': import("eslint").Rule.RuleModule;
149
+ 'jsx-no-duplicate-props': import("eslint").Rule.RuleModule;
150
+ 'jsx-no-leaked-render': import("eslint").Rule.RuleModule;
151
+ 'jsx-no-literals': import("eslint").Rule.RuleModule;
152
+ 'jsx-no-script-url': import("eslint").Rule.RuleModule;
153
+ 'jsx-no-target-blank': import("eslint").Rule.RuleModule;
154
+ 'jsx-no-useless-fragment': import("eslint").Rule.RuleModule;
155
+ 'jsx-one-expression-per-line': import("eslint").Rule.RuleModule;
156
+ 'jsx-no-undef': import("eslint").Rule.RuleModule;
157
+ 'jsx-curly-brace-presence': import("eslint").Rule.RuleModule;
158
+ 'jsx-pascal-case': import("eslint").Rule.RuleModule;
159
+ 'jsx-fragments': import("eslint").Rule.RuleModule;
160
+ 'jsx-props-no-multi-spaces': import("eslint").Rule.RuleModule;
161
+ 'jsx-props-no-spreading': import("eslint").Rule.RuleModule;
162
+ 'jsx-props-no-spread-multi': import("eslint").Rule.RuleModule;
163
+ 'jsx-sort-default-props': import("eslint").Rule.RuleModule;
164
+ 'jsx-sort-props': import("eslint").Rule.RuleModule;
165
+ 'jsx-space-before-closing': import("eslint").Rule.RuleModule;
166
+ 'jsx-tag-spacing': import("eslint").Rule.RuleModule;
167
+ 'jsx-uses-react': import("eslint").Rule.RuleModule;
168
+ 'jsx-uses-vars': import("eslint").Rule.RuleModule;
169
+ 'jsx-wrap-multilines': import("eslint").Rule.RuleModule;
170
+ 'no-invalid-html-attribute': import("eslint").Rule.RuleModule;
171
+ 'no-access-state-in-setstate': import("eslint").Rule.RuleModule;
172
+ 'no-adjacent-inline-elements': import("eslint").Rule.RuleModule;
173
+ 'no-array-index-key': import("eslint").Rule.RuleModule;
174
+ 'no-arrow-function-lifecycle': import("eslint").Rule.RuleModule;
175
+ 'no-children-prop': import("eslint").Rule.RuleModule;
176
+ 'no-danger': import("eslint").Rule.RuleModule;
177
+ 'no-danger-with-children': import("eslint").Rule.RuleModule;
178
+ 'no-deprecated': import("eslint").Rule.RuleModule;
179
+ 'no-did-mount-set-state': import("eslint").Rule.RuleModule;
180
+ 'no-did-update-set-state': import("eslint").Rule.RuleModule;
181
+ 'no-direct-mutation-state': import("eslint").Rule.RuleModule;
182
+ 'no-find-dom-node': import("eslint").Rule.RuleModule;
183
+ 'no-is-mounted': import("eslint").Rule.RuleModule;
184
+ 'no-multi-comp': import("eslint").Rule.RuleModule;
185
+ 'no-namespace': import("eslint").Rule.RuleModule;
186
+ 'no-set-state': import("eslint").Rule.RuleModule;
187
+ 'no-string-refs': import("eslint").Rule.RuleModule;
188
+ 'no-redundant-should-component-update': import("eslint").Rule.RuleModule;
189
+ 'no-render-return-value': import("eslint").Rule.RuleModule;
190
+ 'no-this-in-sfc': import("eslint").Rule.RuleModule;
191
+ 'no-typos': import("eslint").Rule.RuleModule;
192
+ 'no-unescaped-entities': import("eslint").Rule.RuleModule;
193
+ 'no-unknown-property': import("eslint").Rule.RuleModule;
194
+ 'no-unsafe': import("eslint").Rule.RuleModule;
195
+ 'no-unstable-nested-components': import("eslint").Rule.RuleModule;
196
+ 'no-unused-class-component-methods': import("eslint").Rule.RuleModule;
197
+ 'no-unused-prop-types': import("eslint").Rule.RuleModule;
198
+ 'no-unused-state': import("eslint").Rule.RuleModule;
199
+ 'no-object-type-as-default-prop': import("eslint").Rule.RuleModule;
200
+ 'no-will-update-set-state': import("eslint").Rule.RuleModule;
201
+ 'prefer-es6-class': import("eslint").Rule.RuleModule;
202
+ 'prefer-exact-props': import("eslint").Rule.RuleModule;
203
+ 'prefer-read-only-props': import("eslint").Rule.RuleModule;
204
+ 'prefer-stateless-function': import("eslint").Rule.RuleModule;
205
+ 'prop-types': import("eslint").Rule.RuleModule;
206
+ 'react-in-jsx-scope': import("eslint").Rule.RuleModule;
207
+ 'require-default-props': import("eslint").Rule.RuleModule;
208
+ 'require-optimization': import("eslint").Rule.RuleModule;
209
+ 'require-render-return': import("eslint").Rule.RuleModule;
210
+ 'self-closing-comp': import("eslint").Rule.RuleModule;
211
+ 'sort-comp': import("eslint").Rule.RuleModule;
212
+ 'sort-default-props': import("eslint").Rule.RuleModule;
213
+ 'sort-prop-types': import("eslint").Rule.RuleModule;
214
+ 'state-in-constructor': import("eslint").Rule.RuleModule;
215
+ 'static-property-placement': import("eslint").Rule.RuleModule;
216
+ 'style-prop-object': import("eslint").Rule.RuleModule;
217
+ 'void-dom-elements-no-children': import("eslint").Rule.RuleModule;
218
+ };
219
+ configs: {
220
+ recommended: {
221
+ plugins: ["react"];
222
+ parserOptions: {
223
+ ecmaFeatures: {
224
+ jsx: boolean;
225
+ };
226
+ };
227
+ rules: {
228
+ "react/display-name": 2;
229
+ "react/jsx-key": 2;
230
+ "react/jsx-no-comment-textnodes": 2;
231
+ "react/jsx-no-duplicate-props": 2;
232
+ "react/jsx-no-target-blank": 2;
233
+ "react/jsx-no-undef": 2;
234
+ "react/jsx-uses-react": 2;
235
+ "react/jsx-uses-vars": 2;
236
+ "react/no-children-prop": 2;
237
+ "react/no-danger-with-children": 2;
238
+ "react/no-deprecated": 2;
239
+ "react/no-direct-mutation-state": 2;
240
+ "react/no-find-dom-node": 2;
241
+ "react/no-is-mounted": 2;
242
+ "react/no-render-return-value": 2;
243
+ "react/no-string-refs": 2;
244
+ "react/no-unescaped-entities": 2;
245
+ "react/no-unknown-property": 2;
246
+ "react/no-unsafe": 0;
247
+ "react/prop-types": 2;
248
+ "react/react-in-jsx-scope": 2;
249
+ "react/require-render-return": 2;
250
+ };
251
+ };
252
+ all: {
253
+ plugins: ["react"];
254
+ parserOptions: {
255
+ ecmaFeatures: {
256
+ jsx: boolean;
257
+ };
258
+ };
259
+ 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">;
260
+ };
261
+ 'jsx-runtime': {
262
+ plugins: ["react"];
263
+ parserOptions: {
264
+ ecmaFeatures: {
265
+ jsx: boolean;
266
+ };
267
+ jsxPragma: any;
268
+ };
269
+ rules: {
270
+ "react/react-in-jsx-scope": 0;
271
+ "react/jsx-uses-react": 0;
272
+ };
273
+ };
274
+ flat: Record<string, reactPlugin.ReactFlatConfig>;
275
+ } & {
276
+ flat: Record<string, reactPlugin.ReactFlatConfig>;
277
+ };
278
+ };
279
+ 'react-hooks': {
280
+ meta: {
281
+ name: string;
282
+ version: string;
283
+ };
284
+ rules: {
285
+ "exhaustive-deps": {
286
+ meta: {
287
+ type: "suggestion";
288
+ docs: {
289
+ description: string;
290
+ recommended: true;
291
+ url: string;
292
+ };
293
+ fixable: "code";
294
+ hasSuggestions: true;
295
+ schema: {
296
+ type: "object";
297
+ additionalProperties: false;
298
+ enableDangerousAutofixThisMayCauseInfiniteLoops: boolean;
299
+ properties: {
300
+ additionalHooks: {
301
+ type: "string";
302
+ };
303
+ enableDangerousAutofixThisMayCauseInfiniteLoops: {
304
+ type: "boolean";
305
+ };
306
+ experimental_autoDependenciesHooks: {
307
+ type: "array";
308
+ items: {
309
+ type: "string";
310
+ };
311
+ };
312
+ requireExplicitEffectDeps: {
313
+ type: "boolean";
314
+ };
315
+ };
316
+ }[];
317
+ };
318
+ create(context: import("eslint").Rule.RuleContext): {
319
+ CallExpression: (node: import("estree").CallExpression) => void;
320
+ };
321
+ };
322
+ "rules-of-hooks": {
323
+ meta: {
324
+ type: "problem";
325
+ docs: {
326
+ description: string;
327
+ recommended: true;
328
+ url: string;
329
+ };
330
+ schema: {
331
+ type: "object";
332
+ additionalProperties: false;
333
+ properties: {
334
+ additionalHooks: {
335
+ type: "string";
336
+ };
337
+ };
338
+ }[];
339
+ };
340
+ create(context: import("eslint").Rule.RuleContext): {
341
+ "*"(node: any): void;
342
+ "*:exit"(node: any): void;
343
+ CallExpression(node: import("estree").CallExpression & import("eslint").Rule.NodeParentExtension): void;
344
+ Identifier(node: import("estree").Identifier & import("eslint").Rule.NodeParentExtension): void;
345
+ "CallExpression:exit"(node: import("estree").CallExpression & import("eslint").Rule.NodeParentExtension): void;
346
+ FunctionDeclaration(node: import("estree").FunctionDeclaration & import("eslint").Rule.NodeParentExtension): void;
347
+ ArrowFunctionExpression(node: import("estree").ArrowFunctionExpression & import("eslint").Rule.NodeParentExtension): void;
348
+ };
349
+ };
350
+ };
351
+ configs: {
352
+ recommended: {
353
+ plugins: string[];
354
+ rules: import("eslint").Linter.RulesRecord;
355
+ };
356
+ "recommended-latest": {
357
+ plugins: string[];
358
+ rules: import("eslint").Linter.RulesRecord;
359
+ };
360
+ flat: {
361
+ recommended: {
362
+ plugins: {
363
+ react: any;
364
+ };
365
+ rules: import("eslint").Linter.RulesRecord;
366
+ };
367
+ "recommended-latest": {
368
+ plugins: {
369
+ react: any;
370
+ };
371
+ rules: import("eslint").Linter.RulesRecord;
372
+ };
373
+ };
374
+ };
375
+ };
376
+ };
377
+ settings: {
378
+ react: {
379
+ version: string;
380
+ };
381
+ };
382
+ rules: {
383
+ "react/react-in-jsx-scope": string;
384
+ "react/prop-types": string;
385
+ 'react/display-name': 2;
386
+ 'react/jsx-key': 2;
387
+ 'react/jsx-no-comment-textnodes': 2;
388
+ 'react/jsx-no-duplicate-props': 2;
389
+ 'react/jsx-no-target-blank': 2;
390
+ 'react/jsx-no-undef': 2;
391
+ 'react/jsx-uses-react': 2;
392
+ 'react/jsx-uses-vars': 2;
393
+ 'react/no-children-prop': 2;
394
+ 'react/no-danger-with-children': 2;
395
+ 'react/no-deprecated': 2;
396
+ 'react/no-direct-mutation-state': 2;
397
+ 'react/no-find-dom-node': 2;
398
+ 'react/no-is-mounted': 2;
399
+ 'react/no-render-return-value': 2;
400
+ 'react/no-string-refs': 2;
401
+ 'react/no-unescaped-entities': 2;
402
+ 'react/no-unknown-property': 2;
403
+ 'react/no-unsafe': 0;
404
+ 'react/require-render-return': 2;
405
+ };
406
+ } | {
407
+ plugins: {
408
+ react: {
409
+ deprecatedRules: Partial<{
410
+ 'boolean-prop-naming': import("eslint").Rule.RuleModule;
411
+ 'button-has-type': import("eslint").Rule.RuleModule;
412
+ 'checked-requires-onchange-or-readonly': import("eslint").Rule.RuleModule;
413
+ 'default-props-match-prop-types': import("eslint").Rule.RuleModule;
414
+ 'destructuring-assignment': import("eslint").Rule.RuleModule;
415
+ 'display-name': import("eslint").Rule.RuleModule;
416
+ 'forbid-component-props': import("eslint").Rule.RuleModule;
417
+ 'forbid-dom-props': import("eslint").Rule.RuleModule;
418
+ 'forbid-elements': import("eslint").Rule.RuleModule;
419
+ 'forbid-foreign-prop-types': import("eslint").Rule.RuleModule;
420
+ 'forbid-prop-types': import("eslint").Rule.RuleModule;
421
+ 'forward-ref-uses-ref': import("eslint").Rule.RuleModule;
422
+ 'function-component-definition': import("eslint").Rule.RuleModule;
423
+ 'hook-use-state': import("eslint").Rule.RuleModule;
424
+ 'iframe-missing-sandbox': import("eslint").Rule.RuleModule;
425
+ 'jsx-boolean-value': import("eslint").Rule.RuleModule;
426
+ 'jsx-child-element-spacing': import("eslint").Rule.RuleModule;
427
+ 'jsx-closing-bracket-location': import("eslint").Rule.RuleModule;
428
+ 'jsx-closing-tag-location': import("eslint").Rule.RuleModule;
429
+ 'jsx-curly-spacing': import("eslint").Rule.RuleModule;
430
+ 'jsx-curly-newline': import("eslint").Rule.RuleModule;
431
+ 'jsx-equals-spacing': import("eslint").Rule.RuleModule;
432
+ 'jsx-filename-extension': import("eslint").Rule.RuleModule;
433
+ 'jsx-first-prop-new-line': import("eslint").Rule.RuleModule;
434
+ 'jsx-handler-names': import("eslint").Rule.RuleModule;
435
+ 'jsx-indent': import("eslint").Rule.RuleModule;
436
+ 'jsx-indent-props': import("eslint").Rule.RuleModule;
437
+ 'jsx-key': import("eslint").Rule.RuleModule;
438
+ 'jsx-max-depth': import("eslint").Rule.RuleModule;
439
+ 'jsx-max-props-per-line': import("eslint").Rule.RuleModule;
440
+ 'jsx-newline': import("eslint").Rule.RuleModule;
441
+ 'jsx-no-bind': import("eslint").Rule.RuleModule;
442
+ 'jsx-no-comment-textnodes': import("eslint").Rule.RuleModule;
443
+ 'jsx-no-constructed-context-values': import("eslint").Rule.RuleModule;
444
+ 'jsx-no-duplicate-props': import("eslint").Rule.RuleModule;
445
+ 'jsx-no-leaked-render': import("eslint").Rule.RuleModule;
446
+ 'jsx-no-literals': import("eslint").Rule.RuleModule;
447
+ 'jsx-no-script-url': import("eslint").Rule.RuleModule;
448
+ 'jsx-no-target-blank': import("eslint").Rule.RuleModule;
449
+ 'jsx-no-useless-fragment': import("eslint").Rule.RuleModule;
450
+ 'jsx-one-expression-per-line': import("eslint").Rule.RuleModule;
451
+ 'jsx-no-undef': import("eslint").Rule.RuleModule;
452
+ 'jsx-curly-brace-presence': import("eslint").Rule.RuleModule;
453
+ 'jsx-pascal-case': import("eslint").Rule.RuleModule;
454
+ 'jsx-fragments': import("eslint").Rule.RuleModule;
455
+ 'jsx-props-no-multi-spaces': import("eslint").Rule.RuleModule;
456
+ 'jsx-props-no-spreading': import("eslint").Rule.RuleModule;
457
+ 'jsx-props-no-spread-multi': import("eslint").Rule.RuleModule;
458
+ 'jsx-sort-default-props': import("eslint").Rule.RuleModule;
459
+ 'jsx-sort-props': import("eslint").Rule.RuleModule;
460
+ 'jsx-space-before-closing': import("eslint").Rule.RuleModule;
461
+ 'jsx-tag-spacing': import("eslint").Rule.RuleModule;
462
+ 'jsx-uses-react': import("eslint").Rule.RuleModule;
463
+ 'jsx-uses-vars': import("eslint").Rule.RuleModule;
464
+ 'jsx-wrap-multilines': import("eslint").Rule.RuleModule;
465
+ 'no-invalid-html-attribute': import("eslint").Rule.RuleModule;
466
+ 'no-access-state-in-setstate': import("eslint").Rule.RuleModule;
467
+ 'no-adjacent-inline-elements': import("eslint").Rule.RuleModule;
468
+ 'no-array-index-key': import("eslint").Rule.RuleModule;
469
+ 'no-arrow-function-lifecycle': import("eslint").Rule.RuleModule;
470
+ 'no-children-prop': import("eslint").Rule.RuleModule;
471
+ 'no-danger': import("eslint").Rule.RuleModule;
472
+ 'no-danger-with-children': import("eslint").Rule.RuleModule;
473
+ 'no-deprecated': import("eslint").Rule.RuleModule;
474
+ 'no-did-mount-set-state': import("eslint").Rule.RuleModule;
475
+ 'no-did-update-set-state': import("eslint").Rule.RuleModule;
476
+ 'no-direct-mutation-state': import("eslint").Rule.RuleModule;
477
+ 'no-find-dom-node': import("eslint").Rule.RuleModule;
478
+ 'no-is-mounted': import("eslint").Rule.RuleModule;
479
+ 'no-multi-comp': import("eslint").Rule.RuleModule;
480
+ 'no-namespace': import("eslint").Rule.RuleModule;
481
+ 'no-set-state': import("eslint").Rule.RuleModule;
482
+ 'no-string-refs': import("eslint").Rule.RuleModule;
483
+ 'no-redundant-should-component-update': import("eslint").Rule.RuleModule;
484
+ 'no-render-return-value': import("eslint").Rule.RuleModule;
485
+ 'no-this-in-sfc': import("eslint").Rule.RuleModule;
486
+ 'no-typos': import("eslint").Rule.RuleModule;
487
+ 'no-unescaped-entities': import("eslint").Rule.RuleModule;
488
+ 'no-unknown-property': import("eslint").Rule.RuleModule;
489
+ 'no-unsafe': import("eslint").Rule.RuleModule;
490
+ 'no-unstable-nested-components': import("eslint").Rule.RuleModule;
491
+ 'no-unused-class-component-methods': import("eslint").Rule.RuleModule;
492
+ 'no-unused-prop-types': import("eslint").Rule.RuleModule;
493
+ 'no-unused-state': import("eslint").Rule.RuleModule;
494
+ 'no-object-type-as-default-prop': import("eslint").Rule.RuleModule;
495
+ 'no-will-update-set-state': import("eslint").Rule.RuleModule;
496
+ 'prefer-es6-class': import("eslint").Rule.RuleModule;
497
+ 'prefer-exact-props': import("eslint").Rule.RuleModule;
498
+ 'prefer-read-only-props': import("eslint").Rule.RuleModule;
499
+ 'prefer-stateless-function': import("eslint").Rule.RuleModule;
500
+ 'prop-types': import("eslint").Rule.RuleModule;
501
+ 'react-in-jsx-scope': import("eslint").Rule.RuleModule;
502
+ 'require-default-props': import("eslint").Rule.RuleModule;
503
+ 'require-optimization': import("eslint").Rule.RuleModule;
504
+ 'require-render-return': import("eslint").Rule.RuleModule;
505
+ 'self-closing-comp': import("eslint").Rule.RuleModule;
506
+ 'sort-comp': import("eslint").Rule.RuleModule;
507
+ 'sort-default-props': import("eslint").Rule.RuleModule;
508
+ 'sort-prop-types': import("eslint").Rule.RuleModule;
509
+ 'state-in-constructor': import("eslint").Rule.RuleModule;
510
+ 'static-property-placement': import("eslint").Rule.RuleModule;
511
+ 'style-prop-object': import("eslint").Rule.RuleModule;
512
+ 'void-dom-elements-no-children': import("eslint").Rule.RuleModule;
513
+ }>;
514
+ rules: {
515
+ 'boolean-prop-naming': import("eslint").Rule.RuleModule;
516
+ 'button-has-type': import("eslint").Rule.RuleModule;
517
+ 'checked-requires-onchange-or-readonly': import("eslint").Rule.RuleModule;
518
+ 'default-props-match-prop-types': import("eslint").Rule.RuleModule;
519
+ 'destructuring-assignment': import("eslint").Rule.RuleModule;
520
+ 'display-name': import("eslint").Rule.RuleModule;
521
+ 'forbid-component-props': import("eslint").Rule.RuleModule;
522
+ 'forbid-dom-props': import("eslint").Rule.RuleModule;
523
+ 'forbid-elements': import("eslint").Rule.RuleModule;
524
+ 'forbid-foreign-prop-types': import("eslint").Rule.RuleModule;
525
+ 'forbid-prop-types': import("eslint").Rule.RuleModule;
526
+ 'forward-ref-uses-ref': import("eslint").Rule.RuleModule;
527
+ 'function-component-definition': import("eslint").Rule.RuleModule;
528
+ 'hook-use-state': import("eslint").Rule.RuleModule;
529
+ 'iframe-missing-sandbox': import("eslint").Rule.RuleModule;
530
+ 'jsx-boolean-value': import("eslint").Rule.RuleModule;
531
+ 'jsx-child-element-spacing': import("eslint").Rule.RuleModule;
532
+ 'jsx-closing-bracket-location': import("eslint").Rule.RuleModule;
533
+ 'jsx-closing-tag-location': import("eslint").Rule.RuleModule;
534
+ 'jsx-curly-spacing': import("eslint").Rule.RuleModule;
535
+ 'jsx-curly-newline': import("eslint").Rule.RuleModule;
536
+ 'jsx-equals-spacing': import("eslint").Rule.RuleModule;
537
+ 'jsx-filename-extension': import("eslint").Rule.RuleModule;
538
+ 'jsx-first-prop-new-line': import("eslint").Rule.RuleModule;
539
+ 'jsx-handler-names': import("eslint").Rule.RuleModule;
540
+ 'jsx-indent': import("eslint").Rule.RuleModule;
541
+ 'jsx-indent-props': import("eslint").Rule.RuleModule;
542
+ 'jsx-key': import("eslint").Rule.RuleModule;
543
+ 'jsx-max-depth': import("eslint").Rule.RuleModule;
544
+ 'jsx-max-props-per-line': import("eslint").Rule.RuleModule;
545
+ 'jsx-newline': import("eslint").Rule.RuleModule;
546
+ 'jsx-no-bind': import("eslint").Rule.RuleModule;
547
+ 'jsx-no-comment-textnodes': import("eslint").Rule.RuleModule;
548
+ 'jsx-no-constructed-context-values': import("eslint").Rule.RuleModule;
549
+ 'jsx-no-duplicate-props': import("eslint").Rule.RuleModule;
550
+ 'jsx-no-leaked-render': import("eslint").Rule.RuleModule;
551
+ 'jsx-no-literals': import("eslint").Rule.RuleModule;
552
+ 'jsx-no-script-url': import("eslint").Rule.RuleModule;
553
+ 'jsx-no-target-blank': import("eslint").Rule.RuleModule;
554
+ 'jsx-no-useless-fragment': import("eslint").Rule.RuleModule;
555
+ 'jsx-one-expression-per-line': import("eslint").Rule.RuleModule;
556
+ 'jsx-no-undef': import("eslint").Rule.RuleModule;
557
+ 'jsx-curly-brace-presence': import("eslint").Rule.RuleModule;
558
+ 'jsx-pascal-case': import("eslint").Rule.RuleModule;
559
+ 'jsx-fragments': import("eslint").Rule.RuleModule;
560
+ 'jsx-props-no-multi-spaces': import("eslint").Rule.RuleModule;
561
+ 'jsx-props-no-spreading': import("eslint").Rule.RuleModule;
562
+ 'jsx-props-no-spread-multi': import("eslint").Rule.RuleModule;
563
+ 'jsx-sort-default-props': import("eslint").Rule.RuleModule;
564
+ 'jsx-sort-props': import("eslint").Rule.RuleModule;
565
+ 'jsx-space-before-closing': import("eslint").Rule.RuleModule;
566
+ 'jsx-tag-spacing': import("eslint").Rule.RuleModule;
567
+ 'jsx-uses-react': import("eslint").Rule.RuleModule;
568
+ 'jsx-uses-vars': import("eslint").Rule.RuleModule;
569
+ 'jsx-wrap-multilines': import("eslint").Rule.RuleModule;
570
+ 'no-invalid-html-attribute': import("eslint").Rule.RuleModule;
571
+ 'no-access-state-in-setstate': import("eslint").Rule.RuleModule;
572
+ 'no-adjacent-inline-elements': import("eslint").Rule.RuleModule;
573
+ 'no-array-index-key': import("eslint").Rule.RuleModule;
574
+ 'no-arrow-function-lifecycle': import("eslint").Rule.RuleModule;
575
+ 'no-children-prop': import("eslint").Rule.RuleModule;
576
+ 'no-danger': import("eslint").Rule.RuleModule;
577
+ 'no-danger-with-children': import("eslint").Rule.RuleModule;
578
+ 'no-deprecated': import("eslint").Rule.RuleModule;
579
+ 'no-did-mount-set-state': import("eslint").Rule.RuleModule;
580
+ 'no-did-update-set-state': import("eslint").Rule.RuleModule;
581
+ 'no-direct-mutation-state': import("eslint").Rule.RuleModule;
582
+ 'no-find-dom-node': import("eslint").Rule.RuleModule;
583
+ 'no-is-mounted': import("eslint").Rule.RuleModule;
584
+ 'no-multi-comp': import("eslint").Rule.RuleModule;
585
+ 'no-namespace': import("eslint").Rule.RuleModule;
586
+ 'no-set-state': import("eslint").Rule.RuleModule;
587
+ 'no-string-refs': import("eslint").Rule.RuleModule;
588
+ 'no-redundant-should-component-update': import("eslint").Rule.RuleModule;
589
+ 'no-render-return-value': import("eslint").Rule.RuleModule;
590
+ 'no-this-in-sfc': import("eslint").Rule.RuleModule;
591
+ 'no-typos': import("eslint").Rule.RuleModule;
592
+ 'no-unescaped-entities': import("eslint").Rule.RuleModule;
593
+ 'no-unknown-property': import("eslint").Rule.RuleModule;
594
+ 'no-unsafe': import("eslint").Rule.RuleModule;
595
+ 'no-unstable-nested-components': import("eslint").Rule.RuleModule;
596
+ 'no-unused-class-component-methods': import("eslint").Rule.RuleModule;
597
+ 'no-unused-prop-types': import("eslint").Rule.RuleModule;
598
+ 'no-unused-state': import("eslint").Rule.RuleModule;
599
+ 'no-object-type-as-default-prop': import("eslint").Rule.RuleModule;
600
+ 'no-will-update-set-state': import("eslint").Rule.RuleModule;
601
+ 'prefer-es6-class': import("eslint").Rule.RuleModule;
602
+ 'prefer-exact-props': import("eslint").Rule.RuleModule;
603
+ 'prefer-read-only-props': import("eslint").Rule.RuleModule;
604
+ 'prefer-stateless-function': import("eslint").Rule.RuleModule;
605
+ 'prop-types': import("eslint").Rule.RuleModule;
606
+ 'react-in-jsx-scope': import("eslint").Rule.RuleModule;
607
+ 'require-default-props': import("eslint").Rule.RuleModule;
608
+ 'require-optimization': import("eslint").Rule.RuleModule;
609
+ 'require-render-return': import("eslint").Rule.RuleModule;
610
+ 'self-closing-comp': import("eslint").Rule.RuleModule;
611
+ 'sort-comp': import("eslint").Rule.RuleModule;
612
+ 'sort-default-props': import("eslint").Rule.RuleModule;
613
+ 'sort-prop-types': import("eslint").Rule.RuleModule;
614
+ 'state-in-constructor': import("eslint").Rule.RuleModule;
615
+ 'static-property-placement': import("eslint").Rule.RuleModule;
616
+ 'style-prop-object': import("eslint").Rule.RuleModule;
617
+ 'void-dom-elements-no-children': import("eslint").Rule.RuleModule;
618
+ };
619
+ configs: {
620
+ recommended: {
621
+ plugins: ["react"];
622
+ parserOptions: {
623
+ ecmaFeatures: {
624
+ jsx: boolean;
625
+ };
626
+ };
627
+ rules: {
628
+ "react/display-name": 2;
629
+ "react/jsx-key": 2;
630
+ "react/jsx-no-comment-textnodes": 2;
631
+ "react/jsx-no-duplicate-props": 2;
632
+ "react/jsx-no-target-blank": 2;
633
+ "react/jsx-no-undef": 2;
634
+ "react/jsx-uses-react": 2;
635
+ "react/jsx-uses-vars": 2;
636
+ "react/no-children-prop": 2;
637
+ "react/no-danger-with-children": 2;
638
+ "react/no-deprecated": 2;
639
+ "react/no-direct-mutation-state": 2;
640
+ "react/no-find-dom-node": 2;
641
+ "react/no-is-mounted": 2;
642
+ "react/no-render-return-value": 2;
643
+ "react/no-string-refs": 2;
644
+ "react/no-unescaped-entities": 2;
645
+ "react/no-unknown-property": 2;
646
+ "react/no-unsafe": 0;
647
+ "react/prop-types": 2;
648
+ "react/react-in-jsx-scope": 2;
649
+ "react/require-render-return": 2;
650
+ };
651
+ };
652
+ all: {
653
+ plugins: ["react"];
654
+ parserOptions: {
655
+ ecmaFeatures: {
656
+ jsx: boolean;
657
+ };
658
+ };
659
+ 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">;
660
+ };
661
+ 'jsx-runtime': {
662
+ plugins: ["react"];
663
+ parserOptions: {
664
+ ecmaFeatures: {
665
+ jsx: boolean;
666
+ };
667
+ jsxPragma: any;
668
+ };
669
+ rules: {
670
+ "react/react-in-jsx-scope": 0;
671
+ "react/jsx-uses-react": 0;
672
+ };
673
+ };
674
+ flat: Record<string, reactPlugin.ReactFlatConfig>;
675
+ } & {
676
+ flat: Record<string, reactPlugin.ReactFlatConfig>;
677
+ };
678
+ };
679
+ 'react-hooks': {
680
+ meta: {
681
+ name: string;
682
+ version: string;
683
+ };
684
+ rules: {
685
+ "exhaustive-deps": {
686
+ meta: {
687
+ type: "suggestion";
688
+ docs: {
689
+ description: string;
690
+ recommended: true;
691
+ url: string;
692
+ };
693
+ fixable: "code";
694
+ hasSuggestions: true;
695
+ schema: {
696
+ type: "object";
697
+ additionalProperties: false;
698
+ enableDangerousAutofixThisMayCauseInfiniteLoops: boolean;
699
+ properties: {
700
+ additionalHooks: {
701
+ type: "string";
702
+ };
703
+ enableDangerousAutofixThisMayCauseInfiniteLoops: {
704
+ type: "boolean";
705
+ };
706
+ experimental_autoDependenciesHooks: {
707
+ type: "array";
708
+ items: {
709
+ type: "string";
710
+ };
711
+ };
712
+ requireExplicitEffectDeps: {
713
+ type: "boolean";
714
+ };
715
+ };
716
+ }[];
717
+ };
718
+ create(context: import("eslint").Rule.RuleContext): {
719
+ CallExpression: (node: import("estree").CallExpression) => void;
720
+ };
721
+ };
722
+ "rules-of-hooks": {
723
+ meta: {
724
+ type: "problem";
725
+ docs: {
726
+ description: string;
727
+ recommended: true;
728
+ url: string;
729
+ };
730
+ schema: {
731
+ type: "object";
732
+ additionalProperties: false;
733
+ properties: {
734
+ additionalHooks: {
735
+ type: "string";
736
+ };
737
+ };
738
+ }[];
739
+ };
740
+ create(context: import("eslint").Rule.RuleContext): {
741
+ "*"(node: any): void;
742
+ "*:exit"(node: any): void;
743
+ CallExpression(node: import("estree").CallExpression & import("eslint").Rule.NodeParentExtension): void;
744
+ Identifier(node: import("estree").Identifier & import("eslint").Rule.NodeParentExtension): void;
745
+ "CallExpression:exit"(node: import("estree").CallExpression & import("eslint").Rule.NodeParentExtension): void;
746
+ FunctionDeclaration(node: import("estree").FunctionDeclaration & import("eslint").Rule.NodeParentExtension): void;
747
+ ArrowFunctionExpression(node: import("estree").ArrowFunctionExpression & import("eslint").Rule.NodeParentExtension): void;
748
+ };
749
+ };
750
+ };
751
+ configs: {
752
+ recommended: {
753
+ plugins: string[];
754
+ rules: import("eslint").Linter.RulesRecord;
755
+ };
756
+ "recommended-latest": {
757
+ plugins: string[];
758
+ rules: import("eslint").Linter.RulesRecord;
759
+ };
760
+ flat: {
761
+ recommended: {
762
+ plugins: {
763
+ react: any;
764
+ };
765
+ rules: import("eslint").Linter.RulesRecord;
766
+ };
767
+ "recommended-latest": {
768
+ plugins: {
769
+ react: any;
770
+ };
771
+ rules: import("eslint").Linter.RulesRecord;
772
+ };
773
+ };
774
+ };
775
+ };
776
+ '@next/next'?: undefined;
777
+ };
778
+ settings: {
779
+ react: {
780
+ version: string;
781
+ };
782
+ };
783
+ rules: {
784
+ "react/react-in-jsx-scope": string;
785
+ "react/prop-types": string;
786
+ 'react/display-name': 2;
787
+ 'react/jsx-key': 2;
788
+ 'react/jsx-no-comment-textnodes': 2;
789
+ 'react/jsx-no-duplicate-props': 2;
790
+ 'react/jsx-no-target-blank': 2;
791
+ 'react/jsx-no-undef': 2;
792
+ 'react/jsx-uses-react': 2;
793
+ 'react/jsx-uses-vars': 2;
794
+ 'react/no-children-prop': 2;
795
+ 'react/no-danger-with-children': 2;
796
+ 'react/no-deprecated': 2;
797
+ 'react/no-direct-mutation-state': 2;
798
+ 'react/no-find-dom-node': 2;
799
+ 'react/no-is-mounted': 2;
800
+ 'react/no-render-return-value': 2;
801
+ 'react/no-string-refs': 2;
802
+ 'react/no-unescaped-entities': 2;
803
+ 'react/no-unknown-property': 2;
804
+ 'react/no-unsafe': 0;
805
+ 'react/require-render-return': 2;
806
+ };
807
+ })[];
808
+ import tseslint from 'typescript-eslint';
809
+ import nextPlugin from '@next/eslint-plugin-next';
810
+ import reactPlugin from 'eslint-plugin-react';