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

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 +65 -663
  2. package/dist/index.js +945 -4497
  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";
@@ -9736,7 +9437,7 @@ declare const EXTERNAL_RULES: readonly [{
9736
9437
  }, {
9737
9438
  readonly key: "react-hooks-js/set-state-in-effect";
9738
9439
  readonly source: "react-compiler";
9739
- readonly severity: "warn";
9440
+ readonly severity: "error";
9740
9441
  }, {
9741
9442
  readonly key: "react-hooks-js/globals";
9742
9443
  readonly source: "react-compiler";
@@ -12032,6 +11733,29 @@ declare const RULES: readonly [{
12032
11733
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
12033
11734
  readonly create: (context: RuleContext) => RuleVisitors;
12034
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
+ };
12035
11759
  }, {
12036
11760
  readonly key: "react-doctor/jsx-no-undef";
12037
11761
  readonly id: "jsx-no-undef";
@@ -12246,82 +11970,13 @@ declare const RULES: readonly [{
12246
11970
  readonly originallyExternal: false;
12247
11971
  readonly rule: {
12248
11972
  readonly framework: "global";
12249
- readonly category: "Security";
12250
- readonly tags: readonly string[];
12251
- readonly id: string;
12252
- readonly title?: string;
12253
- readonly severity: RuleSeverity;
12254
- readonly requires?: ReadonlyArray<Capability>;
12255
- readonly disabledWhen?: ReadonlyArray<Capability>;
12256
- readonly matchByOccurrence?: boolean;
12257
- readonly defaultEnabled?: boolean;
12258
- readonly lifecycle?: "retired";
12259
- readonly scan?: FileScan;
12260
- readonly committedFilesOnly?: boolean;
12261
- readonly recommendation?: string;
12262
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
12263
- readonly create: (context: RuleContext) => RuleVisitors;
12264
- };
12265
- }, {
12266
- readonly key: "react-doctor/mcp-tool-capability-risk";
12267
- readonly id: "mcp-tool-capability-risk";
12268
- readonly source: "react-doctor";
12269
- readonly originallyExternal: false;
12270
- readonly rule: {
12271
- readonly framework: "global";
12272
- readonly category: "Security";
12273
- readonly tags: readonly string[];
12274
- readonly id: string;
12275
- readonly title?: string;
12276
- readonly severity: RuleSeverity;
12277
- readonly requires?: ReadonlyArray<Capability>;
12278
- readonly disabledWhen?: ReadonlyArray<Capability>;
12279
- readonly matchByOccurrence?: boolean;
12280
- readonly defaultEnabled?: boolean;
12281
- readonly lifecycle?: "retired";
12282
- readonly scan?: FileScan;
12283
- readonly committedFilesOnly?: boolean;
12284
- readonly recommendation?: string;
12285
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
12286
- readonly create: (context: RuleContext) => RuleVisitors;
12287
- };
12288
- }, {
12289
- readonly key: "react-doctor/mdx-ssr-execution-risk";
12290
- readonly id: "mdx-ssr-execution-risk";
12291
- readonly source: "react-doctor";
12292
- readonly originallyExternal: false;
12293
- readonly rule: {
12294
- readonly framework: "global";
12295
- readonly category: "Security";
12296
- readonly tags: readonly string[];
12297
- readonly id: string;
12298
- readonly title?: string;
12299
- readonly severity: RuleSeverity;
12300
- readonly requires?: ReadonlyArray<Capability>;
12301
- readonly disabledWhen?: ReadonlyArray<Capability>;
12302
- readonly matchByOccurrence?: boolean;
12303
- readonly defaultEnabled?: boolean;
12304
- readonly lifecycle?: "retired";
12305
- readonly scan?: FileScan;
12306
- readonly committedFilesOnly?: boolean;
12307
- readonly recommendation?: string;
12308
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
12309
- readonly create: (context: RuleContext) => RuleVisitors;
12310
- };
12311
- }, {
12312
- readonly key: "react-doctor/media-has-caption";
12313
- readonly id: "media-has-caption";
12314
- readonly source: "react-doctor";
12315
- readonly originallyExternal: true;
12316
- readonly rule: {
12317
- readonly framework: "global";
12318
- readonly category: "Accessibility";
12319
- readonly requires: readonly Capability[];
11973
+ readonly category: "Security";
11974
+ readonly tags: readonly string[];
12320
11975
  readonly id: string;
12321
11976
  readonly title?: string;
12322
11977
  readonly severity: RuleSeverity;
11978
+ readonly requires?: ReadonlyArray<Capability>;
12323
11979
  readonly disabledWhen?: ReadonlyArray<Capability>;
12324
- readonly tags?: ReadonlyArray<string>;
12325
11980
  readonly matchByOccurrence?: boolean;
12326
11981
  readonly defaultEnabled?: boolean;
12327
11982
  readonly lifecycle?: "retired";
@@ -12332,19 +11987,19 @@ declare const RULES: readonly [{
12332
11987
  readonly create: (context: RuleContext) => RuleVisitors;
12333
11988
  };
12334
11989
  }, {
12335
- readonly key: "react-doctor/mobx-no-make-auto-observable-in-inheritance";
12336
- readonly id: "mobx-no-make-auto-observable-in-inheritance";
11990
+ readonly key: "react-doctor/mcp-tool-capability-risk";
11991
+ readonly id: "mcp-tool-capability-risk";
12337
11992
  readonly source: "react-doctor";
12338
11993
  readonly originallyExternal: false;
12339
11994
  readonly rule: {
12340
11995
  readonly framework: "global";
12341
- readonly category: "Bugs";
11996
+ readonly category: "Security";
11997
+ readonly tags: readonly string[];
12342
11998
  readonly id: string;
12343
11999
  readonly title?: string;
12344
12000
  readonly severity: RuleSeverity;
12345
12001
  readonly requires?: ReadonlyArray<Capability>;
12346
12002
  readonly disabledWhen?: ReadonlyArray<Capability>;
12347
- readonly tags?: ReadonlyArray<string>;
12348
12003
  readonly matchByOccurrence?: boolean;
12349
12004
  readonly defaultEnabled?: boolean;
12350
12005
  readonly lifecycle?: "retired";
@@ -12355,19 +12010,19 @@ declare const RULES: readonly [{
12355
12010
  readonly create: (context: RuleContext) => RuleVisitors;
12356
12011
  };
12357
12012
  }, {
12358
- readonly key: "react-doctor/mobx-no-observer-wrapped-memo";
12359
- readonly id: "mobx-no-observer-wrapped-memo";
12013
+ readonly key: "react-doctor/mdx-ssr-execution-risk";
12014
+ readonly id: "mdx-ssr-execution-risk";
12360
12015
  readonly source: "react-doctor";
12361
12016
  readonly originallyExternal: false;
12362
12017
  readonly rule: {
12363
12018
  readonly framework: "global";
12364
- readonly category: "Bugs";
12019
+ readonly category: "Security";
12020
+ readonly tags: readonly string[];
12365
12021
  readonly id: string;
12366
12022
  readonly title?: string;
12367
12023
  readonly severity: RuleSeverity;
12368
12024
  readonly requires?: ReadonlyArray<Capability>;
12369
12025
  readonly disabledWhen?: ReadonlyArray<Capability>;
12370
- readonly tags?: ReadonlyArray<string>;
12371
12026
  readonly matchByOccurrence?: boolean;
12372
12027
  readonly defaultEnabled?: boolean;
12373
12028
  readonly lifecycle?: "retired";
@@ -12378,17 +12033,17 @@ declare const RULES: readonly [{
12378
12033
  readonly create: (context: RuleContext) => RuleVisitors;
12379
12034
  };
12380
12035
  }, {
12381
- readonly key: "react-doctor/mobx-reaction-disposer-discarded";
12382
- readonly id: "mobx-reaction-disposer-discarded";
12036
+ readonly key: "react-doctor/media-has-caption";
12037
+ readonly id: "media-has-caption";
12383
12038
  readonly source: "react-doctor";
12384
- readonly originallyExternal: false;
12039
+ readonly originallyExternal: true;
12385
12040
  readonly rule: {
12386
12041
  readonly framework: "global";
12387
- readonly category: "Bugs";
12042
+ readonly category: "Accessibility";
12043
+ readonly requires: readonly Capability[];
12388
12044
  readonly id: string;
12389
12045
  readonly title?: string;
12390
12046
  readonly severity: RuleSeverity;
12391
- readonly requires?: ReadonlyArray<Capability>;
12392
12047
  readonly disabledWhen?: ReadonlyArray<Capability>;
12393
12048
  readonly tags?: ReadonlyArray<string>;
12394
12049
  readonly matchByOccurrence?: boolean;
@@ -16747,213 +16402,6 @@ declare const RULES: readonly [{
16747
16402
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16748
16403
  readonly create: (context: RuleContext) => RuleVisitors;
16749
16404
  };
16750
- }, {
16751
- readonly key: "react-doctor/remotion-calculate-metadata-fetch-signal";
16752
- readonly id: "remotion-calculate-metadata-fetch-signal";
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-deterministic-randomness";
16775
- readonly id: "remotion-deterministic-randomness";
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-no-css-animation";
16798
- readonly id: "remotion-no-css-animation";
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-transition";
16821
- readonly id: "remotion-no-css-transition";
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-url-assets";
16844
- readonly id: "remotion-no-css-url-assets";
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-module-scope-delay-render";
16867
- readonly id: "remotion-no-module-scope-delay-render";
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-native-media-elements";
16890
- readonly id: "remotion-no-native-media-elements";
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-next-image";
16913
- readonly id: "remotion-no-next-image";
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-stable-delay-render-handle";
16936
- readonly id: "remotion-stable-delay-render-handle";
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
16405
  }, {
16958
16406
  readonly key: "react-doctor/rendering-animate-svg-wrapper";
16959
16407
  readonly id: "rendering-animate-svg-wrapper";
@@ -19139,52 +18587,6 @@ declare const RULES: readonly [{
19139
18587
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
19140
18588
  readonly create: (context: RuleContext) => RuleVisitors;
19141
18589
  };
19142
- }, {
19143
- readonly key: "react-doctor/valtio-no-proxy-read-in-render";
19144
- readonly id: "valtio-no-proxy-read-in-render";
19145
- readonly source: "react-doctor";
19146
- readonly originallyExternal: false;
19147
- readonly rule: {
19148
- readonly framework: "global";
19149
- readonly category: "Bugs";
19150
- readonly requires: readonly Capability[];
19151
- readonly id: string;
19152
- readonly title?: string;
19153
- readonly severity: RuleSeverity;
19154
- readonly disabledWhen?: ReadonlyArray<Capability>;
19155
- readonly tags?: ReadonlyArray<string>;
19156
- readonly matchByOccurrence?: boolean;
19157
- readonly defaultEnabled?: boolean;
19158
- readonly lifecycle?: "retired";
19159
- readonly scan?: FileScan;
19160
- readonly committedFilesOnly?: boolean;
19161
- readonly recommendation?: string;
19162
- readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
19163
- readonly create: (context: RuleContext) => RuleVisitors;
19164
- };
19165
- }, {
19166
- readonly key: "react-doctor/valtio-no-snapshot-in-callback";
19167
- readonly id: "valtio-no-snapshot-in-callback";
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
18590
  }, {
19189
18591
  readonly key: "react-doctor/void-dom-elements-no-children";
19190
18592
  readonly id: "void-dom-elements-no-children";
@@ -19346,7 +18748,7 @@ declare const RULES: readonly [{
19346
18748
  }, {
19347
18749
  readonly key: "react-hooks-js/set-state-in-effect";
19348
18750
  readonly source: "react-compiler";
19349
- readonly severity: "warn";
18751
+ readonly severity: "error";
19350
18752
  }, {
19351
18753
  readonly key: "react-hooks-js/globals";
19352
18754
  readonly source: "react-compiler";