eslint-plugin-react-x 1.16.1-next.0 → 1.16.1-next.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -41,7 +41,7 @@ var ts25__default = /*#__PURE__*/_interopDefault(ts25);
41
41
 
42
42
  // package.json
43
43
  var name = "eslint-plugin-react-x";
44
- var version = "1.16.1-next.0";
44
+ var version = "1.16.1-next.3";
45
45
  var createRule = shared.createRuleForPlugin("x");
46
46
 
47
47
  // src/rules/avoid-shorthand-boolean.ts
@@ -133,7 +133,43 @@ var ensure_forward_ref_using_ref_default = createRule({
133
133
  },
134
134
  defaultOptions: []
135
135
  });
136
- var RULE_NAME4 = "jsx-uses-vars";
136
+ var RULE_NAME4 = "jsx-no-duplicate-props";
137
+ var jsx_no_duplicate_props_default = createRule({
138
+ meta: {
139
+ type: "problem",
140
+ docs: {
141
+ description: "disallow duplicate props"
142
+ },
143
+ messages: {
144
+ jsxNoDuplicateProps: "Duplicate prop '{{name}}'"
145
+ },
146
+ schema: []
147
+ },
148
+ name: RULE_NAME4,
149
+ create(context) {
150
+ return {
151
+ JSXOpeningElement(node) {
152
+ const props = [];
153
+ for (const attr of node.attributes) {
154
+ if (attr.type === types.AST_NODE_TYPES.JSXSpreadAttribute) continue;
155
+ const name2 = attr.name.name;
156
+ if (!tools.isString(name2)) continue;
157
+ if (!props.includes(name2)) {
158
+ props.push(name2);
159
+ continue;
160
+ }
161
+ context.report({
162
+ messageId: "jsxNoDuplicateProps",
163
+ node: attr,
164
+ data: { name: name2 }
165
+ });
166
+ }
167
+ }
168
+ };
169
+ },
170
+ defaultOptions: []
171
+ });
172
+ var RULE_NAME5 = "jsx-uses-vars";
137
173
  var jsx_uses_vars_default = createRule({
138
174
  meta: {
139
175
  type: "problem",
@@ -146,7 +182,7 @@ var jsx_uses_vars_default = createRule({
146
182
  },
147
183
  schema: []
148
184
  },
149
- name: RULE_NAME4,
185
+ name: RULE_NAME5,
150
186
  create(context) {
151
187
  function getName5(node) {
152
188
  switch (node.type) {
@@ -169,7 +205,7 @@ var jsx_uses_vars_default = createRule({
169
205
  },
170
206
  defaultOptions: []
171
207
  });
172
- var RULE_NAME5 = "no-access-state-in-setstate";
208
+ var RULE_NAME6 = "no-access-state-in-setstate";
173
209
  function getName(node) {
174
210
  if (node.type === types.AST_NODE_TYPES.TSAsExpression) {
175
211
  return getName(node.expression);
@@ -196,7 +232,7 @@ var no_access_state_in_setstate_default = createRule({
196
232
  },
197
233
  schema: []
198
234
  },
199
- name: RULE_NAME5,
235
+ name: RULE_NAME6,
200
236
  create(context) {
201
237
  if (!context.sourceCode.text.includes("setState")) return {};
202
238
  const classStack = [];
@@ -267,7 +303,7 @@ var no_access_state_in_setstate_default = createRule({
267
303
  },
268
304
  defaultOptions: []
269
305
  });
270
- var RULE_NAME6 = "no-array-index-key";
306
+ var RULE_NAME7 = "no-array-index-key";
271
307
  var reactChildrenMethod = ["forEach", "map"];
272
308
  var iteratorFunctionIndexParamPosition = /* @__PURE__ */ new Map([
273
309
  ["every", 1],
@@ -339,7 +375,7 @@ var no_array_index_key_default = createRule({
339
375
  },
340
376
  schema: []
341
377
  },
342
- name: RULE_NAME6,
378
+ name: RULE_NAME7,
343
379
  create(context) {
344
380
  const indexParamNames = [];
345
381
  function isArrayIndex(node) {
@@ -407,7 +443,7 @@ var no_array_index_key_default = createRule({
407
443
  },
408
444
  defaultOptions: []
409
445
  });
410
- var RULE_NAME7 = "no-children-count";
446
+ var RULE_NAME8 = "no-children-count";
411
447
  var no_children_count_default = createRule({
412
448
  meta: {
413
449
  type: "problem",
@@ -419,7 +455,7 @@ var no_children_count_default = createRule({
419
455
  },
420
456
  schema: []
421
457
  },
422
- name: RULE_NAME7,
458
+ name: RULE_NAME8,
423
459
  create(context) {
424
460
  return {
425
461
  MemberExpression(node) {
@@ -434,7 +470,7 @@ var no_children_count_default = createRule({
434
470
  },
435
471
  defaultOptions: []
436
472
  });
437
- var RULE_NAME8 = "no-children-for-each";
473
+ var RULE_NAME9 = "no-children-for-each";
438
474
  var no_children_for_each_default = createRule({
439
475
  meta: {
440
476
  type: "problem",
@@ -446,7 +482,7 @@ var no_children_for_each_default = createRule({
446
482
  },
447
483
  schema: []
448
484
  },
449
- name: RULE_NAME8,
485
+ name: RULE_NAME9,
450
486
  create(context) {
451
487
  return {
452
488
  MemberExpression(node) {
@@ -461,7 +497,7 @@ var no_children_for_each_default = createRule({
461
497
  },
462
498
  defaultOptions: []
463
499
  });
464
- var RULE_NAME9 = "no-children-map";
500
+ var RULE_NAME10 = "no-children-map";
465
501
  var no_children_map_default = createRule({
466
502
  meta: {
467
503
  type: "problem",
@@ -473,7 +509,7 @@ var no_children_map_default = createRule({
473
509
  },
474
510
  schema: []
475
511
  },
476
- name: RULE_NAME9,
512
+ name: RULE_NAME10,
477
513
  create(context) {
478
514
  return {
479
515
  MemberExpression(node) {
@@ -488,7 +524,7 @@ var no_children_map_default = createRule({
488
524
  },
489
525
  defaultOptions: []
490
526
  });
491
- var RULE_NAME10 = "no-children-only";
527
+ var RULE_NAME11 = "no-children-only";
492
528
  var no_children_only_default = createRule({
493
529
  meta: {
494
530
  type: "problem",
@@ -500,7 +536,7 @@ var no_children_only_default = createRule({
500
536
  },
501
537
  schema: []
502
538
  },
503
- name: RULE_NAME10,
539
+ name: RULE_NAME11,
504
540
  create(context) {
505
541
  return {
506
542
  MemberExpression(node) {
@@ -515,7 +551,7 @@ var no_children_only_default = createRule({
515
551
  },
516
552
  defaultOptions: []
517
553
  });
518
- var RULE_NAME11 = "no-children-prop";
554
+ var RULE_NAME12 = "no-children-prop";
519
555
  var no_children_prop_default = createRule({
520
556
  meta: {
521
557
  type: "problem",
@@ -527,7 +563,7 @@ var no_children_prop_default = createRule({
527
563
  },
528
564
  schema: []
529
565
  },
530
- name: RULE_NAME11,
566
+ name: RULE_NAME12,
531
567
  create(context) {
532
568
  return {
533
569
  JSXElement(node) {
@@ -540,7 +576,7 @@ var no_children_prop_default = createRule({
540
576
  },
541
577
  defaultOptions: []
542
578
  });
543
- var RULE_NAME12 = "no-children-to-array";
579
+ var RULE_NAME13 = "no-children-to-array";
544
580
  var no_children_to_array_default = createRule({
545
581
  meta: {
546
582
  type: "problem",
@@ -552,7 +588,7 @@ var no_children_to_array_default = createRule({
552
588
  },
553
589
  schema: []
554
590
  },
555
- name: RULE_NAME12,
591
+ name: RULE_NAME13,
556
592
  create(context) {
557
593
  return {
558
594
  MemberExpression(node) {
@@ -567,7 +603,7 @@ var no_children_to_array_default = createRule({
567
603
  },
568
604
  defaultOptions: []
569
605
  });
570
- var RULE_NAME13 = "no-class-component";
606
+ var RULE_NAME14 = "no-class-component";
571
607
  var isComponentDidCatch = tsPattern.isMatching({
572
608
  key: {
573
609
  type: types.AST_NODE_TYPES.Identifier,
@@ -595,7 +631,7 @@ var no_class_component_default = createRule({
595
631
  },
596
632
  schema: []
597
633
  },
598
- name: RULE_NAME13,
634
+ name: RULE_NAME14,
599
635
  create(context) {
600
636
  if (!context.sourceCode.text.includes("Component")) return {};
601
637
  const { ctx, listeners } = core.useComponentCollectorLegacy();
@@ -619,7 +655,7 @@ var no_class_component_default = createRule({
619
655
  },
620
656
  defaultOptions: []
621
657
  });
622
- var RULE_NAME14 = "no-clone-element";
658
+ var RULE_NAME15 = "no-clone-element";
623
659
  var no_clone_element_default = createRule({
624
660
  meta: {
625
661
  type: "problem",
@@ -631,7 +667,7 @@ var no_clone_element_default = createRule({
631
667
  },
632
668
  schema: []
633
669
  },
634
- name: RULE_NAME14,
670
+ name: RULE_NAME15,
635
671
  create(context) {
636
672
  return {
637
673
  CallExpression(node) {
@@ -645,7 +681,7 @@ var no_clone_element_default = createRule({
645
681
  },
646
682
  defaultOptions: []
647
683
  });
648
- var RULE_NAME15 = "no-comment-textnodes";
684
+ var RULE_NAME16 = "no-comment-textnodes";
649
685
  var no_comment_textnodes_default = createRule({
650
686
  meta: {
651
687
  type: "problem",
@@ -657,7 +693,7 @@ var no_comment_textnodes_default = createRule({
657
693
  },
658
694
  schema: []
659
695
  },
660
- name: RULE_NAME15,
696
+ name: RULE_NAME16,
661
697
  create(context) {
662
698
  function hasCommentLike(node) {
663
699
  if (AST11__namespace.isOneOf([types.AST_NODE_TYPES.JSXAttribute, types.AST_NODE_TYPES.JSXExpressionContainer])(node.parent)) return false;
@@ -681,7 +717,7 @@ var no_comment_textnodes_default = createRule({
681
717
  },
682
718
  defaultOptions: []
683
719
  });
684
- var RULE_NAME16 = "no-complex-conditional-rendering";
720
+ var RULE_NAME17 = "no-complex-conditional-rendering";
685
721
  var no_complex_conditional_rendering_default = createRule({
686
722
  meta: {
687
723
  type: "problem",
@@ -693,7 +729,7 @@ var no_complex_conditional_rendering_default = createRule({
693
729
  },
694
730
  schema: []
695
731
  },
696
- name: RULE_NAME16,
732
+ name: RULE_NAME17,
697
733
  create(context) {
698
734
  function getReportDescriptor(node) {
699
735
  const jsxExpContainer = node.parent?.parent;
@@ -715,7 +751,7 @@ var no_complex_conditional_rendering_default = createRule({
715
751
  },
716
752
  defaultOptions: []
717
753
  });
718
- var RULE_NAME17 = "no-component-will-mount";
754
+ var RULE_NAME18 = "no-component-will-mount";
719
755
  function isComponentWillMount(node) {
720
756
  return AST11__namespace.isOneOf([types.AST_NODE_TYPES.MethodDefinition, types.AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "componentWillMount";
721
757
  }
@@ -730,7 +766,7 @@ var no_component_will_mount_default = createRule({
730
766
  },
731
767
  schema: []
732
768
  },
733
- name: RULE_NAME17,
769
+ name: RULE_NAME18,
734
770
  create(context) {
735
771
  if (!context.sourceCode.text.includes("componentWillMount")) return {};
736
772
  const { ctx, listeners } = core.useComponentCollectorLegacy();
@@ -754,7 +790,7 @@ var no_component_will_mount_default = createRule({
754
790
  },
755
791
  defaultOptions: []
756
792
  });
757
- var RULE_NAME18 = "no-component-will-receive-props";
793
+ var RULE_NAME19 = "no-component-will-receive-props";
758
794
  function isComponentWillUpdate(node) {
759
795
  return AST11__namespace.isOneOf([types.AST_NODE_TYPES.MethodDefinition, types.AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "componentWillReceiveProps";
760
796
  }
@@ -769,7 +805,7 @@ var no_component_will_receive_props_default = createRule({
769
805
  },
770
806
  schema: []
771
807
  },
772
- name: RULE_NAME18,
808
+ name: RULE_NAME19,
773
809
  create(context) {
774
810
  if (!context.sourceCode.text.includes("componentWillReceiveProps")) return {};
775
811
  const { ctx, listeners } = core.useComponentCollectorLegacy();
@@ -793,7 +829,7 @@ var no_component_will_receive_props_default = createRule({
793
829
  },
794
830
  defaultOptions: []
795
831
  });
796
- var RULE_NAME19 = "no-component-will-update";
832
+ var RULE_NAME20 = "no-component-will-update";
797
833
  function isComponentWillUpdate2(node) {
798
834
  return AST11__namespace.isOneOf([types.AST_NODE_TYPES.MethodDefinition, types.AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "componentWillUpdate";
799
835
  }
@@ -808,7 +844,7 @@ var no_component_will_update_default = createRule({
808
844
  },
809
845
  schema: []
810
846
  },
811
- name: RULE_NAME19,
847
+ name: RULE_NAME20,
812
848
  create(context) {
813
849
  if (!context.sourceCode.text.includes("componentWillUpdate")) return {};
814
850
  const { ctx, listeners } = core.useComponentCollectorLegacy();
@@ -832,7 +868,7 @@ var no_component_will_update_default = createRule({
832
868
  },
833
869
  defaultOptions: []
834
870
  });
835
- var RULE_NAME20 = "no-create-ref";
871
+ var RULE_NAME21 = "no-create-ref";
836
872
  var no_create_ref_default = createRule({
837
873
  meta: {
838
874
  type: "problem",
@@ -844,7 +880,7 @@ var no_create_ref_default = createRule({
844
880
  },
845
881
  schema: []
846
882
  },
847
- name: RULE_NAME20,
883
+ name: RULE_NAME21,
848
884
  create(context) {
849
885
  return {
850
886
  CallExpression(node) {
@@ -856,7 +892,7 @@ var no_create_ref_default = createRule({
856
892
  },
857
893
  defaultOptions: []
858
894
  });
859
- var RULE_NAME21 = "no-default-props";
895
+ var RULE_NAME22 = "no-default-props";
860
896
  var no_default_props_default = createRule({
861
897
  meta: {
862
898
  type: "problem",
@@ -868,7 +904,7 @@ var no_default_props_default = createRule({
868
904
  },
869
905
  schema: []
870
906
  },
871
- name: RULE_NAME21,
907
+ name: RULE_NAME22,
872
908
  create(context) {
873
909
  if (!context.sourceCode.text.includes("defaultProps")) return {};
874
910
  return {
@@ -895,7 +931,7 @@ var no_default_props_default = createRule({
895
931
  },
896
932
  defaultOptions: []
897
933
  });
898
- var RULE_NAME22 = "no-direct-mutation-state";
934
+ var RULE_NAME23 = "no-direct-mutation-state";
899
935
  function getName2(node) {
900
936
  if (node.type === types.AST_NODE_TYPES.TSAsExpression) {
901
937
  return getName2(node.expression);
@@ -929,7 +965,7 @@ var no_direct_mutation_state_default = createRule({
929
965
  },
930
966
  schema: []
931
967
  },
932
- name: RULE_NAME22,
968
+ name: RULE_NAME23,
933
969
  create(context) {
934
970
  function getReportDescriptor(node) {
935
971
  if (!isAssignmentToThisState(node)) return tools.O.none();
@@ -953,7 +989,7 @@ var no_direct_mutation_state_default = createRule({
953
989
  },
954
990
  defaultOptions: []
955
991
  });
956
- var RULE_NAME23 = "no-duplicate-key";
992
+ var RULE_NAME24 = "no-duplicate-key";
957
993
  var no_duplicate_key_default = createRule({
958
994
  meta: {
959
995
  type: "problem",
@@ -965,7 +1001,7 @@ var no_duplicate_key_default = createRule({
965
1001
  },
966
1002
  schema: []
967
1003
  },
968
- name: RULE_NAME23,
1004
+ name: RULE_NAME24,
969
1005
  create(context) {
970
1006
  const isWithinChildrenToArrayRef = tools.MutRef.make(false);
971
1007
  function isKeyEqual(a, b) {
@@ -1082,7 +1118,7 @@ var no_duplicate_key_default = createRule({
1082
1118
  },
1083
1119
  defaultOptions: []
1084
1120
  });
1085
- var RULE_NAME24 = "no-implicit-key";
1121
+ var RULE_NAME25 = "no-implicit-key";
1086
1122
  var no_implicit_key_default = createRule({
1087
1123
  meta: {
1088
1124
  type: "problem",
@@ -1094,7 +1130,7 @@ var no_implicit_key_default = createRule({
1094
1130
  },
1095
1131
  schema: []
1096
1132
  },
1097
- name: RULE_NAME24,
1133
+ name: RULE_NAME25,
1098
1134
  create(context) {
1099
1135
  function getReportDescriptor(node) {
1100
1136
  const initialScope = context.sourceCode.getScope(node);
@@ -2898,7 +2934,7 @@ __toESM(require_semver2());
2898
2934
  function unionTypeParts(type) {
2899
2935
  return isUnionType(type) ? type.types : [type];
2900
2936
  }
2901
- var RULE_NAME25 = "no-leaked-conditional-rendering";
2937
+ var RULE_NAME26 = "no-leaked-conditional-rendering";
2902
2938
  var allowedVariants = [
2903
2939
  "any",
2904
2940
  "boolean",
@@ -3015,7 +3051,7 @@ var no_leaked_conditional_rendering_default = createRule({
3015
3051
  },
3016
3052
  schema: []
3017
3053
  },
3018
- name: RULE_NAME25,
3054
+ name: RULE_NAME26,
3019
3055
  create(context) {
3020
3056
  if (!context.sourceCode.text.includes("&&") && !context.sourceCode.text.includes("?")) return {};
3021
3057
  const services = utils.ESLintUtils.getParserServices(context, false);
@@ -3059,7 +3095,7 @@ var no_leaked_conditional_rendering_default = createRule({
3059
3095
  },
3060
3096
  defaultOptions: []
3061
3097
  });
3062
- var RULE_NAME26 = "no-missing-component-display-name";
3098
+ var RULE_NAME27 = "no-missing-component-display-name";
3063
3099
  var no_missing_component_display_name_default = createRule({
3064
3100
  meta: {
3065
3101
  type: "problem",
@@ -3071,7 +3107,7 @@ var no_missing_component_display_name_default = createRule({
3071
3107
  },
3072
3108
  schema: []
3073
3109
  },
3074
- name: RULE_NAME26,
3110
+ name: RULE_NAME27,
3075
3111
  create(context) {
3076
3112
  if (!context.sourceCode.text.includes("memo") && !context.sourceCode.text.includes("forwardRef")) return {};
3077
3113
  const { ctx, listeners } = core.useComponentCollector(context);
@@ -3095,7 +3131,7 @@ var no_missing_component_display_name_default = createRule({
3095
3131
  },
3096
3132
  defaultOptions: []
3097
3133
  });
3098
- var RULE_NAME27 = "no-missing-key";
3134
+ var RULE_NAME28 = "no-missing-key";
3099
3135
  var no_missing_key_default = createRule({
3100
3136
  meta: {
3101
3137
  type: "problem",
@@ -3108,7 +3144,7 @@ var no_missing_key_default = createRule({
3108
3144
  },
3109
3145
  schema: []
3110
3146
  },
3111
- name: RULE_NAME27,
3147
+ name: RULE_NAME28,
3112
3148
  create(context) {
3113
3149
  const isWithinChildrenToArrayRef = tools.MutRef.make(false);
3114
3150
  function checkIteratorElement(node) {
@@ -3212,7 +3248,7 @@ var no_missing_key_default = createRule({
3212
3248
  },
3213
3249
  defaultOptions: []
3214
3250
  });
3215
- var RULE_NAME28 = "no-nested-components";
3251
+ var RULE_NAME29 = "no-nested-components";
3216
3252
  var no_nested_components_default = createRule({
3217
3253
  meta: {
3218
3254
  type: "problem",
@@ -3225,7 +3261,7 @@ var no_nested_components_default = createRule({
3225
3261
  },
3226
3262
  schema: []
3227
3263
  },
3228
- name: RULE_NAME28,
3264
+ name: RULE_NAME29,
3229
3265
  create(context) {
3230
3266
  const hint = core.ERComponentHint.SkipMapCallback | core.ERComponentHint.SkipNullLiteral | core.ERComponentHint.SkipUndefinedLiteral | core.ERComponentHint.SkipBooleanLiteral | core.ERComponentHint.SkipStringLiteral | core.ERComponentHint.SkipNumberLiteral | core.ERComponentHint.StrictLogical | core.ERComponentHint.StrictConditional;
3231
3267
  const collector = core.useComponentCollector(context, hint);
@@ -3309,7 +3345,7 @@ var no_nested_components_default = createRule({
3309
3345
  },
3310
3346
  defaultOptions: []
3311
3347
  });
3312
- var RULE_NAME29 = "no-prop-types";
3348
+ var RULE_NAME30 = "no-prop-types";
3313
3349
  var no_prop_types_default = createRule({
3314
3350
  meta: {
3315
3351
  type: "problem",
@@ -3321,7 +3357,7 @@ var no_prop_types_default = createRule({
3321
3357
  },
3322
3358
  schema: []
3323
3359
  },
3324
- name: RULE_NAME29,
3360
+ name: RULE_NAME30,
3325
3361
  create(context) {
3326
3362
  if (!context.sourceCode.text.includes("propTypes")) return {};
3327
3363
  return {
@@ -3348,7 +3384,7 @@ var no_prop_types_default = createRule({
3348
3384
  },
3349
3385
  defaultOptions: []
3350
3386
  });
3351
- var RULE_NAME30 = "no-redundant-should-component-update";
3387
+ var RULE_NAME31 = "no-redundant-should-component-update";
3352
3388
  function isShouldComponentUpdate(node) {
3353
3389
  return AST11__namespace.isOneOf([types.AST_NODE_TYPES.MethodDefinition, types.AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "shouldComponentUpdate";
3354
3390
  }
@@ -3363,7 +3399,7 @@ var no_redundant_should_component_update_default = createRule({
3363
3399
  },
3364
3400
  schema: []
3365
3401
  },
3366
- name: RULE_NAME30,
3402
+ name: RULE_NAME31,
3367
3403
  create(context) {
3368
3404
  if (!context.sourceCode.text.includes("shouldComponentUpdate")) return {};
3369
3405
  const { ctx, listeners } = core.useComponentCollectorLegacy();
@@ -3391,7 +3427,7 @@ var no_redundant_should_component_update_default = createRule({
3391
3427
  },
3392
3428
  defaultOptions: []
3393
3429
  });
3394
- var RULE_NAME31 = "no-set-state-in-component-did-mount";
3430
+ var RULE_NAME32 = "no-set-state-in-component-did-mount";
3395
3431
  function isComponentDidMount(node) {
3396
3432
  return AST11__namespace.isOneOf([types.AST_NODE_TYPES.MethodDefinition, types.AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "componentDidMount";
3397
3433
  }
@@ -3406,7 +3442,7 @@ var no_set_state_in_component_did_mount_default = createRule({
3406
3442
  },
3407
3443
  schema: []
3408
3444
  },
3409
- name: RULE_NAME31,
3445
+ name: RULE_NAME32,
3410
3446
  create(context) {
3411
3447
  if (!context.sourceCode.text.includes("componentDidMount")) return {};
3412
3448
  function getReportDescriptor(node) {
@@ -3434,7 +3470,7 @@ var no_set_state_in_component_did_mount_default = createRule({
3434
3470
  },
3435
3471
  defaultOptions: []
3436
3472
  });
3437
- var RULE_NAME32 = "no-set-state-in-component-did-update";
3473
+ var RULE_NAME33 = "no-set-state-in-component-did-update";
3438
3474
  function isComponentDidUpdate(node) {
3439
3475
  return AST11__namespace.isOneOf([types.AST_NODE_TYPES.MethodDefinition, types.AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "componentDidUpdate";
3440
3476
  }
@@ -3449,7 +3485,7 @@ var no_set_state_in_component_did_update_default = createRule({
3449
3485
  },
3450
3486
  schema: []
3451
3487
  },
3452
- name: RULE_NAME32,
3488
+ name: RULE_NAME33,
3453
3489
  create(context) {
3454
3490
  if (!context.sourceCode.text.includes("componentDidUpdate")) return {};
3455
3491
  function getReportDescriptor(node) {
@@ -3477,7 +3513,7 @@ var no_set_state_in_component_did_update_default = createRule({
3477
3513
  },
3478
3514
  defaultOptions: []
3479
3515
  });
3480
- var RULE_NAME33 = "no-set-state-in-component-will-update";
3516
+ var RULE_NAME34 = "no-set-state-in-component-will-update";
3481
3517
  function isComponentWillUpdate3(node) {
3482
3518
  return AST11__namespace.isOneOf([types.AST_NODE_TYPES.MethodDefinition, types.AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "componentWillUpdate";
3483
3519
  }
@@ -3492,7 +3528,7 @@ var no_set_state_in_component_will_update_default = createRule({
3492
3528
  },
3493
3529
  schema: []
3494
3530
  },
3495
- name: RULE_NAME33,
3531
+ name: RULE_NAME34,
3496
3532
  create(context) {
3497
3533
  if (!context.sourceCode.text.includes("componentWillUpdate")) return {};
3498
3534
  function getReportDescriptor(node) {
@@ -3520,7 +3556,7 @@ var no_set_state_in_component_will_update_default = createRule({
3520
3556
  },
3521
3557
  defaultOptions: []
3522
3558
  });
3523
- var RULE_NAME34 = "no-string-refs";
3559
+ var RULE_NAME35 = "no-string-refs";
3524
3560
  function containsStringLiteral({ value }) {
3525
3561
  return value?.type === types.AST_NODE_TYPES.Literal && tools.isString(value.value);
3526
3562
  }
@@ -3540,7 +3576,7 @@ var no_string_refs_default = createRule({
3540
3576
  },
3541
3577
  schema: []
3542
3578
  },
3543
- name: RULE_NAME34,
3579
+ name: RULE_NAME35,
3544
3580
  create(context) {
3545
3581
  return {
3546
3582
  JSXAttribute(node) {
@@ -3556,7 +3592,7 @@ var no_string_refs_default = createRule({
3556
3592
  },
3557
3593
  defaultOptions: []
3558
3594
  });
3559
- var RULE_NAME35 = "no-unsafe-component-will-mount";
3595
+ var RULE_NAME36 = "no-unsafe-component-will-mount";
3560
3596
  function isUnsafeComponentWillMount(node) {
3561
3597
  return AST11__namespace.isOneOf([types.AST_NODE_TYPES.MethodDefinition, types.AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "UNSAFE_componentWillMount";
3562
3598
  }
@@ -3571,7 +3607,7 @@ var no_unsafe_component_will_mount_default = createRule({
3571
3607
  },
3572
3608
  schema: []
3573
3609
  },
3574
- name: RULE_NAME35,
3610
+ name: RULE_NAME36,
3575
3611
  create(context) {
3576
3612
  if (!context.sourceCode.text.includes("UNSAFE_componentWillMount")) return {};
3577
3613
  const { ctx, listeners } = core.useComponentCollectorLegacy();
@@ -3595,7 +3631,7 @@ var no_unsafe_component_will_mount_default = createRule({
3595
3631
  },
3596
3632
  defaultOptions: []
3597
3633
  });
3598
- var RULE_NAME36 = "no-unsafe-component-will-receive-props";
3634
+ var RULE_NAME37 = "no-unsafe-component-will-receive-props";
3599
3635
  function isUnsafeComponentWillReceiveProps(node) {
3600
3636
  return AST11__namespace.isOneOf([types.AST_NODE_TYPES.MethodDefinition, types.AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "UNSAFE_componentWillReceiveProps";
3601
3637
  }
@@ -3610,7 +3646,7 @@ var no_unsafe_component_will_receive_props_default = createRule({
3610
3646
  },
3611
3647
  schema: []
3612
3648
  },
3613
- name: RULE_NAME36,
3649
+ name: RULE_NAME37,
3614
3650
  create(context) {
3615
3651
  if (!context.sourceCode.text.includes("UNSAFE_componentWillReceiveProps")) return {};
3616
3652
  const { ctx, listeners } = core.useComponentCollectorLegacy();
@@ -3634,7 +3670,7 @@ var no_unsafe_component_will_receive_props_default = createRule({
3634
3670
  },
3635
3671
  defaultOptions: []
3636
3672
  });
3637
- var RULE_NAME37 = "no-unsafe-component-will-update";
3673
+ var RULE_NAME38 = "no-unsafe-component-will-update";
3638
3674
  function isUnsafeComponentWillUpdate(node) {
3639
3675
  return AST11__namespace.isOneOf([types.AST_NODE_TYPES.MethodDefinition, types.AST_NODE_TYPES.PropertyDefinition])(node) && node.key.type === types.AST_NODE_TYPES.Identifier && node.key.name === "UNSAFE_componentWillUpdate";
3640
3676
  }
@@ -3649,7 +3685,7 @@ var no_unsafe_component_will_update_default = createRule({
3649
3685
  },
3650
3686
  schema: []
3651
3687
  },
3652
- name: RULE_NAME37,
3688
+ name: RULE_NAME38,
3653
3689
  create(context) {
3654
3690
  if (!context.sourceCode.text.includes("UNSAFE_componentWillUpdate")) return {};
3655
3691
  const { ctx, listeners } = core.useComponentCollectorLegacy();
@@ -3673,7 +3709,7 @@ var no_unsafe_component_will_update_default = createRule({
3673
3709
  },
3674
3710
  defaultOptions: []
3675
3711
  });
3676
- var RULE_NAME38 = "no-unstable-context-value";
3712
+ var RULE_NAME39 = "no-unstable-context-value";
3677
3713
  var no_unstable_context_value_default = createRule({
3678
3714
  meta: {
3679
3715
  type: "problem",
@@ -3687,7 +3723,7 @@ var no_unstable_context_value_default = createRule({
3687
3723
  },
3688
3724
  schema: []
3689
3725
  },
3690
- name: RULE_NAME38,
3726
+ name: RULE_NAME39,
3691
3727
  create(context) {
3692
3728
  const { ctx, listeners } = core.useComponentCollector(context);
3693
3729
  const possibleValueConstructions = /* @__PURE__ */ new Map();
@@ -3740,7 +3776,7 @@ var no_unstable_context_value_default = createRule({
3740
3776
  },
3741
3777
  defaultOptions: []
3742
3778
  });
3743
- var RULE_NAME39 = "no-unstable-default-props";
3779
+ var RULE_NAME40 = "no-unstable-default-props";
3744
3780
  var no_unstable_default_props_default = createRule({
3745
3781
  meta: {
3746
3782
  type: "problem",
@@ -3752,7 +3788,7 @@ var no_unstable_default_props_default = createRule({
3752
3788
  },
3753
3789
  schema: []
3754
3790
  },
3755
- name: RULE_NAME39,
3791
+ name: RULE_NAME40,
3756
3792
  create(context) {
3757
3793
  const { ctx, listeners } = core.useComponentCollector(context);
3758
3794
  const possibleDestructuringDeclarators = /* @__PURE__ */ new WeakMap();
@@ -3805,7 +3841,7 @@ var no_unstable_default_props_default = createRule({
3805
3841
  },
3806
3842
  defaultOptions: []
3807
3843
  });
3808
- var RULE_NAME40 = "no-unused-class-component-members";
3844
+ var RULE_NAME41 = "no-unused-class-component-members";
3809
3845
  var LIFECYCLE_METHODS = /* @__PURE__ */ new Set([
3810
3846
  "componentDidCatch",
3811
3847
  "componentDidMount",
@@ -3849,7 +3885,7 @@ var no_unused_class_component_members_default = createRule({
3849
3885
  },
3850
3886
  schema: []
3851
3887
  },
3852
- name: RULE_NAME40,
3888
+ name: RULE_NAME41,
3853
3889
  create(context) {
3854
3890
  const classStack = [];
3855
3891
  const methodStack = [];
@@ -3932,7 +3968,7 @@ var no_unused_class_component_members_default = createRule({
3932
3968
  },
3933
3969
  defaultOptions: []
3934
3970
  });
3935
- var RULE_NAME41 = "no-unused-state";
3971
+ var RULE_NAME42 = "no-unused-state";
3936
3972
  function getName4(node) {
3937
3973
  if (node.type === types.AST_NODE_TYPES.TSAsExpression) {
3938
3974
  return getName4(node.expression);
@@ -3972,7 +4008,7 @@ var no_unused_state_default = createRule({
3972
4008
  },
3973
4009
  schema: []
3974
4010
  },
3975
- name: RULE_NAME41,
4011
+ name: RULE_NAME42,
3976
4012
  create(context) {
3977
4013
  const classStack = [];
3978
4014
  const methodStack = [];
@@ -4073,7 +4109,7 @@ var no_unused_state_default = createRule({
4073
4109
  },
4074
4110
  defaultOptions: []
4075
4111
  });
4076
- var RULE_NAME42 = "no-useless-fragment";
4112
+ var RULE_NAME43 = "no-useless-fragment";
4077
4113
  function check(node, context, allowExpressions) {
4078
4114
  const initialScope = context.sourceCode.getScope(node);
4079
4115
  if (JSX7__namespace.isKeyedElement(node, initialScope)) return;
@@ -4115,7 +4151,7 @@ var no_useless_fragment_default = createRule({
4115
4151
  }
4116
4152
  }]
4117
4153
  },
4118
- name: RULE_NAME42,
4154
+ name: RULE_NAME43,
4119
4155
  create(context, [option]) {
4120
4156
  const { allowExpressions = true } = option;
4121
4157
  return {
@@ -4132,7 +4168,7 @@ var no_useless_fragment_default = createRule({
4132
4168
  allowExpressions: true
4133
4169
  }]
4134
4170
  });
4135
- var RULE_NAME43 = "prefer-destructuring-assignment";
4171
+ var RULE_NAME44 = "prefer-destructuring-assignment";
4136
4172
  function isMemberExpressionWithObjectName(node) {
4137
4173
  return node.object.type === types.AST_NODE_TYPES.Identifier && "name" in node.object;
4138
4174
  }
@@ -4147,7 +4183,7 @@ var prefer_destructuring_assignment_default = createRule({
4147
4183
  },
4148
4184
  schema: []
4149
4185
  },
4150
- name: RULE_NAME43,
4186
+ name: RULE_NAME44,
4151
4187
  create(context) {
4152
4188
  const { ctx, listeners } = core.useComponentCollector(context);
4153
4189
  const memberExpressionWithNames = [];
@@ -4202,7 +4238,7 @@ var prefer_destructuring_assignment_default = createRule({
4202
4238
  },
4203
4239
  defaultOptions: []
4204
4240
  });
4205
- var RULE_NAME44 = "prefer-react-namespace-import";
4241
+ var RULE_NAME45 = "prefer-react-namespace-import";
4206
4242
  var prefer_react_namespace_import_default = createRule({
4207
4243
  meta: {
4208
4244
  type: "problem",
@@ -4215,7 +4251,7 @@ var prefer_react_namespace_import_default = createRule({
4215
4251
  },
4216
4252
  schema: []
4217
4253
  },
4218
- name: RULE_NAME44,
4254
+ name: RULE_NAME45,
4219
4255
  create(context) {
4220
4256
  const importSource = shared.decodeSettings(context.settings).importSource ?? "react";
4221
4257
  return {
@@ -4251,7 +4287,7 @@ ${importStringPrefix} ${specifiers} from ${importSourceQuoted}${semiColon}`
4251
4287
  },
4252
4288
  defaultOptions: []
4253
4289
  });
4254
- var RULE_NAME45 = "prefer-read-only-props";
4290
+ var RULE_NAME46 = "prefer-read-only-props";
4255
4291
  function isReadonlyType(type, services) {
4256
4292
  try {
4257
4293
  const im = isImmutableType.getTypeImmutability(services.program, type);
@@ -4271,7 +4307,7 @@ var prefer_read_only_props_default = createRule({
4271
4307
  },
4272
4308
  schema: []
4273
4309
  },
4274
- name: RULE_NAME45,
4310
+ name: RULE_NAME46,
4275
4311
  create(context) {
4276
4312
  const services = utils.ESLintUtils.getParserServices(context, false);
4277
4313
  const { ctx, listeners } = core.useComponentCollector(context);
@@ -4291,7 +4327,7 @@ var prefer_read_only_props_default = createRule({
4291
4327
  },
4292
4328
  defaultOptions: []
4293
4329
  });
4294
- var RULE_NAME46 = "prefer-shorthand-boolean";
4330
+ var RULE_NAME47 = "prefer-shorthand-boolean";
4295
4331
  var prefer_shorthand_boolean_default = createRule({
4296
4332
  meta: {
4297
4333
  type: "problem",
@@ -4304,7 +4340,7 @@ var prefer_shorthand_boolean_default = createRule({
4304
4340
  },
4305
4341
  schema: []
4306
4342
  },
4307
- name: RULE_NAME46,
4343
+ name: RULE_NAME47,
4308
4344
  create(context) {
4309
4345
  function getReportDescriptor(node) {
4310
4346
  const { value } = node;
@@ -4326,7 +4362,7 @@ var prefer_shorthand_boolean_default = createRule({
4326
4362
  },
4327
4363
  defaultOptions: []
4328
4364
  });
4329
- var RULE_NAME47 = "prefer-shorthand-fragment";
4365
+ var RULE_NAME48 = "prefer-shorthand-fragment";
4330
4366
  var prefer_shorthand_fragment_default = createRule({
4331
4367
  meta: {
4332
4368
  type: "problem",
@@ -4338,7 +4374,7 @@ var prefer_shorthand_fragment_default = createRule({
4338
4374
  },
4339
4375
  schema: []
4340
4376
  },
4341
- name: RULE_NAME47,
4377
+ name: RULE_NAME48,
4342
4378
  create(context) {
4343
4379
  function getReportDescriptor(node) {
4344
4380
  if (!core.isFragmentElement(node, context)) return tools.O.none();
@@ -4374,6 +4410,7 @@ var src_default = {
4374
4410
  "avoid-shorthand-boolean": avoid_shorthand_boolean_default,
4375
4411
  "avoid-shorthand-fragment": avoid_shorthand_fragment_default,
4376
4412
  "ensure-forward-ref-using-ref": ensure_forward_ref_using_ref_default,
4413
+ "jsx-no-duplicate-props": jsx_no_duplicate_props_default,
4377
4414
  "jsx-uses-vars": jsx_uses_vars_default,
4378
4415
  "no-access-state-in-setstate": no_access_state_in_setstate_default,
4379
4416
  "no-array-index-key": no_array_index_key_default,