react-doctor 0.2.14-dev.8b313ba → 0.2.14-dev.938376

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
@@ -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,
@@ -92,11 +100,11 @@ interface ReactDoctorConfig {
92
100
  deadCode?: boolean;
93
101
  verbose?: boolean;
94
102
  /**
95
- * Whether to surface `"warning"`-severity diagnostics. Default: `false`
96
- * — only `"error"`-severity findings reach any surface (CLI, PR comment,
97
- * score, `--fail-on`).
103
+ * Whether to surface `"warning"`-severity diagnostics. Default: `true`
104
+ * — every warning reaches every surface (CLI, PR comment, score,
105
+ * `--fail-on`).
98
106
  *
99
- * Set to `true` to surface every warning on every surface. This is the
107
+ * Set to `false` to surface only `"error"`-severity findings. This is the
100
108
  * master toggle and runs after per-rule / per-category severity
101
109
  * overrides: a rule the user explicitly restamps to `"warn"` (via
102
110
  * `rules` / `categories`) still shows even when `warnings` is `false`.
@@ -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
@@ -382,8 +420,8 @@ interface DiagnoseOptions {
382
420
  respectInlineDisables?: boolean;
383
421
  /**
384
422
  * Per-call override for `ReactDoctorConfig.warnings`. See that field's
385
- * docs — `"warning"`-severity diagnostics are hidden unless this (or
386
- * the config) opts them back in.
423
+ * docs — `"warning"`-severity diagnostics surface by default unless this
424
+ * (or the config) opts out via `false`.
387
425
  */
388
426
  warnings?: boolean;
389
427
  }
@@ -704,7 +742,7 @@ interface BuildJsonReportInput {
704
742
  totalElapsedMilliseconds: number;
705
743
  }
706
744
  declare const buildJsonReport: (input: BuildJsonReportInput) => JsonReport; //#endregion
707
- //#region src/can-oxlint-extend-config.d.ts
745
+ //#region src/build-skipped-checks.d.ts
708
746
  //#endregion
709
747
  //#region src/get-diff-files.d.ts
710
748
  /**