react-doctor 0.9.12-dev.a163de9 → 0.9.12-dev.afa1780

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 (32) hide show
  1. package/dist/{build-section-divider-DwhI0l-P.js → build-section-divider-B9vlCDHV.js} +7 -7
  2. package/dist/{ci-BM5Bztiz.js → ci-rLzlDu2j.js} +12 -12
  3. package/dist/cli.js +28 -27
  4. package/dist/{design-BJm8XW5q.js → design-CzVqEwWg.js} +4 -4
  5. package/dist/{exit-gracefully-cFX-xHhy.js → exit-gracefully-Bq-JF68q.js} +6 -6
  6. package/dist/{handle-error-DBoxwa4Y.js → handle-error-DUSoFUPL.js} +17 -12
  7. package/dist/{inspect-Cj9X2Cuj.js → inspect-CNeq8v8s.js} +16 -16
  8. package/dist/{install-DJE5tJBN.js → install-DP8oO5sw.js} +9 -9
  9. package/dist/{install-doctor-script-Bwy0GRjB.js → install-doctor-script-DbnMjPjQ.js} +4 -4
  10. package/dist/{install-github-workflow-CQL9QH8Q.js → install-github-workflow-CS_YO_OJ.js} +5 -5
  11. package/dist/{install-react-doctor-BC0tbnqe.js → install-react-doctor-BTiagoIZ.js} +8 -8
  12. package/dist/{jsx-runtime-BGIkB563.js → jsx-runtime-DGcmMln7.js} +5 -5
  13. package/dist/{print-branded-header-B5xE0DP1.js → print-branded-header-bKbewJRI.js} +4 -4
  14. package/dist/{prompt-runtime-scan-url-G27i97Bd.js → prompt-runtime-scan-url-CvsHajZD.js} +5 -5
  15. package/dist/{read-object-file-p5HY4kEb.js → read-object-file-DIGDC3MB.js} +4 -4
  16. package/dist/{record-metric-B0l334ac.js → record-metric-C4-VKG9G.js} +4 -4
  17. package/dist/{report-error-CxbHpLL8.js → report-error-1lrvJd3S.js} +5 -5
  18. package/dist/{report-workflow-result-Dtn4MVZ_.js → report-workflow-result-C42nztEL.js} +5 -5
  19. package/dist/{resolve-scope-DFSO5zB7.js → resolve-scope-YUP_rtf3.js} +6 -6
  20. package/dist/{rules-DEUYP2QZ.js → rules-BY4vq5-i.js} +6 -6
  21. package/dist/{run-scan-app-0v4YCLNw.js → run-scan-app-DHDnmfX6.js} +10 -10
  22. package/dist/{runtime-scan-CrdGMGtp.js → runtime-scan-ClVvgojx.js} +9 -9
  23. package/dist/{sanitize-runtime-url-DMNbP5D7.js → sanitize-runtime-url-DVwfWWZy.js} +4 -4
  24. package/dist/{scan-BjmlwnGK.js → scan-C9YMcGrG.js} +9 -9
  25. package/dist/{should-fail-scan-gate-DFrfU9H8.js → should-fail-scan-gate-CtPrWy9N.js} +11 -11
  26. package/dist/{should-skip-prompts-jB7AIlXO.js → should-skip-prompts-b1KKh2nz.js} +4 -4
  27. package/dist/{should-use-tui-DwO2FSvM.js → should-use-tui-Dh_kmKLh.js} +4 -4
  28. package/dist/{telemetry-runtime-EpReAdpc.js → telemetry-runtime-CDAL4uhm.js} +55 -7
  29. package/dist/{version-LTrxsytD.js → version-CDNMEvQU.js} +4 -4
  30. package/dist/{why-i7UomrTB.js → why-fw7vWXR7.js} +4 -4
  31. package/dist/{with-run-span-tKhCINUb.js → with-run-span-V4LjJBYW.js} +5 -5
  32. package/package.json +2 -2
@@ -1,7 +1,7 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="4771dd74-11ec-581c-bdfe-d44e7c2c178d")}catch(e){}}();
3
- import { Kt as highlighter, N as SENTRY_FLUSH_TIMEOUT_MS, a as isEnvFlagEnabled, er as CANONICAL_GITHUB_URL, ft as anonymizeInPlace, hn as scrubSensitivePaths, i as isTelemetryEnabled, o as buildSentryScope, or as DOCS_URL, pt as anonymizeText } from "./record-metric-B0l334ac.js";
4
- import { r as isExpectedUserError } from "./telemetry-runtime-EpReAdpc.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="8770980d-cc61-5d84-bc0e-ee70bf9ea46c")}catch(e){}}();
3
+ import { Kt as highlighter, N as SENTRY_FLUSH_TIMEOUT_MS, a as isEnvFlagEnabled, er as CANONICAL_GITHUB_URL, ft as anonymizeInPlace, hn as scrubSensitivePaths, i as isTelemetryEnabled, o as buildSentryScope, or as DOCS_URL, pt as anonymizeText } from "./record-metric-C4-VKG9G.js";
4
+ import { r as isExpectedUserError } from "./telemetry-runtime-CDAL4uhm.js";
5
5
  import * as Sentry from "@sentry/node";
6
6
  //#region src/cli/utils/scrub-sentry-event.ts
7
7
  /**
@@ -70,13 +70,13 @@ const isDevVersion = (version) => version === "0.0.0" || version.includes("-");
70
70
  * uploads source-map artifacts under, so stack frames symbolicate. Honors the
71
71
  * standard `SENTRY_RELEASE` override.
72
72
  */
73
- const resolveSentryRelease = () => process.env.SENTRY_RELEASE || `react-doctor@0.9.12-dev.a163de9`;
73
+ const resolveSentryRelease = () => process.env.SENTRY_RELEASE || `react-doctor@0.9.12-dev.afa1780`;
74
74
  /**
75
75
  * Deployment environment shown in Sentry's environment filter. Defaults to
76
76
  * `production` for tagged releases and `development` for dev/unbuilt versions,
77
77
  * overridable via the standard `SENTRY_ENVIRONMENT` env var.
78
78
  */
79
- const resolveSentryEnvironment = () => process.env.SENTRY_ENVIRONMENT || (isDevVersion("0.9.12-dev.a163de9") ? "development" : "production");
79
+ const resolveSentryEnvironment = () => process.env.SENTRY_ENVIRONMENT || (isDevVersion("0.9.12-dev.afa1780") ? "development" : "production");
80
80
  //#endregion
81
81
  //#region src/instrument.ts
82
82
  let isInitialized = false;
@@ -212,5 +212,5 @@ const buildSectionDivider = () => highlighter.dim(`${DIVIDER_INDENT}${"─".repe
212
212
  //#endregion
213
213
  export { initializeSentry as i, buildFooterLinkLines as n, flushSentry as r, buildSectionDivider as t };
214
214
 
215
- //# sourceMappingURL=build-section-divider-DwhI0l-P.js.map
216
- //# debugId=4771dd74-11ec-581c-bdfe-d44e7c2c178d
215
+ //# sourceMappingURL=build-section-divider-B9vlCDHV.js.map
216
+ //# debugId=8770980d-cc61-5d84-bc0e-ee70bf9ea46c
@@ -1,15 +1,15 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="f78db510-fa88-560f-b356-9140513c6628")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="e7661f8d-fa1d-5464-9ae7-3088b1d0f31d")}catch(e){}}();
3
3
  import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-ChKA3wi6.js";
4
- import { Kt as highlighter, T as METRIC, cr as GITHUB_ACTIONS_SETUP_URL, t as recordCount, tr as CI_URL, zn as runSync } from "./record-metric-B0l334ac.js";
5
- import { r as isExpectedUserError } from "./telemetry-runtime-EpReAdpc.js";
6
- import { n as handleUserError, t as handleError } from "./handle-error-DBoxwa4Y.js";
7
- import { t as reportErrorToSentry } from "./report-error-CxbHpLL8.js";
8
- import { M as cliLogger, c as spinner, n as findNearestPackageDirectory } from "./install-doctor-script-Bwy0GRjB.js";
9
- import { a as readReactDoctorWorkflow, d as detectDefaultBranch, f as runCommand, l as prompts, n as getReactDoctorWorkflowPath, s as upgradeWorkflowActionToV2, t as buildWorkflowContent } from "./install-github-workflow-CQL9QH8Q.js";
10
- import { a as isValidBlockingLevel, c as openWorkflowPullRequest, l as stageWorkflowFile, n as isScopeValue } from "./resolve-scope-DFSO5zB7.js";
11
- import { t as shouldSkipPrompts } from "./should-skip-prompts-jB7AIlXO.js";
12
- import { t as printBrandedHeader } from "./print-branded-header-B5xE0DP1.js";
4
+ import { Kt as highlighter, T as METRIC, cr as GITHUB_ACTIONS_SETUP_URL, t as recordCount, tr as CI_URL, zn as runSync } from "./record-metric-C4-VKG9G.js";
5
+ import { r as isExpectedUserError } from "./telemetry-runtime-CDAL4uhm.js";
6
+ import { n as handleUserError, t as handleError } from "./handle-error-DUSoFUPL.js";
7
+ import { t as reportErrorToSentry } from "./report-error-1lrvJd3S.js";
8
+ import { M as cliLogger, c as spinner, n as findNearestPackageDirectory } from "./install-doctor-script-DbnMjPjQ.js";
9
+ import { a as readReactDoctorWorkflow, d as detectDefaultBranch, f as runCommand, l as prompts, n as getReactDoctorWorkflowPath, s as upgradeWorkflowActionToV2, t as buildWorkflowContent } from "./install-github-workflow-CS_YO_OJ.js";
10
+ import { a as isValidBlockingLevel, c as openWorkflowPullRequest, l as stageWorkflowFile, n as isScopeValue } from "./resolve-scope-YUP_rtf3.js";
11
+ import { t as shouldSkipPrompts } from "./should-skip-prompts-b1KKh2nz.js";
12
+ import { t as printBrandedHeader } from "./print-branded-header-bKbewJRI.js";
13
13
  import * as path$1 from "node:path";
14
14
  import * as fs$1 from "node:fs";
15
15
  //#region src/cli/utils/ci/ci-provider.ts
@@ -7498,5 +7498,5 @@ const ciConfigAction = (options) => runCiCommand("config", runCiConfig, options)
7498
7498
  //#endregion
7499
7499
  export { ciConfigAction, ciInstallAction, ciUpgradeAction };
7500
7500
 
7501
- //# sourceMappingURL=ci-BM5Bztiz.js.map
7502
- //# debugId=f78db510-fa88-560f-b356-9140513c6628
7501
+ //# sourceMappingURL=ci-rLzlDu2j.js.map
7502
+ //# debugId=e7661f8d-fa1d-5464-9ae7-3088b1d0f31d
package/dist/cli.js CHANGED
@@ -1,13 +1,13 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="060d9fda-090f-56c0-a01c-3ce99371376f")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="f42b1a1f-3941-5a61-bf1b-ea87400b9ec6")}catch(e){}}();
3
3
  import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-ChKA3wi6.js";
4
- import { H as isDebugFlagEnabled, Kt as highlighter, _ as VERSION, d as isJsonModeActive, er as CANONICAL_GITHUB_URL, gn as setColorEnabled, h as writeJsonErrorReport, i as isTelemetryEnabled, tr as CI_URL, z as CliInputError } from "./record-metric-B0l334ac.js";
5
- import { n as shutdownTelemetry, r as isExpectedUserError } from "./telemetry-runtime-EpReAdpc.js";
6
- import { i as initializeSentry, r as flushSentry } from "./build-section-divider-DwhI0l-P.js";
7
- import { t as exitGracefully } from "./exit-gracefully-cFX-xHhy.js";
8
- import { n as handleUserError, t as handleError } from "./handle-error-DBoxwa4Y.js";
4
+ import { H as isDebugFlagEnabled, Kt as highlighter, _ as VERSION, d as isJsonModeActive, er as CANONICAL_GITHUB_URL, gn as setColorEnabled, h as writeJsonErrorReport, i as isTelemetryEnabled, tr as CI_URL, z as CliInputError } from "./record-metric-C4-VKG9G.js";
5
+ import { n as shutdownTelemetry, r as isExpectedUserError } from "./telemetry-runtime-CDAL4uhm.js";
6
+ import { i as initializeSentry, r as flushSentry } from "./build-section-divider-B9vlCDHV.js";
7
+ import { t as exitGracefully } from "./exit-gracefully-Bq-JF68q.js";
8
+ import { n as handleUserError, t as handleError } from "./handle-error-DUSoFUPL.js";
9
9
  import { n as getLastRunTraceId } from "./active-run-trace-dlIZeEvb.js";
10
- import { t as reportErrorToSentry } from "./report-error-CxbHpLL8.js";
10
+ import { t as reportErrorToSentry } from "./report-error-1lrvJd3S.js";
11
11
  import { t as unrefStdin } from "./unref-stdin-BKT_s38a.js";
12
12
  import { execFileSync } from "node:child_process";
13
13
  //#region ../../node_modules/.pnpm/commander@14.0.3/node_modules/commander/lib/error.js
@@ -3529,7 +3529,7 @@ ${highlighter.dim("Learn more:")}
3529
3529
  const collectCategoryOption = (value, previousValues) => [...previousValues ?? [], value];
3530
3530
  const program = new Command().name("react-doctor").description("Diagnose React codebase health").version(VERSION, "-v, --version", "display the version number").argument("[directory]", "project directory to scan", ".").option("--lint", "enable linting").option("--no-lint", "skip linting").addOption(new Option("--dead-code").hideHelp()).addOption(new Option("--no-dead-code").hideHelp()).option("--supply-chain", "enable the dependency supply-chain scan (default)").option("--no-supply-chain", "skip the dependency supply-chain scan (Socket.dev dependency health checks)").option("--verbose", "show every rule and per-file details (default shows top 3 rules)").option("--debug", "force a Sentry trace and print its id at the end (paste it into a bug report)").option("--output-dir <dir>", "directory for the full diagnostics dump (default: a temp folder)").option("--score", "output only the score").option("--json", "output a single structured JSON report (suppresses other output)").option("--json-compact", "with --json, emit compact JSON (no indentation)").option("--json-out <path>", "with --json, write the report to a file instead of stdout").option("--no-cache", "disable all scan caches for this run").option("-y, --yes", "skip prompts, scan all workspace projects").option("--no-parallel", "lint serially with one worker (default: parallel across CPU cores; set the worker count with REACT_DOCTOR_PARALLEL)").option("--project <name>", "select projects: workspace names or directory paths (comma-separated for multiple); overrides the `projects` config field").option("--scope <value>", "how much supported JS/TS and inline HTML script source to scan/report: full (default), files, changed (only new issues vs base), or lines (issues whose source spans touch changed lines)").option("--base <ref>", "base git ref for files/changed/lines scope (auto-detected when omitted)").option("--include-untracked", "with --scope files/changed/lines, also scan ordinary untracked files (respects .gitignore)").addOption(new Option("--diff [base]", "[deprecated] alias for --scope changed (pass `false` to force a full scan)").hideHelp()).addOption(new Option("--changed-files-from <file>", "scan source files listed in a newline-delimited changed-files file").hideHelp()).option("--no-score", "skip the score API, the share URL, and crash reporting").addOption(new Option("--category <category>", "only show diagnostics in a category (repeatable; e.g. Security)").argParser(collectCategoryOption)).option("--no-telemetry", "alias for --no-score (skip the score API, share URL, and crash reporting)").option("--staged", "scan only staged (git index) files for pre-commit hooks (honors --project and config `projects`; exits 0 when nothing is staged)").option("--max-duration <seconds>", MAX_DURATION_OPTION_DESCRIPTION).option("--blocking <level>", "severity that fails CI: error (default), warning, or none (advisory)").addOption(new Option("--fail-on <level>", "[deprecated] alias for --blocking <level>").hideHelp()).option("--no-respect-inline-disables", "audit mode: neutralize inline lint suppressions before scanning").option("--warnings", "show warning-severity diagnostics (default)").option("--no-warnings", "hide warning-severity diagnostics (errors only)").option("--color", "force colored output").option("--no-color", "disable colored output (also honors NO_COLOR)").addHelpText("after", renderRootHelpEpilog);
3531
3531
  program.action(async (directory = ".", flags) => {
3532
- const { runScanCommand } = await import("./scan-BjmlwnGK.js");
3532
+ const { runScanCommand } = await import("./scan-C9YMcGrG.js");
3533
3533
  return runScanCommand({
3534
3534
  directory,
3535
3535
  flags,
@@ -3537,75 +3537,75 @@ program.action(async (directory = ".", flags) => {
3537
3537
  });
3538
3538
  });
3539
3539
  program.command("design [directory]").description("Run only the focused UI design diagnostics").addHelpText("after", renderDesignHelpEpilog).action(async (directory, _options, command) => {
3540
- const { designAction } = await import("./design-BJm8XW5q.js");
3540
+ const { designAction } = await import("./design-CzVqEwWg.js");
3541
3541
  return designAction(directory ?? ".", command.optsWithGlobals());
3542
3542
  });
3543
3543
  program.command("scan").description("Scan a React interaction in Chrome until you press Enter").argument("[url]", "HTTP(S) URL of the running React app; detects local apps when omitted").option("-f, --format <format>", "report format: text, json, or jsonl", "text").option("--cdp <url>", "reuse Chrome at this remote-debugging endpoint").option("--trace-out <path>", "save the compressed .json.gz DevTools trace at this path").addHelpText("after", renderRuntimeScanHelpEpilog).action(async (url, options) => {
3544
- const { runtimeScanAction } = await import("./runtime-scan-CrdGMGtp.js");
3544
+ const { runtimeScanAction } = await import("./runtime-scan-ClVvgojx.js");
3545
3545
  return runtimeScanAction(url, options);
3546
3546
  });
3547
3547
  program.command("why <location>").description("Explain why a rule fired (or why a suppression didn't apply) at a file:line").option("--project <name>", "select projects: workspace names or directory paths (comma-separated for multiple)").option("-c, --cwd <cwd>", "working directory", process.cwd()).option("--color", "force colored output").option("--no-color", "disable colored output (also honors NO_COLOR)").action(async (location, options) => {
3548
- const { whyAction } = await import("./why-i7UomrTB.js");
3548
+ const { whyAction } = await import("./why-fw7vWXR7.js");
3549
3549
  return whyAction(location, options);
3550
3550
  });
3551
3551
  program.command("install").alias("setup").description("Install the react-doctor skill into your coding agents and optional git hook").option("-y, --yes", "skip prompts, install for all detected agents").option("--dry-run", "show what would be installed without writing files").option("--agent-hooks", "install end-of-turn agent hooks for Claude Code and Cursor").option("-c, --cwd <cwd>", "working directory", process.cwd()).option("--color", "force colored output").option("--no-color", "disable colored output (also honors NO_COLOR)").addHelpText("after", renderInstallHelpEpilog).action(async (options, command) => {
3552
- const { installAction } = await import("./install-DJE5tJBN.js");
3552
+ const { installAction } = await import("./install-DP8oO5sw.js");
3553
3553
  return installAction(options, command);
3554
3554
  });
3555
3555
  const providerOption = ["--provider <name>", "ci provider: github-actions or gitlab-ci (auto-detected by default)"];
3556
3556
  const prOption = ["--pr", "open a pull request with the change instead of writing it to the working tree"];
3557
3557
  const ci = program.command("ci").description("Set up, upgrade, and configure React Doctor in your CI");
3558
3558
  ci.command("install").description("Add a CI workflow that scans every pull request").option(...providerOption).option(...prOption).option("--blocking <level>", "gate level: none (advisory, default), warning, or error").option("--scope <value>", "what a pull-request scan reports: changed (default), files, lines, full").option("--comment", "post a summary comment on each pull request").option("--no-comment", "don't post a summary comment").option("--review-comments", "add inline review comments on changed lines").option("--no-review-comments", "don't add inline review comments").option("--commit-status", "report a commit status with the health score").option("--no-commit-status", "don't report a commit status").option("-y, --yes", "skip prompts; use the defaults").option("-c, --cwd <cwd>", "working directory", process.cwd()).option("--color", "force colored output").option("--no-color", "disable colored output (also honors NO_COLOR)").addHelpText("after", renderCiHelpEpilog).action(async (_options, command) => {
3559
- const { ciInstallAction } = await import("./ci-BM5Bztiz.js");
3559
+ const { ciInstallAction } = await import("./ci-rLzlDu2j.js");
3560
3560
  return ciInstallAction(command.optsWithGlobals());
3561
3561
  });
3562
3562
  ci.command("config").description("Change the gate, scan scope, and pull-request reporting").option(...providerOption).option("--blocking <level>", "gate level: none (advisory), warning, or error").option("--scope <value>", "what a pull-request scan reports: changed, files, lines, or full").option("--comment", "post a summary comment on each pull request").option("--no-comment", "don't post a summary comment").option("--review-comments", "add inline review comments on changed lines").option("--no-review-comments", "don't add inline review comments").option("--commit-status", "report a commit status with the health score").option("--no-commit-status", "don't report a commit status").option("-y, --yes", "skip prompts; print the current settings").option("-c, --cwd <cwd>", "working directory", process.cwd()).option("--color", "force colored output").option("--no-color", "disable colored output (also honors NO_COLOR)").action(async (_options, command) => {
3563
- const { ciConfigAction } = await import("./ci-BM5Bztiz.js");
3563
+ const { ciConfigAction } = await import("./ci-rLzlDu2j.js");
3564
3564
  return ciConfigAction(command.optsWithGlobals());
3565
3565
  });
3566
3566
  ci.command("upgrade").description("Upgrade the CI workflow to the action's current major").option(...providerOption).option(...prOption).option("-y, --yes", "skip prompts").option("-c, --cwd <cwd>", "working directory", process.cwd()).option("--color", "force colored output").option("--no-color", "disable colored output (also honors NO_COLOR)").action(async (_options, command) => {
3567
- const { ciUpgradeAction } = await import("./ci-BM5Bztiz.js");
3567
+ const { ciUpgradeAction } = await import("./ci-rLzlDu2j.js");
3568
3568
  return ciUpgradeAction(command.optsWithGlobals());
3569
3569
  });
3570
3570
  program.command("version").description("show the version with Node and platform info").option("--color", "force colored output").option("--no-color", "disable colored output (also honors NO_COLOR)").action(async () => {
3571
- const { versionAction } = await import("./version-LTrxsytD.js");
3571
+ const { versionAction } = await import("./version-CDNMEvQU.js");
3572
3572
  return versionAction();
3573
3573
  });
3574
3574
  const rules = program.command("rules").description("List, explain, and configure which React Doctor rules run");
3575
3575
  rules.command("list").description("List rules and the severity they run at under your config").option("--category <name>", "only show rules in a category (e.g. Performance)").option("--tag <name>", "only show rules with a tag (e.g. design, test-noise)").option("--framework <name>", "only show rules for a framework (e.g. global, nextjs)").option("--configured", "only show rules your config has changed from the default").option("--json", "output a structured JSON array").option("-c, --cwd <cwd>", "working directory", process.cwd()).action(async (_options, command) => {
3576
- const { rulesListAction } = await import("./rules-DEUYP2QZ.js");
3576
+ const { rulesListAction } = await import("./rules-BY4vq5-i.js");
3577
3577
  return rulesListAction(command.optsWithGlobals());
3578
3578
  });
3579
3579
  rules.command("explain <rule>").description("Explain why a rule matters, its current severity, and how to configure it").option("--json", "output a structured JSON object").option("-c, --cwd <cwd>", "working directory", process.cwd()).action(async (rule, _options, command) => {
3580
- const { rulesExplainAction } = await import("./rules-DEUYP2QZ.js");
3580
+ const { rulesExplainAction } = await import("./rules-BY4vq5-i.js");
3581
3581
  return rulesExplainAction(rule, command.optsWithGlobals());
3582
3582
  });
3583
3583
  rules.command("set <rule> <severity>").description("Set a rule's severity: off, warn, or error").option("-c, --cwd <cwd>", "working directory", process.cwd()).action(async (rule, severity, _options, command) => {
3584
- const { rulesSetAction } = await import("./rules-DEUYP2QZ.js");
3584
+ const { rulesSetAction } = await import("./rules-BY4vq5-i.js");
3585
3585
  return rulesSetAction(rule, severity, command.optsWithGlobals());
3586
3586
  });
3587
3587
  rules.command("enable <rule>").description("Enable a rule at its recommended severity (or pass --severity)").option("--severity <level>", "severity to enable at: warn or error").option("-c, --cwd <cwd>", "working directory", process.cwd()).action(async (rule, _options, command) => {
3588
- const { rulesEnableAction } = await import("./rules-DEUYP2QZ.js");
3588
+ const { rulesEnableAction } = await import("./rules-BY4vq5-i.js");
3589
3589
  return rulesEnableAction(rule, command.optsWithGlobals());
3590
3590
  });
3591
3591
  rules.command("disable <rule>").description("Disable a rule so it never runs").option("-c, --cwd <cwd>", "working directory", process.cwd()).action(async (rule, _options, command) => {
3592
- const { rulesDisableAction } = await import("./rules-DEUYP2QZ.js");
3592
+ const { rulesDisableAction } = await import("./rules-BY4vq5-i.js");
3593
3593
  return rulesDisableAction(rule, command.optsWithGlobals());
3594
3594
  });
3595
3595
  rules.command("category <category> <severity>").description("Set the severity for a whole category (off, warn, error)").option("-c, --cwd <cwd>", "working directory", process.cwd()).action(async (category, severity, _options, command) => {
3596
- const { rulesCategoryAction } = await import("./rules-DEUYP2QZ.js");
3596
+ const { rulesCategoryAction } = await import("./rules-BY4vq5-i.js");
3597
3597
  return rulesCategoryAction(category, severity, command.optsWithGlobals());
3598
3598
  });
3599
3599
  rules.command("ignore-tag <tag>").description("Skip a whole rule family by tag before linting (e.g. design)").option("-c, --cwd <cwd>", "working directory", process.cwd()).action(async (tag, _options, command) => {
3600
- const { rulesIgnoreTagAction } = await import("./rules-DEUYP2QZ.js");
3600
+ const { rulesIgnoreTagAction } = await import("./rules-BY4vq5-i.js");
3601
3601
  return rulesIgnoreTagAction(tag, command.optsWithGlobals());
3602
3602
  });
3603
3603
  rules.command("unignore-tag <tag>").description("Stop ignoring a tag previously skipped via ignore-tag").option("-c, --cwd <cwd>", "working directory", process.cwd()).action(async (tag, _options, command) => {
3604
- const { rulesUnignoreTagAction } = await import("./rules-DEUYP2QZ.js");
3604
+ const { rulesUnignoreTagAction } = await import("./rules-BY4vq5-i.js");
3605
3605
  return rulesUnignoreTagAction(tag, command.optsWithGlobals());
3606
3606
  });
3607
3607
  program.command("experimental-tui [directory]", { hidden: true }).description("[experimental] interactive, scrollable scan report").option("--blocking <level>", "severity that fails CI: error (default), warning, or none (advisory)").option("--color", "force colored output").option("--no-color", "disable colored output (also honors NO_COLOR)").addOption(new Option("--no-dead-code").hideHelp()).option("--no-supply-chain", "skip the dependency supply-chain scan").option("--score", "only print the numeric score (for scripts and CI)").option("--no-score", "skip the score API, the share URL, and crash reporting").option("--no-cache", "disable all scan caches for this run").option("--max-duration <seconds>", MAX_DURATION_OPTION_DESCRIPTION).option("-p, --project <names>", "scan specific workspace projects (comma-separated, or *)").option("-y, --yes", "skip the project prompt and scan every discovered project").action(async (directory = ".", _localOptions, command) => {
3608
- const { runScanCommand } = await import("./scan-BjmlwnGK.js");
3608
+ const { runScanCommand } = await import("./scan-C9YMcGrG.js");
3609
3609
  return runScanCommand({
3610
3610
  directory,
3611
3611
  flags: command.optsWithGlobals(),
@@ -3635,7 +3635,8 @@ Promise.resolve().then(() => assertNoRemovedFlags(process.argv)).then(() => prog
3635
3635
  process.exit(1);
3636
3636
  }
3637
3637
  if (isUserError) {
3638
- handleUserError(error);
3638
+ handleUserError(error, { shouldExit: false });
3639
+ await Promise.all([flushSentry(), shutdownTelemetry()]);
3639
3640
  return;
3640
3641
  }
3641
3642
  handleError(error, { sentryEventId });
@@ -3644,4 +3645,4 @@ Promise.resolve().then(() => assertNoRemovedFlags(process.argv)).then(() => prog
3644
3645
  export {};
3645
3646
 
3646
3647
  //# sourceMappingURL=cli.js.map
3647
- //# debugId=060d9fda-090f-56c0-a01c-3ce99371376f
3648
+ //# debugId=f42b1a1f-3941-5a61-bf1b-ea87400b9ec6
@@ -1,6 +1,6 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="9900241b-f639-5bf3-bff0-3a916be2e245")}catch(e){}}();
3
- import { t as inspectAction } from "./inspect-Cj9X2Cuj.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="bcb6cfb9-ae80-59a6-a405-78e480e4b9ce")}catch(e){}}();
3
+ import { t as inspectAction } from "./inspect-CNeq8v8s.js";
4
4
  //#region src/cli/commands/design.ts
5
5
  const designAction = async (directory, flags) => inspectAction(directory, {
6
6
  ...flags,
@@ -10,5 +10,5 @@ const designAction = async (directory, flags) => inspectAction(directory, {
10
10
  //#endregion
11
11
  export { designAction };
12
12
 
13
- //# sourceMappingURL=design-BJm8XW5q.js.map
14
- //# debugId=9900241b-f639-5bf3-bff0-3a916be2e245
13
+ //# sourceMappingURL=design-CzVqEwWg.js.map
14
+ //# debugId=bcb6cfb9-ae80-59a6-a405-78e480e4b9ce
@@ -1,8 +1,8 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="0004dd06-6845-5817-8fef-05f97c2a6c9d")}catch(e){}}();
3
- import { d as isJsonModeActive, m as writeJsonCancellationReport } from "./record-metric-B0l334ac.js";
4
- import { n as shutdownTelemetry } from "./telemetry-runtime-EpReAdpc.js";
5
- import { n as buildFooterLinkLines, r as flushSentry, t as buildSectionDivider } from "./build-section-divider-DwhI0l-P.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="8ca7451a-2add-5b6c-b73c-2b8ec84f042c")}catch(e){}}();
3
+ import { d as isJsonModeActive, m as writeJsonCancellationReport } from "./record-metric-C4-VKG9G.js";
4
+ import { n as shutdownTelemetry } from "./telemetry-runtime-CDAL4uhm.js";
5
+ import { n as buildFooterLinkLines, r as flushSentry, t as buildSectionDivider } from "./build-section-divider-B9vlCDHV.js";
6
6
  import { t as activeScanAbortRegistry } from "./active-scan-abort-registry-DwG6tSPy.js";
7
7
  //#region src/cli/utils/active-tui-renderer.ts
8
8
  let activeTuiRenderer = null;
@@ -50,5 +50,5 @@ const exitGracefully = () => {
50
50
  //#endregion
51
51
  export { registerActiveTuiRenderer as n, exitGracefully as t };
52
52
 
53
- //# sourceMappingURL=exit-gracefully-cFX-xHhy.js.map
54
- //# debugId=0004dd06-6845-5817-8fef-05f97c2a6c9d
53
+ //# sourceMappingURL=exit-gracefully-Bq-JF68q.js.map
54
+ //# debugId=8ca7451a-2add-5b6c-b73c-2b8ec84f042c
@@ -1,7 +1,7 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="e9e6a4c7-0ec4-527d-907d-5f214f076bf6")}catch(e){}}();
3
- import { $n as CANONICAL_DISCORD_URL, An as gen, Cn as error, Ft as formatErrorChain, It as formatReactDoctorError, Kt as highlighter, T as METRIC, Xt as isReactDoctorError, _ as VERSION, br as isErrnoException, er as CANONICAL_GITHUB_URL, t as recordCount, zn as runSync } from "./record-metric-B0l334ac.js";
4
- import { a as isEnvironmentError, i as formatEnvironmentError } from "./telemetry-runtime-EpReAdpc.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="4c56c35c-f117-59b7-9fb1-ddddeee8c6c6")}catch(e){}}();
3
+ import { $n as CANONICAL_DISCORD_URL, An as gen, Cn as error, Ft as formatErrorChain, It as formatReactDoctorError, Kt as highlighter, T as METRIC, Xt as isReactDoctorError, _ as VERSION, br as isErrnoException, er as CANONICAL_GITHUB_URL, t as recordCount, zn as runSync } from "./record-metric-C4-VKG9G.js";
4
+ import { a as isNpmCacheCorruptionError, i as formatNpmCacheCorruptionError, o as formatEnvironmentError, s as isEnvironmentError } from "./telemetry-runtime-CDAL4uhm.js";
5
5
  //#region src/cli/utils/handle-error.ts
6
6
  const OTLP_ENDPOINT_ENVIRONMENT_VARIABLE = "REACT_DOCTOR_OTLP_ENDPOINT";
7
7
  const OTLP_AUTH_HEADER_ENVIRONMENT_VARIABLE = "REACT_DOCTOR_OTLP_AUTH_HEADER";
@@ -85,15 +85,20 @@ const handleError = (error, options = {}) => {
85
85
  };
86
86
  /**
87
87
  * Renderer for expected, user-actionable failures — a bad `--diff` value,
88
- * a base branch that isn't fetched, or environment errors like disk-full or
89
- * permission-denied. Prints just the (already human-readable) message — no
90
- * "Something went wrong", prefilled issue, Discord link, or Sentry reference
91
- * — because there is no bug to report.
88
+ * a base branch that isn't fetched, environment errors like disk-full or
89
+ * permission-denied, or npm cache corruption. Prints just the (already
90
+ * human-readable) message — no "Something went wrong", prefilled issue,
91
+ * Discord link, or Sentry reference — because there is no bug to report.
92
92
  */
93
93
  const handleUserError = (error$1, options = {}) => {
94
- const isEnvError = isEnvironmentError(error$1);
95
- if (isEnvError) recordCount(METRIC.cliEnvironmentError, 1, { code: (isErrnoException(error$1) ? error$1.code : void 0) ?? "unknown" });
96
- const message = isEnvError ? formatEnvironmentError(error$1) : formatErrorForReport(error$1);
94
+ let message = formatErrorForReport(error$1);
95
+ if (isNpmCacheCorruptionError(error$1)) {
96
+ recordCount(METRIC.cliEnvironmentError, 1, { code: "NPX_CACHE_CORRUPTION" });
97
+ message = formatNpmCacheCorruptionError(error$1);
98
+ } else if (isEnvironmentError(error$1)) {
99
+ recordCount(METRIC.cliEnvironmentError, 1, { code: (isErrnoException(error$1) ? error$1.code : void 0) ?? "unknown" });
100
+ message = formatEnvironmentError(error$1);
101
+ }
97
102
  runSync(gen(function* () {
98
103
  yield* error("");
99
104
  yield* error(highlighter.error(message));
@@ -105,5 +110,5 @@ const handleUserError = (error$1, options = {}) => {
105
110
  //#endregion
106
111
  export { handleUserError as n, handleError as t };
107
112
 
108
- //# sourceMappingURL=handle-error-DBoxwa4Y.js.map
109
- //# debugId=e9e6a4c7-0ec4-527d-907d-5f214f076bf6
113
+ //# sourceMappingURL=handle-error-DUSoFUPL.js.map
114
+ //# debugId=4c56c35c-f117-59b7-9fb1-ddddeee8c6c6
@@ -1,18 +1,18 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="434582d3-c829-5171-920a-9930383cd9d8")}catch(e){}}();
3
- import { An as gen, At as discoverSupportedSubprojects, Bt as getDiffInfo, Cr as messageFromUnknown, F as STAGED_FILES_TEMP_DIR_PREFIX, Fn as provide$1, Gn as provide, H as isDebugFlagEnabled, I as STAGED_SNAPSHOT_ADDITIONAL_CONFIG_FILENAMES, Jt as isPathInsideDirectory, K as isCiOrCodingAgentEnvironment, Kt as highlighter, Lt as getBaselineDiffPlan, Pt as findLegacyConfig, Rn as runPromise, Rt as getChangedLineRanges, Sr as isPlainObject, T as METRIC, Wt as hasSupportedFrameworkOrLibrary, X as Git, _ as VERSION, _r as STAGED_FILES_PROJECT_CONFIG_FILENAMES, br as isErrnoException, er as CANONICAL_GITHUB_URL, f as setJsonReportDirectory, fn as resolveScanTarget, g as writeJsonReport, h as writeJsonErrorReport, ht as buildJsonReport, in as mapWithConcurrency, kt as detectAiTrainingEnvironment, n as recordDistribution, nn as listWorkspacePackages, p as setJsonReportMode, q as isCodingAgentEnvironment, sn as remainingDeadlineBudgetMs, t as recordCount, u as enableJsonMode, ut as StagedFiles, yn as toRelativePath, z as CliInputError } from "./record-metric-B0l334ac.js";
4
- import { n as shutdownTelemetry, r as isExpectedUserError } from "./telemetry-runtime-EpReAdpc.js";
5
- import { r as flushSentry } from "./build-section-divider-DwhI0l-P.js";
6
- import { n as handleUserError, t as handleError } from "./handle-error-DBoxwa4Y.js";
7
- import { t as reportErrorToSentry } from "./report-error-CxbHpLL8.js";
8
- import { A as runGitRaw, M as cliLogger, c as spinner, i as hasDoctorScript, n as findNearestPackageDirectory, o as isSpinnerSilent, s as setSpinnerSilent } from "./install-doctor-script-Bwy0GRjB.js";
9
- import { a as readReactDoctorWorkflow, c as workflowUsesV1Action, i as isReactDoctorWorkflowInstalled, l as prompts, s as upgradeWorkflowActionToV2 } from "./install-github-workflow-CQL9QH8Q.js";
10
- import { c as openWorkflowPullRequest, i as warnDeprecatedDiff, l as stageWorkflowFile, r as resolveScope, s as resolveBlockingLevel, t as finalizeScope, u as toForwardSlashes } from "./resolve-scope-DFSO5zB7.js";
11
- import { t as shouldSkipPrompts } from "./should-skip-prompts-jB7AIlXO.js";
12
- import { A as resolveMergeBaseRef, C as copyToClipboard, D as deduplicateProjectScans, E as collectProjectSourceFileCounts, I as printDiagnosticsDump, O as createInvocationInspect, S as CLI_AGENT_BINARIES, T as buildHandoffPayload, V as buildEmptyReportMessage, _ as resolveCliInspectOptions, a as projectManifestChanged, b as setUpGitHubActions, c as selectProjects, d as resolveProjectChangedLineRanges, f as resolveProjectDiffIncludePaths, g as resolveWorkspaceDeadCodeOwner, h as retryMissingProjectScores, i as validateModeFlags, j as printHeadlessReport, k as inspect, l as buildCodeFrame, m as resolveProjectRelativeDirectory, n as formatSkippedProjectsMessage, o as partitionProjectScanOutcomes, p as resolveProjectSourceFilePaths, r as validateIncludeUntrackedScope, t as shouldFailScanGate, u as resolveProjectScan, v as filterScansForSurface, w as launchCliAgent, x as detectLaunchableAgents, y as countUniqueScannedFiles, z as filterDiagnosticsByCategories } from "./should-fail-scan-gate-DFrfU9H8.js";
13
- import { a as recordGate, i as readPreference, o as runMigrations, p as SETUP_HINT_EVENT, r as isGatePending, s as writePreference, u as HANDOFF_TARGET_PREFERENCE_ID } from "./report-workflow-result-Dtn4MVZ_.js";
14
- import { a as askUpgradeActionVersion, c as recordCiPromptDecision, i as installReactDoctorAgentHooks, l as hasHandledActionUpgrade, o as askAddToGitHubActions, r as findAgentsWithOutdatedReactDoctorHooks, s as hasHandledCiPrompt, t as getSkillSourceDirectory, u as recordActionUpgradeDecision } from "./install-react-doctor-BC0tbnqe.js";
15
- import { t as readObjectFile } from "./read-object-file-p5HY4kEb.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="98458826-0427-52ce-b53c-b7ba8f689d69")}catch(e){}}();
3
+ import { An as gen, At as discoverSupportedSubprojects, Bt as getDiffInfo, Cr as messageFromUnknown, F as STAGED_FILES_TEMP_DIR_PREFIX, Fn as provide$1, Gn as provide, H as isDebugFlagEnabled, I as STAGED_SNAPSHOT_ADDITIONAL_CONFIG_FILENAMES, Jt as isPathInsideDirectory, K as isCiOrCodingAgentEnvironment, Kt as highlighter, Lt as getBaselineDiffPlan, Pt as findLegacyConfig, Rn as runPromise, Rt as getChangedLineRanges, Sr as isPlainObject, T as METRIC, Wt as hasSupportedFrameworkOrLibrary, X as Git, _ as VERSION, _r as STAGED_FILES_PROJECT_CONFIG_FILENAMES, br as isErrnoException, er as CANONICAL_GITHUB_URL, f as setJsonReportDirectory, fn as resolveScanTarget, g as writeJsonReport, h as writeJsonErrorReport, ht as buildJsonReport, in as mapWithConcurrency, kt as detectAiTrainingEnvironment, n as recordDistribution, nn as listWorkspacePackages, p as setJsonReportMode, q as isCodingAgentEnvironment, sn as remainingDeadlineBudgetMs, t as recordCount, u as enableJsonMode, ut as StagedFiles, yn as toRelativePath, z as CliInputError } from "./record-metric-C4-VKG9G.js";
4
+ import { n as shutdownTelemetry, r as isExpectedUserError } from "./telemetry-runtime-CDAL4uhm.js";
5
+ import { r as flushSentry } from "./build-section-divider-B9vlCDHV.js";
6
+ import { n as handleUserError, t as handleError } from "./handle-error-DUSoFUPL.js";
7
+ import { t as reportErrorToSentry } from "./report-error-1lrvJd3S.js";
8
+ import { A as runGitRaw, M as cliLogger, c as spinner, i as hasDoctorScript, n as findNearestPackageDirectory, o as isSpinnerSilent, s as setSpinnerSilent } from "./install-doctor-script-DbnMjPjQ.js";
9
+ import { a as readReactDoctorWorkflow, c as workflowUsesV1Action, i as isReactDoctorWorkflowInstalled, l as prompts, s as upgradeWorkflowActionToV2 } from "./install-github-workflow-CS_YO_OJ.js";
10
+ import { c as openWorkflowPullRequest, i as warnDeprecatedDiff, l as stageWorkflowFile, r as resolveScope, s as resolveBlockingLevel, t as finalizeScope, u as toForwardSlashes } from "./resolve-scope-YUP_rtf3.js";
11
+ import { t as shouldSkipPrompts } from "./should-skip-prompts-b1KKh2nz.js";
12
+ import { A as resolveMergeBaseRef, C as copyToClipboard, D as deduplicateProjectScans, E as collectProjectSourceFileCounts, I as printDiagnosticsDump, O as createInvocationInspect, S as CLI_AGENT_BINARIES, T as buildHandoffPayload, V as buildEmptyReportMessage, _ as resolveCliInspectOptions, a as projectManifestChanged, b as setUpGitHubActions, c as selectProjects, d as resolveProjectChangedLineRanges, f as resolveProjectDiffIncludePaths, g as resolveWorkspaceDeadCodeOwner, h as retryMissingProjectScores, i as validateModeFlags, j as printHeadlessReport, k as inspect, l as buildCodeFrame, m as resolveProjectRelativeDirectory, n as formatSkippedProjectsMessage, o as partitionProjectScanOutcomes, p as resolveProjectSourceFilePaths, r as validateIncludeUntrackedScope, t as shouldFailScanGate, u as resolveProjectScan, v as filterScansForSurface, w as launchCliAgent, x as detectLaunchableAgents, y as countUniqueScannedFiles, z as filterDiagnosticsByCategories } from "./should-fail-scan-gate-CtPrWy9N.js";
13
+ import { a as recordGate, i as readPreference, o as runMigrations, p as SETUP_HINT_EVENT, r as isGatePending, s as writePreference, u as HANDOFF_TARGET_PREFERENCE_ID } from "./report-workflow-result-C42nztEL.js";
14
+ import { a as askUpgradeActionVersion, c as recordCiPromptDecision, i as installReactDoctorAgentHooks, l as hasHandledActionUpgrade, o as askAddToGitHubActions, r as findAgentsWithOutdatedReactDoctorHooks, s as hasHandledCiPrompt, t as getSkillSourceDirectory, u as recordActionUpgradeDecision } from "./install-react-doctor-BTiagoIZ.js";
15
+ import { t as readObjectFile } from "./read-object-file-DIGDC3MB.js";
16
16
  import * as path$1 from "node:path";
17
17
  import * as fs$1 from "node:fs";
18
18
  import { tmpdir } from "node:os";
@@ -1441,5 +1441,5 @@ const inspectAction = async (directory, flags, invocationCommand = "inspect") =>
1441
1441
  //#endregion
1442
1442
  export { warnDeprecatedFailOn as n, runProjectMigrations as r, inspectAction as t };
1443
1443
 
1444
- //# sourceMappingURL=inspect-Cj9X2Cuj.js.map
1445
- //# debugId=434582d3-c829-5171-920a-9930383cd9d8
1444
+ //# sourceMappingURL=inspect-CNeq8v8s.js.map
1445
+ //# debugId=98458826-0427-52ce-b53c-b7ba8f689d69
@@ -1,11 +1,11 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="9d2c2c11-99df-506d-a8e7-58e6924fffd8")}catch(e){}}();
3
- import { T as METRIC, t as recordCount, zn as runSync } from "./record-metric-B0l334ac.js";
4
- import { r as isExpectedUserError } from "./telemetry-runtime-EpReAdpc.js";
5
- import { n as handleUserError, t as handleError } from "./handle-error-DBoxwa4Y.js";
6
- import { t as reportErrorToSentry } from "./report-error-CxbHpLL8.js";
7
- import { t as printBrandedHeader } from "./print-branded-header-B5xE0DP1.js";
8
- import { n as runInstallReactDoctor } from "./install-react-doctor-BC0tbnqe.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="936d9015-cecd-5790-b2a1-61a54700c1a4")}catch(e){}}();
3
+ import { T as METRIC, t as recordCount, zn as runSync } from "./record-metric-C4-VKG9G.js";
4
+ import { r as isExpectedUserError } from "./telemetry-runtime-CDAL4uhm.js";
5
+ import { n as handleUserError, t as handleError } from "./handle-error-DUSoFUPL.js";
6
+ import { t as reportErrorToSentry } from "./report-error-1lrvJd3S.js";
7
+ import { t as printBrandedHeader } from "./print-branded-header-bKbewJRI.js";
8
+ import { n as runInstallReactDoctor } from "./install-react-doctor-BTiagoIZ.js";
9
9
  //#region src/cli/commands/install.ts
10
10
  const installAction = async (options, command) => {
11
11
  recordCount(METRIC.cliInvoked, 1, { command: "install" });
@@ -29,5 +29,5 @@ const installAction = async (options, command) => {
29
29
  //#endregion
30
30
  export { installAction };
31
31
 
32
- //# sourceMappingURL=install-DJE5tJBN.js.map
33
- //# debugId=9d2c2c11-99df-506d-a8e7-58e6924fffd8
32
+ //# sourceMappingURL=install-DP8oO5sw.js.map
33
+ //# debugId=936d9015-cecd-5790-b2a1-61a54700c1a4
@@ -1,6 +1,6 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="87d59808-e3fc-5e1a-a1bb-a1fc1071f69d")}catch(e){}}();
3
- import { B as isNonInteractiveEnvironment, Cn as error$1, En as warn, Kt as highlighter, Tn as log, k as RUN_GIT_MAX_BUFFER_BYTES, wn as info$1, zn as runSync } from "./record-metric-B0l334ac.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="9f689369-0a82-5967-9fea-288a1348fbb5")}catch(e){}}();
3
+ import { B as isNonInteractiveEnvironment, Cn as error$1, En as warn, Kt as highlighter, Tn as log, k as RUN_GIT_MAX_BUFFER_BYTES, wn as info$1, zn as runSync } from "./record-metric-C4-VKG9G.js";
4
4
  import { a as chalk, i as stripAnsi, t as eastAsianWidth } from "./get-east-asian-width-Cglw13G7.js";
5
5
  import { execFileSync } from "node:child_process";
6
6
  import * as path$1 from "node:path";
@@ -2805,5 +2805,5 @@ const installReactDoctorScriptStep = (projectRoot) => {
2805
2805
  //#endregion
2806
2806
  export { runGitRaw as A, isRecord as C, readPackageJson as D, packageHasRecordKey as E, cliLogger as M, resolveGitPath as O, getPackageJsonPath as S, packageHasNestedRecordKey as T, REACT_DOCTOR_COMMAND as _, installReactDoctorScriptStep as a, VITE_PLUS_HOOKS_PATH as b, spinner as c, HUSKY_HOOKS_PATH as d, LEFTHOOK_CONFIG_FILES as f, PRE_COMMIT_CONFIG_FILE as g, OVERCOMMIT_CONFIG_FILE as h, hasDoctorScript as i, writeJsonFile as j, runGit as k, HOOK_FILE_NAME as l, NON_BLOCKING_REACT_DOCTOR_COMMAND as m, findNearestPackageDirectory as n, isSpinnerSilent as o, LEGACY_HOOK_RUNNER_RELATIVE_PATH as p, hasDoctorDependency as r, setSpinnerSilent as s, DOCTOR_PACKAGE_NAME as t, HOOK_RELATIVE_PATH as u, SIMPLE_GIT_HOOKS_CONFIG_FILE as v, packageHasDependency as w, ensureTrailingNewline as x, SIMPLE_GIT_HOOKS_PACKAGE_JSON_KEY as y };
2807
2807
 
2808
- //# sourceMappingURL=install-doctor-script-Bwy0GRjB.js.map
2809
- //# debugId=87d59808-e3fc-5e1a-a1bb-a1fc1071f69d
2808
+ //# sourceMappingURL=install-doctor-script-DbnMjPjQ.js.map
2809
+ //# debugId=9f689369-0a82-5967-9fea-288a1348fbb5
@@ -1,8 +1,8 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="721ac3a7-092e-55b5-bd8d-2348733721d6")}catch(e){}}();
3
- import { w as GH_DEFAULT_BRANCH_PROBE_TIMEOUT_MS } from "./record-metric-B0l334ac.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="b6ef82c7-0003-59f7-b378-1e70e6115ac8")}catch(e){}}();
3
+ import { w as GH_DEFAULT_BRANCH_PROBE_TIMEOUT_MS } from "./record-metric-C4-VKG9G.js";
4
4
  import { t as unrefStdin } from "./unref-stdin-BKT_s38a.js";
5
- import { M as cliLogger } from "./install-doctor-script-Bwy0GRjB.js";
5
+ import { M as cliLogger } from "./install-doctor-script-DbnMjPjQ.js";
6
6
  import { createRequire } from "node:module";
7
7
  import { execFile } from "node:child_process";
8
8
  import * as path$1 from "node:path";
@@ -263,5 +263,5 @@ const upgradeReactDoctorWorkflowInPlace = (projectRoot) => {
263
263
  //#endregion
264
264
  export { readReactDoctorWorkflow as a, workflowUsesV1Action as c, detectDefaultBranch as d, runCommand as f, isReactDoctorWorkflowInstalled as i, prompts as l, getReactDoctorWorkflowPath as n, upgradeReactDoctorWorkflowInPlace as o, installReactDoctorWorkflow as r, upgradeWorkflowActionToV2 as s, buildWorkflowContent as t, isCommandAvailable as u };
265
265
 
266
- //# sourceMappingURL=install-github-workflow-CQL9QH8Q.js.map
267
- //# debugId=721ac3a7-092e-55b5-bd8d-2348733721d6
266
+ //# sourceMappingURL=install-github-workflow-CS_YO_OJ.js.map
267
+ //# debugId=b6ef82c7-0003-59f7-b378-1e70e6115ac8
@@ -1,10 +1,10 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="18311cd4-6630-5c31-9b77-79b8c3c9fa6f")}catch(e){}}();
3
- import { C as CI_TRUST_COMPANIES, Kt as highlighter, T as METRIC, br as isErrnoException, cr as GITHUB_ACTIONS_SETUP_URL, gr as SKILL_NAME, t as recordCount, z as CliInputError } from "./record-metric-B0l334ac.js";
4
- import { C as isRecord, D as readPackageJson, E as packageHasRecordKey, M as cliLogger, O as resolveGitPath, S as getPackageJsonPath, T as packageHasNestedRecordKey, _ as REACT_DOCTOR_COMMAND, a as installReactDoctorScriptStep, b as VITE_PLUS_HOOKS_PATH, c as spinner, d as HUSKY_HOOKS_PATH, f as LEFTHOOK_CONFIG_FILES, g as PRE_COMMIT_CONFIG_FILE, h as OVERCOMMIT_CONFIG_FILE, j as writeJsonFile, k as runGit, l as HOOK_FILE_NAME, m as NON_BLOCKING_REACT_DOCTOR_COMMAND, n as findNearestPackageDirectory, p as LEGACY_HOOK_RUNNER_RELATIVE_PATH, r as hasDoctorDependency, t as DOCTOR_PACKAGE_NAME, u as HOOK_RELATIVE_PATH, w as packageHasDependency, x as ensureTrailingNewline } from "./install-doctor-script-Bwy0GRjB.js";
5
- import { a as readReactDoctorWorkflow, c as workflowUsesV1Action, d as detectDefaultBranch, l as prompts, n as getReactDoctorWorkflowPath, o as upgradeReactDoctorWorkflowInPlace, r as installReactDoctorWorkflow } from "./install-github-workflow-CQL9QH8Q.js";
6
- import { t as shouldSkipPrompts } from "./should-skip-prompts-jB7AIlXO.js";
7
- import { a as recordGate, c as ACTION_UPGRADE_EVENT, d as INSTALL_AGENTS_PREFERENCE_ID, h as detectAvailableAgents, i as readPreference, l as CI_PITCH_EVENT, m as computeDefaultSelectedAgents, n as openUrl, r as isGatePending, s as writePreference, t as reportWorkflowResult } from "./report-workflow-result-Dtn4MVZ_.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="396a4cf6-3c4e-5ac5-85be-b7679e0cef5b")}catch(e){}}();
3
+ import { C as CI_TRUST_COMPANIES, Kt as highlighter, T as METRIC, br as isErrnoException, cr as GITHUB_ACTIONS_SETUP_URL, gr as SKILL_NAME, t as recordCount, z as CliInputError } from "./record-metric-C4-VKG9G.js";
4
+ import { C as isRecord, D as readPackageJson, E as packageHasRecordKey, M as cliLogger, O as resolveGitPath, S as getPackageJsonPath, T as packageHasNestedRecordKey, _ as REACT_DOCTOR_COMMAND, a as installReactDoctorScriptStep, b as VITE_PLUS_HOOKS_PATH, c as spinner, d as HUSKY_HOOKS_PATH, f as LEFTHOOK_CONFIG_FILES, g as PRE_COMMIT_CONFIG_FILE, h as OVERCOMMIT_CONFIG_FILE, j as writeJsonFile, k as runGit, l as HOOK_FILE_NAME, m as NON_BLOCKING_REACT_DOCTOR_COMMAND, n as findNearestPackageDirectory, p as LEGACY_HOOK_RUNNER_RELATIVE_PATH, r as hasDoctorDependency, t as DOCTOR_PACKAGE_NAME, u as HOOK_RELATIVE_PATH, w as packageHasDependency, x as ensureTrailingNewline } from "./install-doctor-script-DbnMjPjQ.js";
5
+ import { a as readReactDoctorWorkflow, c as workflowUsesV1Action, d as detectDefaultBranch, l as prompts, n as getReactDoctorWorkflowPath, o as upgradeReactDoctorWorkflowInPlace, r as installReactDoctorWorkflow } from "./install-github-workflow-CS_YO_OJ.js";
6
+ import { t as shouldSkipPrompts } from "./should-skip-prompts-b1KKh2nz.js";
7
+ import { a as recordGate, c as ACTION_UPGRADE_EVENT, d as INSTALL_AGENTS_PREFERENCE_ID, h as detectAvailableAgents, i as readPreference, l as CI_PITCH_EVENT, m as computeDefaultSelectedAgents, n as openUrl, r as isGatePending, s as writePreference, t as reportWorkflowResult } from "./report-workflow-result-C42nztEL.js";
8
8
  import { execFile } from "node:child_process";
9
9
  import * as path$1 from "node:path";
10
10
  import * as fs$1 from "node:fs";
@@ -1152,5 +1152,5 @@ const runInstallReactDoctor = async (options = {}) => {
1152
1152
  //#endregion
1153
1153
  export { askUpgradeActionVersion as a, recordCiPromptDecision as c, installReactDoctorAgentHooks as i, hasHandledActionUpgrade as l, runInstallReactDoctor as n, askAddToGitHubActions as o, findAgentsWithOutdatedReactDoctorHooks as r, hasHandledCiPrompt as s, getSkillSourceDirectory as t, recordActionUpgradeDecision as u };
1154
1154
 
1155
- //# sourceMappingURL=install-react-doctor-BC0tbnqe.js.map
1156
- //# debugId=18311cd4-6630-5c31-9b77-79b8c3c9fa6f
1155
+ //# sourceMappingURL=install-react-doctor-BTiagoIZ.js.map
1156
+ //# debugId=396a4cf6-3c4e-5ac5-85be-b7679e0cef5b
@@ -1,8 +1,8 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="0ab96cf4-dece-56d7-aced-d2ce61fdd137")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="719f60e4-e929-59b2-97f3-ccd35eb0a164")}catch(e){}}();
3
3
  import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-ChKA3wi6.js";
4
- import { T as METRIC, t as recordCount } from "./record-metric-B0l334ac.js";
5
- import { n as registerActiveTuiRenderer, t as exitGracefully } from "./exit-gracefully-cFX-xHhy.js";
4
+ import { T as METRIC, t as recordCount } from "./record-metric-C4-VKG9G.js";
5
+ import { n as registerActiveTuiRenderer, t as exitGracefully } from "./exit-gracefully-Bq-JF68q.js";
6
6
  import { a as chalk, i as stripAnsi, n as isFullWidth$1, r as isWide$1 } from "./get-east-asian-width-Cglw13G7.js";
7
7
  import { EventEmitter } from "node:events";
8
8
  import { execFileSync } from "node:child_process";
@@ -25869,5 +25869,5 @@ var require_jsx_runtime = /* @__PURE__ */ __commonJSMin(((exports, module) => {
25869
25869
  //#endregion
25870
25870
  export { useExitOnCtrlC as a, Spinner as c, useInput as d, Transform as f, Box as h, import_react as i, useStdout as l, Text as m, registerMountedTuiRenderer as n, terminalSymbols as o, render as p, useStdoutDimensions as r, isPrintableInput as s, require_jsx_runtime as t, useApp as u };
25871
25871
 
25872
- //# sourceMappingURL=jsx-runtime-BGIkB563.js.map
25873
- //# debugId=0ab96cf4-dece-56d7-aced-d2ce61fdd137
25872
+ //# sourceMappingURL=jsx-runtime-DGcmMln7.js.map
25873
+ //# debugId=719f60e4-e929-59b2-97f3-ccd35eb0a164
@@ -1,6 +1,6 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="91f9093c-7869-5668-97b3-3ffec88b474f")}catch(e){}}();
3
- import { An as gen, Kt as highlighter, Tn as log, _ as VERSION } from "./record-metric-B0l334ac.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="b9020301-5809-59e3-b23e-6e8c7c18dee9")}catch(e){}}();
3
+ import { An as gen, Kt as highlighter, Tn as log, _ as VERSION } from "./record-metric-C4-VKG9G.js";
4
4
  //#region src/cli/utils/print-branded-header.ts
5
5
  /**
6
6
  * Single branded line every command prints first when not in JSON
@@ -18,5 +18,5 @@ const printBrandedHeader = gen(function* () {
18
18
  //#endregion
19
19
  export { printBrandedHeader as t };
20
20
 
21
- //# sourceMappingURL=print-branded-header-B5xE0DP1.js.map
22
- //# debugId=91f9093c-7869-5668-97b3-3ffec88b474f
21
+ //# sourceMappingURL=print-branded-header-bKbewJRI.js.map
22
+ //# debugId=b9020301-5809-59e3-b23e-6e8c7c18dee9
@@ -1,8 +1,8 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="589332df-118a-571b-8789-9ffa2d9f03dd")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="80ca36dd-c667-51ce-9b2d-f6593e2cb6f7")}catch(e){}}();
3
3
  import { t as unrefStdin } from "./unref-stdin-BKT_s38a.js";
4
- import { a as RUNTIME_SCAN_LOCAL_DEV_PORTS, t as sanitizeRuntimeUrl, u as RUNTIME_SCAN_MAX_STRING_LENGTH } from "./sanitize-runtime-url-DMNbP5D7.js";
5
- import { a as useExitOnCtrlC, c as Spinner, d as useInput, h as Box, i as import_react, m as Text, n as registerMountedTuiRenderer, o as terminalSymbols, p as render, r as useStdoutDimensions, s as isPrintableInput, t as require_jsx_runtime } from "./jsx-runtime-BGIkB563.js";
4
+ import { a as RUNTIME_SCAN_LOCAL_DEV_PORTS, t as sanitizeRuntimeUrl, u as RUNTIME_SCAN_MAX_STRING_LENGTH } from "./sanitize-runtime-url-DVwfWWZy.js";
5
+ import { a as useExitOnCtrlC, c as Spinner, d as useInput, h as Box, i as import_react, m as Text, n as registerMountedTuiRenderer, o as terminalSymbols, p as render, r as useStdoutDimensions, s as isPrintableInput, t as require_jsx_runtime } from "./jsx-runtime-DGcmMln7.js";
6
6
  import * as http from "node:http";
7
7
  //#region src/cli/runtime-scan/detect-local-runtime-urls.ts
8
8
  const LOCAL_HTTP_HOSTS = ["127.0.0.1", "::1"];
@@ -236,5 +236,5 @@ const promptRuntimeScanUrl = () => new Promise((resolve) => {
236
236
  //#endregion
237
237
  export { promptRuntimeScanUrl };
238
238
 
239
- //# sourceMappingURL=prompt-runtime-scan-url-G27i97Bd.js.map
240
- //# debugId=589332df-118a-571b-8789-9ffa2d9f03dd
239
+ //# sourceMappingURL=prompt-runtime-scan-url-CvsHajZD.js.map
240
+ //# debugId=80ca36dd-c667-51ce-9b2d-f6593e2cb6f7
@@ -1,6 +1,6 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="aab93068-e2ac-58fd-9bff-deeb0906eb91")}catch(e){}}();
3
- import { Sr as isPlainObject } from "./record-metric-B0l334ac.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="d7245f2a-eaa7-5f82-8761-1b8756f5df00")}catch(e){}}();
3
+ import { Sr as isPlainObject } from "./record-metric-C4-VKG9G.js";
4
4
  import * as fs$1 from "node:fs";
5
5
  import { parseJSON5 } from "confbox";
6
6
  //#region src/cli/utils/read-object-file.ts
@@ -20,5 +20,5 @@ const readObjectFile = (filePath) => {
20
20
  //#endregion
21
21
  export { readObjectFile as t };
22
22
 
23
- //# sourceMappingURL=read-object-file-p5HY4kEb.js.map
24
- //# debugId=aab93068-e2ac-58fd-9bff-deeb0906eb91
23
+ //# sourceMappingURL=read-object-file-DIGDC3MB.js.map
24
+ //# debugId=d7245f2a-eaa7-5f82-8761-1b8756f5df00
@@ -1,5 +1,5 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="10224529-8179-5ea2-849f-da7e2f5c7db2")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="8c1c93ba-3c9c-52ed-ab45-dd9ad17cb8d3")}catch(e){}}();
3
3
  import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-ChKA3wi6.js";
4
4
  import { n as require_picomatch, t as require_semver } from "./semver-DFtnEmN-.js";
5
5
  import { createRequire } from "node:module";
@@ -76657,7 +76657,7 @@ const makeNoopConsole = () => ({
76657
76657
  });
76658
76658
  //#endregion
76659
76659
  //#region src/cli/utils/version.ts
76660
- const VERSION = "0.9.12-dev.a163de9";
76660
+ const VERSION = "0.9.12-dev.afa1780";
76661
76661
  //#endregion
76662
76662
  //#region src/cli/utils/json-mode.ts
76663
76663
  let context = null;
@@ -77001,5 +77001,5 @@ const recordDistribution = (name, value, options = {}) => {
77001
77001
  //#endregion
77002
77002
  export { Linter as $, CANONICAL_DISCORD_URL as $n, layerObservability as $t, SCAN_RESULT_CACHE_FILENAME as A, gen as An, discoverSupportedSubprojects as At, isNonInteractiveEnvironment as B, sync as Bn, getDiffInfo as Bt, CI_TRUST_COMPANIES as C, error as Cn, messageFromUnknown as Cr, collectSourceFileCountsByDirectory as Ct, NANOSECONDS_PER_MILLISECOND as D, Diagnostic as Dn, createNodeReadFileLinesSync as Dt, MINIMUM_VTE_VERSION_FOR_HYPERLINKS as E, warn$1 as En, countOptInProjectRuleSelections as Et, STAGED_FILES_TEMP_DIR_PREFIX as F, provide as Fn, formatErrorChain as Ft, isCiEnvironment as G, provide$2 as Gn, hashFileContents as Gt, isDebugFlagEnabled as H, void_ as Hn, groupBy as Ht, STAGED_SNAPSHOT_ADDITIONAL_CONFIG_FILENAMES as I, provideContext as In, formatReactDoctorError as It, Config as J, makeUnsafe$5 as Jn, isPathInsideDirectory as Jt, isCiOrCodingAgentEnvironment as K, succeed$3 as Kn, highlighter as Kt, TUI_REPORT_COMPACT_MAX_ROWS as L, provideService as Ln, getBaselineDiffPlan as Lt, SENTRY_DSN as M, map$3 as Mn, filterPathsOutsideDirectories as Mt, SENTRY_FLUSH_TIMEOUT_MS as N, orElseSucceed as Nn, filterSourceFiles as Nt, REACT_DOCTOR_CONFIG_PROJECT_NAME as O, decodeUnknownSync as On, createOxlintSpawnSlots as Ot, SENTRY_RELEASE_PREFIX as P, promise as Pn, findLegacyConfig as Pt, LintPartialFailures as Q, AXIOM_DEFAULT_DOMAIN as Qn, isScanComplete as Qt, TUI_REPORT_DETAIL_WIDTH_FRACTION as R, runPromise as Rn, getChangedLineRanges as Rt, BASELINE_FILES_TEMP_DIR_PREFIX as S, Console as Sn, isPlainObject as Sr, clearConfigCache as St, METRIC as T, log as Tn, computeDiagnosticDelta as Tt, ACTION_INPUT_ENVIRONMENT_VARIABLES as U, buildWithScope as Un, hasPublishedFixRecipe as Ut, isGitHookEnvironment as V, try_ as Vn, getEquivalentRuleKeys as Vt, detectRunnerOs as W, mergeAll$1 as Wn, hasSupportedFrameworkOrLibrary as Wt, Git as X, void_$1 as Xn, isReactDoctorError as Xt, Files as Y, fail$5 as Yn, isProjectDiscoveryError as Yt, LEGACY_CONFIG_FILENAME as Z, ParentSpan as Zn, isSameRuleKey as Zt, VERSION as _, shouldUseMaintainabilityLayer as _n, STAGED_FILES_PROJECT_CONFIG_FILENAMES as _r, buildRuleSeverityControls as _t, isEnvFlagEnabled as a, materializeSourceTree as an, DIAGNOSTIC_CATEGORY_BUCKETS as ar, Progress as at, AXIOM_METRICS_DATASET as b, validateConfigTypes as bn, isErrnoException as br, canonicalizeUserRuleKey as bt, setSentryProjectInfo as c, resolveGithubActionsScoreMetadata as cn, GITHUB_ACTIONS_SETUP_URL as cr, Score as ct, isJsonModeActive as d, resolveScanConcurrency as dn, JSX_DUPLICATION_SOURCE_FILE_PATTERN as dr, SupplyChain as dt, listSourceFiles as en, CANONICAL_GITHUB_URL as er, Maintainability as et, setJsonReportDirectory as f, resolveScanTarget as fn, JSX_FILE_PATTERN as fr, anonymizeInPlace as ft, writeJsonReport as g, setColorEnabled as gn, SKILL_NAME as gr, buildRuleDocsUrl as gt, writeJsonErrorReport as h, scrubSensitivePaths as hn, SHARE_BASE_URL as hr, buildJsonReport as ht, isTelemetryEnabled as i, mapWithConcurrency as in, CONFIG_SCHEMA_URL as ir, PerFileLintCacheEnabled as it, SCAN_RESULT_CACHE_MAX_HASHED_FILE_SIZE_BYTES as j, makeSpan$1 as jn, filterDiagnosticsForSurface as jt, RUN_GIT_MAX_BUFFER_BYTES as k, make$30 as kn, detectAiTrainingEnvironment as kt, getRunId as l, resolveLintBatchOrdering as ln, GIT_SHOW_MAX_BUFFER_BYTES as lr, SidecarLintCacheEnabled as lt, writeJsonCancellationReport as m, runInspect as mn, OXLINT_NODE_REQUIREMENT as mr, atomicWriteJson as mt, recordDistribution as n, listWorkspacePackages as nn, COMPILER_CLEANUP_BUCKET as nr, OxlintConcurrency as nt, buildSentryScope as o, mergeReactDoctorConfigs as on, DOCS_URL as or, Project as ot, setJsonReportMode as p, restoreLegacyThrow as pn, MILLISECONDS_PER_SECOND as pr, anonymizeText as pt, isCodingAgentEnvironment as q, close as qn, isMonorepoRoot as qt, toSpanAttributes as r, loadConfigWithSource as rn, COMPILER_CLEANUP_RULE_KEYS as rr, OxlintSpawnSlots as rt, buildSentryProjectContext as s, remainingDeadlineBudgetMs as sn, ENTERPRISE_CONTACT_URL as sr, Reporter as st, recordCount as t, listSourceFilesCooperative as tn, CI_URL as tr, NodeResolver as tt, enableJsonMode as u, resolveReactDoctorCacheDir as un, HTML_FILE_PATTERN as ur, StagedFiles as ut, makeNoopConsole as v, summarizeDiagnostics as vn, getCategoryImpact as vr, buildSkippedChecks as vt, GH_DEFAULT_BRANCH_PROBE_TIMEOUT_MS as w, info as wn, toCanonicalPath as wr, computeConfigFingerprint as wt, AXIOM_TRACES_DATASET as x, yieldToEventLoop as xn, isFile as xr, classifyFileContext as xt, AXIOM_INGEST_TOKEN as y, toRelativePath as yn, isDirectory as yr, calculateScore as yt, CliInputError as z, runSync as zn, getDiagnosticRuleIdentity as zt };
77003
77003
 
77004
- //# sourceMappingURL=record-metric-B0l334ac.js.map
77005
- //# debugId=10224529-8179-5ea2-849f-da7e2f5c7db2
77004
+ //# sourceMappingURL=record-metric-C4-VKG9G.js.map
77005
+ //# debugId=8c1c93ba-3c9c-52ed-ab45-dd9ad17cb8d3
@@ -1,7 +1,7 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="71ecf56c-2749-5cc1-b04a-84810ee2b11b")}catch(e){}}();
3
- import { N as SENTRY_FLUSH_TIMEOUT_MS, T as METRIC, Xt as isReactDoctorError, l as getRunId, o as buildSentryScope, t as recordCount } from "./record-metric-B0l334ac.js";
4
- import { n as shutdownTelemetry, r as isExpectedUserError } from "./telemetry-runtime-EpReAdpc.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="4dd1317a-ef74-58ee-bdca-5e8421b9e276")}catch(e){}}();
3
+ import { N as SENTRY_FLUSH_TIMEOUT_MS, T as METRIC, Xt as isReactDoctorError, l as getRunId, o as buildSentryScope, t as recordCount } from "./record-metric-C4-VKG9G.js";
4
+ import { n as shutdownTelemetry, r as isExpectedUserError } from "./telemetry-runtime-CDAL4uhm.js";
5
5
  import { r as recordRunTraceId, t as getActiveRunTrace } from "./active-run-trace-dlIZeEvb.js";
6
6
  import * as Sentry from "@sentry/node";
7
7
  //#region src/cli/utils/report-error.ts
@@ -60,5 +60,5 @@ const reportErrorToSentry = async (error) => {
60
60
  //#endregion
61
61
  export { reportErrorToSentry as t };
62
62
 
63
- //# sourceMappingURL=report-error-CxbHpLL8.js.map
64
- //# debugId=71ecf56c-2749-5cc1-b04a-84810ee2b11b
63
+ //# sourceMappingURL=report-error-1lrvJd3S.js.map
64
+ //# debugId=4dd1317a-ef74-58ee-bdca-5e8421b9e276
@@ -1,7 +1,7 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="d380dc6b-324b-5631-abc7-bdddc1997158")}catch(e){}}();
3
- import { O as REACT_DOCTOR_CONFIG_PROJECT_NAME, T as METRIC, t as recordCount } from "./record-metric-B0l334ac.js";
4
- import { u as isCommandAvailable } from "./install-github-workflow-CQL9QH8Q.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="94ab2980-6055-5499-a6af-91c2b90b5ac7")}catch(e){}}();
3
+ import { O as REACT_DOCTOR_CONFIG_PROJECT_NAME, T as METRIC, t as recordCount } from "./record-metric-C4-VKG9G.js";
4
+ import { u as isCommandAvailable } from "./install-github-workflow-CS_YO_OJ.js";
5
5
  import { spawn } from "node:child_process";
6
6
  import * as path$1 from "node:path";
7
7
  import process$1 from "node:process";
@@ -275,5 +275,5 @@ const reportWorkflowResult = (workflowSpinner, result, projectRoot) => {
275
275
  //#endregion
276
276
  export { recordGate as a, ACTION_UPGRADE_EVENT as c, INSTALL_AGENTS_PREFERENCE_ID as d, ONBOARDING_EVENT as f, detectAvailableAgents as h, readPreference as i, CI_PITCH_EVENT as l, computeDefaultSelectedAgents as m, openUrl as n, runMigrations as o, SETUP_HINT_EVENT as p, isGatePending as r, writePreference as s, reportWorkflowResult as t, HANDOFF_TARGET_PREFERENCE_ID as u };
277
277
 
278
- //# sourceMappingURL=report-workflow-result-Dtn4MVZ_.js.map
279
- //# debugId=d380dc6b-324b-5631-abc7-bdddc1997158
278
+ //# sourceMappingURL=report-workflow-result-C42nztEL.js.map
279
+ //# debugId=94ab2980-6055-5499-a6af-91c2b90b5ac7
@@ -1,8 +1,8 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="a3c37de3-961b-57ff-b15f-09c0400b5121")}catch(e){}}();
3
- import { Jt as isPathInsideDirectory, Nt as filterSourceFiles, wr as toCanonicalPath } from "./record-metric-B0l334ac.js";
4
- import { M as cliLogger } from "./install-doctor-script-Bwy0GRjB.js";
5
- import { d as detectDefaultBranch, f as runCommand, l as prompts, u as isCommandAvailable } from "./install-github-workflow-CQL9QH8Q.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="65c3ea2a-7905-5036-b6d5-51b24fd44621")}catch(e){}}();
3
+ import { Jt as isPathInsideDirectory, Nt as filterSourceFiles, wr as toCanonicalPath } from "./record-metric-C4-VKG9G.js";
4
+ import { M as cliLogger } from "./install-doctor-script-DbnMjPjQ.js";
5
+ import { d as detectDefaultBranch, f as runCommand, l as prompts, u as isCommandAvailable } from "./install-github-workflow-CS_YO_OJ.js";
6
6
  import * as path$1 from "node:path";
7
7
  //#region src/cli/utils/path-format.ts
8
8
  const toForwardSlashes = (filePath) => filePath.replaceAll("\\", "/");
@@ -335,5 +335,5 @@ const finalizeScope = async ({ requested, diffInfo, skipPrompts, isQuiet }) => {
335
335
  //#endregion
336
336
  export { isValidBlockingLevel as a, openWorkflowPullRequest as c, warnDeprecatedDiff as i, stageWorkflowFile as l, isScopeValue as n, pickBlockingLevel as o, resolveScope as r, resolveBlockingLevel as s, finalizeScope as t, toForwardSlashes as u };
337
337
 
338
- //# sourceMappingURL=resolve-scope-DFSO5zB7.js.map
339
- //# debugId=a3c37de3-961b-57ff-b15f-09c0400b5121
338
+ //# sourceMappingURL=resolve-scope-YUP_rtf3.js.map
339
+ //# debugId=65c3ea2a-7905-5036-b6d5-51b24fd44621
@@ -1,8 +1,8 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="3396371c-f5fd-528b-98de-0f613da4f354")}catch(e){}}();
3
- import { Kt as highlighter, Sr as isPlainObject, St as clearConfigCache, T as METRIC, Vt as getEquivalentRuleKeys, Zt as isSameRuleKey, bn as validateConfigTypes, gt as buildRuleDocsUrl, nr as COMPILER_CLEANUP_BUCKET, rn as loadConfigWithSource, rr as COMPILER_CLEANUP_RULE_KEYS, t as recordCount } from "./record-metric-B0l334ac.js";
4
- import { M as cliLogger, n as findNearestPackageDirectory } from "./install-doctor-script-Bwy0GRjB.js";
5
- import { t as readObjectFile } from "./read-object-file-p5HY4kEb.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="676aa9c6-f648-5caa-bb1c-e828688caffd")}catch(e){}}();
3
+ import { Kt as highlighter, Sr as isPlainObject, St as clearConfigCache, T as METRIC, Vt as getEquivalentRuleKeys, Zt as isSameRuleKey, bn as validateConfigTypes, gt as buildRuleDocsUrl, nr as COMPILER_CLEANUP_BUCKET, rn as loadConfigWithSource, rr as COMPILER_CLEANUP_RULE_KEYS, t as recordCount } from "./record-metric-C4-VKG9G.js";
4
+ import { M as cliLogger, n as findNearestPackageDirectory } from "./install-doctor-script-DbnMjPjQ.js";
5
+ import { t as readObjectFile } from "./read-object-file-DIGDC3MB.js";
6
6
  import * as path$1 from "node:path";
7
7
  import * as fs$1 from "node:fs";
8
8
  import { REACT_DOCTOR_RULES } from "oxlint-plugin-react-doctor/core";
@@ -577,5 +577,5 @@ const rulesUnignoreTagAction = async (tag, options) => {
577
577
  //#endregion
578
578
  export { rulesCategoryAction, rulesDisableAction, rulesEnableAction, rulesExplainAction, rulesIgnoreTagAction, rulesListAction, rulesSetAction, rulesUnignoreTagAction };
579
579
 
580
- //# sourceMappingURL=rules-DEUYP2QZ.js.map
581
- //# debugId=3396371c-f5fd-528b-98de-0f613da4f354
580
+ //# sourceMappingURL=rules-BY4vq5-i.js.map
581
+ //# debugId=676aa9c6-f648-5caa-bb1c-e828688caffd
@@ -1,12 +1,12 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="f65a2081-a7bf-57ae-b51b-db7b32f732b2")}catch(e){}}();
3
- import { Bn as sync, Bt as getDiffInfo, C as CI_TRUST_COMPANIES, G as isCiEnvironment, Hn as void_, Jt as isPathInsideDirectory, Kn as succeed, Kt as highlighter, L as TUI_REPORT_COMPACT_MAX_ROWS, Lt as getBaselineDiffPlan, R as TUI_REPORT_DETAIL_WIDTH_FRACTION, Rn as runPromise, Rt as getChangedLineRanges, T as METRIC, Ut as hasPublishedFixRecipe, V as isGitHookEnvironment, ar as DIAGNOSTIC_CATEGORY_BUCKETS, at as Progress, cr as GITHUB_ACTIONS_SETUP_URL, fn as resolveScanTarget, gt as buildRuleDocsUrl, in as mapWithConcurrency, n as recordDistribution, sn as remainingDeadlineBudgetMs, st as Reporter, t as recordCount, vr as getCategoryImpact, xn as yieldToEventLoop, yt as calculateScore } from "./record-metric-B0l334ac.js";
4
- import { M as cliLogger, n as findNearestPackageDirectory } from "./install-doctor-script-Bwy0GRjB.js";
5
- import { i as isReactDoctorWorkflowInstalled } from "./install-github-workflow-CQL9QH8Q.js";
6
- import { r as resolveScope, s as resolveBlockingLevel, t as finalizeScope, u as toForwardSlashes } from "./resolve-scope-DFSO5zB7.js";
7
- import { A as resolveMergeBaseRef, B as buildNoScoreMessage, C as copyToClipboard, D as deduplicateProjectScans, E as collectProjectSourceFileCounts, F as printFooter, G as formatFixRecipeLine, H as hasLintHardFailure, I as printDiagnosticsDump, K as formatLearnMoreLine, L as formatDiagnosticSite, M as pluralize, N as formatSkippedCheckLabel, O as createInvocationInspect, P as formatElapsedTime, R as hasIncompleteScoreAnalysis, S as CLI_AGENT_BINARIES, T as buildHandoffPayload, U as buildRulePriorityMap, V as buildEmptyReportMessage, W as buildSortedRuleGroups, _ as resolveCliInspectOptions, a as projectManifestChanged, b as setUpGitHubActions, c as selectProjects, d as resolveProjectChangedLineRanges, f as resolveProjectDiffIncludePaths, g as resolveWorkspaceDeadCodeOwner, h as retryMissingProjectScores, l as buildCodeFrame, n as formatSkippedProjectsMessage, o as partitionProjectScanOutcomes, p as resolveProjectSourceFilePaths, r as validateIncludeUntrackedScope, s as discoverWorkspacePackages, t as shouldFailScanGate, u as resolveProjectScan, v as filterScansForSurface, w as launchCliAgent, x as detectLaunchableAgents, y as countUniqueScannedFiles, z as filterDiagnosticsByCategories } from "./should-fail-scan-gate-DFrfU9H8.js";
8
- import { a as recordGate, f as ONBOARDING_EVENT, n as openUrl, r as isGatePending } from "./report-workflow-result-Dtn4MVZ_.js";
9
- import { a as useExitOnCtrlC, c as Spinner, d as useInput, f as Transform, h as Box, i as import_react, l as useStdout, m as Text, n as registerMountedTuiRenderer, o as terminalSymbols, p as render, r as useStdoutDimensions, s as isPrintableInput, t as require_jsx_runtime, u as useApp } from "./jsx-runtime-BGIkB563.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="99ceb150-1900-5127-a627-20c89bf08990")}catch(e){}}();
3
+ import { Bn as sync, Bt as getDiffInfo, C as CI_TRUST_COMPANIES, G as isCiEnvironment, Hn as void_, Jt as isPathInsideDirectory, Kn as succeed, Kt as highlighter, L as TUI_REPORT_COMPACT_MAX_ROWS, Lt as getBaselineDiffPlan, R as TUI_REPORT_DETAIL_WIDTH_FRACTION, Rn as runPromise, Rt as getChangedLineRanges, T as METRIC, Ut as hasPublishedFixRecipe, V as isGitHookEnvironment, ar as DIAGNOSTIC_CATEGORY_BUCKETS, at as Progress, cr as GITHUB_ACTIONS_SETUP_URL, fn as resolveScanTarget, gt as buildRuleDocsUrl, in as mapWithConcurrency, n as recordDistribution, sn as remainingDeadlineBudgetMs, st as Reporter, t as recordCount, vr as getCategoryImpact, xn as yieldToEventLoop, yt as calculateScore } from "./record-metric-C4-VKG9G.js";
4
+ import { M as cliLogger, n as findNearestPackageDirectory } from "./install-doctor-script-DbnMjPjQ.js";
5
+ import { i as isReactDoctorWorkflowInstalled } from "./install-github-workflow-CS_YO_OJ.js";
6
+ import { r as resolveScope, s as resolveBlockingLevel, t as finalizeScope, u as toForwardSlashes } from "./resolve-scope-YUP_rtf3.js";
7
+ import { A as resolveMergeBaseRef, B as buildNoScoreMessage, C as copyToClipboard, D as deduplicateProjectScans, E as collectProjectSourceFileCounts, F as printFooter, G as formatFixRecipeLine, H as hasLintHardFailure, I as printDiagnosticsDump, K as formatLearnMoreLine, L as formatDiagnosticSite, M as pluralize, N as formatSkippedCheckLabel, O as createInvocationInspect, P as formatElapsedTime, R as hasIncompleteScoreAnalysis, S as CLI_AGENT_BINARIES, T as buildHandoffPayload, U as buildRulePriorityMap, V as buildEmptyReportMessage, W as buildSortedRuleGroups, _ as resolveCliInspectOptions, a as projectManifestChanged, b as setUpGitHubActions, c as selectProjects, d as resolveProjectChangedLineRanges, f as resolveProjectDiffIncludePaths, g as resolveWorkspaceDeadCodeOwner, h as retryMissingProjectScores, l as buildCodeFrame, n as formatSkippedProjectsMessage, o as partitionProjectScanOutcomes, p as resolveProjectSourceFilePaths, r as validateIncludeUntrackedScope, s as discoverWorkspacePackages, t as shouldFailScanGate, u as resolveProjectScan, v as filterScansForSurface, w as launchCliAgent, x as detectLaunchableAgents, y as countUniqueScannedFiles, z as filterDiagnosticsByCategories } from "./should-fail-scan-gate-CtPrWy9N.js";
8
+ import { a as recordGate, f as ONBOARDING_EVENT, n as openUrl, r as isGatePending } from "./report-workflow-result-C42nztEL.js";
9
+ import { a as useExitOnCtrlC, c as Spinner, d as useInput, f as Transform, h as Box, i as import_react, l as useStdout, m as Text, n as registerMountedTuiRenderer, o as terminalSymbols, p as render, r as useStdoutDimensions, s as isPrintableInput, t as require_jsx_runtime, u as useApp } from "./jsx-runtime-DGcmMln7.js";
10
10
  import path from "node:path";
11
11
  import { performance } from "node:perf_hooks";
12
12
  import isUnicodeSupported from "is-unicode-supported";
@@ -2505,5 +2505,5 @@ const runScanApp = async (input) => {
2505
2505
  //#endregion
2506
2506
  export { runScanApp };
2507
2507
 
2508
- //# sourceMappingURL=run-scan-app-0v4YCLNw.js.map
2509
- //# debugId=f65a2081-a7bf-57ae-b51b-db7b32f732b2
2508
+ //# sourceMappingURL=run-scan-app-DHDnmfX6.js.map
2509
+ //# debugId=99ceb150-1900-5127-a627-20c89bf08990
@@ -1,11 +1,11 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="fb6bb8f7-3fe9-59df-aa2c-0a9a6e119400")}catch(e){}}();
3
- import { Kt as highlighter, T as METRIC, t as recordCount, u as enableJsonMode, z as CliInputError } from "./record-metric-B0l334ac.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="d5e5a6f9-06cb-5c22-be21-dca3387f935a")}catch(e){}}();
3
+ import { Kt as highlighter, T as METRIC, t as recordCount, u as enableJsonMode, z as CliInputError } from "./record-metric-C4-VKG9G.js";
4
4
  import { t as activeScanAbortRegistry } from "./active-scan-abort-registry-DwG6tSPy.js";
5
- import { t as reportErrorToSentry } from "./report-error-CxbHpLL8.js";
6
- import { n as resetSentryRunState, r as withRunSpan } from "./with-run-span-tKhCINUb.js";
7
- import { _ as RUNTIME_SCAN_SNAPSHOT_TIMEOUT_MS, b as RUNTIME_SCAN_TRACING_COMPLETE_TIMEOUT_MS, f as RUNTIME_SCAN_PROBE_RELATIVE_PATH, g as RUNTIME_SCAN_SAFE_CDP_PAGE_URLS, h as RUNTIME_SCAN_PROBE_SNAPSHOT_TOKEN_PLACEHOLDER, l as RUNTIME_SCAN_MAX_SNAPSHOT_PAYLOAD_BYTES, m as RUNTIME_SCAN_PROBE_SNAPSHOT_BINDING_NAME_PLACEHOLDER, n as RUNTIME_SCAN_BROWSER_WIDTH_PX, o as RUNTIME_SCAN_MAX_COMPONENT_EVENTS, p as RUNTIME_SCAN_PROBE_SNAPSHOT_ATTRIBUTE_NAME_PLACEHOLDER, r as RUNTIME_SCAN_CONTROL_CHARACTERS_PATTERN, s as RUNTIME_SCAN_MAX_RECORDING_DURATION_MS, t as sanitizeRuntimeUrl, v as RUNTIME_SCAN_TRACE_CATEGORIES, y as RUNTIME_SCAN_TRACE_FILE_EXTENSION } from "./sanitize-runtime-url-DMNbP5D7.js";
8
- import { r as resolveTuiEnvironment, t as isTuiEnvironmentSupported } from "./should-use-tui-DwO2FSvM.js";
5
+ import { t as reportErrorToSentry } from "./report-error-1lrvJd3S.js";
6
+ import { n as resetSentryRunState, r as withRunSpan } from "./with-run-span-V4LjJBYW.js";
7
+ import { _ as RUNTIME_SCAN_SNAPSHOT_TIMEOUT_MS, b as RUNTIME_SCAN_TRACING_COMPLETE_TIMEOUT_MS, f as RUNTIME_SCAN_PROBE_RELATIVE_PATH, g as RUNTIME_SCAN_SAFE_CDP_PAGE_URLS, h as RUNTIME_SCAN_PROBE_SNAPSHOT_TOKEN_PLACEHOLDER, l as RUNTIME_SCAN_MAX_SNAPSHOT_PAYLOAD_BYTES, m as RUNTIME_SCAN_PROBE_SNAPSHOT_BINDING_NAME_PLACEHOLDER, n as RUNTIME_SCAN_BROWSER_WIDTH_PX, o as RUNTIME_SCAN_MAX_COMPONENT_EVENTS, p as RUNTIME_SCAN_PROBE_SNAPSHOT_ATTRIBUTE_NAME_PLACEHOLDER, r as RUNTIME_SCAN_CONTROL_CHARACTERS_PATTERN, s as RUNTIME_SCAN_MAX_RECORDING_DURATION_MS, t as sanitizeRuntimeUrl, v as RUNTIME_SCAN_TRACE_CATEGORIES, y as RUNTIME_SCAN_TRACE_FILE_EXTENSION } from "./sanitize-runtime-url-DVwfWWZy.js";
8
+ import { r as resolveTuiEnvironment, t as isTuiEnvironmentSupported } from "./should-use-tui-Dh_kmKLh.js";
9
9
  import * as path$1 from "node:path";
10
10
  import * as fs$1 from "node:fs";
11
11
  import { randomUUID } from "node:crypto";
@@ -719,7 +719,7 @@ const resolveRuntimeScanUrl = async (url) => {
719
719
  if (url !== void 0) return url;
720
720
  if (!isTuiEnvironmentSupported(resolveTuiEnvironment(process.stderr.isTTY === true))) throw new CliInputError("A URL is required outside an interactive terminal. Run `react-doctor scan <url>`.");
721
721
  recordCount(METRIC.runtimeScanUrlPromptShown);
722
- const { promptRuntimeScanUrl } = await import("./prompt-runtime-scan-url-G27i97Bd.js");
722
+ const { promptRuntimeScanUrl } = await import("./prompt-runtime-scan-url-CvsHajZD.js");
723
723
  return promptRuntimeScanUrl();
724
724
  };
725
725
  const runtimeScanAction = async (url, flags) => {
@@ -766,5 +766,5 @@ const runtimeScanAction = async (url, flags) => {
766
766
  //#endregion
767
767
  export { runtimeScanAction };
768
768
 
769
- //# sourceMappingURL=runtime-scan-CrdGMGtp.js.map
770
- //# debugId=fb6bb8f7-3fe9-59df-aa2c-0a9a6e119400
769
+ //# sourceMappingURL=runtime-scan-ClVvgojx.js.map
770
+ //# debugId=d5e5a6f9-06cb-5c22-be21-dca3387f935a
@@ -1,6 +1,6 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="51970347-ae5f-52a8-a2bc-1b18b114a40b")}catch(e){}}();
3
- import { z as CliInputError } from "./record-metric-B0l334ac.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="f0105706-2b45-55d8-9aab-fe5ba60b2e29")}catch(e){}}();
3
+ import { z as CliInputError } from "./record-metric-C4-VKG9G.js";
4
4
  //#region src/cli/runtime-scan/constants.ts
5
5
  const RUNTIME_SCAN_MAX_COMPONENT_EVENTS = 2e3;
6
6
  const RUNTIME_SCAN_MAX_SNAPSHOT_PAYLOAD_BYTES = 5 * 1024 * 1024;
@@ -72,5 +72,5 @@ const sanitizeRuntimeUrl = (rawUrl) => {
72
72
  //#endregion
73
73
  export { RUNTIME_SCAN_SNAPSHOT_TIMEOUT_MS as _, RUNTIME_SCAN_LOCAL_DEV_PORTS as a, RUNTIME_SCAN_TRACING_COMPLETE_TIMEOUT_MS as b, RUNTIME_SCAN_MAX_SNAPSHOT_BYTES as c, RUNTIME_SCAN_MAX_TRACE_BYTES as d, RUNTIME_SCAN_PROBE_RELATIVE_PATH as f, RUNTIME_SCAN_SAFE_CDP_PAGE_URLS as g, RUNTIME_SCAN_PROBE_SNAPSHOT_TOKEN_PLACEHOLDER as h, RUNTIME_SCAN_LAYOUT_THRASH_RATIO as i, RUNTIME_SCAN_MAX_SNAPSHOT_PAYLOAD_BYTES as l, RUNTIME_SCAN_PROBE_SNAPSHOT_BINDING_NAME_PLACEHOLDER as m, RUNTIME_SCAN_BROWSER_WIDTH_PX as n, RUNTIME_SCAN_MAX_COMPONENT_EVENTS as o, RUNTIME_SCAN_PROBE_SNAPSHOT_ATTRIBUTE_NAME_PLACEHOLDER as p, RUNTIME_SCAN_CONTROL_CHARACTERS_PATTERN as r, RUNTIME_SCAN_MAX_RECORDING_DURATION_MS as s, sanitizeRuntimeUrl as t, RUNTIME_SCAN_MAX_STRING_LENGTH as u, RUNTIME_SCAN_TRACE_CATEGORIES as v, RUNTIME_SCAN_TRACE_FILE_EXTENSION as y };
74
74
 
75
- //# sourceMappingURL=sanitize-runtime-url-DMNbP5D7.js.map
76
- //# debugId=51970347-ae5f-52a8-a2bc-1b18b114a40b
75
+ //# sourceMappingURL=sanitize-runtime-url-DVwfWWZy.js.map
76
+ //# debugId=f0105706-2b45-55d8-9aab-fe5ba60b2e29
@@ -1,10 +1,10 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="e2dec898-a0a2-5cd5-94b1-cc852ddb7081")}catch(e){}}();
3
- import { T as METRIC, fn as resolveScanTarget, t as recordCount } from "./record-metric-B0l334ac.js";
4
- import { i as warnDeprecatedDiff } from "./resolve-scope-DFSO5zB7.js";
5
- import { _ as resolveCliInspectOptions, i as validateModeFlags } from "./should-fail-scan-gate-DFrfU9H8.js";
6
- import { n as warnDeprecatedFailOn, r as runProjectMigrations, t as inspectAction } from "./inspect-Cj9X2Cuj.js";
7
- import { n as shouldUseTui, r as resolveTuiEnvironment } from "./should-use-tui-DwO2FSvM.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="a0fec666-95bf-5fab-84ca-5783d72e54cd")}catch(e){}}();
3
+ import { T as METRIC, fn as resolveScanTarget, t as recordCount } from "./record-metric-C4-VKG9G.js";
4
+ import { i as warnDeprecatedDiff } from "./resolve-scope-YUP_rtf3.js";
5
+ import { _ as resolveCliInspectOptions, i as validateModeFlags } from "./should-fail-scan-gate-CtPrWy9N.js";
6
+ import { n as warnDeprecatedFailOn, r as runProjectMigrations, t as inspectAction } from "./inspect-CNeq8v8s.js";
7
+ import { n as shouldUseTui, r as resolveTuiEnvironment } from "./should-use-tui-Dh_kmKLh.js";
8
8
  import path from "node:path";
9
9
  //#region src/cli/commands/scan.ts
10
10
  const runScanCommand = async (input) => {
@@ -22,7 +22,7 @@ const runScanCommand = async (input) => {
22
22
  warnDeprecatedFailOn(input.flags, scanTarget.userConfig);
23
23
  warnDeprecatedDiff(input.flags, scanTarget.userConfig);
24
24
  recordCount(METRIC.cliInvoked, 1, { command: input.invocationCommand });
25
- const { runScanApp } = await import("./run-scan-app-0v4YCLNw.js");
25
+ const { runScanApp } = await import("./run-scan-app-DHDnmfX6.js");
26
26
  const { shouldFail } = await runScanApp({
27
27
  directory: input.directory,
28
28
  scanTarget,
@@ -37,5 +37,5 @@ const runScanCommand = async (input) => {
37
37
  //#endregion
38
38
  export { runScanCommand };
39
39
 
40
- //# sourceMappingURL=scan-BjmlwnGK.js.map
41
- //# debugId=e2dec898-a0a2-5cd5-94b1-cc852ddb7081
40
+ //# sourceMappingURL=scan-C9YMcGrG.js.map
41
+ //# debugId=a0fec666-95bf-5fab-84ca-5783d72e54cd
@@ -1,14 +1,14 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="cb9007c5-4508-5042-b983-a75c54fe9ccc")}catch(e){}}();
3
- import { $ as Linter, A as SCAN_RESULT_CACHE_FILENAME, An as gen, At as discoverSupportedSubprojects, B as isNonInteractiveEnvironment, Bn as sync, Cn as error, Ct as collectSourceFileCountsByDirectory, Dn as Diagnostic, Dt as createNodeReadFileLinesSync, En as warn, Et as countOptInProjectRuleSelections, Fn as provide, G as isCiEnvironment, Gt as hashFileContents, Ht as groupBy, In as provideContext, J as Config, Jt as isPathInsideDirectory, K as isCiOrCodingAgentEnvironment, Kn as succeed, Kt as highlighter, Ln as provideService, Mn as map, Mt as filterPathsOutsideDirectories, Nn as orElseSucceed, Nt as filterSourceFiles, On as decodeUnknownSync, Ot as createOxlintSpawnSlots, Pn as promise, Q as LintPartialFailures, Qt as isScanComplete, Rn as runPromise, S as BASELINE_FILES_TEMP_DIR_PREFIX, Sn as Console, T as METRIC, Tn as log, Tt as computeDiagnosticDelta, U as ACTION_INPUT_ENVIRONMENT_VARIABLES, Ut as hasPublishedFixRecipe, Vn as try_, W as detectRunnerOs, Wn as mergeAll, X as Git, Xt as isReactDoctorError, Y as Files, Zn as ParentSpan, _ as VERSION, _n as shouldUseMaintainabilityLayer, _t as buildRuleSeverityControls, an as materializeSourceTree, ar as DIAGNOSTIC_CATEGORY_BUCKETS, at as Progress, bt as canonicalizeUserRuleKey, cn as resolveGithubActionsScoreMetadata, ct as Score, d as isJsonModeActive, dn as resolveScanConcurrency, dr as JSX_DUPLICATION_SOURCE_FILE_PATTERN, dt as SupplyChain, en as listSourceFiles, et as Maintainability, fn as resolveScanTarget, fr as JSX_FILE_PATTERN, gt as buildRuleDocsUrl, hr as SHARE_BASE_URL, in as mapWithConcurrency, it as PerFileLintCacheEnabled, jt as filterDiagnosticsForSurface, l as getRunId, ln as resolveLintBatchOrdering, lr as GIT_SHOW_MAX_BUFFER_BYTES, lt as SidecarLintCacheEnabled, mn as runInspect, mr as OXLINT_NODE_REQUIREMENT, mt as atomicWriteJson, n as recordDistribution, nn as listWorkspacePackages, nt as OxlintConcurrency, on as mergeReactDoctorConfigs, ot as Project, pn as restoreLegacyThrow, pr as MILLISECONDS_PER_SECOND, qt as isMonorepoRoot, r as toSpanAttributes, rt as OxlintSpawnSlots, sn as remainingDeadlineBudgetMs, sr as ENTERPRISE_CONTACT_URL, st as Reporter, t as recordCount, tn as listSourceFilesCooperative, tr as CI_URL, tt as NodeResolver, un as resolveReactDoctorCacheDir, ur as HTML_FILE_PATTERN, v as makeNoopConsole, vn as summarizeDiagnostics, vt as buildSkippedChecks, wt as computeConfigFingerprint, xn as yieldToEventLoop, xr as isFile, xt as classifyFileContext, yr as isDirectory, yt as calculateScore, z as CliInputError, zn as runSync, zt as getDiagnosticRuleIdentity } from "./record-metric-B0l334ac.js";
4
- import { t as getTelemetryContext } from "./telemetry-runtime-EpReAdpc.js";
5
- import { n as buildFooterLinkLines, t as buildSectionDivider } from "./build-section-divider-DwhI0l-P.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="05c1558b-7b69-5fb9-8c78-5c1cbcaaf58c")}catch(e){}}();
3
+ import { $ as Linter, A as SCAN_RESULT_CACHE_FILENAME, An as gen, At as discoverSupportedSubprojects, B as isNonInteractiveEnvironment, Bn as sync, Cn as error, Ct as collectSourceFileCountsByDirectory, Dn as Diagnostic, Dt as createNodeReadFileLinesSync, En as warn, Et as countOptInProjectRuleSelections, Fn as provide, G as isCiEnvironment, Gt as hashFileContents, Ht as groupBy, In as provideContext, J as Config, Jt as isPathInsideDirectory, K as isCiOrCodingAgentEnvironment, Kn as succeed, Kt as highlighter, Ln as provideService, Mn as map, Mt as filterPathsOutsideDirectories, Nn as orElseSucceed, Nt as filterSourceFiles, On as decodeUnknownSync, Ot as createOxlintSpawnSlots, Pn as promise, Q as LintPartialFailures, Qt as isScanComplete, Rn as runPromise, S as BASELINE_FILES_TEMP_DIR_PREFIX, Sn as Console, T as METRIC, Tn as log, Tt as computeDiagnosticDelta, U as ACTION_INPUT_ENVIRONMENT_VARIABLES, Ut as hasPublishedFixRecipe, Vn as try_, W as detectRunnerOs, Wn as mergeAll, X as Git, Xt as isReactDoctorError, Y as Files, Zn as ParentSpan, _ as VERSION, _n as shouldUseMaintainabilityLayer, _t as buildRuleSeverityControls, an as materializeSourceTree, ar as DIAGNOSTIC_CATEGORY_BUCKETS, at as Progress, bt as canonicalizeUserRuleKey, cn as resolveGithubActionsScoreMetadata, ct as Score, d as isJsonModeActive, dn as resolveScanConcurrency, dr as JSX_DUPLICATION_SOURCE_FILE_PATTERN, dt as SupplyChain, en as listSourceFiles, et as Maintainability, fn as resolveScanTarget, fr as JSX_FILE_PATTERN, gt as buildRuleDocsUrl, hr as SHARE_BASE_URL, in as mapWithConcurrency, it as PerFileLintCacheEnabled, jt as filterDiagnosticsForSurface, l as getRunId, ln as resolveLintBatchOrdering, lr as GIT_SHOW_MAX_BUFFER_BYTES, lt as SidecarLintCacheEnabled, mn as runInspect, mr as OXLINT_NODE_REQUIREMENT, mt as atomicWriteJson, n as recordDistribution, nn as listWorkspacePackages, nt as OxlintConcurrency, on as mergeReactDoctorConfigs, ot as Project, pn as restoreLegacyThrow, pr as MILLISECONDS_PER_SECOND, qt as isMonorepoRoot, r as toSpanAttributes, rt as OxlintSpawnSlots, sn as remainingDeadlineBudgetMs, sr as ENTERPRISE_CONTACT_URL, st as Reporter, t as recordCount, tn as listSourceFilesCooperative, tr as CI_URL, tt as NodeResolver, un as resolveReactDoctorCacheDir, ur as HTML_FILE_PATTERN, v as makeNoopConsole, vn as summarizeDiagnostics, vt as buildSkippedChecks, wt as computeConfigFingerprint, xn as yieldToEventLoop, xr as isFile, xt as classifyFileContext, yr as isDirectory, yt as calculateScore, z as CliInputError, zn as runSync, zt as getDiagnosticRuleIdentity } from "./record-metric-C4-VKG9G.js";
4
+ import { t as getTelemetryContext } from "./telemetry-runtime-CDAL4uhm.js";
5
+ import { n as buildFooterLinkLines, t as buildSectionDivider } from "./build-section-divider-B9vlCDHV.js";
6
6
  import { t as activeScanAbortRegistry } from "./active-scan-abort-registry-DwG6tSPy.js";
7
- import { C as isRecord, M as cliLogger, S as getPackageJsonPath, a as installReactDoctorScriptStep, c as spinner, k as runGit, n as findNearestPackageDirectory, o as isSpinnerSilent, s as setSpinnerSilent } from "./install-doctor-script-Bwy0GRjB.js";
8
- import { d as detectDefaultBranch, l as prompts, r as installReactDoctorWorkflow, u as isCommandAvailable } from "./install-github-workflow-CQL9QH8Q.js";
9
- import { a as isValidBlockingLevel, c as openWorkflowPullRequest, l as stageWorkflowFile, o as pickBlockingLevel, u as toForwardSlashes } from "./resolve-scope-DFSO5zB7.js";
10
- import { n as resetSentryRunState, r as withRunSpan, t as recordSentryProjectContext } from "./with-run-span-tKhCINUb.js";
11
- import { h as detectAvailableAgents, t as reportWorkflowResult } from "./report-workflow-result-Dtn4MVZ_.js";
7
+ import { C as isRecord, M as cliLogger, S as getPackageJsonPath, a as installReactDoctorScriptStep, c as spinner, k as runGit, n as findNearestPackageDirectory, o as isSpinnerSilent, s as setSpinnerSilent } from "./install-doctor-script-DbnMjPjQ.js";
8
+ import { d as detectDefaultBranch, l as prompts, r as installReactDoctorWorkflow, u as isCommandAvailable } from "./install-github-workflow-CS_YO_OJ.js";
9
+ import { a as isValidBlockingLevel, c as openWorkflowPullRequest, l as stageWorkflowFile, o as pickBlockingLevel, u as toForwardSlashes } from "./resolve-scope-YUP_rtf3.js";
10
+ import { n as resetSentryRunState, r as withRunSpan, t as recordSentryProjectContext } from "./with-run-span-V4LjJBYW.js";
11
+ import { h as detectAvailableAgents, t as reportWorkflowResult } from "./report-workflow-result-C42nztEL.js";
12
12
  import { createRequire } from "node:module";
13
13
  import { spawn } from "node:child_process";
14
14
  import * as path$1 from "node:path";
@@ -2997,5 +2997,5 @@ const shouldFailScanGate = (input) => {
2997
2997
  //#endregion
2998
2998
  export { resolveMergeBaseRef as A, buildNoScoreMessage as B, copyToClipboard as C, deduplicateProjectScans as D, collectProjectSourceFileCounts as E, printFooter as F, formatFixRecipeLine as G, hasLintHardFailure as H, printDiagnosticsDump as I, formatLearnMoreLine as K, formatDiagnosticSite as L, pluralize as M, formatSkippedCheckLabel as N, createInvocationInspect as O, formatElapsedTime as P, hasIncompleteScoreAnalysis as R, CLI_AGENT_BINARIES as S, buildHandoffPayload as T, buildRulePriorityMap as U, buildEmptyReportMessage as V, buildSortedRuleGroups as W, resolveCliInspectOptions as _, projectManifestChanged as a, setUpGitHubActions as b, selectProjects as c, resolveProjectChangedLineRanges as d, resolveProjectDiffIncludePaths as f, resolveWorkspaceDeadCodeOwner as g, retryMissingProjectScores as h, validateModeFlags as i, printHeadlessReport as j, inspect as k, buildCodeFrame as l, resolveProjectRelativeDirectory as m, formatSkippedProjectsMessage as n, partitionProjectScanOutcomes as o, resolveProjectSourceFilePaths as p, validateIncludeUntrackedScope as r, discoverWorkspacePackages as s, shouldFailScanGate as t, resolveProjectScan as u, filterScansForSurface as v, launchCliAgent as w, detectLaunchableAgents as x, countUniqueScannedFiles as y, filterDiagnosticsByCategories as z };
2999
2999
 
3000
- //# sourceMappingURL=should-fail-scan-gate-DFrfU9H8.js.map
3001
- //# debugId=cb9007c5-4508-5042-b983-a75c54fe9ccc
3000
+ //# sourceMappingURL=should-fail-scan-gate-CtPrWy9N.js.map
3001
+ //# debugId=05c1558b-7b69-5fb9-8c78-5c1cbcaaf58c
@@ -1,10 +1,10 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="480f5df8-3081-5863-b444-007f9e09a704")}catch(e){}}();
3
- import { B as isNonInteractiveEnvironment } from "./record-metric-B0l334ac.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="813de557-f368-53ee-a2a2-32b7fd949b24")}catch(e){}}();
3
+ import { B as isNonInteractiveEnvironment } from "./record-metric-C4-VKG9G.js";
4
4
  //#region src/cli/utils/should-skip-prompts.ts
5
5
  const shouldSkipPrompts = (input = {}) => Boolean(input.yes) || Boolean(input.json) || isNonInteractiveEnvironment() || !process.stdin.isTTY;
6
6
  //#endregion
7
7
  export { shouldSkipPrompts as t };
8
8
 
9
- //# sourceMappingURL=should-skip-prompts-jB7AIlXO.js.map
10
- //# debugId=480f5df8-3081-5863-b444-007f9e09a704
9
+ //# sourceMappingURL=should-skip-prompts-b1KKh2nz.js.map
10
+ //# debugId=813de557-f368-53ee-a2a2-32b7fd949b24
@@ -1,6 +1,6 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="2c1d659c-5065-5477-a810-5a649b205e50")}catch(e){}}();
3
- import { B as isNonInteractiveEnvironment } from "./record-metric-B0l334ac.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="2ebdcc1a-e45e-586b-952b-2d0fa6a606ea")}catch(e){}}();
3
+ import { B as isNonInteractiveEnvironment } from "./record-metric-C4-VKG9G.js";
4
4
  //#region src/cli/utils/resolve-tui-environment.ts
5
5
  const resolveTuiEnvironment = (outputIsTty = process.stdout.isTTY === true) => ({
6
6
  isNonInteractiveEnvironment: isNonInteractiveEnvironment(),
@@ -21,5 +21,5 @@ const shouldUseTui = (input) => {
21
21
  //#endregion
22
22
  export { shouldUseTui as n, resolveTuiEnvironment as r, isTuiEnvironmentSupported as t };
23
23
 
24
- //# sourceMappingURL=should-use-tui-DwO2FSvM.js.map
25
- //# debugId=2c1d659c-5065-5477-a810-5a649b205e50
24
+ //# sourceMappingURL=should-use-tui-Dh_kmKLh.js.map
25
+ //# debugId=2ebdcc1a-e45e-586b-952b-2d0fa6a606ea
@@ -1,6 +1,6 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="dd48c84e-c0ac-501e-afe1-ea120ffe3528")}catch(e){}}();
3
- import { $t as layerObservability, Cr as messageFromUnknown, Jn as makeUnsafe, Rn as runPromise, Un as buildWithScope, Xn as void_, Xt as isReactDoctorError, Yt as isProjectDiscoveryError, _ as VERSION, br as isErrnoException, i as isTelemetryEnabled, kn as make, qn as close, z as CliInputError, zn as runSync } from "./record-metric-B0l334ac.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="ec75dbb7-208f-5278-a280-c8f49ae595b5")}catch(e){}}();
3
+ import { $t as layerObservability, Cr as messageFromUnknown, Jn as makeUnsafe, Rn as runPromise, Un as buildWithScope, Xn as void_, Xt as isReactDoctorError, Yt as isProjectDiscoveryError, _ as VERSION, br as isErrnoException, i as isTelemetryEnabled, kn as make, qn as close, z as CliInputError, zn as runSync } from "./record-metric-C4-VKG9G.js";
4
4
  //#region src/cli/utils/is-environment-error.ts
5
5
  const ENVIRONMENT_ERROR_CODES = new Set([
6
6
  "EACCES",
@@ -61,6 +61,51 @@ const formatEnvironmentError = (error) => {
61
61
  }
62
62
  };
63
63
  //#endregion
64
+ //#region src/cli/utils/is-npm-cache-corruption-error.ts
65
+ const MISSING_AJV_META_SCHEMA_MESSAGES = new Set(["Cannot find module './meta/unevaluated.json'", "Cannot find module './meta/validation.json'"]);
66
+ const NPX_AJV_META_SCHEMA_REQUIRE_PATH_PATTERN = /(?:^|\/)_npx\/(?<cacheKey>[a-f0-9]{16})\/node_modules\/ajv\/dist\/refs\/json-schema-2020-12\/index\.js$/;
67
+ const isModuleNotFoundError = (error) => error instanceof Error && "code" in error && error.code === "MODULE_NOT_FOUND";
68
+ const findNpmCacheCorruptionError = (error) => {
69
+ const pendingErrors = [error];
70
+ const visitedErrors = /* @__PURE__ */ new Set();
71
+ while (pendingErrors.length > 0) {
72
+ const currentError = pendingErrors.pop();
73
+ if (typeof currentError !== "object" || currentError === null) continue;
74
+ if (visitedErrors.has(currentError)) continue;
75
+ visitedErrors.add(currentError);
76
+ if (isModuleNotFoundError(currentError)) {
77
+ const [message] = currentError.message.split("\n");
78
+ if (message && MISSING_AJV_META_SCHEMA_MESSAGES.has(message)) {
79
+ const requireStack = Array.isArray(currentError.requireStack) ? currentError.requireStack : [];
80
+ for (const requirePath of requireStack) {
81
+ if (typeof requirePath !== "string") continue;
82
+ const cacheKey = requirePath.replaceAll("\\", "/").match(NPX_AJV_META_SCHEMA_REQUIRE_PATH_PATTERN)?.groups?.cacheKey;
83
+ if (cacheKey !== void 0) return {
84
+ cacheKey,
85
+ moduleNotFoundError: currentError
86
+ };
87
+ }
88
+ }
89
+ }
90
+ if (currentError instanceof Error && currentError.cause !== void 0) pendingErrors.push(currentError.cause);
91
+ }
92
+ return null;
93
+ };
94
+ const isNpmCacheCorruptionError = (error) => findNpmCacheCorruptionError(error) !== null;
95
+ const formatNpmCacheCorruptionError = (error) => {
96
+ const corruptionMatch = findNpmCacheCorruptionError(error);
97
+ if (!corruptionMatch) return messageFromUnknown(error);
98
+ return [
99
+ "The npx cache has an incomplete Ajv installation.",
100
+ "",
101
+ "Remove this cache entry, then run React Doctor again:",
102
+ ` npm cache npx rm ${corruptionMatch.cacheKey}`,
103
+ " npx react-doctor@latest",
104
+ "",
105
+ `Original error: ${corruptionMatch.moduleNotFoundError.message}`
106
+ ].join("\n");
107
+ };
108
+ //#endregion
64
109
  //#region src/cli/utils/is-expected-user-error.ts
65
110
  /**
66
111
  * Whether `error` is an expected, user-actionable failure — the user's project
@@ -69,7 +114,7 @@ const formatEnvironmentError = (error) => {
69
114
  * `handleUserError` (a plain message — no "Something went wrong", prefilled
70
115
  * issue, Discord link, or Sentry reference), since there is no bug to report.
71
116
  *
72
- * Four distinct shapes reach the CLI's catch blocks:
117
+ * Five distinct shapes reach the CLI's catch blocks:
73
118
  *
74
119
  * - **Project-discovery failures** (`NoReactDependencyError`,
75
120
  * `ProjectNotFoundError`, `PackageJsonNotFoundError`, `NotADirectoryError`,
@@ -89,12 +134,15 @@ const formatEnvironmentError = (error) => {
89
134
  * actionable message instead of crashing. See `is-environment-error.ts` for
90
135
  * why the set stays narrow (codes that usually mean our bug keep reaching
91
136
  * Sentry).
137
+ * - **npm cache corruption** (missing Ajv meta-schema files inside `_npx`) —
138
+ * an incomplete npx package installation that the user can remove and
139
+ * reinstall.
92
140
  *
93
141
  * This composes the existing core narrowers rather than introducing a new
94
142
  * error-shape helper (AGENTS.md): it encodes CLI-layer reporting policy, not
95
143
  * knowledge of the `ReactDoctorError` shape.
96
144
  */
97
- const isExpectedUserError = (error) => error instanceof CliInputError || isProjectDiscoveryError(error) || isEnvironmentError(error) || isReactDoctorError(error) && (error.reason._tag === "GitBaseBranchInvalid" || error.reason._tag === "GitBaseBranchMissing");
145
+ const isExpectedUserError = (error) => error instanceof CliInputError || isProjectDiscoveryError(error) || isEnvironmentError(error) || isNpmCacheCorruptionError(error) || isReactDoctorError(error) && (error.reason._tag === "GitBaseBranchInvalid" || error.reason._tag === "GitBaseBranchMissing");
98
146
  //#endregion
99
147
  //#region src/cli/utils/resolve-axiom-telemetry-options.ts
100
148
  /**
@@ -197,7 +245,7 @@ const shutdownTelemetry = async () => {
197
245
  return pendingShutdown;
198
246
  };
199
247
  //#endregion
200
- export { isEnvironmentError as a, formatEnvironmentError as i, shutdownTelemetry as n, isExpectedUserError as r, getTelemetryContext as t };
248
+ export { isNpmCacheCorruptionError as a, formatNpmCacheCorruptionError as i, shutdownTelemetry as n, formatEnvironmentError as o, isExpectedUserError as r, isEnvironmentError as s, getTelemetryContext as t };
201
249
 
202
- //# sourceMappingURL=telemetry-runtime-EpReAdpc.js.map
203
- //# debugId=dd48c84e-c0ac-501e-afe1-ea120ffe3528
250
+ //# sourceMappingURL=telemetry-runtime-CDAL4uhm.js.map
251
+ //# debugId=ec75dbb7-208f-5278-a280-c8f49ae595b5
@@ -1,6 +1,6 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="78315ae5-44b5-5bbe-8961-b1701cec02d7")}catch(e){}}();
3
- import { T as METRIC, _ as VERSION, t as recordCount } from "./record-metric-B0l334ac.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="803d3a2c-4e9a-586b-9857-e3d819fd6574")}catch(e){}}();
3
+ import { T as METRIC, _ as VERSION, t as recordCount } from "./record-metric-C4-VKG9G.js";
4
4
  //#region src/cli/commands/version.ts
5
5
  /**
6
6
  * oclif-style version line. 12-factor CLI Apps (#3, "What version am I
@@ -17,5 +17,5 @@ const versionAction = () => {
17
17
  //#endregion
18
18
  export { versionAction };
19
19
 
20
- //# sourceMappingURL=version-LTrxsytD.js.map
21
- //# debugId=78315ae5-44b5-5bbe-8961-b1701cec02d7
20
+ //# sourceMappingURL=version-CDNMEvQU.js.map
21
+ //# debugId=803d3a2c-4e9a-586b-9857-e3d819fd6574
@@ -1,6 +1,6 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="a03f14e4-9d59-5da3-8ef1-6ac4f0ac218f")}catch(e){}}();
3
- import { t as inspectAction } from "./inspect-Cj9X2Cuj.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="951a5d39-0d9d-5e77-976d-4bdba17c5d17")}catch(e){}}();
3
+ import { t as inspectAction } from "./inspect-CNeq8v8s.js";
4
4
  //#region src/cli/commands/why.ts
5
5
  /**
6
6
  * `why <file:line>` — explains why a rule fired (or why a suppression didn't
@@ -17,5 +17,5 @@ const whyAction = async (location, options) => {
17
17
  //#endregion
18
18
  export { whyAction };
19
19
 
20
- //# sourceMappingURL=why-i7UomrTB.js.map
21
- //# debugId=a03f14e4-9d59-5da3-8ef1-6ac4f0ac218f
20
+ //# sourceMappingURL=why-fw7vWXR7.js.map
21
+ //# debugId=951a5d39-0d9d-5e77-976d-4bdba17c5d17
@@ -1,7 +1,7 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="38d2a530-82aa-5077-9bbc-c201a5c56fe5")}catch(e){}}();
3
- import { D as NANOSECONDS_PER_MILLISECOND, In as provideContext, Xn as void_, Yn as fail, c as setSentryProjectInfo, jn as makeSpan, o as buildSentryScope, r as toSpanAttributes, s as buildSentryProjectContext, zn as runSync } from "./record-metric-B0l334ac.js";
4
- import { t as getTelemetryContext } from "./telemetry-runtime-EpReAdpc.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="c9d9c19c-9706-5ea8-afb9-fd1a13b753ad")}catch(e){}}();
3
+ import { D as NANOSECONDS_PER_MILLISECOND, In as provideContext, Xn as void_, Yn as fail, c as setSentryProjectInfo, jn as makeSpan, o as buildSentryScope, r as toSpanAttributes, s as buildSentryProjectContext, zn as runSync } from "./record-metric-C4-VKG9G.js";
4
+ import { t as getTelemetryContext } from "./telemetry-runtime-CDAL4uhm.js";
5
5
  import { i as setActiveRunTrace, r as recordRunTraceId } from "./active-run-trace-dlIZeEvb.js";
6
6
  //#region src/cli/utils/with-run-span.ts
7
7
  /**
@@ -106,5 +106,5 @@ const recordSentryProjectContext = (projectInfo, rootSpan, options = {}) => {
106
106
  //#endregion
107
107
  export { resetSentryRunState as n, withRunSpan as r, recordSentryProjectContext as t };
108
108
 
109
- //# sourceMappingURL=with-run-span-tKhCINUb.js.map
110
- //# debugId=38d2a530-82aa-5077-9bbc-c201a5c56fe5
109
+ //# sourceMappingURL=with-run-span-V4LjJBYW.js.map
110
+ //# debugId=c9d9c19c-9706-5ea8-afb9-fd1a13b753ad
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-doctor",
3
- "version": "0.9.12-dev.a163de9",
3
+ "version": "0.9.12-dev.afa1780",
4
4
  "description": "Your agent writes bad React. This catches it",
5
5
  "keywords": [
6
6
  "accessibility",
@@ -68,7 +68,7 @@
68
68
  "typescript": ">=5.0.4 <6",
69
69
  "yaml": "^2.9.0",
70
70
  "yoga-layout": "~3.2.1",
71
- "oxlint-plugin-react-doctor": "0.9.12-dev.a163de9"
71
+ "oxlint-plugin-react-doctor": "0.9.12-dev.afa1780"
72
72
  },
73
73
  "devDependencies": {
74
74
  "@types/babel__code-frame": "^7.27.0",