oxlint-plugin-react-doctor 0.7.3 → 0.7.4-dev.118f806
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 +231 -1
- package/dist/index.js +4152 -2511
- 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
|
|
@@ -1087,6 +1087,29 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
1087
1087
|
readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
|
|
1088
1088
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
1089
1089
|
};
|
|
1090
|
+
}, {
|
|
1091
|
+
readonly key: "react-doctor/effect-listener-cleanup-mismatch";
|
|
1092
|
+
readonly id: "effect-listener-cleanup-mismatch";
|
|
1093
|
+
readonly source: "react-doctor";
|
|
1094
|
+
readonly originallyExternal: false;
|
|
1095
|
+
readonly rule: {
|
|
1096
|
+
readonly framework: "global";
|
|
1097
|
+
readonly category: "Bugs";
|
|
1098
|
+
readonly requires: readonly Capability[];
|
|
1099
|
+
readonly id: string;
|
|
1100
|
+
readonly title?: string;
|
|
1101
|
+
readonly severity: RuleSeverity;
|
|
1102
|
+
readonly disabledWhen?: ReadonlyArray<Capability>;
|
|
1103
|
+
readonly tags?: ReadonlyArray<string>;
|
|
1104
|
+
readonly matchByOccurrence?: boolean;
|
|
1105
|
+
readonly defaultEnabled?: boolean;
|
|
1106
|
+
readonly lifecycle?: "retired";
|
|
1107
|
+
readonly scan?: FileScan;
|
|
1108
|
+
readonly committedFilesOnly?: boolean;
|
|
1109
|
+
readonly recommendation?: string;
|
|
1110
|
+
readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
|
|
1111
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
1112
|
+
};
|
|
1090
1113
|
}, {
|
|
1091
1114
|
readonly key: "react-doctor/effect-needs-cleanup";
|
|
1092
1115
|
readonly id: "effect-needs-cleanup";
|
|
@@ -4376,6 +4399,29 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
4376
4399
|
readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
|
|
4377
4400
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
4378
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
|
+
};
|
|
4379
4425
|
}, {
|
|
4380
4426
|
readonly key: "react-doctor/no-img-lazy-with-high-fetchpriority";
|
|
4381
4427
|
readonly id: "no-img-lazy-with-high-fetchpriority";
|
|
@@ -4399,6 +4445,29 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
4399
4445
|
readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
|
|
4400
4446
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
4401
4447
|
};
|
|
4448
|
+
}, {
|
|
4449
|
+
readonly key: "react-doctor/no-indeterminate-attribute";
|
|
4450
|
+
readonly id: "no-indeterminate-attribute";
|
|
4451
|
+
readonly source: "react-doctor";
|
|
4452
|
+
readonly originallyExternal: false;
|
|
4453
|
+
readonly rule: {
|
|
4454
|
+
readonly framework: "global";
|
|
4455
|
+
readonly category: "Bugs";
|
|
4456
|
+
readonly id: string;
|
|
4457
|
+
readonly title?: string;
|
|
4458
|
+
readonly severity: RuleSeverity;
|
|
4459
|
+
readonly requires?: ReadonlyArray<Capability>;
|
|
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
|
+
};
|
|
4402
4471
|
}, {
|
|
4403
4472
|
readonly key: "react-doctor/no-initialize-state";
|
|
4404
4473
|
readonly id: "no-initialize-state";
|
|
@@ -4790,6 +4859,29 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
4790
4859
|
readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
|
|
4791
4860
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
4792
4861
|
};
|
|
4862
|
+
}, {
|
|
4863
|
+
readonly key: "react-doctor/no-match-media-in-state-initializer";
|
|
4864
|
+
readonly id: "no-match-media-in-state-initializer";
|
|
4865
|
+
readonly source: "react-doctor";
|
|
4866
|
+
readonly originallyExternal: false;
|
|
4867
|
+
readonly rule: {
|
|
4868
|
+
readonly framework: "global";
|
|
4869
|
+
readonly category: "Bugs";
|
|
4870
|
+
readonly requires: readonly Capability[];
|
|
4871
|
+
readonly id: string;
|
|
4872
|
+
readonly title?: string;
|
|
4873
|
+
readonly severity: RuleSeverity;
|
|
4874
|
+
readonly disabledWhen?: ReadonlyArray<Capability>;
|
|
4875
|
+
readonly tags?: ReadonlyArray<string>;
|
|
4876
|
+
readonly matchByOccurrence?: boolean;
|
|
4877
|
+
readonly defaultEnabled?: boolean;
|
|
4878
|
+
readonly lifecycle?: "retired";
|
|
4879
|
+
readonly scan?: FileScan;
|
|
4880
|
+
readonly committedFilesOnly?: boolean;
|
|
4881
|
+
readonly recommendation?: string;
|
|
4882
|
+
readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
|
|
4883
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
4884
|
+
};
|
|
4793
4885
|
}, {
|
|
4794
4886
|
readonly key: "react-doctor/no-mirror-prop-effect";
|
|
4795
4887
|
readonly id: "no-mirror-prop-effect";
|
|
@@ -5848,6 +5940,29 @@ declare const REACT_DOCTOR_RULES: readonly [{
|
|
|
5848
5940
|
readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
|
|
5849
5941
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
5850
5942
|
};
|
|
5943
|
+
}, {
|
|
5944
|
+
readonly key: "react-doctor/no-unguarded-browser-global-in-render-or-hook-init";
|
|
5945
|
+
readonly id: "no-unguarded-browser-global-in-render-or-hook-init";
|
|
5946
|
+
readonly source: "react-doctor";
|
|
5947
|
+
readonly originallyExternal: false;
|
|
5948
|
+
readonly rule: {
|
|
5949
|
+
readonly framework: "global";
|
|
5950
|
+
readonly category: "Bugs";
|
|
5951
|
+
readonly requires: readonly Capability[];
|
|
5952
|
+
readonly id: string;
|
|
5953
|
+
readonly title?: string;
|
|
5954
|
+
readonly severity: RuleSeverity;
|
|
5955
|
+
readonly disabledWhen?: ReadonlyArray<Capability>;
|
|
5956
|
+
readonly tags?: ReadonlyArray<string>;
|
|
5957
|
+
readonly matchByOccurrence?: boolean;
|
|
5958
|
+
readonly defaultEnabled?: boolean;
|
|
5959
|
+
readonly lifecycle?: "retired";
|
|
5960
|
+
readonly scan?: FileScan;
|
|
5961
|
+
readonly committedFilesOnly?: boolean;
|
|
5962
|
+
readonly recommendation?: string;
|
|
5963
|
+
readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
|
|
5964
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
5965
|
+
};
|
|
5851
5966
|
}, {
|
|
5852
5967
|
readonly key: "react-doctor/no-unknown-property";
|
|
5853
5968
|
readonly id: "no-unknown-property";
|
|
@@ -10169,6 +10284,29 @@ declare const RULES: readonly [{
|
|
|
10169
10284
|
readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
|
|
10170
10285
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
10171
10286
|
};
|
|
10287
|
+
}, {
|
|
10288
|
+
readonly key: "react-doctor/effect-listener-cleanup-mismatch";
|
|
10289
|
+
readonly id: "effect-listener-cleanup-mismatch";
|
|
10290
|
+
readonly source: "react-doctor";
|
|
10291
|
+
readonly originallyExternal: false;
|
|
10292
|
+
readonly rule: {
|
|
10293
|
+
readonly framework: "global";
|
|
10294
|
+
readonly category: "Bugs";
|
|
10295
|
+
readonly requires: readonly Capability[];
|
|
10296
|
+
readonly id: string;
|
|
10297
|
+
readonly title?: string;
|
|
10298
|
+
readonly severity: RuleSeverity;
|
|
10299
|
+
readonly disabledWhen?: ReadonlyArray<Capability>;
|
|
10300
|
+
readonly tags?: ReadonlyArray<string>;
|
|
10301
|
+
readonly matchByOccurrence?: boolean;
|
|
10302
|
+
readonly defaultEnabled?: boolean;
|
|
10303
|
+
readonly lifecycle?: "retired";
|
|
10304
|
+
readonly scan?: FileScan;
|
|
10305
|
+
readonly committedFilesOnly?: boolean;
|
|
10306
|
+
readonly recommendation?: string;
|
|
10307
|
+
readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
|
|
10308
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
10309
|
+
};
|
|
10172
10310
|
}, {
|
|
10173
10311
|
readonly key: "react-doctor/effect-needs-cleanup";
|
|
10174
10312
|
readonly id: "effect-needs-cleanup";
|
|
@@ -13458,6 +13596,29 @@ declare const RULES: readonly [{
|
|
|
13458
13596
|
readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
|
|
13459
13597
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
13460
13598
|
};
|
|
13599
|
+
}, {
|
|
13600
|
+
readonly key: "react-doctor/no-hydration-branch-on-browser-global";
|
|
13601
|
+
readonly id: "no-hydration-branch-on-browser-global";
|
|
13602
|
+
readonly source: "react-doctor";
|
|
13603
|
+
readonly originallyExternal: false;
|
|
13604
|
+
readonly rule: {
|
|
13605
|
+
readonly framework: "global";
|
|
13606
|
+
readonly category: "Bugs";
|
|
13607
|
+
readonly requires: readonly Capability[];
|
|
13608
|
+
readonly id: string;
|
|
13609
|
+
readonly title?: string;
|
|
13610
|
+
readonly severity: RuleSeverity;
|
|
13611
|
+
readonly disabledWhen?: ReadonlyArray<Capability>;
|
|
13612
|
+
readonly tags?: ReadonlyArray<string>;
|
|
13613
|
+
readonly matchByOccurrence?: boolean;
|
|
13614
|
+
readonly defaultEnabled?: boolean;
|
|
13615
|
+
readonly lifecycle?: "retired";
|
|
13616
|
+
readonly scan?: FileScan;
|
|
13617
|
+
readonly committedFilesOnly?: boolean;
|
|
13618
|
+
readonly recommendation?: string;
|
|
13619
|
+
readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
|
|
13620
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
13621
|
+
};
|
|
13461
13622
|
}, {
|
|
13462
13623
|
readonly key: "react-doctor/no-img-lazy-with-high-fetchpriority";
|
|
13463
13624
|
readonly id: "no-img-lazy-with-high-fetchpriority";
|
|
@@ -13481,6 +13642,29 @@ declare const RULES: readonly [{
|
|
|
13481
13642
|
readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
|
|
13482
13643
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
13483
13644
|
};
|
|
13645
|
+
}, {
|
|
13646
|
+
readonly key: "react-doctor/no-indeterminate-attribute";
|
|
13647
|
+
readonly id: "no-indeterminate-attribute";
|
|
13648
|
+
readonly source: "react-doctor";
|
|
13649
|
+
readonly originallyExternal: false;
|
|
13650
|
+
readonly rule: {
|
|
13651
|
+
readonly framework: "global";
|
|
13652
|
+
readonly category: "Bugs";
|
|
13653
|
+
readonly id: string;
|
|
13654
|
+
readonly title?: string;
|
|
13655
|
+
readonly severity: RuleSeverity;
|
|
13656
|
+
readonly requires?: ReadonlyArray<Capability>;
|
|
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
|
+
};
|
|
13484
13668
|
}, {
|
|
13485
13669
|
readonly key: "react-doctor/no-initialize-state";
|
|
13486
13670
|
readonly id: "no-initialize-state";
|
|
@@ -13872,6 +14056,29 @@ declare const RULES: readonly [{
|
|
|
13872
14056
|
readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
|
|
13873
14057
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
13874
14058
|
};
|
|
14059
|
+
}, {
|
|
14060
|
+
readonly key: "react-doctor/no-match-media-in-state-initializer";
|
|
14061
|
+
readonly id: "no-match-media-in-state-initializer";
|
|
14062
|
+
readonly source: "react-doctor";
|
|
14063
|
+
readonly originallyExternal: false;
|
|
14064
|
+
readonly rule: {
|
|
14065
|
+
readonly framework: "global";
|
|
14066
|
+
readonly category: "Bugs";
|
|
14067
|
+
readonly requires: readonly Capability[];
|
|
14068
|
+
readonly id: string;
|
|
14069
|
+
readonly title?: string;
|
|
14070
|
+
readonly severity: RuleSeverity;
|
|
14071
|
+
readonly disabledWhen?: ReadonlyArray<Capability>;
|
|
14072
|
+
readonly tags?: ReadonlyArray<string>;
|
|
14073
|
+
readonly matchByOccurrence?: boolean;
|
|
14074
|
+
readonly defaultEnabled?: boolean;
|
|
14075
|
+
readonly lifecycle?: "retired";
|
|
14076
|
+
readonly scan?: FileScan;
|
|
14077
|
+
readonly committedFilesOnly?: boolean;
|
|
14078
|
+
readonly recommendation?: string;
|
|
14079
|
+
readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
|
|
14080
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
14081
|
+
};
|
|
13875
14082
|
}, {
|
|
13876
14083
|
readonly key: "react-doctor/no-mirror-prop-effect";
|
|
13877
14084
|
readonly id: "no-mirror-prop-effect";
|
|
@@ -14930,6 +15137,29 @@ declare const RULES: readonly [{
|
|
|
14930
15137
|
readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
|
|
14931
15138
|
readonly create: (context: RuleContext) => RuleVisitors;
|
|
14932
15139
|
};
|
|
15140
|
+
}, {
|
|
15141
|
+
readonly key: "react-doctor/no-unguarded-browser-global-in-render-or-hook-init";
|
|
15142
|
+
readonly id: "no-unguarded-browser-global-in-render-or-hook-init";
|
|
15143
|
+
readonly source: "react-doctor";
|
|
15144
|
+
readonly originallyExternal: false;
|
|
15145
|
+
readonly rule: {
|
|
15146
|
+
readonly framework: "global";
|
|
15147
|
+
readonly category: "Bugs";
|
|
15148
|
+
readonly requires: readonly Capability[];
|
|
15149
|
+
readonly id: string;
|
|
15150
|
+
readonly title?: string;
|
|
15151
|
+
readonly severity: RuleSeverity;
|
|
15152
|
+
readonly disabledWhen?: ReadonlyArray<Capability>;
|
|
15153
|
+
readonly tags?: ReadonlyArray<string>;
|
|
15154
|
+
readonly matchByOccurrence?: boolean;
|
|
15155
|
+
readonly defaultEnabled?: boolean;
|
|
15156
|
+
readonly lifecycle?: "retired";
|
|
15157
|
+
readonly scan?: FileScan;
|
|
15158
|
+
readonly committedFilesOnly?: boolean;
|
|
15159
|
+
readonly recommendation?: string;
|
|
15160
|
+
readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
|
|
15161
|
+
readonly create: (context: RuleContext) => RuleVisitors;
|
|
15162
|
+
};
|
|
14933
15163
|
}, {
|
|
14934
15164
|
readonly key: "react-doctor/no-unknown-property";
|
|
14935
15165
|
readonly id: "no-unknown-property";
|