oxlint-plugin-react-doctor 0.2.8 → 0.2.10

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/dist/index.d.ts +733 -18
  2. package/dist/index.js +3103 -922
  3. package/package.json +2 -2
package/dist/index.d.ts CHANGED
@@ -97,7 +97,7 @@ interface RuleVisitors {
97
97
  //#endregion
98
98
  //#region src/plugin/utils/rule.d.ts
99
99
  type RuleSeverity = "error" | "warn";
100
- type RuleFramework = "global" | "nextjs" | "react-native" | "tanstack-start" | "tanstack-query";
100
+ type RuleFramework = "global" | "nextjs" | "react-native" | "tanstack-start" | "tanstack-query" | "preact";
101
101
  interface Rule {
102
102
  id: string;
103
103
  severity: RuleSeverity;
@@ -130,6 +130,23 @@ type OxlintRuleSeverity = RuleSeverity | "off";
130
130
  //#endregion
131
131
  //#region src/rules.d.ts
132
132
  declare const REACT_DOCTOR_RULES: readonly [{
133
+ readonly key: "react-doctor/activity-wraps-effect-heavy-subtree";
134
+ readonly id: "activity-wraps-effect-heavy-subtree";
135
+ readonly source: "react-doctor";
136
+ readonly originallyExternal: false;
137
+ readonly rule: {
138
+ readonly framework: "global";
139
+ readonly category: "State & Effects";
140
+ readonly id: string;
141
+ readonly severity: RuleSeverity;
142
+ readonly requires?: ReadonlyArray<string>;
143
+ readonly disabledBy?: ReadonlyArray<string>;
144
+ readonly tags?: ReadonlyArray<string>;
145
+ readonly defaultEnabled?: boolean;
146
+ readonly recommendation?: string;
147
+ readonly create: (context: RuleContext) => RuleVisitors;
148
+ };
149
+ }, {
133
150
  readonly key: "react-doctor/advanced-event-handler-refs";
134
151
  readonly id: "advanced-event-handler-refs";
135
152
  readonly source: "react-doctor";
@@ -724,6 +741,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
724
741
  readonly recommendation?: string;
725
742
  readonly create: (context: RuleContext) => RuleVisitors;
726
743
  };
744
+ }, {
745
+ readonly key: "react-doctor/hooks-no-nan-in-deps";
746
+ readonly id: "hooks-no-nan-in-deps";
747
+ readonly source: "react-doctor";
748
+ readonly originallyExternal: false;
749
+ readonly rule: {
750
+ readonly framework: "global";
751
+ readonly category: "State & Effects";
752
+ readonly id: string;
753
+ readonly severity: RuleSeverity;
754
+ readonly requires?: ReadonlyArray<string>;
755
+ readonly disabledBy?: ReadonlyArray<string>;
756
+ readonly tags?: ReadonlyArray<string>;
757
+ readonly defaultEnabled?: boolean;
758
+ readonly recommendation?: string;
759
+ readonly create: (context: RuleContext) => RuleVisitors;
760
+ };
727
761
  }, {
728
762
  readonly key: "react-doctor/html-has-lang";
729
763
  readonly id: "html-has-lang";
@@ -741,6 +775,57 @@ declare const REACT_DOCTOR_RULES: readonly [{
741
775
  readonly recommendation?: string;
742
776
  readonly create: (context: RuleContext) => RuleVisitors;
743
777
  };
778
+ }, {
779
+ readonly key: "react-doctor/html-no-invalid-paragraph-child";
780
+ readonly id: "html-no-invalid-paragraph-child";
781
+ readonly source: "react-doctor";
782
+ readonly originallyExternal: false;
783
+ readonly rule: {
784
+ readonly framework: "global";
785
+ readonly category: "Correctness";
786
+ readonly id: string;
787
+ readonly severity: RuleSeverity;
788
+ readonly requires?: ReadonlyArray<string>;
789
+ readonly disabledBy?: ReadonlyArray<string>;
790
+ readonly tags?: ReadonlyArray<string>;
791
+ readonly defaultEnabled?: boolean;
792
+ readonly recommendation?: string;
793
+ readonly create: (context: RuleContext) => RuleVisitors;
794
+ };
795
+ }, {
796
+ readonly key: "react-doctor/html-no-invalid-table-nesting";
797
+ readonly id: "html-no-invalid-table-nesting";
798
+ readonly source: "react-doctor";
799
+ readonly originallyExternal: false;
800
+ readonly rule: {
801
+ readonly framework: "global";
802
+ readonly category: "Correctness";
803
+ readonly id: string;
804
+ readonly severity: RuleSeverity;
805
+ readonly requires?: ReadonlyArray<string>;
806
+ readonly disabledBy?: ReadonlyArray<string>;
807
+ readonly tags?: ReadonlyArray<string>;
808
+ readonly defaultEnabled?: boolean;
809
+ readonly recommendation?: string;
810
+ readonly create: (context: RuleContext) => RuleVisitors;
811
+ };
812
+ }, {
813
+ readonly key: "react-doctor/html-no-nested-interactive";
814
+ readonly id: "html-no-nested-interactive";
815
+ readonly source: "react-doctor";
816
+ readonly originallyExternal: false;
817
+ readonly rule: {
818
+ readonly framework: "global";
819
+ readonly category: "Correctness";
820
+ readonly id: string;
821
+ readonly severity: RuleSeverity;
822
+ readonly requires?: ReadonlyArray<string>;
823
+ readonly disabledBy?: ReadonlyArray<string>;
824
+ readonly tags?: ReadonlyArray<string>;
825
+ readonly defaultEnabled?: boolean;
826
+ readonly recommendation?: string;
827
+ readonly create: (context: RuleContext) => RuleVisitors;
828
+ };
744
829
  }, {
745
830
  readonly key: "react-doctor/iframe-has-title";
746
831
  readonly id: "iframe-has-title";
@@ -809,6 +894,74 @@ declare const REACT_DOCTOR_RULES: readonly [{
809
894
  readonly recommendation?: string;
810
895
  readonly create: (context: RuleContext) => RuleVisitors;
811
896
  };
897
+ }, {
898
+ readonly key: "react-doctor/jotai-derived-atom-returns-fresh-object";
899
+ readonly id: "jotai-derived-atom-returns-fresh-object";
900
+ readonly source: "react-doctor";
901
+ readonly originallyExternal: false;
902
+ readonly rule: {
903
+ readonly framework: "global";
904
+ readonly category: "State & Effects";
905
+ readonly id: string;
906
+ readonly severity: RuleSeverity;
907
+ readonly requires?: ReadonlyArray<string>;
908
+ readonly disabledBy?: ReadonlyArray<string>;
909
+ readonly tags?: ReadonlyArray<string>;
910
+ readonly defaultEnabled?: boolean;
911
+ readonly recommendation?: string;
912
+ readonly create: (context: RuleContext) => RuleVisitors;
913
+ };
914
+ }, {
915
+ readonly key: "react-doctor/jotai-select-atom-in-render-body";
916
+ readonly id: "jotai-select-atom-in-render-body";
917
+ readonly source: "react-doctor";
918
+ readonly originallyExternal: false;
919
+ readonly rule: {
920
+ readonly framework: "global";
921
+ readonly category: "State & Effects";
922
+ readonly id: string;
923
+ readonly severity: RuleSeverity;
924
+ readonly requires?: ReadonlyArray<string>;
925
+ readonly disabledBy?: ReadonlyArray<string>;
926
+ readonly tags?: ReadonlyArray<string>;
927
+ readonly defaultEnabled?: boolean;
928
+ readonly recommendation?: string;
929
+ readonly create: (context: RuleContext) => RuleVisitors;
930
+ };
931
+ }, {
932
+ readonly key: "react-doctor/jotai-tq-use-raw-query-atom";
933
+ readonly id: "jotai-tq-use-raw-query-atom";
934
+ readonly source: "react-doctor";
935
+ readonly originallyExternal: false;
936
+ readonly rule: {
937
+ readonly framework: "global";
938
+ readonly category: "State & Effects";
939
+ readonly id: string;
940
+ readonly severity: RuleSeverity;
941
+ readonly requires?: ReadonlyArray<string>;
942
+ readonly disabledBy?: ReadonlyArray<string>;
943
+ readonly tags?: ReadonlyArray<string>;
944
+ readonly defaultEnabled?: boolean;
945
+ readonly recommendation?: string;
946
+ readonly create: (context: RuleContext) => RuleVisitors;
947
+ };
948
+ }, {
949
+ readonly key: "react-doctor/js-async-reduce-without-awaited-acc";
950
+ readonly id: "js-async-reduce-without-awaited-acc";
951
+ readonly source: "react-doctor";
952
+ readonly originallyExternal: false;
953
+ readonly rule: {
954
+ readonly framework: "global";
955
+ readonly category: "Performance";
956
+ readonly id: string;
957
+ readonly severity: RuleSeverity;
958
+ readonly requires?: ReadonlyArray<string>;
959
+ readonly disabledBy?: ReadonlyArray<string>;
960
+ readonly tags?: ReadonlyArray<string>;
961
+ readonly defaultEnabled?: boolean;
962
+ readonly recommendation?: string;
963
+ readonly create: (context: RuleContext) => RuleVisitors;
964
+ };
812
965
  }, {
813
966
  readonly key: "react-doctor/js-batch-dom-css";
814
967
  readonly id: "js-batch-dom-css";
@@ -3478,6 +3631,91 @@ declare const REACT_DOCTOR_RULES: readonly [{
3478
3631
  readonly recommendation?: string;
3479
3632
  readonly create: (context: RuleContext) => RuleVisitors;
3480
3633
  };
3634
+ }, {
3635
+ readonly key: "react-doctor/preact-no-children-length";
3636
+ readonly id: "preact-no-children-length";
3637
+ readonly source: "react-doctor";
3638
+ readonly originallyExternal: false;
3639
+ readonly rule: {
3640
+ readonly framework: "preact";
3641
+ readonly category: "Preact";
3642
+ readonly id: string;
3643
+ readonly severity: RuleSeverity;
3644
+ readonly requires?: ReadonlyArray<string>;
3645
+ readonly disabledBy?: ReadonlyArray<string>;
3646
+ readonly tags?: ReadonlyArray<string>;
3647
+ readonly defaultEnabled?: boolean;
3648
+ readonly recommendation?: string;
3649
+ readonly create: (context: RuleContext) => RuleVisitors;
3650
+ };
3651
+ }, {
3652
+ readonly key: "react-doctor/preact-no-react-hooks-import";
3653
+ readonly id: "preact-no-react-hooks-import";
3654
+ readonly source: "react-doctor";
3655
+ readonly originallyExternal: false;
3656
+ readonly rule: {
3657
+ readonly framework: "preact";
3658
+ readonly category: "Preact";
3659
+ readonly id: string;
3660
+ readonly severity: RuleSeverity;
3661
+ readonly requires?: ReadonlyArray<string>;
3662
+ readonly disabledBy?: ReadonlyArray<string>;
3663
+ readonly tags?: ReadonlyArray<string>;
3664
+ readonly defaultEnabled?: boolean;
3665
+ readonly recommendation?: string;
3666
+ readonly create: (context: RuleContext) => RuleVisitors;
3667
+ };
3668
+ }, {
3669
+ readonly key: "react-doctor/preact-no-render-arguments";
3670
+ readonly id: "preact-no-render-arguments";
3671
+ readonly source: "react-doctor";
3672
+ readonly originallyExternal: false;
3673
+ readonly rule: {
3674
+ readonly framework: "preact";
3675
+ readonly category: "Preact";
3676
+ readonly id: string;
3677
+ readonly severity: RuleSeverity;
3678
+ readonly requires?: ReadonlyArray<string>;
3679
+ readonly disabledBy?: ReadonlyArray<string>;
3680
+ readonly tags?: ReadonlyArray<string>;
3681
+ readonly defaultEnabled?: boolean;
3682
+ readonly recommendation?: string;
3683
+ readonly create: (context: RuleContext) => RuleVisitors;
3684
+ };
3685
+ }, {
3686
+ readonly key: "react-doctor/preact-prefer-ondblclick";
3687
+ readonly id: "preact-prefer-ondblclick";
3688
+ readonly source: "react-doctor";
3689
+ readonly originallyExternal: false;
3690
+ readonly rule: {
3691
+ readonly framework: "preact";
3692
+ readonly category: "Preact";
3693
+ readonly id: string;
3694
+ readonly severity: RuleSeverity;
3695
+ readonly requires?: ReadonlyArray<string>;
3696
+ readonly disabledBy?: ReadonlyArray<string>;
3697
+ readonly tags?: ReadonlyArray<string>;
3698
+ readonly defaultEnabled?: boolean;
3699
+ readonly recommendation?: string;
3700
+ readonly create: (context: RuleContext) => RuleVisitors;
3701
+ };
3702
+ }, {
3703
+ readonly key: "react-doctor/preact-prefer-oninput";
3704
+ readonly id: "preact-prefer-oninput";
3705
+ readonly source: "react-doctor";
3706
+ readonly originallyExternal: false;
3707
+ readonly rule: {
3708
+ readonly framework: "preact";
3709
+ readonly category: "Preact";
3710
+ readonly id: string;
3711
+ readonly severity: RuleSeverity;
3712
+ readonly requires?: ReadonlyArray<string>;
3713
+ readonly disabledBy?: ReadonlyArray<string>;
3714
+ readonly tags?: ReadonlyArray<string>;
3715
+ readonly defaultEnabled?: boolean;
3716
+ readonly recommendation?: string;
3717
+ readonly create: (context: RuleContext) => RuleVisitors;
3718
+ };
3481
3719
  }, {
3482
3720
  readonly key: "react-doctor/prefer-dynamic-import";
3483
3721
  readonly id: "prefer-dynamic-import";
@@ -3529,6 +3767,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
3529
3767
  readonly recommendation?: string;
3530
3768
  readonly create: (context: RuleContext) => RuleVisitors;
3531
3769
  };
3770
+ }, {
3771
+ readonly key: "react-doctor/prefer-html-dialog";
3772
+ readonly id: "prefer-html-dialog";
3773
+ readonly source: "react-doctor";
3774
+ readonly originallyExternal: false;
3775
+ readonly rule: {
3776
+ readonly framework: "global";
3777
+ readonly category: "Accessibility";
3778
+ readonly id: string;
3779
+ readonly severity: RuleSeverity;
3780
+ readonly requires?: ReadonlyArray<string>;
3781
+ readonly disabledBy?: ReadonlyArray<string>;
3782
+ readonly tags?: ReadonlyArray<string>;
3783
+ readonly defaultEnabled?: boolean;
3784
+ readonly recommendation?: string;
3785
+ readonly create: (context: RuleContext) => RuleVisitors;
3786
+ };
3532
3787
  }, {
3533
3788
  readonly key: "react-doctor/prefer-tag-over-role";
3534
3789
  readonly id: "prefer-tag-over-role";
@@ -3716,6 +3971,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
3716
3971
  readonly recommendation?: string;
3717
3972
  readonly create: (context: RuleContext) => RuleVisitors;
3718
3973
  };
3974
+ }, {
3975
+ readonly key: "react-doctor/react-compiler-no-manual-memoization";
3976
+ readonly id: "react-compiler-no-manual-memoization";
3977
+ readonly source: "react-doctor";
3978
+ readonly originallyExternal: false;
3979
+ readonly rule: {
3980
+ readonly framework: "global";
3981
+ readonly category: "Architecture";
3982
+ readonly id: string;
3983
+ readonly severity: RuleSeverity;
3984
+ readonly requires?: ReadonlyArray<string>;
3985
+ readonly disabledBy?: ReadonlyArray<string>;
3986
+ readonly tags?: ReadonlyArray<string>;
3987
+ readonly defaultEnabled?: boolean;
3988
+ readonly recommendation?: string;
3989
+ readonly create: (context: RuleContext) => RuleVisitors;
3990
+ };
3719
3991
  }, {
3720
3992
  readonly key: "react-doctor/react-in-jsx-scope";
3721
3993
  readonly id: "react-in-jsx-scope";
@@ -4125,8 +4397,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
4125
4397
  readonly create: (context: RuleContext) => RuleVisitors;
4126
4398
  };
4127
4399
  }, {
4128
- readonly key: "react-doctor/rn-list-recyclable-without-types";
4129
- readonly id: "rn-list-recyclable-without-types";
4400
+ readonly key: "react-doctor/rn-list-missing-estimated-item-size";
4401
+ readonly id: "rn-list-missing-estimated-item-size";
4130
4402
  readonly source: "react-doctor";
4131
4403
  readonly originallyExternal: false;
4132
4404
  readonly rule: {
@@ -4142,8 +4414,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
4142
4414
  readonly create: (context: RuleContext) => RuleVisitors;
4143
4415
  };
4144
4416
  }, {
4145
- readonly key: "react-doctor/rn-no-deprecated-modules";
4146
- readonly id: "rn-no-deprecated-modules";
4417
+ readonly key: "react-doctor/rn-list-recyclable-without-types";
4418
+ readonly id: "rn-list-recyclable-without-types";
4147
4419
  readonly source: "react-doctor";
4148
4420
  readonly originallyExternal: false;
4149
4421
  readonly rule: {
@@ -4159,8 +4431,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
4159
4431
  readonly create: (context: RuleContext) => RuleVisitors;
4160
4432
  };
4161
4433
  }, {
4162
- readonly key: "react-doctor/rn-no-dimensions-get";
4163
- readonly id: "rn-no-dimensions-get";
4434
+ readonly key: "react-doctor/rn-no-deprecated-modules";
4435
+ readonly id: "rn-no-deprecated-modules";
4164
4436
  readonly source: "react-doctor";
4165
4437
  readonly originallyExternal: false;
4166
4438
  readonly rule: {
@@ -4176,8 +4448,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
4176
4448
  readonly create: (context: RuleContext) => RuleVisitors;
4177
4449
  };
4178
4450
  }, {
4179
- readonly key: "react-doctor/rn-no-inline-flatlist-renderitem";
4180
- readonly id: "rn-no-inline-flatlist-renderitem";
4451
+ readonly key: "react-doctor/rn-no-dimensions-get";
4452
+ readonly id: "rn-no-dimensions-get";
4181
4453
  readonly source: "react-doctor";
4182
4454
  readonly originallyExternal: false;
4183
4455
  readonly rule: {
@@ -4193,8 +4465,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
4193
4465
  readonly create: (context: RuleContext) => RuleVisitors;
4194
4466
  };
4195
4467
  }, {
4196
- readonly key: "react-doctor/rn-no-inline-object-in-list-item";
4197
- readonly id: "rn-no-inline-object-in-list-item";
4468
+ readonly key: "react-doctor/rn-no-falsy-and-render";
4469
+ readonly id: "rn-no-falsy-and-render";
4198
4470
  readonly source: "react-doctor";
4199
4471
  readonly originallyExternal: false;
4200
4472
  readonly rule: {
@@ -4210,8 +4482,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
4210
4482
  readonly create: (context: RuleContext) => RuleVisitors;
4211
4483
  };
4212
4484
  }, {
4213
- readonly key: "react-doctor/rn-no-legacy-expo-packages";
4214
- readonly id: "rn-no-legacy-expo-packages";
4485
+ readonly key: "react-doctor/rn-no-inline-flatlist-renderitem";
4486
+ readonly id: "rn-no-inline-flatlist-renderitem";
4215
4487
  readonly source: "react-doctor";
4216
4488
  readonly originallyExternal: false;
4217
4489
  readonly rule: {
@@ -4227,8 +4499,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
4227
4499
  readonly create: (context: RuleContext) => RuleVisitors;
4228
4500
  };
4229
4501
  }, {
4230
- readonly key: "react-doctor/rn-no-legacy-shadow-styles";
4231
- readonly id: "rn-no-legacy-shadow-styles";
4502
+ readonly key: "react-doctor/rn-no-inline-object-in-list-item";
4503
+ readonly id: "rn-no-inline-object-in-list-item";
4232
4504
  readonly source: "react-doctor";
4233
4505
  readonly originallyExternal: false;
4234
4506
  readonly rule: {
@@ -4244,8 +4516,42 @@ declare const REACT_DOCTOR_RULES: readonly [{
4244
4516
  readonly create: (context: RuleContext) => RuleVisitors;
4245
4517
  };
4246
4518
  }, {
4247
- readonly key: "react-doctor/rn-no-non-native-navigator";
4248
- readonly id: "rn-no-non-native-navigator";
4519
+ readonly key: "react-doctor/rn-no-legacy-expo-packages";
4520
+ readonly id: "rn-no-legacy-expo-packages";
4521
+ readonly source: "react-doctor";
4522
+ readonly originallyExternal: false;
4523
+ readonly rule: {
4524
+ readonly framework: "react-native";
4525
+ readonly category: "React Native";
4526
+ readonly tags: readonly string[];
4527
+ readonly id: string;
4528
+ readonly severity: RuleSeverity;
4529
+ readonly requires?: ReadonlyArray<string>;
4530
+ readonly disabledBy?: ReadonlyArray<string>;
4531
+ readonly defaultEnabled?: boolean;
4532
+ readonly recommendation?: string;
4533
+ readonly create: (context: RuleContext) => RuleVisitors;
4534
+ };
4535
+ }, {
4536
+ readonly key: "react-doctor/rn-no-legacy-shadow-styles";
4537
+ readonly id: "rn-no-legacy-shadow-styles";
4538
+ readonly source: "react-doctor";
4539
+ readonly originallyExternal: false;
4540
+ readonly rule: {
4541
+ readonly framework: "react-native";
4542
+ readonly category: "React Native";
4543
+ readonly tags: readonly string[];
4544
+ readonly id: string;
4545
+ readonly severity: RuleSeverity;
4546
+ readonly requires?: ReadonlyArray<string>;
4547
+ readonly disabledBy?: ReadonlyArray<string>;
4548
+ readonly defaultEnabled?: boolean;
4549
+ readonly recommendation?: string;
4550
+ readonly create: (context: RuleContext) => RuleVisitors;
4551
+ };
4552
+ }, {
4553
+ readonly key: "react-doctor/rn-no-non-native-navigator";
4554
+ readonly id: "rn-no-non-native-navigator";
4249
4555
  readonly source: "react-doctor";
4250
4556
  readonly originallyExternal: false;
4251
4557
  readonly rule: {
@@ -4277,6 +4583,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
4277
4583
  readonly recommendation?: string;
4278
4584
  readonly create: (context: RuleContext) => RuleVisitors;
4279
4585
  };
4586
+ }, {
4587
+ readonly key: "react-doctor/rn-no-renderitem-key";
4588
+ readonly id: "rn-no-renderitem-key";
4589
+ readonly source: "react-doctor";
4590
+ readonly originallyExternal: false;
4591
+ readonly rule: {
4592
+ readonly framework: "react-native";
4593
+ readonly category: "React Native";
4594
+ readonly tags: readonly string[];
4595
+ readonly id: string;
4596
+ readonly severity: RuleSeverity;
4597
+ readonly requires?: ReadonlyArray<string>;
4598
+ readonly disabledBy?: ReadonlyArray<string>;
4599
+ readonly defaultEnabled?: boolean;
4600
+ readonly recommendation?: string;
4601
+ readonly create: (context: RuleContext) => RuleVisitors;
4602
+ };
4280
4603
  }, {
4281
4604
  readonly key: "react-doctor/rn-no-scroll-state";
4282
4605
  readonly id: "rn-no-scroll-state";
@@ -4379,6 +4702,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
4379
4702
  readonly recommendation?: string;
4380
4703
  readonly create: (context: RuleContext) => RuleVisitors;
4381
4704
  };
4705
+ }, {
4706
+ readonly key: "react-doctor/rn-prefer-pressable-over-gesture-detector";
4707
+ readonly id: "rn-prefer-pressable-over-gesture-detector";
4708
+ readonly source: "react-doctor";
4709
+ readonly originallyExternal: false;
4710
+ readonly rule: {
4711
+ readonly framework: "react-native";
4712
+ readonly category: "React Native";
4713
+ readonly tags: readonly string[];
4714
+ readonly id: string;
4715
+ readonly severity: RuleSeverity;
4716
+ readonly requires?: ReadonlyArray<string>;
4717
+ readonly disabledBy?: ReadonlyArray<string>;
4718
+ readonly defaultEnabled?: boolean;
4719
+ readonly recommendation?: string;
4720
+ readonly create: (context: RuleContext) => RuleVisitors;
4721
+ };
4382
4722
  }, {
4383
4723
  readonly key: "react-doctor/rn-prefer-reanimated";
4384
4724
  readonly id: "rn-prefer-reanimated";
@@ -4430,6 +4770,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
4430
4770
  readonly recommendation?: string;
4431
4771
  readonly create: (context: RuleContext) => RuleVisitors;
4432
4772
  };
4773
+ }, {
4774
+ readonly key: "react-doctor/rn-scrollview-flex-in-content-container";
4775
+ readonly id: "rn-scrollview-flex-in-content-container";
4776
+ readonly source: "react-doctor";
4777
+ readonly originallyExternal: false;
4778
+ readonly rule: {
4779
+ readonly framework: "react-native";
4780
+ readonly category: "React Native";
4781
+ readonly tags: readonly string[];
4782
+ readonly id: string;
4783
+ readonly severity: RuleSeverity;
4784
+ readonly requires?: ReadonlyArray<string>;
4785
+ readonly disabledBy?: ReadonlyArray<string>;
4786
+ readonly defaultEnabled?: boolean;
4787
+ readonly recommendation?: string;
4788
+ readonly create: (context: RuleContext) => RuleVisitors;
4789
+ };
4433
4790
  }, {
4434
4791
  readonly key: "react-doctor/rn-style-prefer-boxshadow";
4435
4792
  readonly id: "rn-style-prefer-boxshadow";
@@ -5058,6 +5415,23 @@ declare const EXTERNAL_RULES: readonly [{
5058
5415
  readonly severity: "error";
5059
5416
  }];
5060
5417
  declare const RULES: readonly [{
5418
+ readonly key: "react-doctor/activity-wraps-effect-heavy-subtree";
5419
+ readonly id: "activity-wraps-effect-heavy-subtree";
5420
+ readonly source: "react-doctor";
5421
+ readonly originallyExternal: false;
5422
+ readonly rule: {
5423
+ readonly framework: "global";
5424
+ readonly category: "State & Effects";
5425
+ readonly id: string;
5426
+ readonly severity: RuleSeverity;
5427
+ readonly requires?: ReadonlyArray<string>;
5428
+ readonly disabledBy?: ReadonlyArray<string>;
5429
+ readonly tags?: ReadonlyArray<string>;
5430
+ readonly defaultEnabled?: boolean;
5431
+ readonly recommendation?: string;
5432
+ readonly create: (context: RuleContext) => RuleVisitors;
5433
+ };
5434
+ }, {
5061
5435
  readonly key: "react-doctor/advanced-event-handler-refs";
5062
5436
  readonly id: "advanced-event-handler-refs";
5063
5437
  readonly source: "react-doctor";
@@ -5652,6 +6026,23 @@ declare const RULES: readonly [{
5652
6026
  readonly recommendation?: string;
5653
6027
  readonly create: (context: RuleContext) => RuleVisitors;
5654
6028
  };
6029
+ }, {
6030
+ readonly key: "react-doctor/hooks-no-nan-in-deps";
6031
+ readonly id: "hooks-no-nan-in-deps";
6032
+ readonly source: "react-doctor";
6033
+ readonly originallyExternal: false;
6034
+ readonly rule: {
6035
+ readonly framework: "global";
6036
+ readonly category: "State & Effects";
6037
+ readonly id: string;
6038
+ readonly severity: RuleSeverity;
6039
+ readonly requires?: ReadonlyArray<string>;
6040
+ readonly disabledBy?: ReadonlyArray<string>;
6041
+ readonly tags?: ReadonlyArray<string>;
6042
+ readonly defaultEnabled?: boolean;
6043
+ readonly recommendation?: string;
6044
+ readonly create: (context: RuleContext) => RuleVisitors;
6045
+ };
5655
6046
  }, {
5656
6047
  readonly key: "react-doctor/html-has-lang";
5657
6048
  readonly id: "html-has-lang";
@@ -5669,6 +6060,57 @@ declare const RULES: readonly [{
5669
6060
  readonly recommendation?: string;
5670
6061
  readonly create: (context: RuleContext) => RuleVisitors;
5671
6062
  };
6063
+ }, {
6064
+ readonly key: "react-doctor/html-no-invalid-paragraph-child";
6065
+ readonly id: "html-no-invalid-paragraph-child";
6066
+ readonly source: "react-doctor";
6067
+ readonly originallyExternal: false;
6068
+ readonly rule: {
6069
+ readonly framework: "global";
6070
+ readonly category: "Correctness";
6071
+ readonly id: string;
6072
+ readonly severity: RuleSeverity;
6073
+ readonly requires?: ReadonlyArray<string>;
6074
+ readonly disabledBy?: ReadonlyArray<string>;
6075
+ readonly tags?: ReadonlyArray<string>;
6076
+ readonly defaultEnabled?: boolean;
6077
+ readonly recommendation?: string;
6078
+ readonly create: (context: RuleContext) => RuleVisitors;
6079
+ };
6080
+ }, {
6081
+ readonly key: "react-doctor/html-no-invalid-table-nesting";
6082
+ readonly id: "html-no-invalid-table-nesting";
6083
+ readonly source: "react-doctor";
6084
+ readonly originallyExternal: false;
6085
+ readonly rule: {
6086
+ readonly framework: "global";
6087
+ readonly category: "Correctness";
6088
+ readonly id: string;
6089
+ readonly severity: RuleSeverity;
6090
+ readonly requires?: ReadonlyArray<string>;
6091
+ readonly disabledBy?: ReadonlyArray<string>;
6092
+ readonly tags?: ReadonlyArray<string>;
6093
+ readonly defaultEnabled?: boolean;
6094
+ readonly recommendation?: string;
6095
+ readonly create: (context: RuleContext) => RuleVisitors;
6096
+ };
6097
+ }, {
6098
+ readonly key: "react-doctor/html-no-nested-interactive";
6099
+ readonly id: "html-no-nested-interactive";
6100
+ readonly source: "react-doctor";
6101
+ readonly originallyExternal: false;
6102
+ readonly rule: {
6103
+ readonly framework: "global";
6104
+ readonly category: "Correctness";
6105
+ readonly id: string;
6106
+ readonly severity: RuleSeverity;
6107
+ readonly requires?: ReadonlyArray<string>;
6108
+ readonly disabledBy?: ReadonlyArray<string>;
6109
+ readonly tags?: ReadonlyArray<string>;
6110
+ readonly defaultEnabled?: boolean;
6111
+ readonly recommendation?: string;
6112
+ readonly create: (context: RuleContext) => RuleVisitors;
6113
+ };
5672
6114
  }, {
5673
6115
  readonly key: "react-doctor/iframe-has-title";
5674
6116
  readonly id: "iframe-has-title";
@@ -5737,6 +6179,74 @@ declare const RULES: readonly [{
5737
6179
  readonly recommendation?: string;
5738
6180
  readonly create: (context: RuleContext) => RuleVisitors;
5739
6181
  };
6182
+ }, {
6183
+ readonly key: "react-doctor/jotai-derived-atom-returns-fresh-object";
6184
+ readonly id: "jotai-derived-atom-returns-fresh-object";
6185
+ readonly source: "react-doctor";
6186
+ readonly originallyExternal: false;
6187
+ readonly rule: {
6188
+ readonly framework: "global";
6189
+ readonly category: "State & Effects";
6190
+ readonly id: string;
6191
+ readonly severity: RuleSeverity;
6192
+ readonly requires?: ReadonlyArray<string>;
6193
+ readonly disabledBy?: ReadonlyArray<string>;
6194
+ readonly tags?: ReadonlyArray<string>;
6195
+ readonly defaultEnabled?: boolean;
6196
+ readonly recommendation?: string;
6197
+ readonly create: (context: RuleContext) => RuleVisitors;
6198
+ };
6199
+ }, {
6200
+ readonly key: "react-doctor/jotai-select-atom-in-render-body";
6201
+ readonly id: "jotai-select-atom-in-render-body";
6202
+ readonly source: "react-doctor";
6203
+ readonly originallyExternal: false;
6204
+ readonly rule: {
6205
+ readonly framework: "global";
6206
+ readonly category: "State & Effects";
6207
+ readonly id: string;
6208
+ readonly severity: RuleSeverity;
6209
+ readonly requires?: ReadonlyArray<string>;
6210
+ readonly disabledBy?: ReadonlyArray<string>;
6211
+ readonly tags?: ReadonlyArray<string>;
6212
+ readonly defaultEnabled?: boolean;
6213
+ readonly recommendation?: string;
6214
+ readonly create: (context: RuleContext) => RuleVisitors;
6215
+ };
6216
+ }, {
6217
+ readonly key: "react-doctor/jotai-tq-use-raw-query-atom";
6218
+ readonly id: "jotai-tq-use-raw-query-atom";
6219
+ readonly source: "react-doctor";
6220
+ readonly originallyExternal: false;
6221
+ readonly rule: {
6222
+ readonly framework: "global";
6223
+ readonly category: "State & Effects";
6224
+ readonly id: string;
6225
+ readonly severity: RuleSeverity;
6226
+ readonly requires?: ReadonlyArray<string>;
6227
+ readonly disabledBy?: ReadonlyArray<string>;
6228
+ readonly tags?: ReadonlyArray<string>;
6229
+ readonly defaultEnabled?: boolean;
6230
+ readonly recommendation?: string;
6231
+ readonly create: (context: RuleContext) => RuleVisitors;
6232
+ };
6233
+ }, {
6234
+ readonly key: "react-doctor/js-async-reduce-without-awaited-acc";
6235
+ readonly id: "js-async-reduce-without-awaited-acc";
6236
+ readonly source: "react-doctor";
6237
+ readonly originallyExternal: false;
6238
+ readonly rule: {
6239
+ readonly framework: "global";
6240
+ readonly category: "Performance";
6241
+ readonly id: string;
6242
+ readonly severity: RuleSeverity;
6243
+ readonly requires?: ReadonlyArray<string>;
6244
+ readonly disabledBy?: ReadonlyArray<string>;
6245
+ readonly tags?: ReadonlyArray<string>;
6246
+ readonly defaultEnabled?: boolean;
6247
+ readonly recommendation?: string;
6248
+ readonly create: (context: RuleContext) => RuleVisitors;
6249
+ };
5740
6250
  }, {
5741
6251
  readonly key: "react-doctor/js-batch-dom-css";
5742
6252
  readonly id: "js-batch-dom-css";
@@ -8406,6 +8916,91 @@ declare const RULES: readonly [{
8406
8916
  readonly recommendation?: string;
8407
8917
  readonly create: (context: RuleContext) => RuleVisitors;
8408
8918
  };
8919
+ }, {
8920
+ readonly key: "react-doctor/preact-no-children-length";
8921
+ readonly id: "preact-no-children-length";
8922
+ readonly source: "react-doctor";
8923
+ readonly originallyExternal: false;
8924
+ readonly rule: {
8925
+ readonly framework: "preact";
8926
+ readonly category: "Preact";
8927
+ readonly id: string;
8928
+ readonly severity: RuleSeverity;
8929
+ readonly requires?: ReadonlyArray<string>;
8930
+ readonly disabledBy?: ReadonlyArray<string>;
8931
+ readonly tags?: ReadonlyArray<string>;
8932
+ readonly defaultEnabled?: boolean;
8933
+ readonly recommendation?: string;
8934
+ readonly create: (context: RuleContext) => RuleVisitors;
8935
+ };
8936
+ }, {
8937
+ readonly key: "react-doctor/preact-no-react-hooks-import";
8938
+ readonly id: "preact-no-react-hooks-import";
8939
+ readonly source: "react-doctor";
8940
+ readonly originallyExternal: false;
8941
+ readonly rule: {
8942
+ readonly framework: "preact";
8943
+ readonly category: "Preact";
8944
+ readonly id: string;
8945
+ readonly severity: RuleSeverity;
8946
+ readonly requires?: ReadonlyArray<string>;
8947
+ readonly disabledBy?: ReadonlyArray<string>;
8948
+ readonly tags?: ReadonlyArray<string>;
8949
+ readonly defaultEnabled?: boolean;
8950
+ readonly recommendation?: string;
8951
+ readonly create: (context: RuleContext) => RuleVisitors;
8952
+ };
8953
+ }, {
8954
+ readonly key: "react-doctor/preact-no-render-arguments";
8955
+ readonly id: "preact-no-render-arguments";
8956
+ readonly source: "react-doctor";
8957
+ readonly originallyExternal: false;
8958
+ readonly rule: {
8959
+ readonly framework: "preact";
8960
+ readonly category: "Preact";
8961
+ readonly id: string;
8962
+ readonly severity: RuleSeverity;
8963
+ readonly requires?: ReadonlyArray<string>;
8964
+ readonly disabledBy?: ReadonlyArray<string>;
8965
+ readonly tags?: ReadonlyArray<string>;
8966
+ readonly defaultEnabled?: boolean;
8967
+ readonly recommendation?: string;
8968
+ readonly create: (context: RuleContext) => RuleVisitors;
8969
+ };
8970
+ }, {
8971
+ readonly key: "react-doctor/preact-prefer-ondblclick";
8972
+ readonly id: "preact-prefer-ondblclick";
8973
+ readonly source: "react-doctor";
8974
+ readonly originallyExternal: false;
8975
+ readonly rule: {
8976
+ readonly framework: "preact";
8977
+ readonly category: "Preact";
8978
+ readonly id: string;
8979
+ readonly severity: RuleSeverity;
8980
+ readonly requires?: ReadonlyArray<string>;
8981
+ readonly disabledBy?: ReadonlyArray<string>;
8982
+ readonly tags?: ReadonlyArray<string>;
8983
+ readonly defaultEnabled?: boolean;
8984
+ readonly recommendation?: string;
8985
+ readonly create: (context: RuleContext) => RuleVisitors;
8986
+ };
8987
+ }, {
8988
+ readonly key: "react-doctor/preact-prefer-oninput";
8989
+ readonly id: "preact-prefer-oninput";
8990
+ readonly source: "react-doctor";
8991
+ readonly originallyExternal: false;
8992
+ readonly rule: {
8993
+ readonly framework: "preact";
8994
+ readonly category: "Preact";
8995
+ readonly id: string;
8996
+ readonly severity: RuleSeverity;
8997
+ readonly requires?: ReadonlyArray<string>;
8998
+ readonly disabledBy?: ReadonlyArray<string>;
8999
+ readonly tags?: ReadonlyArray<string>;
9000
+ readonly defaultEnabled?: boolean;
9001
+ readonly recommendation?: string;
9002
+ readonly create: (context: RuleContext) => RuleVisitors;
9003
+ };
8409
9004
  }, {
8410
9005
  readonly key: "react-doctor/prefer-dynamic-import";
8411
9006
  readonly id: "prefer-dynamic-import";
@@ -8457,6 +9052,23 @@ declare const RULES: readonly [{
8457
9052
  readonly recommendation?: string;
8458
9053
  readonly create: (context: RuleContext) => RuleVisitors;
8459
9054
  };
9055
+ }, {
9056
+ readonly key: "react-doctor/prefer-html-dialog";
9057
+ readonly id: "prefer-html-dialog";
9058
+ readonly source: "react-doctor";
9059
+ readonly originallyExternal: false;
9060
+ readonly rule: {
9061
+ readonly framework: "global";
9062
+ readonly category: "Accessibility";
9063
+ readonly id: string;
9064
+ readonly severity: RuleSeverity;
9065
+ readonly requires?: ReadonlyArray<string>;
9066
+ readonly disabledBy?: ReadonlyArray<string>;
9067
+ readonly tags?: ReadonlyArray<string>;
9068
+ readonly defaultEnabled?: boolean;
9069
+ readonly recommendation?: string;
9070
+ readonly create: (context: RuleContext) => RuleVisitors;
9071
+ };
8460
9072
  }, {
8461
9073
  readonly key: "react-doctor/prefer-tag-over-role";
8462
9074
  readonly id: "prefer-tag-over-role";
@@ -8644,6 +9256,23 @@ declare const RULES: readonly [{
8644
9256
  readonly recommendation?: string;
8645
9257
  readonly create: (context: RuleContext) => RuleVisitors;
8646
9258
  };
9259
+ }, {
9260
+ readonly key: "react-doctor/react-compiler-no-manual-memoization";
9261
+ readonly id: "react-compiler-no-manual-memoization";
9262
+ readonly source: "react-doctor";
9263
+ readonly originallyExternal: false;
9264
+ readonly rule: {
9265
+ readonly framework: "global";
9266
+ readonly category: "Architecture";
9267
+ readonly id: string;
9268
+ readonly severity: RuleSeverity;
9269
+ readonly requires?: ReadonlyArray<string>;
9270
+ readonly disabledBy?: ReadonlyArray<string>;
9271
+ readonly tags?: ReadonlyArray<string>;
9272
+ readonly defaultEnabled?: boolean;
9273
+ readonly recommendation?: string;
9274
+ readonly create: (context: RuleContext) => RuleVisitors;
9275
+ };
8647
9276
  }, {
8648
9277
  readonly key: "react-doctor/react-in-jsx-scope";
8649
9278
  readonly id: "react-in-jsx-scope";
@@ -9052,6 +9681,23 @@ declare const RULES: readonly [{
9052
9681
  readonly recommendation?: string;
9053
9682
  readonly create: (context: RuleContext) => RuleVisitors;
9054
9683
  };
9684
+ }, {
9685
+ readonly key: "react-doctor/rn-list-missing-estimated-item-size";
9686
+ readonly id: "rn-list-missing-estimated-item-size";
9687
+ readonly source: "react-doctor";
9688
+ readonly originallyExternal: false;
9689
+ readonly rule: {
9690
+ readonly framework: "react-native";
9691
+ readonly category: "React Native";
9692
+ readonly tags: readonly string[];
9693
+ readonly id: string;
9694
+ readonly severity: RuleSeverity;
9695
+ readonly requires?: ReadonlyArray<string>;
9696
+ readonly disabledBy?: ReadonlyArray<string>;
9697
+ readonly defaultEnabled?: boolean;
9698
+ readonly recommendation?: string;
9699
+ readonly create: (context: RuleContext) => RuleVisitors;
9700
+ };
9055
9701
  }, {
9056
9702
  readonly key: "react-doctor/rn-list-recyclable-without-types";
9057
9703
  readonly id: "rn-list-recyclable-without-types";
@@ -9103,6 +9749,23 @@ declare const RULES: readonly [{
9103
9749
  readonly recommendation?: string;
9104
9750
  readonly create: (context: RuleContext) => RuleVisitors;
9105
9751
  };
9752
+ }, {
9753
+ readonly key: "react-doctor/rn-no-falsy-and-render";
9754
+ readonly id: "rn-no-falsy-and-render";
9755
+ readonly source: "react-doctor";
9756
+ readonly originallyExternal: false;
9757
+ readonly rule: {
9758
+ readonly framework: "react-native";
9759
+ readonly category: "React Native";
9760
+ readonly tags: readonly string[];
9761
+ readonly id: string;
9762
+ readonly severity: RuleSeverity;
9763
+ readonly requires?: ReadonlyArray<string>;
9764
+ readonly disabledBy?: ReadonlyArray<string>;
9765
+ readonly defaultEnabled?: boolean;
9766
+ readonly recommendation?: string;
9767
+ readonly create: (context: RuleContext) => RuleVisitors;
9768
+ };
9106
9769
  }, {
9107
9770
  readonly key: "react-doctor/rn-no-inline-flatlist-renderitem";
9108
9771
  readonly id: "rn-no-inline-flatlist-renderitem";
@@ -9205,6 +9868,23 @@ declare const RULES: readonly [{
9205
9868
  readonly recommendation?: string;
9206
9869
  readonly create: (context: RuleContext) => RuleVisitors;
9207
9870
  };
9871
+ }, {
9872
+ readonly key: "react-doctor/rn-no-renderitem-key";
9873
+ readonly id: "rn-no-renderitem-key";
9874
+ readonly source: "react-doctor";
9875
+ readonly originallyExternal: false;
9876
+ readonly rule: {
9877
+ readonly framework: "react-native";
9878
+ readonly category: "React Native";
9879
+ readonly tags: readonly string[];
9880
+ readonly id: string;
9881
+ readonly severity: RuleSeverity;
9882
+ readonly requires?: ReadonlyArray<string>;
9883
+ readonly disabledBy?: ReadonlyArray<string>;
9884
+ readonly defaultEnabled?: boolean;
9885
+ readonly recommendation?: string;
9886
+ readonly create: (context: RuleContext) => RuleVisitors;
9887
+ };
9208
9888
  }, {
9209
9889
  readonly key: "react-doctor/rn-no-scroll-state";
9210
9890
  readonly id: "rn-no-scroll-state";
@@ -9307,6 +9987,23 @@ declare const RULES: readonly [{
9307
9987
  readonly recommendation?: string;
9308
9988
  readonly create: (context: RuleContext) => RuleVisitors;
9309
9989
  };
9990
+ }, {
9991
+ readonly key: "react-doctor/rn-prefer-pressable-over-gesture-detector";
9992
+ readonly id: "rn-prefer-pressable-over-gesture-detector";
9993
+ readonly source: "react-doctor";
9994
+ readonly originallyExternal: false;
9995
+ readonly rule: {
9996
+ readonly framework: "react-native";
9997
+ readonly category: "React Native";
9998
+ readonly tags: readonly string[];
9999
+ readonly id: string;
10000
+ readonly severity: RuleSeverity;
10001
+ readonly requires?: ReadonlyArray<string>;
10002
+ readonly disabledBy?: ReadonlyArray<string>;
10003
+ readonly defaultEnabled?: boolean;
10004
+ readonly recommendation?: string;
10005
+ readonly create: (context: RuleContext) => RuleVisitors;
10006
+ };
9310
10007
  }, {
9311
10008
  readonly key: "react-doctor/rn-prefer-reanimated";
9312
10009
  readonly id: "rn-prefer-reanimated";
@@ -9358,6 +10055,23 @@ declare const RULES: readonly [{
9358
10055
  readonly recommendation?: string;
9359
10056
  readonly create: (context: RuleContext) => RuleVisitors;
9360
10057
  };
10058
+ }, {
10059
+ readonly key: "react-doctor/rn-scrollview-flex-in-content-container";
10060
+ readonly id: "rn-scrollview-flex-in-content-container";
10061
+ readonly source: "react-doctor";
10062
+ readonly originallyExternal: false;
10063
+ readonly rule: {
10064
+ readonly framework: "react-native";
10065
+ readonly category: "React Native";
10066
+ readonly tags: readonly string[];
10067
+ readonly id: string;
10068
+ readonly severity: RuleSeverity;
10069
+ readonly requires?: ReadonlyArray<string>;
10070
+ readonly disabledBy?: ReadonlyArray<string>;
10071
+ readonly defaultEnabled?: boolean;
10072
+ readonly recommendation?: string;
10073
+ readonly create: (context: RuleContext) => RuleVisitors;
10074
+ };
9361
10075
  }, {
9362
10076
  readonly key: "react-doctor/rn-style-prefer-boxshadow";
9363
10077
  readonly id: "rn-style-prefer-boxshadow";
@@ -9989,6 +10703,7 @@ declare const NEXTJS_RULES: Record<string, OxlintRuleSeverity>;
9989
10703
  declare const REACT_NATIVE_RULES: Record<string, OxlintRuleSeverity>;
9990
10704
  declare const TANSTACK_START_RULES: Record<string, OxlintRuleSeverity>;
9991
10705
  declare const TANSTACK_QUERY_RULES: Record<string, OxlintRuleSeverity>;
10706
+ declare const PREACT_RULES: Record<string, OxlintRuleSeverity>;
9992
10707
  declare const ALL_REACT_DOCTOR_RULES: Record<string, OxlintRuleSeverity>;
9993
10708
  declare const ALL_REACT_DOCTOR_RULE_KEYS: ReadonlySet<string>;
9994
10709
  declare const FRAMEWORK_SPECIFIC_RULE_KEYS: ReadonlySet<string>;
@@ -10002,5 +10717,5 @@ declare const REACT_NATIVE_DEPENDENCY_NAMES: ReadonlySet<string>;
10002
10717
  declare const REACT_NATIVE_DEPENDENCY_PREFIXES: ReadonlyArray<string>;
10003
10718
  declare const isReactNativeDependencyName: (dependencyName: string) => boolean;
10004
10719
  //#endregion
10005
- export { ALL_REACT_DOCTOR_RULES, ALL_REACT_DOCTOR_RULE_KEYS, EXTERNAL_RULES, type EsTreeNode, FRAMEWORK_SPECIFIC_RULE_KEYS, MOTION_LIBRARY_PACKAGES, NEXTJS_RULES, type OxlintRuleSeverity, REACT_COMPILER_RULES, REACT_DOCTOR_RULES, REACT_NATIVE_DEPENDENCY_NAMES, REACT_NATIVE_DEPENDENCY_PREFIXES, REACT_NATIVE_RULES, RECOMMENDED_RULES, RULES, type Rule, type RuleFramework, type RulePlugin, type RuleSeverity, type RuleVisitors, TANSTACK_QUERY_RULES, TANSTACK_START_RULES, plugin as default, isReactNativeDependencyName };
10720
+ export { ALL_REACT_DOCTOR_RULES, ALL_REACT_DOCTOR_RULE_KEYS, EXTERNAL_RULES, type EsTreeNode, FRAMEWORK_SPECIFIC_RULE_KEYS, MOTION_LIBRARY_PACKAGES, NEXTJS_RULES, type OxlintRuleSeverity, PREACT_RULES, REACT_COMPILER_RULES, REACT_DOCTOR_RULES, REACT_NATIVE_DEPENDENCY_NAMES, REACT_NATIVE_DEPENDENCY_PREFIXES, REACT_NATIVE_RULES, RECOMMENDED_RULES, RULES, type Rule, type RuleFramework, type RulePlugin, type RuleSeverity, type RuleVisitors, TANSTACK_QUERY_RULES, TANSTACK_START_RULES, plugin as default, isReactNativeDependencyName };
10006
10721
  //# sourceMappingURL=index.d.ts.map