oxlint-plugin-react-doctor 0.2.11 → 0.2.12-dev.9617aeb

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 +528 -18
  2. package/dist/index.js +2668 -553
  3. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -2074,6 +2074,40 @@ declare const REACT_DOCTOR_RULES: readonly [{
2074
2074
  readonly recommendation?: string;
2075
2075
  readonly create: (context: RuleContext) => RuleVisitors;
2076
2076
  };
2077
+ }, {
2078
+ readonly key: "react-doctor/no-create-context-in-render";
2079
+ readonly id: "no-create-context-in-render";
2080
+ readonly source: "react-doctor";
2081
+ readonly originallyExternal: false;
2082
+ readonly rule: {
2083
+ readonly framework: "global";
2084
+ readonly category: "Correctness";
2085
+ readonly id: string;
2086
+ readonly severity: RuleSeverity;
2087
+ readonly requires?: ReadonlyArray<string>;
2088
+ readonly disabledBy?: ReadonlyArray<string>;
2089
+ readonly tags?: ReadonlyArray<string>;
2090
+ readonly defaultEnabled?: boolean;
2091
+ readonly recommendation?: string;
2092
+ readonly create: (context: RuleContext) => RuleVisitors;
2093
+ };
2094
+ }, {
2095
+ readonly key: "react-doctor/no-create-store-in-render";
2096
+ readonly id: "no-create-store-in-render";
2097
+ readonly source: "react-doctor";
2098
+ readonly originallyExternal: false;
2099
+ readonly rule: {
2100
+ readonly framework: "global";
2101
+ readonly category: "Correctness";
2102
+ readonly id: string;
2103
+ readonly severity: RuleSeverity;
2104
+ readonly requires?: ReadonlyArray<string>;
2105
+ readonly disabledBy?: ReadonlyArray<string>;
2106
+ readonly tags?: ReadonlyArray<string>;
2107
+ readonly defaultEnabled?: boolean;
2108
+ readonly recommendation?: string;
2109
+ readonly create: (context: RuleContext) => RuleVisitors;
2110
+ };
2077
2111
  }, {
2078
2112
  readonly key: "react-doctor/no-danger";
2079
2113
  readonly id: "no-danger";
@@ -2380,6 +2414,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
2380
2414
  readonly recommendation?: string;
2381
2415
  readonly create: (context: RuleContext) => RuleVisitors;
2382
2416
  };
2417
+ }, {
2418
+ readonly key: "react-doctor/no-effect-with-fresh-deps";
2419
+ readonly id: "no-effect-with-fresh-deps";
2420
+ readonly source: "react-doctor";
2421
+ readonly originallyExternal: false;
2422
+ readonly rule: {
2423
+ readonly framework: "global";
2424
+ readonly category: "State & Effects";
2425
+ readonly id: string;
2426
+ readonly severity: RuleSeverity;
2427
+ readonly requires?: ReadonlyArray<string>;
2428
+ readonly disabledBy?: ReadonlyArray<string>;
2429
+ readonly tags?: ReadonlyArray<string>;
2430
+ readonly defaultEnabled?: boolean;
2431
+ readonly recommendation?: string;
2432
+ readonly create: (context: RuleContext) => RuleVisitors;
2433
+ };
2383
2434
  }, {
2384
2435
  readonly key: "react-doctor/no-eval";
2385
2436
  readonly id: "no-eval";
@@ -3111,6 +3162,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
3111
3162
  readonly recommendation?: string;
3112
3163
  readonly create: (context: RuleContext) => RuleVisitors;
3113
3164
  };
3165
+ }, {
3166
+ readonly key: "react-doctor/no-prop-types";
3167
+ readonly id: "no-prop-types";
3168
+ readonly source: "react-doctor";
3169
+ readonly originallyExternal: false;
3170
+ readonly rule: {
3171
+ readonly framework: "global";
3172
+ readonly category: "Architecture";
3173
+ readonly id: string;
3174
+ readonly severity: RuleSeverity;
3175
+ readonly requires?: ReadonlyArray<string>;
3176
+ readonly disabledBy?: ReadonlyArray<string>;
3177
+ readonly tags?: ReadonlyArray<string>;
3178
+ readonly defaultEnabled?: boolean;
3179
+ readonly recommendation?: string;
3180
+ readonly create: (context: RuleContext) => RuleVisitors;
3181
+ };
3114
3182
  }, {
3115
3183
  readonly key: "react-doctor/no-pure-black-background";
3116
3184
  readonly id: "no-pure-black-background";
@@ -3128,6 +3196,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
3128
3196
  readonly recommendation?: string;
3129
3197
  readonly create: (context: RuleContext) => RuleVisitors;
3130
3198
  };
3199
+ }, {
3200
+ readonly key: "react-doctor/no-random-key";
3201
+ readonly id: "no-random-key";
3202
+ readonly source: "react-doctor";
3203
+ readonly originallyExternal: false;
3204
+ readonly rule: {
3205
+ readonly framework: "global";
3206
+ readonly category: "Correctness";
3207
+ readonly id: string;
3208
+ readonly severity: RuleSeverity;
3209
+ readonly requires?: ReadonlyArray<string>;
3210
+ readonly disabledBy?: ReadonlyArray<string>;
3211
+ readonly tags?: ReadonlyArray<string>;
3212
+ readonly defaultEnabled?: boolean;
3213
+ readonly recommendation?: string;
3214
+ readonly create: (context: RuleContext) => RuleVisitors;
3215
+ };
3131
3216
  }, {
3132
3217
  readonly key: "react-doctor/no-react-children";
3133
3218
  readonly id: "no-react-children";
@@ -3315,6 +3400,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
3315
3400
  readonly recommendation?: string;
3316
3401
  readonly create: (context: RuleContext) => RuleVisitors;
3317
3402
  };
3403
+ }, {
3404
+ readonly key: "react-doctor/no-self-updating-effect";
3405
+ readonly id: "no-self-updating-effect";
3406
+ readonly source: "react-doctor";
3407
+ readonly originallyExternal: false;
3408
+ readonly rule: {
3409
+ readonly framework: "global";
3410
+ readonly category: "State & Effects";
3411
+ readonly id: string;
3412
+ readonly severity: RuleSeverity;
3413
+ readonly requires?: ReadonlyArray<string>;
3414
+ readonly disabledBy?: ReadonlyArray<string>;
3415
+ readonly tags?: ReadonlyArray<string>;
3416
+ readonly defaultEnabled?: boolean;
3417
+ readonly recommendation?: string;
3418
+ readonly create: (context: RuleContext) => RuleVisitors;
3419
+ };
3318
3420
  }, {
3319
3421
  readonly key: "react-doctor/no-set-state";
3320
3422
  readonly id: "no-set-state";
@@ -3791,6 +3893,57 @@ declare const REACT_DOCTOR_RULES: readonly [{
3791
3893
  readonly recommendation?: string;
3792
3894
  readonly create: (context: RuleContext) => RuleVisitors;
3793
3895
  };
3896
+ }, {
3897
+ readonly key: "react-doctor/prefer-module-scope-pure-function";
3898
+ readonly id: "prefer-module-scope-pure-function";
3899
+ readonly source: "react-doctor";
3900
+ readonly originallyExternal: false;
3901
+ readonly rule: {
3902
+ readonly framework: "global";
3903
+ readonly category: "Architecture";
3904
+ readonly id: string;
3905
+ readonly severity: RuleSeverity;
3906
+ readonly requires?: ReadonlyArray<string>;
3907
+ readonly disabledBy?: ReadonlyArray<string>;
3908
+ readonly tags?: ReadonlyArray<string>;
3909
+ readonly defaultEnabled?: boolean;
3910
+ readonly recommendation?: string;
3911
+ readonly create: (context: RuleContext) => RuleVisitors;
3912
+ };
3913
+ }, {
3914
+ readonly key: "react-doctor/prefer-module-scope-static-value";
3915
+ readonly id: "prefer-module-scope-static-value";
3916
+ readonly source: "react-doctor";
3917
+ readonly originallyExternal: false;
3918
+ readonly rule: {
3919
+ readonly framework: "global";
3920
+ readonly category: "Architecture";
3921
+ readonly id: string;
3922
+ readonly severity: RuleSeverity;
3923
+ readonly requires?: ReadonlyArray<string>;
3924
+ readonly disabledBy?: ReadonlyArray<string>;
3925
+ readonly tags?: ReadonlyArray<string>;
3926
+ readonly defaultEnabled?: boolean;
3927
+ readonly recommendation?: string;
3928
+ readonly create: (context: RuleContext) => RuleVisitors;
3929
+ };
3930
+ }, {
3931
+ readonly key: "react-doctor/prefer-stable-empty-fallback";
3932
+ readonly id: "prefer-stable-empty-fallback";
3933
+ readonly source: "react-doctor";
3934
+ readonly originallyExternal: false;
3935
+ readonly rule: {
3936
+ readonly framework: "global";
3937
+ readonly category: "Performance";
3938
+ readonly id: string;
3939
+ readonly severity: RuleSeverity;
3940
+ readonly requires?: ReadonlyArray<string>;
3941
+ readonly disabledBy?: ReadonlyArray<string>;
3942
+ readonly tags?: ReadonlyArray<string>;
3943
+ readonly defaultEnabled?: boolean;
3944
+ readonly recommendation?: string;
3945
+ readonly create: (context: RuleContext) => RuleVisitors;
3946
+ };
3794
3947
  }, {
3795
3948
  readonly key: "react-doctor/prefer-tag-over-role";
3796
3949
  readonly id: "prefer-tag-over-role";
@@ -3962,8 +4115,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
3962
4115
  readonly create: (context: RuleContext) => RuleVisitors;
3963
4116
  };
3964
4117
  }, {
3965
- readonly key: "react-doctor/react-compiler-destructure-method";
3966
- readonly id: "react-compiler-destructure-method";
4118
+ readonly key: "react-doctor/react-compiler-no-manual-memoization";
4119
+ readonly id: "react-compiler-no-manual-memoization";
3967
4120
  readonly source: "react-doctor";
3968
4121
  readonly originallyExternal: false;
3969
4122
  readonly rule: {
@@ -3979,13 +4132,30 @@ declare const REACT_DOCTOR_RULES: readonly [{
3979
4132
  readonly create: (context: RuleContext) => RuleVisitors;
3980
4133
  };
3981
4134
  }, {
3982
- readonly key: "react-doctor/react-compiler-no-manual-memoization";
3983
- readonly id: "react-compiler-no-manual-memoization";
4135
+ readonly key: "react-doctor/react-in-jsx-scope";
4136
+ readonly id: "react-in-jsx-scope";
4137
+ readonly source: "react-doctor";
4138
+ readonly originallyExternal: true;
4139
+ readonly rule: {
4140
+ readonly framework: "global";
4141
+ readonly category: "Correctness";
4142
+ readonly id: string;
4143
+ readonly severity: RuleSeverity;
4144
+ readonly requires?: ReadonlyArray<string>;
4145
+ readonly disabledBy?: ReadonlyArray<string>;
4146
+ readonly tags?: ReadonlyArray<string>;
4147
+ readonly defaultEnabled?: boolean;
4148
+ readonly recommendation?: string;
4149
+ readonly create: (context: RuleContext) => RuleVisitors;
4150
+ };
4151
+ }, {
4152
+ readonly key: "react-doctor/redux-useselector-inline-derivation";
4153
+ readonly id: "redux-useselector-inline-derivation";
3984
4154
  readonly source: "react-doctor";
3985
4155
  readonly originallyExternal: false;
3986
4156
  readonly rule: {
3987
4157
  readonly framework: "global";
3988
- readonly category: "Architecture";
4158
+ readonly category: "Performance";
3989
4159
  readonly id: string;
3990
4160
  readonly severity: RuleSeverity;
3991
4161
  readonly requires?: ReadonlyArray<string>;
@@ -3996,13 +4166,13 @@ declare const REACT_DOCTOR_RULES: readonly [{
3996
4166
  readonly create: (context: RuleContext) => RuleVisitors;
3997
4167
  };
3998
4168
  }, {
3999
- readonly key: "react-doctor/react-in-jsx-scope";
4000
- readonly id: "react-in-jsx-scope";
4169
+ readonly key: "react-doctor/redux-useselector-returns-new-collection";
4170
+ readonly id: "redux-useselector-returns-new-collection";
4001
4171
  readonly source: "react-doctor";
4002
- readonly originallyExternal: true;
4172
+ readonly originallyExternal: false;
4003
4173
  readonly rule: {
4004
4174
  readonly framework: "global";
4005
- readonly category: "Correctness";
4175
+ readonly category: "Performance";
4006
4176
  readonly id: string;
4007
4177
  readonly severity: RuleSeverity;
4008
4178
  readonly requires?: ReadonlyArray<string>;
@@ -4233,6 +4403,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
4233
4403
  readonly recommendation?: string;
4234
4404
  readonly create: (context: RuleContext) => RuleVisitors;
4235
4405
  };
4406
+ }, {
4407
+ readonly key: "react-doctor/rerender-lazy-ref-init";
4408
+ readonly id: "rerender-lazy-ref-init";
4409
+ readonly source: "react-doctor";
4410
+ readonly originallyExternal: false;
4411
+ readonly rule: {
4412
+ readonly framework: "global";
4413
+ readonly category: "Performance";
4414
+ readonly id: string;
4415
+ readonly severity: RuleSeverity;
4416
+ readonly requires?: ReadonlyArray<string>;
4417
+ readonly disabledBy?: ReadonlyArray<string>;
4418
+ readonly tags?: ReadonlyArray<string>;
4419
+ readonly defaultEnabled?: boolean;
4420
+ readonly recommendation?: string;
4421
+ readonly create: (context: RuleContext) => RuleVisitors;
4422
+ };
4236
4423
  }, {
4237
4424
  readonly key: "react-doctor/rerender-lazy-state-init";
4238
4425
  readonly id: "rerender-lazy-state-init";
@@ -5355,6 +5542,74 @@ declare const REACT_DOCTOR_RULES: readonly [{
5355
5542
  readonly recommendation?: string;
5356
5543
  readonly create: (context: RuleContext) => RuleVisitors;
5357
5544
  };
5545
+ }, {
5546
+ readonly key: "react-doctor/zod-v4-no-deprecated-error-apis";
5547
+ readonly id: "zod-v4-no-deprecated-error-apis";
5548
+ readonly source: "react-doctor";
5549
+ readonly originallyExternal: false;
5550
+ readonly rule: {
5551
+ readonly framework: "global";
5552
+ readonly category: "Architecture";
5553
+ readonly id: string;
5554
+ readonly severity: RuleSeverity;
5555
+ readonly requires?: ReadonlyArray<string>;
5556
+ readonly disabledBy?: ReadonlyArray<string>;
5557
+ readonly tags?: ReadonlyArray<string>;
5558
+ readonly defaultEnabled?: boolean;
5559
+ readonly recommendation?: string;
5560
+ readonly create: (context: RuleContext) => RuleVisitors;
5561
+ };
5562
+ }, {
5563
+ readonly key: "react-doctor/zod-v4-no-deprecated-error-customization";
5564
+ readonly id: "zod-v4-no-deprecated-error-customization";
5565
+ readonly source: "react-doctor";
5566
+ readonly originallyExternal: false;
5567
+ readonly rule: {
5568
+ readonly framework: "global";
5569
+ readonly category: "Architecture";
5570
+ readonly id: string;
5571
+ readonly severity: RuleSeverity;
5572
+ readonly requires?: ReadonlyArray<string>;
5573
+ readonly disabledBy?: ReadonlyArray<string>;
5574
+ readonly tags?: ReadonlyArray<string>;
5575
+ readonly defaultEnabled?: boolean;
5576
+ readonly recommendation?: string;
5577
+ readonly create: (context: RuleContext) => RuleVisitors;
5578
+ };
5579
+ }, {
5580
+ readonly key: "react-doctor/zod-v4-no-deprecated-schema-apis";
5581
+ readonly id: "zod-v4-no-deprecated-schema-apis";
5582
+ readonly source: "react-doctor";
5583
+ readonly originallyExternal: false;
5584
+ readonly rule: {
5585
+ readonly framework: "global";
5586
+ readonly category: "Architecture";
5587
+ readonly id: string;
5588
+ readonly severity: RuleSeverity;
5589
+ readonly requires?: ReadonlyArray<string>;
5590
+ readonly disabledBy?: ReadonlyArray<string>;
5591
+ readonly tags?: ReadonlyArray<string>;
5592
+ readonly defaultEnabled?: boolean;
5593
+ readonly recommendation?: string;
5594
+ readonly create: (context: RuleContext) => RuleVisitors;
5595
+ };
5596
+ }, {
5597
+ readonly key: "react-doctor/zod-v4-prefer-top-level-string-formats";
5598
+ readonly id: "zod-v4-prefer-top-level-string-formats";
5599
+ readonly source: "react-doctor";
5600
+ readonly originallyExternal: false;
5601
+ readonly rule: {
5602
+ readonly framework: "global";
5603
+ readonly category: "Architecture";
5604
+ readonly id: string;
5605
+ readonly severity: RuleSeverity;
5606
+ readonly requires?: ReadonlyArray<string>;
5607
+ readonly disabledBy?: ReadonlyArray<string>;
5608
+ readonly tags?: ReadonlyArray<string>;
5609
+ readonly defaultEnabled?: boolean;
5610
+ readonly recommendation?: string;
5611
+ readonly create: (context: RuleContext) => RuleVisitors;
5612
+ };
5358
5613
  }];
5359
5614
  declare const EXTERNAL_RULES: readonly [{
5360
5615
  readonly key: "react-hooks-js/set-state-in-render";
@@ -7359,6 +7614,40 @@ declare const RULES: readonly [{
7359
7614
  readonly recommendation?: string;
7360
7615
  readonly create: (context: RuleContext) => RuleVisitors;
7361
7616
  };
7617
+ }, {
7618
+ readonly key: "react-doctor/no-create-context-in-render";
7619
+ readonly id: "no-create-context-in-render";
7620
+ readonly source: "react-doctor";
7621
+ readonly originallyExternal: false;
7622
+ readonly rule: {
7623
+ readonly framework: "global";
7624
+ readonly category: "Correctness";
7625
+ readonly id: string;
7626
+ readonly severity: RuleSeverity;
7627
+ readonly requires?: ReadonlyArray<string>;
7628
+ readonly disabledBy?: ReadonlyArray<string>;
7629
+ readonly tags?: ReadonlyArray<string>;
7630
+ readonly defaultEnabled?: boolean;
7631
+ readonly recommendation?: string;
7632
+ readonly create: (context: RuleContext) => RuleVisitors;
7633
+ };
7634
+ }, {
7635
+ readonly key: "react-doctor/no-create-store-in-render";
7636
+ readonly id: "no-create-store-in-render";
7637
+ readonly source: "react-doctor";
7638
+ readonly originallyExternal: false;
7639
+ readonly rule: {
7640
+ readonly framework: "global";
7641
+ readonly category: "Correctness";
7642
+ readonly id: string;
7643
+ readonly severity: RuleSeverity;
7644
+ readonly requires?: ReadonlyArray<string>;
7645
+ readonly disabledBy?: ReadonlyArray<string>;
7646
+ readonly tags?: ReadonlyArray<string>;
7647
+ readonly defaultEnabled?: boolean;
7648
+ readonly recommendation?: string;
7649
+ readonly create: (context: RuleContext) => RuleVisitors;
7650
+ };
7362
7651
  }, {
7363
7652
  readonly key: "react-doctor/no-danger";
7364
7653
  readonly id: "no-danger";
@@ -7665,6 +7954,23 @@ declare const RULES: readonly [{
7665
7954
  readonly recommendation?: string;
7666
7955
  readonly create: (context: RuleContext) => RuleVisitors;
7667
7956
  };
7957
+ }, {
7958
+ readonly key: "react-doctor/no-effect-with-fresh-deps";
7959
+ readonly id: "no-effect-with-fresh-deps";
7960
+ readonly source: "react-doctor";
7961
+ readonly originallyExternal: false;
7962
+ readonly rule: {
7963
+ readonly framework: "global";
7964
+ readonly category: "State & Effects";
7965
+ readonly id: string;
7966
+ readonly severity: RuleSeverity;
7967
+ readonly requires?: ReadonlyArray<string>;
7968
+ readonly disabledBy?: ReadonlyArray<string>;
7969
+ readonly tags?: ReadonlyArray<string>;
7970
+ readonly defaultEnabled?: boolean;
7971
+ readonly recommendation?: string;
7972
+ readonly create: (context: RuleContext) => RuleVisitors;
7973
+ };
7668
7974
  }, {
7669
7975
  readonly key: "react-doctor/no-eval";
7670
7976
  readonly id: "no-eval";
@@ -8396,6 +8702,23 @@ declare const RULES: readonly [{
8396
8702
  readonly recommendation?: string;
8397
8703
  readonly create: (context: RuleContext) => RuleVisitors;
8398
8704
  };
8705
+ }, {
8706
+ readonly key: "react-doctor/no-prop-types";
8707
+ readonly id: "no-prop-types";
8708
+ readonly source: "react-doctor";
8709
+ readonly originallyExternal: false;
8710
+ readonly rule: {
8711
+ readonly framework: "global";
8712
+ readonly category: "Architecture";
8713
+ readonly id: string;
8714
+ readonly severity: RuleSeverity;
8715
+ readonly requires?: ReadonlyArray<string>;
8716
+ readonly disabledBy?: ReadonlyArray<string>;
8717
+ readonly tags?: ReadonlyArray<string>;
8718
+ readonly defaultEnabled?: boolean;
8719
+ readonly recommendation?: string;
8720
+ readonly create: (context: RuleContext) => RuleVisitors;
8721
+ };
8399
8722
  }, {
8400
8723
  readonly key: "react-doctor/no-pure-black-background";
8401
8724
  readonly id: "no-pure-black-background";
@@ -8413,6 +8736,23 @@ declare const RULES: readonly [{
8413
8736
  readonly recommendation?: string;
8414
8737
  readonly create: (context: RuleContext) => RuleVisitors;
8415
8738
  };
8739
+ }, {
8740
+ readonly key: "react-doctor/no-random-key";
8741
+ readonly id: "no-random-key";
8742
+ readonly source: "react-doctor";
8743
+ readonly originallyExternal: false;
8744
+ readonly rule: {
8745
+ readonly framework: "global";
8746
+ readonly category: "Correctness";
8747
+ readonly id: string;
8748
+ readonly severity: RuleSeverity;
8749
+ readonly requires?: ReadonlyArray<string>;
8750
+ readonly disabledBy?: ReadonlyArray<string>;
8751
+ readonly tags?: ReadonlyArray<string>;
8752
+ readonly defaultEnabled?: boolean;
8753
+ readonly recommendation?: string;
8754
+ readonly create: (context: RuleContext) => RuleVisitors;
8755
+ };
8416
8756
  }, {
8417
8757
  readonly key: "react-doctor/no-react-children";
8418
8758
  readonly id: "no-react-children";
@@ -8600,6 +8940,23 @@ declare const RULES: readonly [{
8600
8940
  readonly recommendation?: string;
8601
8941
  readonly create: (context: RuleContext) => RuleVisitors;
8602
8942
  };
8943
+ }, {
8944
+ readonly key: "react-doctor/no-self-updating-effect";
8945
+ readonly id: "no-self-updating-effect";
8946
+ readonly source: "react-doctor";
8947
+ readonly originallyExternal: false;
8948
+ readonly rule: {
8949
+ readonly framework: "global";
8950
+ readonly category: "State & Effects";
8951
+ readonly id: string;
8952
+ readonly severity: RuleSeverity;
8953
+ readonly requires?: ReadonlyArray<string>;
8954
+ readonly disabledBy?: ReadonlyArray<string>;
8955
+ readonly tags?: ReadonlyArray<string>;
8956
+ readonly defaultEnabled?: boolean;
8957
+ readonly recommendation?: string;
8958
+ readonly create: (context: RuleContext) => RuleVisitors;
8959
+ };
8603
8960
  }, {
8604
8961
  readonly key: "react-doctor/no-set-state";
8605
8962
  readonly id: "no-set-state";
@@ -9076,6 +9433,57 @@ declare const RULES: readonly [{
9076
9433
  readonly recommendation?: string;
9077
9434
  readonly create: (context: RuleContext) => RuleVisitors;
9078
9435
  };
9436
+ }, {
9437
+ readonly key: "react-doctor/prefer-module-scope-pure-function";
9438
+ readonly id: "prefer-module-scope-pure-function";
9439
+ readonly source: "react-doctor";
9440
+ readonly originallyExternal: false;
9441
+ readonly rule: {
9442
+ readonly framework: "global";
9443
+ readonly category: "Architecture";
9444
+ readonly id: string;
9445
+ readonly severity: RuleSeverity;
9446
+ readonly requires?: ReadonlyArray<string>;
9447
+ readonly disabledBy?: ReadonlyArray<string>;
9448
+ readonly tags?: ReadonlyArray<string>;
9449
+ readonly defaultEnabled?: boolean;
9450
+ readonly recommendation?: string;
9451
+ readonly create: (context: RuleContext) => RuleVisitors;
9452
+ };
9453
+ }, {
9454
+ readonly key: "react-doctor/prefer-module-scope-static-value";
9455
+ readonly id: "prefer-module-scope-static-value";
9456
+ readonly source: "react-doctor";
9457
+ readonly originallyExternal: false;
9458
+ readonly rule: {
9459
+ readonly framework: "global";
9460
+ readonly category: "Architecture";
9461
+ readonly id: string;
9462
+ readonly severity: RuleSeverity;
9463
+ readonly requires?: ReadonlyArray<string>;
9464
+ readonly disabledBy?: ReadonlyArray<string>;
9465
+ readonly tags?: ReadonlyArray<string>;
9466
+ readonly defaultEnabled?: boolean;
9467
+ readonly recommendation?: string;
9468
+ readonly create: (context: RuleContext) => RuleVisitors;
9469
+ };
9470
+ }, {
9471
+ readonly key: "react-doctor/prefer-stable-empty-fallback";
9472
+ readonly id: "prefer-stable-empty-fallback";
9473
+ readonly source: "react-doctor";
9474
+ readonly originallyExternal: false;
9475
+ readonly rule: {
9476
+ readonly framework: "global";
9477
+ readonly category: "Performance";
9478
+ readonly id: string;
9479
+ readonly severity: RuleSeverity;
9480
+ readonly requires?: ReadonlyArray<string>;
9481
+ readonly disabledBy?: ReadonlyArray<string>;
9482
+ readonly tags?: ReadonlyArray<string>;
9483
+ readonly defaultEnabled?: boolean;
9484
+ readonly recommendation?: string;
9485
+ readonly create: (context: RuleContext) => RuleVisitors;
9486
+ };
9079
9487
  }, {
9080
9488
  readonly key: "react-doctor/prefer-tag-over-role";
9081
9489
  readonly id: "prefer-tag-over-role";
@@ -9247,8 +9655,8 @@ declare const RULES: readonly [{
9247
9655
  readonly create: (context: RuleContext) => RuleVisitors;
9248
9656
  };
9249
9657
  }, {
9250
- readonly key: "react-doctor/react-compiler-destructure-method";
9251
- readonly id: "react-compiler-destructure-method";
9658
+ readonly key: "react-doctor/react-compiler-no-manual-memoization";
9659
+ readonly id: "react-compiler-no-manual-memoization";
9252
9660
  readonly source: "react-doctor";
9253
9661
  readonly originallyExternal: false;
9254
9662
  readonly rule: {
@@ -9264,13 +9672,30 @@ declare const RULES: readonly [{
9264
9672
  readonly create: (context: RuleContext) => RuleVisitors;
9265
9673
  };
9266
9674
  }, {
9267
- readonly key: "react-doctor/react-compiler-no-manual-memoization";
9268
- readonly id: "react-compiler-no-manual-memoization";
9675
+ readonly key: "react-doctor/react-in-jsx-scope";
9676
+ readonly id: "react-in-jsx-scope";
9677
+ readonly source: "react-doctor";
9678
+ readonly originallyExternal: true;
9679
+ readonly rule: {
9680
+ readonly framework: "global";
9681
+ readonly category: "Correctness";
9682
+ readonly id: string;
9683
+ readonly severity: RuleSeverity;
9684
+ readonly requires?: ReadonlyArray<string>;
9685
+ readonly disabledBy?: ReadonlyArray<string>;
9686
+ readonly tags?: ReadonlyArray<string>;
9687
+ readonly defaultEnabled?: boolean;
9688
+ readonly recommendation?: string;
9689
+ readonly create: (context: RuleContext) => RuleVisitors;
9690
+ };
9691
+ }, {
9692
+ readonly key: "react-doctor/redux-useselector-inline-derivation";
9693
+ readonly id: "redux-useselector-inline-derivation";
9269
9694
  readonly source: "react-doctor";
9270
9695
  readonly originallyExternal: false;
9271
9696
  readonly rule: {
9272
9697
  readonly framework: "global";
9273
- readonly category: "Architecture";
9698
+ readonly category: "Performance";
9274
9699
  readonly id: string;
9275
9700
  readonly severity: RuleSeverity;
9276
9701
  readonly requires?: ReadonlyArray<string>;
@@ -9281,13 +9706,13 @@ declare const RULES: readonly [{
9281
9706
  readonly create: (context: RuleContext) => RuleVisitors;
9282
9707
  };
9283
9708
  }, {
9284
- readonly key: "react-doctor/react-in-jsx-scope";
9285
- readonly id: "react-in-jsx-scope";
9709
+ readonly key: "react-doctor/redux-useselector-returns-new-collection";
9710
+ readonly id: "redux-useselector-returns-new-collection";
9286
9711
  readonly source: "react-doctor";
9287
- readonly originallyExternal: true;
9712
+ readonly originallyExternal: false;
9288
9713
  readonly rule: {
9289
9714
  readonly framework: "global";
9290
- readonly category: "Correctness";
9715
+ readonly category: "Performance";
9291
9716
  readonly id: string;
9292
9717
  readonly severity: RuleSeverity;
9293
9718
  readonly requires?: ReadonlyArray<string>;
@@ -9518,6 +9943,23 @@ declare const RULES: readonly [{
9518
9943
  readonly recommendation?: string;
9519
9944
  readonly create: (context: RuleContext) => RuleVisitors;
9520
9945
  };
9946
+ }, {
9947
+ readonly key: "react-doctor/rerender-lazy-ref-init";
9948
+ readonly id: "rerender-lazy-ref-init";
9949
+ readonly source: "react-doctor";
9950
+ readonly originallyExternal: false;
9951
+ readonly rule: {
9952
+ readonly framework: "global";
9953
+ readonly category: "Performance";
9954
+ readonly id: string;
9955
+ readonly severity: RuleSeverity;
9956
+ readonly requires?: ReadonlyArray<string>;
9957
+ readonly disabledBy?: ReadonlyArray<string>;
9958
+ readonly tags?: ReadonlyArray<string>;
9959
+ readonly defaultEnabled?: boolean;
9960
+ readonly recommendation?: string;
9961
+ readonly create: (context: RuleContext) => RuleVisitors;
9962
+ };
9521
9963
  }, {
9522
9964
  readonly key: "react-doctor/rerender-lazy-state-init";
9523
9965
  readonly id: "rerender-lazy-state-init";
@@ -10640,6 +11082,74 @@ declare const RULES: readonly [{
10640
11082
  readonly recommendation?: string;
10641
11083
  readonly create: (context: RuleContext) => RuleVisitors;
10642
11084
  };
11085
+ }, {
11086
+ readonly key: "react-doctor/zod-v4-no-deprecated-error-apis";
11087
+ readonly id: "zod-v4-no-deprecated-error-apis";
11088
+ readonly source: "react-doctor";
11089
+ readonly originallyExternal: false;
11090
+ readonly rule: {
11091
+ readonly framework: "global";
11092
+ readonly category: "Architecture";
11093
+ readonly id: string;
11094
+ readonly severity: RuleSeverity;
11095
+ readonly requires?: ReadonlyArray<string>;
11096
+ readonly disabledBy?: ReadonlyArray<string>;
11097
+ readonly tags?: ReadonlyArray<string>;
11098
+ readonly defaultEnabled?: boolean;
11099
+ readonly recommendation?: string;
11100
+ readonly create: (context: RuleContext) => RuleVisitors;
11101
+ };
11102
+ }, {
11103
+ readonly key: "react-doctor/zod-v4-no-deprecated-error-customization";
11104
+ readonly id: "zod-v4-no-deprecated-error-customization";
11105
+ readonly source: "react-doctor";
11106
+ readonly originallyExternal: false;
11107
+ readonly rule: {
11108
+ readonly framework: "global";
11109
+ readonly category: "Architecture";
11110
+ readonly id: string;
11111
+ readonly severity: RuleSeverity;
11112
+ readonly requires?: ReadonlyArray<string>;
11113
+ readonly disabledBy?: ReadonlyArray<string>;
11114
+ readonly tags?: ReadonlyArray<string>;
11115
+ readonly defaultEnabled?: boolean;
11116
+ readonly recommendation?: string;
11117
+ readonly create: (context: RuleContext) => RuleVisitors;
11118
+ };
11119
+ }, {
11120
+ readonly key: "react-doctor/zod-v4-no-deprecated-schema-apis";
11121
+ readonly id: "zod-v4-no-deprecated-schema-apis";
11122
+ readonly source: "react-doctor";
11123
+ readonly originallyExternal: false;
11124
+ readonly rule: {
11125
+ readonly framework: "global";
11126
+ readonly category: "Architecture";
11127
+ readonly id: string;
11128
+ readonly severity: RuleSeverity;
11129
+ readonly requires?: ReadonlyArray<string>;
11130
+ readonly disabledBy?: ReadonlyArray<string>;
11131
+ readonly tags?: ReadonlyArray<string>;
11132
+ readonly defaultEnabled?: boolean;
11133
+ readonly recommendation?: string;
11134
+ readonly create: (context: RuleContext) => RuleVisitors;
11135
+ };
11136
+ }, {
11137
+ readonly key: "react-doctor/zod-v4-prefer-top-level-string-formats";
11138
+ readonly id: "zod-v4-prefer-top-level-string-formats";
11139
+ readonly source: "react-doctor";
11140
+ readonly originallyExternal: false;
11141
+ readonly rule: {
11142
+ readonly framework: "global";
11143
+ readonly category: "Architecture";
11144
+ readonly id: string;
11145
+ readonly severity: RuleSeverity;
11146
+ readonly requires?: ReadonlyArray<string>;
11147
+ readonly disabledBy?: ReadonlyArray<string>;
11148
+ readonly tags?: ReadonlyArray<string>;
11149
+ readonly defaultEnabled?: boolean;
11150
+ readonly recommendation?: string;
11151
+ readonly create: (context: RuleContext) => RuleVisitors;
11152
+ };
10643
11153
  }, {
10644
11154
  readonly key: "react-hooks-js/set-state-in-render";
10645
11155
  readonly source: "react-compiler";