oxlint-plugin-react-doctor 0.3.0 → 0.4.0-dev.36ecd05

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 +342 -0
  2. package/dist/index.js +496 -124
  3. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -1829,6 +1829,44 @@ declare const REACT_DOCTOR_RULES: readonly [{
1829
1829
  readonly recommendation?: string;
1830
1830
  readonly create: (context: RuleContext) => RuleVisitors;
1831
1831
  };
1832
+ }, {
1833
+ readonly key: "react-doctor/nextjs-error-boundary-missing-use-client";
1834
+ readonly id: "nextjs-error-boundary-missing-use-client";
1835
+ readonly source: "react-doctor";
1836
+ readonly originallyExternal: false;
1837
+ readonly rule: {
1838
+ readonly framework: "nextjs";
1839
+ readonly category: "Bugs";
1840
+ readonly id: string;
1841
+ readonly title?: string;
1842
+ readonly severity: RuleSeverity;
1843
+ readonly requires?: ReadonlyArray<string>;
1844
+ readonly disabledBy?: ReadonlyArray<string>;
1845
+ readonly tags?: ReadonlyArray<string>;
1846
+ readonly defaultEnabled?: boolean;
1847
+ readonly lifecycle?: "retired";
1848
+ readonly recommendation?: string;
1849
+ readonly create: (context: RuleContext) => RuleVisitors;
1850
+ };
1851
+ }, {
1852
+ readonly key: "react-doctor/nextjs-global-error-missing-html-body";
1853
+ readonly id: "nextjs-global-error-missing-html-body";
1854
+ readonly source: "react-doctor";
1855
+ readonly originallyExternal: false;
1856
+ readonly rule: {
1857
+ readonly framework: "nextjs";
1858
+ readonly category: "Bugs";
1859
+ readonly id: string;
1860
+ readonly title?: string;
1861
+ readonly severity: RuleSeverity;
1862
+ readonly requires?: ReadonlyArray<string>;
1863
+ readonly disabledBy?: ReadonlyArray<string>;
1864
+ readonly tags?: ReadonlyArray<string>;
1865
+ readonly defaultEnabled?: boolean;
1866
+ readonly lifecycle?: "retired";
1867
+ readonly recommendation?: string;
1868
+ readonly create: (context: RuleContext) => RuleVisitors;
1869
+ };
1832
1870
  }, {
1833
1871
  readonly key: "react-doctor/nextjs-image-missing-sizes";
1834
1872
  readonly id: "nextjs-image-missing-sizes";
@@ -1962,6 +2000,44 @@ declare const REACT_DOCTOR_RULES: readonly [{
1962
2000
  readonly recommendation?: string;
1963
2001
  readonly create: (context: RuleContext) => RuleVisitors;
1964
2002
  };
2003
+ }, {
2004
+ readonly key: "react-doctor/nextjs-no-default-export-in-route-handler";
2005
+ readonly id: "nextjs-no-default-export-in-route-handler";
2006
+ readonly source: "react-doctor";
2007
+ readonly originallyExternal: false;
2008
+ readonly rule: {
2009
+ readonly framework: "nextjs";
2010
+ readonly category: "Bugs";
2011
+ readonly id: string;
2012
+ readonly title?: string;
2013
+ readonly severity: RuleSeverity;
2014
+ readonly requires?: ReadonlyArray<string>;
2015
+ readonly disabledBy?: ReadonlyArray<string>;
2016
+ readonly tags?: ReadonlyArray<string>;
2017
+ readonly defaultEnabled?: boolean;
2018
+ readonly lifecycle?: "retired";
2019
+ readonly recommendation?: string;
2020
+ readonly create: (context: RuleContext) => RuleVisitors;
2021
+ };
2022
+ }, {
2023
+ readonly key: "react-doctor/nextjs-no-edge-og-runtime";
2024
+ readonly id: "nextjs-no-edge-og-runtime";
2025
+ readonly source: "react-doctor";
2026
+ readonly originallyExternal: false;
2027
+ readonly rule: {
2028
+ readonly framework: "nextjs";
2029
+ readonly category: "Bugs";
2030
+ readonly id: string;
2031
+ readonly title?: string;
2032
+ readonly severity: RuleSeverity;
2033
+ readonly requires?: ReadonlyArray<string>;
2034
+ readonly disabledBy?: ReadonlyArray<string>;
2035
+ readonly tags?: ReadonlyArray<string>;
2036
+ readonly defaultEnabled?: boolean;
2037
+ readonly lifecycle?: "retired";
2038
+ readonly recommendation?: string;
2039
+ readonly create: (context: RuleContext) => RuleVisitors;
2040
+ };
1965
2041
  }, {
1966
2042
  readonly key: "react-doctor/nextjs-no-font-link";
1967
2043
  readonly id: "nextjs-no-font-link";
@@ -1981,6 +2057,25 @@ declare const REACT_DOCTOR_RULES: readonly [{
1981
2057
  readonly recommendation?: string;
1982
2058
  readonly create: (context: RuleContext) => RuleVisitors;
1983
2059
  };
2060
+ }, {
2061
+ readonly key: "react-doctor/nextjs-no-google-analytics-script";
2062
+ readonly id: "nextjs-no-google-analytics-script";
2063
+ readonly source: "react-doctor";
2064
+ readonly originallyExternal: false;
2065
+ readonly rule: {
2066
+ readonly framework: "nextjs";
2067
+ readonly category: "Bugs";
2068
+ readonly id: string;
2069
+ readonly title?: string;
2070
+ readonly severity: RuleSeverity;
2071
+ readonly requires?: ReadonlyArray<string>;
2072
+ readonly disabledBy?: ReadonlyArray<string>;
2073
+ readonly tags?: ReadonlyArray<string>;
2074
+ readonly defaultEnabled?: boolean;
2075
+ readonly lifecycle?: "retired";
2076
+ readonly recommendation?: string;
2077
+ readonly create: (context: RuleContext) => RuleVisitors;
2078
+ };
1984
2079
  }, {
1985
2080
  readonly key: "react-doctor/nextjs-no-head-import";
1986
2081
  readonly id: "nextjs-no-head-import";
@@ -2076,6 +2171,25 @@ declare const REACT_DOCTOR_RULES: readonly [{
2076
2171
  readonly recommendation?: string;
2077
2172
  readonly create: (context: RuleContext) => RuleVisitors;
2078
2173
  };
2174
+ }, {
2175
+ readonly key: "react-doctor/nextjs-no-script-in-head";
2176
+ readonly id: "nextjs-no-script-in-head";
2177
+ readonly source: "react-doctor";
2178
+ readonly originallyExternal: false;
2179
+ readonly rule: {
2180
+ readonly framework: "nextjs";
2181
+ readonly category: "Bugs";
2182
+ readonly id: string;
2183
+ readonly title?: string;
2184
+ readonly severity: RuleSeverity;
2185
+ readonly requires?: ReadonlyArray<string>;
2186
+ readonly disabledBy?: ReadonlyArray<string>;
2187
+ readonly tags?: ReadonlyArray<string>;
2188
+ readonly defaultEnabled?: boolean;
2189
+ readonly lifecycle?: "retired";
2190
+ readonly recommendation?: string;
2191
+ readonly create: (context: RuleContext) => RuleVisitors;
2192
+ };
2079
2193
  }, {
2080
2194
  readonly key: "react-doctor/nextjs-no-side-effect-in-get-handler";
2081
2195
  readonly id: "nextjs-no-side-effect-in-get-handler";
@@ -2114,6 +2228,25 @@ declare const REACT_DOCTOR_RULES: readonly [{
2114
2228
  readonly recommendation?: string;
2115
2229
  readonly create: (context: RuleContext) => RuleVisitors;
2116
2230
  };
2231
+ }, {
2232
+ readonly key: "react-doctor/nextjs-no-vercel-og-import";
2233
+ readonly id: "nextjs-no-vercel-og-import";
2234
+ readonly source: "react-doctor";
2235
+ readonly originallyExternal: false;
2236
+ readonly rule: {
2237
+ readonly framework: "nextjs";
2238
+ readonly category: "Bugs";
2239
+ readonly id: string;
2240
+ readonly title?: string;
2241
+ readonly severity: RuleSeverity;
2242
+ readonly requires?: ReadonlyArray<string>;
2243
+ readonly disabledBy?: ReadonlyArray<string>;
2244
+ readonly tags?: ReadonlyArray<string>;
2245
+ readonly defaultEnabled?: boolean;
2246
+ readonly lifecycle?: "retired";
2247
+ readonly recommendation?: string;
2248
+ readonly create: (context: RuleContext) => RuleVisitors;
2249
+ };
2117
2250
  }, {
2118
2251
  readonly key: "react-doctor/no-access-key";
2119
2252
  readonly id: "no-access-key";
@@ -3064,6 +3197,25 @@ declare const REACT_DOCTOR_RULES: readonly [{
3064
3197
  readonly recommendation?: string;
3065
3198
  readonly create: (context: RuleContext) => RuleVisitors;
3066
3199
  };
3200
+ }, {
3201
+ readonly key: "react-doctor/no-jsx-element-type";
3202
+ readonly id: "no-jsx-element-type";
3203
+ readonly source: "react-doctor";
3204
+ readonly originallyExternal: false;
3205
+ readonly rule: {
3206
+ readonly framework: "global";
3207
+ readonly category: "Bugs";
3208
+ readonly id: string;
3209
+ readonly title?: string;
3210
+ readonly severity: RuleSeverity;
3211
+ readonly requires?: ReadonlyArray<string>;
3212
+ readonly disabledBy?: ReadonlyArray<string>;
3213
+ readonly tags?: ReadonlyArray<string>;
3214
+ readonly defaultEnabled?: boolean;
3215
+ readonly lifecycle?: "retired";
3216
+ readonly recommendation?: string;
3217
+ readonly create: (context: RuleContext) => RuleVisitors;
3218
+ };
3067
3219
  }, {
3068
3220
  readonly key: "react-doctor/no-justified-text";
3069
3221
  readonly id: "no-justified-text";
@@ -4489,6 +4641,25 @@ declare const REACT_DOCTOR_RULES: readonly [{
4489
4641
  readonly recommendation?: string;
4490
4642
  readonly create: (context: RuleContext) => RuleVisitors;
4491
4643
  };
4644
+ }, {
4645
+ readonly key: "react-doctor/query-destructure-result";
4646
+ readonly id: "query-destructure-result";
4647
+ readonly source: "react-doctor";
4648
+ readonly originallyExternal: false;
4649
+ readonly rule: {
4650
+ readonly framework: "tanstack-query";
4651
+ readonly category: "Bugs";
4652
+ readonly id: string;
4653
+ readonly title?: string;
4654
+ readonly severity: RuleSeverity;
4655
+ readonly requires?: ReadonlyArray<string>;
4656
+ readonly disabledBy?: ReadonlyArray<string>;
4657
+ readonly tags?: ReadonlyArray<string>;
4658
+ readonly defaultEnabled?: boolean;
4659
+ readonly lifecycle?: "retired";
4660
+ readonly recommendation?: string;
4661
+ readonly create: (context: RuleContext) => RuleVisitors;
4662
+ };
4492
4663
  }, {
4493
4664
  readonly key: "react-doctor/query-mutation-missing-invalidation";
4494
4665
  readonly id: "query-mutation-missing-invalidation";
@@ -8127,6 +8298,44 @@ declare const RULES: readonly [{
8127
8298
  readonly recommendation?: string;
8128
8299
  readonly create: (context: RuleContext) => RuleVisitors;
8129
8300
  };
8301
+ }, {
8302
+ readonly key: "react-doctor/nextjs-error-boundary-missing-use-client";
8303
+ readonly id: "nextjs-error-boundary-missing-use-client";
8304
+ readonly source: "react-doctor";
8305
+ readonly originallyExternal: false;
8306
+ readonly rule: {
8307
+ readonly framework: "nextjs";
8308
+ readonly category: "Bugs";
8309
+ readonly id: string;
8310
+ readonly title?: string;
8311
+ readonly severity: RuleSeverity;
8312
+ readonly requires?: ReadonlyArray<string>;
8313
+ readonly disabledBy?: ReadonlyArray<string>;
8314
+ readonly tags?: ReadonlyArray<string>;
8315
+ readonly defaultEnabled?: boolean;
8316
+ readonly lifecycle?: "retired";
8317
+ readonly recommendation?: string;
8318
+ readonly create: (context: RuleContext) => RuleVisitors;
8319
+ };
8320
+ }, {
8321
+ readonly key: "react-doctor/nextjs-global-error-missing-html-body";
8322
+ readonly id: "nextjs-global-error-missing-html-body";
8323
+ readonly source: "react-doctor";
8324
+ readonly originallyExternal: false;
8325
+ readonly rule: {
8326
+ readonly framework: "nextjs";
8327
+ readonly category: "Bugs";
8328
+ readonly id: string;
8329
+ readonly title?: string;
8330
+ readonly severity: RuleSeverity;
8331
+ readonly requires?: ReadonlyArray<string>;
8332
+ readonly disabledBy?: ReadonlyArray<string>;
8333
+ readonly tags?: ReadonlyArray<string>;
8334
+ readonly defaultEnabled?: boolean;
8335
+ readonly lifecycle?: "retired";
8336
+ readonly recommendation?: string;
8337
+ readonly create: (context: RuleContext) => RuleVisitors;
8338
+ };
8130
8339
  }, {
8131
8340
  readonly key: "react-doctor/nextjs-image-missing-sizes";
8132
8341
  readonly id: "nextjs-image-missing-sizes";
@@ -8260,6 +8469,44 @@ declare const RULES: readonly [{
8260
8469
  readonly recommendation?: string;
8261
8470
  readonly create: (context: RuleContext) => RuleVisitors;
8262
8471
  };
8472
+ }, {
8473
+ readonly key: "react-doctor/nextjs-no-default-export-in-route-handler";
8474
+ readonly id: "nextjs-no-default-export-in-route-handler";
8475
+ readonly source: "react-doctor";
8476
+ readonly originallyExternal: false;
8477
+ readonly rule: {
8478
+ readonly framework: "nextjs";
8479
+ readonly category: "Bugs";
8480
+ readonly id: string;
8481
+ readonly title?: string;
8482
+ readonly severity: RuleSeverity;
8483
+ readonly requires?: ReadonlyArray<string>;
8484
+ readonly disabledBy?: ReadonlyArray<string>;
8485
+ readonly tags?: ReadonlyArray<string>;
8486
+ readonly defaultEnabled?: boolean;
8487
+ readonly lifecycle?: "retired";
8488
+ readonly recommendation?: string;
8489
+ readonly create: (context: RuleContext) => RuleVisitors;
8490
+ };
8491
+ }, {
8492
+ readonly key: "react-doctor/nextjs-no-edge-og-runtime";
8493
+ readonly id: "nextjs-no-edge-og-runtime";
8494
+ readonly source: "react-doctor";
8495
+ readonly originallyExternal: false;
8496
+ readonly rule: {
8497
+ readonly framework: "nextjs";
8498
+ readonly category: "Bugs";
8499
+ readonly id: string;
8500
+ readonly title?: string;
8501
+ readonly severity: RuleSeverity;
8502
+ readonly requires?: ReadonlyArray<string>;
8503
+ readonly disabledBy?: ReadonlyArray<string>;
8504
+ readonly tags?: ReadonlyArray<string>;
8505
+ readonly defaultEnabled?: boolean;
8506
+ readonly lifecycle?: "retired";
8507
+ readonly recommendation?: string;
8508
+ readonly create: (context: RuleContext) => RuleVisitors;
8509
+ };
8263
8510
  }, {
8264
8511
  readonly key: "react-doctor/nextjs-no-font-link";
8265
8512
  readonly id: "nextjs-no-font-link";
@@ -8279,6 +8526,25 @@ declare const RULES: readonly [{
8279
8526
  readonly recommendation?: string;
8280
8527
  readonly create: (context: RuleContext) => RuleVisitors;
8281
8528
  };
8529
+ }, {
8530
+ readonly key: "react-doctor/nextjs-no-google-analytics-script";
8531
+ readonly id: "nextjs-no-google-analytics-script";
8532
+ readonly source: "react-doctor";
8533
+ readonly originallyExternal: false;
8534
+ readonly rule: {
8535
+ readonly framework: "nextjs";
8536
+ readonly category: "Bugs";
8537
+ readonly id: string;
8538
+ readonly title?: string;
8539
+ readonly severity: RuleSeverity;
8540
+ readonly requires?: ReadonlyArray<string>;
8541
+ readonly disabledBy?: ReadonlyArray<string>;
8542
+ readonly tags?: ReadonlyArray<string>;
8543
+ readonly defaultEnabled?: boolean;
8544
+ readonly lifecycle?: "retired";
8545
+ readonly recommendation?: string;
8546
+ readonly create: (context: RuleContext) => RuleVisitors;
8547
+ };
8282
8548
  }, {
8283
8549
  readonly key: "react-doctor/nextjs-no-head-import";
8284
8550
  readonly id: "nextjs-no-head-import";
@@ -8374,6 +8640,25 @@ declare const RULES: readonly [{
8374
8640
  readonly recommendation?: string;
8375
8641
  readonly create: (context: RuleContext) => RuleVisitors;
8376
8642
  };
8643
+ }, {
8644
+ readonly key: "react-doctor/nextjs-no-script-in-head";
8645
+ readonly id: "nextjs-no-script-in-head";
8646
+ readonly source: "react-doctor";
8647
+ readonly originallyExternal: false;
8648
+ readonly rule: {
8649
+ readonly framework: "nextjs";
8650
+ readonly category: "Bugs";
8651
+ readonly id: string;
8652
+ readonly title?: string;
8653
+ readonly severity: RuleSeverity;
8654
+ readonly requires?: ReadonlyArray<string>;
8655
+ readonly disabledBy?: ReadonlyArray<string>;
8656
+ readonly tags?: ReadonlyArray<string>;
8657
+ readonly defaultEnabled?: boolean;
8658
+ readonly lifecycle?: "retired";
8659
+ readonly recommendation?: string;
8660
+ readonly create: (context: RuleContext) => RuleVisitors;
8661
+ };
8377
8662
  }, {
8378
8663
  readonly key: "react-doctor/nextjs-no-side-effect-in-get-handler";
8379
8664
  readonly id: "nextjs-no-side-effect-in-get-handler";
@@ -8412,6 +8697,25 @@ declare const RULES: readonly [{
8412
8697
  readonly recommendation?: string;
8413
8698
  readonly create: (context: RuleContext) => RuleVisitors;
8414
8699
  };
8700
+ }, {
8701
+ readonly key: "react-doctor/nextjs-no-vercel-og-import";
8702
+ readonly id: "nextjs-no-vercel-og-import";
8703
+ readonly source: "react-doctor";
8704
+ readonly originallyExternal: false;
8705
+ readonly rule: {
8706
+ readonly framework: "nextjs";
8707
+ readonly category: "Bugs";
8708
+ readonly id: string;
8709
+ readonly title?: string;
8710
+ readonly severity: RuleSeverity;
8711
+ readonly requires?: ReadonlyArray<string>;
8712
+ readonly disabledBy?: ReadonlyArray<string>;
8713
+ readonly tags?: ReadonlyArray<string>;
8714
+ readonly defaultEnabled?: boolean;
8715
+ readonly lifecycle?: "retired";
8716
+ readonly recommendation?: string;
8717
+ readonly create: (context: RuleContext) => RuleVisitors;
8718
+ };
8415
8719
  }, {
8416
8720
  readonly key: "react-doctor/no-access-key";
8417
8721
  readonly id: "no-access-key";
@@ -9362,6 +9666,25 @@ declare const RULES: readonly [{
9362
9666
  readonly recommendation?: string;
9363
9667
  readonly create: (context: RuleContext) => RuleVisitors;
9364
9668
  };
9669
+ }, {
9670
+ readonly key: "react-doctor/no-jsx-element-type";
9671
+ readonly id: "no-jsx-element-type";
9672
+ readonly source: "react-doctor";
9673
+ readonly originallyExternal: false;
9674
+ readonly rule: {
9675
+ readonly framework: "global";
9676
+ readonly category: "Bugs";
9677
+ readonly id: string;
9678
+ readonly title?: string;
9679
+ readonly severity: RuleSeverity;
9680
+ readonly requires?: ReadonlyArray<string>;
9681
+ readonly disabledBy?: ReadonlyArray<string>;
9682
+ readonly tags?: ReadonlyArray<string>;
9683
+ readonly defaultEnabled?: boolean;
9684
+ readonly lifecycle?: "retired";
9685
+ readonly recommendation?: string;
9686
+ readonly create: (context: RuleContext) => RuleVisitors;
9687
+ };
9365
9688
  }, {
9366
9689
  readonly key: "react-doctor/no-justified-text";
9367
9690
  readonly id: "no-justified-text";
@@ -10787,6 +11110,25 @@ declare const RULES: readonly [{
10787
11110
  readonly recommendation?: string;
10788
11111
  readonly create: (context: RuleContext) => RuleVisitors;
10789
11112
  };
11113
+ }, {
11114
+ readonly key: "react-doctor/query-destructure-result";
11115
+ readonly id: "query-destructure-result";
11116
+ readonly source: "react-doctor";
11117
+ readonly originallyExternal: false;
11118
+ readonly rule: {
11119
+ readonly framework: "tanstack-query";
11120
+ readonly category: "Bugs";
11121
+ readonly id: string;
11122
+ readonly title?: string;
11123
+ readonly severity: RuleSeverity;
11124
+ readonly requires?: ReadonlyArray<string>;
11125
+ readonly disabledBy?: ReadonlyArray<string>;
11126
+ readonly tags?: ReadonlyArray<string>;
11127
+ readonly defaultEnabled?: boolean;
11128
+ readonly lifecycle?: "retired";
11129
+ readonly recommendation?: string;
11130
+ readonly create: (context: RuleContext) => RuleVisitors;
11131
+ };
10790
11132
  }, {
10791
11133
  readonly key: "react-doctor/query-mutation-missing-invalidation";
10792
11134
  readonly id: "query-mutation-missing-invalidation";