oxlint-plugin-react-doctor 0.2.10 → 0.2.11-dev.402c7ea

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 +367 -20
  2. package/dist/index.js +1876 -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";
@@ -3784,6 +3876,57 @@ declare const REACT_DOCTOR_RULES: readonly [{
3784
3876
  readonly recommendation?: string;
3785
3877
  readonly create: (context: RuleContext) => RuleVisitors;
3786
3878
  };
3879
+ }, {
3880
+ readonly key: "react-doctor/prefer-module-scope-pure-function";
3881
+ readonly id: "prefer-module-scope-pure-function";
3882
+ readonly source: "react-doctor";
3883
+ readonly originallyExternal: false;
3884
+ readonly rule: {
3885
+ readonly framework: "global";
3886
+ readonly category: "Architecture";
3887
+ readonly id: string;
3888
+ readonly severity: RuleSeverity;
3889
+ readonly requires?: ReadonlyArray<string>;
3890
+ readonly disabledBy?: ReadonlyArray<string>;
3891
+ readonly tags?: ReadonlyArray<string>;
3892
+ readonly defaultEnabled?: boolean;
3893
+ readonly recommendation?: string;
3894
+ readonly create: (context: RuleContext) => RuleVisitors;
3895
+ };
3896
+ }, {
3897
+ readonly key: "react-doctor/prefer-module-scope-static-value";
3898
+ readonly id: "prefer-module-scope-static-value";
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-stable-empty-fallback";
3915
+ readonly id: "prefer-stable-empty-fallback";
3916
+ readonly source: "react-doctor";
3917
+ readonly originallyExternal: false;
3918
+ readonly rule: {
3919
+ readonly framework: "global";
3920
+ readonly category: "Performance";
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
+ };
3787
3930
  }, {
3788
3931
  readonly key: "react-doctor/prefer-tag-over-role";
3789
3932
  readonly id: "prefer-tag-over-role";
@@ -3955,8 +4098,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
3955
4098
  readonly create: (context: RuleContext) => RuleVisitors;
3956
4099
  };
3957
4100
  }, {
3958
- readonly key: "react-doctor/react-compiler-destructure-method";
3959
- readonly id: "react-compiler-destructure-method";
4101
+ readonly key: "react-doctor/react-compiler-no-manual-memoization";
4102
+ readonly id: "react-compiler-no-manual-memoization";
3960
4103
  readonly source: "react-doctor";
3961
4104
  readonly originallyExternal: false;
3962
4105
  readonly rule: {
@@ -3972,13 +4115,30 @@ declare const REACT_DOCTOR_RULES: readonly [{
3972
4115
  readonly create: (context: RuleContext) => RuleVisitors;
3973
4116
  };
3974
4117
  }, {
3975
- readonly key: "react-doctor/react-compiler-no-manual-memoization";
3976
- readonly id: "react-compiler-no-manual-memoization";
4118
+ readonly key: "react-doctor/react-in-jsx-scope";
4119
+ readonly id: "react-in-jsx-scope";
4120
+ readonly source: "react-doctor";
4121
+ readonly originallyExternal: true;
4122
+ readonly rule: {
4123
+ readonly framework: "global";
4124
+ readonly category: "Correctness";
4125
+ readonly id: string;
4126
+ readonly severity: RuleSeverity;
4127
+ readonly requires?: ReadonlyArray<string>;
4128
+ readonly disabledBy?: ReadonlyArray<string>;
4129
+ readonly tags?: ReadonlyArray<string>;
4130
+ readonly defaultEnabled?: boolean;
4131
+ readonly recommendation?: string;
4132
+ readonly create: (context: RuleContext) => RuleVisitors;
4133
+ };
4134
+ }, {
4135
+ readonly key: "react-doctor/redux-useselector-inline-derivation";
4136
+ readonly id: "redux-useselector-inline-derivation";
3977
4137
  readonly source: "react-doctor";
3978
4138
  readonly originallyExternal: false;
3979
4139
  readonly rule: {
3980
4140
  readonly framework: "global";
3981
- readonly category: "Architecture";
4141
+ readonly category: "Performance";
3982
4142
  readonly id: string;
3983
4143
  readonly severity: RuleSeverity;
3984
4144
  readonly requires?: ReadonlyArray<string>;
@@ -3989,13 +4149,13 @@ declare const REACT_DOCTOR_RULES: readonly [{
3989
4149
  readonly create: (context: RuleContext) => RuleVisitors;
3990
4150
  };
3991
4151
  }, {
3992
- readonly key: "react-doctor/react-in-jsx-scope";
3993
- readonly id: "react-in-jsx-scope";
4152
+ readonly key: "react-doctor/redux-useselector-returns-new-collection";
4153
+ readonly id: "redux-useselector-returns-new-collection";
3994
4154
  readonly source: "react-doctor";
3995
- readonly originallyExternal: true;
4155
+ readonly originallyExternal: false;
3996
4156
  readonly rule: {
3997
4157
  readonly framework: "global";
3998
- readonly category: "Correctness";
4158
+ readonly category: "Performance";
3999
4159
  readonly id: string;
4000
4160
  readonly severity: RuleSeverity;
4001
4161
  readonly requires?: ReadonlyArray<string>;
@@ -4226,6 +4386,23 @@ declare const REACT_DOCTOR_RULES: readonly [{
4226
4386
  readonly recommendation?: string;
4227
4387
  readonly create: (context: RuleContext) => RuleVisitors;
4228
4388
  };
4389
+ }, {
4390
+ readonly key: "react-doctor/rerender-lazy-ref-init";
4391
+ readonly id: "rerender-lazy-ref-init";
4392
+ readonly source: "react-doctor";
4393
+ readonly originallyExternal: false;
4394
+ readonly rule: {
4395
+ readonly framework: "global";
4396
+ readonly category: "Performance";
4397
+ readonly id: string;
4398
+ readonly severity: RuleSeverity;
4399
+ readonly requires?: ReadonlyArray<string>;
4400
+ readonly disabledBy?: ReadonlyArray<string>;
4401
+ readonly tags?: ReadonlyArray<string>;
4402
+ readonly defaultEnabled?: boolean;
4403
+ readonly recommendation?: string;
4404
+ readonly create: (context: RuleContext) => RuleVisitors;
4405
+ };
4229
4406
  }, {
4230
4407
  readonly key: "react-doctor/rerender-lazy-state-init";
4231
4408
  readonly id: "rerender-lazy-state-init";
@@ -7352,6 +7529,40 @@ declare const RULES: readonly [{
7352
7529
  readonly recommendation?: string;
7353
7530
  readonly create: (context: RuleContext) => RuleVisitors;
7354
7531
  };
7532
+ }, {
7533
+ readonly key: "react-doctor/no-create-context-in-render";
7534
+ readonly id: "no-create-context-in-render";
7535
+ readonly source: "react-doctor";
7536
+ readonly originallyExternal: false;
7537
+ readonly rule: {
7538
+ readonly framework: "global";
7539
+ readonly category: "Correctness";
7540
+ readonly id: string;
7541
+ readonly severity: RuleSeverity;
7542
+ readonly requires?: ReadonlyArray<string>;
7543
+ readonly disabledBy?: ReadonlyArray<string>;
7544
+ readonly tags?: ReadonlyArray<string>;
7545
+ readonly defaultEnabled?: boolean;
7546
+ readonly recommendation?: string;
7547
+ readonly create: (context: RuleContext) => RuleVisitors;
7548
+ };
7549
+ }, {
7550
+ readonly key: "react-doctor/no-create-store-in-render";
7551
+ readonly id: "no-create-store-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
+ };
7355
7566
  }, {
7356
7567
  readonly key: "react-doctor/no-danger";
7357
7568
  readonly id: "no-danger";
@@ -7658,6 +7869,23 @@ declare const RULES: readonly [{
7658
7869
  readonly recommendation?: string;
7659
7870
  readonly create: (context: RuleContext) => RuleVisitors;
7660
7871
  };
7872
+ }, {
7873
+ readonly key: "react-doctor/no-effect-with-fresh-deps";
7874
+ readonly id: "no-effect-with-fresh-deps";
7875
+ readonly source: "react-doctor";
7876
+ readonly originallyExternal: false;
7877
+ readonly rule: {
7878
+ readonly framework: "global";
7879
+ readonly category: "State & Effects";
7880
+ readonly id: string;
7881
+ readonly severity: RuleSeverity;
7882
+ readonly requires?: ReadonlyArray<string>;
7883
+ readonly disabledBy?: ReadonlyArray<string>;
7884
+ readonly tags?: ReadonlyArray<string>;
7885
+ readonly defaultEnabled?: boolean;
7886
+ readonly recommendation?: string;
7887
+ readonly create: (context: RuleContext) => RuleVisitors;
7888
+ };
7661
7889
  }, {
7662
7890
  readonly key: "react-doctor/no-eval";
7663
7891
  readonly id: "no-eval";
@@ -8389,6 +8617,23 @@ declare const RULES: readonly [{
8389
8617
  readonly recommendation?: string;
8390
8618
  readonly create: (context: RuleContext) => RuleVisitors;
8391
8619
  };
8620
+ }, {
8621
+ readonly key: "react-doctor/no-prop-types";
8622
+ readonly id: "no-prop-types";
8623
+ readonly source: "react-doctor";
8624
+ readonly originallyExternal: false;
8625
+ readonly rule: {
8626
+ readonly framework: "global";
8627
+ readonly category: "Architecture";
8628
+ readonly id: string;
8629
+ readonly severity: RuleSeverity;
8630
+ readonly requires?: ReadonlyArray<string>;
8631
+ readonly disabledBy?: ReadonlyArray<string>;
8632
+ readonly tags?: ReadonlyArray<string>;
8633
+ readonly defaultEnabled?: boolean;
8634
+ readonly recommendation?: string;
8635
+ readonly create: (context: RuleContext) => RuleVisitors;
8636
+ };
8392
8637
  }, {
8393
8638
  readonly key: "react-doctor/no-pure-black-background";
8394
8639
  readonly id: "no-pure-black-background";
@@ -8406,6 +8651,23 @@ declare const RULES: readonly [{
8406
8651
  readonly recommendation?: string;
8407
8652
  readonly create: (context: RuleContext) => RuleVisitors;
8408
8653
  };
8654
+ }, {
8655
+ readonly key: "react-doctor/no-random-key";
8656
+ readonly id: "no-random-key";
8657
+ readonly source: "react-doctor";
8658
+ readonly originallyExternal: false;
8659
+ readonly rule: {
8660
+ readonly framework: "global";
8661
+ readonly category: "Correctness";
8662
+ readonly id: string;
8663
+ readonly severity: RuleSeverity;
8664
+ readonly requires?: ReadonlyArray<string>;
8665
+ readonly disabledBy?: ReadonlyArray<string>;
8666
+ readonly tags?: ReadonlyArray<string>;
8667
+ readonly defaultEnabled?: boolean;
8668
+ readonly recommendation?: string;
8669
+ readonly create: (context: RuleContext) => RuleVisitors;
8670
+ };
8409
8671
  }, {
8410
8672
  readonly key: "react-doctor/no-react-children";
8411
8673
  readonly id: "no-react-children";
@@ -9069,6 +9331,57 @@ declare const RULES: readonly [{
9069
9331
  readonly recommendation?: string;
9070
9332
  readonly create: (context: RuleContext) => RuleVisitors;
9071
9333
  };
9334
+ }, {
9335
+ readonly key: "react-doctor/prefer-module-scope-pure-function";
9336
+ readonly id: "prefer-module-scope-pure-function";
9337
+ readonly source: "react-doctor";
9338
+ readonly originallyExternal: false;
9339
+ readonly rule: {
9340
+ readonly framework: "global";
9341
+ readonly category: "Architecture";
9342
+ readonly id: string;
9343
+ readonly severity: RuleSeverity;
9344
+ readonly requires?: ReadonlyArray<string>;
9345
+ readonly disabledBy?: ReadonlyArray<string>;
9346
+ readonly tags?: ReadonlyArray<string>;
9347
+ readonly defaultEnabled?: boolean;
9348
+ readonly recommendation?: string;
9349
+ readonly create: (context: RuleContext) => RuleVisitors;
9350
+ };
9351
+ }, {
9352
+ readonly key: "react-doctor/prefer-module-scope-static-value";
9353
+ readonly id: "prefer-module-scope-static-value";
9354
+ readonly source: "react-doctor";
9355
+ readonly originallyExternal: false;
9356
+ readonly rule: {
9357
+ readonly framework: "global";
9358
+ readonly category: "Architecture";
9359
+ readonly id: string;
9360
+ readonly severity: RuleSeverity;
9361
+ readonly requires?: ReadonlyArray<string>;
9362
+ readonly disabledBy?: ReadonlyArray<string>;
9363
+ readonly tags?: ReadonlyArray<string>;
9364
+ readonly defaultEnabled?: boolean;
9365
+ readonly recommendation?: string;
9366
+ readonly create: (context: RuleContext) => RuleVisitors;
9367
+ };
9368
+ }, {
9369
+ readonly key: "react-doctor/prefer-stable-empty-fallback";
9370
+ readonly id: "prefer-stable-empty-fallback";
9371
+ readonly source: "react-doctor";
9372
+ readonly originallyExternal: false;
9373
+ readonly rule: {
9374
+ readonly framework: "global";
9375
+ readonly category: "Performance";
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
+ };
9072
9385
  }, {
9073
9386
  readonly key: "react-doctor/prefer-tag-over-role";
9074
9387
  readonly id: "prefer-tag-over-role";
@@ -9240,8 +9553,8 @@ declare const RULES: readonly [{
9240
9553
  readonly create: (context: RuleContext) => RuleVisitors;
9241
9554
  };
9242
9555
  }, {
9243
- readonly key: "react-doctor/react-compiler-destructure-method";
9244
- readonly id: "react-compiler-destructure-method";
9556
+ readonly key: "react-doctor/react-compiler-no-manual-memoization";
9557
+ readonly id: "react-compiler-no-manual-memoization";
9245
9558
  readonly source: "react-doctor";
9246
9559
  readonly originallyExternal: false;
9247
9560
  readonly rule: {
@@ -9257,13 +9570,30 @@ declare const RULES: readonly [{
9257
9570
  readonly create: (context: RuleContext) => RuleVisitors;
9258
9571
  };
9259
9572
  }, {
9260
- readonly key: "react-doctor/react-compiler-no-manual-memoization";
9261
- readonly id: "react-compiler-no-manual-memoization";
9573
+ readonly key: "react-doctor/react-in-jsx-scope";
9574
+ readonly id: "react-in-jsx-scope";
9575
+ readonly source: "react-doctor";
9576
+ readonly originallyExternal: true;
9577
+ readonly rule: {
9578
+ readonly framework: "global";
9579
+ readonly category: "Correctness";
9580
+ readonly id: string;
9581
+ readonly severity: RuleSeverity;
9582
+ readonly requires?: ReadonlyArray<string>;
9583
+ readonly disabledBy?: ReadonlyArray<string>;
9584
+ readonly tags?: ReadonlyArray<string>;
9585
+ readonly defaultEnabled?: boolean;
9586
+ readonly recommendation?: string;
9587
+ readonly create: (context: RuleContext) => RuleVisitors;
9588
+ };
9589
+ }, {
9590
+ readonly key: "react-doctor/redux-useselector-inline-derivation";
9591
+ readonly id: "redux-useselector-inline-derivation";
9262
9592
  readonly source: "react-doctor";
9263
9593
  readonly originallyExternal: false;
9264
9594
  readonly rule: {
9265
9595
  readonly framework: "global";
9266
- readonly category: "Architecture";
9596
+ readonly category: "Performance";
9267
9597
  readonly id: string;
9268
9598
  readonly severity: RuleSeverity;
9269
9599
  readonly requires?: ReadonlyArray<string>;
@@ -9274,13 +9604,13 @@ declare const RULES: readonly [{
9274
9604
  readonly create: (context: RuleContext) => RuleVisitors;
9275
9605
  };
9276
9606
  }, {
9277
- readonly key: "react-doctor/react-in-jsx-scope";
9278
- readonly id: "react-in-jsx-scope";
9607
+ readonly key: "react-doctor/redux-useselector-returns-new-collection";
9608
+ readonly id: "redux-useselector-returns-new-collection";
9279
9609
  readonly source: "react-doctor";
9280
- readonly originallyExternal: true;
9610
+ readonly originallyExternal: false;
9281
9611
  readonly rule: {
9282
9612
  readonly framework: "global";
9283
- readonly category: "Correctness";
9613
+ readonly category: "Performance";
9284
9614
  readonly id: string;
9285
9615
  readonly severity: RuleSeverity;
9286
9616
  readonly requires?: ReadonlyArray<string>;
@@ -9511,6 +9841,23 @@ declare const RULES: readonly [{
9511
9841
  readonly recommendation?: string;
9512
9842
  readonly create: (context: RuleContext) => RuleVisitors;
9513
9843
  };
9844
+ }, {
9845
+ readonly key: "react-doctor/rerender-lazy-ref-init";
9846
+ readonly id: "rerender-lazy-ref-init";
9847
+ readonly source: "react-doctor";
9848
+ readonly originallyExternal: false;
9849
+ readonly rule: {
9850
+ readonly framework: "global";
9851
+ readonly category: "Performance";
9852
+ readonly id: string;
9853
+ readonly severity: RuleSeverity;
9854
+ readonly requires?: ReadonlyArray<string>;
9855
+ readonly disabledBy?: ReadonlyArray<string>;
9856
+ readonly tags?: ReadonlyArray<string>;
9857
+ readonly defaultEnabled?: boolean;
9858
+ readonly recommendation?: string;
9859
+ readonly create: (context: RuleContext) => RuleVisitors;
9860
+ };
9514
9861
  }, {
9515
9862
  readonly key: "react-doctor/rerender-lazy-state-init";
9516
9863
  readonly id: "rerender-lazy-state-init";