oxlint-plugin-react-doctor 0.8.1-dev.d970055 → 0.8.1-dev.f4aa821

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 +509 -49
  2. package/dist/index.js +3920 -899
  3. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -100,7 +100,7 @@ interface RuleContext extends Omit<BaseRuleContext, "getFilename"> {
100
100
  //#region src/plugin/utils/capability.d.ts
101
101
  declare const FRAMEWORK_TOKENS: readonly ["nextjs", "vite", "cra", "remix", "gatsby", "expo", "react-native", "tanstack-start", "preact", "unknown"];
102
102
  type FrameworkToken = (typeof FRAMEWORK_TOKENS)[number];
103
- type Capability = FrameworkToken | "react" | "pure-preact" | "react-native" | "server-actions" | "ssr" | "client-only" | "nextjs:static-export" | "nextjs:15" | "tailwind" | "tailwind:3.4" | "zod" | "zod:4" | "typescript" | "react-compiler" | "tanstack-query" | "pre-es2023" | `react:${number}` | `preact:${number}`;
103
+ type Capability = FrameworkToken | "react" | "remotion" | "pure-preact" | "react-native" | "server-actions" | "ssr" | "client-only" | "nextjs:static-export" | "nextjs:15" | "tailwind" | "tailwind:3.4" | "zod" | "zod:4" | "typescript" | "react-compiler" | "tanstack-query" | "valtio" | "pre-es2023" | `react:${number}` | `preact:${number}` | `remotion:${number}` | `valtio:${number}`;
104
104
  type CapabilityQuery = (capability: Capability) => boolean;
105
105
  //#endregion
106
106
  //#region src/plugin/utils/file-scan.d.ts
@@ -2421,29 +2421,6 @@ declare const REACT_DOCTOR_RULES: readonly [{
2421
2421
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
2422
2422
  readonly create: (context: RuleContext) => RuleVisitors;
2423
2423
  };
2424
- }, {
2425
- readonly key: "react-doctor/jsx-no-target-blank";
2426
- readonly id: "jsx-no-target-blank";
2427
- readonly source: "react-doctor";
2428
- readonly originallyExternal: true;
2429
- readonly rule: {
2430
- readonly framework: "global";
2431
- readonly category: "Security";
2432
- readonly requires: readonly Capability[];
2433
- readonly id: string;
2434
- readonly title?: string;
2435
- readonly severity: RuleSeverity;
2436
- readonly disabledWhen?: ReadonlyArray<Capability>;
2437
- readonly tags?: ReadonlyArray<string>;
2438
- readonly matchByOccurrence?: boolean;
2439
- readonly defaultEnabled?: boolean;
2440
- readonly lifecycle?: "retired";
2441
- readonly scan?: FileScan;
2442
- readonly committedFilesOnly?: boolean;
2443
- readonly recommendation?: string;
2444
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
2445
- readonly create: (context: RuleContext) => RuleVisitors;
2446
- };
2447
2424
  }, {
2448
2425
  readonly key: "react-doctor/jsx-no-undef";
2449
2426
  readonly id: "jsx-no-undef";
@@ -7090,6 +7067,213 @@ declare const REACT_DOCTOR_RULES: readonly [{
7090
7067
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
7091
7068
  readonly create: (context: RuleContext) => RuleVisitors;
7092
7069
  };
7070
+ }, {
7071
+ readonly key: "react-doctor/remotion-calculate-metadata-fetch-signal";
7072
+ readonly id: "remotion-calculate-metadata-fetch-signal";
7073
+ readonly source: "react-doctor";
7074
+ readonly originallyExternal: false;
7075
+ readonly rule: {
7076
+ readonly framework: "global";
7077
+ readonly category: "Bugs";
7078
+ readonly id: string;
7079
+ readonly title?: string;
7080
+ readonly severity: RuleSeverity;
7081
+ readonly requires?: ReadonlyArray<Capability>;
7082
+ readonly disabledWhen?: ReadonlyArray<Capability>;
7083
+ readonly tags?: ReadonlyArray<string>;
7084
+ readonly matchByOccurrence?: boolean;
7085
+ readonly defaultEnabled?: boolean;
7086
+ readonly lifecycle?: "retired";
7087
+ readonly scan?: FileScan;
7088
+ readonly committedFilesOnly?: boolean;
7089
+ readonly recommendation?: string;
7090
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
7091
+ readonly create: (context: RuleContext) => RuleVisitors;
7092
+ };
7093
+ }, {
7094
+ readonly key: "react-doctor/remotion-deterministic-randomness";
7095
+ readonly id: "remotion-deterministic-randomness";
7096
+ readonly source: "react-doctor";
7097
+ readonly originallyExternal: false;
7098
+ readonly rule: {
7099
+ readonly framework: "global";
7100
+ readonly category: "Bugs";
7101
+ readonly id: string;
7102
+ readonly title?: string;
7103
+ readonly severity: RuleSeverity;
7104
+ readonly requires?: ReadonlyArray<Capability>;
7105
+ readonly disabledWhen?: ReadonlyArray<Capability>;
7106
+ readonly tags?: ReadonlyArray<string>;
7107
+ readonly matchByOccurrence?: boolean;
7108
+ readonly defaultEnabled?: boolean;
7109
+ readonly lifecycle?: "retired";
7110
+ readonly scan?: FileScan;
7111
+ readonly committedFilesOnly?: boolean;
7112
+ readonly recommendation?: string;
7113
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
7114
+ readonly create: (context: RuleContext) => RuleVisitors;
7115
+ };
7116
+ }, {
7117
+ readonly key: "react-doctor/remotion-no-css-animation";
7118
+ readonly id: "remotion-no-css-animation";
7119
+ readonly source: "react-doctor";
7120
+ readonly originallyExternal: false;
7121
+ readonly rule: {
7122
+ readonly framework: "global";
7123
+ readonly category: "Bugs";
7124
+ readonly id: string;
7125
+ readonly title?: string;
7126
+ readonly severity: RuleSeverity;
7127
+ readonly requires?: ReadonlyArray<Capability>;
7128
+ readonly disabledWhen?: ReadonlyArray<Capability>;
7129
+ readonly tags?: ReadonlyArray<string>;
7130
+ readonly matchByOccurrence?: boolean;
7131
+ readonly defaultEnabled?: boolean;
7132
+ readonly lifecycle?: "retired";
7133
+ readonly scan?: FileScan;
7134
+ readonly committedFilesOnly?: boolean;
7135
+ readonly recommendation?: string;
7136
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
7137
+ readonly create: (context: RuleContext) => RuleVisitors;
7138
+ };
7139
+ }, {
7140
+ readonly key: "react-doctor/remotion-no-css-transition";
7141
+ readonly id: "remotion-no-css-transition";
7142
+ readonly source: "react-doctor";
7143
+ readonly originallyExternal: false;
7144
+ readonly rule: {
7145
+ readonly framework: "global";
7146
+ readonly category: "Bugs";
7147
+ readonly id: string;
7148
+ readonly title?: string;
7149
+ readonly severity: RuleSeverity;
7150
+ readonly requires?: ReadonlyArray<Capability>;
7151
+ readonly disabledWhen?: ReadonlyArray<Capability>;
7152
+ readonly tags?: ReadonlyArray<string>;
7153
+ readonly matchByOccurrence?: boolean;
7154
+ readonly defaultEnabled?: boolean;
7155
+ readonly lifecycle?: "retired";
7156
+ readonly scan?: FileScan;
7157
+ readonly committedFilesOnly?: boolean;
7158
+ readonly recommendation?: string;
7159
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
7160
+ readonly create: (context: RuleContext) => RuleVisitors;
7161
+ };
7162
+ }, {
7163
+ readonly key: "react-doctor/remotion-no-css-url-assets";
7164
+ readonly id: "remotion-no-css-url-assets";
7165
+ readonly source: "react-doctor";
7166
+ readonly originallyExternal: false;
7167
+ readonly rule: {
7168
+ readonly framework: "global";
7169
+ readonly category: "Bugs";
7170
+ readonly id: string;
7171
+ readonly title?: string;
7172
+ readonly severity: RuleSeverity;
7173
+ readonly requires?: ReadonlyArray<Capability>;
7174
+ readonly disabledWhen?: ReadonlyArray<Capability>;
7175
+ readonly tags?: ReadonlyArray<string>;
7176
+ readonly matchByOccurrence?: boolean;
7177
+ readonly defaultEnabled?: boolean;
7178
+ readonly lifecycle?: "retired";
7179
+ readonly scan?: FileScan;
7180
+ readonly committedFilesOnly?: boolean;
7181
+ readonly recommendation?: string;
7182
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
7183
+ readonly create: (context: RuleContext) => RuleVisitors;
7184
+ };
7185
+ }, {
7186
+ readonly key: "react-doctor/remotion-no-module-scope-delay-render";
7187
+ readonly id: "remotion-no-module-scope-delay-render";
7188
+ readonly source: "react-doctor";
7189
+ readonly originallyExternal: false;
7190
+ readonly rule: {
7191
+ readonly framework: "global";
7192
+ readonly category: "Bugs";
7193
+ readonly id: string;
7194
+ readonly title?: string;
7195
+ readonly severity: RuleSeverity;
7196
+ readonly requires?: ReadonlyArray<Capability>;
7197
+ readonly disabledWhen?: ReadonlyArray<Capability>;
7198
+ readonly tags?: ReadonlyArray<string>;
7199
+ readonly matchByOccurrence?: boolean;
7200
+ readonly defaultEnabled?: boolean;
7201
+ readonly lifecycle?: "retired";
7202
+ readonly scan?: FileScan;
7203
+ readonly committedFilesOnly?: boolean;
7204
+ readonly recommendation?: string;
7205
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
7206
+ readonly create: (context: RuleContext) => RuleVisitors;
7207
+ };
7208
+ }, {
7209
+ readonly key: "react-doctor/remotion-no-native-media-elements";
7210
+ readonly id: "remotion-no-native-media-elements";
7211
+ readonly source: "react-doctor";
7212
+ readonly originallyExternal: false;
7213
+ readonly rule: {
7214
+ readonly framework: "global";
7215
+ readonly category: "Bugs";
7216
+ readonly id: string;
7217
+ readonly title?: string;
7218
+ readonly severity: RuleSeverity;
7219
+ readonly requires?: ReadonlyArray<Capability>;
7220
+ readonly disabledWhen?: ReadonlyArray<Capability>;
7221
+ readonly tags?: ReadonlyArray<string>;
7222
+ readonly matchByOccurrence?: boolean;
7223
+ readonly defaultEnabled?: boolean;
7224
+ readonly lifecycle?: "retired";
7225
+ readonly scan?: FileScan;
7226
+ readonly committedFilesOnly?: boolean;
7227
+ readonly recommendation?: string;
7228
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
7229
+ readonly create: (context: RuleContext) => RuleVisitors;
7230
+ };
7231
+ }, {
7232
+ readonly key: "react-doctor/remotion-no-next-image";
7233
+ readonly id: "remotion-no-next-image";
7234
+ readonly source: "react-doctor";
7235
+ readonly originallyExternal: false;
7236
+ readonly rule: {
7237
+ readonly framework: "global";
7238
+ readonly category: "Bugs";
7239
+ readonly id: string;
7240
+ readonly title?: string;
7241
+ readonly severity: RuleSeverity;
7242
+ readonly requires?: ReadonlyArray<Capability>;
7243
+ readonly disabledWhen?: ReadonlyArray<Capability>;
7244
+ readonly tags?: ReadonlyArray<string>;
7245
+ readonly matchByOccurrence?: boolean;
7246
+ readonly defaultEnabled?: boolean;
7247
+ readonly lifecycle?: "retired";
7248
+ readonly scan?: FileScan;
7249
+ readonly committedFilesOnly?: boolean;
7250
+ readonly recommendation?: string;
7251
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
7252
+ readonly create: (context: RuleContext) => RuleVisitors;
7253
+ };
7254
+ }, {
7255
+ readonly key: "react-doctor/remotion-stable-delay-render-handle";
7256
+ readonly id: "remotion-stable-delay-render-handle";
7257
+ readonly source: "react-doctor";
7258
+ readonly originallyExternal: false;
7259
+ readonly rule: {
7260
+ readonly framework: "global";
7261
+ readonly category: "Bugs";
7262
+ readonly id: string;
7263
+ readonly title?: string;
7264
+ readonly severity: RuleSeverity;
7265
+ readonly requires?: ReadonlyArray<Capability>;
7266
+ readonly disabledWhen?: ReadonlyArray<Capability>;
7267
+ readonly tags?: ReadonlyArray<string>;
7268
+ readonly matchByOccurrence?: boolean;
7269
+ readonly defaultEnabled?: boolean;
7270
+ readonly lifecycle?: "retired";
7271
+ readonly scan?: FileScan;
7272
+ readonly committedFilesOnly?: boolean;
7273
+ readonly recommendation?: string;
7274
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
7275
+ readonly create: (context: RuleContext) => RuleVisitors;
7276
+ };
7093
7277
  }, {
7094
7278
  readonly key: "react-doctor/rendering-animate-svg-wrapper";
7095
7279
  readonly id: "rendering-animate-svg-wrapper";
@@ -9275,6 +9459,52 @@ declare const REACT_DOCTOR_RULES: readonly [{
9275
9459
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
9276
9460
  readonly create: (context: RuleContext) => RuleVisitors;
9277
9461
  };
9462
+ }, {
9463
+ readonly key: "react-doctor/valtio-no-proxy-read-in-render";
9464
+ readonly id: "valtio-no-proxy-read-in-render";
9465
+ readonly source: "react-doctor";
9466
+ readonly originallyExternal: false;
9467
+ readonly rule: {
9468
+ readonly framework: "global";
9469
+ readonly category: "Bugs";
9470
+ readonly requires: readonly Capability[];
9471
+ readonly id: string;
9472
+ readonly title?: string;
9473
+ readonly severity: RuleSeverity;
9474
+ readonly disabledWhen?: ReadonlyArray<Capability>;
9475
+ readonly tags?: ReadonlyArray<string>;
9476
+ readonly matchByOccurrence?: boolean;
9477
+ readonly defaultEnabled?: boolean;
9478
+ readonly lifecycle?: "retired";
9479
+ readonly scan?: FileScan;
9480
+ readonly committedFilesOnly?: boolean;
9481
+ readonly recommendation?: string;
9482
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
9483
+ readonly create: (context: RuleContext) => RuleVisitors;
9484
+ };
9485
+ }, {
9486
+ readonly key: "react-doctor/valtio-no-snapshot-in-callback";
9487
+ readonly id: "valtio-no-snapshot-in-callback";
9488
+ readonly source: "react-doctor";
9489
+ readonly originallyExternal: false;
9490
+ readonly rule: {
9491
+ readonly framework: "global";
9492
+ readonly category: "Bugs";
9493
+ readonly requires: readonly Capability[];
9494
+ readonly id: string;
9495
+ readonly title?: string;
9496
+ readonly severity: RuleSeverity;
9497
+ readonly disabledWhen?: ReadonlyArray<Capability>;
9498
+ readonly tags?: ReadonlyArray<string>;
9499
+ readonly matchByOccurrence?: boolean;
9500
+ readonly defaultEnabled?: boolean;
9501
+ readonly lifecycle?: "retired";
9502
+ readonly scan?: FileScan;
9503
+ readonly committedFilesOnly?: boolean;
9504
+ readonly recommendation?: string;
9505
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
9506
+ readonly create: (context: RuleContext) => RuleVisitors;
9507
+ };
9278
9508
  }, {
9279
9509
  readonly key: "react-doctor/void-dom-elements-no-children";
9280
9510
  readonly id: "void-dom-elements-no-children";
@@ -9437,7 +9667,7 @@ declare const EXTERNAL_RULES: readonly [{
9437
9667
  }, {
9438
9668
  readonly key: "react-hooks-js/set-state-in-effect";
9439
9669
  readonly source: "react-compiler";
9440
- readonly severity: "error";
9670
+ readonly severity: "warn";
9441
9671
  }, {
9442
9672
  readonly key: "react-hooks-js/globals";
9443
9673
  readonly source: "react-compiler";
@@ -11733,29 +11963,6 @@ declare const RULES: readonly [{
11733
11963
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
11734
11964
  readonly create: (context: RuleContext) => RuleVisitors;
11735
11965
  };
11736
- }, {
11737
- readonly key: "react-doctor/jsx-no-target-blank";
11738
- readonly id: "jsx-no-target-blank";
11739
- readonly source: "react-doctor";
11740
- readonly originallyExternal: true;
11741
- readonly rule: {
11742
- readonly framework: "global";
11743
- readonly category: "Security";
11744
- readonly requires: readonly Capability[];
11745
- readonly id: string;
11746
- readonly title?: string;
11747
- readonly severity: RuleSeverity;
11748
- readonly disabledWhen?: ReadonlyArray<Capability>;
11749
- readonly tags?: ReadonlyArray<string>;
11750
- readonly matchByOccurrence?: boolean;
11751
- readonly defaultEnabled?: boolean;
11752
- readonly lifecycle?: "retired";
11753
- readonly scan?: FileScan;
11754
- readonly committedFilesOnly?: boolean;
11755
- readonly recommendation?: string;
11756
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
11757
- readonly create: (context: RuleContext) => RuleVisitors;
11758
- };
11759
11966
  }, {
11760
11967
  readonly key: "react-doctor/jsx-no-undef";
11761
11968
  readonly id: "jsx-no-undef";
@@ -16402,6 +16609,213 @@ declare const RULES: readonly [{
16402
16609
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16403
16610
  readonly create: (context: RuleContext) => RuleVisitors;
16404
16611
  };
16612
+ }, {
16613
+ readonly key: "react-doctor/remotion-calculate-metadata-fetch-signal";
16614
+ readonly id: "remotion-calculate-metadata-fetch-signal";
16615
+ readonly source: "react-doctor";
16616
+ readonly originallyExternal: false;
16617
+ readonly rule: {
16618
+ readonly framework: "global";
16619
+ readonly category: "Bugs";
16620
+ readonly id: string;
16621
+ readonly title?: string;
16622
+ readonly severity: RuleSeverity;
16623
+ readonly requires?: ReadonlyArray<Capability>;
16624
+ readonly disabledWhen?: ReadonlyArray<Capability>;
16625
+ readonly tags?: ReadonlyArray<string>;
16626
+ readonly matchByOccurrence?: boolean;
16627
+ readonly defaultEnabled?: boolean;
16628
+ readonly lifecycle?: "retired";
16629
+ readonly scan?: FileScan;
16630
+ readonly committedFilesOnly?: boolean;
16631
+ readonly recommendation?: string;
16632
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16633
+ readonly create: (context: RuleContext) => RuleVisitors;
16634
+ };
16635
+ }, {
16636
+ readonly key: "react-doctor/remotion-deterministic-randomness";
16637
+ readonly id: "remotion-deterministic-randomness";
16638
+ readonly source: "react-doctor";
16639
+ readonly originallyExternal: false;
16640
+ readonly rule: {
16641
+ readonly framework: "global";
16642
+ readonly category: "Bugs";
16643
+ readonly id: string;
16644
+ readonly title?: string;
16645
+ readonly severity: RuleSeverity;
16646
+ readonly requires?: ReadonlyArray<Capability>;
16647
+ readonly disabledWhen?: ReadonlyArray<Capability>;
16648
+ readonly tags?: ReadonlyArray<string>;
16649
+ readonly matchByOccurrence?: boolean;
16650
+ readonly defaultEnabled?: boolean;
16651
+ readonly lifecycle?: "retired";
16652
+ readonly scan?: FileScan;
16653
+ readonly committedFilesOnly?: boolean;
16654
+ readonly recommendation?: string;
16655
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16656
+ readonly create: (context: RuleContext) => RuleVisitors;
16657
+ };
16658
+ }, {
16659
+ readonly key: "react-doctor/remotion-no-css-animation";
16660
+ readonly id: "remotion-no-css-animation";
16661
+ readonly source: "react-doctor";
16662
+ readonly originallyExternal: false;
16663
+ readonly rule: {
16664
+ readonly framework: "global";
16665
+ readonly category: "Bugs";
16666
+ readonly id: string;
16667
+ readonly title?: string;
16668
+ readonly severity: RuleSeverity;
16669
+ readonly requires?: ReadonlyArray<Capability>;
16670
+ readonly disabledWhen?: ReadonlyArray<Capability>;
16671
+ readonly tags?: ReadonlyArray<string>;
16672
+ readonly matchByOccurrence?: boolean;
16673
+ readonly defaultEnabled?: boolean;
16674
+ readonly lifecycle?: "retired";
16675
+ readonly scan?: FileScan;
16676
+ readonly committedFilesOnly?: boolean;
16677
+ readonly recommendation?: string;
16678
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16679
+ readonly create: (context: RuleContext) => RuleVisitors;
16680
+ };
16681
+ }, {
16682
+ readonly key: "react-doctor/remotion-no-css-transition";
16683
+ readonly id: "remotion-no-css-transition";
16684
+ readonly source: "react-doctor";
16685
+ readonly originallyExternal: false;
16686
+ readonly rule: {
16687
+ readonly framework: "global";
16688
+ readonly category: "Bugs";
16689
+ readonly id: string;
16690
+ readonly title?: string;
16691
+ readonly severity: RuleSeverity;
16692
+ readonly requires?: ReadonlyArray<Capability>;
16693
+ readonly disabledWhen?: ReadonlyArray<Capability>;
16694
+ readonly tags?: ReadonlyArray<string>;
16695
+ readonly matchByOccurrence?: boolean;
16696
+ readonly defaultEnabled?: boolean;
16697
+ readonly lifecycle?: "retired";
16698
+ readonly scan?: FileScan;
16699
+ readonly committedFilesOnly?: boolean;
16700
+ readonly recommendation?: string;
16701
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16702
+ readonly create: (context: RuleContext) => RuleVisitors;
16703
+ };
16704
+ }, {
16705
+ readonly key: "react-doctor/remotion-no-css-url-assets";
16706
+ readonly id: "remotion-no-css-url-assets";
16707
+ readonly source: "react-doctor";
16708
+ readonly originallyExternal: false;
16709
+ readonly rule: {
16710
+ readonly framework: "global";
16711
+ readonly category: "Bugs";
16712
+ readonly id: string;
16713
+ readonly title?: string;
16714
+ readonly severity: RuleSeverity;
16715
+ readonly requires?: ReadonlyArray<Capability>;
16716
+ readonly disabledWhen?: ReadonlyArray<Capability>;
16717
+ readonly tags?: ReadonlyArray<string>;
16718
+ readonly matchByOccurrence?: boolean;
16719
+ readonly defaultEnabled?: boolean;
16720
+ readonly lifecycle?: "retired";
16721
+ readonly scan?: FileScan;
16722
+ readonly committedFilesOnly?: boolean;
16723
+ readonly recommendation?: string;
16724
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16725
+ readonly create: (context: RuleContext) => RuleVisitors;
16726
+ };
16727
+ }, {
16728
+ readonly key: "react-doctor/remotion-no-module-scope-delay-render";
16729
+ readonly id: "remotion-no-module-scope-delay-render";
16730
+ readonly source: "react-doctor";
16731
+ readonly originallyExternal: false;
16732
+ readonly rule: {
16733
+ readonly framework: "global";
16734
+ readonly category: "Bugs";
16735
+ readonly id: string;
16736
+ readonly title?: string;
16737
+ readonly severity: RuleSeverity;
16738
+ readonly requires?: ReadonlyArray<Capability>;
16739
+ readonly disabledWhen?: ReadonlyArray<Capability>;
16740
+ readonly tags?: ReadonlyArray<string>;
16741
+ readonly matchByOccurrence?: boolean;
16742
+ readonly defaultEnabled?: boolean;
16743
+ readonly lifecycle?: "retired";
16744
+ readonly scan?: FileScan;
16745
+ readonly committedFilesOnly?: boolean;
16746
+ readonly recommendation?: string;
16747
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16748
+ readonly create: (context: RuleContext) => RuleVisitors;
16749
+ };
16750
+ }, {
16751
+ readonly key: "react-doctor/remotion-no-native-media-elements";
16752
+ readonly id: "remotion-no-native-media-elements";
16753
+ readonly source: "react-doctor";
16754
+ readonly originallyExternal: false;
16755
+ readonly rule: {
16756
+ readonly framework: "global";
16757
+ readonly category: "Bugs";
16758
+ readonly id: string;
16759
+ readonly title?: string;
16760
+ readonly severity: RuleSeverity;
16761
+ readonly requires?: ReadonlyArray<Capability>;
16762
+ readonly disabledWhen?: ReadonlyArray<Capability>;
16763
+ readonly tags?: ReadonlyArray<string>;
16764
+ readonly matchByOccurrence?: boolean;
16765
+ readonly defaultEnabled?: boolean;
16766
+ readonly lifecycle?: "retired";
16767
+ readonly scan?: FileScan;
16768
+ readonly committedFilesOnly?: boolean;
16769
+ readonly recommendation?: string;
16770
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16771
+ readonly create: (context: RuleContext) => RuleVisitors;
16772
+ };
16773
+ }, {
16774
+ readonly key: "react-doctor/remotion-no-next-image";
16775
+ readonly id: "remotion-no-next-image";
16776
+ readonly source: "react-doctor";
16777
+ readonly originallyExternal: false;
16778
+ readonly rule: {
16779
+ readonly framework: "global";
16780
+ readonly category: "Bugs";
16781
+ readonly id: string;
16782
+ readonly title?: string;
16783
+ readonly severity: RuleSeverity;
16784
+ readonly requires?: ReadonlyArray<Capability>;
16785
+ readonly disabledWhen?: ReadonlyArray<Capability>;
16786
+ readonly tags?: ReadonlyArray<string>;
16787
+ readonly matchByOccurrence?: boolean;
16788
+ readonly defaultEnabled?: boolean;
16789
+ readonly lifecycle?: "retired";
16790
+ readonly scan?: FileScan;
16791
+ readonly committedFilesOnly?: boolean;
16792
+ readonly recommendation?: string;
16793
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16794
+ readonly create: (context: RuleContext) => RuleVisitors;
16795
+ };
16796
+ }, {
16797
+ readonly key: "react-doctor/remotion-stable-delay-render-handle";
16798
+ readonly id: "remotion-stable-delay-render-handle";
16799
+ readonly source: "react-doctor";
16800
+ readonly originallyExternal: false;
16801
+ readonly rule: {
16802
+ readonly framework: "global";
16803
+ readonly category: "Bugs";
16804
+ readonly id: string;
16805
+ readonly title?: string;
16806
+ readonly severity: RuleSeverity;
16807
+ readonly requires?: ReadonlyArray<Capability>;
16808
+ readonly disabledWhen?: ReadonlyArray<Capability>;
16809
+ readonly tags?: ReadonlyArray<string>;
16810
+ readonly matchByOccurrence?: boolean;
16811
+ readonly defaultEnabled?: boolean;
16812
+ readonly lifecycle?: "retired";
16813
+ readonly scan?: FileScan;
16814
+ readonly committedFilesOnly?: boolean;
16815
+ readonly recommendation?: string;
16816
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16817
+ readonly create: (context: RuleContext) => RuleVisitors;
16818
+ };
16405
16819
  }, {
16406
16820
  readonly key: "react-doctor/rendering-animate-svg-wrapper";
16407
16821
  readonly id: "rendering-animate-svg-wrapper";
@@ -18587,6 +19001,52 @@ declare const RULES: readonly [{
18587
19001
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
18588
19002
  readonly create: (context: RuleContext) => RuleVisitors;
18589
19003
  };
19004
+ }, {
19005
+ readonly key: "react-doctor/valtio-no-proxy-read-in-render";
19006
+ readonly id: "valtio-no-proxy-read-in-render";
19007
+ readonly source: "react-doctor";
19008
+ readonly originallyExternal: false;
19009
+ readonly rule: {
19010
+ readonly framework: "global";
19011
+ readonly category: "Bugs";
19012
+ readonly requires: readonly Capability[];
19013
+ readonly id: string;
19014
+ readonly title?: string;
19015
+ readonly severity: RuleSeverity;
19016
+ readonly disabledWhen?: ReadonlyArray<Capability>;
19017
+ readonly tags?: ReadonlyArray<string>;
19018
+ readonly matchByOccurrence?: boolean;
19019
+ readonly defaultEnabled?: boolean;
19020
+ readonly lifecycle?: "retired";
19021
+ readonly scan?: FileScan;
19022
+ readonly committedFilesOnly?: boolean;
19023
+ readonly recommendation?: string;
19024
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
19025
+ readonly create: (context: RuleContext) => RuleVisitors;
19026
+ };
19027
+ }, {
19028
+ readonly key: "react-doctor/valtio-no-snapshot-in-callback";
19029
+ readonly id: "valtio-no-snapshot-in-callback";
19030
+ readonly source: "react-doctor";
19031
+ readonly originallyExternal: false;
19032
+ readonly rule: {
19033
+ readonly framework: "global";
19034
+ readonly category: "Bugs";
19035
+ readonly requires: readonly Capability[];
19036
+ readonly id: string;
19037
+ readonly title?: string;
19038
+ readonly severity: RuleSeverity;
19039
+ readonly disabledWhen?: ReadonlyArray<Capability>;
19040
+ readonly tags?: ReadonlyArray<string>;
19041
+ readonly matchByOccurrence?: boolean;
19042
+ readonly defaultEnabled?: boolean;
19043
+ readonly lifecycle?: "retired";
19044
+ readonly scan?: FileScan;
19045
+ readonly committedFilesOnly?: boolean;
19046
+ readonly recommendation?: string;
19047
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
19048
+ readonly create: (context: RuleContext) => RuleVisitors;
19049
+ };
18590
19050
  }, {
18591
19051
  readonly key: "react-doctor/void-dom-elements-no-children";
18592
19052
  readonly id: "void-dom-elements-no-children";
@@ -18748,7 +19208,7 @@ declare const RULES: readonly [{
18748
19208
  }, {
18749
19209
  readonly key: "react-hooks-js/set-state-in-effect";
18750
19210
  readonly source: "react-compiler";
18751
- readonly severity: "error";
19211
+ readonly severity: "warn";
18752
19212
  }, {
18753
19213
  readonly key: "react-hooks-js/globals";
18754
19214
  readonly source: "react-compiler";