oxlint-plugin-react-doctor 0.9.0-dev.db9d300 → 0.9.1-dev.1aa6b12

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 +777 -57
  2. package/dist/index.js +6721 -1026
  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" | "nextjs:16" | "tailwind" | "tailwind:3.4" | "tailwind:4" | "zod" | "zod:4" | "mobx" | "mobx-react" | "mobx-react-lite" | "mobx-react-binding" | "mobx-react-binding-observer-memo-guard" | "mobx-react-observer-memo-guard" | "mobx-react-lite-observer-memo-guard" | "mobx-state-tree" | "mobx-react-observer" | "zustand" | "typescript" | "react-compiler" | "tanstack-query" | "valtio" | "i18n" | "styled-components" | "styled-components:6" | "three" | "r3f" | "react-router" | "react-router-framework" | "react-router:6.4" | "react-router:6.7" | "react-router:6.9" | "react-router:6.19" | "react-router:7" | "react-router:7.8" | "react-router:7.9" | "react-router:7.10" | "react-router:7.15" | "react-router:8" | "pre-es2023" | "target-blank-needs-explicit-protection" | "target-blank-needs-noreferrer" | `react:${number}` | `preact:${number}` | `remotion:${number}` | `valtio:${number}` | `mobx:${number}` | `zustand:${number}` | `three:${number}` | `r3f:${number}`;
103
+ type Capability = FrameworkToken | "react" | "remotion" | "pure-preact" | "react-native" | "server-actions" | "ssr" | "client-only" | "expo:54" | "nextjs:static-export" | "nextjs:15" | "nextjs:16" | "tailwind" | "tailwind:3.4" | "tailwind:4" | "zod" | "zod:4" | "mobx" | "mobx-react" | "mobx-react-lite" | "mobx-react-binding" | "mobx-react-binding-observer-memo-guard" | "mobx-react-observer-memo-guard" | "mobx-react-lite-observer-memo-guard" | "mobx-state-tree" | "mobx-react-observer" | "zustand" | "typescript" | "react-compiler" | "reanimated" | "reanimated:4" | "tanstack-query" | "valtio" | "i18n" | "styled-components" | "styled-components:6" | "three" | "r3f" | "react-router" | "react-router-framework" | "react-router:6.4" | "react-router:6.7" | "react-router:6.9" | "react-router:6.19" | "react-router:7" | "react-router:7.8" | "react-router:7.9" | "react-router:7.10" | "react-router:7.15" | "react-router:8" | "pre-es2023" | "target-blank-needs-explicit-protection" | "target-blank-needs-noreferrer" | `react:${number}` | `preact:${number}` | `remotion:${number}` | `valtio:${number}` | `mobx:${number}` | `zustand:${number}` | `three:${number}` | `r3f:${number}`;
104
104
  type CapabilityQuery = (capability: Capability) => boolean;
105
105
  //#endregion
106
106
  //#region src/plugin/utils/file-scan.d.ts
@@ -5208,6 +5208,30 @@ declare const REACT_DOCTOR_RULES: readonly [{
5208
5208
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
5209
5209
  readonly create: (context: RuleContext) => RuleVisitors;
5210
5210
  };
5211
+ }, {
5212
+ readonly key: "react-doctor/no-auto-scrolling-content";
5213
+ readonly id: "no-auto-scrolling-content";
5214
+ readonly source: "react-doctor";
5215
+ readonly originallyExternal: false;
5216
+ readonly rule: {
5217
+ readonly framework: "global";
5218
+ readonly category: "Maintainability";
5219
+ readonly tags: readonly string[];
5220
+ readonly id: string;
5221
+ readonly title?: string;
5222
+ readonly severity: RuleSeverity;
5223
+ readonly requires?: ReadonlyArray<Capability>;
5224
+ readonly minimumInkVersion?: string;
5225
+ readonly disabledWhen?: ReadonlyArray<Capability>;
5226
+ readonly matchByOccurrence?: boolean;
5227
+ readonly defaultEnabled?: boolean;
5228
+ readonly lifecycle?: "retired";
5229
+ readonly scan?: FileScan;
5230
+ readonly committedFilesOnly?: boolean;
5231
+ readonly recommendation?: string;
5232
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
5233
+ readonly create: (context: RuleContext) => RuleVisitors;
5234
+ };
5211
5235
  }, {
5212
5236
  readonly key: "react-doctor/no-autofocus";
5213
5237
  readonly id: "no-autofocus";
@@ -5928,6 +5952,30 @@ declare const REACT_DOCTOR_RULES: readonly [{
5928
5952
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
5929
5953
  readonly create: (context: RuleContext) => RuleVisitors;
5930
5954
  };
5955
+ }, {
5956
+ readonly key: "react-doctor/no-decorative-radial-spotlight";
5957
+ readonly id: "no-decorative-radial-spotlight";
5958
+ readonly source: "react-doctor";
5959
+ readonly originallyExternal: false;
5960
+ readonly rule: {
5961
+ readonly framework: "global";
5962
+ readonly category: "Maintainability";
5963
+ readonly tags: readonly string[];
5964
+ readonly id: string;
5965
+ readonly title?: string;
5966
+ readonly severity: RuleSeverity;
5967
+ readonly requires?: ReadonlyArray<Capability>;
5968
+ readonly minimumInkVersion?: string;
5969
+ readonly disabledWhen?: ReadonlyArray<Capability>;
5970
+ readonly matchByOccurrence?: boolean;
5971
+ readonly defaultEnabled?: boolean;
5972
+ readonly lifecycle?: "retired";
5973
+ readonly scan?: FileScan;
5974
+ readonly committedFilesOnly?: boolean;
5975
+ readonly recommendation?: string;
5976
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
5977
+ readonly create: (context: RuleContext) => RuleVisitors;
5978
+ };
5931
5979
  }, {
5932
5980
  readonly key: "react-doctor/no-default-props";
5933
5981
  readonly id: "no-default-props";
@@ -9096,6 +9144,30 @@ declare const REACT_DOCTOR_RULES: readonly [{
9096
9144
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
9097
9145
  readonly create: (context: RuleContext) => RuleVisitors;
9098
9146
  };
9147
+ }, {
9148
+ readonly key: "react-doctor/no-path-prefix-containment";
9149
+ readonly id: "no-path-prefix-containment";
9150
+ readonly source: "react-doctor";
9151
+ readonly originallyExternal: false;
9152
+ readonly rule: {
9153
+ readonly framework: "global";
9154
+ readonly category: "Security";
9155
+ readonly id: string;
9156
+ readonly title?: string;
9157
+ readonly severity: RuleSeverity;
9158
+ readonly requires?: ReadonlyArray<Capability>;
9159
+ readonly minimumInkVersion?: string;
9160
+ readonly disabledWhen?: ReadonlyArray<Capability>;
9161
+ readonly tags?: ReadonlyArray<string>;
9162
+ readonly matchByOccurrence?: boolean;
9163
+ readonly defaultEnabled?: boolean;
9164
+ readonly lifecycle?: "retired";
9165
+ readonly scan?: FileScan;
9166
+ readonly committedFilesOnly?: boolean;
9167
+ readonly recommendation?: string;
9168
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
9169
+ readonly create: (context: RuleContext) => RuleVisitors;
9170
+ };
9099
9171
  }, {
9100
9172
  readonly key: "react-doctor/no-permanent-will-change";
9101
9173
  readonly id: "no-permanent-will-change";
@@ -9408,6 +9480,30 @@ declare const REACT_DOCTOR_RULES: readonly [{
9408
9480
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
9409
9481
  readonly create: (context: RuleContext) => RuleVisitors;
9410
9482
  };
9483
+ }, {
9484
+ readonly key: "react-doctor/no-pulsing-status-dot";
9485
+ readonly id: "no-pulsing-status-dot";
9486
+ readonly source: "react-doctor";
9487
+ readonly originallyExternal: false;
9488
+ readonly rule: {
9489
+ readonly framework: "global";
9490
+ readonly category: "Maintainability";
9491
+ readonly tags: readonly string[];
9492
+ readonly id: string;
9493
+ readonly title?: string;
9494
+ readonly severity: RuleSeverity;
9495
+ readonly requires?: ReadonlyArray<Capability>;
9496
+ readonly minimumInkVersion?: string;
9497
+ readonly disabledWhen?: ReadonlyArray<Capability>;
9498
+ readonly matchByOccurrence?: boolean;
9499
+ readonly defaultEnabled?: boolean;
9500
+ readonly lifecycle?: "retired";
9501
+ readonly scan?: FileScan;
9502
+ readonly committedFilesOnly?: boolean;
9503
+ readonly recommendation?: string;
9504
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
9505
+ readonly create: (context: RuleContext) => RuleVisitors;
9506
+ };
9411
9507
  }, {
9412
9508
  readonly key: "react-doctor/no-pure-black-background";
9413
9509
  readonly id: "no-pure-black-background";
@@ -9456,6 +9552,30 @@ declare const REACT_DOCTOR_RULES: readonly [{
9456
9552
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
9457
9553
  readonly create: (context: RuleContext) => RuleVisitors;
9458
9554
  };
9555
+ }, {
9556
+ readonly key: "react-doctor/no-radial-halo";
9557
+ readonly id: "no-radial-halo";
9558
+ readonly source: "react-doctor";
9559
+ readonly originallyExternal: false;
9560
+ readonly rule: {
9561
+ readonly framework: "global";
9562
+ readonly category: "Maintainability";
9563
+ readonly tags: readonly string[];
9564
+ readonly id: string;
9565
+ readonly title?: string;
9566
+ readonly severity: RuleSeverity;
9567
+ readonly requires?: ReadonlyArray<Capability>;
9568
+ readonly minimumInkVersion?: string;
9569
+ readonly disabledWhen?: ReadonlyArray<Capability>;
9570
+ readonly matchByOccurrence?: boolean;
9571
+ readonly defaultEnabled?: boolean;
9572
+ readonly lifecycle?: "retired";
9573
+ readonly scan?: FileScan;
9574
+ readonly committedFilesOnly?: boolean;
9575
+ readonly recommendation?: string;
9576
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
9577
+ readonly create: (context: RuleContext) => RuleVisitors;
9578
+ };
9459
9579
  }, {
9460
9580
  readonly key: "react-doctor/no-random-key";
9461
9581
  readonly id: "no-random-key";
@@ -9792,6 +9912,30 @@ declare const REACT_DOCTOR_RULES: readonly [{
9792
9912
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
9793
9913
  readonly create: (context: RuleContext) => RuleVisitors;
9794
9914
  };
9915
+ }, {
9916
+ readonly key: "react-doctor/no-repeated-container-text";
9917
+ readonly id: "no-repeated-container-text";
9918
+ readonly source: "react-doctor";
9919
+ readonly originallyExternal: false;
9920
+ readonly rule: {
9921
+ readonly framework: "global";
9922
+ readonly category: "Maintainability";
9923
+ readonly tags: readonly string[];
9924
+ readonly id: string;
9925
+ readonly title?: string;
9926
+ readonly severity: RuleSeverity;
9927
+ readonly requires?: ReadonlyArray<Capability>;
9928
+ readonly minimumInkVersion?: string;
9929
+ readonly disabledWhen?: ReadonlyArray<Capability>;
9930
+ readonly matchByOccurrence?: boolean;
9931
+ readonly defaultEnabled?: boolean;
9932
+ readonly lifecycle?: "retired";
9933
+ readonly scan?: FileScan;
9934
+ readonly committedFilesOnly?: boolean;
9935
+ readonly recommendation?: string;
9936
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
9937
+ readonly create: (context: RuleContext) => RuleVisitors;
9938
+ };
9795
9939
  }, {
9796
9940
  readonly key: "react-doctor/no-repeated-emoji-tiles";
9797
9941
  readonly id: "no-repeated-emoji-tiles";
@@ -10176,6 +10320,30 @@ declare const REACT_DOCTOR_RULES: readonly [{
10176
10320
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
10177
10321
  readonly create: (context: RuleContext) => RuleVisitors;
10178
10322
  };
10323
+ }, {
10324
+ readonly key: "react-doctor/no-shape-assembled-illustration";
10325
+ readonly id: "no-shape-assembled-illustration";
10326
+ readonly source: "react-doctor";
10327
+ readonly originallyExternal: false;
10328
+ readonly rule: {
10329
+ readonly framework: "global";
10330
+ readonly category: "Maintainability";
10331
+ readonly tags: readonly string[];
10332
+ readonly id: string;
10333
+ readonly title?: string;
10334
+ readonly severity: RuleSeverity;
10335
+ readonly requires?: ReadonlyArray<Capability>;
10336
+ readonly minimumInkVersion?: string;
10337
+ readonly disabledWhen?: ReadonlyArray<Capability>;
10338
+ readonly matchByOccurrence?: boolean;
10339
+ readonly defaultEnabled?: boolean;
10340
+ readonly lifecycle?: "retired";
10341
+ readonly scan?: FileScan;
10342
+ readonly committedFilesOnly?: boolean;
10343
+ readonly recommendation?: string;
10344
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
10345
+ readonly create: (context: RuleContext) => RuleVisitors;
10346
+ };
10179
10347
  }, {
10180
10348
  readonly key: "react-doctor/no-side-effect-in-state-updater-function";
10181
10349
  readonly id: "no-side-effect-in-state-updater-function";
@@ -15289,8 +15457,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15289
15457
  readonly create: (context: RuleContext) => RuleVisitors;
15290
15458
  };
15291
15459
  }, {
15292
- readonly key: "react-doctor/rn-bottom-sheet-prefer-native";
15293
- readonly id: "rn-bottom-sheet-prefer-native";
15460
+ readonly key: "react-doctor/rn-bottom-sheet-no-ignored-scroll-prop";
15461
+ readonly id: "rn-bottom-sheet-no-ignored-scroll-prop";
15294
15462
  readonly source: "react-doctor";
15295
15463
  readonly originallyExternal: false;
15296
15464
  readonly rule: {
@@ -15313,8 +15481,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15313
15481
  readonly create: (context: RuleContext) => RuleVisitors;
15314
15482
  };
15315
15483
  }, {
15316
- readonly key: "react-doctor/rn-detox-missing-await";
15317
- readonly id: "rn-detox-missing-await";
15484
+ readonly key: "react-doctor/rn-bottom-sheet-no-state-in-on-animate";
15485
+ readonly id: "rn-bottom-sheet-no-state-in-on-animate";
15318
15486
  readonly source: "react-doctor";
15319
15487
  readonly originallyExternal: false;
15320
15488
  readonly rule: {
@@ -15337,8 +15505,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15337
15505
  readonly create: (context: RuleContext) => RuleVisitors;
15338
15506
  };
15339
15507
  }, {
15340
- readonly key: "react-doctor/rn-list-callback-per-row";
15341
- readonly id: "rn-list-callback-per-row";
15508
+ readonly key: "react-doctor/rn-bottom-sheet-prefer-native";
15509
+ readonly id: "rn-bottom-sheet-prefer-native";
15342
15510
  readonly source: "react-doctor";
15343
15511
  readonly originallyExternal: false;
15344
15512
  readonly rule: {
@@ -15361,8 +15529,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15361
15529
  readonly create: (context: RuleContext) => RuleVisitors;
15362
15530
  };
15363
15531
  }, {
15364
- readonly key: "react-doctor/rn-list-data-mapped";
15365
- readonly id: "rn-list-data-mapped";
15532
+ readonly key: "react-doctor/rn-bottom-sheet-use-integrated-scrollable";
15533
+ readonly id: "rn-bottom-sheet-use-integrated-scrollable";
15366
15534
  readonly source: "react-doctor";
15367
15535
  readonly originallyExternal: false;
15368
15536
  readonly rule: {
@@ -15385,8 +15553,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15385
15553
  readonly create: (context: RuleContext) => RuleVisitors;
15386
15554
  };
15387
15555
  }, {
15388
- readonly key: "react-doctor/rn-list-missing-estimated-item-size";
15389
- readonly id: "rn-list-missing-estimated-item-size";
15556
+ readonly key: "react-doctor/rn-detox-missing-await";
15557
+ readonly id: "rn-detox-missing-await";
15390
15558
  readonly source: "react-doctor";
15391
15559
  readonly originallyExternal: false;
15392
15560
  readonly rule: {
@@ -15409,8 +15577,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15409
15577
  readonly create: (context: RuleContext) => RuleVisitors;
15410
15578
  };
15411
15579
  }, {
15412
- readonly key: "react-doctor/rn-list-recyclable-without-types";
15413
- readonly id: "rn-list-recyclable-without-types";
15580
+ readonly key: "react-doctor/rn-list-callback-per-row";
15581
+ readonly id: "rn-list-callback-per-row";
15414
15582
  readonly source: "react-doctor";
15415
15583
  readonly originallyExternal: false;
15416
15584
  readonly rule: {
@@ -15433,8 +15601,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15433
15601
  readonly create: (context: RuleContext) => RuleVisitors;
15434
15602
  };
15435
15603
  }, {
15436
- readonly key: "react-doctor/rn-no-deep-imports";
15437
- readonly id: "rn-no-deep-imports";
15604
+ readonly key: "react-doctor/rn-list-data-mapped";
15605
+ readonly id: "rn-list-data-mapped";
15438
15606
  readonly source: "react-doctor";
15439
15607
  readonly originallyExternal: false;
15440
15608
  readonly rule: {
@@ -15457,8 +15625,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15457
15625
  readonly create: (context: RuleContext) => RuleVisitors;
15458
15626
  };
15459
15627
  }, {
15460
- readonly key: "react-doctor/rn-no-deprecated-modules";
15461
- readonly id: "rn-no-deprecated-modules";
15628
+ readonly key: "react-doctor/rn-list-missing-estimated-item-size";
15629
+ readonly id: "rn-list-missing-estimated-item-size";
15462
15630
  readonly source: "react-doctor";
15463
15631
  readonly originallyExternal: false;
15464
15632
  readonly rule: {
@@ -15481,8 +15649,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15481
15649
  readonly create: (context: RuleContext) => RuleVisitors;
15482
15650
  };
15483
15651
  }, {
15484
- readonly key: "react-doctor/rn-no-dimensions-get";
15485
- readonly id: "rn-no-dimensions-get";
15652
+ readonly key: "react-doctor/rn-list-recyclable-without-types";
15653
+ readonly id: "rn-list-recyclable-without-types";
15486
15654
  readonly source: "react-doctor";
15487
15655
  readonly originallyExternal: false;
15488
15656
  readonly rule: {
@@ -15505,8 +15673,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15505
15673
  readonly create: (context: RuleContext) => RuleVisitors;
15506
15674
  };
15507
15675
  }, {
15508
- readonly key: "react-doctor/rn-no-falsy-and-render";
15509
- readonly id: "rn-no-falsy-and-render";
15676
+ readonly key: "react-doctor/rn-no-deep-imports";
15677
+ readonly id: "rn-no-deep-imports";
15510
15678
  readonly source: "react-doctor";
15511
15679
  readonly originallyExternal: false;
15512
15680
  readonly rule: {
@@ -15529,8 +15697,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15529
15697
  readonly create: (context: RuleContext) => RuleVisitors;
15530
15698
  };
15531
15699
  }, {
15532
- readonly key: "react-doctor/rn-no-image-children";
15533
- readonly id: "rn-no-image-children";
15700
+ readonly key: "react-doctor/rn-no-deprecated-modules";
15701
+ readonly id: "rn-no-deprecated-modules";
15534
15702
  readonly source: "react-doctor";
15535
15703
  readonly originallyExternal: false;
15536
15704
  readonly rule: {
@@ -15553,8 +15721,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15553
15721
  readonly create: (context: RuleContext) => RuleVisitors;
15554
15722
  };
15555
15723
  }, {
15556
- readonly key: "react-doctor/rn-no-inline-flatlist-renderitem";
15557
- readonly id: "rn-no-inline-flatlist-renderitem";
15724
+ readonly key: "react-doctor/rn-no-dimensions-get";
15725
+ readonly id: "rn-no-dimensions-get";
15558
15726
  readonly source: "react-doctor";
15559
15727
  readonly originallyExternal: false;
15560
15728
  readonly rule: {
@@ -15577,8 +15745,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15577
15745
  readonly create: (context: RuleContext) => RuleVisitors;
15578
15746
  };
15579
15747
  }, {
15580
- readonly key: "react-doctor/rn-no-inline-object-in-list-item";
15581
- readonly id: "rn-no-inline-object-in-list-item";
15748
+ readonly key: "react-doctor/rn-no-falsy-and-render";
15749
+ readonly id: "rn-no-falsy-and-render";
15582
15750
  readonly source: "react-doctor";
15583
15751
  readonly originallyExternal: false;
15584
15752
  readonly rule: {
@@ -15601,8 +15769,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15601
15769
  readonly create: (context: RuleContext) => RuleVisitors;
15602
15770
  };
15603
15771
  }, {
15604
- readonly key: "react-doctor/rn-no-legacy-expo-packages";
15605
- readonly id: "rn-no-legacy-expo-packages";
15772
+ readonly key: "react-doctor/rn-no-image-children";
15773
+ readonly id: "rn-no-image-children";
15606
15774
  readonly source: "react-doctor";
15607
15775
  readonly originallyExternal: false;
15608
15776
  readonly rule: {
@@ -15625,8 +15793,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15625
15793
  readonly create: (context: RuleContext) => RuleVisitors;
15626
15794
  };
15627
15795
  }, {
15628
- readonly key: "react-doctor/rn-no-legacy-shadow-styles";
15629
- readonly id: "rn-no-legacy-shadow-styles";
15796
+ readonly key: "react-doctor/rn-no-inline-flatlist-renderitem";
15797
+ readonly id: "rn-no-inline-flatlist-renderitem";
15630
15798
  readonly source: "react-doctor";
15631
15799
  readonly originallyExternal: false;
15632
15800
  readonly rule: {
@@ -15649,8 +15817,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15649
15817
  readonly create: (context: RuleContext) => RuleVisitors;
15650
15818
  };
15651
15819
  }, {
15652
- readonly key: "react-doctor/rn-no-non-native-navigator";
15653
- readonly id: "rn-no-non-native-navigator";
15820
+ readonly key: "react-doctor/rn-no-inline-object-in-list-item";
15821
+ readonly id: "rn-no-inline-object-in-list-item";
15654
15822
  readonly source: "react-doctor";
15655
15823
  readonly originallyExternal: false;
15656
15824
  readonly rule: {
@@ -15673,8 +15841,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15673
15841
  readonly create: (context: RuleContext) => RuleVisitors;
15674
15842
  };
15675
15843
  }, {
15676
- readonly key: "react-doctor/rn-no-panresponder";
15677
- readonly id: "rn-no-panresponder";
15844
+ readonly key: "react-doctor/rn-no-legacy-expo-packages";
15845
+ readonly id: "rn-no-legacy-expo-packages";
15678
15846
  readonly source: "react-doctor";
15679
15847
  readonly originallyExternal: false;
15680
15848
  readonly rule: {
@@ -15697,8 +15865,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15697
15865
  readonly create: (context: RuleContext) => RuleVisitors;
15698
15866
  };
15699
15867
  }, {
15700
- readonly key: "react-doctor/rn-no-raw-text";
15701
- readonly id: "rn-no-raw-text";
15868
+ readonly key: "react-doctor/rn-no-legacy-shadow-styles";
15869
+ readonly id: "rn-no-legacy-shadow-styles";
15702
15870
  readonly source: "react-doctor";
15703
15871
  readonly originallyExternal: false;
15704
15872
  readonly rule: {
@@ -15721,8 +15889,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15721
15889
  readonly create: (context: RuleContext) => RuleVisitors;
15722
15890
  };
15723
15891
  }, {
15724
- readonly key: "react-doctor/rn-no-renderitem-key";
15725
- readonly id: "rn-no-renderitem-key";
15892
+ readonly key: "react-doctor/rn-no-non-native-navigator";
15893
+ readonly id: "rn-no-non-native-navigator";
15726
15894
  readonly source: "react-doctor";
15727
15895
  readonly originallyExternal: false;
15728
15896
  readonly rule: {
@@ -15745,8 +15913,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15745
15913
  readonly create: (context: RuleContext) => RuleVisitors;
15746
15914
  };
15747
15915
  }, {
15748
- readonly key: "react-doctor/rn-no-scroll-state";
15749
- readonly id: "rn-no-scroll-state";
15916
+ readonly key: "react-doctor/rn-no-panresponder";
15917
+ readonly id: "rn-no-panresponder";
15750
15918
  readonly source: "react-doctor";
15751
15919
  readonly originallyExternal: false;
15752
15920
  readonly rule: {
@@ -15769,8 +15937,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15769
15937
  readonly create: (context: RuleContext) => RuleVisitors;
15770
15938
  };
15771
15939
  }, {
15772
- readonly key: "react-doctor/rn-no-scrollview-mapped-list";
15773
- readonly id: "rn-no-scrollview-mapped-list";
15940
+ readonly key: "react-doctor/rn-no-raw-text";
15941
+ readonly id: "rn-no-raw-text";
15774
15942
  readonly source: "react-doctor";
15775
15943
  readonly originallyExternal: false;
15776
15944
  readonly rule: {
@@ -15793,8 +15961,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15793
15961
  readonly create: (context: RuleContext) => RuleVisitors;
15794
15962
  };
15795
15963
  }, {
15796
- readonly key: "react-doctor/rn-no-set-native-props";
15797
- readonly id: "rn-no-set-native-props";
15964
+ readonly key: "react-doctor/rn-no-renderitem-key";
15965
+ readonly id: "rn-no-renderitem-key";
15798
15966
  readonly source: "react-doctor";
15799
15967
  readonly originallyExternal: false;
15800
15968
  readonly rule: {
@@ -15817,8 +15985,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15817
15985
  readonly create: (context: RuleContext) => RuleVisitors;
15818
15986
  };
15819
15987
  }, {
15820
- readonly key: "react-doctor/rn-no-single-element-style-array";
15821
- readonly id: "rn-no-single-element-style-array";
15988
+ readonly key: "react-doctor/rn-no-scroll-state";
15989
+ readonly id: "rn-no-scroll-state";
15822
15990
  readonly source: "react-doctor";
15823
15991
  readonly originallyExternal: false;
15824
15992
  readonly rule: {
@@ -15841,8 +16009,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15841
16009
  readonly create: (context: RuleContext) => RuleVisitors;
15842
16010
  };
15843
16011
  }, {
15844
- readonly key: "react-doctor/rn-prefer-content-inset-adjustment";
15845
- readonly id: "rn-prefer-content-inset-adjustment";
16012
+ readonly key: "react-doctor/rn-no-scrollview-mapped-list";
16013
+ readonly id: "rn-no-scrollview-mapped-list";
15846
16014
  readonly source: "react-doctor";
15847
16015
  readonly originallyExternal: false;
15848
16016
  readonly rule: {
@@ -15865,8 +16033,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15865
16033
  readonly create: (context: RuleContext) => RuleVisitors;
15866
16034
  };
15867
16035
  }, {
15868
- readonly key: "react-doctor/rn-prefer-expo-image";
15869
- readonly id: "rn-prefer-expo-image";
16036
+ readonly key: "react-doctor/rn-no-set-native-props";
16037
+ readonly id: "rn-no-set-native-props";
15870
16038
  readonly source: "react-doctor";
15871
16039
  readonly originallyExternal: false;
15872
16040
  readonly rule: {
@@ -15889,8 +16057,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15889
16057
  readonly create: (context: RuleContext) => RuleVisitors;
15890
16058
  };
15891
16059
  }, {
15892
- readonly key: "react-doctor/rn-prefer-pressable";
15893
- readonly id: "rn-prefer-pressable";
16060
+ readonly key: "react-doctor/rn-no-single-element-style-array";
16061
+ readonly id: "rn-no-single-element-style-array";
15894
16062
  readonly source: "react-doctor";
15895
16063
  readonly originallyExternal: false;
15896
16064
  readonly rule: {
@@ -15913,8 +16081,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
15913
16081
  readonly create: (context: RuleContext) => RuleVisitors;
15914
16082
  };
15915
16083
  }, {
15916
- readonly key: "react-doctor/rn-prefer-pressable-over-gesture-detector";
15917
- readonly id: "rn-prefer-pressable-over-gesture-detector";
16084
+ readonly key: "react-doctor/rn-platform-shaking-use-direct-import";
16085
+ readonly id: "rn-platform-shaking-use-direct-import";
15918
16086
  readonly source: "react-doctor";
15919
16087
  readonly originallyExternal: false;
15920
16088
  readonly rule: {
@@ -15937,8 +16105,104 @@ declare const REACT_DOCTOR_RULES: readonly [{
15937
16105
  readonly create: (context: RuleContext) => RuleVisitors;
15938
16106
  };
15939
16107
  }, {
15940
- readonly key: "react-doctor/rn-prefer-reanimated";
15941
- readonly id: "rn-prefer-reanimated";
16108
+ readonly key: "react-doctor/rn-prefer-content-inset-adjustment";
16109
+ readonly id: "rn-prefer-content-inset-adjustment";
16110
+ readonly source: "react-doctor";
16111
+ readonly originallyExternal: false;
16112
+ readonly rule: {
16113
+ readonly framework: "react-native";
16114
+ readonly category: "Bugs";
16115
+ readonly tags: readonly string[];
16116
+ readonly id: string;
16117
+ readonly title?: string;
16118
+ readonly severity: RuleSeverity;
16119
+ readonly requires?: ReadonlyArray<Capability>;
16120
+ readonly minimumInkVersion?: string;
16121
+ readonly disabledWhen?: ReadonlyArray<Capability>;
16122
+ readonly matchByOccurrence?: boolean;
16123
+ readonly defaultEnabled?: boolean;
16124
+ readonly lifecycle?: "retired";
16125
+ readonly scan?: FileScan;
16126
+ readonly committedFilesOnly?: boolean;
16127
+ readonly recommendation?: string;
16128
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16129
+ readonly create: (context: RuleContext) => RuleVisitors;
16130
+ };
16131
+ }, {
16132
+ readonly key: "react-doctor/rn-prefer-expo-image";
16133
+ readonly id: "rn-prefer-expo-image";
16134
+ readonly source: "react-doctor";
16135
+ readonly originallyExternal: false;
16136
+ readonly rule: {
16137
+ readonly framework: "react-native";
16138
+ readonly category: "Bugs";
16139
+ readonly tags: readonly string[];
16140
+ readonly id: string;
16141
+ readonly title?: string;
16142
+ readonly severity: RuleSeverity;
16143
+ readonly requires?: ReadonlyArray<Capability>;
16144
+ readonly minimumInkVersion?: string;
16145
+ readonly disabledWhen?: ReadonlyArray<Capability>;
16146
+ readonly matchByOccurrence?: boolean;
16147
+ readonly defaultEnabled?: boolean;
16148
+ readonly lifecycle?: "retired";
16149
+ readonly scan?: FileScan;
16150
+ readonly committedFilesOnly?: boolean;
16151
+ readonly recommendation?: string;
16152
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16153
+ readonly create: (context: RuleContext) => RuleVisitors;
16154
+ };
16155
+ }, {
16156
+ readonly key: "react-doctor/rn-prefer-pressable";
16157
+ readonly id: "rn-prefer-pressable";
16158
+ readonly source: "react-doctor";
16159
+ readonly originallyExternal: false;
16160
+ readonly rule: {
16161
+ readonly framework: "react-native";
16162
+ readonly category: "Bugs";
16163
+ readonly tags: readonly string[];
16164
+ readonly id: string;
16165
+ readonly title?: string;
16166
+ readonly severity: RuleSeverity;
16167
+ readonly requires?: ReadonlyArray<Capability>;
16168
+ readonly minimumInkVersion?: string;
16169
+ readonly disabledWhen?: ReadonlyArray<Capability>;
16170
+ readonly matchByOccurrence?: boolean;
16171
+ readonly defaultEnabled?: boolean;
16172
+ readonly lifecycle?: "retired";
16173
+ readonly scan?: FileScan;
16174
+ readonly committedFilesOnly?: boolean;
16175
+ readonly recommendation?: string;
16176
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16177
+ readonly create: (context: RuleContext) => RuleVisitors;
16178
+ };
16179
+ }, {
16180
+ readonly key: "react-doctor/rn-prefer-pressable-over-gesture-detector";
16181
+ readonly id: "rn-prefer-pressable-over-gesture-detector";
16182
+ readonly source: "react-doctor";
16183
+ readonly originallyExternal: false;
16184
+ readonly rule: {
16185
+ readonly framework: "react-native";
16186
+ readonly category: "Bugs";
16187
+ readonly tags: readonly string[];
16188
+ readonly id: string;
16189
+ readonly title?: string;
16190
+ readonly severity: RuleSeverity;
16191
+ readonly requires?: ReadonlyArray<Capability>;
16192
+ readonly minimumInkVersion?: string;
16193
+ readonly disabledWhen?: ReadonlyArray<Capability>;
16194
+ readonly matchByOccurrence?: boolean;
16195
+ readonly defaultEnabled?: boolean;
16196
+ readonly lifecycle?: "retired";
16197
+ readonly scan?: FileScan;
16198
+ readonly committedFilesOnly?: boolean;
16199
+ readonly recommendation?: string;
16200
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16201
+ readonly create: (context: RuleContext) => RuleVisitors;
16202
+ };
16203
+ }, {
16204
+ readonly key: "react-doctor/rn-prefer-reanimated";
16205
+ readonly id: "rn-prefer-reanimated";
15942
16206
  readonly source: "react-doctor";
15943
16207
  readonly originallyExternal: false;
15944
16208
  readonly rule: {
@@ -15984,6 +16248,78 @@ declare const REACT_DOCTOR_RULES: readonly [{
15984
16248
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
15985
16249
  readonly create: (context: RuleContext) => RuleVisitors;
15986
16250
  };
16251
+ }, {
16252
+ readonly key: "react-doctor/rn-reanimated-4-no-legacy-spring-thresholds";
16253
+ readonly id: "rn-reanimated-4-no-legacy-spring-thresholds";
16254
+ readonly source: "react-doctor";
16255
+ readonly originallyExternal: false;
16256
+ readonly rule: {
16257
+ readonly framework: "react-native";
16258
+ readonly category: "Bugs";
16259
+ readonly tags: readonly string[];
16260
+ readonly id: string;
16261
+ readonly title?: string;
16262
+ readonly severity: RuleSeverity;
16263
+ readonly requires?: ReadonlyArray<Capability>;
16264
+ readonly minimumInkVersion?: string;
16265
+ readonly disabledWhen?: ReadonlyArray<Capability>;
16266
+ readonly matchByOccurrence?: boolean;
16267
+ readonly defaultEnabled?: boolean;
16268
+ readonly lifecycle?: "retired";
16269
+ readonly scan?: FileScan;
16270
+ readonly committedFilesOnly?: boolean;
16271
+ readonly recommendation?: string;
16272
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16273
+ readonly create: (context: RuleContext) => RuleVisitors;
16274
+ };
16275
+ }, {
16276
+ readonly key: "react-doctor/rn-reanimated-4-no-removed-api";
16277
+ readonly id: "rn-reanimated-4-no-removed-api";
16278
+ readonly source: "react-doctor";
16279
+ readonly originallyExternal: false;
16280
+ readonly rule: {
16281
+ readonly framework: "react-native";
16282
+ readonly category: "Bugs";
16283
+ readonly tags: readonly string[];
16284
+ readonly id: string;
16285
+ readonly title?: string;
16286
+ readonly severity: RuleSeverity;
16287
+ readonly requires?: ReadonlyArray<Capability>;
16288
+ readonly minimumInkVersion?: string;
16289
+ readonly disabledWhen?: ReadonlyArray<Capability>;
16290
+ readonly matchByOccurrence?: boolean;
16291
+ readonly defaultEnabled?: boolean;
16292
+ readonly lifecycle?: "retired";
16293
+ readonly scan?: FileScan;
16294
+ readonly committedFilesOnly?: boolean;
16295
+ readonly recommendation?: string;
16296
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16297
+ readonly create: (context: RuleContext) => RuleVisitors;
16298
+ };
16299
+ }, {
16300
+ readonly key: "react-doctor/rn-reanimated-4-use-worklets-scheduler";
16301
+ readonly id: "rn-reanimated-4-use-worklets-scheduler";
16302
+ readonly source: "react-doctor";
16303
+ readonly originallyExternal: false;
16304
+ readonly rule: {
16305
+ readonly framework: "react-native";
16306
+ readonly category: "Bugs";
16307
+ readonly tags: readonly string[];
16308
+ readonly id: string;
16309
+ readonly title?: string;
16310
+ readonly severity: RuleSeverity;
16311
+ readonly requires?: ReadonlyArray<Capability>;
16312
+ readonly minimumInkVersion?: string;
16313
+ readonly disabledWhen?: ReadonlyArray<Capability>;
16314
+ readonly matchByOccurrence?: boolean;
16315
+ readonly defaultEnabled?: boolean;
16316
+ readonly lifecycle?: "retired";
16317
+ readonly scan?: FileScan;
16318
+ readonly committedFilesOnly?: boolean;
16319
+ readonly recommendation?: string;
16320
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16321
+ readonly create: (context: RuleContext) => RuleVisitors;
16322
+ };
15987
16323
  }, {
15988
16324
  readonly key: "react-doctor/rn-scrollview-dynamic-padding";
15989
16325
  readonly id: "rn-scrollview-dynamic-padding";
@@ -16728,6 +17064,30 @@ declare const REACT_DOCTOR_RULES: readonly [{
16728
17064
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16729
17065
  readonly create: (context: RuleContext) => RuleVisitors;
16730
17066
  };
17067
+ }, {
17068
+ readonly key: "react-doctor/tanstack-start-missing-scripts";
17069
+ readonly id: "tanstack-start-missing-scripts";
17070
+ readonly source: "react-doctor";
17071
+ readonly originallyExternal: false;
17072
+ readonly rule: {
17073
+ readonly framework: "tanstack-start";
17074
+ readonly category: "Bugs";
17075
+ readonly id: string;
17076
+ readonly title?: string;
17077
+ readonly severity: RuleSeverity;
17078
+ readonly requires?: ReadonlyArray<Capability>;
17079
+ readonly minimumInkVersion?: string;
17080
+ readonly disabledWhen?: ReadonlyArray<Capability>;
17081
+ readonly tags?: ReadonlyArray<string>;
17082
+ readonly matchByOccurrence?: boolean;
17083
+ readonly defaultEnabled?: boolean;
17084
+ readonly lifecycle?: "retired";
17085
+ readonly scan?: FileScan;
17086
+ readonly committedFilesOnly?: boolean;
17087
+ readonly recommendation?: string;
17088
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
17089
+ readonly create: (context: RuleContext) => RuleVisitors;
17090
+ };
16731
17091
  }, {
16732
17092
  readonly key: "react-doctor/tanstack-start-no-anchor-element";
16733
17093
  readonly id: "tanstack-start-no-anchor-element";
@@ -23154,6 +23514,30 @@ declare const RULES: readonly [{
23154
23514
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
23155
23515
  readonly create: (context: RuleContext) => RuleVisitors;
23156
23516
  };
23517
+ }, {
23518
+ readonly key: "react-doctor/no-auto-scrolling-content";
23519
+ readonly id: "no-auto-scrolling-content";
23520
+ readonly source: "react-doctor";
23521
+ readonly originallyExternal: false;
23522
+ readonly rule: {
23523
+ readonly framework: "global";
23524
+ readonly category: "Maintainability";
23525
+ readonly tags: readonly string[];
23526
+ readonly id: string;
23527
+ readonly title?: string;
23528
+ readonly severity: RuleSeverity;
23529
+ readonly requires?: ReadonlyArray<Capability>;
23530
+ readonly minimumInkVersion?: string;
23531
+ readonly disabledWhen?: ReadonlyArray<Capability>;
23532
+ readonly matchByOccurrence?: boolean;
23533
+ readonly defaultEnabled?: boolean;
23534
+ readonly lifecycle?: "retired";
23535
+ readonly scan?: FileScan;
23536
+ readonly committedFilesOnly?: boolean;
23537
+ readonly recommendation?: string;
23538
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
23539
+ readonly create: (context: RuleContext) => RuleVisitors;
23540
+ };
23157
23541
  }, {
23158
23542
  readonly key: "react-doctor/no-autofocus";
23159
23543
  readonly id: "no-autofocus";
@@ -23874,6 +24258,30 @@ declare const RULES: readonly [{
23874
24258
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
23875
24259
  readonly create: (context: RuleContext) => RuleVisitors;
23876
24260
  };
24261
+ }, {
24262
+ readonly key: "react-doctor/no-decorative-radial-spotlight";
24263
+ readonly id: "no-decorative-radial-spotlight";
24264
+ readonly source: "react-doctor";
24265
+ readonly originallyExternal: false;
24266
+ readonly rule: {
24267
+ readonly framework: "global";
24268
+ readonly category: "Maintainability";
24269
+ readonly tags: readonly string[];
24270
+ readonly id: string;
24271
+ readonly title?: string;
24272
+ readonly severity: RuleSeverity;
24273
+ readonly requires?: ReadonlyArray<Capability>;
24274
+ readonly minimumInkVersion?: string;
24275
+ readonly disabledWhen?: ReadonlyArray<Capability>;
24276
+ readonly matchByOccurrence?: boolean;
24277
+ readonly defaultEnabled?: boolean;
24278
+ readonly lifecycle?: "retired";
24279
+ readonly scan?: FileScan;
24280
+ readonly committedFilesOnly?: boolean;
24281
+ readonly recommendation?: string;
24282
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
24283
+ readonly create: (context: RuleContext) => RuleVisitors;
24284
+ };
23877
24285
  }, {
23878
24286
  readonly key: "react-doctor/no-default-props";
23879
24287
  readonly id: "no-default-props";
@@ -27042,6 +27450,30 @@ declare const RULES: readonly [{
27042
27450
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
27043
27451
  readonly create: (context: RuleContext) => RuleVisitors;
27044
27452
  };
27453
+ }, {
27454
+ readonly key: "react-doctor/no-path-prefix-containment";
27455
+ readonly id: "no-path-prefix-containment";
27456
+ readonly source: "react-doctor";
27457
+ readonly originallyExternal: false;
27458
+ readonly rule: {
27459
+ readonly framework: "global";
27460
+ readonly category: "Security";
27461
+ readonly id: string;
27462
+ readonly title?: string;
27463
+ readonly severity: RuleSeverity;
27464
+ readonly requires?: ReadonlyArray<Capability>;
27465
+ readonly minimumInkVersion?: string;
27466
+ readonly disabledWhen?: ReadonlyArray<Capability>;
27467
+ readonly tags?: ReadonlyArray<string>;
27468
+ readonly matchByOccurrence?: boolean;
27469
+ readonly defaultEnabled?: boolean;
27470
+ readonly lifecycle?: "retired";
27471
+ readonly scan?: FileScan;
27472
+ readonly committedFilesOnly?: boolean;
27473
+ readonly recommendation?: string;
27474
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
27475
+ readonly create: (context: RuleContext) => RuleVisitors;
27476
+ };
27045
27477
  }, {
27046
27478
  readonly key: "react-doctor/no-permanent-will-change";
27047
27479
  readonly id: "no-permanent-will-change";
@@ -27354,6 +27786,30 @@ declare const RULES: readonly [{
27354
27786
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
27355
27787
  readonly create: (context: RuleContext) => RuleVisitors;
27356
27788
  };
27789
+ }, {
27790
+ readonly key: "react-doctor/no-pulsing-status-dot";
27791
+ readonly id: "no-pulsing-status-dot";
27792
+ readonly source: "react-doctor";
27793
+ readonly originallyExternal: false;
27794
+ readonly rule: {
27795
+ readonly framework: "global";
27796
+ readonly category: "Maintainability";
27797
+ readonly tags: readonly string[];
27798
+ readonly id: string;
27799
+ readonly title?: string;
27800
+ readonly severity: RuleSeverity;
27801
+ readonly requires?: ReadonlyArray<Capability>;
27802
+ readonly minimumInkVersion?: string;
27803
+ readonly disabledWhen?: ReadonlyArray<Capability>;
27804
+ readonly matchByOccurrence?: boolean;
27805
+ readonly defaultEnabled?: boolean;
27806
+ readonly lifecycle?: "retired";
27807
+ readonly scan?: FileScan;
27808
+ readonly committedFilesOnly?: boolean;
27809
+ readonly recommendation?: string;
27810
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
27811
+ readonly create: (context: RuleContext) => RuleVisitors;
27812
+ };
27357
27813
  }, {
27358
27814
  readonly key: "react-doctor/no-pure-black-background";
27359
27815
  readonly id: "no-pure-black-background";
@@ -27402,6 +27858,30 @@ declare const RULES: readonly [{
27402
27858
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
27403
27859
  readonly create: (context: RuleContext) => RuleVisitors;
27404
27860
  };
27861
+ }, {
27862
+ readonly key: "react-doctor/no-radial-halo";
27863
+ readonly id: "no-radial-halo";
27864
+ readonly source: "react-doctor";
27865
+ readonly originallyExternal: false;
27866
+ readonly rule: {
27867
+ readonly framework: "global";
27868
+ readonly category: "Maintainability";
27869
+ readonly tags: readonly string[];
27870
+ readonly id: string;
27871
+ readonly title?: string;
27872
+ readonly severity: RuleSeverity;
27873
+ readonly requires?: ReadonlyArray<Capability>;
27874
+ readonly minimumInkVersion?: string;
27875
+ readonly disabledWhen?: ReadonlyArray<Capability>;
27876
+ readonly matchByOccurrence?: boolean;
27877
+ readonly defaultEnabled?: boolean;
27878
+ readonly lifecycle?: "retired";
27879
+ readonly scan?: FileScan;
27880
+ readonly committedFilesOnly?: boolean;
27881
+ readonly recommendation?: string;
27882
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
27883
+ readonly create: (context: RuleContext) => RuleVisitors;
27884
+ };
27405
27885
  }, {
27406
27886
  readonly key: "react-doctor/no-random-key";
27407
27887
  readonly id: "no-random-key";
@@ -27738,6 +28218,30 @@ declare const RULES: readonly [{
27738
28218
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
27739
28219
  readonly create: (context: RuleContext) => RuleVisitors;
27740
28220
  };
28221
+ }, {
28222
+ readonly key: "react-doctor/no-repeated-container-text";
28223
+ readonly id: "no-repeated-container-text";
28224
+ readonly source: "react-doctor";
28225
+ readonly originallyExternal: false;
28226
+ readonly rule: {
28227
+ readonly framework: "global";
28228
+ readonly category: "Maintainability";
28229
+ readonly tags: readonly string[];
28230
+ readonly id: string;
28231
+ readonly title?: string;
28232
+ readonly severity: RuleSeverity;
28233
+ readonly requires?: ReadonlyArray<Capability>;
28234
+ readonly minimumInkVersion?: string;
28235
+ readonly disabledWhen?: ReadonlyArray<Capability>;
28236
+ readonly matchByOccurrence?: boolean;
28237
+ readonly defaultEnabled?: boolean;
28238
+ readonly lifecycle?: "retired";
28239
+ readonly scan?: FileScan;
28240
+ readonly committedFilesOnly?: boolean;
28241
+ readonly recommendation?: string;
28242
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
28243
+ readonly create: (context: RuleContext) => RuleVisitors;
28244
+ };
27741
28245
  }, {
27742
28246
  readonly key: "react-doctor/no-repeated-emoji-tiles";
27743
28247
  readonly id: "no-repeated-emoji-tiles";
@@ -28122,6 +28626,30 @@ declare const RULES: readonly [{
28122
28626
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
28123
28627
  readonly create: (context: RuleContext) => RuleVisitors;
28124
28628
  };
28629
+ }, {
28630
+ readonly key: "react-doctor/no-shape-assembled-illustration";
28631
+ readonly id: "no-shape-assembled-illustration";
28632
+ readonly source: "react-doctor";
28633
+ readonly originallyExternal: false;
28634
+ readonly rule: {
28635
+ readonly framework: "global";
28636
+ readonly category: "Maintainability";
28637
+ readonly tags: readonly string[];
28638
+ readonly id: string;
28639
+ readonly title?: string;
28640
+ readonly severity: RuleSeverity;
28641
+ readonly requires?: ReadonlyArray<Capability>;
28642
+ readonly minimumInkVersion?: string;
28643
+ readonly disabledWhen?: ReadonlyArray<Capability>;
28644
+ readonly matchByOccurrence?: boolean;
28645
+ readonly defaultEnabled?: boolean;
28646
+ readonly lifecycle?: "retired";
28647
+ readonly scan?: FileScan;
28648
+ readonly committedFilesOnly?: boolean;
28649
+ readonly recommendation?: string;
28650
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
28651
+ readonly create: (context: RuleContext) => RuleVisitors;
28652
+ };
28125
28653
  }, {
28126
28654
  readonly key: "react-doctor/no-side-effect-in-state-updater-function";
28127
28655
  readonly id: "no-side-effect-in-state-updater-function";
@@ -33234,6 +33762,54 @@ declare const RULES: readonly [{
33234
33762
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
33235
33763
  readonly create: (context: RuleContext) => RuleVisitors;
33236
33764
  };
33765
+ }, {
33766
+ readonly key: "react-doctor/rn-bottom-sheet-no-ignored-scroll-prop";
33767
+ readonly id: "rn-bottom-sheet-no-ignored-scroll-prop";
33768
+ readonly source: "react-doctor";
33769
+ readonly originallyExternal: false;
33770
+ readonly rule: {
33771
+ readonly framework: "react-native";
33772
+ readonly category: "Bugs";
33773
+ readonly tags: readonly string[];
33774
+ readonly id: string;
33775
+ readonly title?: string;
33776
+ readonly severity: RuleSeverity;
33777
+ readonly requires?: ReadonlyArray<Capability>;
33778
+ readonly minimumInkVersion?: string;
33779
+ readonly disabledWhen?: ReadonlyArray<Capability>;
33780
+ readonly matchByOccurrence?: boolean;
33781
+ readonly defaultEnabled?: boolean;
33782
+ readonly lifecycle?: "retired";
33783
+ readonly scan?: FileScan;
33784
+ readonly committedFilesOnly?: boolean;
33785
+ readonly recommendation?: string;
33786
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
33787
+ readonly create: (context: RuleContext) => RuleVisitors;
33788
+ };
33789
+ }, {
33790
+ readonly key: "react-doctor/rn-bottom-sheet-no-state-in-on-animate";
33791
+ readonly id: "rn-bottom-sheet-no-state-in-on-animate";
33792
+ readonly source: "react-doctor";
33793
+ readonly originallyExternal: false;
33794
+ readonly rule: {
33795
+ readonly framework: "react-native";
33796
+ readonly category: "Bugs";
33797
+ readonly tags: readonly string[];
33798
+ readonly id: string;
33799
+ readonly title?: string;
33800
+ readonly severity: RuleSeverity;
33801
+ readonly requires?: ReadonlyArray<Capability>;
33802
+ readonly minimumInkVersion?: string;
33803
+ readonly disabledWhen?: ReadonlyArray<Capability>;
33804
+ readonly matchByOccurrence?: boolean;
33805
+ readonly defaultEnabled?: boolean;
33806
+ readonly lifecycle?: "retired";
33807
+ readonly scan?: FileScan;
33808
+ readonly committedFilesOnly?: boolean;
33809
+ readonly recommendation?: string;
33810
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
33811
+ readonly create: (context: RuleContext) => RuleVisitors;
33812
+ };
33237
33813
  }, {
33238
33814
  readonly key: "react-doctor/rn-bottom-sheet-prefer-native";
33239
33815
  readonly id: "rn-bottom-sheet-prefer-native";
@@ -33258,6 +33834,30 @@ declare const RULES: readonly [{
33258
33834
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
33259
33835
  readonly create: (context: RuleContext) => RuleVisitors;
33260
33836
  };
33837
+ }, {
33838
+ readonly key: "react-doctor/rn-bottom-sheet-use-integrated-scrollable";
33839
+ readonly id: "rn-bottom-sheet-use-integrated-scrollable";
33840
+ readonly source: "react-doctor";
33841
+ readonly originallyExternal: false;
33842
+ readonly rule: {
33843
+ readonly framework: "react-native";
33844
+ readonly category: "Bugs";
33845
+ readonly tags: readonly string[];
33846
+ readonly id: string;
33847
+ readonly title?: string;
33848
+ readonly severity: RuleSeverity;
33849
+ readonly requires?: ReadonlyArray<Capability>;
33850
+ readonly minimumInkVersion?: string;
33851
+ readonly disabledWhen?: ReadonlyArray<Capability>;
33852
+ readonly matchByOccurrence?: boolean;
33853
+ readonly defaultEnabled?: boolean;
33854
+ readonly lifecycle?: "retired";
33855
+ readonly scan?: FileScan;
33856
+ readonly committedFilesOnly?: boolean;
33857
+ readonly recommendation?: string;
33858
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
33859
+ readonly create: (context: RuleContext) => RuleVisitors;
33860
+ };
33261
33861
  }, {
33262
33862
  readonly key: "react-doctor/rn-detox-missing-await";
33263
33863
  readonly id: "rn-detox-missing-await";
@@ -33786,6 +34386,30 @@ declare const RULES: readonly [{
33786
34386
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
33787
34387
  readonly create: (context: RuleContext) => RuleVisitors;
33788
34388
  };
34389
+ }, {
34390
+ readonly key: "react-doctor/rn-platform-shaking-use-direct-import";
34391
+ readonly id: "rn-platform-shaking-use-direct-import";
34392
+ readonly source: "react-doctor";
34393
+ readonly originallyExternal: false;
34394
+ readonly rule: {
34395
+ readonly framework: "react-native";
34396
+ readonly category: "Bugs";
34397
+ readonly tags: readonly string[];
34398
+ readonly id: string;
34399
+ readonly title?: string;
34400
+ readonly severity: RuleSeverity;
34401
+ readonly requires?: ReadonlyArray<Capability>;
34402
+ readonly minimumInkVersion?: string;
34403
+ readonly disabledWhen?: ReadonlyArray<Capability>;
34404
+ readonly matchByOccurrence?: boolean;
34405
+ readonly defaultEnabled?: boolean;
34406
+ readonly lifecycle?: "retired";
34407
+ readonly scan?: FileScan;
34408
+ readonly committedFilesOnly?: boolean;
34409
+ readonly recommendation?: string;
34410
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
34411
+ readonly create: (context: RuleContext) => RuleVisitors;
34412
+ };
33789
34413
  }, {
33790
34414
  readonly key: "react-doctor/rn-prefer-content-inset-adjustment";
33791
34415
  readonly id: "rn-prefer-content-inset-adjustment";
@@ -33930,6 +34554,78 @@ declare const RULES: readonly [{
33930
34554
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
33931
34555
  readonly create: (context: RuleContext) => RuleVisitors;
33932
34556
  };
34557
+ }, {
34558
+ readonly key: "react-doctor/rn-reanimated-4-no-legacy-spring-thresholds";
34559
+ readonly id: "rn-reanimated-4-no-legacy-spring-thresholds";
34560
+ readonly source: "react-doctor";
34561
+ readonly originallyExternal: false;
34562
+ readonly rule: {
34563
+ readonly framework: "react-native";
34564
+ readonly category: "Bugs";
34565
+ readonly tags: readonly string[];
34566
+ readonly id: string;
34567
+ readonly title?: string;
34568
+ readonly severity: RuleSeverity;
34569
+ readonly requires?: ReadonlyArray<Capability>;
34570
+ readonly minimumInkVersion?: string;
34571
+ readonly disabledWhen?: ReadonlyArray<Capability>;
34572
+ readonly matchByOccurrence?: boolean;
34573
+ readonly defaultEnabled?: boolean;
34574
+ readonly lifecycle?: "retired";
34575
+ readonly scan?: FileScan;
34576
+ readonly committedFilesOnly?: boolean;
34577
+ readonly recommendation?: string;
34578
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
34579
+ readonly create: (context: RuleContext) => RuleVisitors;
34580
+ };
34581
+ }, {
34582
+ readonly key: "react-doctor/rn-reanimated-4-no-removed-api";
34583
+ readonly id: "rn-reanimated-4-no-removed-api";
34584
+ readonly source: "react-doctor";
34585
+ readonly originallyExternal: false;
34586
+ readonly rule: {
34587
+ readonly framework: "react-native";
34588
+ readonly category: "Bugs";
34589
+ readonly tags: readonly string[];
34590
+ readonly id: string;
34591
+ readonly title?: string;
34592
+ readonly severity: RuleSeverity;
34593
+ readonly requires?: ReadonlyArray<Capability>;
34594
+ readonly minimumInkVersion?: string;
34595
+ readonly disabledWhen?: ReadonlyArray<Capability>;
34596
+ readonly matchByOccurrence?: boolean;
34597
+ readonly defaultEnabled?: boolean;
34598
+ readonly lifecycle?: "retired";
34599
+ readonly scan?: FileScan;
34600
+ readonly committedFilesOnly?: boolean;
34601
+ readonly recommendation?: string;
34602
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
34603
+ readonly create: (context: RuleContext) => RuleVisitors;
34604
+ };
34605
+ }, {
34606
+ readonly key: "react-doctor/rn-reanimated-4-use-worklets-scheduler";
34607
+ readonly id: "rn-reanimated-4-use-worklets-scheduler";
34608
+ readonly source: "react-doctor";
34609
+ readonly originallyExternal: false;
34610
+ readonly rule: {
34611
+ readonly framework: "react-native";
34612
+ readonly category: "Bugs";
34613
+ readonly tags: readonly string[];
34614
+ readonly id: string;
34615
+ readonly title?: string;
34616
+ readonly severity: RuleSeverity;
34617
+ readonly requires?: ReadonlyArray<Capability>;
34618
+ readonly minimumInkVersion?: string;
34619
+ readonly disabledWhen?: ReadonlyArray<Capability>;
34620
+ readonly matchByOccurrence?: boolean;
34621
+ readonly defaultEnabled?: boolean;
34622
+ readonly lifecycle?: "retired";
34623
+ readonly scan?: FileScan;
34624
+ readonly committedFilesOnly?: boolean;
34625
+ readonly recommendation?: string;
34626
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
34627
+ readonly create: (context: RuleContext) => RuleVisitors;
34628
+ };
33933
34629
  }, {
33934
34630
  readonly key: "react-doctor/rn-scrollview-dynamic-padding";
33935
34631
  readonly id: "rn-scrollview-dynamic-padding";
@@ -34674,6 +35370,30 @@ declare const RULES: readonly [{
34674
35370
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
34675
35371
  readonly create: (context: RuleContext) => RuleVisitors;
34676
35372
  };
35373
+ }, {
35374
+ readonly key: "react-doctor/tanstack-start-missing-scripts";
35375
+ readonly id: "tanstack-start-missing-scripts";
35376
+ readonly source: "react-doctor";
35377
+ readonly originallyExternal: false;
35378
+ readonly rule: {
35379
+ readonly framework: "tanstack-start";
35380
+ readonly category: "Bugs";
35381
+ readonly id: string;
35382
+ readonly title?: string;
35383
+ readonly severity: RuleSeverity;
35384
+ readonly requires?: ReadonlyArray<Capability>;
35385
+ readonly minimumInkVersion?: string;
35386
+ readonly disabledWhen?: ReadonlyArray<Capability>;
35387
+ readonly tags?: ReadonlyArray<string>;
35388
+ readonly matchByOccurrence?: boolean;
35389
+ readonly defaultEnabled?: boolean;
35390
+ readonly lifecycle?: "retired";
35391
+ readonly scan?: FileScan;
35392
+ readonly committedFilesOnly?: boolean;
35393
+ readonly recommendation?: string;
35394
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
35395
+ readonly create: (context: RuleContext) => RuleVisitors;
35396
+ };
34677
35397
  }, {
34678
35398
  readonly key: "react-doctor/tanstack-start-no-anchor-element";
34679
35399
  readonly id: "tanstack-start-no-anchor-element";