oxlint-plugin-react-doctor 0.7.4-dev.70b5d99 → 0.7.4-dev.7bbb792

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 +185 -1
  2. package/dist/index.js +2755 -920
  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" | "pure-preact" | "react-native" | "server-actions" | "client-only" | "nextjs:static-export" | "nextjs:15" | "tailwind" | "tailwind:3.4" | "zod" | "zod:4" | "typescript" | "react-compiler" | "tanstack-query" | "pre-es2023" | `react:${number}` | `preact:${number}`;
103
+ type Capability = FrameworkToken | "react" | "pure-preact" | "react-native" | "server-actions" | "ssr" | "client-only" | "nextjs:static-export" | "nextjs:15" | "tailwind" | "tailwind:3.4" | "zod" | "zod:4" | "typescript" | "react-compiler" | "tanstack-query" | "pre-es2023" | `react:${number}` | `preact:${number}`;
104
104
  type CapabilityQuery = (capability: Capability) => boolean;
105
105
  //#endregion
106
106
  //#region src/plugin/utils/file-scan.d.ts
@@ -4399,6 +4399,29 @@ declare const REACT_DOCTOR_RULES: readonly [{
4399
4399
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
4400
4400
  readonly create: (context: RuleContext) => RuleVisitors;
4401
4401
  };
4402
+ }, {
4403
+ readonly key: "react-doctor/no-hydration-branch-on-browser-global";
4404
+ readonly id: "no-hydration-branch-on-browser-global";
4405
+ readonly source: "react-doctor";
4406
+ readonly originallyExternal: false;
4407
+ readonly rule: {
4408
+ readonly framework: "global";
4409
+ readonly category: "Bugs";
4410
+ readonly requires: readonly Capability[];
4411
+ readonly id: string;
4412
+ readonly title?: string;
4413
+ readonly severity: RuleSeverity;
4414
+ readonly disabledWhen?: ReadonlyArray<Capability>;
4415
+ readonly tags?: ReadonlyArray<string>;
4416
+ readonly matchByOccurrence?: boolean;
4417
+ readonly defaultEnabled?: boolean;
4418
+ readonly lifecycle?: "retired";
4419
+ readonly scan?: FileScan;
4420
+ readonly committedFilesOnly?: boolean;
4421
+ readonly recommendation?: string;
4422
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
4423
+ readonly create: (context: RuleContext) => RuleVisitors;
4424
+ };
4402
4425
  }, {
4403
4426
  readonly key: "react-doctor/no-img-lazy-with-high-fetchpriority";
4404
4427
  readonly id: "no-img-lazy-with-high-fetchpriority";
@@ -4422,6 +4445,29 @@ declare const REACT_DOCTOR_RULES: readonly [{
4422
4445
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
4423
4446
  readonly create: (context: RuleContext) => RuleVisitors;
4424
4447
  };
4448
+ }, {
4449
+ readonly key: "react-doctor/no-impure-state-updater";
4450
+ readonly id: "no-impure-state-updater";
4451
+ readonly source: "react-doctor";
4452
+ readonly originallyExternal: false;
4453
+ readonly rule: {
4454
+ readonly framework: "global";
4455
+ readonly category: "Bugs";
4456
+ readonly requires: readonly Capability[];
4457
+ readonly id: string;
4458
+ readonly title?: string;
4459
+ readonly severity: RuleSeverity;
4460
+ readonly disabledWhen?: ReadonlyArray<Capability>;
4461
+ readonly tags?: ReadonlyArray<string>;
4462
+ readonly matchByOccurrence?: boolean;
4463
+ readonly defaultEnabled?: boolean;
4464
+ readonly lifecycle?: "retired";
4465
+ readonly scan?: FileScan;
4466
+ readonly committedFilesOnly?: boolean;
4467
+ readonly recommendation?: string;
4468
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
4469
+ readonly create: (context: RuleContext) => RuleVisitors;
4470
+ };
4425
4471
  }, {
4426
4472
  readonly key: "react-doctor/no-indeterminate-attribute";
4427
4473
  readonly id: "no-indeterminate-attribute";
@@ -5434,6 +5480,29 @@ declare const REACT_DOCTOR_RULES: readonly [{
5434
5480
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
5435
5481
  readonly create: (context: RuleContext) => RuleVisitors;
5436
5482
  };
5483
+ }, {
5484
+ readonly key: "react-doctor/no-ref-current-in-render";
5485
+ readonly id: "no-ref-current-in-render";
5486
+ readonly source: "react-doctor";
5487
+ readonly originallyExternal: false;
5488
+ readonly rule: {
5489
+ readonly framework: "global";
5490
+ readonly category: "Bugs";
5491
+ readonly requires: readonly Capability[];
5492
+ readonly id: string;
5493
+ readonly title?: string;
5494
+ readonly severity: RuleSeverity;
5495
+ readonly disabledWhen?: ReadonlyArray<Capability>;
5496
+ readonly tags?: ReadonlyArray<string>;
5497
+ readonly matchByOccurrence?: boolean;
5498
+ readonly defaultEnabled?: boolean;
5499
+ readonly lifecycle?: "retired";
5500
+ readonly scan?: FileScan;
5501
+ readonly committedFilesOnly?: boolean;
5502
+ readonly recommendation?: string;
5503
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
5504
+ readonly create: (context: RuleContext) => RuleVisitors;
5505
+ };
5437
5506
  }, {
5438
5507
  readonly key: "react-doctor/no-render-in-render";
5439
5508
  readonly id: "no-render-in-render";
@@ -5917,6 +5986,29 @@ declare const REACT_DOCTOR_RULES: readonly [{
5917
5986
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
5918
5987
  readonly create: (context: RuleContext) => RuleVisitors;
5919
5988
  };
5989
+ }, {
5990
+ readonly key: "react-doctor/no-unguarded-browser-global-in-render-or-hook-init";
5991
+ readonly id: "no-unguarded-browser-global-in-render-or-hook-init";
5992
+ readonly source: "react-doctor";
5993
+ readonly originallyExternal: false;
5994
+ readonly rule: {
5995
+ readonly framework: "global";
5996
+ readonly category: "Bugs";
5997
+ readonly requires: readonly Capability[];
5998
+ readonly id: string;
5999
+ readonly title?: string;
6000
+ readonly severity: RuleSeverity;
6001
+ readonly disabledWhen?: ReadonlyArray<Capability>;
6002
+ readonly tags?: ReadonlyArray<string>;
6003
+ readonly matchByOccurrence?: boolean;
6004
+ readonly defaultEnabled?: boolean;
6005
+ readonly lifecycle?: "retired";
6006
+ readonly scan?: FileScan;
6007
+ readonly committedFilesOnly?: boolean;
6008
+ readonly recommendation?: string;
6009
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
6010
+ readonly create: (context: RuleContext) => RuleVisitors;
6011
+ };
5920
6012
  }, {
5921
6013
  readonly key: "react-doctor/no-unknown-property";
5922
6014
  readonly id: "no-unknown-property";
@@ -13550,6 +13642,29 @@ declare const RULES: readonly [{
13550
13642
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
13551
13643
  readonly create: (context: RuleContext) => RuleVisitors;
13552
13644
  };
13645
+ }, {
13646
+ readonly key: "react-doctor/no-hydration-branch-on-browser-global";
13647
+ readonly id: "no-hydration-branch-on-browser-global";
13648
+ readonly source: "react-doctor";
13649
+ readonly originallyExternal: false;
13650
+ readonly rule: {
13651
+ readonly framework: "global";
13652
+ readonly category: "Bugs";
13653
+ readonly requires: readonly Capability[];
13654
+ readonly id: string;
13655
+ readonly title?: string;
13656
+ readonly severity: RuleSeverity;
13657
+ readonly disabledWhen?: ReadonlyArray<Capability>;
13658
+ readonly tags?: ReadonlyArray<string>;
13659
+ readonly matchByOccurrence?: boolean;
13660
+ readonly defaultEnabled?: boolean;
13661
+ readonly lifecycle?: "retired";
13662
+ readonly scan?: FileScan;
13663
+ readonly committedFilesOnly?: boolean;
13664
+ readonly recommendation?: string;
13665
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
13666
+ readonly create: (context: RuleContext) => RuleVisitors;
13667
+ };
13553
13668
  }, {
13554
13669
  readonly key: "react-doctor/no-img-lazy-with-high-fetchpriority";
13555
13670
  readonly id: "no-img-lazy-with-high-fetchpriority";
@@ -13573,6 +13688,29 @@ declare const RULES: readonly [{
13573
13688
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
13574
13689
  readonly create: (context: RuleContext) => RuleVisitors;
13575
13690
  };
13691
+ }, {
13692
+ readonly key: "react-doctor/no-impure-state-updater";
13693
+ readonly id: "no-impure-state-updater";
13694
+ readonly source: "react-doctor";
13695
+ readonly originallyExternal: false;
13696
+ readonly rule: {
13697
+ readonly framework: "global";
13698
+ readonly category: "Bugs";
13699
+ readonly requires: readonly Capability[];
13700
+ readonly id: string;
13701
+ readonly title?: string;
13702
+ readonly severity: RuleSeverity;
13703
+ readonly disabledWhen?: ReadonlyArray<Capability>;
13704
+ readonly tags?: ReadonlyArray<string>;
13705
+ readonly matchByOccurrence?: boolean;
13706
+ readonly defaultEnabled?: boolean;
13707
+ readonly lifecycle?: "retired";
13708
+ readonly scan?: FileScan;
13709
+ readonly committedFilesOnly?: boolean;
13710
+ readonly recommendation?: string;
13711
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
13712
+ readonly create: (context: RuleContext) => RuleVisitors;
13713
+ };
13576
13714
  }, {
13577
13715
  readonly key: "react-doctor/no-indeterminate-attribute";
13578
13716
  readonly id: "no-indeterminate-attribute";
@@ -14585,6 +14723,29 @@ declare const RULES: readonly [{
14585
14723
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
14586
14724
  readonly create: (context: RuleContext) => RuleVisitors;
14587
14725
  };
14726
+ }, {
14727
+ readonly key: "react-doctor/no-ref-current-in-render";
14728
+ readonly id: "no-ref-current-in-render";
14729
+ readonly source: "react-doctor";
14730
+ readonly originallyExternal: false;
14731
+ readonly rule: {
14732
+ readonly framework: "global";
14733
+ readonly category: "Bugs";
14734
+ readonly requires: readonly Capability[];
14735
+ readonly id: string;
14736
+ readonly title?: string;
14737
+ readonly severity: RuleSeverity;
14738
+ readonly disabledWhen?: ReadonlyArray<Capability>;
14739
+ readonly tags?: ReadonlyArray<string>;
14740
+ readonly matchByOccurrence?: boolean;
14741
+ readonly defaultEnabled?: boolean;
14742
+ readonly lifecycle?: "retired";
14743
+ readonly scan?: FileScan;
14744
+ readonly committedFilesOnly?: boolean;
14745
+ readonly recommendation?: string;
14746
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
14747
+ readonly create: (context: RuleContext) => RuleVisitors;
14748
+ };
14588
14749
  }, {
14589
14750
  readonly key: "react-doctor/no-render-in-render";
14590
14751
  readonly id: "no-render-in-render";
@@ -15068,6 +15229,29 @@ declare const RULES: readonly [{
15068
15229
  readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
15069
15230
  readonly create: (context: RuleContext) => RuleVisitors;
15070
15231
  };
15232
+ }, {
15233
+ readonly key: "react-doctor/no-unguarded-browser-global-in-render-or-hook-init";
15234
+ readonly id: "no-unguarded-browser-global-in-render-or-hook-init";
15235
+ readonly source: "react-doctor";
15236
+ readonly originallyExternal: false;
15237
+ readonly rule: {
15238
+ readonly framework: "global";
15239
+ readonly category: "Bugs";
15240
+ readonly requires: readonly Capability[];
15241
+ readonly id: string;
15242
+ readonly title?: string;
15243
+ readonly severity: RuleSeverity;
15244
+ readonly disabledWhen?: ReadonlyArray<Capability>;
15245
+ readonly tags?: ReadonlyArray<string>;
15246
+ readonly matchByOccurrence?: boolean;
15247
+ readonly defaultEnabled?: boolean;
15248
+ readonly lifecycle?: "retired";
15249
+ readonly scan?: FileScan;
15250
+ readonly committedFilesOnly?: boolean;
15251
+ readonly recommendation?: string;
15252
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
15253
+ readonly create: (context: RuleContext) => RuleVisitors;
15254
+ };
15071
15255
  }, {
15072
15256
  readonly key: "react-doctor/no-unknown-property";
15073
15257
  readonly id: "no-unknown-property";