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/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/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
  /**