oxlint-plugin-react-doctor 0.2.10 → 0.2.11-dev.d0f5206

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 +401 -20
  2. package/dist/index.js +2244 -594
  3. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -82,10 +82,17 @@ interface ScopeAnalysis {
82
82
  //#region src/plugin/utils/rule-context.d.ts
83
83
  interface BaseRuleContext {
84
84
  report: (descriptor: ReportDescriptor) => void;
85
- getFilename?: () => string;
85
+ readonly filename?: string;
86
+ /**
87
+ * @deprecated Rules use `context.filename`. Read only as a fallback by
88
+ * `wrapWithSemanticContext`; ESLint implements it as a `this`-bound class
89
+ * method, so it must be called on the host context, never a detached
90
+ * reference.
91
+ */
92
+ getFilename?: () => string | undefined;
86
93
  readonly settings?: Readonly<Record<string, unknown>>;
87
94
  }
88
- interface RuleContext extends BaseRuleContext {
95
+ interface RuleContext extends Omit<BaseRuleContext, "getFilename"> {
89
96
  readonly scopes: ScopeAnalysis;
90
97
  readonly cfg: ControlFlowAnalysis;
91
98
  }
@@ -2067,6 +2074,40 @@ declare const REACT_DOCTOR_RULES: readonly [{
2067
2074
  readonly recommendation?: string;
2068
2075
  readonly create: (context: RuleContext) => RuleVisitors;
2069
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
+ };
2070
2111
  }, {
2071
2112
  readonly key: "react-doctor/no-danger";
2072
2113
  readonly id: "no-danger";
@@ -2373,6 +2414,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
2373
2414
  readonly recommendation?: string;
2374
2415
  readonly create: (context: RuleContext) => RuleVisitors;
2375
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
+ };
2376
2434
  }, {
2377
2435
  readonly key: "react-doctor/no-eval";
2378
2436
  readonly id: "no-eval";
@@ -3104,6 +3162,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
3104
3162
  readonly recommendation?: string;
3105
3163
  readonly create: (context: RuleContext) => RuleVisitors;
3106
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
+ };
3107
3182
  }, {
3108
3183
  readonly key: "react-doctor/no-pure-black-background";
3109
3184
  readonly id: "no-pure-black-background";
@@ -3121,6 +3196,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
3121
3196
  readonly recommendation?: string;
3122
3197
  readonly create: (context: RuleContext) => RuleVisitors;
3123
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
+ };
3124
3216
  }, {
3125
3217
  readonly key: "react-doctor/no-react-children";
3126
3218
  readonly id: "no-react-children";
@@ -3308,6 +3400,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
3308
3400
  readonly recommendation?: string;
3309
3401
  readonly create: (context: RuleContext) => RuleVisitors;
3310
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
+ };
3311
3420
  }, {
3312
3421
  readonly key: "react-doctor/no-set-state";
3313
3422
  readonly id: "no-set-state";
@@ -3784,6 +3893,57 @@ declare const REACT_DOCTOR_RULES: readonly [{
3784
3893
  readonly recommendation?: string;
3785
3894
  readonly create: (context: RuleContext) => RuleVisitors;
3786
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
+ };
3787
3947
  }, {
3788
3948
  readonly key: "react-doctor/prefer-tag-over-role";
3789
3949
  readonly id: "prefer-tag-over-role";
@@ -3955,8 +4115,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
3955
4115
  readonly create: (context: RuleContext) => RuleVisitors;
3956
4116
  };
3957
4117
  }, {
3958
- readonly key: "react-doctor/react-compiler-destructure-method";
3959
- readonly id: "react-compiler-destructure-method";
4118
+ readonly key: "react-doctor/react-compiler-no-manual-memoization";
4119
+ readonly id: "react-compiler-no-manual-memoization";
3960
4120
  readonly source: "react-doctor";
3961
4121
  readonly originallyExternal: false;
3962
4122
  readonly rule: {
@@ -3972,13 +4132,30 @@ declare const REACT_DOCTOR_RULES: readonly [{
3972
4132
  readonly create: (context: RuleContext) => RuleVisitors;
3973
4133
  };
3974
4134
  }, {
3975
- readonly key: "react-doctor/react-compiler-no-manual-memoization";
3976
- 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";
3977
4154
  readonly source: "react-doctor";
3978
4155
  readonly originallyExternal: false;
3979
4156
  readonly rule: {
3980
4157
  readonly framework: "global";
3981
- readonly category: "Architecture";
4158
+ readonly category: "Performance";
3982
4159
  readonly id: string;
3983
4160
  readonly severity: RuleSeverity;
3984
4161
  readonly requires?: ReadonlyArray<string>;
@@ -3989,13 +4166,13 @@ declare const REACT_DOCTOR_RULES: readonly [{
3989
4166
  readonly create: (context: RuleContext) => RuleVisitors;
3990
4167
  };
3991
4168
  }, {
3992
- readonly key: "react-doctor/react-in-jsx-scope";
3993
- readonly id: "react-in-jsx-scope";
4169
+ readonly key: "react-doctor/redux-useselector-returns-new-collection";
4170
+ readonly id: "redux-useselector-returns-new-collection";
3994
4171
  readonly source: "react-doctor";
3995
- readonly originallyExternal: true;
4172
+ readonly originallyExternal: false;
3996
4173
  readonly rule: {
3997
4174
  readonly framework: "global";
3998
- readonly category: "Correctness";
4175
+ readonly category: "Performance";
3999
4176
  readonly id: string;
4000
4177
  readonly severity: RuleSeverity;
4001
4178
  readonly requires?: ReadonlyArray<string>;
@@ -4226,6 +4403,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
4226
4403
  readonly recommendation?: string;
4227
4404
  readonly create: (context: RuleContext) => RuleVisitors;
4228
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
+ };
4229
4423
  }, {
4230
4424
  readonly key: "react-doctor/rerender-lazy-state-init";
4231
4425
  readonly id: "rerender-lazy-state-init";
@@ -7352,6 +7546,40 @@ declare const RULES: readonly [{
7352
7546
  readonly recommendation?: string;
7353
7547
  readonly create: (context: RuleContext) => RuleVisitors;
7354
7548
  };
7549
+ }, {
7550
+ readonly key: "react-doctor/no-create-context-in-render";
7551
+ readonly id: "no-create-context-in-render";
7552
+ readonly source: "react-doctor";
7553
+ readonly originallyExternal: false;
7554
+ readonly rule: {
7555
+ readonly framework: "global";
7556
+ readonly category: "Correctness";
7557
+ readonly id: string;
7558
+ readonly severity: RuleSeverity;
7559
+ readonly requires?: ReadonlyArray<string>;
7560
+ readonly disabledBy?: ReadonlyArray<string>;
7561
+ readonly tags?: ReadonlyArray<string>;
7562
+ readonly defaultEnabled?: boolean;
7563
+ readonly recommendation?: string;
7564
+ readonly create: (context: RuleContext) => RuleVisitors;
7565
+ };
7566
+ }, {
7567
+ readonly key: "react-doctor/no-create-store-in-render";
7568
+ readonly id: "no-create-store-in-render";
7569
+ readonly source: "react-doctor";
7570
+ readonly originallyExternal: false;
7571
+ readonly rule: {
7572
+ readonly framework: "global";
7573
+ readonly category: "Correctness";
7574
+ readonly id: string;
7575
+ readonly severity: RuleSeverity;
7576
+ readonly requires?: ReadonlyArray<string>;
7577
+ readonly disabledBy?: ReadonlyArray<string>;
7578
+ readonly tags?: ReadonlyArray<string>;
7579
+ readonly defaultEnabled?: boolean;
7580
+ readonly recommendation?: string;
7581
+ readonly create: (context: RuleContext) => RuleVisitors;
7582
+ };
7355
7583
  }, {
7356
7584
  readonly key: "react-doctor/no-danger";
7357
7585
  readonly id: "no-danger";
@@ -7658,6 +7886,23 @@ declare const RULES: readonly [{
7658
7886
  readonly recommendation?: string;
7659
7887
  readonly create: (context: RuleContext) => RuleVisitors;
7660
7888
  };
7889
+ }, {
7890
+ readonly key: "react-doctor/no-effect-with-fresh-deps";
7891
+ readonly id: "no-effect-with-fresh-deps";
7892
+ readonly source: "react-doctor";
7893
+ readonly originallyExternal: false;
7894
+ readonly rule: {
7895
+ readonly framework: "global";
7896
+ readonly category: "State & Effects";
7897
+ readonly id: string;
7898
+ readonly severity: RuleSeverity;
7899
+ readonly requires?: ReadonlyArray<string>;
7900
+ readonly disabledBy?: ReadonlyArray<string>;
7901
+ readonly tags?: ReadonlyArray<string>;
7902
+ readonly defaultEnabled?: boolean;
7903
+ readonly recommendation?: string;
7904
+ readonly create: (context: RuleContext) => RuleVisitors;
7905
+ };
7661
7906
  }, {
7662
7907
  readonly key: "react-doctor/no-eval";
7663
7908
  readonly id: "no-eval";
@@ -8389,6 +8634,23 @@ declare const RULES: readonly [{
8389
8634
  readonly recommendation?: string;
8390
8635
  readonly create: (context: RuleContext) => RuleVisitors;
8391
8636
  };
8637
+ }, {
8638
+ readonly key: "react-doctor/no-prop-types";
8639
+ readonly id: "no-prop-types";
8640
+ readonly source: "react-doctor";
8641
+ readonly originallyExternal: false;
8642
+ readonly rule: {
8643
+ readonly framework: "global";
8644
+ readonly category: "Architecture";
8645
+ readonly id: string;
8646
+ readonly severity: RuleSeverity;
8647
+ readonly requires?: ReadonlyArray<string>;
8648
+ readonly disabledBy?: ReadonlyArray<string>;
8649
+ readonly tags?: ReadonlyArray<string>;
8650
+ readonly defaultEnabled?: boolean;
8651
+ readonly recommendation?: string;
8652
+ readonly create: (context: RuleContext) => RuleVisitors;
8653
+ };
8392
8654
  }, {
8393
8655
  readonly key: "react-doctor/no-pure-black-background";
8394
8656
  readonly id: "no-pure-black-background";
@@ -8406,6 +8668,23 @@ declare const RULES: readonly [{
8406
8668
  readonly recommendation?: string;
8407
8669
  readonly create: (context: RuleContext) => RuleVisitors;
8408
8670
  };
8671
+ }, {
8672
+ readonly key: "react-doctor/no-random-key";
8673
+ readonly id: "no-random-key";
8674
+ readonly source: "react-doctor";
8675
+ readonly originallyExternal: false;
8676
+ readonly rule: {
8677
+ readonly framework: "global";
8678
+ readonly category: "Correctness";
8679
+ readonly id: string;
8680
+ readonly severity: RuleSeverity;
8681
+ readonly requires?: ReadonlyArray<string>;
8682
+ readonly disabledBy?: ReadonlyArray<string>;
8683
+ readonly tags?: ReadonlyArray<string>;
8684
+ readonly defaultEnabled?: boolean;
8685
+ readonly recommendation?: string;
8686
+ readonly create: (context: RuleContext) => RuleVisitors;
8687
+ };
8409
8688
  }, {
8410
8689
  readonly key: "react-doctor/no-react-children";
8411
8690
  readonly id: "no-react-children";
@@ -8593,6 +8872,23 @@ declare const RULES: readonly [{
8593
8872
  readonly recommendation?: string;
8594
8873
  readonly create: (context: RuleContext) => RuleVisitors;
8595
8874
  };
8875
+ }, {
8876
+ readonly key: "react-doctor/no-self-updating-effect";
8877
+ readonly id: "no-self-updating-effect";
8878
+ readonly source: "react-doctor";
8879
+ readonly originallyExternal: false;
8880
+ readonly rule: {
8881
+ readonly framework: "global";
8882
+ readonly category: "State & Effects";
8883
+ readonly id: string;
8884
+ readonly severity: RuleSeverity;
8885
+ readonly requires?: ReadonlyArray<string>;
8886
+ readonly disabledBy?: ReadonlyArray<string>;
8887
+ readonly tags?: ReadonlyArray<string>;
8888
+ readonly defaultEnabled?: boolean;
8889
+ readonly recommendation?: string;
8890
+ readonly create: (context: RuleContext) => RuleVisitors;
8891
+ };
8596
8892
  }, {
8597
8893
  readonly key: "react-doctor/no-set-state";
8598
8894
  readonly id: "no-set-state";
@@ -9069,6 +9365,57 @@ declare const RULES: readonly [{
9069
9365
  readonly recommendation?: string;
9070
9366
  readonly create: (context: RuleContext) => RuleVisitors;
9071
9367
  };
9368
+ }, {
9369
+ readonly key: "react-doctor/prefer-module-scope-pure-function";
9370
+ readonly id: "prefer-module-scope-pure-function";
9371
+ readonly source: "react-doctor";
9372
+ readonly originallyExternal: false;
9373
+ readonly rule: {
9374
+ readonly framework: "global";
9375
+ readonly category: "Architecture";
9376
+ readonly id: string;
9377
+ readonly severity: RuleSeverity;
9378
+ readonly requires?: ReadonlyArray<string>;
9379
+ readonly disabledBy?: ReadonlyArray<string>;
9380
+ readonly tags?: ReadonlyArray<string>;
9381
+ readonly defaultEnabled?: boolean;
9382
+ readonly recommendation?: string;
9383
+ readonly create: (context: RuleContext) => RuleVisitors;
9384
+ };
9385
+ }, {
9386
+ readonly key: "react-doctor/prefer-module-scope-static-value";
9387
+ readonly id: "prefer-module-scope-static-value";
9388
+ readonly source: "react-doctor";
9389
+ readonly originallyExternal: false;
9390
+ readonly rule: {
9391
+ readonly framework: "global";
9392
+ readonly category: "Architecture";
9393
+ readonly id: string;
9394
+ readonly severity: RuleSeverity;
9395
+ readonly requires?: ReadonlyArray<string>;
9396
+ readonly disabledBy?: ReadonlyArray<string>;
9397
+ readonly tags?: ReadonlyArray<string>;
9398
+ readonly defaultEnabled?: boolean;
9399
+ readonly recommendation?: string;
9400
+ readonly create: (context: RuleContext) => RuleVisitors;
9401
+ };
9402
+ }, {
9403
+ readonly key: "react-doctor/prefer-stable-empty-fallback";
9404
+ readonly id: "prefer-stable-empty-fallback";
9405
+ readonly source: "react-doctor";
9406
+ readonly originallyExternal: false;
9407
+ readonly rule: {
9408
+ readonly framework: "global";
9409
+ readonly category: "Performance";
9410
+ readonly id: string;
9411
+ readonly severity: RuleSeverity;
9412
+ readonly requires?: ReadonlyArray<string>;
9413
+ readonly disabledBy?: ReadonlyArray<string>;
9414
+ readonly tags?: ReadonlyArray<string>;
9415
+ readonly defaultEnabled?: boolean;
9416
+ readonly recommendation?: string;
9417
+ readonly create: (context: RuleContext) => RuleVisitors;
9418
+ };
9072
9419
  }, {
9073
9420
  readonly key: "react-doctor/prefer-tag-over-role";
9074
9421
  readonly id: "prefer-tag-over-role";
@@ -9240,8 +9587,8 @@ declare const RULES: readonly [{
9240
9587
  readonly create: (context: RuleContext) => RuleVisitors;
9241
9588
  };
9242
9589
  }, {
9243
- readonly key: "react-doctor/react-compiler-destructure-method";
9244
- readonly id: "react-compiler-destructure-method";
9590
+ readonly key: "react-doctor/react-compiler-no-manual-memoization";
9591
+ readonly id: "react-compiler-no-manual-memoization";
9245
9592
  readonly source: "react-doctor";
9246
9593
  readonly originallyExternal: false;
9247
9594
  readonly rule: {
@@ -9257,13 +9604,30 @@ declare const RULES: readonly [{
9257
9604
  readonly create: (context: RuleContext) => RuleVisitors;
9258
9605
  };
9259
9606
  }, {
9260
- readonly key: "react-doctor/react-compiler-no-manual-memoization";
9261
- readonly id: "react-compiler-no-manual-memoization";
9607
+ readonly key: "react-doctor/react-in-jsx-scope";
9608
+ readonly id: "react-in-jsx-scope";
9609
+ readonly source: "react-doctor";
9610
+ readonly originallyExternal: true;
9611
+ readonly rule: {
9612
+ readonly framework: "global";
9613
+ readonly category: "Correctness";
9614
+ readonly id: string;
9615
+ readonly severity: RuleSeverity;
9616
+ readonly requires?: ReadonlyArray<string>;
9617
+ readonly disabledBy?: ReadonlyArray<string>;
9618
+ readonly tags?: ReadonlyArray<string>;
9619
+ readonly defaultEnabled?: boolean;
9620
+ readonly recommendation?: string;
9621
+ readonly create: (context: RuleContext) => RuleVisitors;
9622
+ };
9623
+ }, {
9624
+ readonly key: "react-doctor/redux-useselector-inline-derivation";
9625
+ readonly id: "redux-useselector-inline-derivation";
9262
9626
  readonly source: "react-doctor";
9263
9627
  readonly originallyExternal: false;
9264
9628
  readonly rule: {
9265
9629
  readonly framework: "global";
9266
- readonly category: "Architecture";
9630
+ readonly category: "Performance";
9267
9631
  readonly id: string;
9268
9632
  readonly severity: RuleSeverity;
9269
9633
  readonly requires?: ReadonlyArray<string>;
@@ -9274,13 +9638,13 @@ declare const RULES: readonly [{
9274
9638
  readonly create: (context: RuleContext) => RuleVisitors;
9275
9639
  };
9276
9640
  }, {
9277
- readonly key: "react-doctor/react-in-jsx-scope";
9278
- readonly id: "react-in-jsx-scope";
9641
+ readonly key: "react-doctor/redux-useselector-returns-new-collection";
9642
+ readonly id: "redux-useselector-returns-new-collection";
9279
9643
  readonly source: "react-doctor";
9280
- readonly originallyExternal: true;
9644
+ readonly originallyExternal: false;
9281
9645
  readonly rule: {
9282
9646
  readonly framework: "global";
9283
- readonly category: "Correctness";
9647
+ readonly category: "Performance";
9284
9648
  readonly id: string;
9285
9649
  readonly severity: RuleSeverity;
9286
9650
  readonly requires?: ReadonlyArray<string>;
@@ -9511,6 +9875,23 @@ declare const RULES: readonly [{
9511
9875
  readonly recommendation?: string;
9512
9876
  readonly create: (context: RuleContext) => RuleVisitors;
9513
9877
  };
9878
+ }, {
9879
+ readonly key: "react-doctor/rerender-lazy-ref-init";
9880
+ readonly id: "rerender-lazy-ref-init";
9881
+ readonly source: "react-doctor";
9882
+ readonly originallyExternal: false;
9883
+ readonly rule: {
9884
+ readonly framework: "global";
9885
+ readonly category: "Performance";
9886
+ readonly id: string;
9887
+ readonly severity: RuleSeverity;
9888
+ readonly requires?: ReadonlyArray<string>;
9889
+ readonly disabledBy?: ReadonlyArray<string>;
9890
+ readonly tags?: ReadonlyArray<string>;
9891
+ readonly defaultEnabled?: boolean;
9892
+ readonly recommendation?: string;
9893
+ readonly create: (context: RuleContext) => RuleVisitors;
9894
+ };
9514
9895
  }, {
9515
9896
  readonly key: "react-doctor/rerender-lazy-state-init";
9516
9897
  readonly id: "rerender-lazy-state-init";