react-doctor 0.2.14-dev.09fe1ff → 0.2.14-dev.24425b1
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/README.md +8 -0
- package/dist/cli.js +863 -99
- package/dist/index.d.ts +39 -1
- package/dist/index.js +653 -70
- package/package.json +5 -4
package/dist/index.d.ts
CHANGED
|
@@ -53,6 +53,14 @@ type RuleSeverityOverride = "error" | "warn" | "off";
|
|
|
53
53
|
* `rules` and `categories` fields on `ReactDoctorConfig`. Per-rule
|
|
54
54
|
* wins over per-category when both match the same diagnostic.
|
|
55
55
|
*/
|
|
56
|
+
/**
|
|
57
|
+
* Closed set of severity buckets. Spelled out (rather than
|
|
58
|
+
* `Record<string, …>`) so an unknown/typo'd bucket key is a type error
|
|
59
|
+
* instead of a silent no-op.
|
|
60
|
+
*/
|
|
61
|
+
interface SeverityBuckets {
|
|
62
|
+
"compiler-cleanup"?: RuleSeverityOverride;
|
|
63
|
+
}
|
|
56
64
|
interface SurfaceControls {
|
|
57
65
|
/**
|
|
58
66
|
* Tag names whose diagnostics should be force-included on the surface,
|
|
@@ -253,6 +261,20 @@ interface ReactDoctorConfig {
|
|
|
253
261
|
* single category, use `ignore.tags` instead.
|
|
254
262
|
*/
|
|
255
263
|
categories?: Record<string, RuleSeverityOverride>;
|
|
264
|
+
/**
|
|
265
|
+
* Per-bucket severity map. Buckets are curated rule families with a
|
|
266
|
+
* shared gating story (not categories). Today the only bucket is
|
|
267
|
+
* `"compiler-cleanup"`: the redundant-memoization rule
|
|
268
|
+
* (`react-compiler-no-manual-memoization`) that ships as a warning once
|
|
269
|
+
* React Compiler is detected. Set it to `"error"` to re-enable strictness.
|
|
270
|
+
*
|
|
271
|
+
* ```json
|
|
272
|
+
* { "buckets": { "compiler-cleanup": "error" } }
|
|
273
|
+
* ```
|
|
274
|
+
*
|
|
275
|
+
* A per-rule override in `rules` still wins over a bucket entry.
|
|
276
|
+
*/
|
|
277
|
+
buckets?: SeverityBuckets;
|
|
256
278
|
/**
|
|
257
279
|
* User-defined oxlint plugins to load alongside the built-in
|
|
258
280
|
* `react-doctor` plugin. Each entry is either:
|
|
@@ -347,6 +369,22 @@ interface ProjectInfo {
|
|
|
347
369
|
* — no `rn-*` rules load for the project at all.
|
|
348
370
|
*/
|
|
349
371
|
hasReactNativeWorkspace: boolean;
|
|
372
|
+
/**
|
|
373
|
+
* The declared `expo` package version spec (e.g. `"~51.0.0"`), looked up
|
|
374
|
+
* in the project or any of its workspace packages, or `null` when `expo`
|
|
375
|
+
* isn't a dependency. Doubles as react-doctor's "is this an Expo project?"
|
|
376
|
+
* signal (`expoVersion !== null`) and its SDK-version source — the `expo`
|
|
377
|
+
* major tracks the Expo SDK release one-to-one — paralleling how
|
|
378
|
+
* `reactVersion` models the React runtime.
|
|
379
|
+
*
|
|
380
|
+
* Keyed off the dependency rather than `framework === "expo"` because
|
|
381
|
+
* `detectFramework` returns the first matching package, so a project
|
|
382
|
+
* declaring both `expo` and a web bundler (`vite` / `next`) classifies as
|
|
383
|
+
* the web framework yet is still an Expo project. Drives the `expo`
|
|
384
|
+
* capability in `buildCapabilities` (which gates every Expo-specific
|
|
385
|
+
* rule) and the ported expo-doctor checks.
|
|
386
|
+
*/
|
|
387
|
+
expoVersion: string | null;
|
|
350
388
|
/**
|
|
351
389
|
* `true` when the project (or any of its workspace packages) declares
|
|
352
390
|
* `react-native-reanimated`. Lets diagnostics surface reanimated's
|
|
@@ -704,7 +742,7 @@ interface BuildJsonReportInput {
|
|
|
704
742
|
totalElapsedMilliseconds: number;
|
|
705
743
|
}
|
|
706
744
|
declare const buildJsonReport: (input: BuildJsonReportInput) => JsonReport; //#endregion
|
|
707
|
-
//#region src/
|
|
745
|
+
//#region src/build-skipped-checks.d.ts
|
|
708
746
|
//#endregion
|
|
709
747
|
//#region src/get-diff-files.d.ts
|
|
710
748
|
/**
|