oxlint-plugin-react-doctor 0.9.0-dev.db9d300 → 0.9.1-dev.49c5c1e

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 +433 -1
  2. package/dist/index.js +3481 -430
  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
@@ -9096,6 +9096,30 @@ declare const REACT_DOCTOR_RULES: readonly [{
9096
9096
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
9097
9097
  readonly create: (context: RuleContext) => RuleVisitors;
9098
9098
  };
9099
+ }, {
9100
+ readonly key: "react-doctor/no-path-prefix-containment";
9101
+ readonly id: "no-path-prefix-containment";
9102
+ readonly source: "react-doctor";
9103
+ readonly originallyExternal: false;
9104
+ readonly rule: {
9105
+ readonly framework: "global";
9106
+ readonly category: "Security";
9107
+ readonly id: string;
9108
+ readonly title?: string;
9109
+ readonly severity: RuleSeverity;
9110
+ readonly requires?: ReadonlyArray<Capability>;
9111
+ readonly minimumInkVersion?: string;
9112
+ readonly disabledWhen?: ReadonlyArray<Capability>;
9113
+ readonly tags?: ReadonlyArray<string>;
9114
+ readonly matchByOccurrence?: boolean;
9115
+ readonly defaultEnabled?: boolean;
9116
+ readonly lifecycle?: "retired";
9117
+ readonly scan?: FileScan;
9118
+ readonly committedFilesOnly?: boolean;
9119
+ readonly recommendation?: string;
9120
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
9121
+ readonly create: (context: RuleContext) => RuleVisitors;
9122
+ };
9099
9123
  }, {
9100
9124
  readonly key: "react-doctor/no-permanent-will-change";
9101
9125
  readonly id: "no-permanent-will-change";
@@ -15288,6 +15312,54 @@ declare const REACT_DOCTOR_RULES: readonly [{
15288
15312
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
15289
15313
  readonly create: (context: RuleContext) => RuleVisitors;
15290
15314
  };
15315
+ }, {
15316
+ readonly key: "react-doctor/rn-bottom-sheet-no-ignored-scroll-prop";
15317
+ readonly id: "rn-bottom-sheet-no-ignored-scroll-prop";
15318
+ readonly source: "react-doctor";
15319
+ readonly originallyExternal: false;
15320
+ readonly rule: {
15321
+ readonly framework: "react-native";
15322
+ readonly category: "Bugs";
15323
+ readonly tags: readonly string[];
15324
+ readonly id: string;
15325
+ readonly title?: string;
15326
+ readonly severity: RuleSeverity;
15327
+ readonly requires?: ReadonlyArray<Capability>;
15328
+ readonly minimumInkVersion?: string;
15329
+ readonly disabledWhen?: ReadonlyArray<Capability>;
15330
+ readonly matchByOccurrence?: boolean;
15331
+ readonly defaultEnabled?: boolean;
15332
+ readonly lifecycle?: "retired";
15333
+ readonly scan?: FileScan;
15334
+ readonly committedFilesOnly?: boolean;
15335
+ readonly recommendation?: string;
15336
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
15337
+ readonly create: (context: RuleContext) => RuleVisitors;
15338
+ };
15339
+ }, {
15340
+ readonly key: "react-doctor/rn-bottom-sheet-no-state-in-on-animate";
15341
+ readonly id: "rn-bottom-sheet-no-state-in-on-animate";
15342
+ readonly source: "react-doctor";
15343
+ readonly originallyExternal: false;
15344
+ readonly rule: {
15345
+ readonly framework: "react-native";
15346
+ readonly category: "Bugs";
15347
+ readonly tags: readonly string[];
15348
+ readonly id: string;
15349
+ readonly title?: string;
15350
+ readonly severity: RuleSeverity;
15351
+ readonly requires?: ReadonlyArray<Capability>;
15352
+ readonly minimumInkVersion?: string;
15353
+ readonly disabledWhen?: ReadonlyArray<Capability>;
15354
+ readonly matchByOccurrence?: boolean;
15355
+ readonly defaultEnabled?: boolean;
15356
+ readonly lifecycle?: "retired";
15357
+ readonly scan?: FileScan;
15358
+ readonly committedFilesOnly?: boolean;
15359
+ readonly recommendation?: string;
15360
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
15361
+ readonly create: (context: RuleContext) => RuleVisitors;
15362
+ };
15291
15363
  }, {
15292
15364
  readonly key: "react-doctor/rn-bottom-sheet-prefer-native";
15293
15365
  readonly id: "rn-bottom-sheet-prefer-native";
@@ -15312,6 +15384,30 @@ declare const REACT_DOCTOR_RULES: readonly [{
15312
15384
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
15313
15385
  readonly create: (context: RuleContext) => RuleVisitors;
15314
15386
  };
15387
+ }, {
15388
+ readonly key: "react-doctor/rn-bottom-sheet-use-integrated-scrollable";
15389
+ readonly id: "rn-bottom-sheet-use-integrated-scrollable";
15390
+ readonly source: "react-doctor";
15391
+ readonly originallyExternal: false;
15392
+ readonly rule: {
15393
+ readonly framework: "react-native";
15394
+ readonly category: "Bugs";
15395
+ readonly tags: readonly string[];
15396
+ readonly id: string;
15397
+ readonly title?: string;
15398
+ readonly severity: RuleSeverity;
15399
+ readonly requires?: ReadonlyArray<Capability>;
15400
+ readonly minimumInkVersion?: string;
15401
+ readonly disabledWhen?: ReadonlyArray<Capability>;
15402
+ readonly matchByOccurrence?: boolean;
15403
+ readonly defaultEnabled?: boolean;
15404
+ readonly lifecycle?: "retired";
15405
+ readonly scan?: FileScan;
15406
+ readonly committedFilesOnly?: boolean;
15407
+ readonly recommendation?: string;
15408
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
15409
+ readonly create: (context: RuleContext) => RuleVisitors;
15410
+ };
15315
15411
  }, {
15316
15412
  readonly key: "react-doctor/rn-detox-missing-await";
15317
15413
  readonly id: "rn-detox-missing-await";
@@ -15840,6 +15936,30 @@ declare const REACT_DOCTOR_RULES: readonly [{
15840
15936
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
15841
15937
  readonly create: (context: RuleContext) => RuleVisitors;
15842
15938
  };
15939
+ }, {
15940
+ readonly key: "react-doctor/rn-platform-shaking-use-direct-import";
15941
+ readonly id: "rn-platform-shaking-use-direct-import";
15942
+ readonly source: "react-doctor";
15943
+ readonly originallyExternal: false;
15944
+ readonly rule: {
15945
+ readonly framework: "react-native";
15946
+ readonly category: "Bugs";
15947
+ readonly tags: readonly string[];
15948
+ readonly id: string;
15949
+ readonly title?: string;
15950
+ readonly severity: RuleSeverity;
15951
+ readonly requires?: ReadonlyArray<Capability>;
15952
+ readonly minimumInkVersion?: string;
15953
+ readonly disabledWhen?: ReadonlyArray<Capability>;
15954
+ readonly matchByOccurrence?: boolean;
15955
+ readonly defaultEnabled?: boolean;
15956
+ readonly lifecycle?: "retired";
15957
+ readonly scan?: FileScan;
15958
+ readonly committedFilesOnly?: boolean;
15959
+ readonly recommendation?: string;
15960
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
15961
+ readonly create: (context: RuleContext) => RuleVisitors;
15962
+ };
15843
15963
  }, {
15844
15964
  readonly key: "react-doctor/rn-prefer-content-inset-adjustment";
15845
15965
  readonly id: "rn-prefer-content-inset-adjustment";
@@ -15984,6 +16104,78 @@ declare const REACT_DOCTOR_RULES: readonly [{
15984
16104
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
15985
16105
  readonly create: (context: RuleContext) => RuleVisitors;
15986
16106
  };
16107
+ }, {
16108
+ readonly key: "react-doctor/rn-reanimated-4-no-legacy-spring-thresholds";
16109
+ readonly id: "rn-reanimated-4-no-legacy-spring-thresholds";
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-reanimated-4-no-removed-api";
16133
+ readonly id: "rn-reanimated-4-no-removed-api";
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-reanimated-4-use-worklets-scheduler";
16157
+ readonly id: "rn-reanimated-4-use-worklets-scheduler";
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
+ };
15987
16179
  }, {
15988
16180
  readonly key: "react-doctor/rn-scrollview-dynamic-padding";
15989
16181
  readonly id: "rn-scrollview-dynamic-padding";
@@ -16728,6 +16920,30 @@ declare const REACT_DOCTOR_RULES: readonly [{
16728
16920
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16729
16921
  readonly create: (context: RuleContext) => RuleVisitors;
16730
16922
  };
16923
+ }, {
16924
+ readonly key: "react-doctor/tanstack-start-missing-scripts";
16925
+ readonly id: "tanstack-start-missing-scripts";
16926
+ readonly source: "react-doctor";
16927
+ readonly originallyExternal: false;
16928
+ readonly rule: {
16929
+ readonly framework: "tanstack-start";
16930
+ readonly category: "Bugs";
16931
+ readonly id: string;
16932
+ readonly title?: string;
16933
+ readonly severity: RuleSeverity;
16934
+ readonly requires?: ReadonlyArray<Capability>;
16935
+ readonly minimumInkVersion?: string;
16936
+ readonly disabledWhen?: ReadonlyArray<Capability>;
16937
+ readonly tags?: ReadonlyArray<string>;
16938
+ readonly matchByOccurrence?: boolean;
16939
+ readonly defaultEnabled?: boolean;
16940
+ readonly lifecycle?: "retired";
16941
+ readonly scan?: FileScan;
16942
+ readonly committedFilesOnly?: boolean;
16943
+ readonly recommendation?: string;
16944
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
16945
+ readonly create: (context: RuleContext) => RuleVisitors;
16946
+ };
16731
16947
  }, {
16732
16948
  readonly key: "react-doctor/tanstack-start-no-anchor-element";
16733
16949
  readonly id: "tanstack-start-no-anchor-element";
@@ -27042,6 +27258,30 @@ declare const RULES: readonly [{
27042
27258
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
27043
27259
  readonly create: (context: RuleContext) => RuleVisitors;
27044
27260
  };
27261
+ }, {
27262
+ readonly key: "react-doctor/no-path-prefix-containment";
27263
+ readonly id: "no-path-prefix-containment";
27264
+ readonly source: "react-doctor";
27265
+ readonly originallyExternal: false;
27266
+ readonly rule: {
27267
+ readonly framework: "global";
27268
+ readonly category: "Security";
27269
+ readonly id: string;
27270
+ readonly title?: string;
27271
+ readonly severity: RuleSeverity;
27272
+ readonly requires?: ReadonlyArray<Capability>;
27273
+ readonly minimumInkVersion?: string;
27274
+ readonly disabledWhen?: ReadonlyArray<Capability>;
27275
+ readonly tags?: ReadonlyArray<string>;
27276
+ readonly matchByOccurrence?: boolean;
27277
+ readonly defaultEnabled?: boolean;
27278
+ readonly lifecycle?: "retired";
27279
+ readonly scan?: FileScan;
27280
+ readonly committedFilesOnly?: boolean;
27281
+ readonly recommendation?: string;
27282
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
27283
+ readonly create: (context: RuleContext) => RuleVisitors;
27284
+ };
27045
27285
  }, {
27046
27286
  readonly key: "react-doctor/no-permanent-will-change";
27047
27287
  readonly id: "no-permanent-will-change";
@@ -33234,6 +33474,54 @@ declare const RULES: readonly [{
33234
33474
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
33235
33475
  readonly create: (context: RuleContext) => RuleVisitors;
33236
33476
  };
33477
+ }, {
33478
+ readonly key: "react-doctor/rn-bottom-sheet-no-ignored-scroll-prop";
33479
+ readonly id: "rn-bottom-sheet-no-ignored-scroll-prop";
33480
+ readonly source: "react-doctor";
33481
+ readonly originallyExternal: false;
33482
+ readonly rule: {
33483
+ readonly framework: "react-native";
33484
+ readonly category: "Bugs";
33485
+ readonly tags: readonly string[];
33486
+ readonly id: string;
33487
+ readonly title?: string;
33488
+ readonly severity: RuleSeverity;
33489
+ readonly requires?: ReadonlyArray<Capability>;
33490
+ readonly minimumInkVersion?: string;
33491
+ readonly disabledWhen?: ReadonlyArray<Capability>;
33492
+ readonly matchByOccurrence?: boolean;
33493
+ readonly defaultEnabled?: boolean;
33494
+ readonly lifecycle?: "retired";
33495
+ readonly scan?: FileScan;
33496
+ readonly committedFilesOnly?: boolean;
33497
+ readonly recommendation?: string;
33498
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
33499
+ readonly create: (context: RuleContext) => RuleVisitors;
33500
+ };
33501
+ }, {
33502
+ readonly key: "react-doctor/rn-bottom-sheet-no-state-in-on-animate";
33503
+ readonly id: "rn-bottom-sheet-no-state-in-on-animate";
33504
+ readonly source: "react-doctor";
33505
+ readonly originallyExternal: false;
33506
+ readonly rule: {
33507
+ readonly framework: "react-native";
33508
+ readonly category: "Bugs";
33509
+ readonly tags: readonly string[];
33510
+ readonly id: string;
33511
+ readonly title?: string;
33512
+ readonly severity: RuleSeverity;
33513
+ readonly requires?: ReadonlyArray<Capability>;
33514
+ readonly minimumInkVersion?: string;
33515
+ readonly disabledWhen?: ReadonlyArray<Capability>;
33516
+ readonly matchByOccurrence?: boolean;
33517
+ readonly defaultEnabled?: boolean;
33518
+ readonly lifecycle?: "retired";
33519
+ readonly scan?: FileScan;
33520
+ readonly committedFilesOnly?: boolean;
33521
+ readonly recommendation?: string;
33522
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
33523
+ readonly create: (context: RuleContext) => RuleVisitors;
33524
+ };
33237
33525
  }, {
33238
33526
  readonly key: "react-doctor/rn-bottom-sheet-prefer-native";
33239
33527
  readonly id: "rn-bottom-sheet-prefer-native";
@@ -33258,6 +33546,30 @@ declare const RULES: readonly [{
33258
33546
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
33259
33547
  readonly create: (context: RuleContext) => RuleVisitors;
33260
33548
  };
33549
+ }, {
33550
+ readonly key: "react-doctor/rn-bottom-sheet-use-integrated-scrollable";
33551
+ readonly id: "rn-bottom-sheet-use-integrated-scrollable";
33552
+ readonly source: "react-doctor";
33553
+ readonly originallyExternal: false;
33554
+ readonly rule: {
33555
+ readonly framework: "react-native";
33556
+ readonly category: "Bugs";
33557
+ readonly tags: readonly string[];
33558
+ readonly id: string;
33559
+ readonly title?: string;
33560
+ readonly severity: RuleSeverity;
33561
+ readonly requires?: ReadonlyArray<Capability>;
33562
+ readonly minimumInkVersion?: string;
33563
+ readonly disabledWhen?: ReadonlyArray<Capability>;
33564
+ readonly matchByOccurrence?: boolean;
33565
+ readonly defaultEnabled?: boolean;
33566
+ readonly lifecycle?: "retired";
33567
+ readonly scan?: FileScan;
33568
+ readonly committedFilesOnly?: boolean;
33569
+ readonly recommendation?: string;
33570
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
33571
+ readonly create: (context: RuleContext) => RuleVisitors;
33572
+ };
33261
33573
  }, {
33262
33574
  readonly key: "react-doctor/rn-detox-missing-await";
33263
33575
  readonly id: "rn-detox-missing-await";
@@ -33786,6 +34098,30 @@ declare const RULES: readonly [{
33786
34098
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
33787
34099
  readonly create: (context: RuleContext) => RuleVisitors;
33788
34100
  };
34101
+ }, {
34102
+ readonly key: "react-doctor/rn-platform-shaking-use-direct-import";
34103
+ readonly id: "rn-platform-shaking-use-direct-import";
34104
+ readonly source: "react-doctor";
34105
+ readonly originallyExternal: false;
34106
+ readonly rule: {
34107
+ readonly framework: "react-native";
34108
+ readonly category: "Bugs";
34109
+ readonly tags: readonly string[];
34110
+ readonly id: string;
34111
+ readonly title?: string;
34112
+ readonly severity: RuleSeverity;
34113
+ readonly requires?: ReadonlyArray<Capability>;
34114
+ readonly minimumInkVersion?: string;
34115
+ readonly disabledWhen?: ReadonlyArray<Capability>;
34116
+ readonly matchByOccurrence?: boolean;
34117
+ readonly defaultEnabled?: boolean;
34118
+ readonly lifecycle?: "retired";
34119
+ readonly scan?: FileScan;
34120
+ readonly committedFilesOnly?: boolean;
34121
+ readonly recommendation?: string;
34122
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
34123
+ readonly create: (context: RuleContext) => RuleVisitors;
34124
+ };
33789
34125
  }, {
33790
34126
  readonly key: "react-doctor/rn-prefer-content-inset-adjustment";
33791
34127
  readonly id: "rn-prefer-content-inset-adjustment";
@@ -33930,6 +34266,78 @@ declare const RULES: readonly [{
33930
34266
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
33931
34267
  readonly create: (context: RuleContext) => RuleVisitors;
33932
34268
  };
34269
+ }, {
34270
+ readonly key: "react-doctor/rn-reanimated-4-no-legacy-spring-thresholds";
34271
+ readonly id: "rn-reanimated-4-no-legacy-spring-thresholds";
34272
+ readonly source: "react-doctor";
34273
+ readonly originallyExternal: false;
34274
+ readonly rule: {
34275
+ readonly framework: "react-native";
34276
+ readonly category: "Bugs";
34277
+ readonly tags: readonly string[];
34278
+ readonly id: string;
34279
+ readonly title?: string;
34280
+ readonly severity: RuleSeverity;
34281
+ readonly requires?: ReadonlyArray<Capability>;
34282
+ readonly minimumInkVersion?: string;
34283
+ readonly disabledWhen?: ReadonlyArray<Capability>;
34284
+ readonly matchByOccurrence?: boolean;
34285
+ readonly defaultEnabled?: boolean;
34286
+ readonly lifecycle?: "retired";
34287
+ readonly scan?: FileScan;
34288
+ readonly committedFilesOnly?: boolean;
34289
+ readonly recommendation?: string;
34290
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
34291
+ readonly create: (context: RuleContext) => RuleVisitors;
34292
+ };
34293
+ }, {
34294
+ readonly key: "react-doctor/rn-reanimated-4-no-removed-api";
34295
+ readonly id: "rn-reanimated-4-no-removed-api";
34296
+ readonly source: "react-doctor";
34297
+ readonly originallyExternal: false;
34298
+ readonly rule: {
34299
+ readonly framework: "react-native";
34300
+ readonly category: "Bugs";
34301
+ readonly tags: readonly string[];
34302
+ readonly id: string;
34303
+ readonly title?: string;
34304
+ readonly severity: RuleSeverity;
34305
+ readonly requires?: ReadonlyArray<Capability>;
34306
+ readonly minimumInkVersion?: string;
34307
+ readonly disabledWhen?: ReadonlyArray<Capability>;
34308
+ readonly matchByOccurrence?: boolean;
34309
+ readonly defaultEnabled?: boolean;
34310
+ readonly lifecycle?: "retired";
34311
+ readonly scan?: FileScan;
34312
+ readonly committedFilesOnly?: boolean;
34313
+ readonly recommendation?: string;
34314
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
34315
+ readonly create: (context: RuleContext) => RuleVisitors;
34316
+ };
34317
+ }, {
34318
+ readonly key: "react-doctor/rn-reanimated-4-use-worklets-scheduler";
34319
+ readonly id: "rn-reanimated-4-use-worklets-scheduler";
34320
+ readonly source: "react-doctor";
34321
+ readonly originallyExternal: false;
34322
+ readonly rule: {
34323
+ readonly framework: "react-native";
34324
+ readonly category: "Bugs";
34325
+ readonly tags: readonly string[];
34326
+ readonly id: string;
34327
+ readonly title?: string;
34328
+ readonly severity: RuleSeverity;
34329
+ readonly requires?: ReadonlyArray<Capability>;
34330
+ readonly minimumInkVersion?: string;
34331
+ readonly disabledWhen?: ReadonlyArray<Capability>;
34332
+ readonly matchByOccurrence?: boolean;
34333
+ readonly defaultEnabled?: boolean;
34334
+ readonly lifecycle?: "retired";
34335
+ readonly scan?: FileScan;
34336
+ readonly committedFilesOnly?: boolean;
34337
+ readonly recommendation?: string;
34338
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
34339
+ readonly create: (context: RuleContext) => RuleVisitors;
34340
+ };
33933
34341
  }, {
33934
34342
  readonly key: "react-doctor/rn-scrollview-dynamic-padding";
33935
34343
  readonly id: "rn-scrollview-dynamic-padding";
@@ -34674,6 +35082,30 @@ declare const RULES: readonly [{
34674
35082
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
34675
35083
  readonly create: (context: RuleContext) => RuleVisitors;
34676
35084
  };
35085
+ }, {
35086
+ readonly key: "react-doctor/tanstack-start-missing-scripts";
35087
+ readonly id: "tanstack-start-missing-scripts";
35088
+ readonly source: "react-doctor";
35089
+ readonly originallyExternal: false;
35090
+ readonly rule: {
35091
+ readonly framework: "tanstack-start";
35092
+ readonly category: "Bugs";
35093
+ readonly id: string;
35094
+ readonly title?: string;
35095
+ readonly severity: RuleSeverity;
35096
+ readonly requires?: ReadonlyArray<Capability>;
35097
+ readonly minimumInkVersion?: string;
35098
+ readonly disabledWhen?: ReadonlyArray<Capability>;
35099
+ readonly tags?: ReadonlyArray<string>;
35100
+ readonly matchByOccurrence?: boolean;
35101
+ readonly defaultEnabled?: boolean;
35102
+ readonly lifecycle?: "retired";
35103
+ readonly scan?: FileScan;
35104
+ readonly committedFilesOnly?: boolean;
35105
+ readonly recommendation?: string;
35106
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
35107
+ readonly create: (context: RuleContext) => RuleVisitors;
35108
+ };
34677
35109
  }, {
34678
35110
  readonly key: "react-doctor/tanstack-start-no-anchor-element";
34679
35111
  readonly id: "tanstack-start-no-anchor-element";