eslint-plugin-react-x 2.9.0-beta.0 → 2.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -8
- package/dist/index.js +254 -346
- package/package.json +6 -6
package/dist/index.js
CHANGED
|
@@ -47,8 +47,7 @@ const rules$8 = {
|
|
|
47
47
|
"react-x/no-unnecessary-use-memo": "off",
|
|
48
48
|
"react-x/no-unnecessary-use-ref": "off",
|
|
49
49
|
"react-x/no-unused-props": "off",
|
|
50
|
-
"react-x/prefer-read-only-props": "off"
|
|
51
|
-
"react-x/rsc-no-misused-use-server": "off"
|
|
50
|
+
"react-x/prefer-read-only-props": "off"
|
|
52
51
|
};
|
|
53
52
|
|
|
54
53
|
//#endregion
|
|
@@ -67,7 +66,7 @@ const rules$7 = {
|
|
|
67
66
|
//#endregion
|
|
68
67
|
//#region package.json
|
|
69
68
|
var name$6 = "eslint-plugin-react-x";
|
|
70
|
-
var version = "2.9.0
|
|
69
|
+
var version = "2.9.0";
|
|
71
70
|
|
|
72
71
|
//#endregion
|
|
73
72
|
//#region src/utils/create-rule.ts
|
|
@@ -171,7 +170,7 @@ function getTypeVariants(types) {
|
|
|
171
170
|
|
|
172
171
|
//#endregion
|
|
173
172
|
//#region src/rules/jsx-dollar.ts
|
|
174
|
-
const RULE_NAME$
|
|
173
|
+
const RULE_NAME$63 = "jsx-dollar";
|
|
175
174
|
var jsx_dollar_default = createRule({
|
|
176
175
|
meta: {
|
|
177
176
|
type: "problem",
|
|
@@ -184,11 +183,11 @@ var jsx_dollar_default = createRule({
|
|
|
184
183
|
},
|
|
185
184
|
schema: []
|
|
186
185
|
},
|
|
187
|
-
name: RULE_NAME$
|
|
188
|
-
create: create$
|
|
186
|
+
name: RULE_NAME$63,
|
|
187
|
+
create: create$63,
|
|
189
188
|
defaultOptions: []
|
|
190
189
|
});
|
|
191
|
-
function create$
|
|
190
|
+
function create$63(context) {
|
|
192
191
|
/**
|
|
193
192
|
* Visitor function for JSXElement and JSXFragment nodes
|
|
194
193
|
* @param node The JSXElement or JSXFragment node to be checked
|
|
@@ -229,7 +228,7 @@ function create$64(context) {
|
|
|
229
228
|
|
|
230
229
|
//#endregion
|
|
231
230
|
//#region src/rules/jsx-key-before-spread.ts
|
|
232
|
-
const RULE_NAME$
|
|
231
|
+
const RULE_NAME$62 = "jsx-key-before-spread";
|
|
233
232
|
var jsx_key_before_spread_default = createRule({
|
|
234
233
|
meta: {
|
|
235
234
|
type: "problem",
|
|
@@ -237,11 +236,11 @@ var jsx_key_before_spread_default = createRule({
|
|
|
237
236
|
messages: { default: "The 'key' prop must be placed before any spread props when using the new JSX transform." },
|
|
238
237
|
schema: []
|
|
239
238
|
},
|
|
240
|
-
name: RULE_NAME$
|
|
241
|
-
create: create$
|
|
239
|
+
name: RULE_NAME$62,
|
|
240
|
+
create: create$62,
|
|
242
241
|
defaultOptions: []
|
|
243
242
|
});
|
|
244
|
-
function create$
|
|
243
|
+
function create$62(context) {
|
|
245
244
|
const { jsx } = {
|
|
246
245
|
...core.getJsxConfigFromContext(context),
|
|
247
246
|
...core.getJsxConfigFromAnnotation(context)
|
|
@@ -265,7 +264,7 @@ function create$63(context) {
|
|
|
265
264
|
|
|
266
265
|
//#endregion
|
|
267
266
|
//#region src/rules/jsx-no-comment-textnodes.ts
|
|
268
|
-
const RULE_NAME$
|
|
267
|
+
const RULE_NAME$61 = "jsx-no-comment-textnodes";
|
|
269
268
|
var jsx_no_comment_textnodes_default = createRule({
|
|
270
269
|
meta: {
|
|
271
270
|
type: "problem",
|
|
@@ -273,11 +272,11 @@ var jsx_no_comment_textnodes_default = createRule({
|
|
|
273
272
|
messages: { default: "Possible misused comment in text node. Comments inside children section of tag should be placed inside braces." },
|
|
274
273
|
schema: []
|
|
275
274
|
},
|
|
276
|
-
name: RULE_NAME$
|
|
277
|
-
create: create$
|
|
275
|
+
name: RULE_NAME$61,
|
|
276
|
+
create: create$61,
|
|
278
277
|
defaultOptions: []
|
|
279
278
|
});
|
|
280
|
-
function create$
|
|
279
|
+
function create$61(context) {
|
|
281
280
|
function hasCommentLike(node) {
|
|
282
281
|
if (ast.isOneOf([AST_NODE_TYPES.JSXAttribute, AST_NODE_TYPES.JSXExpressionContainer])(node.parent)) return false;
|
|
283
282
|
return /^\s*\/(?:\/|\*)/mu.test(context.sourceCode.getText(node));
|
|
@@ -298,7 +297,7 @@ function create$62(context) {
|
|
|
298
297
|
|
|
299
298
|
//#endregion
|
|
300
299
|
//#region src/rules/jsx-no-duplicate-props.ts
|
|
301
|
-
const RULE_NAME$
|
|
300
|
+
const RULE_NAME$60 = "jsx-no-duplicate-props";
|
|
302
301
|
var jsx_no_duplicate_props_default = createRule({
|
|
303
302
|
meta: {
|
|
304
303
|
type: "problem",
|
|
@@ -306,11 +305,11 @@ var jsx_no_duplicate_props_default = createRule({
|
|
|
306
305
|
messages: { default: "This JSX property is assigned multiple times." },
|
|
307
306
|
schema: []
|
|
308
307
|
},
|
|
309
|
-
name: RULE_NAME$
|
|
310
|
-
create: create$
|
|
308
|
+
name: RULE_NAME$60,
|
|
309
|
+
create: create$60,
|
|
311
310
|
defaultOptions: []
|
|
312
311
|
});
|
|
313
|
-
function create$
|
|
312
|
+
function create$60(context) {
|
|
314
313
|
return { JSXOpeningElement(node) {
|
|
315
314
|
const props = [];
|
|
316
315
|
for (const attr of node.attributes) {
|
|
@@ -331,7 +330,7 @@ function create$61(context) {
|
|
|
331
330
|
|
|
332
331
|
//#endregion
|
|
333
332
|
//#region src/rules/jsx-no-iife.ts
|
|
334
|
-
const RULE_NAME$
|
|
333
|
+
const RULE_NAME$59 = "jsx-no-iife";
|
|
335
334
|
var jsx_no_iife_default = createRule({
|
|
336
335
|
meta: {
|
|
337
336
|
type: "problem",
|
|
@@ -339,11 +338,11 @@ var jsx_no_iife_default = createRule({
|
|
|
339
338
|
messages: { default: "Avoid using immediately-invoked function expressions in JSX." },
|
|
340
339
|
schema: []
|
|
341
340
|
},
|
|
342
|
-
name: RULE_NAME$
|
|
343
|
-
create: create$
|
|
341
|
+
name: RULE_NAME$59,
|
|
342
|
+
create: create$59,
|
|
344
343
|
defaultOptions: []
|
|
345
344
|
});
|
|
346
|
-
function create$
|
|
345
|
+
function create$59(context) {
|
|
347
346
|
return {
|
|
348
347
|
"JSXElement :function"(node) {
|
|
349
348
|
if (node.parent.type === AST_NODE_TYPES.CallExpression && node.parent.callee === node) context.report({
|
|
@@ -362,7 +361,7 @@ function create$60(context) {
|
|
|
362
361
|
|
|
363
362
|
//#endregion
|
|
364
363
|
//#region src/rules/jsx-no-undef.ts
|
|
365
|
-
const RULE_NAME$
|
|
364
|
+
const RULE_NAME$58 = "jsx-no-undef";
|
|
366
365
|
var jsx_no_undef_default = createRule({
|
|
367
366
|
meta: {
|
|
368
367
|
type: "problem",
|
|
@@ -370,11 +369,11 @@ var jsx_no_undef_default = createRule({
|
|
|
370
369
|
messages: { default: "JSX variable '{{name}}' is not defined." },
|
|
371
370
|
schema: []
|
|
372
371
|
},
|
|
373
|
-
name: RULE_NAME$
|
|
374
|
-
create: create$
|
|
372
|
+
name: RULE_NAME$58,
|
|
373
|
+
create: create$58,
|
|
375
374
|
defaultOptions: []
|
|
376
375
|
});
|
|
377
|
-
function create$
|
|
376
|
+
function create$58(context) {
|
|
378
377
|
return { JSXOpeningElement(node) {
|
|
379
378
|
const name = match(node.name).with({ type: AST_NODE_TYPES.JSXIdentifier }, (n) => n.name).with({
|
|
380
379
|
type: AST_NODE_TYPES.JSXMemberExpression,
|
|
@@ -393,7 +392,7 @@ function create$59(context) {
|
|
|
393
392
|
|
|
394
393
|
//#endregion
|
|
395
394
|
//#region src/rules/jsx-shorthand-boolean.ts
|
|
396
|
-
const RULE_NAME$
|
|
395
|
+
const RULE_NAME$57 = "jsx-shorthand-boolean";
|
|
397
396
|
const defaultOptions$4 = [1];
|
|
398
397
|
const schema$3 = [{
|
|
399
398
|
type: "integer",
|
|
@@ -407,11 +406,11 @@ var jsx_shorthand_boolean_default = createRule({
|
|
|
407
406
|
messages: { default: "{{message}}" },
|
|
408
407
|
schema: schema$3
|
|
409
408
|
},
|
|
410
|
-
name: RULE_NAME$
|
|
411
|
-
create: create$
|
|
409
|
+
name: RULE_NAME$57,
|
|
410
|
+
create: create$57,
|
|
412
411
|
defaultOptions: defaultOptions$4
|
|
413
412
|
});
|
|
414
|
-
function create$
|
|
413
|
+
function create$57(context) {
|
|
415
414
|
const policy = context.options[0] ?? defaultOptions$4[0];
|
|
416
415
|
return { JSXAttribute(node) {
|
|
417
416
|
const { value } = node;
|
|
@@ -439,7 +438,7 @@ function create$58(context) {
|
|
|
439
438
|
|
|
440
439
|
//#endregion
|
|
441
440
|
//#region src/rules/jsx-shorthand-fragment.ts
|
|
442
|
-
const RULE_NAME$
|
|
441
|
+
const RULE_NAME$56 = "jsx-shorthand-fragment";
|
|
443
442
|
const defaultOptions$3 = [1];
|
|
444
443
|
const schema$2 = [{
|
|
445
444
|
type: "integer",
|
|
@@ -453,11 +452,11 @@ var jsx_shorthand_fragment_default = createRule({
|
|
|
453
452
|
messages: { default: "{{message}}" },
|
|
454
453
|
schema: schema$2
|
|
455
454
|
},
|
|
456
|
-
name: RULE_NAME$
|
|
457
|
-
create: create$
|
|
455
|
+
name: RULE_NAME$56,
|
|
456
|
+
create: create$56,
|
|
458
457
|
defaultOptions: defaultOptions$3
|
|
459
458
|
});
|
|
460
|
-
function create$
|
|
459
|
+
function create$56(context) {
|
|
461
460
|
const policy = context.options[0] ?? defaultOptions$3[0];
|
|
462
461
|
const jsxConfig = {
|
|
463
462
|
...core.getJsxConfigFromContext(context),
|
|
@@ -492,7 +491,7 @@ function create$57(context) {
|
|
|
492
491
|
|
|
493
492
|
//#endregion
|
|
494
493
|
//#region src/rules/jsx-uses-react.ts
|
|
495
|
-
const RULE_NAME$
|
|
494
|
+
const RULE_NAME$55 = "jsx-uses-react";
|
|
496
495
|
var jsx_uses_react_default = createRule({
|
|
497
496
|
meta: {
|
|
498
497
|
type: "problem",
|
|
@@ -500,11 +499,11 @@ var jsx_uses_react_default = createRule({
|
|
|
500
499
|
messages: { default: "Marked {{name}} as used." },
|
|
501
500
|
schema: []
|
|
502
501
|
},
|
|
503
|
-
name: RULE_NAME$
|
|
504
|
-
create: create$
|
|
502
|
+
name: RULE_NAME$55,
|
|
503
|
+
create: create$55,
|
|
505
504
|
defaultOptions: []
|
|
506
505
|
});
|
|
507
|
-
function create$
|
|
506
|
+
function create$55(context) {
|
|
508
507
|
const { jsx, jsxFactory, jsxFragmentFactory } = {
|
|
509
508
|
...core.getJsxConfigFromContext(context),
|
|
510
509
|
...core.getJsxConfigFromAnnotation(context)
|
|
@@ -535,7 +534,7 @@ function debugReport(context, node, name) {
|
|
|
535
534
|
|
|
536
535
|
//#endregion
|
|
537
536
|
//#region src/rules/jsx-uses-vars.ts
|
|
538
|
-
const RULE_NAME$
|
|
537
|
+
const RULE_NAME$54 = "jsx-uses-vars";
|
|
539
538
|
var jsx_uses_vars_default = createRule({
|
|
540
539
|
meta: {
|
|
541
540
|
type: "problem",
|
|
@@ -543,11 +542,11 @@ var jsx_uses_vars_default = createRule({
|
|
|
543
542
|
messages: { default: "An identifier in JSX is marked as used." },
|
|
544
543
|
schema: []
|
|
545
544
|
},
|
|
546
|
-
name: RULE_NAME$
|
|
547
|
-
create: create$
|
|
545
|
+
name: RULE_NAME$54,
|
|
546
|
+
create: create$54,
|
|
548
547
|
defaultOptions: []
|
|
549
548
|
});
|
|
550
|
-
function create$
|
|
549
|
+
function create$54(context) {
|
|
551
550
|
return { JSXOpeningElement(node) {
|
|
552
551
|
switch (node.name.type) {
|
|
553
552
|
case AST_NODE_TYPES.JSXIdentifier:
|
|
@@ -565,7 +564,7 @@ function create$55(context) {
|
|
|
565
564
|
|
|
566
565
|
//#endregion
|
|
567
566
|
//#region src/rules/no-access-state-in-setstate.ts
|
|
568
|
-
const RULE_NAME$
|
|
567
|
+
const RULE_NAME$53 = "no-access-state-in-setstate";
|
|
569
568
|
function isKeyLiteral$2(node, key) {
|
|
570
569
|
return match(key).with({ type: AST_NODE_TYPES.Literal }, constTrue).with({
|
|
571
570
|
type: AST_NODE_TYPES.TemplateLiteral,
|
|
@@ -579,11 +578,11 @@ var no_access_state_in_setstate_default = createRule({
|
|
|
579
578
|
messages: { default: "Do not access 'this.state' within 'setState'. Use the update function instead." },
|
|
580
579
|
schema: []
|
|
581
580
|
},
|
|
582
|
-
name: RULE_NAME$
|
|
583
|
-
create: create$
|
|
581
|
+
name: RULE_NAME$53,
|
|
582
|
+
create: create$53,
|
|
584
583
|
defaultOptions: []
|
|
585
584
|
});
|
|
586
|
-
function create$
|
|
585
|
+
function create$53(context) {
|
|
587
586
|
if (!context.sourceCode.text.includes("setState")) return {};
|
|
588
587
|
const classStack = [];
|
|
589
588
|
const methodStack = [];
|
|
@@ -654,7 +653,7 @@ function create$54(context) {
|
|
|
654
653
|
|
|
655
654
|
//#endregion
|
|
656
655
|
//#region src/rules/no-array-index-key.ts
|
|
657
|
-
const RULE_NAME$
|
|
656
|
+
const RULE_NAME$52 = "no-array-index-key";
|
|
658
657
|
const REACT_CHILDREN_METHOD = ["forEach", "map"];
|
|
659
658
|
function getIndexParamPosition(methodName) {
|
|
660
659
|
switch (methodName) {
|
|
@@ -713,11 +712,11 @@ var no_array_index_key_default = createRule({
|
|
|
713
712
|
messages: { default: "Do not use item index in the array as its key." },
|
|
714
713
|
schema: []
|
|
715
714
|
},
|
|
716
|
-
name: RULE_NAME$
|
|
717
|
-
create: create$
|
|
715
|
+
name: RULE_NAME$52,
|
|
716
|
+
create: create$52,
|
|
718
717
|
defaultOptions: []
|
|
719
718
|
});
|
|
720
|
-
function create$
|
|
719
|
+
function create$52(context) {
|
|
721
720
|
const indexParamNames = [];
|
|
722
721
|
function isArrayIndex(node) {
|
|
723
722
|
return node.type === AST_NODE_TYPES.Identifier && indexParamNames.some((name) => name != null && name === node.name);
|
|
@@ -783,7 +782,7 @@ function create$53(context) {
|
|
|
783
782
|
|
|
784
783
|
//#endregion
|
|
785
784
|
//#region src/rules/no-children-count.ts
|
|
786
|
-
const RULE_NAME$
|
|
785
|
+
const RULE_NAME$51 = "no-children-count";
|
|
787
786
|
var no_children_count_default = createRule({
|
|
788
787
|
meta: {
|
|
789
788
|
type: "problem",
|
|
@@ -791,11 +790,11 @@ var no_children_count_default = createRule({
|
|
|
791
790
|
messages: { default: "Using 'Children.count' is uncommon and can lead to fragile code. Use alternatives instead." },
|
|
792
791
|
schema: []
|
|
793
792
|
},
|
|
794
|
-
name: RULE_NAME$
|
|
795
|
-
create: create$
|
|
793
|
+
name: RULE_NAME$51,
|
|
794
|
+
create: create$51,
|
|
796
795
|
defaultOptions: []
|
|
797
796
|
});
|
|
798
|
-
function create$
|
|
797
|
+
function create$51(context) {
|
|
799
798
|
return { MemberExpression(node) {
|
|
800
799
|
if (core.isChildrenCount(context, node)) context.report({
|
|
801
800
|
messageId: "default",
|
|
@@ -806,7 +805,7 @@ function create$52(context) {
|
|
|
806
805
|
|
|
807
806
|
//#endregion
|
|
808
807
|
//#region src/rules/no-children-for-each.ts
|
|
809
|
-
const RULE_NAME$
|
|
808
|
+
const RULE_NAME$50 = "no-children-for-each";
|
|
810
809
|
var no_children_for_each_default = createRule({
|
|
811
810
|
meta: {
|
|
812
811
|
type: "problem",
|
|
@@ -814,11 +813,11 @@ var no_children_for_each_default = createRule({
|
|
|
814
813
|
messages: { default: "Using 'Children.forEach' is uncommon and can lead to fragile code. Use alternatives instead." },
|
|
815
814
|
schema: []
|
|
816
815
|
},
|
|
817
|
-
name: RULE_NAME$
|
|
818
|
-
create: create$
|
|
816
|
+
name: RULE_NAME$50,
|
|
817
|
+
create: create$50,
|
|
819
818
|
defaultOptions: []
|
|
820
819
|
});
|
|
821
|
-
function create$
|
|
820
|
+
function create$50(context) {
|
|
822
821
|
return { MemberExpression(node) {
|
|
823
822
|
if (core.isChildrenForEach(context, node)) context.report({
|
|
824
823
|
messageId: "default",
|
|
@@ -829,7 +828,7 @@ function create$51(context) {
|
|
|
829
828
|
|
|
830
829
|
//#endregion
|
|
831
830
|
//#region src/rules/no-children-map.ts
|
|
832
|
-
const RULE_NAME$
|
|
831
|
+
const RULE_NAME$49 = "no-children-map";
|
|
833
832
|
var no_children_map_default = createRule({
|
|
834
833
|
meta: {
|
|
835
834
|
type: "problem",
|
|
@@ -837,11 +836,11 @@ var no_children_map_default = createRule({
|
|
|
837
836
|
messages: { default: "Using 'Children.map' is uncommon and can lead to fragile code. Use alternatives instead." },
|
|
838
837
|
schema: []
|
|
839
838
|
},
|
|
840
|
-
name: RULE_NAME$
|
|
841
|
-
create: create$
|
|
839
|
+
name: RULE_NAME$49,
|
|
840
|
+
create: create$49,
|
|
842
841
|
defaultOptions: []
|
|
843
842
|
});
|
|
844
|
-
function create$
|
|
843
|
+
function create$49(context) {
|
|
845
844
|
return { MemberExpression(node) {
|
|
846
845
|
if (core.isChildrenMap(context, node)) context.report({
|
|
847
846
|
messageId: "default",
|
|
@@ -852,7 +851,7 @@ function create$50(context) {
|
|
|
852
851
|
|
|
853
852
|
//#endregion
|
|
854
853
|
//#region src/rules/no-children-only.ts
|
|
855
|
-
const RULE_NAME$
|
|
854
|
+
const RULE_NAME$48 = "no-children-only";
|
|
856
855
|
var no_children_only_default = createRule({
|
|
857
856
|
meta: {
|
|
858
857
|
type: "problem",
|
|
@@ -860,11 +859,11 @@ var no_children_only_default = createRule({
|
|
|
860
859
|
messages: { default: "Using 'Children.only' is uncommon and can lead to fragile code. Use alternatives instead." },
|
|
861
860
|
schema: []
|
|
862
861
|
},
|
|
863
|
-
name: RULE_NAME$
|
|
864
|
-
create: create$
|
|
862
|
+
name: RULE_NAME$48,
|
|
863
|
+
create: create$48,
|
|
865
864
|
defaultOptions: []
|
|
866
865
|
});
|
|
867
|
-
function create$
|
|
866
|
+
function create$48(context) {
|
|
868
867
|
return { MemberExpression(node) {
|
|
869
868
|
if (core.isChildrenOnly(context, node)) context.report({
|
|
870
869
|
messageId: "default",
|
|
@@ -875,7 +874,7 @@ function create$49(context) {
|
|
|
875
874
|
|
|
876
875
|
//#endregion
|
|
877
876
|
//#region src/rules/no-children-prop.ts
|
|
878
|
-
const RULE_NAME$
|
|
877
|
+
const RULE_NAME$47 = "no-children-prop";
|
|
879
878
|
var no_children_prop_default = createRule({
|
|
880
879
|
meta: {
|
|
881
880
|
type: "problem",
|
|
@@ -883,11 +882,11 @@ var no_children_prop_default = createRule({
|
|
|
883
882
|
messages: { default: "Do not pass 'children' as props." },
|
|
884
883
|
schema: []
|
|
885
884
|
},
|
|
886
|
-
name: RULE_NAME$
|
|
887
|
-
create: create$
|
|
885
|
+
name: RULE_NAME$47,
|
|
886
|
+
create: create$47,
|
|
888
887
|
defaultOptions: []
|
|
889
888
|
});
|
|
890
|
-
function create$
|
|
889
|
+
function create$47(context) {
|
|
891
890
|
return { JSXElement(node) {
|
|
892
891
|
const childrenProp = core.getJsxAttribute(context, node)("children");
|
|
893
892
|
if (childrenProp != null) context.report({
|
|
@@ -899,7 +898,7 @@ function create$48(context) {
|
|
|
899
898
|
|
|
900
899
|
//#endregion
|
|
901
900
|
//#region src/rules/no-children-to-array.ts
|
|
902
|
-
const RULE_NAME$
|
|
901
|
+
const RULE_NAME$46 = "no-children-to-array";
|
|
903
902
|
var no_children_to_array_default = createRule({
|
|
904
903
|
meta: {
|
|
905
904
|
type: "problem",
|
|
@@ -907,11 +906,11 @@ var no_children_to_array_default = createRule({
|
|
|
907
906
|
messages: { default: "Using 'Children.toArray' is uncommon and can lead to fragile code. Use alternatives instead." },
|
|
908
907
|
schema: []
|
|
909
908
|
},
|
|
910
|
-
name: RULE_NAME$
|
|
911
|
-
create: create$
|
|
909
|
+
name: RULE_NAME$46,
|
|
910
|
+
create: create$46,
|
|
912
911
|
defaultOptions: []
|
|
913
912
|
});
|
|
914
|
-
function create$
|
|
913
|
+
function create$46(context) {
|
|
915
914
|
return { MemberExpression(node) {
|
|
916
915
|
if (core.isChildrenToArray(context, node)) context.report({
|
|
917
916
|
messageId: "default",
|
|
@@ -922,7 +921,7 @@ function create$47(context) {
|
|
|
922
921
|
|
|
923
922
|
//#endregion
|
|
924
923
|
//#region src/rules/no-class-component.ts
|
|
925
|
-
const RULE_NAME$
|
|
924
|
+
const RULE_NAME$45 = "no-class-component";
|
|
926
925
|
var no_class_component_default = createRule({
|
|
927
926
|
meta: {
|
|
928
927
|
type: "problem",
|
|
@@ -930,11 +929,11 @@ var no_class_component_default = createRule({
|
|
|
930
929
|
messages: { default: "Avoid using class components. Use function components instead." },
|
|
931
930
|
schema: []
|
|
932
931
|
},
|
|
933
|
-
name: RULE_NAME$
|
|
934
|
-
create: create$
|
|
932
|
+
name: RULE_NAME$45,
|
|
933
|
+
create: create$45,
|
|
935
934
|
defaultOptions: []
|
|
936
935
|
});
|
|
937
|
-
function create$
|
|
936
|
+
function create$45(context) {
|
|
938
937
|
if (!context.sourceCode.text.includes("Component")) return {};
|
|
939
938
|
const { ctx, visitor } = core.useComponentCollectorLegacy(context);
|
|
940
939
|
return defineRuleListener(visitor, { "Program:exit"(program) {
|
|
@@ -951,7 +950,7 @@ function create$46(context) {
|
|
|
951
950
|
|
|
952
951
|
//#endregion
|
|
953
952
|
//#region src/rules/no-clone-element.ts
|
|
954
|
-
const RULE_NAME$
|
|
953
|
+
const RULE_NAME$44 = "no-clone-element";
|
|
955
954
|
var no_clone_element_default = createRule({
|
|
956
955
|
meta: {
|
|
957
956
|
type: "problem",
|
|
@@ -959,11 +958,11 @@ var no_clone_element_default = createRule({
|
|
|
959
958
|
messages: { default: "Using 'cloneElement' is uncommon and can lead to fragile code. Use alternatives instead." },
|
|
960
959
|
schema: []
|
|
961
960
|
},
|
|
962
|
-
name: RULE_NAME$
|
|
963
|
-
create: create$
|
|
961
|
+
name: RULE_NAME$44,
|
|
962
|
+
create: create$44,
|
|
964
963
|
defaultOptions: []
|
|
965
964
|
});
|
|
966
|
-
function create$
|
|
965
|
+
function create$44(context) {
|
|
967
966
|
return { CallExpression(node) {
|
|
968
967
|
if (core.isCloneElementCall(context, node)) context.report({
|
|
969
968
|
messageId: "default",
|
|
@@ -974,7 +973,7 @@ function create$45(context) {
|
|
|
974
973
|
|
|
975
974
|
//#endregion
|
|
976
975
|
//#region src/rules/no-component-will-mount.ts
|
|
977
|
-
const RULE_NAME$
|
|
976
|
+
const RULE_NAME$43 = "no-component-will-mount";
|
|
978
977
|
var no_component_will_mount_default = createRule({
|
|
979
978
|
meta: {
|
|
980
979
|
type: "problem",
|
|
@@ -983,11 +982,11 @@ var no_component_will_mount_default = createRule({
|
|
|
983
982
|
messages: { default: "[Deprecated] Use 'UNSAFE_componentWillMount' instead." },
|
|
984
983
|
schema: []
|
|
985
984
|
},
|
|
986
|
-
name: RULE_NAME$
|
|
987
|
-
create: create$
|
|
985
|
+
name: RULE_NAME$43,
|
|
986
|
+
create: create$43,
|
|
988
987
|
defaultOptions: []
|
|
989
988
|
});
|
|
990
|
-
function create$
|
|
989
|
+
function create$43(context) {
|
|
991
990
|
if (!context.sourceCode.text.includes("componentWillMount")) return {};
|
|
992
991
|
const { ctx, visitor } = core.useComponentCollectorLegacy(context);
|
|
993
992
|
return defineRuleListener(visitor, { "Program:exit"(program) {
|
|
@@ -1007,7 +1006,7 @@ function create$44(context) {
|
|
|
1007
1006
|
|
|
1008
1007
|
//#endregion
|
|
1009
1008
|
//#region src/rules/no-component-will-receive-props.ts
|
|
1010
|
-
const RULE_NAME$
|
|
1009
|
+
const RULE_NAME$42 = "no-component-will-receive-props";
|
|
1011
1010
|
var no_component_will_receive_props_default = createRule({
|
|
1012
1011
|
meta: {
|
|
1013
1012
|
type: "problem",
|
|
@@ -1016,11 +1015,11 @@ var no_component_will_receive_props_default = createRule({
|
|
|
1016
1015
|
messages: { default: "[Deprecated] Use 'UNSAFE_componentWillReceiveProps' instead." },
|
|
1017
1016
|
schema: []
|
|
1018
1017
|
},
|
|
1019
|
-
name: RULE_NAME$
|
|
1020
|
-
create: create$
|
|
1018
|
+
name: RULE_NAME$42,
|
|
1019
|
+
create: create$42,
|
|
1021
1020
|
defaultOptions: []
|
|
1022
1021
|
});
|
|
1023
|
-
function create$
|
|
1022
|
+
function create$42(context) {
|
|
1024
1023
|
if (!context.sourceCode.text.includes("componentWillReceiveProps")) return {};
|
|
1025
1024
|
const { ctx, visitor } = core.useComponentCollectorLegacy(context);
|
|
1026
1025
|
return defineRuleListener(visitor, { "Program:exit"(program) {
|
|
@@ -1040,7 +1039,7 @@ function create$43(context) {
|
|
|
1040
1039
|
|
|
1041
1040
|
//#endregion
|
|
1042
1041
|
//#region src/rules/no-component-will-update.ts
|
|
1043
|
-
const RULE_NAME$
|
|
1042
|
+
const RULE_NAME$41 = "no-component-will-update";
|
|
1044
1043
|
var no_component_will_update_default = createRule({
|
|
1045
1044
|
meta: {
|
|
1046
1045
|
type: "problem",
|
|
@@ -1049,11 +1048,11 @@ var no_component_will_update_default = createRule({
|
|
|
1049
1048
|
messages: { default: "[Deprecated] Use 'UNSAFE_componentWillUpdate' instead." },
|
|
1050
1049
|
schema: []
|
|
1051
1050
|
},
|
|
1052
|
-
name: RULE_NAME$
|
|
1053
|
-
create: create$
|
|
1051
|
+
name: RULE_NAME$41,
|
|
1052
|
+
create: create$41,
|
|
1054
1053
|
defaultOptions: []
|
|
1055
1054
|
});
|
|
1056
|
-
function create$
|
|
1055
|
+
function create$41(context) {
|
|
1057
1056
|
if (!context.sourceCode.text.includes("componentWillUpdate")) return {};
|
|
1058
1057
|
const { ctx, visitor } = core.useComponentCollectorLegacy(context);
|
|
1059
1058
|
return defineRuleListener(visitor, { "Program:exit"(program) {
|
|
@@ -1073,7 +1072,7 @@ function create$42(context) {
|
|
|
1073
1072
|
|
|
1074
1073
|
//#endregion
|
|
1075
1074
|
//#region src/rules/no-context-provider.ts
|
|
1076
|
-
const RULE_NAME$
|
|
1075
|
+
const RULE_NAME$40 = "no-context-provider";
|
|
1077
1076
|
var no_context_provider_default = createRule({
|
|
1078
1077
|
meta: {
|
|
1079
1078
|
type: "problem",
|
|
@@ -1082,11 +1081,11 @@ var no_context_provider_default = createRule({
|
|
|
1082
1081
|
messages: { default: "In React 19, you can render '<Context>' as a provider instead of '<Context.Provider>'." },
|
|
1083
1082
|
schema: []
|
|
1084
1083
|
},
|
|
1085
|
-
name: RULE_NAME$
|
|
1086
|
-
create: create$
|
|
1084
|
+
name: RULE_NAME$40,
|
|
1085
|
+
create: create$40,
|
|
1087
1086
|
defaultOptions: []
|
|
1088
1087
|
});
|
|
1089
|
-
function create$
|
|
1088
|
+
function create$40(context) {
|
|
1090
1089
|
if (!context.sourceCode.text.includes("Provider")) return {};
|
|
1091
1090
|
const { version } = getSettingsFromContext(context);
|
|
1092
1091
|
if (compare(version, "19.0.0", "<")) return {};
|
|
@@ -1113,7 +1112,7 @@ function create$41(context) {
|
|
|
1113
1112
|
|
|
1114
1113
|
//#endregion
|
|
1115
1114
|
//#region src/rules/no-create-ref.ts
|
|
1116
|
-
const RULE_NAME$
|
|
1115
|
+
const RULE_NAME$39 = "no-create-ref";
|
|
1117
1116
|
var no_create_ref_default = createRule({
|
|
1118
1117
|
meta: {
|
|
1119
1118
|
type: "problem",
|
|
@@ -1121,11 +1120,11 @@ var no_create_ref_default = createRule({
|
|
|
1121
1120
|
messages: { default: "[Deprecated] Use 'useRef' instead." },
|
|
1122
1121
|
schema: []
|
|
1123
1122
|
},
|
|
1124
|
-
name: RULE_NAME$
|
|
1125
|
-
create: create$
|
|
1123
|
+
name: RULE_NAME$39,
|
|
1124
|
+
create: create$39,
|
|
1126
1125
|
defaultOptions: []
|
|
1127
1126
|
});
|
|
1128
|
-
function create$
|
|
1127
|
+
function create$39(context) {
|
|
1129
1128
|
return { CallExpression(node) {
|
|
1130
1129
|
if (core.isCreateRefCall(context, node) && ast.findParentNode(node, core.isClassComponent) == null) context.report({
|
|
1131
1130
|
messageId: "default",
|
|
@@ -1136,7 +1135,7 @@ function create$40(context) {
|
|
|
1136
1135
|
|
|
1137
1136
|
//#endregion
|
|
1138
1137
|
//#region src/rules/no-default-props.ts
|
|
1139
|
-
const RULE_NAME$
|
|
1138
|
+
const RULE_NAME$38 = "no-default-props";
|
|
1140
1139
|
var no_default_props_default = createRule({
|
|
1141
1140
|
meta: {
|
|
1142
1141
|
type: "problem",
|
|
@@ -1144,11 +1143,11 @@ var no_default_props_default = createRule({
|
|
|
1144
1143
|
messages: { default: "[Deprecated] Use ES6 default parameters instead." },
|
|
1145
1144
|
schema: []
|
|
1146
1145
|
},
|
|
1147
|
-
name: RULE_NAME$
|
|
1148
|
-
create: create$
|
|
1146
|
+
name: RULE_NAME$38,
|
|
1147
|
+
create: create$38,
|
|
1149
1148
|
defaultOptions: []
|
|
1150
1149
|
});
|
|
1151
|
-
function create$
|
|
1150
|
+
function create$38(context) {
|
|
1152
1151
|
if (!context.sourceCode.text.includes("defaultProps")) return {};
|
|
1153
1152
|
return { AssignmentExpression(node) {
|
|
1154
1153
|
if (node.operator !== "=" || node.left.type !== AST_NODE_TYPES.MemberExpression) return;
|
|
@@ -1168,7 +1167,7 @@ function create$39(context) {
|
|
|
1168
1167
|
|
|
1169
1168
|
//#endregion
|
|
1170
1169
|
//#region src/rules/no-direct-mutation-state.ts
|
|
1171
|
-
const RULE_NAME$
|
|
1170
|
+
const RULE_NAME$37 = "no-direct-mutation-state";
|
|
1172
1171
|
function isConstructorFunction(node) {
|
|
1173
1172
|
return ast.isOneOf([AST_NODE_TYPES.FunctionDeclaration, AST_NODE_TYPES.FunctionExpression])(node) && ast.isMethodOrProperty(node.parent) && node.parent.key.type === AST_NODE_TYPES.Identifier && node.parent.key.name === "constructor";
|
|
1174
1173
|
}
|
|
@@ -1179,11 +1178,11 @@ var no_direct_mutation_state_default = createRule({
|
|
|
1179
1178
|
messages: { default: "Do not mutate state directly. Use 'setState()' instead." },
|
|
1180
1179
|
schema: []
|
|
1181
1180
|
},
|
|
1182
|
-
name: RULE_NAME$
|
|
1183
|
-
create: create$
|
|
1181
|
+
name: RULE_NAME$37,
|
|
1182
|
+
create: create$37,
|
|
1184
1183
|
defaultOptions: []
|
|
1185
1184
|
});
|
|
1186
|
-
function create$
|
|
1185
|
+
function create$37(context) {
|
|
1187
1186
|
return { AssignmentExpression(node) {
|
|
1188
1187
|
if (!core.isAssignmentToThisState(node)) return;
|
|
1189
1188
|
const parentClass = ast.findParentNode(node, ast.isOneOf([AST_NODE_TYPES.ClassDeclaration, AST_NODE_TYPES.ClassExpression]));
|
|
@@ -1197,7 +1196,7 @@ function create$38(context) {
|
|
|
1197
1196
|
|
|
1198
1197
|
//#endregion
|
|
1199
1198
|
//#region src/rules/no-duplicate-key.ts
|
|
1200
|
-
const RULE_NAME$
|
|
1199
|
+
const RULE_NAME$36 = "no-duplicate-key";
|
|
1201
1200
|
var no_duplicate_key_default = createRule({
|
|
1202
1201
|
meta: {
|
|
1203
1202
|
type: "problem",
|
|
@@ -1205,11 +1204,11 @@ var no_duplicate_key_default = createRule({
|
|
|
1205
1204
|
messages: { default: "The 'key' prop must be unique to its sibling elements." },
|
|
1206
1205
|
schema: []
|
|
1207
1206
|
},
|
|
1208
|
-
name: RULE_NAME$
|
|
1209
|
-
create: create$
|
|
1207
|
+
name: RULE_NAME$36,
|
|
1208
|
+
create: create$36,
|
|
1210
1209
|
defaultOptions: []
|
|
1211
1210
|
});
|
|
1212
|
-
function create$
|
|
1211
|
+
function create$36(context) {
|
|
1213
1212
|
if (!context.sourceCode.text.includes("key=")) return {};
|
|
1214
1213
|
const keyedEntries = /* @__PURE__ */ new Map();
|
|
1215
1214
|
function isKeyValueEqual(a, b) {
|
|
@@ -1264,7 +1263,7 @@ function create$37(context) {
|
|
|
1264
1263
|
|
|
1265
1264
|
//#endregion
|
|
1266
1265
|
//#region src/rules/no-forward-ref.ts
|
|
1267
|
-
const RULE_NAME$
|
|
1266
|
+
const RULE_NAME$35 = "no-forward-ref";
|
|
1268
1267
|
var no_forward_ref_default = createRule({
|
|
1269
1268
|
meta: {
|
|
1270
1269
|
type: "problem",
|
|
@@ -1273,11 +1272,11 @@ var no_forward_ref_default = createRule({
|
|
|
1273
1272
|
messages: { default: "In React 19, 'forwardRef' is no longer necessary. Pass 'ref' as a prop instead." },
|
|
1274
1273
|
schema: []
|
|
1275
1274
|
},
|
|
1276
|
-
name: RULE_NAME$
|
|
1277
|
-
create: create$
|
|
1275
|
+
name: RULE_NAME$35,
|
|
1276
|
+
create: create$35,
|
|
1278
1277
|
defaultOptions: []
|
|
1279
1278
|
});
|
|
1280
|
-
function create$
|
|
1279
|
+
function create$35(context) {
|
|
1281
1280
|
if (!context.sourceCode.text.includes("forwardRef")) return {};
|
|
1282
1281
|
const { version } = getSettingsFromContext(context);
|
|
1283
1282
|
if (compare(version, "19.0.0", "<")) return {};
|
|
@@ -1372,7 +1371,7 @@ function getComponentPropsFixes(context, fixer, node, typeArguments) {
|
|
|
1372
1371
|
|
|
1373
1372
|
//#endregion
|
|
1374
1373
|
//#region src/rules/no-implicit-key.ts
|
|
1375
|
-
const RULE_NAME$
|
|
1374
|
+
const RULE_NAME$34 = "no-implicit-key";
|
|
1376
1375
|
var no_implicit_key_default = createRule({
|
|
1377
1376
|
meta: {
|
|
1378
1377
|
type: "problem",
|
|
@@ -1380,11 +1379,11 @@ var no_implicit_key_default = createRule({
|
|
|
1380
1379
|
messages: { default: "Do not use implicit 'key' props." },
|
|
1381
1380
|
schema: []
|
|
1382
1381
|
},
|
|
1383
|
-
name: RULE_NAME$
|
|
1384
|
-
create: create$
|
|
1382
|
+
name: RULE_NAME$34,
|
|
1383
|
+
create: create$34,
|
|
1385
1384
|
defaultOptions: []
|
|
1386
1385
|
});
|
|
1387
|
-
function create$
|
|
1386
|
+
function create$34(context) {
|
|
1388
1387
|
return { JSXOpeningElement(node) {
|
|
1389
1388
|
const keyProp = core.getJsxAttribute(context, node.parent)("key");
|
|
1390
1389
|
const isKeyPropOnElement = node.attributes.some((n) => n.type === AST_NODE_TYPES.JSXAttribute && n.name.type === AST_NODE_TYPES.JSXIdentifier && n.name.name === "key");
|
|
@@ -1397,7 +1396,7 @@ function create$35(context) {
|
|
|
1397
1396
|
|
|
1398
1397
|
//#endregion
|
|
1399
1398
|
//#region src/rules/no-leaked-conditional-rendering.ts
|
|
1400
|
-
const RULE_NAME$
|
|
1399
|
+
const RULE_NAME$33 = "no-leaked-conditional-rendering";
|
|
1401
1400
|
var no_leaked_conditional_rendering_default = createRule({
|
|
1402
1401
|
meta: {
|
|
1403
1402
|
type: "problem",
|
|
@@ -1405,11 +1404,11 @@ var no_leaked_conditional_rendering_default = createRule({
|
|
|
1405
1404
|
messages: { default: "Potential leaked value {{value}} that might cause unintentionally rendered values or rendering crashes." },
|
|
1406
1405
|
schema: []
|
|
1407
1406
|
},
|
|
1408
|
-
name: RULE_NAME$
|
|
1409
|
-
create: create$
|
|
1407
|
+
name: RULE_NAME$33,
|
|
1408
|
+
create: create$33,
|
|
1410
1409
|
defaultOptions: []
|
|
1411
1410
|
});
|
|
1412
|
-
function create$
|
|
1411
|
+
function create$33(context) {
|
|
1413
1412
|
if (!context.sourceCode.text.includes("&&")) return {};
|
|
1414
1413
|
const { version } = getSettingsFromContext(context);
|
|
1415
1414
|
const allowedVariants = [
|
|
@@ -1466,7 +1465,7 @@ function create$34(context) {
|
|
|
1466
1465
|
|
|
1467
1466
|
//#endregion
|
|
1468
1467
|
//#region src/rules/no-missing-component-display-name.ts
|
|
1469
|
-
const RULE_NAME$
|
|
1468
|
+
const RULE_NAME$32 = "no-missing-component-display-name";
|
|
1470
1469
|
var no_missing_component_display_name_default = createRule({
|
|
1471
1470
|
meta: {
|
|
1472
1471
|
type: "problem",
|
|
@@ -1474,11 +1473,11 @@ var no_missing_component_display_name_default = createRule({
|
|
|
1474
1473
|
messages: { default: "Add missing 'displayName' for component." },
|
|
1475
1474
|
schema: []
|
|
1476
1475
|
},
|
|
1477
|
-
name: RULE_NAME$
|
|
1478
|
-
create: create$
|
|
1476
|
+
name: RULE_NAME$32,
|
|
1477
|
+
create: create$32,
|
|
1479
1478
|
defaultOptions: []
|
|
1480
1479
|
});
|
|
1481
|
-
function create$
|
|
1480
|
+
function create$32(context) {
|
|
1482
1481
|
if (!context.sourceCode.text.includes("memo") && !context.sourceCode.text.includes("forwardRef")) return {};
|
|
1483
1482
|
const { ctx, visitor } = core.useComponentCollector(context, {
|
|
1484
1483
|
collectDisplayName: true,
|
|
@@ -1500,7 +1499,7 @@ function create$33(context) {
|
|
|
1500
1499
|
|
|
1501
1500
|
//#endregion
|
|
1502
1501
|
//#region src/rules/no-missing-context-display-name.ts
|
|
1503
|
-
const RULE_NAME$
|
|
1502
|
+
const RULE_NAME$31 = "no-missing-context-display-name";
|
|
1504
1503
|
var no_missing_context_display_name_default = createRule({
|
|
1505
1504
|
meta: {
|
|
1506
1505
|
type: "problem",
|
|
@@ -1509,11 +1508,11 @@ var no_missing_context_display_name_default = createRule({
|
|
|
1509
1508
|
messages: { default: "Add missing 'displayName' for context." },
|
|
1510
1509
|
schema: []
|
|
1511
1510
|
},
|
|
1512
|
-
name: RULE_NAME$
|
|
1513
|
-
create: create$
|
|
1511
|
+
name: RULE_NAME$31,
|
|
1512
|
+
create: create$31,
|
|
1514
1513
|
defaultOptions: []
|
|
1515
1514
|
});
|
|
1516
|
-
function create$
|
|
1515
|
+
function create$31(context) {
|
|
1517
1516
|
if (!context.sourceCode.text.includes("createContext")) return {};
|
|
1518
1517
|
const createCalls = [];
|
|
1519
1518
|
const displayNameAssignments = [];
|
|
@@ -1565,7 +1564,7 @@ function create$32(context) {
|
|
|
1565
1564
|
|
|
1566
1565
|
//#endregion
|
|
1567
1566
|
//#region src/rules/no-missing-key.ts
|
|
1568
|
-
const RULE_NAME$
|
|
1567
|
+
const RULE_NAME$30 = "no-missing-key";
|
|
1569
1568
|
var no_missing_key_default = createRule({
|
|
1570
1569
|
meta: {
|
|
1571
1570
|
type: "problem",
|
|
@@ -1576,11 +1575,11 @@ var no_missing_key_default = createRule({
|
|
|
1576
1575
|
},
|
|
1577
1576
|
schema: []
|
|
1578
1577
|
},
|
|
1579
|
-
name: RULE_NAME$
|
|
1580
|
-
create: create$
|
|
1578
|
+
name: RULE_NAME$30,
|
|
1579
|
+
create: create$30,
|
|
1581
1580
|
defaultOptions: []
|
|
1582
1581
|
});
|
|
1583
|
-
function create$
|
|
1582
|
+
function create$30(ctx) {
|
|
1584
1583
|
let inChildrenToArray = false;
|
|
1585
1584
|
function check(node) {
|
|
1586
1585
|
if (node.type === AST_NODE_TYPES.JSXElement) return core.getJsxAttribute(ctx, node)("key") == null ? {
|
|
@@ -1644,7 +1643,7 @@ function create$31(ctx) {
|
|
|
1644
1643
|
|
|
1645
1644
|
//#endregion
|
|
1646
1645
|
//#region src/rules/no-misused-capture-owner-stack.ts
|
|
1647
|
-
const RULE_NAME$
|
|
1646
|
+
const RULE_NAME$29 = "no-misused-capture-owner-stack";
|
|
1648
1647
|
var no_misused_capture_owner_stack_default = createRule({
|
|
1649
1648
|
meta: {
|
|
1650
1649
|
type: "problem",
|
|
@@ -1655,11 +1654,11 @@ var no_misused_capture_owner_stack_default = createRule({
|
|
|
1655
1654
|
},
|
|
1656
1655
|
schema: []
|
|
1657
1656
|
},
|
|
1658
|
-
name: RULE_NAME$
|
|
1659
|
-
create: create$
|
|
1657
|
+
name: RULE_NAME$29,
|
|
1658
|
+
create: create$29,
|
|
1660
1659
|
defaultOptions: []
|
|
1661
1660
|
});
|
|
1662
|
-
function create$
|
|
1661
|
+
function create$29(context) {
|
|
1663
1662
|
if (!context.sourceCode.text.includes("captureOwnerStack")) return {};
|
|
1664
1663
|
const { importSource } = getSettingsFromContext(context);
|
|
1665
1664
|
return {
|
|
@@ -1690,7 +1689,7 @@ function isDevelopmentOnlyCheck(node) {
|
|
|
1690
1689
|
|
|
1691
1690
|
//#endregion
|
|
1692
1691
|
//#region src/rules/no-nested-component-definitions.ts
|
|
1693
|
-
const RULE_NAME$
|
|
1692
|
+
const RULE_NAME$28 = "no-nested-component-definitions";
|
|
1694
1693
|
var no_nested_component_definitions_default = createRule({
|
|
1695
1694
|
meta: {
|
|
1696
1695
|
type: "problem",
|
|
@@ -1698,11 +1697,11 @@ var no_nested_component_definitions_default = createRule({
|
|
|
1698
1697
|
messages: { default: "Do not nest component definitions inside other components or props. {{suggestion}}" },
|
|
1699
1698
|
schema: []
|
|
1700
1699
|
},
|
|
1701
|
-
name: RULE_NAME$
|
|
1702
|
-
create: create$
|
|
1700
|
+
name: RULE_NAME$28,
|
|
1701
|
+
create: create$28,
|
|
1703
1702
|
defaultOptions: []
|
|
1704
1703
|
});
|
|
1705
|
-
function create$
|
|
1704
|
+
function create$28(context) {
|
|
1706
1705
|
const hint = core.ComponentDetectionHint.SkipArrayMapCallback | core.ComponentDetectionHint.SkipNullLiteral | core.ComponentDetectionHint.SkipUndefined | core.ComponentDetectionHint.SkipBooleanLiteral | core.ComponentDetectionHint.SkipStringLiteral | core.ComponentDetectionHint.SkipNumberLiteral | core.ComponentDetectionHint.StrictLogical | core.ComponentDetectionHint.StrictConditional;
|
|
1707
1706
|
const fCollector = core.useComponentCollector(context, { hint });
|
|
1708
1707
|
const cCollector = core.useComponentCollectorLegacy(context);
|
|
@@ -1807,7 +1806,7 @@ function isInsideCreateElementProps(context, node) {
|
|
|
1807
1806
|
|
|
1808
1807
|
//#endregion
|
|
1809
1808
|
//#region src/rules/no-nested-lazy-component-declarations.ts
|
|
1810
|
-
const RULE_NAME$
|
|
1809
|
+
const RULE_NAME$27 = "no-nested-lazy-component-declarations";
|
|
1811
1810
|
var no_nested_lazy_component_declarations_default = createRule({
|
|
1812
1811
|
meta: {
|
|
1813
1812
|
type: "problem",
|
|
@@ -1815,11 +1814,11 @@ var no_nested_lazy_component_declarations_default = createRule({
|
|
|
1815
1814
|
messages: { default: "Do not declare lazy components inside other components. Instead, always declare them at the top level of your module." },
|
|
1816
1815
|
schema: []
|
|
1817
1816
|
},
|
|
1818
|
-
name: RULE_NAME$
|
|
1819
|
-
create: create$
|
|
1817
|
+
name: RULE_NAME$27,
|
|
1818
|
+
create: create$27,
|
|
1820
1819
|
defaultOptions: []
|
|
1821
1820
|
});
|
|
1822
|
-
function create$
|
|
1821
|
+
function create$27(context) {
|
|
1823
1822
|
const hint = core.ComponentDetectionHint.None;
|
|
1824
1823
|
const collector = core.useComponentCollector(context, { hint });
|
|
1825
1824
|
const collectorLegacy = core.useComponentCollectorLegacy(context);
|
|
@@ -1848,7 +1847,7 @@ function create$28(context) {
|
|
|
1848
1847
|
|
|
1849
1848
|
//#endregion
|
|
1850
1849
|
//#region src/rules/no-prop-types.ts
|
|
1851
|
-
const RULE_NAME$
|
|
1850
|
+
const RULE_NAME$26 = "no-prop-types";
|
|
1852
1851
|
var no_prop_types_default = createRule({
|
|
1853
1852
|
meta: {
|
|
1854
1853
|
type: "problem",
|
|
@@ -1856,11 +1855,11 @@ var no_prop_types_default = createRule({
|
|
|
1856
1855
|
messages: { default: "[Deprecated] Use TypeScript or another type-checking solution instead." },
|
|
1857
1856
|
schema: []
|
|
1858
1857
|
},
|
|
1859
|
-
name: RULE_NAME$
|
|
1860
|
-
create: create$
|
|
1858
|
+
name: RULE_NAME$26,
|
|
1859
|
+
create: create$26,
|
|
1861
1860
|
defaultOptions: []
|
|
1862
1861
|
});
|
|
1863
|
-
function create$
|
|
1862
|
+
function create$26(context) {
|
|
1864
1863
|
if (!context.sourceCode.text.includes("propTypes")) return {};
|
|
1865
1864
|
return {
|
|
1866
1865
|
AssignmentExpression(node) {
|
|
@@ -1888,7 +1887,7 @@ function create$27(context) {
|
|
|
1888
1887
|
|
|
1889
1888
|
//#endregion
|
|
1890
1889
|
//#region src/rules/no-redundant-should-component-update.ts
|
|
1891
|
-
const RULE_NAME$
|
|
1890
|
+
const RULE_NAME$25 = "no-redundant-should-component-update";
|
|
1892
1891
|
function isShouldComponentUpdate(node) {
|
|
1893
1892
|
return ast.isMethodOrProperty(node) && node.key.type === AST_NODE_TYPES.Identifier && node.key.name === "shouldComponentUpdate";
|
|
1894
1893
|
}
|
|
@@ -1899,11 +1898,11 @@ var no_redundant_should_component_update_default = createRule({
|
|
|
1899
1898
|
messages: { default: "'{{componentName}}' does not need 'shouldComponentUpdate' when extending 'React.PureComponent'." },
|
|
1900
1899
|
schema: []
|
|
1901
1900
|
},
|
|
1902
|
-
name: RULE_NAME$
|
|
1903
|
-
create: create$
|
|
1901
|
+
name: RULE_NAME$25,
|
|
1902
|
+
create: create$25,
|
|
1904
1903
|
defaultOptions: []
|
|
1905
1904
|
});
|
|
1906
|
-
function create$
|
|
1905
|
+
function create$25(context) {
|
|
1907
1906
|
if (!context.sourceCode.text.includes("shouldComponentUpdate")) return {};
|
|
1908
1907
|
const { ctx, visitor } = core.useComponentCollectorLegacy(context);
|
|
1909
1908
|
return defineRuleListener(visitor, { "Program:exit"(program) {
|
|
@@ -1921,7 +1920,7 @@ function create$26(context) {
|
|
|
1921
1920
|
|
|
1922
1921
|
//#endregion
|
|
1923
1922
|
//#region src/rules/no-set-state-in-component-did-mount.ts
|
|
1924
|
-
const RULE_NAME$
|
|
1923
|
+
const RULE_NAME$24 = "no-set-state-in-component-did-mount";
|
|
1925
1924
|
var no_set_state_in_component_did_mount_default = createRule({
|
|
1926
1925
|
meta: {
|
|
1927
1926
|
type: "problem",
|
|
@@ -1929,11 +1928,11 @@ var no_set_state_in_component_did_mount_default = createRule({
|
|
|
1929
1928
|
messages: { default: "Do not call `this.setState` in `componentDidMount` outside functions such as callbacks." },
|
|
1930
1929
|
schema: []
|
|
1931
1930
|
},
|
|
1932
|
-
name: RULE_NAME$
|
|
1933
|
-
create: create$
|
|
1931
|
+
name: RULE_NAME$24,
|
|
1932
|
+
create: create$24,
|
|
1934
1933
|
defaultOptions: []
|
|
1935
1934
|
});
|
|
1936
|
-
function create$
|
|
1935
|
+
function create$24(context) {
|
|
1937
1936
|
if (!context.sourceCode.text.includes("componentDidMount")) return {};
|
|
1938
1937
|
return { CallExpression(node) {
|
|
1939
1938
|
if (!core.isThisSetState(node)) return;
|
|
@@ -1951,7 +1950,7 @@ function create$25(context) {
|
|
|
1951
1950
|
|
|
1952
1951
|
//#endregion
|
|
1953
1952
|
//#region src/rules/no-set-state-in-component-did-update.ts
|
|
1954
|
-
const RULE_NAME$
|
|
1953
|
+
const RULE_NAME$23 = "no-set-state-in-component-did-update";
|
|
1955
1954
|
var no_set_state_in_component_did_update_default = createRule({
|
|
1956
1955
|
meta: {
|
|
1957
1956
|
type: "problem",
|
|
@@ -1959,11 +1958,11 @@ var no_set_state_in_component_did_update_default = createRule({
|
|
|
1959
1958
|
messages: { default: "Do not call `this.setState` in `componentDidUpdate` outside functions such as callbacks." },
|
|
1960
1959
|
schema: []
|
|
1961
1960
|
},
|
|
1962
|
-
name: RULE_NAME$
|
|
1963
|
-
create: create$
|
|
1961
|
+
name: RULE_NAME$23,
|
|
1962
|
+
create: create$23,
|
|
1964
1963
|
defaultOptions: []
|
|
1965
1964
|
});
|
|
1966
|
-
function create$
|
|
1965
|
+
function create$23(context) {
|
|
1967
1966
|
if (!context.sourceCode.text.includes("componentDidUpdate")) return {};
|
|
1968
1967
|
return { CallExpression(node) {
|
|
1969
1968
|
if (!core.isThisSetState(node)) return;
|
|
@@ -1981,7 +1980,7 @@ function create$24(context) {
|
|
|
1981
1980
|
|
|
1982
1981
|
//#endregion
|
|
1983
1982
|
//#region src/rules/no-set-state-in-component-will-update.ts
|
|
1984
|
-
const RULE_NAME$
|
|
1983
|
+
const RULE_NAME$22 = "no-set-state-in-component-will-update";
|
|
1985
1984
|
var no_set_state_in_component_will_update_default = createRule({
|
|
1986
1985
|
meta: {
|
|
1987
1986
|
type: "problem",
|
|
@@ -1989,11 +1988,11 @@ var no_set_state_in_component_will_update_default = createRule({
|
|
|
1989
1988
|
messages: { default: "Do not call `this.setState` in `componentWillUpdate` outside functions such as callbacks." },
|
|
1990
1989
|
schema: []
|
|
1991
1990
|
},
|
|
1992
|
-
name: RULE_NAME$
|
|
1993
|
-
create: create$
|
|
1991
|
+
name: RULE_NAME$22,
|
|
1992
|
+
create: create$22,
|
|
1994
1993
|
defaultOptions: []
|
|
1995
1994
|
});
|
|
1996
|
-
function create$
|
|
1995
|
+
function create$22(context) {
|
|
1997
1996
|
if (!context.sourceCode.text.includes("componentWillUpdate")) return {};
|
|
1998
1997
|
return { CallExpression(node) {
|
|
1999
1998
|
if (!core.isThisSetState(node)) return;
|
|
@@ -2011,7 +2010,7 @@ function create$23(context) {
|
|
|
2011
2010
|
|
|
2012
2011
|
//#endregion
|
|
2013
2012
|
//#region src/rules/no-string-refs.ts
|
|
2014
|
-
const RULE_NAME$
|
|
2013
|
+
const RULE_NAME$21 = "no-string-refs";
|
|
2015
2014
|
var no_string_refs_default = createRule({
|
|
2016
2015
|
meta: {
|
|
2017
2016
|
type: "problem",
|
|
@@ -2020,11 +2019,11 @@ var no_string_refs_default = createRule({
|
|
|
2020
2019
|
messages: { default: "[Deprecated] Use callback refs instead." },
|
|
2021
2020
|
schema: []
|
|
2022
2021
|
},
|
|
2023
|
-
name: RULE_NAME$
|
|
2024
|
-
create: create$
|
|
2022
|
+
name: RULE_NAME$21,
|
|
2023
|
+
create: create$21,
|
|
2025
2024
|
defaultOptions: []
|
|
2026
2025
|
});
|
|
2027
|
-
function create$
|
|
2026
|
+
function create$21(context) {
|
|
2028
2027
|
const state = { isWithinClassComponent: false };
|
|
2029
2028
|
function onClassBodyEnter(node) {
|
|
2030
2029
|
if (core.isClassComponent(node.parent)) state.isWithinClassComponent = true;
|
|
@@ -2069,7 +2068,7 @@ function getJsxAttributeValueText(context, node) {
|
|
|
2069
2068
|
|
|
2070
2069
|
//#endregion
|
|
2071
2070
|
//#region src/rules/no-unnecessary-key.ts
|
|
2072
|
-
const RULE_NAME$
|
|
2071
|
+
const RULE_NAME$20 = "no-unnecessary-key";
|
|
2073
2072
|
var no_unnecessary_key_default = createRule({
|
|
2074
2073
|
meta: {
|
|
2075
2074
|
type: "problem",
|
|
@@ -2077,11 +2076,11 @@ var no_unnecessary_key_default = createRule({
|
|
|
2077
2076
|
messages: { default: "Unnecessary `key` prop on this element. {{reason}}" },
|
|
2078
2077
|
schema: []
|
|
2079
2078
|
},
|
|
2080
|
-
name: RULE_NAME$
|
|
2081
|
-
create: create$
|
|
2079
|
+
name: RULE_NAME$20,
|
|
2080
|
+
create: create$20,
|
|
2082
2081
|
defaultOptions: []
|
|
2083
2082
|
});
|
|
2084
|
-
function create$
|
|
2083
|
+
function create$20(context) {
|
|
2085
2084
|
if (!context.sourceCode.text.includes("key=")) return {};
|
|
2086
2085
|
const jsxConfig = {
|
|
2087
2086
|
...core.getJsxConfigFromContext(context),
|
|
@@ -2130,7 +2129,7 @@ function isArrayMethodCallback(node) {
|
|
|
2130
2129
|
|
|
2131
2130
|
//#endregion
|
|
2132
2131
|
//#region src/rules/no-unnecessary-use-callback.ts
|
|
2133
|
-
const RULE_NAME$
|
|
2132
|
+
const RULE_NAME$19 = "no-unnecessary-use-callback";
|
|
2134
2133
|
var no_unnecessary_use_callback_default = createRule({
|
|
2135
2134
|
meta: {
|
|
2136
2135
|
type: "problem",
|
|
@@ -2141,11 +2140,11 @@ var no_unnecessary_use_callback_default = createRule({
|
|
|
2141
2140
|
},
|
|
2142
2141
|
schema: []
|
|
2143
2142
|
},
|
|
2144
|
-
name: RULE_NAME$
|
|
2145
|
-
create: create$
|
|
2143
|
+
name: RULE_NAME$19,
|
|
2144
|
+
create: create$19,
|
|
2146
2145
|
defaultOptions: []
|
|
2147
2146
|
});
|
|
2148
|
-
function create$
|
|
2147
|
+
function create$19(context) {
|
|
2149
2148
|
if (!context.sourceCode.text.includes("useCallback")) return {};
|
|
2150
2149
|
return { VariableDeclarator(node) {
|
|
2151
2150
|
const { id, init } = node;
|
|
@@ -2207,7 +2206,7 @@ function checkForUsageInsideUseEffect$1(sourceCode, node) {
|
|
|
2207
2206
|
|
|
2208
2207
|
//#endregion
|
|
2209
2208
|
//#region src/rules/no-unnecessary-use-memo.ts
|
|
2210
|
-
const RULE_NAME$
|
|
2209
|
+
const RULE_NAME$18 = "no-unnecessary-use-memo";
|
|
2211
2210
|
var no_unnecessary_use_memo_default = createRule({
|
|
2212
2211
|
meta: {
|
|
2213
2212
|
type: "problem",
|
|
@@ -2218,11 +2217,11 @@ var no_unnecessary_use_memo_default = createRule({
|
|
|
2218
2217
|
},
|
|
2219
2218
|
schema: []
|
|
2220
2219
|
},
|
|
2221
|
-
name: RULE_NAME$
|
|
2222
|
-
create: create$
|
|
2220
|
+
name: RULE_NAME$18,
|
|
2221
|
+
create: create$18,
|
|
2223
2222
|
defaultOptions: []
|
|
2224
2223
|
});
|
|
2225
|
-
function create$
|
|
2224
|
+
function create$18(context) {
|
|
2226
2225
|
if (!context.sourceCode.text.includes("useMemo")) return {};
|
|
2227
2226
|
return { VariableDeclarator(node) {
|
|
2228
2227
|
const { id, init } = node;
|
|
@@ -2288,7 +2287,7 @@ function checkForUsageInsideUseEffect(sourceCode, node) {
|
|
|
2288
2287
|
|
|
2289
2288
|
//#endregion
|
|
2290
2289
|
//#region src/rules/no-unnecessary-use-prefix.ts
|
|
2291
|
-
const RULE_NAME$
|
|
2290
|
+
const RULE_NAME$17 = "no-unnecessary-use-prefix";
|
|
2292
2291
|
const WELL_KNOWN_HOOKS = ["useMDXComponents"];
|
|
2293
2292
|
function containsUseComments(context, node) {
|
|
2294
2293
|
return context.sourceCode.getCommentsInside(node).some(({ value }) => /use\([\s\S]*?\)/u.test(value) || /use[A-Z0-9]\w*\([\s\S]*?\)/u.test(value));
|
|
@@ -2300,11 +2299,11 @@ var no_unnecessary_use_prefix_default = createRule({
|
|
|
2300
2299
|
messages: { default: "If your function doesn't call any Hooks, avoid the 'use' prefix. Instead, write it as a regular function without the 'use' prefix." },
|
|
2301
2300
|
schema: []
|
|
2302
2301
|
},
|
|
2303
|
-
name: RULE_NAME$
|
|
2304
|
-
create: create$
|
|
2302
|
+
name: RULE_NAME$17,
|
|
2303
|
+
create: create$17,
|
|
2305
2304
|
defaultOptions: []
|
|
2306
2305
|
});
|
|
2307
|
-
function create$
|
|
2306
|
+
function create$17(context) {
|
|
2308
2307
|
const { ctx, visitor } = core.useHookCollector(context);
|
|
2309
2308
|
return defineRuleListener(visitor, { "Program:exit"(program) {
|
|
2310
2309
|
for (const { id, name, node, hookCalls } of ctx.getAllHooks(program)) {
|
|
@@ -2324,7 +2323,7 @@ function create$18(context) {
|
|
|
2324
2323
|
|
|
2325
2324
|
//#endregion
|
|
2326
2325
|
//#region src/rules/no-unnecessary-use-ref.ts
|
|
2327
|
-
const RULE_NAME$
|
|
2326
|
+
const RULE_NAME$16 = "no-unnecessary-use-ref";
|
|
2328
2327
|
var no_unnecessary_use_ref_default = createRule({
|
|
2329
2328
|
meta: {
|
|
2330
2329
|
type: "problem",
|
|
@@ -2332,11 +2331,11 @@ var no_unnecessary_use_ref_default = createRule({
|
|
|
2332
2331
|
messages: { default: "Unnecessary use of 'useRef'. Instead, co-locate the value inside the effect that uses it." },
|
|
2333
2332
|
schema: []
|
|
2334
2333
|
},
|
|
2335
|
-
name: RULE_NAME$
|
|
2336
|
-
create: create$
|
|
2334
|
+
name: RULE_NAME$16,
|
|
2335
|
+
create: create$16,
|
|
2337
2336
|
defaultOptions: []
|
|
2338
2337
|
});
|
|
2339
|
-
function create$
|
|
2338
|
+
function create$16(context) {
|
|
2340
2339
|
if (!context.sourceCode.text.includes("useRef")) return {};
|
|
2341
2340
|
return { VariableDeclarator(node) {
|
|
2342
2341
|
const { id, init } = node;
|
|
@@ -2362,7 +2361,7 @@ function create$17(context) {
|
|
|
2362
2361
|
|
|
2363
2362
|
//#endregion
|
|
2364
2363
|
//#region src/rules/no-unsafe-component-will-mount.ts
|
|
2365
|
-
const RULE_NAME$
|
|
2364
|
+
const RULE_NAME$15 = "no-unsafe-component-will-mount";
|
|
2366
2365
|
var no_unsafe_component_will_mount_default = createRule({
|
|
2367
2366
|
meta: {
|
|
2368
2367
|
type: "problem",
|
|
@@ -2370,11 +2369,11 @@ var no_unsafe_component_will_mount_default = createRule({
|
|
|
2370
2369
|
messages: { default: "Do not use 'UNSAFE_componentWillMount'." },
|
|
2371
2370
|
schema: []
|
|
2372
2371
|
},
|
|
2373
|
-
name: RULE_NAME$
|
|
2374
|
-
create: create$
|
|
2372
|
+
name: RULE_NAME$15,
|
|
2373
|
+
create: create$15,
|
|
2375
2374
|
defaultOptions: []
|
|
2376
2375
|
});
|
|
2377
|
-
function create$
|
|
2376
|
+
function create$15(context) {
|
|
2378
2377
|
if (!context.sourceCode.text.includes("UNSAFE_componentWillMount")) return {};
|
|
2379
2378
|
const { ctx, visitor } = core.useComponentCollectorLegacy(context);
|
|
2380
2379
|
return defineRuleListener(visitor, { "Program:exit"(program) {
|
|
@@ -2390,7 +2389,7 @@ function create$16(context) {
|
|
|
2390
2389
|
|
|
2391
2390
|
//#endregion
|
|
2392
2391
|
//#region src/rules/no-unsafe-component-will-receive-props.ts
|
|
2393
|
-
const RULE_NAME$
|
|
2392
|
+
const RULE_NAME$14 = "no-unsafe-component-will-receive-props";
|
|
2394
2393
|
var no_unsafe_component_will_receive_props_default = createRule({
|
|
2395
2394
|
meta: {
|
|
2396
2395
|
type: "problem",
|
|
@@ -2398,11 +2397,11 @@ var no_unsafe_component_will_receive_props_default = createRule({
|
|
|
2398
2397
|
messages: { default: "Do not use 'UNSAFE_componentWillReceiveProps'." },
|
|
2399
2398
|
schema: []
|
|
2400
2399
|
},
|
|
2401
|
-
name: RULE_NAME$
|
|
2402
|
-
create: create$
|
|
2400
|
+
name: RULE_NAME$14,
|
|
2401
|
+
create: create$14,
|
|
2403
2402
|
defaultOptions: []
|
|
2404
2403
|
});
|
|
2405
|
-
function create$
|
|
2404
|
+
function create$14(context) {
|
|
2406
2405
|
if (!context.sourceCode.text.includes("UNSAFE_componentWillReceiveProps")) return {};
|
|
2407
2406
|
const { ctx, visitor } = core.useComponentCollectorLegacy(context);
|
|
2408
2407
|
return defineRuleListener(visitor, { "Program:exit"(program) {
|
|
@@ -2418,7 +2417,7 @@ function create$15(context) {
|
|
|
2418
2417
|
|
|
2419
2418
|
//#endregion
|
|
2420
2419
|
//#region src/rules/no-unsafe-component-will-update.ts
|
|
2421
|
-
const RULE_NAME$
|
|
2420
|
+
const RULE_NAME$13 = "no-unsafe-component-will-update";
|
|
2422
2421
|
var no_unsafe_component_will_update_default = createRule({
|
|
2423
2422
|
meta: {
|
|
2424
2423
|
type: "problem",
|
|
@@ -2426,11 +2425,11 @@ var no_unsafe_component_will_update_default = createRule({
|
|
|
2426
2425
|
messages: { default: "Do not use 'UNSAFE_componentWillUpdate'." },
|
|
2427
2426
|
schema: []
|
|
2428
2427
|
},
|
|
2429
|
-
name: RULE_NAME$
|
|
2430
|
-
create: create$
|
|
2428
|
+
name: RULE_NAME$13,
|
|
2429
|
+
create: create$13,
|
|
2431
2430
|
defaultOptions: []
|
|
2432
2431
|
});
|
|
2433
|
-
function create$
|
|
2432
|
+
function create$13(context) {
|
|
2434
2433
|
if (!context.sourceCode.text.includes("UNSAFE_componentWillUpdate")) return {};
|
|
2435
2434
|
const { ctx, visitor } = core.useComponentCollectorLegacy(context);
|
|
2436
2435
|
return defineRuleListener(visitor, { "Program:exit"(program) {
|
|
@@ -2446,7 +2445,7 @@ function create$14(context) {
|
|
|
2446
2445
|
|
|
2447
2446
|
//#endregion
|
|
2448
2447
|
//#region src/rules/no-unstable-context-value.ts
|
|
2449
|
-
const RULE_NAME$
|
|
2448
|
+
const RULE_NAME$12 = "no-unstable-context-value";
|
|
2450
2449
|
var no_unstable_context_value_default = createRule({
|
|
2451
2450
|
meta: {
|
|
2452
2451
|
type: "problem",
|
|
@@ -2454,11 +2453,11 @@ var no_unstable_context_value_default = createRule({
|
|
|
2454
2453
|
messages: { unstableContextValue: "A/an '{{type}}' passed as the value prop to the context provider should not be constructed. It will change on every render. {{suggestion}}" },
|
|
2455
2454
|
schema: []
|
|
2456
2455
|
},
|
|
2457
|
-
name: RULE_NAME$
|
|
2458
|
-
create: create$
|
|
2456
|
+
name: RULE_NAME$12,
|
|
2457
|
+
create: create$12,
|
|
2459
2458
|
defaultOptions: []
|
|
2460
2459
|
});
|
|
2461
|
-
function create$
|
|
2460
|
+
function create$12(context) {
|
|
2462
2461
|
if (ast.getFileDirectives(context.sourceCode.ast).some((d) => d.value === "use memo")) return {};
|
|
2463
2462
|
const { version } = getSettingsFromContext(context);
|
|
2464
2463
|
const isReact18OrBelow = compare(version, "19.0.0", "<");
|
|
@@ -2506,7 +2505,7 @@ function isContextName(name, isReact18OrBelow) {
|
|
|
2506
2505
|
|
|
2507
2506
|
//#endregion
|
|
2508
2507
|
//#region src/rules/no-unstable-default-props.ts
|
|
2509
|
-
const RULE_NAME$
|
|
2508
|
+
const RULE_NAME$11 = "no-unstable-default-props";
|
|
2510
2509
|
const defaultOptions$2 = [{ safeDefaultProps: [] }];
|
|
2511
2510
|
const schema$1 = [{
|
|
2512
2511
|
type: "object",
|
|
@@ -2523,8 +2522,8 @@ var no_unstable_default_props_default = createRule({
|
|
|
2523
2522
|
messages: { default: "A/an '{{forbiddenType}}' as default prop. This could lead to potential infinite render loop in React. Use a variable instead of '{{forbiddenType}}'." },
|
|
2524
2523
|
schema: schema$1
|
|
2525
2524
|
},
|
|
2526
|
-
name: RULE_NAME$
|
|
2527
|
-
create: create$
|
|
2525
|
+
name: RULE_NAME$11,
|
|
2526
|
+
create: create$11,
|
|
2528
2527
|
defaultOptions: defaultOptions$2
|
|
2529
2528
|
});
|
|
2530
2529
|
function extractIdentifier(node) {
|
|
@@ -2535,7 +2534,7 @@ function extractIdentifier(node) {
|
|
|
2535
2534
|
}
|
|
2536
2535
|
return null;
|
|
2537
2536
|
}
|
|
2538
|
-
function create$
|
|
2537
|
+
function create$11(context, [options]) {
|
|
2539
2538
|
if (ast.getFileDirectives(context.sourceCode.ast).some((d) => d.value === "use memo")) return {};
|
|
2540
2539
|
const { ctx, visitor } = core.useComponentCollector(context);
|
|
2541
2540
|
const declarators = /* @__PURE__ */ new WeakMap();
|
|
@@ -2580,7 +2579,7 @@ function create$12(context, [options]) {
|
|
|
2580
2579
|
|
|
2581
2580
|
//#endregion
|
|
2582
2581
|
//#region src/rules/no-unused-class-component-members.ts
|
|
2583
|
-
const RULE_NAME$
|
|
2582
|
+
const RULE_NAME$10 = "no-unused-class-component-members";
|
|
2584
2583
|
const LIFECYCLE_METHODS = new Set([
|
|
2585
2584
|
"componentDidCatch",
|
|
2586
2585
|
"componentDidMount",
|
|
@@ -2611,11 +2610,11 @@ var no_unused_class_component_members_default = createRule({
|
|
|
2611
2610
|
messages: { default: "Unused method or property '{{methodName}}'' of class '{{className}}'." },
|
|
2612
2611
|
schema: []
|
|
2613
2612
|
},
|
|
2614
|
-
name: RULE_NAME$
|
|
2615
|
-
create: create$
|
|
2613
|
+
name: RULE_NAME$10,
|
|
2614
|
+
create: create$10,
|
|
2616
2615
|
defaultOptions: []
|
|
2617
2616
|
});
|
|
2618
|
-
function create$
|
|
2617
|
+
function create$10(context) {
|
|
2619
2618
|
const classStack = [];
|
|
2620
2619
|
const methodStack = [];
|
|
2621
2620
|
const propertyDefs = /* @__PURE__ */ new WeakMap();
|
|
@@ -2696,7 +2695,7 @@ function create$11(context) {
|
|
|
2696
2695
|
|
|
2697
2696
|
//#endregion
|
|
2698
2697
|
//#region src/rules/no-unused-props.ts
|
|
2699
|
-
const RULE_NAME$
|
|
2698
|
+
const RULE_NAME$9 = "no-unused-props";
|
|
2700
2699
|
var no_unused_props_default = createRule({
|
|
2701
2700
|
meta: {
|
|
2702
2701
|
type: "problem",
|
|
@@ -2704,11 +2703,11 @@ var no_unused_props_default = createRule({
|
|
|
2704
2703
|
messages: { default: "Prop `{{name}}` is declared but never used" },
|
|
2705
2704
|
schema: []
|
|
2706
2705
|
},
|
|
2707
|
-
name: RULE_NAME$
|
|
2708
|
-
create: create$
|
|
2706
|
+
name: RULE_NAME$9,
|
|
2707
|
+
create: create$9,
|
|
2709
2708
|
defaultOptions: []
|
|
2710
2709
|
});
|
|
2711
|
-
function create$
|
|
2710
|
+
function create$9(context) {
|
|
2712
2711
|
const services = ESLintUtils.getParserServices(context, false);
|
|
2713
2712
|
const { ctx, visitor } = core.useComponentCollector(context);
|
|
2714
2713
|
return defineRuleListener(visitor, { "Program:exit"(program) {
|
|
@@ -2806,7 +2805,7 @@ function reportUnusedProp(context, services, prop) {
|
|
|
2806
2805
|
|
|
2807
2806
|
//#endregion
|
|
2808
2807
|
//#region src/rules/no-unused-state.ts
|
|
2809
|
-
const RULE_NAME$
|
|
2808
|
+
const RULE_NAME$8 = "no-unused-state";
|
|
2810
2809
|
function isKeyLiteral(node, key) {
|
|
2811
2810
|
return match(key).with({ type: AST_NODE_TYPES.Literal }, constTrue).with({
|
|
2812
2811
|
type: AST_NODE_TYPES.TemplateLiteral,
|
|
@@ -2820,11 +2819,11 @@ var no_unused_state_default = createRule({
|
|
|
2820
2819
|
messages: { default: "Unused class component state in '{{className}}'" },
|
|
2821
2820
|
schema: []
|
|
2822
2821
|
},
|
|
2823
|
-
name: RULE_NAME$
|
|
2824
|
-
create: create$
|
|
2822
|
+
name: RULE_NAME$8,
|
|
2823
|
+
create: create$8,
|
|
2825
2824
|
defaultOptions: []
|
|
2826
2825
|
});
|
|
2827
|
-
function create$
|
|
2826
|
+
function create$8(context) {
|
|
2828
2827
|
const classStack = [];
|
|
2829
2828
|
const methodStack = [];
|
|
2830
2829
|
const constructorStack = [];
|
|
@@ -2933,7 +2932,7 @@ function create$9(context) {
|
|
|
2933
2932
|
|
|
2934
2933
|
//#endregion
|
|
2935
2934
|
//#region src/rules/no-use-context.ts
|
|
2936
|
-
const RULE_NAME$
|
|
2935
|
+
const RULE_NAME$7 = "no-use-context";
|
|
2937
2936
|
var no_use_context_default = createRule({
|
|
2938
2937
|
meta: {
|
|
2939
2938
|
type: "problem",
|
|
@@ -2942,11 +2941,11 @@ var no_use_context_default = createRule({
|
|
|
2942
2941
|
messages: { default: "In React 19, 'use' is preferred over 'useContext' because it is more flexible." },
|
|
2943
2942
|
schema: []
|
|
2944
2943
|
},
|
|
2945
|
-
name: RULE_NAME$
|
|
2946
|
-
create: create$
|
|
2944
|
+
name: RULE_NAME$7,
|
|
2945
|
+
create: create$7,
|
|
2947
2946
|
defaultOptions: []
|
|
2948
2947
|
});
|
|
2949
|
-
function create$
|
|
2948
|
+
function create$7(context) {
|
|
2950
2949
|
if (!context.sourceCode.text.includes("useContext")) return {};
|
|
2951
2950
|
const settings = getSettingsFromContext(context);
|
|
2952
2951
|
if (compare(settings.version, "19.0.0", "<")) return {};
|
|
@@ -3011,7 +3010,7 @@ function getCorrelativeTokens(context, node) {
|
|
|
3011
3010
|
|
|
3012
3011
|
//#endregion
|
|
3013
3012
|
//#region src/rules/no-useless-forward-ref.ts
|
|
3014
|
-
const RULE_NAME$
|
|
3013
|
+
const RULE_NAME$6 = "no-useless-forward-ref";
|
|
3015
3014
|
var no_useless_forward_ref_default = createRule({
|
|
3016
3015
|
meta: {
|
|
3017
3016
|
type: "problem",
|
|
@@ -3019,11 +3018,11 @@ var no_useless_forward_ref_default = createRule({
|
|
|
3019
3018
|
messages: { default: "A 'forwardRef' is used with this component but no 'ref' parameter is set." },
|
|
3020
3019
|
schema: []
|
|
3021
3020
|
},
|
|
3022
|
-
name: RULE_NAME$
|
|
3023
|
-
create: create$
|
|
3021
|
+
name: RULE_NAME$6,
|
|
3022
|
+
create: create$6,
|
|
3024
3023
|
defaultOptions: []
|
|
3025
3024
|
});
|
|
3026
|
-
function create$
|
|
3025
|
+
function create$6(context) {
|
|
3027
3026
|
return { CallExpression(node) {
|
|
3028
3027
|
if (!core.isForwardRefCall(context, node)) return;
|
|
3029
3028
|
const [component] = node.arguments;
|
|
@@ -3038,7 +3037,7 @@ function create$7(context) {
|
|
|
3038
3037
|
|
|
3039
3038
|
//#endregion
|
|
3040
3039
|
//#region src/rules/no-useless-fragment.ts
|
|
3041
|
-
const RULE_NAME$
|
|
3040
|
+
const RULE_NAME$5 = "no-useless-fragment";
|
|
3042
3041
|
const defaultOptions$1 = [{
|
|
3043
3042
|
allowEmptyFragment: false,
|
|
3044
3043
|
allowExpressions: true
|
|
@@ -3066,11 +3065,11 @@ var no_useless_fragment_default = createRule({
|
|
|
3066
3065
|
messages: { default: "A fragment {{reason}} is useless." },
|
|
3067
3066
|
schema
|
|
3068
3067
|
},
|
|
3069
|
-
name: RULE_NAME$
|
|
3070
|
-
create: create$
|
|
3068
|
+
name: RULE_NAME$5,
|
|
3069
|
+
create: create$5,
|
|
3071
3070
|
defaultOptions: defaultOptions$1
|
|
3072
3071
|
});
|
|
3073
|
-
function create$
|
|
3072
|
+
function create$5(context, [option]) {
|
|
3074
3073
|
const { allowEmptyFragment = false, allowExpressions = true } = option;
|
|
3075
3074
|
const jsxConfig = {
|
|
3076
3075
|
...core.getJsxConfigFromContext(context),
|
|
@@ -3178,7 +3177,7 @@ function trimLikeReact(text) {
|
|
|
3178
3177
|
|
|
3179
3178
|
//#endregion
|
|
3180
3179
|
//#region src/rules/prefer-destructuring-assignment.ts
|
|
3181
|
-
const RULE_NAME$
|
|
3180
|
+
const RULE_NAME$4 = "prefer-destructuring-assignment";
|
|
3182
3181
|
var prefer_destructuring_assignment_default = createRule({
|
|
3183
3182
|
meta: {
|
|
3184
3183
|
type: "problem",
|
|
@@ -3186,11 +3185,11 @@ var prefer_destructuring_assignment_default = createRule({
|
|
|
3186
3185
|
messages: { default: "Use destructuring assignment for component props." },
|
|
3187
3186
|
schema: []
|
|
3188
3187
|
},
|
|
3189
|
-
name: RULE_NAME$
|
|
3190
|
-
create: create$
|
|
3188
|
+
name: RULE_NAME$4,
|
|
3189
|
+
create: create$4,
|
|
3191
3190
|
defaultOptions: []
|
|
3192
3191
|
});
|
|
3193
|
-
function create$
|
|
3192
|
+
function create$4(context) {
|
|
3194
3193
|
const { ctx, visitor } = core.useComponentCollector(context);
|
|
3195
3194
|
return defineRuleListener(visitor, { "Program:exit"(program) {
|
|
3196
3195
|
for (const component of ctx.getAllComponents(program)) {
|
|
@@ -3214,7 +3213,7 @@ function create$5(context) {
|
|
|
3214
3213
|
|
|
3215
3214
|
//#endregion
|
|
3216
3215
|
//#region src/rules/prefer-namespace-import.ts
|
|
3217
|
-
const RULE_NAME$
|
|
3216
|
+
const RULE_NAME$3 = "prefer-namespace-import";
|
|
3218
3217
|
var prefer_namespace_import_default = createRule({
|
|
3219
3218
|
meta: {
|
|
3220
3219
|
type: "problem",
|
|
@@ -3223,11 +3222,11 @@ var prefer_namespace_import_default = createRule({
|
|
|
3223
3222
|
messages: { default: "Prefer importing React as 'import * as React from \"{{importSource}}\"';" },
|
|
3224
3223
|
schema: []
|
|
3225
3224
|
},
|
|
3226
|
-
name: RULE_NAME$
|
|
3227
|
-
create: create$
|
|
3225
|
+
name: RULE_NAME$3,
|
|
3226
|
+
create: create$3,
|
|
3228
3227
|
defaultOptions: []
|
|
3229
3228
|
});
|
|
3230
|
-
function create$
|
|
3229
|
+
function create$3(context) {
|
|
3231
3230
|
const { importSource } = getSettingsFromContext(context);
|
|
3232
3231
|
return { [`ImportDeclaration[source.value="${importSource}"] ImportDefaultSpecifier`](node) {
|
|
3233
3232
|
const hasOtherSpecifiers = node.parent.specifiers.length > 1;
|
|
@@ -3251,7 +3250,7 @@ function create$4(context) {
|
|
|
3251
3250
|
|
|
3252
3251
|
//#endregion
|
|
3253
3252
|
//#region src/rules/prefer-read-only-props.ts
|
|
3254
|
-
const RULE_NAME$
|
|
3253
|
+
const RULE_NAME$2 = "prefer-read-only-props";
|
|
3255
3254
|
var prefer_read_only_props_default = createRule({
|
|
3256
3255
|
meta: {
|
|
3257
3256
|
type: "problem",
|
|
@@ -3259,11 +3258,11 @@ var prefer_read_only_props_default = createRule({
|
|
|
3259
3258
|
messages: { default: "A function component's props should be read-only." },
|
|
3260
3259
|
schema: []
|
|
3261
3260
|
},
|
|
3262
|
-
name: RULE_NAME$
|
|
3263
|
-
create: create$
|
|
3261
|
+
name: RULE_NAME$2,
|
|
3262
|
+
create: create$2,
|
|
3264
3263
|
defaultOptions: []
|
|
3265
3264
|
});
|
|
3266
|
-
function create$
|
|
3265
|
+
function create$2(context) {
|
|
3267
3266
|
const services = ESLintUtils.getParserServices(context, false);
|
|
3268
3267
|
const checker = services.program.getTypeChecker();
|
|
3269
3268
|
const { ctx, visitor } = core.useComponentCollector(context);
|
|
@@ -3304,7 +3303,7 @@ function isClassOrInterfaceReadonlyLoose(checker, type) {
|
|
|
3304
3303
|
|
|
3305
3304
|
//#endregion
|
|
3306
3305
|
//#region src/rules/prefer-use-state-lazy-initialization.ts
|
|
3307
|
-
const RULE_NAME$
|
|
3306
|
+
const RULE_NAME$1 = "prefer-use-state-lazy-initialization";
|
|
3308
3307
|
const ALLOW_LIST = [
|
|
3309
3308
|
"Boolean",
|
|
3310
3309
|
"String",
|
|
@@ -3317,11 +3316,11 @@ var prefer_use_state_lazy_initialization_default = createRule({
|
|
|
3317
3316
|
messages: { default: "To prevent re-computation, consider using lazy initial state for useState calls that involve function calls. Ex: 'useState(() => getValue())'." },
|
|
3318
3317
|
schema: []
|
|
3319
3318
|
},
|
|
3320
|
-
name: RULE_NAME$
|
|
3321
|
-
create: create$
|
|
3319
|
+
name: RULE_NAME$1,
|
|
3320
|
+
create: create$1,
|
|
3322
3321
|
defaultOptions: []
|
|
3323
3322
|
});
|
|
3324
|
-
function create$
|
|
3323
|
+
function create$1(context) {
|
|
3325
3324
|
return { CallExpression(node) {
|
|
3326
3325
|
if (!core.isUseStateCall(node)) return;
|
|
3327
3326
|
const [useStateInput] = node.arguments;
|
|
@@ -3348,96 +3347,6 @@ function create$2(context) {
|
|
|
3348
3347
|
} };
|
|
3349
3348
|
}
|
|
3350
3349
|
|
|
3351
|
-
//#endregion
|
|
3352
|
-
//#region src/rules/rsc-no-misused-use-server.ts
|
|
3353
|
-
const RULE_NAME$1 = "rsc-no-misused-use-server";
|
|
3354
|
-
var rsc_no_misused_use_server_default = createRule({
|
|
3355
|
-
meta: {
|
|
3356
|
-
type: "problem",
|
|
3357
|
-
docs: { description: "Checks against misused `'use server'` directive." },
|
|
3358
|
-
fixable: "code",
|
|
3359
|
-
messages: { default: "Server functions must be async." },
|
|
3360
|
-
schema: []
|
|
3361
|
-
},
|
|
3362
|
-
name: RULE_NAME$1,
|
|
3363
|
-
create: create$1,
|
|
3364
|
-
defaultOptions: []
|
|
3365
|
-
});
|
|
3366
|
-
function create$1(context) {
|
|
3367
|
-
if (!context.sourceCode.text.includes("use server")) return {};
|
|
3368
|
-
const hasFileLevelUseServerDirective = ast.getFileDirectives(context.sourceCode.ast).some((d) => d.value === "use server");
|
|
3369
|
-
/**
|
|
3370
|
-
* Check if `node` is an async function, and report if not
|
|
3371
|
-
* @param node The function node to check
|
|
3372
|
-
* @returns Whether a report was made
|
|
3373
|
-
*/
|
|
3374
|
-
function getAsyncFix(node) {
|
|
3375
|
-
if (node.type === AST_NODE_TYPES.FunctionDeclaration || node.type === AST_NODE_TYPES.FunctionExpression) {
|
|
3376
|
-
const fnToken = context.sourceCode.getFirstToken(node);
|
|
3377
|
-
if (fnToken != null) return (fixer) => fixer.insertTextBefore(fnToken, "async ");
|
|
3378
|
-
return null;
|
|
3379
|
-
}
|
|
3380
|
-
if (node.type === AST_NODE_TYPES.ArrowFunctionExpression) return (fixer) => fixer.insertTextBefore(node, "async ");
|
|
3381
|
-
return null;
|
|
3382
|
-
}
|
|
3383
|
-
function reportNonAsyncFunction(node) {
|
|
3384
|
-
if (!ast.isFunction(node)) return false;
|
|
3385
|
-
if (!node.async) {
|
|
3386
|
-
context.report({
|
|
3387
|
-
messageId: "default",
|
|
3388
|
-
node,
|
|
3389
|
-
fix: getAsyncFix(node)
|
|
3390
|
-
});
|
|
3391
|
-
return true;
|
|
3392
|
-
}
|
|
3393
|
-
return false;
|
|
3394
|
-
}
|
|
3395
|
-
/**
|
|
3396
|
-
* Check non-exported local functions for 'use server' directives, and report if they are not async
|
|
3397
|
-
* @param node The function node to check
|
|
3398
|
-
*/
|
|
3399
|
-
function checkLocalServerFunction(node) {
|
|
3400
|
-
if (ast.getFunctionDirectives(node).some((d) => d.value === "use server")) reportNonAsyncFunction(node);
|
|
3401
|
-
}
|
|
3402
|
-
/**
|
|
3403
|
-
* Find function declarations from exports and check them
|
|
3404
|
-
* @param id The identifier of the exported function
|
|
3405
|
-
* @param node The export declaration node
|
|
3406
|
-
*/
|
|
3407
|
-
function findAndCheckExportedFunctionDeclarations(id, node) {
|
|
3408
|
-
const variableNode = getVariableDefinitionNode(findVariable(id.name, context.sourceCode.getScope(node)), 0);
|
|
3409
|
-
if (variableNode == null) return;
|
|
3410
|
-
reportNonAsyncFunction(variableNode);
|
|
3411
|
-
}
|
|
3412
|
-
return {
|
|
3413
|
-
ArrowFunctionExpression(node) {
|
|
3414
|
-
checkLocalServerFunction(node);
|
|
3415
|
-
},
|
|
3416
|
-
ExportDefaultDeclaration(node) {
|
|
3417
|
-
if (!hasFileLevelUseServerDirective) return;
|
|
3418
|
-
const decl = node.declaration;
|
|
3419
|
-
if (reportNonAsyncFunction(decl)) return;
|
|
3420
|
-
if (ast.isIdentifier(decl)) findAndCheckExportedFunctionDeclarations(decl, node);
|
|
3421
|
-
},
|
|
3422
|
-
ExportNamedDeclaration(node) {
|
|
3423
|
-
if (!hasFileLevelUseServerDirective) return;
|
|
3424
|
-
if (node.declaration != null) {
|
|
3425
|
-
const decl = node.declaration;
|
|
3426
|
-
if (reportNonAsyncFunction(decl)) return;
|
|
3427
|
-
if (decl.type === AST_NODE_TYPES.VariableDeclaration) for (const declarator of decl.declarations) reportNonAsyncFunction(declarator.init);
|
|
3428
|
-
return;
|
|
3429
|
-
}
|
|
3430
|
-
if (node.source == null && node.specifiers.length > 0) for (const spec of node.specifiers) findAndCheckExportedFunctionDeclarations(spec.local, node);
|
|
3431
|
-
},
|
|
3432
|
-
FunctionDeclaration(node) {
|
|
3433
|
-
checkLocalServerFunction(node);
|
|
3434
|
-
},
|
|
3435
|
-
FunctionExpression(node) {
|
|
3436
|
-
checkLocalServerFunction(node);
|
|
3437
|
-
}
|
|
3438
|
-
};
|
|
3439
|
-
}
|
|
3440
|
-
|
|
3441
3350
|
//#endregion
|
|
3442
3351
|
//#region src/rules-removed/no-forbidden-props.ts
|
|
3443
3352
|
const RULE_NAME = "no-forbidden-props";
|
|
@@ -3593,7 +3502,6 @@ const plugin = {
|
|
|
3593
3502
|
"prefer-namespace-import": prefer_namespace_import_default,
|
|
3594
3503
|
"prefer-read-only-props": prefer_read_only_props_default,
|
|
3595
3504
|
"prefer-use-state-lazy-initialization": prefer_use_state_lazy_initialization_default,
|
|
3596
|
-
"rsc-no-misused-use-server": rsc_no_misused_use_server_default,
|
|
3597
3505
|
"no-forbidden-props": no_forbidden_props_default
|
|
3598
3506
|
}
|
|
3599
3507
|
};
|