oxlint-plugin-react-doctor 0.8.1-dev.8e5ae45 → 0.8.1-dev.a2f9bf4

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 +49 -693
  2. package/dist/index.js +916 -4593
  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" | "remotion" | "pure-preact" | "react-native" | "server-actions" | "ssr" | "client-only" | "nextjs:static-export" | "nextjs:15" | "tailwind" | "tailwind:3.4" | "zod" | "zod:4" | "mobx" | "mobx-react" | "mobx-react-lite" | "mobx-react-binding" | "mobx-state-tree" | "mobx-react-observer" | "zustand" | "typescript" | "react-compiler" | "tanstack-query" | "valtio" | "pre-es2023" | `react:${number}` | `preact:${number}` | `remotion:${number}` | `valtio:${number}` | `mobx:${number}` | `zustand:${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}`;
104
104
  type CapabilityQuery = (capability: Capability) => boolean;
105
105
  //#endregion
106
106
  //#region src/plugin/utils/file-scan.d.ts
@@ -2421,6 +2421,29 @@ 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
+ };
2424
2447
  }, {
2425
2448
  readonly key: "react-doctor/jsx-no-undef";
2426
2449
  readonly id: "jsx-no-undef";
@@ -2720,75 +2743,6 @@ declare const REACT_DOCTOR_RULES: readonly [{
2720
2743
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
2721
2744
  readonly create: (context: RuleContext) => RuleVisitors;
2722
2745
  };
2723
- }, {
2724
- readonly key: "react-doctor/mobx-no-make-auto-observable-in-inheritance";
2725
- readonly id: "mobx-no-make-auto-observable-in-inheritance";
2726
- readonly source: "react-doctor";
2727
- readonly originallyExternal: false;
2728
- readonly rule: {
2729
- readonly framework: "global";
2730
- readonly category: "Bugs";
2731
- readonly id: string;
2732
- readonly title?: string;
2733
- readonly severity: RuleSeverity;
2734
- readonly requires?: ReadonlyArray<Capability>;
2735
- readonly disabledWhen?: ReadonlyArray<Capability>;
2736
- readonly tags?: ReadonlyArray<string>;
2737
- readonly matchByOccurrence?: boolean;
2738
- readonly defaultEnabled?: boolean;
2739
- readonly lifecycle?: "retired";
2740
- readonly scan?: FileScan;
2741
- readonly committedFilesOnly?: boolean;
2742
- readonly recommendation?: string;
2743
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
2744
- readonly create: (context: RuleContext) => RuleVisitors;
2745
- };
2746
- }, {
2747
- readonly key: "react-doctor/mobx-no-observer-wrapped-memo";
2748
- readonly id: "mobx-no-observer-wrapped-memo";
2749
- readonly source: "react-doctor";
2750
- readonly originallyExternal: false;
2751
- readonly rule: {
2752
- readonly framework: "global";
2753
- readonly category: "Bugs";
2754
- readonly id: string;
2755
- readonly title?: string;
2756
- readonly severity: RuleSeverity;
2757
- readonly requires?: ReadonlyArray<Capability>;
2758
- readonly disabledWhen?: ReadonlyArray<Capability>;
2759
- readonly tags?: ReadonlyArray<string>;
2760
- readonly matchByOccurrence?: boolean;
2761
- readonly defaultEnabled?: boolean;
2762
- readonly lifecycle?: "retired";
2763
- readonly scan?: FileScan;
2764
- readonly committedFilesOnly?: boolean;
2765
- readonly recommendation?: string;
2766
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
2767
- readonly create: (context: RuleContext) => RuleVisitors;
2768
- };
2769
- }, {
2770
- readonly key: "react-doctor/mobx-reaction-disposer-discarded";
2771
- readonly id: "mobx-reaction-disposer-discarded";
2772
- readonly source: "react-doctor";
2773
- readonly originallyExternal: false;
2774
- readonly rule: {
2775
- readonly framework: "global";
2776
- readonly category: "Bugs";
2777
- readonly id: string;
2778
- readonly title?: string;
2779
- readonly severity: RuleSeverity;
2780
- readonly requires?: ReadonlyArray<Capability>;
2781
- readonly disabledWhen?: ReadonlyArray<Capability>;
2782
- readonly tags?: ReadonlyArray<string>;
2783
- readonly matchByOccurrence?: boolean;
2784
- readonly defaultEnabled?: boolean;
2785
- readonly lifecycle?: "retired";
2786
- readonly scan?: FileScan;
2787
- readonly committedFilesOnly?: boolean;
2788
- readonly recommendation?: string;
2789
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
2790
- readonly create: (context: RuleContext) => RuleVisitors;
2791
- };
2792
2746
  }, {
2793
2747
  readonly key: "react-doctor/mouse-events-have-key-events";
2794
2748
  readonly id: "mouse-events-have-key-events";
@@ -7136,213 +7090,6 @@ declare const REACT_DOCTOR_RULES: readonly [{
7136
7090
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
7137
7091
  readonly create: (context: RuleContext) => RuleVisitors;
7138
7092
  };
7139
- }, {
7140
- readonly key: "react-doctor/remotion-calculate-metadata-fetch-signal";
7141
- readonly id: "remotion-calculate-metadata-fetch-signal";
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-deterministic-randomness";
7164
- readonly id: "remotion-deterministic-randomness";
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-css-animation";
7187
- readonly id: "remotion-no-css-animation";
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-css-transition";
7210
- readonly id: "remotion-no-css-transition";
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-css-url-assets";
7233
- readonly id: "remotion-no-css-url-assets";
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-no-module-scope-delay-render";
7256
- readonly id: "remotion-no-module-scope-delay-render";
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
- };
7277
- }, {
7278
- readonly key: "react-doctor/remotion-no-native-media-elements";
7279
- readonly id: "remotion-no-native-media-elements";
7280
- readonly source: "react-doctor";
7281
- readonly originallyExternal: false;
7282
- readonly rule: {
7283
- readonly framework: "global";
7284
- readonly category: "Bugs";
7285
- readonly id: string;
7286
- readonly title?: string;
7287
- readonly severity: RuleSeverity;
7288
- readonly requires?: ReadonlyArray<Capability>;
7289
- readonly disabledWhen?: ReadonlyArray<Capability>;
7290
- readonly tags?: ReadonlyArray<string>;
7291
- readonly matchByOccurrence?: boolean;
7292
- readonly defaultEnabled?: boolean;
7293
- readonly lifecycle?: "retired";
7294
- readonly scan?: FileScan;
7295
- readonly committedFilesOnly?: boolean;
7296
- readonly recommendation?: string;
7297
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
7298
- readonly create: (context: RuleContext) => RuleVisitors;
7299
- };
7300
- }, {
7301
- readonly key: "react-doctor/remotion-no-next-image";
7302
- readonly id: "remotion-no-next-image";
7303
- readonly source: "react-doctor";
7304
- readonly originallyExternal: false;
7305
- readonly rule: {
7306
- readonly framework: "global";
7307
- readonly category: "Bugs";
7308
- readonly id: string;
7309
- readonly title?: string;
7310
- readonly severity: RuleSeverity;
7311
- readonly requires?: ReadonlyArray<Capability>;
7312
- readonly disabledWhen?: ReadonlyArray<Capability>;
7313
- readonly tags?: ReadonlyArray<string>;
7314
- readonly matchByOccurrence?: boolean;
7315
- readonly defaultEnabled?: boolean;
7316
- readonly lifecycle?: "retired";
7317
- readonly scan?: FileScan;
7318
- readonly committedFilesOnly?: boolean;
7319
- readonly recommendation?: string;
7320
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
7321
- readonly create: (context: RuleContext) => RuleVisitors;
7322
- };
7323
- }, {
7324
- readonly key: "react-doctor/remotion-stable-delay-render-handle";
7325
- readonly id: "remotion-stable-delay-render-handle";
7326
- readonly source: "react-doctor";
7327
- readonly originallyExternal: false;
7328
- readonly rule: {
7329
- readonly framework: "global";
7330
- readonly category: "Bugs";
7331
- readonly id: string;
7332
- readonly title?: string;
7333
- readonly severity: RuleSeverity;
7334
- readonly requires?: ReadonlyArray<Capability>;
7335
- readonly disabledWhen?: ReadonlyArray<Capability>;
7336
- readonly tags?: ReadonlyArray<string>;
7337
- readonly matchByOccurrence?: boolean;
7338
- readonly defaultEnabled?: boolean;
7339
- readonly lifecycle?: "retired";
7340
- readonly scan?: FileScan;
7341
- readonly committedFilesOnly?: boolean;
7342
- readonly recommendation?: string;
7343
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
7344
- readonly create: (context: RuleContext) => RuleVisitors;
7345
- };
7346
7093
  }, {
7347
7094
  readonly key: "react-doctor/rendering-animate-svg-wrapper";
7348
7095
  readonly id: "rendering-animate-svg-wrapper";
@@ -9528,52 +9275,6 @@ declare const REACT_DOCTOR_RULES: readonly [{
9528
9275
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
9529
9276
  readonly create: (context: RuleContext) => RuleVisitors;
9530
9277
  };
9531
- }, {
9532
- readonly key: "react-doctor/valtio-no-proxy-read-in-render";
9533
- readonly id: "valtio-no-proxy-read-in-render";
9534
- readonly source: "react-doctor";
9535
- readonly originallyExternal: false;
9536
- readonly rule: {
9537
- readonly framework: "global";
9538
- readonly category: "Bugs";
9539
- readonly requires: readonly Capability[];
9540
- readonly id: string;
9541
- readonly title?: string;
9542
- readonly severity: RuleSeverity;
9543
- readonly disabledWhen?: ReadonlyArray<Capability>;
9544
- readonly tags?: ReadonlyArray<string>;
9545
- readonly matchByOccurrence?: boolean;
9546
- readonly defaultEnabled?: boolean;
9547
- readonly lifecycle?: "retired";
9548
- readonly scan?: FileScan;
9549
- readonly committedFilesOnly?: boolean;
9550
- readonly recommendation?: string;
9551
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
9552
- readonly create: (context: RuleContext) => RuleVisitors;
9553
- };
9554
- }, {
9555
- readonly key: "react-doctor/valtio-no-snapshot-in-callback";
9556
- readonly id: "valtio-no-snapshot-in-callback";
9557
- readonly source: "react-doctor";
9558
- readonly originallyExternal: false;
9559
- readonly rule: {
9560
- readonly framework: "global";
9561
- readonly category: "Bugs";
9562
- readonly requires: readonly Capability[];
9563
- readonly id: string;
9564
- readonly title?: string;
9565
- readonly severity: RuleSeverity;
9566
- readonly disabledWhen?: ReadonlyArray<Capability>;
9567
- readonly tags?: ReadonlyArray<string>;
9568
- readonly matchByOccurrence?: boolean;
9569
- readonly defaultEnabled?: boolean;
9570
- readonly lifecycle?: "retired";
9571
- readonly scan?: FileScan;
9572
- readonly committedFilesOnly?: boolean;
9573
- readonly recommendation?: string;
9574
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
9575
- readonly create: (context: RuleContext) => RuleVisitors;
9576
- };
9577
9278
  }, {
9578
9279
  readonly key: "react-doctor/void-dom-elements-no-children";
9579
9280
  readonly id: "void-dom-elements-no-children";
@@ -9712,29 +9413,6 @@ declare const REACT_DOCTOR_RULES: readonly [{
9712
9413
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
9713
9414
  readonly create: (context: RuleContext) => RuleVisitors;
9714
9415
  };
9715
- }, {
9716
- readonly key: "react-doctor/zustand-no-fresh-selector-result";
9717
- readonly id: "zustand-no-fresh-selector-result";
9718
- readonly source: "react-doctor";
9719
- readonly originallyExternal: false;
9720
- readonly rule: {
9721
- readonly framework: "global";
9722
- readonly category: "Performance";
9723
- readonly requires: readonly Capability[];
9724
- readonly id: string;
9725
- readonly title?: string;
9726
- readonly severity: RuleSeverity;
9727
- readonly disabledWhen?: ReadonlyArray<Capability>;
9728
- readonly tags?: ReadonlyArray<string>;
9729
- readonly matchByOccurrence?: boolean;
9730
- readonly defaultEnabled?: boolean;
9731
- readonly lifecycle?: "retired";
9732
- readonly scan?: FileScan;
9733
- readonly committedFilesOnly?: boolean;
9734
- readonly recommendation?: string;
9735
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
9736
- readonly create: (context: RuleContext) => RuleVisitors;
9737
- };
9738
9416
  }];
9739
9417
  declare const EXTERNAL_RULES: readonly [{
9740
9418
  readonly key: "react-hooks-js/set-state-in-render";
@@ -12055,6 +11733,29 @@ declare const RULES: readonly [{
12055
11733
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
12056
11734
  readonly create: (context: RuleContext) => RuleVisitors;
12057
11735
  };
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
+ };
12058
11759
  }, {
12059
11760
  readonly key: "react-doctor/jsx-no-undef";
12060
11761
  readonly id: "jsx-no-undef";
@@ -12338,80 +12039,11 @@ declare const RULES: readonly [{
12338
12039
  readonly originallyExternal: true;
12339
12040
  readonly rule: {
12340
12041
  readonly framework: "global";
12341
- readonly category: "Accessibility";
12342
- readonly requires: readonly Capability[];
12343
- readonly id: string;
12344
- readonly title?: string;
12345
- readonly severity: RuleSeverity;
12346
- readonly disabledWhen?: ReadonlyArray<Capability>;
12347
- readonly tags?: ReadonlyArray<string>;
12348
- readonly matchByOccurrence?: boolean;
12349
- readonly defaultEnabled?: boolean;
12350
- readonly lifecycle?: "retired";
12351
- readonly scan?: FileScan;
12352
- readonly committedFilesOnly?: boolean;
12353
- readonly recommendation?: string;
12354
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
12355
- readonly create: (context: RuleContext) => RuleVisitors;
12356
- };
12357
- }, {
12358
- readonly key: "react-doctor/mobx-no-make-auto-observable-in-inheritance";
12359
- readonly id: "mobx-no-make-auto-observable-in-inheritance";
12360
- readonly source: "react-doctor";
12361
- readonly originallyExternal: false;
12362
- readonly rule: {
12363
- readonly framework: "global";
12364
- readonly category: "Bugs";
12365
- readonly id: string;
12366
- readonly title?: string;
12367
- readonly severity: RuleSeverity;
12368
- readonly requires?: ReadonlyArray<Capability>;
12369
- readonly disabledWhen?: ReadonlyArray<Capability>;
12370
- readonly tags?: ReadonlyArray<string>;
12371
- readonly matchByOccurrence?: boolean;
12372
- readonly defaultEnabled?: boolean;
12373
- readonly lifecycle?: "retired";
12374
- readonly scan?: FileScan;
12375
- readonly committedFilesOnly?: boolean;
12376
- readonly recommendation?: string;
12377
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
12378
- readonly create: (context: RuleContext) => RuleVisitors;
12379
- };
12380
- }, {
12381
- readonly key: "react-doctor/mobx-no-observer-wrapped-memo";
12382
- readonly id: "mobx-no-observer-wrapped-memo";
12383
- readonly source: "react-doctor";
12384
- readonly originallyExternal: false;
12385
- readonly rule: {
12386
- readonly framework: "global";
12387
- readonly category: "Bugs";
12388
- readonly id: string;
12389
- readonly title?: string;
12390
- readonly severity: RuleSeverity;
12391
- readonly requires?: ReadonlyArray<Capability>;
12392
- readonly disabledWhen?: ReadonlyArray<Capability>;
12393
- readonly tags?: ReadonlyArray<string>;
12394
- readonly matchByOccurrence?: boolean;
12395
- readonly defaultEnabled?: boolean;
12396
- readonly lifecycle?: "retired";
12397
- readonly scan?: FileScan;
12398
- readonly committedFilesOnly?: boolean;
12399
- readonly recommendation?: string;
12400
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
12401
- readonly create: (context: RuleContext) => RuleVisitors;
12402
- };
12403
- }, {
12404
- readonly key: "react-doctor/mobx-reaction-disposer-discarded";
12405
- readonly id: "mobx-reaction-disposer-discarded";
12406
- readonly source: "react-doctor";
12407
- readonly originallyExternal: false;
12408
- readonly rule: {
12409
- readonly framework: "global";
12410
- readonly category: "Bugs";
12042
+ readonly category: "Accessibility";
12043
+ readonly requires: readonly Capability[];
12411
12044
  readonly id: string;
12412
12045
  readonly title?: string;
12413
12046
  readonly severity: RuleSeverity;
12414
- readonly requires?: ReadonlyArray<Capability>;
12415
12047
  readonly disabledWhen?: ReadonlyArray<Capability>;
12416
12048
  readonly tags?: ReadonlyArray<string>;
12417
12049
  readonly matchByOccurrence?: boolean;
@@ -16770,213 +16402,6 @@ declare const RULES: readonly [{
16770
16402
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16771
16403
  readonly create: (context: RuleContext) => RuleVisitors;
16772
16404
  };
16773
- }, {
16774
- readonly key: "react-doctor/remotion-calculate-metadata-fetch-signal";
16775
- readonly id: "remotion-calculate-metadata-fetch-signal";
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-deterministic-randomness";
16798
- readonly id: "remotion-deterministic-randomness";
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
- };
16819
- }, {
16820
- readonly key: "react-doctor/remotion-no-css-animation";
16821
- readonly id: "remotion-no-css-animation";
16822
- readonly source: "react-doctor";
16823
- readonly originallyExternal: false;
16824
- readonly rule: {
16825
- readonly framework: "global";
16826
- readonly category: "Bugs";
16827
- readonly id: string;
16828
- readonly title?: string;
16829
- readonly severity: RuleSeverity;
16830
- readonly requires?: ReadonlyArray<Capability>;
16831
- readonly disabledWhen?: ReadonlyArray<Capability>;
16832
- readonly tags?: ReadonlyArray<string>;
16833
- readonly matchByOccurrence?: boolean;
16834
- readonly defaultEnabled?: boolean;
16835
- readonly lifecycle?: "retired";
16836
- readonly scan?: FileScan;
16837
- readonly committedFilesOnly?: boolean;
16838
- readonly recommendation?: string;
16839
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16840
- readonly create: (context: RuleContext) => RuleVisitors;
16841
- };
16842
- }, {
16843
- readonly key: "react-doctor/remotion-no-css-transition";
16844
- readonly id: "remotion-no-css-transition";
16845
- readonly source: "react-doctor";
16846
- readonly originallyExternal: false;
16847
- readonly rule: {
16848
- readonly framework: "global";
16849
- readonly category: "Bugs";
16850
- readonly id: string;
16851
- readonly title?: string;
16852
- readonly severity: RuleSeverity;
16853
- readonly requires?: ReadonlyArray<Capability>;
16854
- readonly disabledWhen?: ReadonlyArray<Capability>;
16855
- readonly tags?: ReadonlyArray<string>;
16856
- readonly matchByOccurrence?: boolean;
16857
- readonly defaultEnabled?: boolean;
16858
- readonly lifecycle?: "retired";
16859
- readonly scan?: FileScan;
16860
- readonly committedFilesOnly?: boolean;
16861
- readonly recommendation?: string;
16862
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16863
- readonly create: (context: RuleContext) => RuleVisitors;
16864
- };
16865
- }, {
16866
- readonly key: "react-doctor/remotion-no-css-url-assets";
16867
- readonly id: "remotion-no-css-url-assets";
16868
- readonly source: "react-doctor";
16869
- readonly originallyExternal: false;
16870
- readonly rule: {
16871
- readonly framework: "global";
16872
- readonly category: "Bugs";
16873
- readonly id: string;
16874
- readonly title?: string;
16875
- readonly severity: RuleSeverity;
16876
- readonly requires?: ReadonlyArray<Capability>;
16877
- readonly disabledWhen?: ReadonlyArray<Capability>;
16878
- readonly tags?: ReadonlyArray<string>;
16879
- readonly matchByOccurrence?: boolean;
16880
- readonly defaultEnabled?: boolean;
16881
- readonly lifecycle?: "retired";
16882
- readonly scan?: FileScan;
16883
- readonly committedFilesOnly?: boolean;
16884
- readonly recommendation?: string;
16885
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16886
- readonly create: (context: RuleContext) => RuleVisitors;
16887
- };
16888
- }, {
16889
- readonly key: "react-doctor/remotion-no-module-scope-delay-render";
16890
- readonly id: "remotion-no-module-scope-delay-render";
16891
- readonly source: "react-doctor";
16892
- readonly originallyExternal: false;
16893
- readonly rule: {
16894
- readonly framework: "global";
16895
- readonly category: "Bugs";
16896
- readonly id: string;
16897
- readonly title?: string;
16898
- readonly severity: RuleSeverity;
16899
- readonly requires?: ReadonlyArray<Capability>;
16900
- readonly disabledWhen?: ReadonlyArray<Capability>;
16901
- readonly tags?: ReadonlyArray<string>;
16902
- readonly matchByOccurrence?: boolean;
16903
- readonly defaultEnabled?: boolean;
16904
- readonly lifecycle?: "retired";
16905
- readonly scan?: FileScan;
16906
- readonly committedFilesOnly?: boolean;
16907
- readonly recommendation?: string;
16908
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16909
- readonly create: (context: RuleContext) => RuleVisitors;
16910
- };
16911
- }, {
16912
- readonly key: "react-doctor/remotion-no-native-media-elements";
16913
- readonly id: "remotion-no-native-media-elements";
16914
- readonly source: "react-doctor";
16915
- readonly originallyExternal: false;
16916
- readonly rule: {
16917
- readonly framework: "global";
16918
- readonly category: "Bugs";
16919
- readonly id: string;
16920
- readonly title?: string;
16921
- readonly severity: RuleSeverity;
16922
- readonly requires?: ReadonlyArray<Capability>;
16923
- readonly disabledWhen?: ReadonlyArray<Capability>;
16924
- readonly tags?: ReadonlyArray<string>;
16925
- readonly matchByOccurrence?: boolean;
16926
- readonly defaultEnabled?: boolean;
16927
- readonly lifecycle?: "retired";
16928
- readonly scan?: FileScan;
16929
- readonly committedFilesOnly?: boolean;
16930
- readonly recommendation?: string;
16931
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16932
- readonly create: (context: RuleContext) => RuleVisitors;
16933
- };
16934
- }, {
16935
- readonly key: "react-doctor/remotion-no-next-image";
16936
- readonly id: "remotion-no-next-image";
16937
- readonly source: "react-doctor";
16938
- readonly originallyExternal: false;
16939
- readonly rule: {
16940
- readonly framework: "global";
16941
- readonly category: "Bugs";
16942
- readonly id: string;
16943
- readonly title?: string;
16944
- readonly severity: RuleSeverity;
16945
- readonly requires?: ReadonlyArray<Capability>;
16946
- readonly disabledWhen?: ReadonlyArray<Capability>;
16947
- readonly tags?: ReadonlyArray<string>;
16948
- readonly matchByOccurrence?: boolean;
16949
- readonly defaultEnabled?: boolean;
16950
- readonly lifecycle?: "retired";
16951
- readonly scan?: FileScan;
16952
- readonly committedFilesOnly?: boolean;
16953
- readonly recommendation?: string;
16954
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16955
- readonly create: (context: RuleContext) => RuleVisitors;
16956
- };
16957
- }, {
16958
- readonly key: "react-doctor/remotion-stable-delay-render-handle";
16959
- readonly id: "remotion-stable-delay-render-handle";
16960
- readonly source: "react-doctor";
16961
- readonly originallyExternal: false;
16962
- readonly rule: {
16963
- readonly framework: "global";
16964
- readonly category: "Bugs";
16965
- readonly id: string;
16966
- readonly title?: string;
16967
- readonly severity: RuleSeverity;
16968
- readonly requires?: ReadonlyArray<Capability>;
16969
- readonly disabledWhen?: ReadonlyArray<Capability>;
16970
- readonly tags?: ReadonlyArray<string>;
16971
- readonly matchByOccurrence?: boolean;
16972
- readonly defaultEnabled?: boolean;
16973
- readonly lifecycle?: "retired";
16974
- readonly scan?: FileScan;
16975
- readonly committedFilesOnly?: boolean;
16976
- readonly recommendation?: string;
16977
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16978
- readonly create: (context: RuleContext) => RuleVisitors;
16979
- };
16980
16405
  }, {
16981
16406
  readonly key: "react-doctor/rendering-animate-svg-wrapper";
16982
16407
  readonly id: "rendering-animate-svg-wrapper";
@@ -19162,52 +18587,6 @@ declare const RULES: readonly [{
19162
18587
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
19163
18588
  readonly create: (context: RuleContext) => RuleVisitors;
19164
18589
  };
19165
- }, {
19166
- readonly key: "react-doctor/valtio-no-proxy-read-in-render";
19167
- readonly id: "valtio-no-proxy-read-in-render";
19168
- readonly source: "react-doctor";
19169
- readonly originallyExternal: false;
19170
- readonly rule: {
19171
- readonly framework: "global";
19172
- readonly category: "Bugs";
19173
- readonly requires: readonly Capability[];
19174
- readonly id: string;
19175
- readonly title?: string;
19176
- readonly severity: RuleSeverity;
19177
- readonly disabledWhen?: ReadonlyArray<Capability>;
19178
- readonly tags?: ReadonlyArray<string>;
19179
- readonly matchByOccurrence?: boolean;
19180
- readonly defaultEnabled?: boolean;
19181
- readonly lifecycle?: "retired";
19182
- readonly scan?: FileScan;
19183
- readonly committedFilesOnly?: boolean;
19184
- readonly recommendation?: string;
19185
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
19186
- readonly create: (context: RuleContext) => RuleVisitors;
19187
- };
19188
- }, {
19189
- readonly key: "react-doctor/valtio-no-snapshot-in-callback";
19190
- readonly id: "valtio-no-snapshot-in-callback";
19191
- readonly source: "react-doctor";
19192
- readonly originallyExternal: false;
19193
- readonly rule: {
19194
- readonly framework: "global";
19195
- readonly category: "Bugs";
19196
- readonly requires: readonly Capability[];
19197
- readonly id: string;
19198
- readonly title?: string;
19199
- readonly severity: RuleSeverity;
19200
- readonly disabledWhen?: ReadonlyArray<Capability>;
19201
- readonly tags?: ReadonlyArray<string>;
19202
- readonly matchByOccurrence?: boolean;
19203
- readonly defaultEnabled?: boolean;
19204
- readonly lifecycle?: "retired";
19205
- readonly scan?: FileScan;
19206
- readonly committedFilesOnly?: boolean;
19207
- readonly recommendation?: string;
19208
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
19209
- readonly create: (context: RuleContext) => RuleVisitors;
19210
- };
19211
18590
  }, {
19212
18591
  readonly key: "react-doctor/void-dom-elements-no-children";
19213
18592
  readonly id: "void-dom-elements-no-children";
@@ -19346,29 +18725,6 @@ declare const RULES: readonly [{
19346
18725
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
19347
18726
  readonly create: (context: RuleContext) => RuleVisitors;
19348
18727
  };
19349
- }, {
19350
- readonly key: "react-doctor/zustand-no-fresh-selector-result";
19351
- readonly id: "zustand-no-fresh-selector-result";
19352
- readonly source: "react-doctor";
19353
- readonly originallyExternal: false;
19354
- readonly rule: {
19355
- readonly framework: "global";
19356
- readonly category: "Performance";
19357
- readonly requires: readonly Capability[];
19358
- readonly id: string;
19359
- readonly title?: string;
19360
- readonly severity: RuleSeverity;
19361
- readonly disabledWhen?: ReadonlyArray<Capability>;
19362
- readonly tags?: ReadonlyArray<string>;
19363
- readonly matchByOccurrence?: boolean;
19364
- readonly defaultEnabled?: boolean;
19365
- readonly lifecycle?: "retired";
19366
- readonly scan?: FileScan;
19367
- readonly committedFilesOnly?: boolean;
19368
- readonly recommendation?: string;
19369
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
19370
- readonly create: (context: RuleContext) => RuleVisitors;
19371
- };
19372
18728
  }, {
19373
18729
  readonly key: "react-hooks-js/set-state-in-render";
19374
18730
  readonly source: "react-compiler";