react-doctor 0.9.13-dev.fa72869 → 0.9.13-dev.ff7dd67

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 (33) hide show
  1. package/dist/{build-section-divider-DPs8DOje.js → build-section-divider-BRuN44fL.js} +7 -7
  2. package/dist/{ci-DJX0d-zr.js → ci-ByM_SFTq.js} +12 -12
  3. package/dist/cli.js +24 -24
  4. package/dist/{design-16noMOyv.js → design-2hjOmtV1.js} +4 -4
  5. package/dist/{exit-gracefully-CmnLSIyy.js → exit-gracefully-niPFXq9Y.js} +6 -6
  6. package/dist/{handle-error-BoWVnsAX.js → handle-error-D-4lexec.js} +5 -5
  7. package/dist/index.js +10 -2
  8. package/dist/{inspect-CQjmfc6o.js → inspect-BrctG7ql.js} +16 -16
  9. package/dist/{install-BI45HWXE.js → install-CcFc56OK.js} +9 -9
  10. package/dist/{install-doctor-script-Czibd55T.js → install-doctor-script-Coa2ErCg.js} +4 -4
  11. package/dist/{install-github-workflow-DAW5HCoZ.js → install-github-workflow-DlfdrYkQ.js} +5 -5
  12. package/dist/{install-react-doctor-0EPCiZSM.js → install-react-doctor-BWxqZMX-.js} +8 -8
  13. package/dist/{jsx-runtime-CpHGdrl2.js → jsx-runtime-Njm7vAoN.js} +5 -5
  14. package/dist/{print-branded-header-D99_D1jG.js → print-branded-header-DFkeG4BS.js} +4 -4
  15. package/dist/{prompt-runtime-scan-url-BXbCor1e.js → prompt-runtime-scan-url-BenBNq25.js} +5 -5
  16. package/dist/{read-object-file-B74hRgMl.js → read-object-file-CqMtxcfF.js} +4 -4
  17. package/dist/{record-metric-BcJN2xOB.js → record-metric-Bkorhx43.js} +12 -4
  18. package/dist/{report-error-OirqwZb5.js → report-error-DPjmfRi9.js} +5 -5
  19. package/dist/{report-workflow-result-C4EMosul.js → report-workflow-result-CBL6CrLY.js} +5 -5
  20. package/dist/{resolve-scope-CKnF1u7B.js → resolve-scope-BFloAClV.js} +6 -6
  21. package/dist/{rules-D-04wsFx.js → rules-BKNy9YIl.js} +6 -6
  22. package/dist/{run-scan-app-hjGd9Nt9.js → run-scan-app-Bc70ozp-.js} +10 -10
  23. package/dist/{runtime-scan-5ucpiIRF.js → runtime-scan-ODrdp5mV.js} +12 -12
  24. package/dist/{sanitize-runtime-url-KJQEVCa5.js → sanitize-runtime-url-BYOmPSdm.js} +5 -5
  25. package/dist/{scan-Busv3qJ_.js → scan-BfcGHHkI.js} +9 -9
  26. package/dist/{should-fail-scan-gate-D1mS86Ff.js → should-fail-scan-gate-CCPDoHaM.js} +11 -11
  27. package/dist/{should-skip-prompts-DkasjzpQ.js → should-skip-prompts-D-ClPHHR.js} +4 -4
  28. package/dist/{should-use-tui-B5bj9qhm.js → should-use-tui-BaCVIPPN.js} +4 -4
  29. package/dist/{telemetry-runtime-DFNjke5Y.js → telemetry-runtime-BGWa_GB9.js} +4 -4
  30. package/dist/{version-DKEaWdQZ.js → version-DN1N-oZy.js} +4 -4
  31. package/dist/{why-BP622crq.js → why-CyioXUF2.js} +4 -4
  32. package/dist/{with-run-span-B9bjgvks.js → with-run-span-GsCWW2_X.js} +5 -5
  33. 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]="2ba5d195-bb09-5923-923d-fd66cf843122")}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-BcJN2xOB.js";
4
- import { r as isExpectedUserError } from "./telemetry-runtime-DFNjke5Y.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]="1fe38c74-620b-58bd-b005-f8dd797b21e0")}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-Bkorhx43.js";
4
+ import { r as isExpectedUserError } from "./telemetry-runtime-BGWa_GB9.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.13-dev.fa72869`;
73
+ const resolveSentryRelease = () => process.env.SENTRY_RELEASE || `react-doctor@0.9.13-dev.ff7dd67`;
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.13-dev.fa72869") ? "development" : "production");
79
+ const resolveSentryEnvironment = () => process.env.SENTRY_ENVIRONMENT || (isDevVersion("0.9.13-dev.ff7dd67") ? "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-DPs8DOje.js.map
216
- //# debugId=2ba5d195-bb09-5923-923d-fd66cf843122
215
+ //# sourceMappingURL=build-section-divider-BRuN44fL.js.map
216
+ //# debugId=1fe38c74-620b-58bd-b005-f8dd797b21e0
@@ -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]="5942a28c-3a0c-5bc7-bb82-0748dc1383c4")}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]="11410afe-38f9-50fa-aef3-439769affb61")}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-BcJN2xOB.js";
5
- import { r as isExpectedUserError } from "./telemetry-runtime-DFNjke5Y.js";
6
- import { n as handleUserError, t as handleError } from "./handle-error-BoWVnsAX.js";
7
- import { t as reportErrorToSentry } from "./report-error-OirqwZb5.js";
8
- import { M as cliLogger, c as spinner, n as findNearestPackageDirectory } from "./install-doctor-script-Czibd55T.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-DAW5HCoZ.js";
10
- import { a as isValidBlockingLevel, c as openWorkflowPullRequest, l as stageWorkflowFile, n as isScopeValue } from "./resolve-scope-CKnF1u7B.js";
11
- import { t as shouldSkipPrompts } from "./should-skip-prompts-DkasjzpQ.js";
12
- import { t as printBrandedHeader } from "./print-branded-header-D99_D1jG.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-Bkorhx43.js";
5
+ import { r as isExpectedUserError } from "./telemetry-runtime-BGWa_GB9.js";
6
+ import { n as handleUserError, t as handleError } from "./handle-error-D-4lexec.js";
7
+ import { t as reportErrorToSentry } from "./report-error-DPjmfRi9.js";
8
+ import { M as cliLogger, c as spinner, n as findNearestPackageDirectory } from "./install-doctor-script-Coa2ErCg.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-DlfdrYkQ.js";
10
+ import { a as isValidBlockingLevel, c as openWorkflowPullRequest, l as stageWorkflowFile, n as isScopeValue } from "./resolve-scope-BFloAClV.js";
11
+ import { t as shouldSkipPrompts } from "./should-skip-prompts-D-ClPHHR.js";
12
+ import { t as printBrandedHeader } from "./print-branded-header-DFkeG4BS.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-DJX0d-zr.js.map
7502
- //# debugId=5942a28c-3a0c-5bc7-bb82-0748dc1383c4
7501
+ //# sourceMappingURL=ci-ByM_SFTq.js.map
7502
+ //# debugId=11410afe-38f9-50fa-aef3-439769affb61
package/dist/cli.js CHANGED
@@ -1,13 +1,13 @@
1
1
 
2
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]="2db05473-003e-52a5-853a-90e4f4f5ac96")}catch(e){}}();
3
3
  import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-ChKA3wi6.js";
4
- import { H as isDebugFlagEnabled, Jt as isPathInsideDirectory, Kt as highlighter, Nt as filterSourceFiles, _ as VERSION, d as isJsonModeActive, er as CANONICAL_GITHUB_URL, gn as setColorEnabled, h as writeJsonErrorReport, i as isTelemetryEnabled, tr as CI_URL, xr as isFile, yr as isDirectory, z as CliInputError } from "./record-metric-BcJN2xOB.js";
5
- import { n as shutdownTelemetry, r as isExpectedUserError } from "./telemetry-runtime-DFNjke5Y.js";
6
- import { i as initializeSentry, r as flushSentry } from "./build-section-divider-DPs8DOje.js";
7
- import { t as exitGracefully } from "./exit-gracefully-CmnLSIyy.js";
8
- import { n as handleUserError, t as handleError } from "./handle-error-BoWVnsAX.js";
4
+ import { H as isDebugFlagEnabled, Jt as isPathInsideDirectory, Kt as highlighter, Nt as filterSourceFiles, _ as VERSION, d as isJsonModeActive, er as CANONICAL_GITHUB_URL, gn as setColorEnabled, h as writeJsonErrorReport, i as isTelemetryEnabled, tr as CI_URL, xr as isFile, yr as isDirectory, z as CliInputError } from "./record-metric-Bkorhx43.js";
5
+ import { n as shutdownTelemetry, r as isExpectedUserError } from "./telemetry-runtime-BGWa_GB9.js";
6
+ import { i as initializeSentry, r as flushSentry } from "./build-section-divider-BRuN44fL.js";
7
+ import { t as exitGracefully } from "./exit-gracefully-niPFXq9Y.js";
8
+ import { n as handleUserError, t as handleError } from "./handle-error-D-4lexec.js";
9
9
  import { n as getLastRunTraceId } from "./active-run-trace-dlIZeEvb.js";
10
- import { t as reportErrorToSentry } from "./report-error-OirqwZb5.js";
10
+ import { t as reportErrorToSentry } from "./report-error-DPjmfRi9.js";
11
11
  import { t as toForwardSlashes } from "./path-format-DnHpmJwG.js";
12
12
  import { t as unrefStdin } from "./unref-stdin-SK3WfwxS.js";
13
13
  import { execFileSync } from "node:child_process";
@@ -3557,7 +3557,7 @@ ${highlighter.dim("Learn more:")}
3557
3557
  const collectCategoryOption = (value, previousValues) => [...previousValues ?? [], value];
3558
3558
  const program = new Command().name("react-doctor").description("Diagnose React codebase health").version(VERSION, "-v, --version", "display the version number").argument("[paths...]", "one project directory or source file paths 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);
3559
3559
  program.action(async (positionalPaths = [], flags) => {
3560
- const { runScanCommand } = await import("./scan-Busv3qJ_.js");
3560
+ const { runScanCommand } = await import("./scan-BfcGHHkI.js");
3561
3561
  return runScanCommand({
3562
3562
  ...resolvePositionalScanInput(positionalPaths),
3563
3563
  flags,
@@ -3565,75 +3565,75 @@ program.action(async (positionalPaths = [], flags) => {
3565
3565
  });
3566
3566
  });
3567
3567
  program.command("design [directory]").description("Run only the focused UI design diagnostics").addHelpText("after", renderDesignHelpEpilog).action(async (directory, _options, command) => {
3568
- const { designAction } = await import("./design-16noMOyv.js");
3568
+ const { designAction } = await import("./design-2hjOmtV1.js");
3569
3569
  return designAction(directory ?? ".", command.optsWithGlobals());
3570
3570
  });
3571
3571
  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) => {
3572
- const { runtimeScanAction } = await import("./runtime-scan-5ucpiIRF.js");
3572
+ const { runtimeScanAction } = await import("./runtime-scan-ODrdp5mV.js");
3573
3573
  return runtimeScanAction(url, options);
3574
3574
  });
3575
3575
  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) => {
3576
- const { whyAction } = await import("./why-BP622crq.js");
3576
+ const { whyAction } = await import("./why-CyioXUF2.js");
3577
3577
  return whyAction(location, options);
3578
3578
  });
3579
3579
  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) => {
3580
- const { installAction } = await import("./install-BI45HWXE.js");
3580
+ const { installAction } = await import("./install-CcFc56OK.js");
3581
3581
  return installAction(options, command);
3582
3582
  });
3583
3583
  const providerOption = ["--provider <name>", "ci provider: github-actions or gitlab-ci (auto-detected by default)"];
3584
3584
  const prOption = ["--pr", "open a pull request with the change instead of writing it to the working tree"];
3585
3585
  const ci = program.command("ci").description("Set up, upgrade, and configure React Doctor in your CI");
3586
3586
  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) => {
3587
- const { ciInstallAction } = await import("./ci-DJX0d-zr.js");
3587
+ const { ciInstallAction } = await import("./ci-ByM_SFTq.js");
3588
3588
  return ciInstallAction(command.optsWithGlobals());
3589
3589
  });
3590
3590
  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) => {
3591
- const { ciConfigAction } = await import("./ci-DJX0d-zr.js");
3591
+ const { ciConfigAction } = await import("./ci-ByM_SFTq.js");
3592
3592
  return ciConfigAction(command.optsWithGlobals());
3593
3593
  });
3594
3594
  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) => {
3595
- const { ciUpgradeAction } = await import("./ci-DJX0d-zr.js");
3595
+ const { ciUpgradeAction } = await import("./ci-ByM_SFTq.js");
3596
3596
  return ciUpgradeAction(command.optsWithGlobals());
3597
3597
  });
3598
3598
  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 () => {
3599
- const { versionAction } = await import("./version-DKEaWdQZ.js");
3599
+ const { versionAction } = await import("./version-DN1N-oZy.js");
3600
3600
  return versionAction();
3601
3601
  });
3602
3602
  const rules = program.command("rules").description("List, explain, and configure which React Doctor rules run");
3603
3603
  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) => {
3604
- const { rulesListAction } = await import("./rules-D-04wsFx.js");
3604
+ const { rulesListAction } = await import("./rules-BKNy9YIl.js");
3605
3605
  return rulesListAction(command.optsWithGlobals());
3606
3606
  });
3607
3607
  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) => {
3608
- const { rulesExplainAction } = await import("./rules-D-04wsFx.js");
3608
+ const { rulesExplainAction } = await import("./rules-BKNy9YIl.js");
3609
3609
  return rulesExplainAction(rule, command.optsWithGlobals());
3610
3610
  });
3611
3611
  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) => {
3612
- const { rulesSetAction } = await import("./rules-D-04wsFx.js");
3612
+ const { rulesSetAction } = await import("./rules-BKNy9YIl.js");
3613
3613
  return rulesSetAction(rule, severity, command.optsWithGlobals());
3614
3614
  });
3615
3615
  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) => {
3616
- const { rulesEnableAction } = await import("./rules-D-04wsFx.js");
3616
+ const { rulesEnableAction } = await import("./rules-BKNy9YIl.js");
3617
3617
  return rulesEnableAction(rule, command.optsWithGlobals());
3618
3618
  });
3619
3619
  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) => {
3620
- const { rulesDisableAction } = await import("./rules-D-04wsFx.js");
3620
+ const { rulesDisableAction } = await import("./rules-BKNy9YIl.js");
3621
3621
  return rulesDisableAction(rule, command.optsWithGlobals());
3622
3622
  });
3623
3623
  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) => {
3624
- const { rulesCategoryAction } = await import("./rules-D-04wsFx.js");
3624
+ const { rulesCategoryAction } = await import("./rules-BKNy9YIl.js");
3625
3625
  return rulesCategoryAction(category, severity, command.optsWithGlobals());
3626
3626
  });
3627
3627
  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) => {
3628
- const { rulesIgnoreTagAction } = await import("./rules-D-04wsFx.js");
3628
+ const { rulesIgnoreTagAction } = await import("./rules-BKNy9YIl.js");
3629
3629
  return rulesIgnoreTagAction(tag, command.optsWithGlobals());
3630
3630
  });
3631
3631
  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) => {
3632
- const { rulesUnignoreTagAction } = await import("./rules-D-04wsFx.js");
3632
+ const { rulesUnignoreTagAction } = await import("./rules-BKNy9YIl.js");
3633
3633
  return rulesUnignoreTagAction(tag, command.optsWithGlobals());
3634
3634
  });
3635
3635
  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) => {
3636
- const { runScanCommand } = await import("./scan-Busv3qJ_.js");
3636
+ const { runScanCommand } = await import("./scan-BfcGHHkI.js");
3637
3637
  return runScanCommand({
3638
3638
  directory,
3639
3639
  flags: command.optsWithGlobals(),
@@ -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]="8133b78e-a7af-5f6e-bf8a-c450d935e696")}catch(e){}}();
3
- import { t as inspectAction } from "./inspect-CQjmfc6o.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]="20cab8fb-80d4-551a-a0a2-3438f6534ad1")}catch(e){}}();
3
+ import { t as inspectAction } from "./inspect-BrctG7ql.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-16noMOyv.js.map
14
- //# debugId=8133b78e-a7af-5f6e-bf8a-c450d935e696
13
+ //# sourceMappingURL=design-2hjOmtV1.js.map
14
+ //# debugId=20cab8fb-80d4-551a-a0a2-3438f6534ad1
@@ -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]="b49f0847-f611-5bfd-b956-54b2fe059e20")}catch(e){}}();
3
- import { d as isJsonModeActive, m as writeJsonCancellationReport } from "./record-metric-BcJN2xOB.js";
4
- import { n as shutdownTelemetry } from "./telemetry-runtime-DFNjke5Y.js";
5
- import { n as buildFooterLinkLines, r as flushSentry, t as buildSectionDivider } from "./build-section-divider-DPs8DOje.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]="97592582-9383-5f6e-915d-8eeb2030b19f")}catch(e){}}();
3
+ import { d as isJsonModeActive, m as writeJsonCancellationReport } from "./record-metric-Bkorhx43.js";
4
+ import { n as shutdownTelemetry } from "./telemetry-runtime-BGWa_GB9.js";
5
+ import { n as buildFooterLinkLines, r as flushSentry, t as buildSectionDivider } from "./build-section-divider-BRuN44fL.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-CmnLSIyy.js.map
54
- //# debugId=b49f0847-f611-5bfd-b956-54b2fe059e20
53
+ //# sourceMappingURL=exit-gracefully-niPFXq9Y.js.map
54
+ //# debugId=97592582-9383-5f6e-915d-8eeb2030b19f
@@ -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]="0653b80d-672f-5630-b97d-d99e83da8a5d")}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-BcJN2xOB.js";
4
- import { a as isNpmCacheCorruptionError, i as formatNpmCacheCorruptionError, o as formatEnvironmentError, s as isEnvironmentError } from "./telemetry-runtime-DFNjke5Y.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]="8a9fb188-5b65-5876-ab86-aae909fc31e7")}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-Bkorhx43.js";
4
+ import { a as isNpmCacheCorruptionError, i as formatNpmCacheCorruptionError, o as formatEnvironmentError, s as isEnvironmentError } from "./telemetry-runtime-BGWa_GB9.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";
@@ -110,5 +110,5 @@ const handleUserError = (error$1, options = {}) => {
110
110
  //#endregion
111
111
  export { handleUserError as n, handleError as t };
112
112
 
113
- //# sourceMappingURL=handle-error-BoWVnsAX.js.map
114
- //# debugId=0653b80d-672f-5630-b97d-d99e83da8a5d
113
+ //# sourceMappingURL=handle-error-D-4lexec.js.map
114
+ //# debugId=8a9fb188-5b65-5876-ab86-aae909fc31e7
package/dist/index.js CHANGED
@@ -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]="e218eea8-0fe1-5d3c-80e2-7960a75e9c1b")}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]="5453bc11-5691-5788-ba63-d87c0b7a6bff")}catch(e){}}();
3
3
  import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-ChKA3wi6.js";
4
4
  import { createRequire } from "node:module";
5
5
  import * as path$1$1 from "node:path";
@@ -65408,6 +65408,11 @@ const analyzeConfigIdentifier = (identifier, analysis, allowCompilerTransform, i
65408
65408
  const topLevelBinding = getTopLevelBinding(analysis.sourceFile, identifier.text);
65409
65409
  return Boolean(topLevelBinding && analyzeConfigNode(topLevelBinding, analysis, allowCompilerTransform, isCompilerTransformCollection, overriddenPropertyNames));
65410
65410
  };
65411
+ const hasReactCompilerConfigInSentryWrapperArgument = (callExpression, analysis, moduleSpecifier, exportName) => {
65412
+ if (moduleSpecifier !== "@sentry/nextjs" || exportName !== "withSentryConfig") return false;
65413
+ const [configArgument] = callExpression.arguments;
65414
+ return Boolean(configArgument && analyzeConfigNode(configArgument, analysis, false));
65415
+ };
65411
65416
  const analyzeConfigCallTarget = (callExpression, analysis, allowCompilerTransform) => {
65412
65417
  const target = callExpression.expression;
65413
65418
  const callableRequiredModuleSpecifier = getRequireModuleSpecifier(target);
@@ -65431,6 +65436,7 @@ const analyzeConfigCallTarget = (callExpression, analysis, allowCompilerTransfor
65431
65436
  if (requiredModuleSpecifier !== null) {
65432
65437
  if (ts.isCallExpression(target.expression) && ts.isIdentifier(target.expression.expression) && (analysis.localBindings.has(target.expression.expression.text) || getScopedConfigBinding(target.expression.expression).wasFound || hasTopLevelValueBinding(analysis.sourceFile, "require"))) return false;
65433
65438
  if (allowCompilerTransform && isCompilerTransformModule(requiredModuleSpecifier, propertyName)) return true;
65439
+ if (hasReactCompilerConfigInSentryWrapperArgument(callExpression, analysis, requiredModuleSpecifier, propertyName)) return true;
65434
65440
  const hasCompilerTransform = analyzeImportedConfig({
65435
65441
  analysis,
65436
65442
  moduleSpecifier: requiredModuleSpecifier,
@@ -65445,6 +65451,7 @@ const analyzeConfigCallTarget = (callExpression, analysis, allowCompilerTransfor
65445
65451
  const importBinding = analysis.localBindings.has(target.expression.text) || getScopedConfigBinding(target.expression).wasFound ? null : getImportBinding(analysis.sourceFile, target.expression.text);
65446
65452
  if (importBinding?.isNamespace) {
65447
65453
  if (allowCompilerTransform && isCompilerTransformModule(importBinding.moduleSpecifier, propertyName)) return true;
65454
+ if (hasReactCompilerConfigInSentryWrapperArgument(callExpression, analysis, importBinding.moduleSpecifier, propertyName)) return true;
65448
65455
  const hasCompilerTransform = analyzeImportedConfig({
65449
65456
  analysis,
65450
65457
  moduleSpecifier: importBinding.moduleSpecifier,
@@ -65546,6 +65553,7 @@ const analyzeConfigNode = (node, analysis, allowCompilerTransform, isCompilerTra
65546
65553
  const importBinding = getImportBinding(analysis.sourceFile, node.expression.text);
65547
65554
  if (importBinding) {
65548
65555
  if (allowCompilerTransform && isCompilerTransformModule(importBinding.moduleSpecifier, importBinding.exportName)) return true;
65556
+ if (hasReactCompilerConfigInSentryWrapperArgument(node, analysis, importBinding.moduleSpecifier, importBinding.exportName)) return true;
65549
65557
  if (allowCompilerTransform && importBinding.moduleSpecifier === "@rolldown/plugin-babel" && importBinding.exportName === "default" && node.arguments.some((argument) => analyzeConfigNode(argument, analysis, false))) return true;
65550
65558
  const hasCompilerTransform = analyzeImportedConfig({
65551
65559
  analysis,
@@ -78181,4 +78189,4 @@ const toJsonReport = (result, options) => buildJsonReport({
78181
78189
  export { AmbiguousProjectError, NoReactDependencyError, NotADirectoryError, PackageJsonNotFoundError, ProjectNotFoundError, ReactDoctorError, buildJsonReport, buildJsonReportError, clearCaches, defineConfig, diagnose, filterSourceFiles, getDiffInfo, hasReactRuntime, isProjectDiscoveryError, isReactDoctorError, summarizeDiagnostics, toJsonReport };
78182
78190
 
78183
78191
  //# sourceMappingURL=index.js.map
78184
- //# debugId=e218eea8-0fe1-5d3c-80e2-7960a75e9c1b
78192
+ //# debugId=5453bc11-5691-5788-ba63-d87c0b7a6bff
@@ -1,19 +1,19 @@
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]="f9002db0-fe94-5945-b90e-8270f4382574")}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-BcJN2xOB.js";
4
- import { n as shutdownTelemetry, r as isExpectedUserError } from "./telemetry-runtime-DFNjke5Y.js";
5
- import { r as flushSentry } from "./build-section-divider-DPs8DOje.js";
6
- import { n as handleUserError, t as handleError } from "./handle-error-BoWVnsAX.js";
7
- import { t as reportErrorToSentry } from "./report-error-OirqwZb5.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]="1cf7d0a5-7bee-5ee2-85d4-9ce94e6091e8")}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-Bkorhx43.js";
4
+ import { n as shutdownTelemetry, r as isExpectedUserError } from "./telemetry-runtime-BGWa_GB9.js";
5
+ import { r as flushSentry } from "./build-section-divider-BRuN44fL.js";
6
+ import { n as handleUserError, t as handleError } from "./handle-error-D-4lexec.js";
7
+ import { t as reportErrorToSentry } from "./report-error-DPjmfRi9.js";
8
8
  import { t as toForwardSlashes } from "./path-format-DnHpmJwG.js";
9
- 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-Czibd55T.js";
10
- import { a as readReactDoctorWorkflow, c as workflowUsesV1Action, i as isReactDoctorWorkflowInstalled, l as prompts, s as upgradeWorkflowActionToV2 } from "./install-github-workflow-DAW5HCoZ.js";
11
- import { c as openWorkflowPullRequest, i as warnDeprecatedDiff, l as stageWorkflowFile, r as resolveScope, s as resolveBlockingLevel, t as finalizeScope } from "./resolve-scope-CKnF1u7B.js";
12
- import { t as shouldSkipPrompts } from "./should-skip-prompts-DkasjzpQ.js";
13
- import { A as inspect, B as filterDiagnosticsByCategories, C as CLI_AGENT_BINARIES, D as collectProjectSourceFileCounts, E as buildHandoffPayload, H as buildEmptyReportMessage, L as printDiagnosticsDump, M as printHeadlessReport, O as deduplicateProjectScans, S as detectLaunchableAgents, T as launchCliAgent, _ as resolveWorkspaceDeadCodeOwner, a as validateModeFlags, b as countUniqueScannedFiles, d as resolveProjectScan, f as resolveProjectChangedLineRanges, g as retryMissingProjectScores, h as resolveProjectRelativeDirectory, i as validateIncludeUntrackedScope, j as resolveMergeBaseRef, k as createInvocationInspect, l as selectProjects, m as resolveProjectSourceFilePaths, n as formatSkippedProjectsMessage, o as projectManifestChanged, p as resolveProjectDiffIncludePaths, s as partitionProjectScanOutcomes, t as shouldFailScanGate, u as buildCodeFrame, v as resolveCliInspectOptions, w as copyToClipboard, x as setUpGitHubActions, y as filterScansForSurface } from "./should-fail-scan-gate-D1mS86Ff.js";
14
- 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-C4EMosul.js";
15
- 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-0EPCiZSM.js";
16
- import { t as readObjectFile } from "./read-object-file-B74hRgMl.js";
9
+ 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-Coa2ErCg.js";
10
+ import { a as readReactDoctorWorkflow, c as workflowUsesV1Action, i as isReactDoctorWorkflowInstalled, l as prompts, s as upgradeWorkflowActionToV2 } from "./install-github-workflow-DlfdrYkQ.js";
11
+ import { c as openWorkflowPullRequest, i as warnDeprecatedDiff, l as stageWorkflowFile, r as resolveScope, s as resolveBlockingLevel, t as finalizeScope } from "./resolve-scope-BFloAClV.js";
12
+ import { t as shouldSkipPrompts } from "./should-skip-prompts-D-ClPHHR.js";
13
+ import { A as inspect, B as filterDiagnosticsByCategories, C as CLI_AGENT_BINARIES, D as collectProjectSourceFileCounts, E as buildHandoffPayload, H as buildEmptyReportMessage, L as printDiagnosticsDump, M as printHeadlessReport, O as deduplicateProjectScans, S as detectLaunchableAgents, T as launchCliAgent, _ as resolveWorkspaceDeadCodeOwner, a as validateModeFlags, b as countUniqueScannedFiles, d as resolveProjectScan, f as resolveProjectChangedLineRanges, g as retryMissingProjectScores, h as resolveProjectRelativeDirectory, i as validateIncludeUntrackedScope, j as resolveMergeBaseRef, k as createInvocationInspect, l as selectProjects, m as resolveProjectSourceFilePaths, n as formatSkippedProjectsMessage, o as projectManifestChanged, p as resolveProjectDiffIncludePaths, s as partitionProjectScanOutcomes, t as shouldFailScanGate, u as buildCodeFrame, v as resolveCliInspectOptions, w as copyToClipboard, x as setUpGitHubActions, y as filterScansForSurface } from "./should-fail-scan-gate-CCPDoHaM.js";
14
+ 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-CBL6CrLY.js";
15
+ 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-BWxqZMX-.js";
16
+ import { t as readObjectFile } from "./read-object-file-CqMtxcfF.js";
17
17
  import * as path$1 from "node:path";
18
18
  import * as fs$1 from "node:fs";
19
19
  import { tmpdir } from "node:os";
@@ -1450,5 +1450,5 @@ const inspectAction = async (directory, flags, invocationCommand = "inspect", se
1450
1450
  //#endregion
1451
1451
  export { warnDeprecatedFailOn as n, runProjectMigrations as r, inspectAction as t };
1452
1452
 
1453
- //# sourceMappingURL=inspect-CQjmfc6o.js.map
1454
- //# debugId=f9002db0-fe94-5945-b90e-8270f4382574
1453
+ //# sourceMappingURL=inspect-BrctG7ql.js.map
1454
+ //# debugId=1cf7d0a5-7bee-5ee2-85d4-9ce94e6091e8
@@ -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]="07c9085e-113b-5907-97c7-02e87d98ae4b")}catch(e){}}();
3
- import { T as METRIC, t as recordCount, zn as runSync } from "./record-metric-BcJN2xOB.js";
4
- import { r as isExpectedUserError } from "./telemetry-runtime-DFNjke5Y.js";
5
- import { n as handleUserError, t as handleError } from "./handle-error-BoWVnsAX.js";
6
- import { t as reportErrorToSentry } from "./report-error-OirqwZb5.js";
7
- import { t as printBrandedHeader } from "./print-branded-header-D99_D1jG.js";
8
- import { n as runInstallReactDoctor } from "./install-react-doctor-0EPCiZSM.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]="2b159878-8035-5895-8d72-f3083a147ec2")}catch(e){}}();
3
+ import { T as METRIC, t as recordCount, zn as runSync } from "./record-metric-Bkorhx43.js";
4
+ import { r as isExpectedUserError } from "./telemetry-runtime-BGWa_GB9.js";
5
+ import { n as handleUserError, t as handleError } from "./handle-error-D-4lexec.js";
6
+ import { t as reportErrorToSentry } from "./report-error-DPjmfRi9.js";
7
+ import { t as printBrandedHeader } from "./print-branded-header-DFkeG4BS.js";
8
+ import { n as runInstallReactDoctor } from "./install-react-doctor-BWxqZMX-.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-BI45HWXE.js.map
33
- //# debugId=07c9085e-113b-5907-97c7-02e87d98ae4b
32
+ //# sourceMappingURL=install-CcFc56OK.js.map
33
+ //# debugId=2b159878-8035-5895-8d72-f3083a147ec2
@@ -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]="c9f56581-4dcf-5375-a1a6-7a5c7db8a5ec")}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-BcJN2xOB.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]="bb1dcc42-ca7c-59e0-b995-545e9cb888bd")}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-Bkorhx43.js";
4
4
  import { a as chalk, i as stripAnsi, t as eastAsianWidth } from "./get-east-asian-width-Bv2TD3Xj.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-Czibd55T.js.map
2809
- //# debugId=c9f56581-4dcf-5375-a1a6-7a5c7db8a5ec
2808
+ //# sourceMappingURL=install-doctor-script-Coa2ErCg.js.map
2809
+ //# debugId=bb1dcc42-ca7c-59e0-b995-545e9cb888bd
@@ -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]="bbe822a4-be7d-535d-b499-4de3d9212da0")}catch(e){}}();
3
- import { w as GH_DEFAULT_BRANCH_PROBE_TIMEOUT_MS } from "./record-metric-BcJN2xOB.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]="430ec151-2d4a-5b17-bc9e-5d92a4a7f661")}catch(e){}}();
3
+ import { w as GH_DEFAULT_BRANCH_PROBE_TIMEOUT_MS } from "./record-metric-Bkorhx43.js";
4
4
  import { t as unrefStdin } from "./unref-stdin-SK3WfwxS.js";
5
- import { M as cliLogger } from "./install-doctor-script-Czibd55T.js";
5
+ import { M as cliLogger } from "./install-doctor-script-Coa2ErCg.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";
@@ -267,5 +267,5 @@ const upgradeReactDoctorWorkflowInPlace = (projectRoot) => {
267
267
  //#endregion
268
268
  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 };
269
269
 
270
- //# sourceMappingURL=install-github-workflow-DAW5HCoZ.js.map
271
- //# debugId=bbe822a4-be7d-535d-b499-4de3d9212da0
270
+ //# sourceMappingURL=install-github-workflow-DlfdrYkQ.js.map
271
+ //# debugId=430ec151-2d4a-5b17-bc9e-5d92a4a7f661
@@ -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]="d43042c4-c766-54b9-a30f-944a55426467")}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-BcJN2xOB.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-Czibd55T.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-DAW5HCoZ.js";
6
- import { t as shouldSkipPrompts } from "./should-skip-prompts-DkasjzpQ.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-C4EMosul.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]="597242f4-263d-5a7b-a713-1c17365ff3cd")}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-Bkorhx43.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-Coa2ErCg.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-DlfdrYkQ.js";
6
+ import { t as shouldSkipPrompts } from "./should-skip-prompts-D-ClPHHR.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-CBL6CrLY.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-0EPCiZSM.js.map
1156
- //# debugId=d43042c4-c766-54b9-a30f-944a55426467
1155
+ //# sourceMappingURL=install-react-doctor-BWxqZMX-.js.map
1156
+ //# debugId=597242f4-263d-5a7b-a713-1c17365ff3cd
@@ -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]="3227e0d8-825d-5133-b503-017e18327664")}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]="466033b7-66a1-541a-a142-e51bc51d59a1")}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-BcJN2xOB.js";
5
- import { n as registerActiveTuiRenderer, t as exitGracefully } from "./exit-gracefully-CmnLSIyy.js";
4
+ import { T as METRIC, t as recordCount } from "./record-metric-Bkorhx43.js";
5
+ import { n as registerActiveTuiRenderer, t as exitGracefully } from "./exit-gracefully-niPFXq9Y.js";
6
6
  import { a as chalk, i as stripAnsi, n as isFullWidth$1, r as isWide$1 } from "./get-east-asian-width-Bv2TD3Xj.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-CpHGdrl2.js.map
25873
- //# debugId=3227e0d8-825d-5133-b503-017e18327664
25872
+ //# sourceMappingURL=jsx-runtime-Njm7vAoN.js.map
25873
+ //# debugId=466033b7-66a1-541a-a142-e51bc51d59a1
@@ -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]="83a5d0c2-f15b-50d3-a6ce-5f0faae82eac")}catch(e){}}();
3
- import { An as gen, Kt as highlighter, Tn as log, _ as VERSION } from "./record-metric-BcJN2xOB.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]="a8954028-8640-54a5-82f9-7a5f037db561")}catch(e){}}();
3
+ import { An as gen, Kt as highlighter, Tn as log, _ as VERSION } from "./record-metric-Bkorhx43.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-D99_D1jG.js.map
22
- //# debugId=83a5d0c2-f15b-50d3-a6ce-5f0faae82eac
21
+ //# sourceMappingURL=print-branded-header-DFkeG4BS.js.map
22
+ //# debugId=a8954028-8640-54a5-82f9-7a5f037db561
@@ -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]="d17bb953-e0c2-5477-8ba9-efd006095fa6")}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]="5386d4b6-f9ba-5cd6-856f-109a2ee9038f")}catch(e){}}();
3
3
  import { t as unrefStdin } from "./unref-stdin-SK3WfwxS.js";
4
- import { a as RUNTIME_SCAN_LOCAL_DEV_PORTS, t as sanitizeRuntimeUrl, u as RUNTIME_SCAN_MAX_STRING_LENGTH } from "./sanitize-runtime-url-KJQEVCa5.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-CpHGdrl2.js";
4
+ import { a as RUNTIME_SCAN_LOCAL_DEV_PORTS, t as sanitizeRuntimeUrl, u as RUNTIME_SCAN_MAX_STRING_LENGTH } from "./sanitize-runtime-url-BYOmPSdm.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-Njm7vAoN.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-BXbCor1e.js.map
240
- //# debugId=d17bb953-e0c2-5477-8ba9-efd006095fa6
239
+ //# sourceMappingURL=prompt-runtime-scan-url-BenBNq25.js.map
240
+ //# debugId=5386d4b6-f9ba-5cd6-856f-109a2ee9038f
@@ -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]="07cd6165-0875-58c4-8d01-bfd9e1cb4fd4")}catch(e){}}();
3
- import { Sr as isPlainObject } from "./record-metric-BcJN2xOB.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]="fb0ab334-bbdc-52a2-84c4-6e84287ad05e")}catch(e){}}();
3
+ import { Sr as isPlainObject } from "./record-metric-Bkorhx43.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-B74hRgMl.js.map
24
- //# debugId=07cd6165-0875-58c4-8d01-bfd9e1cb4fd4
23
+ //# sourceMappingURL=read-object-file-CqMtxcfF.js.map
24
+ //# debugId=fb0ab334-bbdc-52a2-84c4-6e84287ad05e
@@ -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]="9f2cd54f-1a04-5394-aa7e-c932e535914b")}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]="266b0487-9aaf-523d-a932-424d01f7fbd5")}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";
@@ -63435,6 +63435,11 @@ const analyzeConfigIdentifier = (identifier, analysis, allowCompilerTransform, i
63435
63435
  const topLevelBinding = getTopLevelBinding(analysis.sourceFile, identifier.text);
63436
63436
  return Boolean(topLevelBinding && analyzeConfigNode(topLevelBinding, analysis, allowCompilerTransform, isCompilerTransformCollection, overriddenPropertyNames));
63437
63437
  };
63438
+ const hasReactCompilerConfigInSentryWrapperArgument = (callExpression, analysis, moduleSpecifier, exportName) => {
63439
+ if (moduleSpecifier !== "@sentry/nextjs" || exportName !== "withSentryConfig") return false;
63440
+ const [configArgument] = callExpression.arguments;
63441
+ return Boolean(configArgument && analyzeConfigNode(configArgument, analysis, false));
63442
+ };
63438
63443
  const analyzeConfigCallTarget = (callExpression, analysis, allowCompilerTransform) => {
63439
63444
  const target = callExpression.expression;
63440
63445
  const callableRequiredModuleSpecifier = getRequireModuleSpecifier(target);
@@ -63458,6 +63463,7 @@ const analyzeConfigCallTarget = (callExpression, analysis, allowCompilerTransfor
63458
63463
  if (requiredModuleSpecifier !== null) {
63459
63464
  if (ts.isCallExpression(target.expression) && ts.isIdentifier(target.expression.expression) && (analysis.localBindings.has(target.expression.expression.text) || getScopedConfigBinding(target.expression.expression).wasFound || hasTopLevelValueBinding(analysis.sourceFile, "require"))) return false;
63460
63465
  if (allowCompilerTransform && isCompilerTransformModule(requiredModuleSpecifier, propertyName)) return true;
63466
+ if (hasReactCompilerConfigInSentryWrapperArgument(callExpression, analysis, requiredModuleSpecifier, propertyName)) return true;
63461
63467
  const hasCompilerTransform = analyzeImportedConfig({
63462
63468
  analysis,
63463
63469
  moduleSpecifier: requiredModuleSpecifier,
@@ -63472,6 +63478,7 @@ const analyzeConfigCallTarget = (callExpression, analysis, allowCompilerTransfor
63472
63478
  const importBinding = analysis.localBindings.has(target.expression.text) || getScopedConfigBinding(target.expression).wasFound ? null : getImportBinding(analysis.sourceFile, target.expression.text);
63473
63479
  if (importBinding?.isNamespace) {
63474
63480
  if (allowCompilerTransform && isCompilerTransformModule(importBinding.moduleSpecifier, propertyName)) return true;
63481
+ if (hasReactCompilerConfigInSentryWrapperArgument(callExpression, analysis, importBinding.moduleSpecifier, propertyName)) return true;
63475
63482
  const hasCompilerTransform = analyzeImportedConfig({
63476
63483
  analysis,
63477
63484
  moduleSpecifier: importBinding.moduleSpecifier,
@@ -63573,6 +63580,7 @@ const analyzeConfigNode = (node, analysis, allowCompilerTransform, isCompilerTra
63573
63580
  const importBinding = getImportBinding(analysis.sourceFile, node.expression.text);
63574
63581
  if (importBinding) {
63575
63582
  if (allowCompilerTransform && isCompilerTransformModule(importBinding.moduleSpecifier, importBinding.exportName)) return true;
63583
+ if (hasReactCompilerConfigInSentryWrapperArgument(node, analysis, importBinding.moduleSpecifier, importBinding.exportName)) return true;
63576
63584
  if (allowCompilerTransform && importBinding.moduleSpecifier === "@rolldown/plugin-babel" && importBinding.exportName === "default" && node.arguments.some((argument) => analyzeConfigNode(argument, analysis, false))) return true;
63577
63585
  const hasCompilerTransform = analyzeImportedConfig({
63578
63586
  analysis,
@@ -76769,7 +76777,7 @@ const makeNoopConsole = () => ({
76769
76777
  });
76770
76778
  //#endregion
76771
76779
  //#region src/cli/utils/version.ts
76772
- const VERSION = "0.9.13-dev.fa72869";
76780
+ const VERSION = "0.9.13-dev.ff7dd67";
76773
76781
  //#endregion
76774
76782
  //#region src/cli/utils/json-mode.ts
76775
76783
  let context = null;
@@ -77113,5 +77121,5 @@ const recordDistribution = (name, value, options = {}) => {
77113
77121
  //#endregion
77114
77122
  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 };
77115
77123
 
77116
- //# sourceMappingURL=record-metric-BcJN2xOB.js.map
77117
- //# debugId=9f2cd54f-1a04-5394-aa7e-c932e535914b
77124
+ //# sourceMappingURL=record-metric-Bkorhx43.js.map
77125
+ //# debugId=266b0487-9aaf-523d-a932-424d01f7fbd5
@@ -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]="c186aa02-3930-575f-bb5c-af90dae0f631")}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-BcJN2xOB.js";
4
- import { n as shutdownTelemetry, r as isExpectedUserError } from "./telemetry-runtime-DFNjke5Y.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]="8451906c-4d29-5daa-880c-01e7f8895f74")}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-Bkorhx43.js";
4
+ import { n as shutdownTelemetry, r as isExpectedUserError } from "./telemetry-runtime-BGWa_GB9.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-OirqwZb5.js.map
64
- //# debugId=c186aa02-3930-575f-bb5c-af90dae0f631
63
+ //# sourceMappingURL=report-error-DPjmfRi9.js.map
64
+ //# debugId=8451906c-4d29-5daa-880c-01e7f8895f74
@@ -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]="e5336bb4-9f5c-5d0e-84e9-24d1ae7b19dc")}catch(e){}}();
3
- import { O as REACT_DOCTOR_CONFIG_PROJECT_NAME, T as METRIC, t as recordCount } from "./record-metric-BcJN2xOB.js";
4
- import { u as isCommandAvailable } from "./install-github-workflow-DAW5HCoZ.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]="63472f15-99cd-5791-b53e-1299b975b442")}catch(e){}}();
3
+ import { O as REACT_DOCTOR_CONFIG_PROJECT_NAME, T as METRIC, t as recordCount } from "./record-metric-Bkorhx43.js";
4
+ import { u as isCommandAvailable } from "./install-github-workflow-DlfdrYkQ.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-C4EMosul.js.map
279
- //# debugId=e5336bb4-9f5c-5d0e-84e9-24d1ae7b19dc
278
+ //# sourceMappingURL=report-workflow-result-CBL6CrLY.js.map
279
+ //# debugId=63472f15-99cd-5791-b53e-1299b975b442
@@ -1,9 +1,9 @@
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]="48c8a27e-7fcc-5700-8446-01037c21a079")}catch(e){}}();
3
- import { Jt as isPathInsideDirectory, Nt as filterSourceFiles, wr as toCanonicalPath } from "./record-metric-BcJN2xOB.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]="22a3f0bc-e1f0-506a-8053-0c8768abcc39")}catch(e){}}();
3
+ import { Jt as isPathInsideDirectory, Nt as filterSourceFiles, wr as toCanonicalPath } from "./record-metric-Bkorhx43.js";
4
4
  import { t as toForwardSlashes } from "./path-format-DnHpmJwG.js";
5
- import { M as cliLogger } from "./install-doctor-script-Czibd55T.js";
6
- import { d as detectDefaultBranch, f as runCommand, l as prompts, u as isCommandAvailable } from "./install-github-workflow-DAW5HCoZ.js";
5
+ import { M as cliLogger } from "./install-doctor-script-Coa2ErCg.js";
6
+ import { d as detectDefaultBranch, f as runCommand, l as prompts, u as isCommandAvailable } from "./install-github-workflow-DlfdrYkQ.js";
7
7
  import * as path$1 from "node:path";
8
8
  //#region src/cli/utils/open-workflow-pull-request.ts
9
9
  const NEW_BRANCH_PREFIX = "react-doctor/add-github-actions";
@@ -333,5 +333,5 @@ const finalizeScope = async ({ requested, diffInfo, skipPrompts, isQuiet }) => {
333
333
  //#endregion
334
334
  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 };
335
335
 
336
- //# sourceMappingURL=resolve-scope-CKnF1u7B.js.map
337
- //# debugId=48c8a27e-7fcc-5700-8446-01037c21a079
336
+ //# sourceMappingURL=resolve-scope-BFloAClV.js.map
337
+ //# debugId=22a3f0bc-e1f0-506a-8053-0c8768abcc39
@@ -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]="2d61499f-1638-59f8-8c7a-0fad2df32e73")}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-BcJN2xOB.js";
4
- import { M as cliLogger, n as findNearestPackageDirectory } from "./install-doctor-script-Czibd55T.js";
5
- import { t as readObjectFile } from "./read-object-file-B74hRgMl.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]="e7e97863-0bb8-5ef7-903d-942b3fb68d00")}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-Bkorhx43.js";
4
+ import { M as cliLogger, n as findNearestPackageDirectory } from "./install-doctor-script-Coa2ErCg.js";
5
+ import { t as readObjectFile } from "./read-object-file-CqMtxcfF.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-D-04wsFx.js.map
581
- //# debugId=2d61499f-1638-59f8-8c7a-0fad2df32e73
580
+ //# sourceMappingURL=rules-BKNy9YIl.js.map
581
+ //# debugId=e7e97863-0bb8-5ef7-903d-942b3fb68d00
@@ -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]="32923065-9af7-5ef0-a958-6142820a69e1")}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-BcJN2xOB.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]="ee1768f7-8818-5878-aaf4-85936bbb254c")}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-Bkorhx43.js";
4
4
  import { t as toForwardSlashes } from "./path-format-DnHpmJwG.js";
5
- import { M as cliLogger, n as findNearestPackageDirectory } from "./install-doctor-script-Czibd55T.js";
6
- import { i as isReactDoctorWorkflowInstalled } from "./install-github-workflow-DAW5HCoZ.js";
7
- import { r as resolveScope, s as resolveBlockingLevel, t as finalizeScope } from "./resolve-scope-CKnF1u7B.js";
8
- import { B as filterDiagnosticsByCategories, C as CLI_AGENT_BINARIES, D as collectProjectSourceFileCounts, E as buildHandoffPayload, F as formatElapsedTime, G as buildSortedRuleGroups, H as buildEmptyReportMessage, I as printFooter, K as formatFixRecipeLine, L as printDiagnosticsDump, N as pluralize, O as deduplicateProjectScans, P as formatSkippedCheckLabel, R as formatDiagnosticSite, S as detectLaunchableAgents, T as launchCliAgent, U as hasLintHardFailure, V as buildNoScoreMessage, W as buildRulePriorityMap, _ as resolveWorkspaceDeadCodeOwner, b as countUniqueScannedFiles, c as discoverWorkspacePackages, d as resolveProjectScan, f as resolveProjectChangedLineRanges, g as retryMissingProjectScores, i as validateIncludeUntrackedScope, j as resolveMergeBaseRef, k as createInvocationInspect, l as selectProjects, m as resolveProjectSourceFilePaths, n as formatSkippedProjectsMessage, o as projectManifestChanged, p as resolveProjectDiffIncludePaths, q as formatLearnMoreLine, s as partitionProjectScanOutcomes, t as shouldFailScanGate, u as buildCodeFrame, v as resolveCliInspectOptions, w as copyToClipboard, x as setUpGitHubActions, y as filterScansForSurface, z as hasIncompleteScoreAnalysis } from "./should-fail-scan-gate-D1mS86Ff.js";
9
- import { a as recordGate, f as ONBOARDING_EVENT, n as openUrl, r as isGatePending } from "./report-workflow-result-C4EMosul.js";
10
- 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-CpHGdrl2.js";
5
+ import { M as cliLogger, n as findNearestPackageDirectory } from "./install-doctor-script-Coa2ErCg.js";
6
+ import { i as isReactDoctorWorkflowInstalled } from "./install-github-workflow-DlfdrYkQ.js";
7
+ import { r as resolveScope, s as resolveBlockingLevel, t as finalizeScope } from "./resolve-scope-BFloAClV.js";
8
+ import { B as filterDiagnosticsByCategories, C as CLI_AGENT_BINARIES, D as collectProjectSourceFileCounts, E as buildHandoffPayload, F as formatElapsedTime, G as buildSortedRuleGroups, H as buildEmptyReportMessage, I as printFooter, K as formatFixRecipeLine, L as printDiagnosticsDump, N as pluralize, O as deduplicateProjectScans, P as formatSkippedCheckLabel, R as formatDiagnosticSite, S as detectLaunchableAgents, T as launchCliAgent, U as hasLintHardFailure, V as buildNoScoreMessage, W as buildRulePriorityMap, _ as resolveWorkspaceDeadCodeOwner, b as countUniqueScannedFiles, c as discoverWorkspacePackages, d as resolveProjectScan, f as resolveProjectChangedLineRanges, g as retryMissingProjectScores, i as validateIncludeUntrackedScope, j as resolveMergeBaseRef, k as createInvocationInspect, l as selectProjects, m as resolveProjectSourceFilePaths, n as formatSkippedProjectsMessage, o as projectManifestChanged, p as resolveProjectDiffIncludePaths, q as formatLearnMoreLine, s as partitionProjectScanOutcomes, t as shouldFailScanGate, u as buildCodeFrame, v as resolveCliInspectOptions, w as copyToClipboard, x as setUpGitHubActions, y as filterScansForSurface, z as hasIncompleteScoreAnalysis } from "./should-fail-scan-gate-CCPDoHaM.js";
9
+ import { a as recordGate, f as ONBOARDING_EVENT, n as openUrl, r as isGatePending } from "./report-workflow-result-CBL6CrLY.js";
10
+ 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-Njm7vAoN.js";
11
11
  import path from "node:path";
12
12
  import { performance } from "node:perf_hooks";
13
13
  import isUnicodeSupported from "is-unicode-supported";
@@ -2507,5 +2507,5 @@ const runScanApp = async (input) => {
2507
2507
  //#endregion
2508
2508
  export { runScanApp };
2509
2509
 
2510
- //# sourceMappingURL=run-scan-app-hjGd9Nt9.js.map
2511
- //# debugId=32923065-9af7-5ef0-a958-6142820a69e1
2510
+ //# sourceMappingURL=run-scan-app-Bc70ozp-.js.map
2511
+ //# debugId=ee1768f7-8818-5878-aaf4-85936bbb254c
@@ -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]="57850f80-2659-57f9-a7bc-37d17b21e892")}catch(e){}}();
3
- import { Kt as highlighter, T as METRIC, t as recordCount, u as enableJsonMode, z as CliInputError } from "./record-metric-BcJN2xOB.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]="bd35ca71-d35e-590f-8f3c-bb4615cd5512")}catch(e){}}();
3
+ import { Kt as highlighter, T as METRIC, t as recordCount, u as enableJsonMode, z as CliInputError } from "./record-metric-Bkorhx43.js";
4
4
  import { t as activeScanAbortRegistry } from "./active-scan-abort-registry-DwG6tSPy.js";
5
- import { t as reportErrorToSentry } from "./report-error-OirqwZb5.js";
6
- import { n as resetSentryRunState, r as withRunSpan } from "./with-run-span-B9bjgvks.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-KJQEVCa5.js";
8
- import { r as resolveTuiEnvironment, t as isTuiEnvironmentSupported } from "./should-use-tui-B5bj9qhm.js";
5
+ import { t as reportErrorToSentry } from "./report-error-DPjmfRi9.js";
6
+ import { n as resetSentryRunState, r as withRunSpan } from "./with-run-span-GsCWW2_X.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-BYOmPSdm.js";
8
+ import { r as resolveTuiEnvironment, t as isTuiEnvironmentSupported } from "./should-use-tui-BaCVIPPN.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";
@@ -448,15 +448,15 @@ const startDevtoolsTrace = async (cdpSession) => {
448
448
  throw cause;
449
449
  }
450
450
  };
451
- const endDevtoolsTrace = async (cdpSession) => {
451
+ const endDevtoolsTrace = async (cdpSession, timeoutMs = RUNTIME_SCAN_TRACING_COMPLETE_TIMEOUT_MS) => {
452
452
  const traceComplete = new Promise((resolve) => {
453
453
  cdpSession.once("Tracing.tracingComplete", resolve);
454
454
  });
455
455
  let timeoutHandle;
456
456
  const traceTimeout = new Promise((_resolve, reject) => {
457
457
  timeoutHandle = setTimeout(() => {
458
- reject(/* @__PURE__ */ new Error("Chrome did not finish the performance trace in time."));
459
- }, RUNTIME_SCAN_TRACING_COMPLETE_TIMEOUT_MS);
458
+ reject(new CliInputError("Chrome did not finalize the performance trace within 60 seconds. Record a shorter interaction and retry."));
459
+ }, timeoutMs);
460
460
  });
461
461
  let stream;
462
462
  try {
@@ -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-BXbCor1e.js");
722
+ const { promptRuntimeScanUrl } = await import("./prompt-runtime-scan-url-BenBNq25.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-5ucpiIRF.js.map
770
- //# debugId=57850f80-2659-57f9-a7bc-37d17b21e892
769
+ //# sourceMappingURL=runtime-scan-ODrdp5mV.js.map
770
+ //# debugId=bd35ca71-d35e-590f-8f3c-bb4615cd5512
@@ -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]="3c8c1c3a-3291-511c-b3f3-6b4a9843ddd7")}catch(e){}}();
3
- import { z as CliInputError } from "./record-metric-BcJN2xOB.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]="d189d1bb-6fe9-5225-907e-86057477fbcc")}catch(e){}}();
3
+ import { z as CliInputError } from "./record-metric-Bkorhx43.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;
@@ -26,7 +26,7 @@ const RUNTIME_SCAN_LOCAL_DEV_PORTS = [
26
26
  ];
27
27
  const RUNTIME_SCAN_BROWSER_WIDTH_PX = 1440;
28
28
  const RUNTIME_SCAN_TRACE_FILE_EXTENSION = ".json.gz";
29
- const RUNTIME_SCAN_TRACING_COMPLETE_TIMEOUT_MS = 1e4;
29
+ const RUNTIME_SCAN_TRACING_COMPLETE_TIMEOUT_MS = 6e4;
30
30
  const RUNTIME_SCAN_PROBE_RELATIVE_PATH = "runtime-scan/browser-probe.iife.js";
31
31
  const RUNTIME_SCAN_PROBE_SNAPSHOT_BINDING_NAME_PLACEHOLDER = "__REACT_DOCTOR_RUNTIME_SCAN_CAPTURE__";
32
32
  const RUNTIME_SCAN_PROBE_SNAPSHOT_ATTRIBUTE_NAME_PLACEHOLDER = "data-react-doctor-runtime-scan-snapshot";
@@ -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-KJQEVCa5.js.map
76
- //# debugId=3c8c1c3a-3291-511c-b3f3-6b4a9843ddd7
75
+ //# sourceMappingURL=sanitize-runtime-url-BYOmPSdm.js.map
76
+ //# debugId=d189d1bb-6fe9-5225-907e-86057477fbcc
@@ -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]="96991e4f-22a8-5864-8e7e-26aa486928ba")}catch(e){}}();
3
- import { T as METRIC, fn as resolveScanTarget, t as recordCount } from "./record-metric-BcJN2xOB.js";
4
- import { i as warnDeprecatedDiff } from "./resolve-scope-CKnF1u7B.js";
5
- import { a as validateModeFlags, r as validateFilePathSelectionFlags, v as resolveCliInspectOptions } from "./should-fail-scan-gate-D1mS86Ff.js";
6
- import { n as warnDeprecatedFailOn, r as runProjectMigrations, t as inspectAction } from "./inspect-CQjmfc6o.js";
7
- import { n as shouldUseTui, r as resolveTuiEnvironment } from "./should-use-tui-B5bj9qhm.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]="777040c0-68da-59d9-91c3-6b43a118f524")}catch(e){}}();
3
+ import { T as METRIC, fn as resolveScanTarget, t as recordCount } from "./record-metric-Bkorhx43.js";
4
+ import { i as warnDeprecatedDiff } from "./resolve-scope-BFloAClV.js";
5
+ import { a as validateModeFlags, r as validateFilePathSelectionFlags, v as resolveCliInspectOptions } from "./should-fail-scan-gate-CCPDoHaM.js";
6
+ import { n as warnDeprecatedFailOn, r as runProjectMigrations, t as inspectAction } from "./inspect-BrctG7ql.js";
7
+ import { n as shouldUseTui, r as resolveTuiEnvironment } from "./should-use-tui-BaCVIPPN.js";
8
8
  import path from "node:path";
9
9
  //#region src/cli/commands/scan.ts
10
10
  const runScanCommand = async (input) => {
@@ -28,7 +28,7 @@ const runScanCommand = async (input) => {
28
28
  warnDeprecatedFailOn(input.flags, scanTarget.userConfig);
29
29
  warnDeprecatedDiff(input.flags, scanTarget.userConfig);
30
30
  recordCount(METRIC.cliInvoked, 1, { command: input.invocationCommand });
31
- const { runScanApp } = await import("./run-scan-app-hjGd9Nt9.js");
31
+ const { runScanApp } = await import("./run-scan-app-Bc70ozp-.js");
32
32
  const { shouldFail } = await runScanApp({
33
33
  directory: input.directory,
34
34
  scanTarget,
@@ -43,5 +43,5 @@ const runScanCommand = async (input) => {
43
43
  //#endregion
44
44
  export { runScanCommand };
45
45
 
46
- //# sourceMappingURL=scan-Busv3qJ_.js.map
47
- //# debugId=96991e4f-22a8-5864-8e7e-26aa486928ba
46
+ //# sourceMappingURL=scan-BfcGHHkI.js.map
47
+ //# debugId=777040c0-68da-59d9-91c3-6b43a118f524
@@ -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]="c6a4440d-8008-5253-b2d5-e7f83df2b0a4")}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-BcJN2xOB.js";
4
- import { t as getTelemetryContext } from "./telemetry-runtime-DFNjke5Y.js";
5
- import { n as buildFooterLinkLines, t as buildSectionDivider } from "./build-section-divider-DPs8DOje.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]="a4d4a5ab-7608-5645-bd28-b9bb73993dfd")}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-Bkorhx43.js";
4
+ import { t as getTelemetryContext } from "./telemetry-runtime-BGWa_GB9.js";
5
+ import { n as buildFooterLinkLines, t as buildSectionDivider } from "./build-section-divider-BRuN44fL.js";
6
6
  import { t as activeScanAbortRegistry } from "./active-scan-abort-registry-DwG6tSPy.js";
7
7
  import { t as toForwardSlashes } from "./path-format-DnHpmJwG.js";
8
- 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-Czibd55T.js";
9
- import { d as detectDefaultBranch, l as prompts, r as installReactDoctorWorkflow, u as isCommandAvailable } from "./install-github-workflow-DAW5HCoZ.js";
10
- import { a as isValidBlockingLevel, c as openWorkflowPullRequest, l as stageWorkflowFile, o as pickBlockingLevel } from "./resolve-scope-CKnF1u7B.js";
11
- import { n as resetSentryRunState, r as withRunSpan, t as recordSentryProjectContext } from "./with-run-span-B9bjgvks.js";
12
- import { h as detectAvailableAgents, t as reportWorkflowResult } from "./report-workflow-result-C4EMosul.js";
8
+ 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-Coa2ErCg.js";
9
+ import { d as detectDefaultBranch, l as prompts, r as installReactDoctorWorkflow, u as isCommandAvailable } from "./install-github-workflow-DlfdrYkQ.js";
10
+ import { a as isValidBlockingLevel, c as openWorkflowPullRequest, l as stageWorkflowFile, o as pickBlockingLevel } from "./resolve-scope-BFloAClV.js";
11
+ import { n as resetSentryRunState, r as withRunSpan, t as recordSentryProjectContext } from "./with-run-span-GsCWW2_X.js";
12
+ import { h as detectAvailableAgents, t as reportWorkflowResult } from "./report-workflow-result-CBL6CrLY.js";
13
13
  import { createRequire } from "node:module";
14
14
  import { spawn } from "node:child_process";
15
15
  import * as path$1 from "node:path";
@@ -3004,5 +3004,5 @@ const shouldFailScanGate = (input) => {
3004
3004
  //#endregion
3005
3005
  export { inspect as A, filterDiagnosticsByCategories as B, CLI_AGENT_BINARIES as C, collectProjectSourceFileCounts as D, buildHandoffPayload as E, formatElapsedTime as F, buildSortedRuleGroups as G, buildEmptyReportMessage as H, printFooter as I, formatFixRecipeLine as K, printDiagnosticsDump as L, printHeadlessReport as M, pluralize as N, deduplicateProjectScans as O, formatSkippedCheckLabel as P, formatDiagnosticSite as R, detectLaunchableAgents as S, launchCliAgent as T, hasLintHardFailure as U, buildNoScoreMessage as V, buildRulePriorityMap as W, resolveWorkspaceDeadCodeOwner as _, validateModeFlags as a, countUniqueScannedFiles as b, discoverWorkspacePackages as c, resolveProjectScan as d, resolveProjectChangedLineRanges as f, retryMissingProjectScores as g, resolveProjectRelativeDirectory as h, validateIncludeUntrackedScope as i, resolveMergeBaseRef as j, createInvocationInspect as k, selectProjects as l, resolveProjectSourceFilePaths as m, formatSkippedProjectsMessage as n, projectManifestChanged as o, resolveProjectDiffIncludePaths as p, formatLearnMoreLine as q, validateFilePathSelectionFlags as r, partitionProjectScanOutcomes as s, shouldFailScanGate as t, buildCodeFrame as u, resolveCliInspectOptions as v, copyToClipboard as w, setUpGitHubActions as x, filterScansForSurface as y, hasIncompleteScoreAnalysis as z };
3006
3006
 
3007
- //# sourceMappingURL=should-fail-scan-gate-D1mS86Ff.js.map
3008
- //# debugId=c6a4440d-8008-5253-b2d5-e7f83df2b0a4
3007
+ //# sourceMappingURL=should-fail-scan-gate-CCPDoHaM.js.map
3008
+ //# debugId=a4d4a5ab-7608-5645-bd28-b9bb73993dfd
@@ -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]="1dab619d-e3fa-5699-98d6-cb4e286bf3cd")}catch(e){}}();
3
- import { B as isNonInteractiveEnvironment } from "./record-metric-BcJN2xOB.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]="d6d6ff68-e103-56f5-93aa-7833ba71af07")}catch(e){}}();
3
+ import { B as isNonInteractiveEnvironment } from "./record-metric-Bkorhx43.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-DkasjzpQ.js.map
10
- //# debugId=1dab619d-e3fa-5699-98d6-cb4e286bf3cd
9
+ //# sourceMappingURL=should-skip-prompts-D-ClPHHR.js.map
10
+ //# debugId=d6d6ff68-e103-56f5-93aa-7833ba71af07
@@ -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]="8936dc95-5839-50c6-a430-8fa603cb03aa")}catch(e){}}();
3
- import { B as isNonInteractiveEnvironment } from "./record-metric-BcJN2xOB.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]="adbefe1b-9ac3-590a-b955-3c818737e591")}catch(e){}}();
3
+ import { B as isNonInteractiveEnvironment } from "./record-metric-Bkorhx43.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-B5bj9qhm.js.map
25
- //# debugId=8936dc95-5839-50c6-a430-8fa603cb03aa
24
+ //# sourceMappingURL=should-use-tui-BaCVIPPN.js.map
25
+ //# debugId=adbefe1b-9ac3-590a-b955-3c818737e591
@@ -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]="76e638b1-3191-5496-a13d-ebfaabc08473")}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-BcJN2xOB.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]="feb387d6-aca6-5687-9741-763feafd4d91")}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-Bkorhx43.js";
4
4
  //#region src/cli/utils/is-environment-error.ts
5
5
  const ENVIRONMENT_ERROR_CODES = new Set([
6
6
  "EACCES",
@@ -247,5 +247,5 @@ const shutdownTelemetry = async () => {
247
247
  //#endregion
248
248
  export { isNpmCacheCorruptionError as a, formatNpmCacheCorruptionError as i, shutdownTelemetry as n, formatEnvironmentError as o, isExpectedUserError as r, isEnvironmentError as s, getTelemetryContext as t };
249
249
 
250
- //# sourceMappingURL=telemetry-runtime-DFNjke5Y.js.map
251
- //# debugId=76e638b1-3191-5496-a13d-ebfaabc08473
250
+ //# sourceMappingURL=telemetry-runtime-BGWa_GB9.js.map
251
+ //# debugId=feb387d6-aca6-5687-9741-763feafd4d91
@@ -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]="d8ba0744-a4d8-5183-a3c7-5cd78f473a87")}catch(e){}}();
3
- import { T as METRIC, _ as VERSION, t as recordCount } from "./record-metric-BcJN2xOB.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]="b8250b70-cd11-54b4-a26d-bc4cc66bdd9c")}catch(e){}}();
3
+ import { T as METRIC, _ as VERSION, t as recordCount } from "./record-metric-Bkorhx43.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-DKEaWdQZ.js.map
21
- //# debugId=d8ba0744-a4d8-5183-a3c7-5cd78f473a87
20
+ //# sourceMappingURL=version-DN1N-oZy.js.map
21
+ //# debugId=b8250b70-cd11-54b4-a26d-bc4cc66bdd9c
@@ -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]="a25813ac-e334-57d8-b3de-c25677f739d2")}catch(e){}}();
3
- import { t as inspectAction } from "./inspect-CQjmfc6o.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]="a33ddae5-047d-587f-bb12-fa439ff60d6c")}catch(e){}}();
3
+ import { t as inspectAction } from "./inspect-BrctG7ql.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-BP622crq.js.map
21
- //# debugId=a25813ac-e334-57d8-b3de-c25677f739d2
20
+ //# sourceMappingURL=why-CyioXUF2.js.map
21
+ //# debugId=a33ddae5-047d-587f-bb12-fa439ff60d6c
@@ -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]="5e607e41-4b64-5045-a8c6-7875c47aaada")}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-BcJN2xOB.js";
4
- import { t as getTelemetryContext } from "./telemetry-runtime-DFNjke5Y.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]="d8f50130-066a-5ce7-a772-38b9d519ebeb")}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-Bkorhx43.js";
4
+ import { t as getTelemetryContext } from "./telemetry-runtime-BGWa_GB9.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-B9bjgvks.js.map
110
- //# debugId=5e607e41-4b64-5045-a8c6-7875c47aaada
109
+ //# sourceMappingURL=with-run-span-GsCWW2_X.js.map
110
+ //# debugId=d8f50130-066a-5ce7-a772-38b9d519ebeb
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-doctor",
3
- "version": "0.9.13-dev.fa72869",
3
+ "version": "0.9.13-dev.ff7dd67",
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.13-dev.fa72869"
71
+ "oxlint-plugin-react-doctor": "0.9.13-dev.ff7dd67"
72
72
  },
73
73
  "devDependencies": {
74
74
  "@types/babel__code-frame": "^7.27.0",