oxlint-plugin-react-doctor 0.9.12-dev.ffc2d14 → 0.9.13-dev.fd23edc

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.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { A as RuleContext, D as RuleSeverity, E as RuleFramework, F as Capability, I as CapabilityQuery, L as FRAMEWORK_TOKENS, M as FileScan, N as ScanFinding, O as RuleVisitors, P as ScannedFile, R as FrameworkToken, S as OxlintRuleSeverity, T as RuleExecution, _ as CrossFileProbeTrace, b as EXTERNAL_RULES, c as REACT_NATIVE_DEPENDENCY_PREFIXES, d as shouldReadSecurityScanContent, f as resetFilesystemCaches, g as collectCrossFileDependencyProbes, h as UNBOUNDED_CROSS_FILE_RULE_IDS, j as EsTreeNode, k as BaseRuleContext, l as isReactNativeDependencyName, m as CROSS_FILE_DEPENDENCY_COLLECTORS, s as REACT_NATIVE_DEPENDENCY_NAMES, u as classifySecurityScanFile, v as CROSS_FILE_RULE_IDS, w as Rule, x as REACT_COMPILER_RULES, y as MOTION_LIBRARY_PACKAGES } from "./core-Bvcp6taD.js";
1
+ import { A as FrameworkToken, C as EsTreeNode, D as Capability, E as ScannedFile, O as CapabilityQuery, S as RuleContext, T as ScanFinding, _ as RuleExecution, a as shouldReadSecurityScanContent, b as RuleVisitors, c as UNBOUNDED_CROSS_FILE_RULE_IDS, d as CROSS_FILE_RULE_IDS, f as MOTION_LIBRARY_PACKAGES, g as Rule, h as OxlintRuleSeverity, i as classifySecurityScanFile, k as FRAMEWORK_TOKENS, l as collectCrossFileDependencyProbes, m as REACT_COMPILER_RULES, n as REACT_NATIVE_DEPENDENCY_PREFIXES, o as resetFilesystemCaches, p as EXTERNAL_RULES, r as isReactNativeDependencyName, s as CROSS_FILE_DEPENDENCY_COLLECTORS, t as REACT_NATIVE_DEPENDENCY_NAMES, u as CrossFileProbeTrace, v as RuleFramework, w as FileScan, x as BaseRuleContext, y as RuleSeverity } from "./react-native-dependency-names-waW0owVD.js";
2
2
 
3
3
  //#region src/plugin/utils/rule-plugin.d.ts
4
4
  interface HostRule extends Omit<Rule, "create"> {
@@ -590,6 +590,81 @@ declare const REACT_DOCTOR_RULES: readonly [{
590
590
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
591
591
  readonly create: (context: RuleContext) => RuleVisitors;
592
592
  };
593
+ }, {
594
+ readonly key: "react-doctor/base-ui-dialog-popup-requires-title";
595
+ readonly id: "base-ui-dialog-popup-requires-title";
596
+ readonly source: "react-doctor";
597
+ readonly originallyExternal: false;
598
+ readonly rule: {
599
+ readonly framework: "global";
600
+ readonly category: "Accessibility";
601
+ readonly requires: readonly Capability[];
602
+ readonly id: string;
603
+ readonly title?: string;
604
+ readonly severity: RuleSeverity;
605
+ readonly minimumInkVersion?: string;
606
+ readonly disabledWhen?: ReadonlyArray<Capability>;
607
+ readonly tags?: ReadonlyArray<string>;
608
+ readonly matchByOccurrence?: boolean;
609
+ readonly defaultEnabled?: boolean;
610
+ readonly lifecycle?: "retired";
611
+ readonly execution?: RuleExecution;
612
+ readonly scan?: FileScan;
613
+ readonly committedFilesOnly?: boolean;
614
+ readonly recommendation?: string;
615
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
616
+ readonly create: (context: RuleContext) => RuleVisitors;
617
+ };
618
+ }, {
619
+ readonly key: "react-doctor/base-ui-field-requires-label";
620
+ readonly id: "base-ui-field-requires-label";
621
+ readonly source: "react-doctor";
622
+ readonly originallyExternal: false;
623
+ readonly rule: {
624
+ readonly framework: "global";
625
+ readonly category: "Accessibility";
626
+ readonly requires: readonly Capability[];
627
+ readonly id: string;
628
+ readonly title?: string;
629
+ readonly severity: RuleSeverity;
630
+ readonly minimumInkVersion?: string;
631
+ readonly disabledWhen?: ReadonlyArray<Capability>;
632
+ readonly tags?: ReadonlyArray<string>;
633
+ readonly matchByOccurrence?: boolean;
634
+ readonly defaultEnabled?: boolean;
635
+ readonly lifecycle?: "retired";
636
+ readonly execution?: RuleExecution;
637
+ readonly scan?: FileScan;
638
+ readonly committedFilesOnly?: boolean;
639
+ readonly recommendation?: string;
640
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
641
+ readonly create: (context: RuleContext) => RuleVisitors;
642
+ };
643
+ }, {
644
+ readonly key: "react-doctor/base-ui-tabs-tab-requires-list";
645
+ readonly id: "base-ui-tabs-tab-requires-list";
646
+ readonly source: "react-doctor";
647
+ readonly originallyExternal: false;
648
+ readonly rule: {
649
+ readonly framework: "global";
650
+ readonly category: "Bugs";
651
+ readonly id: string;
652
+ readonly title?: string;
653
+ readonly severity: RuleSeverity;
654
+ readonly requires?: ReadonlyArray<Capability>;
655
+ readonly minimumInkVersion?: string;
656
+ readonly disabledWhen?: ReadonlyArray<Capability>;
657
+ readonly tags?: ReadonlyArray<string>;
658
+ readonly matchByOccurrence?: boolean;
659
+ readonly defaultEnabled?: boolean;
660
+ readonly lifecycle?: "retired";
661
+ readonly execution?: RuleExecution;
662
+ readonly scan?: FileScan;
663
+ readonly committedFilesOnly?: boolean;
664
+ readonly recommendation?: string;
665
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
666
+ readonly create: (context: RuleContext) => RuleVisitors;
667
+ };
593
668
  }, {
594
669
  readonly key: "react-doctor/build-pipeline-secret-boundary";
595
670
  readonly id: "build-pipeline-secret-boundary";
@@ -15090,6 +15165,56 @@ declare const REACT_DOCTOR_RULES: readonly [{
15090
15165
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
15091
15166
  readonly create: (context: RuleContext) => RuleVisitors;
15092
15167
  };
15168
+ }, {
15169
+ readonly key: "react-doctor/radix-dialog-content-requires-title";
15170
+ readonly id: "radix-dialog-content-requires-title";
15171
+ readonly source: "react-doctor";
15172
+ readonly originallyExternal: false;
15173
+ readonly rule: {
15174
+ readonly framework: "global";
15175
+ readonly category: "Accessibility";
15176
+ readonly requires: readonly Capability[];
15177
+ readonly id: string;
15178
+ readonly title?: string;
15179
+ readonly severity: RuleSeverity;
15180
+ readonly minimumInkVersion?: string;
15181
+ readonly disabledWhen?: ReadonlyArray<Capability>;
15182
+ readonly tags?: ReadonlyArray<string>;
15183
+ readonly matchByOccurrence?: boolean;
15184
+ readonly defaultEnabled?: boolean;
15185
+ readonly lifecycle?: "retired";
15186
+ readonly execution?: RuleExecution;
15187
+ readonly scan?: FileScan;
15188
+ readonly committedFilesOnly?: boolean;
15189
+ readonly recommendation?: string;
15190
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
15191
+ readonly create: (context: RuleContext) => RuleVisitors;
15192
+ };
15193
+ }, {
15194
+ readonly key: "react-doctor/radix-tabs-trigger-requires-list";
15195
+ readonly id: "radix-tabs-trigger-requires-list";
15196
+ readonly source: "react-doctor";
15197
+ readonly originallyExternal: false;
15198
+ readonly rule: {
15199
+ readonly framework: "global";
15200
+ readonly category: "Bugs";
15201
+ readonly id: string;
15202
+ readonly title?: string;
15203
+ readonly severity: RuleSeverity;
15204
+ readonly requires?: ReadonlyArray<Capability>;
15205
+ readonly minimumInkVersion?: string;
15206
+ readonly disabledWhen?: ReadonlyArray<Capability>;
15207
+ readonly tags?: ReadonlyArray<string>;
15208
+ readonly matchByOccurrence?: boolean;
15209
+ readonly defaultEnabled?: boolean;
15210
+ readonly lifecycle?: "retired";
15211
+ readonly execution?: RuleExecution;
15212
+ readonly scan?: FileScan;
15213
+ readonly committedFilesOnly?: boolean;
15214
+ readonly recommendation?: string;
15215
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
15216
+ readonly create: (context: RuleContext) => RuleVisitors;
15217
+ };
15093
15218
  }, {
15094
15219
  readonly key: "react-doctor/raw-sql-injection-risk";
15095
15220
  readonly id: "raw-sql-injection-risk";
@@ -15115,6 +15240,31 @@ declare const REACT_DOCTOR_RULES: readonly [{
15115
15240
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
15116
15241
  readonly create: (context: RuleContext) => RuleVisitors;
15117
15242
  };
15243
+ }, {
15244
+ readonly key: "react-doctor/react-aria-dialog-requires-heading";
15245
+ readonly id: "react-aria-dialog-requires-heading";
15246
+ readonly source: "react-doctor";
15247
+ readonly originallyExternal: false;
15248
+ readonly rule: {
15249
+ readonly framework: "global";
15250
+ readonly category: "Accessibility";
15251
+ readonly requires: readonly Capability[];
15252
+ readonly id: string;
15253
+ readonly title?: string;
15254
+ readonly severity: RuleSeverity;
15255
+ readonly minimumInkVersion?: string;
15256
+ readonly disabledWhen?: ReadonlyArray<Capability>;
15257
+ readonly tags?: ReadonlyArray<string>;
15258
+ readonly matchByOccurrence?: boolean;
15259
+ readonly defaultEnabled?: boolean;
15260
+ readonly lifecycle?: "retired";
15261
+ readonly execution?: RuleExecution;
15262
+ readonly scan?: FileScan;
15263
+ readonly committedFilesOnly?: boolean;
15264
+ readonly recommendation?: string;
15265
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
15266
+ readonly create: (context: RuleContext) => RuleVisitors;
15267
+ };
15118
15268
  }, {
15119
15269
  readonly key: "react-doctor/react-compiler-no-manual-memoization";
15120
15270
  readonly id: "react-compiler-no-manual-memoization";
@@ -18391,8 +18541,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
18391
18541
  readonly create: (context: RuleContext) => RuleVisitors;
18392
18542
  };
18393
18543
  }, {
18394
- readonly key: "react-doctor/shadcn-tabs-trigger-requires-list";
18395
- readonly id: "shadcn-tabs-trigger-requires-list";
18544
+ readonly key: "react-doctor/shadcn-command-item-state-variant-requires-value";
18545
+ readonly id: "shadcn-command-item-state-variant-requires-value";
18396
18546
  readonly source: "react-doctor";
18397
18547
  readonly originallyExternal: false;
18398
18548
  readonly rule: {
@@ -18416,13 +18566,13 @@ declare const REACT_DOCTOR_RULES: readonly [{
18416
18566
  readonly create: (context: RuleContext) => RuleVisitors;
18417
18567
  };
18418
18568
  }, {
18419
- readonly key: "react-doctor/state-in-constructor";
18420
- readonly id: "state-in-constructor";
18569
+ readonly key: "react-doctor/shadcn-dialog-content-requires-title";
18570
+ readonly id: "shadcn-dialog-content-requires-title";
18421
18571
  readonly source: "react-doctor";
18422
- readonly originallyExternal: true;
18572
+ readonly originallyExternal: false;
18423
18573
  readonly rule: {
18424
18574
  readonly framework: "global";
18425
- readonly category: "Maintainability";
18575
+ readonly category: "Accessibility";
18426
18576
  readonly requires: readonly Capability[];
18427
18577
  readonly id: string;
18428
18578
  readonly title?: string;
@@ -18441,13 +18591,13 @@ declare const REACT_DOCTOR_RULES: readonly [{
18441
18591
  readonly create: (context: RuleContext) => RuleVisitors;
18442
18592
  };
18443
18593
  }, {
18444
- readonly key: "react-doctor/style-prop-object";
18445
- readonly id: "style-prop-object";
18594
+ readonly key: "react-doctor/shadcn-form-item-requires-label";
18595
+ readonly id: "shadcn-form-item-requires-label";
18446
18596
  readonly source: "react-doctor";
18447
- readonly originallyExternal: true;
18597
+ readonly originallyExternal: false;
18448
18598
  readonly rule: {
18449
18599
  readonly framework: "global";
18450
- readonly category: "Bugs";
18600
+ readonly category: "Accessibility";
18451
18601
  readonly requires: readonly Capability[];
18452
18602
  readonly id: string;
18453
18603
  readonly title?: string;
@@ -18466,22 +18616,22 @@ declare const REACT_DOCTOR_RULES: readonly [{
18466
18616
  readonly create: (context: RuleContext) => RuleVisitors;
18467
18617
  };
18468
18618
  }, {
18469
- readonly key: "react-doctor/styled-components-duplicate-css-property-in-block";
18470
- readonly id: "styled-components-duplicate-css-property-in-block";
18619
+ readonly key: "react-doctor/shadcn-icon-button-requires-label";
18620
+ readonly id: "shadcn-icon-button-requires-label";
18471
18621
  readonly source: "react-doctor";
18472
18622
  readonly originallyExternal: false;
18473
18623
  readonly rule: {
18474
18624
  readonly framework: "global";
18475
- readonly category: "Maintainability";
18476
- readonly defaultEnabled: false;
18477
- readonly tags: readonly string[];
18625
+ readonly category: "Accessibility";
18626
+ readonly requires: readonly Capability[];
18478
18627
  readonly id: string;
18479
18628
  readonly title?: string;
18480
18629
  readonly severity: RuleSeverity;
18481
- readonly requires?: ReadonlyArray<Capability>;
18482
18630
  readonly minimumInkVersion?: string;
18483
18631
  readonly disabledWhen?: ReadonlyArray<Capability>;
18632
+ readonly tags?: ReadonlyArray<string>;
18484
18633
  readonly matchByOccurrence?: boolean;
18634
+ readonly defaultEnabled?: boolean;
18485
18635
  readonly lifecycle?: "retired";
18486
18636
  readonly execution?: RuleExecution;
18487
18637
  readonly scan?: FileScan;
@@ -18491,8 +18641,8 @@ declare const REACT_DOCTOR_RULES: readonly [{
18491
18641
  readonly create: (context: RuleContext) => RuleVisitors;
18492
18642
  };
18493
18643
  }, {
18494
- readonly key: "react-doctor/styled-components-non-transient-custom-prop-on-intrinsic-element";
18495
- readonly id: "styled-components-non-transient-custom-prop-on-intrinsic-element";
18644
+ readonly key: "react-doctor/shadcn-input-group-no-raw-controls";
18645
+ readonly id: "shadcn-input-group-no-raw-controls";
18496
18646
  readonly source: "react-doctor";
18497
18647
  readonly originallyExternal: false;
18498
18648
  readonly rule: {
@@ -18516,20 +18666,20 @@ declare const REACT_DOCTOR_RULES: readonly [{
18516
18666
  readonly create: (context: RuleContext) => RuleVisitors;
18517
18667
  };
18518
18668
  }, {
18519
- readonly key: "react-doctor/supabase-client-owned-authz-field";
18520
- readonly id: "supabase-client-owned-authz-field";
18669
+ readonly key: "react-doctor/shadcn-tabs-trigger-requires-list";
18670
+ readonly id: "shadcn-tabs-trigger-requires-list";
18521
18671
  readonly source: "react-doctor";
18522
18672
  readonly originallyExternal: false;
18523
18673
  readonly rule: {
18524
18674
  readonly framework: "global";
18525
- readonly category: "Security";
18526
- readonly tags: readonly string[];
18675
+ readonly category: "Bugs";
18527
18676
  readonly id: string;
18528
18677
  readonly title?: string;
18529
18678
  readonly severity: RuleSeverity;
18530
18679
  readonly requires?: ReadonlyArray<Capability>;
18531
18680
  readonly minimumInkVersion?: string;
18532
18681
  readonly disabledWhen?: ReadonlyArray<Capability>;
18682
+ readonly tags?: ReadonlyArray<string>;
18533
18683
  readonly matchByOccurrence?: boolean;
18534
18684
  readonly defaultEnabled?: boolean;
18535
18685
  readonly lifecycle?: "retired";
@@ -18541,13 +18691,64 @@ declare const REACT_DOCTOR_RULES: readonly [{
18541
18691
  readonly create: (context: RuleContext) => RuleVisitors;
18542
18692
  };
18543
18693
  }, {
18544
- readonly key: "react-doctor/supabase-rls-policy-risk";
18545
- readonly id: "supabase-rls-policy-risk";
18694
+ readonly key: "react-doctor/state-in-constructor";
18695
+ readonly id: "state-in-constructor";
18696
+ readonly source: "react-doctor";
18697
+ readonly originallyExternal: true;
18698
+ readonly rule: {
18699
+ readonly framework: "global";
18700
+ readonly category: "Maintainability";
18701
+ readonly requires: readonly Capability[];
18702
+ readonly id: string;
18703
+ readonly title?: string;
18704
+ readonly severity: RuleSeverity;
18705
+ readonly minimumInkVersion?: string;
18706
+ readonly disabledWhen?: ReadonlyArray<Capability>;
18707
+ readonly tags?: ReadonlyArray<string>;
18708
+ readonly matchByOccurrence?: boolean;
18709
+ readonly defaultEnabled?: boolean;
18710
+ readonly lifecycle?: "retired";
18711
+ readonly execution?: RuleExecution;
18712
+ readonly scan?: FileScan;
18713
+ readonly committedFilesOnly?: boolean;
18714
+ readonly recommendation?: string;
18715
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
18716
+ readonly create: (context: RuleContext) => RuleVisitors;
18717
+ };
18718
+ }, {
18719
+ readonly key: "react-doctor/style-prop-object";
18720
+ readonly id: "style-prop-object";
18721
+ readonly source: "react-doctor";
18722
+ readonly originallyExternal: true;
18723
+ readonly rule: {
18724
+ readonly framework: "global";
18725
+ readonly category: "Bugs";
18726
+ readonly requires: readonly Capability[];
18727
+ readonly id: string;
18728
+ readonly title?: string;
18729
+ readonly severity: RuleSeverity;
18730
+ readonly minimumInkVersion?: string;
18731
+ readonly disabledWhen?: ReadonlyArray<Capability>;
18732
+ readonly tags?: ReadonlyArray<string>;
18733
+ readonly matchByOccurrence?: boolean;
18734
+ readonly defaultEnabled?: boolean;
18735
+ readonly lifecycle?: "retired";
18736
+ readonly execution?: RuleExecution;
18737
+ readonly scan?: FileScan;
18738
+ readonly committedFilesOnly?: boolean;
18739
+ readonly recommendation?: string;
18740
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
18741
+ readonly create: (context: RuleContext) => RuleVisitors;
18742
+ };
18743
+ }, {
18744
+ readonly key: "react-doctor/styled-components-duplicate-css-property-in-block";
18745
+ readonly id: "styled-components-duplicate-css-property-in-block";
18546
18746
  readonly source: "react-doctor";
18547
18747
  readonly originallyExternal: false;
18548
18748
  readonly rule: {
18549
18749
  readonly framework: "global";
18550
- readonly category: "Security";
18750
+ readonly category: "Maintainability";
18751
+ readonly defaultEnabled: false;
18551
18752
  readonly tags: readonly string[];
18552
18753
  readonly id: string;
18553
18754
  readonly title?: string;
@@ -18556,6 +18757,30 @@ declare const REACT_DOCTOR_RULES: readonly [{
18556
18757
  readonly minimumInkVersion?: string;
18557
18758
  readonly disabledWhen?: ReadonlyArray<Capability>;
18558
18759
  readonly matchByOccurrence?: boolean;
18760
+ readonly lifecycle?: "retired";
18761
+ readonly execution?: RuleExecution;
18762
+ readonly scan?: FileScan;
18763
+ readonly committedFilesOnly?: boolean;
18764
+ readonly recommendation?: string;
18765
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
18766
+ readonly create: (context: RuleContext) => RuleVisitors;
18767
+ };
18768
+ }, {
18769
+ readonly key: "react-doctor/styled-components-non-transient-custom-prop-on-intrinsic-element";
18770
+ readonly id: "styled-components-non-transient-custom-prop-on-intrinsic-element";
18771
+ readonly source: "react-doctor";
18772
+ readonly originallyExternal: false;
18773
+ readonly rule: {
18774
+ readonly framework: "global";
18775
+ readonly category: "Bugs";
18776
+ readonly id: string;
18777
+ readonly title?: string;
18778
+ readonly severity: RuleSeverity;
18779
+ readonly requires?: ReadonlyArray<Capability>;
18780
+ readonly minimumInkVersion?: string;
18781
+ readonly disabledWhen?: ReadonlyArray<Capability>;
18782
+ readonly tags?: ReadonlyArray<string>;
18783
+ readonly matchByOccurrence?: boolean;
18559
18784
  readonly defaultEnabled?: boolean;
18560
18785
  readonly lifecycle?: "retired";
18561
18786
  readonly execution?: RuleExecution;
@@ -18566,8 +18791,58 @@ declare const REACT_DOCTOR_RULES: readonly [{
18566
18791
  readonly create: (context: RuleContext) => RuleVisitors;
18567
18792
  };
18568
18793
  }, {
18569
- readonly key: "react-doctor/supabase-table-missing-rls";
18570
- readonly id: "supabase-table-missing-rls";
18794
+ readonly key: "react-doctor/supabase-client-owned-authz-field";
18795
+ readonly id: "supabase-client-owned-authz-field";
18796
+ readonly source: "react-doctor";
18797
+ readonly originallyExternal: false;
18798
+ readonly rule: {
18799
+ readonly framework: "global";
18800
+ readonly category: "Security";
18801
+ readonly tags: readonly string[];
18802
+ readonly id: string;
18803
+ readonly title?: string;
18804
+ readonly severity: RuleSeverity;
18805
+ readonly requires?: ReadonlyArray<Capability>;
18806
+ readonly minimumInkVersion?: string;
18807
+ readonly disabledWhen?: ReadonlyArray<Capability>;
18808
+ readonly matchByOccurrence?: boolean;
18809
+ readonly defaultEnabled?: boolean;
18810
+ readonly lifecycle?: "retired";
18811
+ readonly execution?: RuleExecution;
18812
+ readonly scan?: FileScan;
18813
+ readonly committedFilesOnly?: boolean;
18814
+ readonly recommendation?: string;
18815
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
18816
+ readonly create: (context: RuleContext) => RuleVisitors;
18817
+ };
18818
+ }, {
18819
+ readonly key: "react-doctor/supabase-rls-policy-risk";
18820
+ readonly id: "supabase-rls-policy-risk";
18821
+ readonly source: "react-doctor";
18822
+ readonly originallyExternal: false;
18823
+ readonly rule: {
18824
+ readonly framework: "global";
18825
+ readonly category: "Security";
18826
+ readonly tags: readonly string[];
18827
+ readonly id: string;
18828
+ readonly title?: string;
18829
+ readonly severity: RuleSeverity;
18830
+ readonly requires?: ReadonlyArray<Capability>;
18831
+ readonly minimumInkVersion?: string;
18832
+ readonly disabledWhen?: ReadonlyArray<Capability>;
18833
+ readonly matchByOccurrence?: boolean;
18834
+ readonly defaultEnabled?: boolean;
18835
+ readonly lifecycle?: "retired";
18836
+ readonly execution?: RuleExecution;
18837
+ readonly scan?: FileScan;
18838
+ readonly committedFilesOnly?: boolean;
18839
+ readonly recommendation?: string;
18840
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
18841
+ readonly create: (context: RuleContext) => RuleVisitors;
18842
+ };
18843
+ }, {
18844
+ readonly key: "react-doctor/supabase-table-missing-rls";
18845
+ readonly id: "supabase-table-missing-rls";
18571
18846
  readonly source: "react-doctor";
18572
18847
  readonly originallyExternal: false;
18573
18848
  readonly rule: {
@@ -18640,6 +18915,31 @@ declare const REACT_DOCTOR_RULES: readonly [{
18640
18915
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
18641
18916
  readonly create: (context: RuleContext) => RuleVisitors;
18642
18917
  };
18918
+ }, {
18919
+ readonly key: "react-doctor/tanstack-form-on-submit-requires-prevent-default";
18920
+ readonly id: "tanstack-form-on-submit-requires-prevent-default";
18921
+ readonly source: "react-doctor";
18922
+ readonly originallyExternal: false;
18923
+ readonly rule: {
18924
+ readonly framework: "global";
18925
+ readonly category: "Bugs";
18926
+ readonly id: string;
18927
+ readonly title?: string;
18928
+ readonly severity: RuleSeverity;
18929
+ readonly requires?: ReadonlyArray<Capability>;
18930
+ readonly minimumInkVersion?: string;
18931
+ readonly disabledWhen?: ReadonlyArray<Capability>;
18932
+ readonly tags?: ReadonlyArray<string>;
18933
+ readonly matchByOccurrence?: boolean;
18934
+ readonly defaultEnabled?: boolean;
18935
+ readonly lifecycle?: "retired";
18936
+ readonly execution?: RuleExecution;
18937
+ readonly scan?: FileScan;
18938
+ readonly committedFilesOnly?: boolean;
18939
+ readonly recommendation?: string;
18940
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
18941
+ readonly create: (context: RuleContext) => RuleVisitors;
18942
+ };
18643
18943
  }, {
18644
18944
  readonly key: "react-doctor/tanstack-start-get-mutation";
18645
18945
  readonly id: "tanstack-start-get-mutation";
@@ -19015,6 +19315,56 @@ declare const REACT_DOCTOR_RULES: readonly [{
19015
19315
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
19016
19316
  readonly create: (context: RuleContext) => RuleVisitors;
19017
19317
  };
19318
+ }, {
19319
+ readonly key: "react-doctor/tanstack-table-no-unstable-data-or-columns";
19320
+ readonly id: "tanstack-table-no-unstable-data-or-columns";
19321
+ readonly source: "react-doctor";
19322
+ readonly originallyExternal: false;
19323
+ readonly rule: {
19324
+ readonly framework: "global";
19325
+ readonly category: "Bugs";
19326
+ readonly id: string;
19327
+ readonly title?: string;
19328
+ readonly severity: RuleSeverity;
19329
+ readonly requires?: ReadonlyArray<Capability>;
19330
+ readonly minimumInkVersion?: string;
19331
+ readonly disabledWhen?: ReadonlyArray<Capability>;
19332
+ readonly tags?: ReadonlyArray<string>;
19333
+ readonly matchByOccurrence?: boolean;
19334
+ readonly defaultEnabled?: boolean;
19335
+ readonly lifecycle?: "retired";
19336
+ readonly execution?: RuleExecution;
19337
+ readonly scan?: FileScan;
19338
+ readonly committedFilesOnly?: boolean;
19339
+ readonly recommendation?: string;
19340
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
19341
+ readonly create: (context: RuleContext) => RuleVisitors;
19342
+ };
19343
+ }, {
19344
+ readonly key: "react-doctor/tanstack-virtual-measure-element-requires-data-index";
19345
+ readonly id: "tanstack-virtual-measure-element-requires-data-index";
19346
+ readonly source: "react-doctor";
19347
+ readonly originallyExternal: false;
19348
+ readonly rule: {
19349
+ readonly framework: "global";
19350
+ readonly category: "Bugs";
19351
+ readonly id: string;
19352
+ readonly title?: string;
19353
+ readonly severity: RuleSeverity;
19354
+ readonly requires?: ReadonlyArray<Capability>;
19355
+ readonly minimumInkVersion?: string;
19356
+ readonly disabledWhen?: ReadonlyArray<Capability>;
19357
+ readonly tags?: ReadonlyArray<string>;
19358
+ readonly matchByOccurrence?: boolean;
19359
+ readonly defaultEnabled?: boolean;
19360
+ readonly lifecycle?: "retired";
19361
+ readonly execution?: RuleExecution;
19362
+ readonly scan?: FileScan;
19363
+ readonly committedFilesOnly?: boolean;
19364
+ readonly recommendation?: string;
19365
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
19366
+ readonly create: (context: RuleContext) => RuleVisitors;
19367
+ };
19018
19368
  }, {
19019
19369
  readonly key: "react-doctor/tenant-static-proxy-risk";
19020
19370
  readonly id: "tenant-static-proxy-risk";
@@ -22891,6 +23241,81 @@ declare const REACT_DOCTOR_PROJECT_RULES: ({
22891
23241
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
22892
23242
  readonly create: (context: RuleContext) => RuleVisitors;
22893
23243
  };
23244
+ } | {
23245
+ readonly key: "react-doctor/base-ui-dialog-popup-requires-title";
23246
+ readonly id: "base-ui-dialog-popup-requires-title";
23247
+ readonly source: "react-doctor";
23248
+ readonly originallyExternal: false;
23249
+ readonly rule: {
23250
+ readonly framework: "global";
23251
+ readonly category: "Accessibility";
23252
+ readonly requires: readonly Capability[];
23253
+ readonly id: string;
23254
+ readonly title?: string;
23255
+ readonly severity: RuleSeverity;
23256
+ readonly minimumInkVersion?: string;
23257
+ readonly disabledWhen?: ReadonlyArray<Capability>;
23258
+ readonly tags?: ReadonlyArray<string>;
23259
+ readonly matchByOccurrence?: boolean;
23260
+ readonly defaultEnabled?: boolean;
23261
+ readonly lifecycle?: "retired";
23262
+ readonly execution?: RuleExecution;
23263
+ readonly scan?: FileScan;
23264
+ readonly committedFilesOnly?: boolean;
23265
+ readonly recommendation?: string;
23266
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
23267
+ readonly create: (context: RuleContext) => RuleVisitors;
23268
+ };
23269
+ } | {
23270
+ readonly key: "react-doctor/base-ui-field-requires-label";
23271
+ readonly id: "base-ui-field-requires-label";
23272
+ readonly source: "react-doctor";
23273
+ readonly originallyExternal: false;
23274
+ readonly rule: {
23275
+ readonly framework: "global";
23276
+ readonly category: "Accessibility";
23277
+ readonly requires: readonly Capability[];
23278
+ readonly id: string;
23279
+ readonly title?: string;
23280
+ readonly severity: RuleSeverity;
23281
+ readonly minimumInkVersion?: string;
23282
+ readonly disabledWhen?: ReadonlyArray<Capability>;
23283
+ readonly tags?: ReadonlyArray<string>;
23284
+ readonly matchByOccurrence?: boolean;
23285
+ readonly defaultEnabled?: boolean;
23286
+ readonly lifecycle?: "retired";
23287
+ readonly execution?: RuleExecution;
23288
+ readonly scan?: FileScan;
23289
+ readonly committedFilesOnly?: boolean;
23290
+ readonly recommendation?: string;
23291
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
23292
+ readonly create: (context: RuleContext) => RuleVisitors;
23293
+ };
23294
+ } | {
23295
+ readonly key: "react-doctor/base-ui-tabs-tab-requires-list";
23296
+ readonly id: "base-ui-tabs-tab-requires-list";
23297
+ readonly source: "react-doctor";
23298
+ readonly originallyExternal: false;
23299
+ readonly rule: {
23300
+ readonly framework: "global";
23301
+ readonly category: "Bugs";
23302
+ readonly id: string;
23303
+ readonly title?: string;
23304
+ readonly severity: RuleSeverity;
23305
+ readonly requires?: ReadonlyArray<Capability>;
23306
+ readonly minimumInkVersion?: string;
23307
+ readonly disabledWhen?: ReadonlyArray<Capability>;
23308
+ readonly tags?: ReadonlyArray<string>;
23309
+ readonly matchByOccurrence?: boolean;
23310
+ readonly defaultEnabled?: boolean;
23311
+ readonly lifecycle?: "retired";
23312
+ readonly execution?: RuleExecution;
23313
+ readonly scan?: FileScan;
23314
+ readonly committedFilesOnly?: boolean;
23315
+ readonly recommendation?: string;
23316
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
23317
+ readonly create: (context: RuleContext) => RuleVisitors;
23318
+ };
22894
23319
  } | {
22895
23320
  readonly key: "react-doctor/build-pipeline-secret-boundary";
22896
23321
  readonly id: "build-pipeline-secret-boundary";
@@ -37391,6 +37816,56 @@ declare const REACT_DOCTOR_PROJECT_RULES: ({
37391
37816
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
37392
37817
  readonly create: (context: RuleContext) => RuleVisitors;
37393
37818
  };
37819
+ } | {
37820
+ readonly key: "react-doctor/radix-dialog-content-requires-title";
37821
+ readonly id: "radix-dialog-content-requires-title";
37822
+ readonly source: "react-doctor";
37823
+ readonly originallyExternal: false;
37824
+ readonly rule: {
37825
+ readonly framework: "global";
37826
+ readonly category: "Accessibility";
37827
+ readonly requires: readonly Capability[];
37828
+ readonly id: string;
37829
+ readonly title?: string;
37830
+ readonly severity: RuleSeverity;
37831
+ readonly minimumInkVersion?: string;
37832
+ readonly disabledWhen?: ReadonlyArray<Capability>;
37833
+ readonly tags?: ReadonlyArray<string>;
37834
+ readonly matchByOccurrence?: boolean;
37835
+ readonly defaultEnabled?: boolean;
37836
+ readonly lifecycle?: "retired";
37837
+ readonly execution?: RuleExecution;
37838
+ readonly scan?: FileScan;
37839
+ readonly committedFilesOnly?: boolean;
37840
+ readonly recommendation?: string;
37841
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
37842
+ readonly create: (context: RuleContext) => RuleVisitors;
37843
+ };
37844
+ } | {
37845
+ readonly key: "react-doctor/radix-tabs-trigger-requires-list";
37846
+ readonly id: "radix-tabs-trigger-requires-list";
37847
+ readonly source: "react-doctor";
37848
+ readonly originallyExternal: false;
37849
+ readonly rule: {
37850
+ readonly framework: "global";
37851
+ readonly category: "Bugs";
37852
+ readonly id: string;
37853
+ readonly title?: string;
37854
+ readonly severity: RuleSeverity;
37855
+ readonly requires?: ReadonlyArray<Capability>;
37856
+ readonly minimumInkVersion?: string;
37857
+ readonly disabledWhen?: ReadonlyArray<Capability>;
37858
+ readonly tags?: ReadonlyArray<string>;
37859
+ readonly matchByOccurrence?: boolean;
37860
+ readonly defaultEnabled?: boolean;
37861
+ readonly lifecycle?: "retired";
37862
+ readonly execution?: RuleExecution;
37863
+ readonly scan?: FileScan;
37864
+ readonly committedFilesOnly?: boolean;
37865
+ readonly recommendation?: string;
37866
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
37867
+ readonly create: (context: RuleContext) => RuleVisitors;
37868
+ };
37394
37869
  } | {
37395
37870
  readonly key: "react-doctor/raw-sql-injection-risk";
37396
37871
  readonly id: "raw-sql-injection-risk";
@@ -37416,6 +37891,31 @@ declare const REACT_DOCTOR_PROJECT_RULES: ({
37416
37891
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
37417
37892
  readonly create: (context: RuleContext) => RuleVisitors;
37418
37893
  };
37894
+ } | {
37895
+ readonly key: "react-doctor/react-aria-dialog-requires-heading";
37896
+ readonly id: "react-aria-dialog-requires-heading";
37897
+ readonly source: "react-doctor";
37898
+ readonly originallyExternal: false;
37899
+ readonly rule: {
37900
+ readonly framework: "global";
37901
+ readonly category: "Accessibility";
37902
+ readonly requires: readonly Capability[];
37903
+ readonly id: string;
37904
+ readonly title?: string;
37905
+ readonly severity: RuleSeverity;
37906
+ readonly minimumInkVersion?: string;
37907
+ readonly disabledWhen?: ReadonlyArray<Capability>;
37908
+ readonly tags?: ReadonlyArray<string>;
37909
+ readonly matchByOccurrence?: boolean;
37910
+ readonly defaultEnabled?: boolean;
37911
+ readonly lifecycle?: "retired";
37912
+ readonly execution?: RuleExecution;
37913
+ readonly scan?: FileScan;
37914
+ readonly committedFilesOnly?: boolean;
37915
+ readonly recommendation?: string;
37916
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
37917
+ readonly create: (context: RuleContext) => RuleVisitors;
37918
+ };
37419
37919
  } | {
37420
37920
  readonly key: "react-doctor/react-compiler-no-manual-memoization";
37421
37921
  readonly id: "react-compiler-no-manual-memoization";
@@ -40691,6 +41191,131 @@ declare const REACT_DOCTOR_PROJECT_RULES: ({
40691
41191
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
40692
41192
  readonly create: (context: RuleContext) => RuleVisitors;
40693
41193
  };
41194
+ } | {
41195
+ readonly key: "react-doctor/shadcn-command-item-state-variant-requires-value";
41196
+ readonly id: "shadcn-command-item-state-variant-requires-value";
41197
+ readonly source: "react-doctor";
41198
+ readonly originallyExternal: false;
41199
+ readonly rule: {
41200
+ readonly framework: "global";
41201
+ readonly category: "Bugs";
41202
+ readonly id: string;
41203
+ readonly title?: string;
41204
+ readonly severity: RuleSeverity;
41205
+ readonly requires?: ReadonlyArray<Capability>;
41206
+ readonly minimumInkVersion?: string;
41207
+ readonly disabledWhen?: ReadonlyArray<Capability>;
41208
+ readonly tags?: ReadonlyArray<string>;
41209
+ readonly matchByOccurrence?: boolean;
41210
+ readonly defaultEnabled?: boolean;
41211
+ readonly lifecycle?: "retired";
41212
+ readonly execution?: RuleExecution;
41213
+ readonly scan?: FileScan;
41214
+ readonly committedFilesOnly?: boolean;
41215
+ readonly recommendation?: string;
41216
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
41217
+ readonly create: (context: RuleContext) => RuleVisitors;
41218
+ };
41219
+ } | {
41220
+ readonly key: "react-doctor/shadcn-dialog-content-requires-title";
41221
+ readonly id: "shadcn-dialog-content-requires-title";
41222
+ readonly source: "react-doctor";
41223
+ readonly originallyExternal: false;
41224
+ readonly rule: {
41225
+ readonly framework: "global";
41226
+ readonly category: "Accessibility";
41227
+ readonly requires: readonly Capability[];
41228
+ readonly id: string;
41229
+ readonly title?: string;
41230
+ readonly severity: RuleSeverity;
41231
+ readonly minimumInkVersion?: string;
41232
+ readonly disabledWhen?: ReadonlyArray<Capability>;
41233
+ readonly tags?: ReadonlyArray<string>;
41234
+ readonly matchByOccurrence?: boolean;
41235
+ readonly defaultEnabled?: boolean;
41236
+ readonly lifecycle?: "retired";
41237
+ readonly execution?: RuleExecution;
41238
+ readonly scan?: FileScan;
41239
+ readonly committedFilesOnly?: boolean;
41240
+ readonly recommendation?: string;
41241
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
41242
+ readonly create: (context: RuleContext) => RuleVisitors;
41243
+ };
41244
+ } | {
41245
+ readonly key: "react-doctor/shadcn-form-item-requires-label";
41246
+ readonly id: "shadcn-form-item-requires-label";
41247
+ readonly source: "react-doctor";
41248
+ readonly originallyExternal: false;
41249
+ readonly rule: {
41250
+ readonly framework: "global";
41251
+ readonly category: "Accessibility";
41252
+ readonly requires: readonly Capability[];
41253
+ readonly id: string;
41254
+ readonly title?: string;
41255
+ readonly severity: RuleSeverity;
41256
+ readonly minimumInkVersion?: string;
41257
+ readonly disabledWhen?: ReadonlyArray<Capability>;
41258
+ readonly tags?: ReadonlyArray<string>;
41259
+ readonly matchByOccurrence?: boolean;
41260
+ readonly defaultEnabled?: boolean;
41261
+ readonly lifecycle?: "retired";
41262
+ readonly execution?: RuleExecution;
41263
+ readonly scan?: FileScan;
41264
+ readonly committedFilesOnly?: boolean;
41265
+ readonly recommendation?: string;
41266
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
41267
+ readonly create: (context: RuleContext) => RuleVisitors;
41268
+ };
41269
+ } | {
41270
+ readonly key: "react-doctor/shadcn-icon-button-requires-label";
41271
+ readonly id: "shadcn-icon-button-requires-label";
41272
+ readonly source: "react-doctor";
41273
+ readonly originallyExternal: false;
41274
+ readonly rule: {
41275
+ readonly framework: "global";
41276
+ readonly category: "Accessibility";
41277
+ readonly requires: readonly Capability[];
41278
+ readonly id: string;
41279
+ readonly title?: string;
41280
+ readonly severity: RuleSeverity;
41281
+ readonly minimumInkVersion?: string;
41282
+ readonly disabledWhen?: ReadonlyArray<Capability>;
41283
+ readonly tags?: ReadonlyArray<string>;
41284
+ readonly matchByOccurrence?: boolean;
41285
+ readonly defaultEnabled?: boolean;
41286
+ readonly lifecycle?: "retired";
41287
+ readonly execution?: RuleExecution;
41288
+ readonly scan?: FileScan;
41289
+ readonly committedFilesOnly?: boolean;
41290
+ readonly recommendation?: string;
41291
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
41292
+ readonly create: (context: RuleContext) => RuleVisitors;
41293
+ };
41294
+ } | {
41295
+ readonly key: "react-doctor/shadcn-input-group-no-raw-controls";
41296
+ readonly id: "shadcn-input-group-no-raw-controls";
41297
+ readonly source: "react-doctor";
41298
+ readonly originallyExternal: false;
41299
+ readonly rule: {
41300
+ readonly framework: "global";
41301
+ readonly category: "Bugs";
41302
+ readonly id: string;
41303
+ readonly title?: string;
41304
+ readonly severity: RuleSeverity;
41305
+ readonly requires?: ReadonlyArray<Capability>;
41306
+ readonly minimumInkVersion?: string;
41307
+ readonly disabledWhen?: ReadonlyArray<Capability>;
41308
+ readonly tags?: ReadonlyArray<string>;
41309
+ readonly matchByOccurrence?: boolean;
41310
+ readonly defaultEnabled?: boolean;
41311
+ readonly lifecycle?: "retired";
41312
+ readonly execution?: RuleExecution;
41313
+ readonly scan?: FileScan;
41314
+ readonly committedFilesOnly?: boolean;
41315
+ readonly recommendation?: string;
41316
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
41317
+ readonly create: (context: RuleContext) => RuleVisitors;
41318
+ };
40694
41319
  } | {
40695
41320
  readonly key: "react-doctor/shadcn-tabs-trigger-requires-list";
40696
41321
  readonly id: "shadcn-tabs-trigger-requires-list";
@@ -40941,6 +41566,31 @@ declare const REACT_DOCTOR_PROJECT_RULES: ({
40941
41566
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
40942
41567
  readonly create: (context: RuleContext) => RuleVisitors;
40943
41568
  };
41569
+ } | {
41570
+ readonly key: "react-doctor/tanstack-form-on-submit-requires-prevent-default";
41571
+ readonly id: "tanstack-form-on-submit-requires-prevent-default";
41572
+ readonly source: "react-doctor";
41573
+ readonly originallyExternal: false;
41574
+ readonly rule: {
41575
+ readonly framework: "global";
41576
+ readonly category: "Bugs";
41577
+ readonly id: string;
41578
+ readonly title?: string;
41579
+ readonly severity: RuleSeverity;
41580
+ readonly requires?: ReadonlyArray<Capability>;
41581
+ readonly minimumInkVersion?: string;
41582
+ readonly disabledWhen?: ReadonlyArray<Capability>;
41583
+ readonly tags?: ReadonlyArray<string>;
41584
+ readonly matchByOccurrence?: boolean;
41585
+ readonly defaultEnabled?: boolean;
41586
+ readonly lifecycle?: "retired";
41587
+ readonly execution?: RuleExecution;
41588
+ readonly scan?: FileScan;
41589
+ readonly committedFilesOnly?: boolean;
41590
+ readonly recommendation?: string;
41591
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
41592
+ readonly create: (context: RuleContext) => RuleVisitors;
41593
+ };
40944
41594
  } | {
40945
41595
  readonly key: "react-doctor/tanstack-start-get-mutation";
40946
41596
  readonly id: "tanstack-start-get-mutation";
@@ -41316,6 +41966,56 @@ declare const REACT_DOCTOR_PROJECT_RULES: ({
41316
41966
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
41317
41967
  readonly create: (context: RuleContext) => RuleVisitors;
41318
41968
  };
41969
+ } | {
41970
+ readonly key: "react-doctor/tanstack-table-no-unstable-data-or-columns";
41971
+ readonly id: "tanstack-table-no-unstable-data-or-columns";
41972
+ readonly source: "react-doctor";
41973
+ readonly originallyExternal: false;
41974
+ readonly rule: {
41975
+ readonly framework: "global";
41976
+ readonly category: "Bugs";
41977
+ readonly id: string;
41978
+ readonly title?: string;
41979
+ readonly severity: RuleSeverity;
41980
+ readonly requires?: ReadonlyArray<Capability>;
41981
+ readonly minimumInkVersion?: string;
41982
+ readonly disabledWhen?: ReadonlyArray<Capability>;
41983
+ readonly tags?: ReadonlyArray<string>;
41984
+ readonly matchByOccurrence?: boolean;
41985
+ readonly defaultEnabled?: boolean;
41986
+ readonly lifecycle?: "retired";
41987
+ readonly execution?: RuleExecution;
41988
+ readonly scan?: FileScan;
41989
+ readonly committedFilesOnly?: boolean;
41990
+ readonly recommendation?: string;
41991
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
41992
+ readonly create: (context: RuleContext) => RuleVisitors;
41993
+ };
41994
+ } | {
41995
+ readonly key: "react-doctor/tanstack-virtual-measure-element-requires-data-index";
41996
+ readonly id: "tanstack-virtual-measure-element-requires-data-index";
41997
+ readonly source: "react-doctor";
41998
+ readonly originallyExternal: false;
41999
+ readonly rule: {
42000
+ readonly framework: "global";
42001
+ readonly category: "Bugs";
42002
+ readonly id: string;
42003
+ readonly title?: string;
42004
+ readonly severity: RuleSeverity;
42005
+ readonly requires?: ReadonlyArray<Capability>;
42006
+ readonly minimumInkVersion?: string;
42007
+ readonly disabledWhen?: ReadonlyArray<Capability>;
42008
+ readonly tags?: ReadonlyArray<string>;
42009
+ readonly matchByOccurrence?: boolean;
42010
+ readonly defaultEnabled?: boolean;
42011
+ readonly lifecycle?: "retired";
42012
+ readonly execution?: RuleExecution;
42013
+ readonly scan?: FileScan;
42014
+ readonly committedFilesOnly?: boolean;
42015
+ readonly recommendation?: string;
42016
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
42017
+ readonly create: (context: RuleContext) => RuleVisitors;
42018
+ };
41319
42019
  } | {
41320
42020
  readonly key: "react-doctor/tenant-static-proxy-risk";
41321
42021
  readonly id: "tenant-static-proxy-risk";
@@ -45193,6 +45893,81 @@ declare const RULES: readonly [{
45193
45893
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
45194
45894
  readonly create: (context: RuleContext) => RuleVisitors;
45195
45895
  };
45896
+ }, {
45897
+ readonly key: "react-doctor/base-ui-dialog-popup-requires-title";
45898
+ readonly id: "base-ui-dialog-popup-requires-title";
45899
+ readonly source: "react-doctor";
45900
+ readonly originallyExternal: false;
45901
+ readonly rule: {
45902
+ readonly framework: "global";
45903
+ readonly category: "Accessibility";
45904
+ readonly requires: readonly Capability[];
45905
+ readonly id: string;
45906
+ readonly title?: string;
45907
+ readonly severity: RuleSeverity;
45908
+ readonly minimumInkVersion?: string;
45909
+ readonly disabledWhen?: ReadonlyArray<Capability>;
45910
+ readonly tags?: ReadonlyArray<string>;
45911
+ readonly matchByOccurrence?: boolean;
45912
+ readonly defaultEnabled?: boolean;
45913
+ readonly lifecycle?: "retired";
45914
+ readonly execution?: RuleExecution;
45915
+ readonly scan?: FileScan;
45916
+ readonly committedFilesOnly?: boolean;
45917
+ readonly recommendation?: string;
45918
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
45919
+ readonly create: (context: RuleContext) => RuleVisitors;
45920
+ };
45921
+ }, {
45922
+ readonly key: "react-doctor/base-ui-field-requires-label";
45923
+ readonly id: "base-ui-field-requires-label";
45924
+ readonly source: "react-doctor";
45925
+ readonly originallyExternal: false;
45926
+ readonly rule: {
45927
+ readonly framework: "global";
45928
+ readonly category: "Accessibility";
45929
+ readonly requires: readonly Capability[];
45930
+ readonly id: string;
45931
+ readonly title?: string;
45932
+ readonly severity: RuleSeverity;
45933
+ readonly minimumInkVersion?: string;
45934
+ readonly disabledWhen?: ReadonlyArray<Capability>;
45935
+ readonly tags?: ReadonlyArray<string>;
45936
+ readonly matchByOccurrence?: boolean;
45937
+ readonly defaultEnabled?: boolean;
45938
+ readonly lifecycle?: "retired";
45939
+ readonly execution?: RuleExecution;
45940
+ readonly scan?: FileScan;
45941
+ readonly committedFilesOnly?: boolean;
45942
+ readonly recommendation?: string;
45943
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
45944
+ readonly create: (context: RuleContext) => RuleVisitors;
45945
+ };
45946
+ }, {
45947
+ readonly key: "react-doctor/base-ui-tabs-tab-requires-list";
45948
+ readonly id: "base-ui-tabs-tab-requires-list";
45949
+ readonly source: "react-doctor";
45950
+ readonly originallyExternal: false;
45951
+ readonly rule: {
45952
+ readonly framework: "global";
45953
+ readonly category: "Bugs";
45954
+ readonly id: string;
45955
+ readonly title?: string;
45956
+ readonly severity: RuleSeverity;
45957
+ readonly requires?: ReadonlyArray<Capability>;
45958
+ readonly minimumInkVersion?: string;
45959
+ readonly disabledWhen?: ReadonlyArray<Capability>;
45960
+ readonly tags?: ReadonlyArray<string>;
45961
+ readonly matchByOccurrence?: boolean;
45962
+ readonly defaultEnabled?: boolean;
45963
+ readonly lifecycle?: "retired";
45964
+ readonly execution?: RuleExecution;
45965
+ readonly scan?: FileScan;
45966
+ readonly committedFilesOnly?: boolean;
45967
+ readonly recommendation?: string;
45968
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
45969
+ readonly create: (context: RuleContext) => RuleVisitors;
45970
+ };
45196
45971
  }, {
45197
45972
  readonly key: "react-doctor/build-pipeline-secret-boundary";
45198
45973
  readonly id: "build-pipeline-secret-boundary";
@@ -59693,6 +60468,56 @@ declare const RULES: readonly [{
59693
60468
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
59694
60469
  readonly create: (context: RuleContext) => RuleVisitors;
59695
60470
  };
60471
+ }, {
60472
+ readonly key: "react-doctor/radix-dialog-content-requires-title";
60473
+ readonly id: "radix-dialog-content-requires-title";
60474
+ readonly source: "react-doctor";
60475
+ readonly originallyExternal: false;
60476
+ readonly rule: {
60477
+ readonly framework: "global";
60478
+ readonly category: "Accessibility";
60479
+ readonly requires: readonly Capability[];
60480
+ readonly id: string;
60481
+ readonly title?: string;
60482
+ readonly severity: RuleSeverity;
60483
+ readonly minimumInkVersion?: string;
60484
+ readonly disabledWhen?: ReadonlyArray<Capability>;
60485
+ readonly tags?: ReadonlyArray<string>;
60486
+ readonly matchByOccurrence?: boolean;
60487
+ readonly defaultEnabled?: boolean;
60488
+ readonly lifecycle?: "retired";
60489
+ readonly execution?: RuleExecution;
60490
+ readonly scan?: FileScan;
60491
+ readonly committedFilesOnly?: boolean;
60492
+ readonly recommendation?: string;
60493
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
60494
+ readonly create: (context: RuleContext) => RuleVisitors;
60495
+ };
60496
+ }, {
60497
+ readonly key: "react-doctor/radix-tabs-trigger-requires-list";
60498
+ readonly id: "radix-tabs-trigger-requires-list";
60499
+ readonly source: "react-doctor";
60500
+ readonly originallyExternal: false;
60501
+ readonly rule: {
60502
+ readonly framework: "global";
60503
+ readonly category: "Bugs";
60504
+ readonly id: string;
60505
+ readonly title?: string;
60506
+ readonly severity: RuleSeverity;
60507
+ readonly requires?: ReadonlyArray<Capability>;
60508
+ readonly minimumInkVersion?: string;
60509
+ readonly disabledWhen?: ReadonlyArray<Capability>;
60510
+ readonly tags?: ReadonlyArray<string>;
60511
+ readonly matchByOccurrence?: boolean;
60512
+ readonly defaultEnabled?: boolean;
60513
+ readonly lifecycle?: "retired";
60514
+ readonly execution?: RuleExecution;
60515
+ readonly scan?: FileScan;
60516
+ readonly committedFilesOnly?: boolean;
60517
+ readonly recommendation?: string;
60518
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
60519
+ readonly create: (context: RuleContext) => RuleVisitors;
60520
+ };
59696
60521
  }, {
59697
60522
  readonly key: "react-doctor/raw-sql-injection-risk";
59698
60523
  readonly id: "raw-sql-injection-risk";
@@ -59718,6 +60543,31 @@ declare const RULES: readonly [{
59718
60543
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
59719
60544
  readonly create: (context: RuleContext) => RuleVisitors;
59720
60545
  };
60546
+ }, {
60547
+ readonly key: "react-doctor/react-aria-dialog-requires-heading";
60548
+ readonly id: "react-aria-dialog-requires-heading";
60549
+ readonly source: "react-doctor";
60550
+ readonly originallyExternal: false;
60551
+ readonly rule: {
60552
+ readonly framework: "global";
60553
+ readonly category: "Accessibility";
60554
+ readonly requires: readonly Capability[];
60555
+ readonly id: string;
60556
+ readonly title?: string;
60557
+ readonly severity: RuleSeverity;
60558
+ readonly minimumInkVersion?: string;
60559
+ readonly disabledWhen?: ReadonlyArray<Capability>;
60560
+ readonly tags?: ReadonlyArray<string>;
60561
+ readonly matchByOccurrence?: boolean;
60562
+ readonly defaultEnabled?: boolean;
60563
+ readonly lifecycle?: "retired";
60564
+ readonly execution?: RuleExecution;
60565
+ readonly scan?: FileScan;
60566
+ readonly committedFilesOnly?: boolean;
60567
+ readonly recommendation?: string;
60568
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
60569
+ readonly create: (context: RuleContext) => RuleVisitors;
60570
+ };
59721
60571
  }, {
59722
60572
  readonly key: "react-doctor/react-compiler-no-manual-memoization";
59723
60573
  readonly id: "react-compiler-no-manual-memoization";
@@ -62993,6 +63843,131 @@ declare const RULES: readonly [{
62993
63843
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
62994
63844
  readonly create: (context: RuleContext) => RuleVisitors;
62995
63845
  };
63846
+ }, {
63847
+ readonly key: "react-doctor/shadcn-command-item-state-variant-requires-value";
63848
+ readonly id: "shadcn-command-item-state-variant-requires-value";
63849
+ readonly source: "react-doctor";
63850
+ readonly originallyExternal: false;
63851
+ readonly rule: {
63852
+ readonly framework: "global";
63853
+ readonly category: "Bugs";
63854
+ readonly id: string;
63855
+ readonly title?: string;
63856
+ readonly severity: RuleSeverity;
63857
+ readonly requires?: ReadonlyArray<Capability>;
63858
+ readonly minimumInkVersion?: string;
63859
+ readonly disabledWhen?: ReadonlyArray<Capability>;
63860
+ readonly tags?: ReadonlyArray<string>;
63861
+ readonly matchByOccurrence?: boolean;
63862
+ readonly defaultEnabled?: boolean;
63863
+ readonly lifecycle?: "retired";
63864
+ readonly execution?: RuleExecution;
63865
+ readonly scan?: FileScan;
63866
+ readonly committedFilesOnly?: boolean;
63867
+ readonly recommendation?: string;
63868
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
63869
+ readonly create: (context: RuleContext) => RuleVisitors;
63870
+ };
63871
+ }, {
63872
+ readonly key: "react-doctor/shadcn-dialog-content-requires-title";
63873
+ readonly id: "shadcn-dialog-content-requires-title";
63874
+ readonly source: "react-doctor";
63875
+ readonly originallyExternal: false;
63876
+ readonly rule: {
63877
+ readonly framework: "global";
63878
+ readonly category: "Accessibility";
63879
+ readonly requires: readonly Capability[];
63880
+ readonly id: string;
63881
+ readonly title?: string;
63882
+ readonly severity: RuleSeverity;
63883
+ readonly minimumInkVersion?: string;
63884
+ readonly disabledWhen?: ReadonlyArray<Capability>;
63885
+ readonly tags?: ReadonlyArray<string>;
63886
+ readonly matchByOccurrence?: boolean;
63887
+ readonly defaultEnabled?: boolean;
63888
+ readonly lifecycle?: "retired";
63889
+ readonly execution?: RuleExecution;
63890
+ readonly scan?: FileScan;
63891
+ readonly committedFilesOnly?: boolean;
63892
+ readonly recommendation?: string;
63893
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
63894
+ readonly create: (context: RuleContext) => RuleVisitors;
63895
+ };
63896
+ }, {
63897
+ readonly key: "react-doctor/shadcn-form-item-requires-label";
63898
+ readonly id: "shadcn-form-item-requires-label";
63899
+ readonly source: "react-doctor";
63900
+ readonly originallyExternal: false;
63901
+ readonly rule: {
63902
+ readonly framework: "global";
63903
+ readonly category: "Accessibility";
63904
+ readonly requires: readonly Capability[];
63905
+ readonly id: string;
63906
+ readonly title?: string;
63907
+ readonly severity: RuleSeverity;
63908
+ readonly minimumInkVersion?: string;
63909
+ readonly disabledWhen?: ReadonlyArray<Capability>;
63910
+ readonly tags?: ReadonlyArray<string>;
63911
+ readonly matchByOccurrence?: boolean;
63912
+ readonly defaultEnabled?: boolean;
63913
+ readonly lifecycle?: "retired";
63914
+ readonly execution?: RuleExecution;
63915
+ readonly scan?: FileScan;
63916
+ readonly committedFilesOnly?: boolean;
63917
+ readonly recommendation?: string;
63918
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
63919
+ readonly create: (context: RuleContext) => RuleVisitors;
63920
+ };
63921
+ }, {
63922
+ readonly key: "react-doctor/shadcn-icon-button-requires-label";
63923
+ readonly id: "shadcn-icon-button-requires-label";
63924
+ readonly source: "react-doctor";
63925
+ readonly originallyExternal: false;
63926
+ readonly rule: {
63927
+ readonly framework: "global";
63928
+ readonly category: "Accessibility";
63929
+ readonly requires: readonly Capability[];
63930
+ readonly id: string;
63931
+ readonly title?: string;
63932
+ readonly severity: RuleSeverity;
63933
+ readonly minimumInkVersion?: string;
63934
+ readonly disabledWhen?: ReadonlyArray<Capability>;
63935
+ readonly tags?: ReadonlyArray<string>;
63936
+ readonly matchByOccurrence?: boolean;
63937
+ readonly defaultEnabled?: boolean;
63938
+ readonly lifecycle?: "retired";
63939
+ readonly execution?: RuleExecution;
63940
+ readonly scan?: FileScan;
63941
+ readonly committedFilesOnly?: boolean;
63942
+ readonly recommendation?: string;
63943
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
63944
+ readonly create: (context: RuleContext) => RuleVisitors;
63945
+ };
63946
+ }, {
63947
+ readonly key: "react-doctor/shadcn-input-group-no-raw-controls";
63948
+ readonly id: "shadcn-input-group-no-raw-controls";
63949
+ readonly source: "react-doctor";
63950
+ readonly originallyExternal: false;
63951
+ readonly rule: {
63952
+ readonly framework: "global";
63953
+ readonly category: "Bugs";
63954
+ readonly id: string;
63955
+ readonly title?: string;
63956
+ readonly severity: RuleSeverity;
63957
+ readonly requires?: ReadonlyArray<Capability>;
63958
+ readonly minimumInkVersion?: string;
63959
+ readonly disabledWhen?: ReadonlyArray<Capability>;
63960
+ readonly tags?: ReadonlyArray<string>;
63961
+ readonly matchByOccurrence?: boolean;
63962
+ readonly defaultEnabled?: boolean;
63963
+ readonly lifecycle?: "retired";
63964
+ readonly execution?: RuleExecution;
63965
+ readonly scan?: FileScan;
63966
+ readonly committedFilesOnly?: boolean;
63967
+ readonly recommendation?: string;
63968
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
63969
+ readonly create: (context: RuleContext) => RuleVisitors;
63970
+ };
62996
63971
  }, {
62997
63972
  readonly key: "react-doctor/shadcn-tabs-trigger-requires-list";
62998
63973
  readonly id: "shadcn-tabs-trigger-requires-list";
@@ -63243,6 +64218,31 @@ declare const RULES: readonly [{
63243
64218
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
63244
64219
  readonly create: (context: RuleContext) => RuleVisitors;
63245
64220
  };
64221
+ }, {
64222
+ readonly key: "react-doctor/tanstack-form-on-submit-requires-prevent-default";
64223
+ readonly id: "tanstack-form-on-submit-requires-prevent-default";
64224
+ readonly source: "react-doctor";
64225
+ readonly originallyExternal: false;
64226
+ readonly rule: {
64227
+ readonly framework: "global";
64228
+ readonly category: "Bugs";
64229
+ readonly id: string;
64230
+ readonly title?: string;
64231
+ readonly severity: RuleSeverity;
64232
+ readonly requires?: ReadonlyArray<Capability>;
64233
+ readonly minimumInkVersion?: string;
64234
+ readonly disabledWhen?: ReadonlyArray<Capability>;
64235
+ readonly tags?: ReadonlyArray<string>;
64236
+ readonly matchByOccurrence?: boolean;
64237
+ readonly defaultEnabled?: boolean;
64238
+ readonly lifecycle?: "retired";
64239
+ readonly execution?: RuleExecution;
64240
+ readonly scan?: FileScan;
64241
+ readonly committedFilesOnly?: boolean;
64242
+ readonly recommendation?: string;
64243
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
64244
+ readonly create: (context: RuleContext) => RuleVisitors;
64245
+ };
63246
64246
  }, {
63247
64247
  readonly key: "react-doctor/tanstack-start-get-mutation";
63248
64248
  readonly id: "tanstack-start-get-mutation";
@@ -63618,6 +64618,56 @@ declare const RULES: readonly [{
63618
64618
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
63619
64619
  readonly create: (context: RuleContext) => RuleVisitors;
63620
64620
  };
64621
+ }, {
64622
+ readonly key: "react-doctor/tanstack-table-no-unstable-data-or-columns";
64623
+ readonly id: "tanstack-table-no-unstable-data-or-columns";
64624
+ readonly source: "react-doctor";
64625
+ readonly originallyExternal: false;
64626
+ readonly rule: {
64627
+ readonly framework: "global";
64628
+ readonly category: "Bugs";
64629
+ readonly id: string;
64630
+ readonly title?: string;
64631
+ readonly severity: RuleSeverity;
64632
+ readonly requires?: ReadonlyArray<Capability>;
64633
+ readonly minimumInkVersion?: string;
64634
+ readonly disabledWhen?: ReadonlyArray<Capability>;
64635
+ readonly tags?: ReadonlyArray<string>;
64636
+ readonly matchByOccurrence?: boolean;
64637
+ readonly defaultEnabled?: boolean;
64638
+ readonly lifecycle?: "retired";
64639
+ readonly execution?: RuleExecution;
64640
+ readonly scan?: FileScan;
64641
+ readonly committedFilesOnly?: boolean;
64642
+ readonly recommendation?: string;
64643
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
64644
+ readonly create: (context: RuleContext) => RuleVisitors;
64645
+ };
64646
+ }, {
64647
+ readonly key: "react-doctor/tanstack-virtual-measure-element-requires-data-index";
64648
+ readonly id: "tanstack-virtual-measure-element-requires-data-index";
64649
+ readonly source: "react-doctor";
64650
+ readonly originallyExternal: false;
64651
+ readonly rule: {
64652
+ readonly framework: "global";
64653
+ readonly category: "Bugs";
64654
+ readonly id: string;
64655
+ readonly title?: string;
64656
+ readonly severity: RuleSeverity;
64657
+ readonly requires?: ReadonlyArray<Capability>;
64658
+ readonly minimumInkVersion?: string;
64659
+ readonly disabledWhen?: ReadonlyArray<Capability>;
64660
+ readonly tags?: ReadonlyArray<string>;
64661
+ readonly matchByOccurrence?: boolean;
64662
+ readonly defaultEnabled?: boolean;
64663
+ readonly lifecycle?: "retired";
64664
+ readonly execution?: RuleExecution;
64665
+ readonly scan?: FileScan;
64666
+ readonly committedFilesOnly?: boolean;
64667
+ readonly recommendation?: string;
64668
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
64669
+ readonly create: (context: RuleContext) => RuleVisitors;
64670
+ };
63621
64671
  }, {
63622
64672
  readonly key: "react-doctor/tenant-static-proxy-risk";
63623
64673
  readonly id: "tenant-static-proxy-risk";