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.
Files changed (3) hide show
  1. package/README.md +0 -8
  2. package/dist/index.js +254 -346
  3. 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-beta.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$64 = "jsx-dollar";
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$64,
188
- create: create$64,
186
+ name: RULE_NAME$63,
187
+ create: create$63,
189
188
  defaultOptions: []
190
189
  });
191
- function create$64(context) {
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$63 = "jsx-key-before-spread";
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$63,
241
- create: create$63,
239
+ name: RULE_NAME$62,
240
+ create: create$62,
242
241
  defaultOptions: []
243
242
  });
244
- function create$63(context) {
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$62 = "jsx-no-comment-textnodes";
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$62,
277
- create: create$62,
275
+ name: RULE_NAME$61,
276
+ create: create$61,
278
277
  defaultOptions: []
279
278
  });
280
- function create$62(context) {
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$61 = "jsx-no-duplicate-props";
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$61,
310
- create: create$61,
308
+ name: RULE_NAME$60,
309
+ create: create$60,
311
310
  defaultOptions: []
312
311
  });
313
- function create$61(context) {
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$60 = "jsx-no-iife";
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$60,
343
- create: create$60,
341
+ name: RULE_NAME$59,
342
+ create: create$59,
344
343
  defaultOptions: []
345
344
  });
346
- function create$60(context) {
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$59 = "jsx-no-undef";
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$59,
374
- create: create$59,
372
+ name: RULE_NAME$58,
373
+ create: create$58,
375
374
  defaultOptions: []
376
375
  });
377
- function create$59(context) {
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$58 = "jsx-shorthand-boolean";
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$58,
411
- create: create$58,
409
+ name: RULE_NAME$57,
410
+ create: create$57,
412
411
  defaultOptions: defaultOptions$4
413
412
  });
414
- function create$58(context) {
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$57 = "jsx-shorthand-fragment";
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$57,
457
- create: create$57,
455
+ name: RULE_NAME$56,
456
+ create: create$56,
458
457
  defaultOptions: defaultOptions$3
459
458
  });
460
- function create$57(context) {
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$56 = "jsx-uses-react";
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$56,
504
- create: create$56,
502
+ name: RULE_NAME$55,
503
+ create: create$55,
505
504
  defaultOptions: []
506
505
  });
507
- function create$56(context) {
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$55 = "jsx-uses-vars";
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$55,
547
- create: create$55,
545
+ name: RULE_NAME$54,
546
+ create: create$54,
548
547
  defaultOptions: []
549
548
  });
550
- function create$55(context) {
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$54 = "no-access-state-in-setstate";
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$54,
583
- create: create$54,
581
+ name: RULE_NAME$53,
582
+ create: create$53,
584
583
  defaultOptions: []
585
584
  });
586
- function create$54(context) {
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$53 = "no-array-index-key";
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$53,
717
- create: create$53,
715
+ name: RULE_NAME$52,
716
+ create: create$52,
718
717
  defaultOptions: []
719
718
  });
720
- function create$53(context) {
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$52 = "no-children-count";
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$52,
795
- create: create$52,
793
+ name: RULE_NAME$51,
794
+ create: create$51,
796
795
  defaultOptions: []
797
796
  });
798
- function create$52(context) {
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$51 = "no-children-for-each";
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$51,
818
- create: create$51,
816
+ name: RULE_NAME$50,
817
+ create: create$50,
819
818
  defaultOptions: []
820
819
  });
821
- function create$51(context) {
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$50 = "no-children-map";
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$50,
841
- create: create$50,
839
+ name: RULE_NAME$49,
840
+ create: create$49,
842
841
  defaultOptions: []
843
842
  });
844
- function create$50(context) {
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$49 = "no-children-only";
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$49,
864
- create: create$49,
862
+ name: RULE_NAME$48,
863
+ create: create$48,
865
864
  defaultOptions: []
866
865
  });
867
- function create$49(context) {
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$48 = "no-children-prop";
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$48,
887
- create: create$48,
885
+ name: RULE_NAME$47,
886
+ create: create$47,
888
887
  defaultOptions: []
889
888
  });
890
- function create$48(context) {
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$47 = "no-children-to-array";
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$47,
911
- create: create$47,
909
+ name: RULE_NAME$46,
910
+ create: create$46,
912
911
  defaultOptions: []
913
912
  });
914
- function create$47(context) {
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$46 = "no-class-component";
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$46,
934
- create: create$46,
932
+ name: RULE_NAME$45,
933
+ create: create$45,
935
934
  defaultOptions: []
936
935
  });
937
- function create$46(context) {
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$45 = "no-clone-element";
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$45,
963
- create: create$45,
961
+ name: RULE_NAME$44,
962
+ create: create$44,
964
963
  defaultOptions: []
965
964
  });
966
- function create$45(context) {
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$44 = "no-component-will-mount";
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$44,
987
- create: create$44,
985
+ name: RULE_NAME$43,
986
+ create: create$43,
988
987
  defaultOptions: []
989
988
  });
990
- function create$44(context) {
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$43 = "no-component-will-receive-props";
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$43,
1020
- create: create$43,
1018
+ name: RULE_NAME$42,
1019
+ create: create$42,
1021
1020
  defaultOptions: []
1022
1021
  });
1023
- function create$43(context) {
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$42 = "no-component-will-update";
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$42,
1053
- create: create$42,
1051
+ name: RULE_NAME$41,
1052
+ create: create$41,
1054
1053
  defaultOptions: []
1055
1054
  });
1056
- function create$42(context) {
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$41 = "no-context-provider";
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$41,
1086
- create: create$41,
1084
+ name: RULE_NAME$40,
1085
+ create: create$40,
1087
1086
  defaultOptions: []
1088
1087
  });
1089
- function create$41(context) {
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$40 = "no-create-ref";
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$40,
1125
- create: create$40,
1123
+ name: RULE_NAME$39,
1124
+ create: create$39,
1126
1125
  defaultOptions: []
1127
1126
  });
1128
- function create$40(context) {
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$39 = "no-default-props";
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$39,
1148
- create: create$39,
1146
+ name: RULE_NAME$38,
1147
+ create: create$38,
1149
1148
  defaultOptions: []
1150
1149
  });
1151
- function create$39(context) {
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$38 = "no-direct-mutation-state";
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$38,
1183
- create: create$38,
1181
+ name: RULE_NAME$37,
1182
+ create: create$37,
1184
1183
  defaultOptions: []
1185
1184
  });
1186
- function create$38(context) {
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$37 = "no-duplicate-key";
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$37,
1209
- create: create$37,
1207
+ name: RULE_NAME$36,
1208
+ create: create$36,
1210
1209
  defaultOptions: []
1211
1210
  });
1212
- function create$37(context) {
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$36 = "no-forward-ref";
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$36,
1277
- create: create$36,
1275
+ name: RULE_NAME$35,
1276
+ create: create$35,
1278
1277
  defaultOptions: []
1279
1278
  });
1280
- function create$36(context) {
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$35 = "no-implicit-key";
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$35,
1384
- create: create$35,
1382
+ name: RULE_NAME$34,
1383
+ create: create$34,
1385
1384
  defaultOptions: []
1386
1385
  });
1387
- function create$35(context) {
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$34 = "no-leaked-conditional-rendering";
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$34,
1409
- create: create$34,
1407
+ name: RULE_NAME$33,
1408
+ create: create$33,
1410
1409
  defaultOptions: []
1411
1410
  });
1412
- function create$34(context) {
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$33 = "no-missing-component-display-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$33,
1478
- create: create$33,
1476
+ name: RULE_NAME$32,
1477
+ create: create$32,
1479
1478
  defaultOptions: []
1480
1479
  });
1481
- function create$33(context) {
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$32 = "no-missing-context-display-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$32,
1513
- create: create$32,
1511
+ name: RULE_NAME$31,
1512
+ create: create$31,
1514
1513
  defaultOptions: []
1515
1514
  });
1516
- function create$32(context) {
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$31 = "no-missing-key";
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$31,
1580
- create: create$31,
1578
+ name: RULE_NAME$30,
1579
+ create: create$30,
1581
1580
  defaultOptions: []
1582
1581
  });
1583
- function create$31(ctx) {
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$30 = "no-misused-capture-owner-stack";
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$30,
1659
- create: create$30,
1657
+ name: RULE_NAME$29,
1658
+ create: create$29,
1660
1659
  defaultOptions: []
1661
1660
  });
1662
- function create$30(context) {
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$29 = "no-nested-component-definitions";
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$29,
1702
- create: create$29,
1700
+ name: RULE_NAME$28,
1701
+ create: create$28,
1703
1702
  defaultOptions: []
1704
1703
  });
1705
- function create$29(context) {
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$28 = "no-nested-lazy-component-declarations";
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$28,
1819
- create: create$28,
1817
+ name: RULE_NAME$27,
1818
+ create: create$27,
1820
1819
  defaultOptions: []
1821
1820
  });
1822
- function create$28(context) {
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$27 = "no-prop-types";
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$27,
1860
- create: create$27,
1858
+ name: RULE_NAME$26,
1859
+ create: create$26,
1861
1860
  defaultOptions: []
1862
1861
  });
1863
- function create$27(context) {
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$26 = "no-redundant-should-component-update";
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$26,
1903
- create: create$26,
1901
+ name: RULE_NAME$25,
1902
+ create: create$25,
1904
1903
  defaultOptions: []
1905
1904
  });
1906
- function create$26(context) {
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$25 = "no-set-state-in-component-did-mount";
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$25,
1933
- create: create$25,
1931
+ name: RULE_NAME$24,
1932
+ create: create$24,
1934
1933
  defaultOptions: []
1935
1934
  });
1936
- function create$25(context) {
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$24 = "no-set-state-in-component-did-update";
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$24,
1963
- create: create$24,
1961
+ name: RULE_NAME$23,
1962
+ create: create$23,
1964
1963
  defaultOptions: []
1965
1964
  });
1966
- function create$24(context) {
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$23 = "no-set-state-in-component-will-update";
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$23,
1993
- create: create$23,
1991
+ name: RULE_NAME$22,
1992
+ create: create$22,
1994
1993
  defaultOptions: []
1995
1994
  });
1996
- function create$23(context) {
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$22 = "no-string-refs";
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$22,
2024
- create: create$22,
2022
+ name: RULE_NAME$21,
2023
+ create: create$21,
2025
2024
  defaultOptions: []
2026
2025
  });
2027
- function create$22(context) {
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$21 = "no-unnecessary-key";
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$21,
2081
- create: create$21,
2079
+ name: RULE_NAME$20,
2080
+ create: create$20,
2082
2081
  defaultOptions: []
2083
2082
  });
2084
- function create$21(context) {
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$20 = "no-unnecessary-use-callback";
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$20,
2145
- create: create$20,
2143
+ name: RULE_NAME$19,
2144
+ create: create$19,
2146
2145
  defaultOptions: []
2147
2146
  });
2148
- function create$20(context) {
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$19 = "no-unnecessary-use-memo";
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$19,
2222
- create: create$19,
2220
+ name: RULE_NAME$18,
2221
+ create: create$18,
2223
2222
  defaultOptions: []
2224
2223
  });
2225
- function create$19(context) {
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$18 = "no-unnecessary-use-prefix";
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$18,
2304
- create: create$18,
2302
+ name: RULE_NAME$17,
2303
+ create: create$17,
2305
2304
  defaultOptions: []
2306
2305
  });
2307
- function create$18(context) {
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$17 = "no-unnecessary-use-ref";
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$17,
2336
- create: create$17,
2334
+ name: RULE_NAME$16,
2335
+ create: create$16,
2337
2336
  defaultOptions: []
2338
2337
  });
2339
- function create$17(context) {
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$16 = "no-unsafe-component-will-mount";
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$16,
2374
- create: create$16,
2372
+ name: RULE_NAME$15,
2373
+ create: create$15,
2375
2374
  defaultOptions: []
2376
2375
  });
2377
- function create$16(context) {
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$15 = "no-unsafe-component-will-receive-props";
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$15,
2402
- create: create$15,
2400
+ name: RULE_NAME$14,
2401
+ create: create$14,
2403
2402
  defaultOptions: []
2404
2403
  });
2405
- function create$15(context) {
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$14 = "no-unsafe-component-will-update";
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$14,
2430
- create: create$14,
2428
+ name: RULE_NAME$13,
2429
+ create: create$13,
2431
2430
  defaultOptions: []
2432
2431
  });
2433
- function create$14(context) {
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$13 = "no-unstable-context-value";
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$13,
2458
- create: create$13,
2456
+ name: RULE_NAME$12,
2457
+ create: create$12,
2459
2458
  defaultOptions: []
2460
2459
  });
2461
- function create$13(context) {
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$12 = "no-unstable-default-props";
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$12,
2527
- create: create$12,
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$12(context, [options]) {
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$11 = "no-unused-class-component-members";
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$11,
2615
- create: create$11,
2613
+ name: RULE_NAME$10,
2614
+ create: create$10,
2616
2615
  defaultOptions: []
2617
2616
  });
2618
- function create$11(context) {
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$10 = "no-unused-props";
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$10,
2708
- create: create$10,
2706
+ name: RULE_NAME$9,
2707
+ create: create$9,
2709
2708
  defaultOptions: []
2710
2709
  });
2711
- function create$10(context) {
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$9 = "no-unused-state";
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$9,
2824
- create: create$9,
2822
+ name: RULE_NAME$8,
2823
+ create: create$8,
2825
2824
  defaultOptions: []
2826
2825
  });
2827
- function create$9(context) {
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$8 = "no-use-context";
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$8,
2946
- create: create$8,
2944
+ name: RULE_NAME$7,
2945
+ create: create$7,
2947
2946
  defaultOptions: []
2948
2947
  });
2949
- function create$8(context) {
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$7 = "no-useless-forward-ref";
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$7,
3023
- create: create$7,
3021
+ name: RULE_NAME$6,
3022
+ create: create$6,
3024
3023
  defaultOptions: []
3025
3024
  });
3026
- function create$7(context) {
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$6 = "no-useless-fragment";
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$6,
3070
- create: create$6,
3068
+ name: RULE_NAME$5,
3069
+ create: create$5,
3071
3070
  defaultOptions: defaultOptions$1
3072
3071
  });
3073
- function create$6(context, [option]) {
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$5 = "prefer-destructuring-assignment";
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$5,
3190
- create: create$5,
3188
+ name: RULE_NAME$4,
3189
+ create: create$4,
3191
3190
  defaultOptions: []
3192
3191
  });
3193
- function create$5(context) {
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$4 = "prefer-namespace-import";
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$4,
3227
- create: create$4,
3225
+ name: RULE_NAME$3,
3226
+ create: create$3,
3228
3227
  defaultOptions: []
3229
3228
  });
3230
- function create$4(context) {
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$3 = "prefer-read-only-props";
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$3,
3263
- create: create$3,
3261
+ name: RULE_NAME$2,
3262
+ create: create$2,
3264
3263
  defaultOptions: []
3265
3264
  });
3266
- function create$3(context) {
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$2 = "prefer-use-state-lazy-initialization";
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$2,
3321
- create: create$2,
3319
+ name: RULE_NAME$1,
3320
+ create: create$1,
3322
3321
  defaultOptions: []
3323
3322
  });
3324
- function create$2(context) {
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
  };