react-doctor 0.9.16-dev.675ad3c → 0.9.16-dev.ef1be22

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 (36) hide show
  1. package/README.md +3 -3
  2. package/dist/{build-section-divider-GGc5L4y8.js → build-section-divider-B0MdVO19.js} +4 -4
  3. package/dist/{ci-goW_v2Ve.js → ci-SiOo5RzD.js} +12 -12
  4. package/dist/cli.js +23 -23
  5. package/dist/{design-B3pxgFA5.js → design-Dty0_JnG.js} +4 -4
  6. package/dist/{exit-gracefully-bRfDFHze.js → exit-gracefully-BqUKaxLV.js} +6 -6
  7. package/dist/{handle-error-Ck9Seh9W.js → handle-error-jBnelA-d.js} +5 -5
  8. package/dist/index.d.ts +4 -1
  9. package/dist/index.js +4 -2
  10. package/dist/{inspect-YXgF21wV.js → inspect-ZsJdCoBa.js} +28 -28
  11. package/dist/{install-0L3mbX-S.js → install-CvyHP8Sz.js} +9 -9
  12. package/dist/{install-doctor-script-CEUwgvU0.js → install-doctor-script-YdsysHJ8.js} +4 -4
  13. package/dist/{install-github-workflow-CycJz6SE.js → install-github-workflow-zVARf-aa.js} +4 -4
  14. package/dist/{install-react-doctor-DbcNvWTJ.js → install-react-doctor-Btq_1UZH.js} +8 -8
  15. package/dist/{jsx-runtime-DU2HJf59.js → jsx-runtime-BC_XnKBD.js} +5 -5
  16. package/dist/{print-branded-header-DRPpY-_W.js → print-branded-header-C9VkuYyR.js} +4 -4
  17. package/dist/{prompt-runtime-scan-url-C7lbI0Ot.js → prompt-runtime-scan-url-DBB5q70w.js} +5 -5
  18. package/dist/{read-object-file-UVbDgg-K.js → read-object-file-BMfspuEc.js} +4 -4
  19. package/dist/{record-metric-koJj2V6F.js → record-metric-COaAD5VE.js} +153 -79
  20. package/dist/{report-error-tFFDhXC-.js → report-error-CSpZGdCu.js} +5 -5
  21. package/dist/{report-workflow-result-Ci3V-6OF.js → report-workflow-result-D0Tev_E8.js} +5 -5
  22. package/dist/{resolve-scope-CAqqCs6E.js → resolve-scope-BDtWzgKS.js} +6 -6
  23. package/dist/{rules-BiT3n2J8.js → rules-3T0sQG3z.js} +6 -6
  24. package/dist/{run-scan-app-Ca8_Fmtd.js → run-scan-app-Ch62x8JM.js} +10 -10
  25. package/dist/{runtime-scan-EGp8irIP.js → runtime-scan-fl7GqT-4.js} +9 -9
  26. package/dist/{sanitize-runtime-url-CiT2FV1M.js → sanitize-runtime-url-CxW5-DlL.js} +4 -4
  27. package/dist/{scan-8mlB3o30.js → scan-ChjHrC7N.js} +9 -9
  28. package/dist/{should-fail-scan-gate-CKT7Y6lq.js → should-fail-scan-gate-0HPfGaTS.js} +102 -16
  29. package/dist/{should-skip-prompts-OHfi1uxr.js → should-skip-prompts-Db09UIvm.js} +4 -4
  30. package/dist/{should-use-tui-Dt7R7qSa.js → should-use-tui-CO0fiHNd.js} +4 -4
  31. package/dist/skills/react-doctor/SKILL.md +1 -1
  32. package/dist/{telemetry-runtime-DhCwCPKP.js → telemetry-runtime-CEcDvXxW.js} +6 -6
  33. package/dist/{version-C4YtgcDq.js → version-CP66Metq.js} +4 -4
  34. package/dist/{why-CBJBIHgr.js → why-CyIuJZHz.js} +4 -4
  35. package/dist/{with-run-span-DUsmYNga.js → with-run-span-aYNrYjQY.js} +5 -5
  36. package/package.json +4 -4
package/README.md CHANGED
@@ -95,7 +95,7 @@ URLs, source paths, and React profiling details. Treat it as sensitive applicati
95
95
 
96
96
  `--scope changed --base <ref>` reports only new findings in files touched by the diff. It scans those files at the base and in the current tree. Uncommitted changes use `HEAD` when the base is the current branch.
97
97
 
98
- A match uses the rule ID, file path (following Git renames), diagnostic message, and a fingerprint of the flagged source span with whitespace normalized. Line and column numbers do not affect the match. Each base finding matches at most one current finding: two matching findings at base and three now produce one new finding. Changes elsewhere in a function do not change a finding's fingerprint. Changed flagged code or a changed message can produce a new finding.
98
+ Findings are grouped by file path (following Git renames) and rule ID. Only the increase in each group's finding count is new: two findings at base and three now produce one new finding; two at base and two now produce none. Formatting, variable renames, edits inside flagged code, and line shifts do not create new findings when the count stays the same. Groups with no count increase need no location matching. When the count increases, exact fingerprint and message matches are paired first. Message similarity and line distance adjusted for Git diff shifts then select the most likely added findings. This is a count gate: fixing one issue and adding another under the same rule in the same file produces no increase. Current rule, severity, tag, and ignore settings apply before matching.
99
99
 
100
100
  New files have no base findings. Add `--include-untracked` to scan untracked files too. Deleted files and removed findings are not reported. `--blocking`, the exit code, and summary counts use only the unmatched current findings. The score still describes the current scan.
101
101
 
@@ -109,9 +109,9 @@ react-doctor --baseline base-report.json --blocking warning
109
109
  react-doctor --scope changed --baseline base-report.json --blocking warning
110
110
  ```
111
111
 
112
- `--baseline` uses the same matching rules and skips the base scan. Use the same React Doctor version, rules, and scan options for both scans. The saved report must be a complete scan with fingerprints, not a previous comparison result. Regenerate older reports that lack fingerprints. Without Git, a saved report still works; rename matching requires Git history for the report's `sourceRevision`. With `--scope changed`, Git limits the scan to changed files when available; otherwise the full current tree is compared.
112
+ `--baseline` uses the same matching rules and skips the base scan. Use the same React Doctor version, rules, and scan options for both scans. The saved report must be a complete scan with fingerprints, not a previous comparison result. Saved reports record each project's source-dependent filter settings (`textComponents`, `rawTextWrapperComponents`, and `respectInlineDisables`). A mismatch requires a new base report with the current settings, or a Git comparison. Reports cannot recover findings that the original scan suppressed. Regenerate older reports that lack fingerprints or filter settings. Without Git, a saved report still works; rename matching requires Git history for the report's `sourceRevision`. With `--scope changed`, Git limits the scan to changed files when available; otherwise the full current tree is compared.
113
113
 
114
- JSON reports keep schema version 3 and add optional diagnostic `fingerprint` and report `sourceRevision` fields. The `baseline` block records `source` (`"base"` or `"baseline"`), `baseRef`, `baselineFile` for saved reports, and `matchedCount`. `newCount` equals the summary finding count.
114
+ JSON reports keep schema version 3 and add optional diagnostic `fingerprint`, report `sourceRevision`, and per-project `sourceFilterConfigHash` fields. The `baseline` block records `source` (`"base"` or `"baseline"`), `baseRef`, `baselineFile` for saved reports, and `matchedCount`. `newCount` equals the summary finding count.
115
115
 
116
116
  ## Telemetry
117
117
 
@@ -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]="da2a8b0d-0e3d-5a61-8840-530d1f79fbd7")}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]="97fcd3df-3c99-5848-a2da-c31d7f077048")}catch(e){}}();
3
3
  import { bt as DOCS_URL, lt as CANONICAL_GITHUB_URL } from "./constants-rmkaA7iw.js";
4
- import { kt as highlighter } from "./record-metric-koJj2V6F.js";
4
+ import { At as highlighter } from "./record-metric-COaAD5VE.js";
5
5
  //#region src/cli/utils/resolve-measure-width.ts
6
6
  const resolveClampedWidth = (input) => {
7
7
  const terminalColumns = process.stdout.columns;
@@ -77,5 +77,5 @@ const buildSectionDivider = () => highlighter.dim(`${DIVIDER_INDENT}${"─".repe
77
77
  //#endregion
78
78
  export { buildFooterLinkLines as n, buildSectionDivider as t };
79
79
 
80
- //# sourceMappingURL=build-section-divider-GGc5L4y8.js.map
81
- //# debugId=da2a8b0d-0e3d-5a61-8840-530d1f79fbd7
80
+ //# sourceMappingURL=build-section-divider-B0MdVO19.js.map
81
+ //# debugId=97fcd3df-3c99-5848-a2da-c31d7f077048
@@ -1,16 +1,16 @@
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]="faf813c6-5661-5fb3-b372-de8284b899aa")}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]="cda162b9-148a-5b8e-8b77-1a2f82aac5e3")}catch(e){}}();
3
3
  import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-ChKA3wi6.js";
4
4
  import { kt as GITHUB_ACTIONS_SETUP_URL, u as METRIC, ut as CI_URL } from "./constants-rmkaA7iw.js";
5
- import { kt as highlighter, t as recordCount, xn as runSync } from "./record-metric-koJj2V6F.js";
6
- import { o as isExpectedUserError } from "./telemetry-runtime-DhCwCPKP.js";
7
- import { n as handleUserError, t as handleError } from "./handle-error-Ck9Seh9W.js";
8
- import { t as reportErrorToSentry } from "./report-error-tFFDhXC-.js";
9
- import { N as cliLogger, c as spinner, n as findNearestPackageDirectory } from "./install-doctor-script-CEUwgvU0.js";
10
- 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-CycJz6SE.js";
11
- import { a as isValidBlockingLevel, c as openWorkflowPullRequest, l as stageWorkflowFile, n as isScopeValue } from "./resolve-scope-CAqqCs6E.js";
12
- import { t as shouldSkipPrompts } from "./should-skip-prompts-OHfi1uxr.js";
13
- import { t as printBrandedHeader } from "./print-branded-header-DRPpY-_W.js";
5
+ import { At as highlighter, Cn as runSync, t as recordCount } from "./record-metric-COaAD5VE.js";
6
+ import { o as isExpectedUserError } from "./telemetry-runtime-CEcDvXxW.js";
7
+ import { n as handleUserError, t as handleError } from "./handle-error-jBnelA-d.js";
8
+ import { t as reportErrorToSentry } from "./report-error-CSpZGdCu.js";
9
+ import { N as cliLogger, c as spinner, n as findNearestPackageDirectory } from "./install-doctor-script-YdsysHJ8.js";
10
+ 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-zVARf-aa.js";
11
+ import { a as isValidBlockingLevel, c as openWorkflowPullRequest, l as stageWorkflowFile, n as isScopeValue } from "./resolve-scope-BDtWzgKS.js";
12
+ import { t as shouldSkipPrompts } from "./should-skip-prompts-Db09UIvm.js";
13
+ import { t as printBrandedHeader } from "./print-branded-header-C9VkuYyR.js";
14
14
  import * as fs$1 from "node:fs";
15
15
  import * as path$1 from "node:path";
16
16
  //#region src/cli/utils/ci/ci-provider.ts
@@ -7499,5 +7499,5 @@ const ciConfigAction = (options) => runCiCommand("config", runCiConfig, options)
7499
7499
  //#endregion
7500
7500
  export { ciConfigAction, ciInstallAction, ciUpgradeAction };
7501
7501
 
7502
- //# sourceMappingURL=ci-goW_v2Ve.js.map
7503
- //# debugId=faf813c6-5661-5fb3-b372-de8284b899aa
7502
+ //# sourceMappingURL=ci-SiOo5RzD.js.map
7503
+ //# debugId=cda162b9-148a-5b8e-8b77-1a2f82aac5e3
package/dist/cli.js CHANGED
@@ -3,12 +3,12 @@
3
3
  import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-ChKA3wi6.js";
4
4
  import { lt as CANONICAL_GITHUB_URL, ut as CI_URL } from "./constants-rmkaA7iw.js";
5
5
  import "./start-scan-preamble-CCqs1vP4.js";
6
- import { At as isPathInsideDirectory, Bn as isFile, Rn as isDirectory, S as isDebugFlagEnabled, Xt as setColorEnabled, _ as VERSION, d as isJsonModeActive, h as writeJsonErrorReport, ht as filterSourceFiles, i as isTelemetryEnabled, kt as highlighter, y as CliInputError } from "./record-metric-koJj2V6F.js";
7
- import { a as initializeSentry, n as shutdownTelemetry, o as isExpectedUserError, r as flushSentry } from "./telemetry-runtime-DhCwCPKP.js";
8
- import { t as exitGracefully } from "./exit-gracefully-bRfDFHze.js";
9
- import { n as handleUserError, t as handleError } from "./handle-error-Ck9Seh9W.js";
6
+ import { At as highlighter, Bn as isDirectory, Hn as isFile, Qt as setColorEnabled, S as isDebugFlagEnabled, _ as VERSION, d as isJsonModeActive, h as writeJsonErrorReport, ht as filterSourceFiles, i as isTelemetryEnabled, jt as isPathInsideDirectory, y as CliInputError } from "./record-metric-COaAD5VE.js";
7
+ import { a as initializeSentry, n as shutdownTelemetry, o as isExpectedUserError, r as flushSentry } from "./telemetry-runtime-CEcDvXxW.js";
8
+ import { t as exitGracefully } from "./exit-gracefully-BqUKaxLV.js";
9
+ import { n as handleUserError, t as handleError } from "./handle-error-jBnelA-d.js";
10
10
  import { n as getLastRunTraceId } from "./active-run-trace-Dewycxda.js";
11
- import { t as reportErrorToSentry } from "./report-error-tFFDhXC-.js";
11
+ import { t as reportErrorToSentry } from "./report-error-CSpZGdCu.js";
12
12
  import { t as toForwardSlashes } from "./path-format-By20mo8A.js";
13
13
  import { t as unrefStdin } from "./unref-stdin-D-NZBFpg.js";
14
14
  import * as path$1 from "node:path";
@@ -3560,7 +3560,7 @@ ${highlighter.dim("Learn more:")}
3560
3560
  const collectCategoryOption = (value, previousValues) => [...previousValues ?? [], value];
3561
3561
  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("--baseline <report.json>", "report only new issues compared with a saved JSON report").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);
3562
3562
  program.action(async (positionalPaths = [], flags) => {
3563
- const { runScanCommand } = await import("./scan-8mlB3o30.js");
3563
+ const { runScanCommand } = await import("./scan-ChjHrC7N.js");
3564
3564
  return runScanCommand({
3565
3565
  ...resolvePositionalScanInput(positionalPaths),
3566
3566
  flags,
@@ -3568,75 +3568,75 @@ program.action(async (positionalPaths = [], flags) => {
3568
3568
  });
3569
3569
  });
3570
3570
  program.command("design [directory]").description("Run only the focused UI design diagnostics").addHelpText("after", renderDesignHelpEpilog).action(async (directory, _options, command) => {
3571
- const { designAction } = await import("./design-B3pxgFA5.js");
3571
+ const { designAction } = await import("./design-Dty0_JnG.js");
3572
3572
  return designAction(directory ?? ".", command.optsWithGlobals());
3573
3573
  });
3574
3574
  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) => {
3575
- const { runtimeScanAction } = await import("./runtime-scan-EGp8irIP.js");
3575
+ const { runtimeScanAction } = await import("./runtime-scan-fl7GqT-4.js");
3576
3576
  return runtimeScanAction(url, options);
3577
3577
  });
3578
3578
  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) => {
3579
- const { whyAction } = await import("./why-CBJBIHgr.js");
3579
+ const { whyAction } = await import("./why-CyIuJZHz.js");
3580
3580
  return whyAction(location, options);
3581
3581
  });
3582
3582
  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) => {
3583
- const { installAction } = await import("./install-0L3mbX-S.js");
3583
+ const { installAction } = await import("./install-CvyHP8Sz.js");
3584
3584
  return installAction(options, command);
3585
3585
  });
3586
3586
  const providerOption = ["--provider <name>", "ci provider: github-actions or gitlab-ci (auto-detected by default)"];
3587
3587
  const prOption = ["--pr", "open a pull request with the change instead of writing it to the working tree"];
3588
3588
  const ci = program.command("ci").description("Set up, upgrade, and configure React Doctor in your CI");
3589
3589
  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) => {
3590
- const { ciInstallAction } = await import("./ci-goW_v2Ve.js");
3590
+ const { ciInstallAction } = await import("./ci-SiOo5RzD.js");
3591
3591
  return ciInstallAction(command.optsWithGlobals());
3592
3592
  });
3593
3593
  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) => {
3594
- const { ciConfigAction } = await import("./ci-goW_v2Ve.js");
3594
+ const { ciConfigAction } = await import("./ci-SiOo5RzD.js");
3595
3595
  return ciConfigAction(command.optsWithGlobals());
3596
3596
  });
3597
3597
  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) => {
3598
- const { ciUpgradeAction } = await import("./ci-goW_v2Ve.js");
3598
+ const { ciUpgradeAction } = await import("./ci-SiOo5RzD.js");
3599
3599
  return ciUpgradeAction(command.optsWithGlobals());
3600
3600
  });
3601
3601
  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 () => {
3602
- const { versionAction } = await import("./version-C4YtgcDq.js");
3602
+ const { versionAction } = await import("./version-CP66Metq.js");
3603
3603
  return versionAction();
3604
3604
  });
3605
3605
  const rules = program.command("rules").description("List, explain, and configure which React Doctor rules run");
3606
3606
  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) => {
3607
- const { rulesListAction } = await import("./rules-BiT3n2J8.js");
3607
+ const { rulesListAction } = await import("./rules-3T0sQG3z.js");
3608
3608
  return rulesListAction(command.optsWithGlobals());
3609
3609
  });
3610
3610
  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) => {
3611
- const { rulesExplainAction } = await import("./rules-BiT3n2J8.js");
3611
+ const { rulesExplainAction } = await import("./rules-3T0sQG3z.js");
3612
3612
  return rulesExplainAction(rule, command.optsWithGlobals());
3613
3613
  });
3614
3614
  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) => {
3615
- const { rulesSetAction } = await import("./rules-BiT3n2J8.js");
3615
+ const { rulesSetAction } = await import("./rules-3T0sQG3z.js");
3616
3616
  return rulesSetAction(rule, severity, command.optsWithGlobals());
3617
3617
  });
3618
3618
  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) => {
3619
- const { rulesEnableAction } = await import("./rules-BiT3n2J8.js");
3619
+ const { rulesEnableAction } = await import("./rules-3T0sQG3z.js");
3620
3620
  return rulesEnableAction(rule, command.optsWithGlobals());
3621
3621
  });
3622
3622
  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) => {
3623
- const { rulesDisableAction } = await import("./rules-BiT3n2J8.js");
3623
+ const { rulesDisableAction } = await import("./rules-3T0sQG3z.js");
3624
3624
  return rulesDisableAction(rule, command.optsWithGlobals());
3625
3625
  });
3626
3626
  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) => {
3627
- const { rulesCategoryAction } = await import("./rules-BiT3n2J8.js");
3627
+ const { rulesCategoryAction } = await import("./rules-3T0sQG3z.js");
3628
3628
  return rulesCategoryAction(category, severity, command.optsWithGlobals());
3629
3629
  });
3630
3630
  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) => {
3631
- const { rulesIgnoreTagAction } = await import("./rules-BiT3n2J8.js");
3631
+ const { rulesIgnoreTagAction } = await import("./rules-3T0sQG3z.js");
3632
3632
  return rulesIgnoreTagAction(tag, command.optsWithGlobals());
3633
3633
  });
3634
3634
  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) => {
3635
- const { rulesUnignoreTagAction } = await import("./rules-BiT3n2J8.js");
3635
+ const { rulesUnignoreTagAction } = await import("./rules-3T0sQG3z.js");
3636
3636
  return rulesUnignoreTagAction(tag, command.optsWithGlobals());
3637
3637
  });
3638
3638
  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) => {
3639
- const { runScanCommand } = await import("./scan-8mlB3o30.js");
3639
+ const { runScanCommand } = await import("./scan-ChjHrC7N.js");
3640
3640
  return runScanCommand({
3641
3641
  directory,
3642
3642
  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]="73fb7eb9-c0c1-56b8-9d27-5667922fb4da")}catch(e){}}();
3
- import { t as inspectAction } from "./inspect-YXgF21wV.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]="7a08c46d-c34e-54ec-84ac-c8d489540c2c")}catch(e){}}();
3
+ import { t as inspectAction } from "./inspect-ZsJdCoBa.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-B3pxgFA5.js.map
14
- //# debugId=73fb7eb9-c0c1-56b8-9d27-5667922fb4da
13
+ //# sourceMappingURL=design-Dty0_JnG.js.map
14
+ //# debugId=7a08c46d-c34e-54ec-84ac-c8d489540c2c
@@ -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]="8a8b27fa-badb-5af7-ac9b-7fb2a6c3c2fb")}catch(e){}}();
3
- import { d as isJsonModeActive, m as writeJsonCancellationReport } from "./record-metric-koJj2V6F.js";
4
- import { n as shutdownTelemetry, r as flushSentry } from "./telemetry-runtime-DhCwCPKP.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]="d46dad61-9d9d-56d8-b47c-0883a1ff6101")}catch(e){}}();
3
+ import { d as isJsonModeActive, m as writeJsonCancellationReport } from "./record-metric-COaAD5VE.js";
4
+ import { n as shutdownTelemetry, r as flushSentry } from "./telemetry-runtime-CEcDvXxW.js";
5
5
  import { t as activeScanAbortRegistry } from "./active-scan-abort-registry-CCTgal0O.js";
6
- import { n as buildFooterLinkLines, t as buildSectionDivider } from "./build-section-divider-GGc5L4y8.js";
6
+ import { n as buildFooterLinkLines, t as buildSectionDivider } from "./build-section-divider-B0MdVO19.js";
7
7
  //#region src/cli/utils/active-tui-renderer.ts
8
8
  let activeTuiRenderer = null;
9
9
  const registerActiveTuiRenderer = (renderer) => {
@@ -50,5 +50,5 @@ const exitGracefully = () => {
50
50
  //#endregion
51
51
  export { registerActiveTuiRenderer as n, exitGracefully as t };
52
52
 
53
- //# sourceMappingURL=exit-gracefully-bRfDFHze.js.map
54
- //# debugId=8a8b27fa-badb-5af7-ac9b-7fb2a6c3c2fb
53
+ //# sourceMappingURL=exit-gracefully-BqUKaxLV.js.map
54
+ //# debugId=d46dad61-9d9d-56d8-b47c-0883a1ff6101
@@ -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]="070a28cb-6293-56c2-b75a-a89e381d6a1e")}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]="1cd1f790-22ef-57e3-98e9-86a1d9a1ac5d")}catch(e){}}();
3
3
  import { ct as CANONICAL_DISCORD_URL, lt as CANONICAL_GITHUB_URL, u as METRIC } from "./constants-rmkaA7iw.js";
4
- import { Mt as isReactDoctorError, _ as VERSION, fn as gen, in as error, kt as highlighter, t as recordCount, vt as formatErrorChain, xn as runSync, yt as formatReactDoctorError, zn as isErrnoException } from "./record-metric-koJj2V6F.js";
5
- import { c as isNpmCacheCorruptionError, l as formatEnvironmentError, s as formatNpmCacheCorruptionError, u as isEnvironmentError } from "./telemetry-runtime-DhCwCPKP.js";
4
+ import { At as highlighter, Cn as runSync, Nt as isReactDoctorError, Vn as isErrnoException, _ as VERSION, mn as gen, on as error, t as recordCount, vt as formatErrorChain, yt as formatReactDoctorError } from "./record-metric-COaAD5VE.js";
5
+ import { c as isNpmCacheCorruptionError, l as formatEnvironmentError, s as formatNpmCacheCorruptionError, u as isEnvironmentError } from "./telemetry-runtime-CEcDvXxW.js";
6
6
  //#region src/cli/utils/handle-error.ts
7
7
  const OTLP_ENDPOINT_ENVIRONMENT_VARIABLE = "REACT_DOCTOR_OTLP_ENDPOINT";
8
8
  const OTLP_AUTH_HEADER_ENVIRONMENT_VARIABLE = "REACT_DOCTOR_OTLP_AUTH_HEADER";
@@ -111,5 +111,5 @@ const handleUserError = (error$1, options = {}) => {
111
111
  //#endregion
112
112
  export { handleUserError as n, handleError as t };
113
113
 
114
- //# sourceMappingURL=handle-error-Ck9Seh9W.js.map
115
- //# debugId=070a28cb-6293-56c2-b75a-a89e381d6a1e
114
+ //# sourceMappingURL=handle-error-jBnelA-d.js.map
115
+ //# debugId=1cd1f790-22ef-57e3-98e9-86a1d9a1ac5d
package/dist/index.d.ts CHANGED
@@ -341,7 +341,7 @@ interface Pipeable {
341
341
  */
342
342
  declare const Class$1: new () => Pipeable;
343
343
  //#endregion
344
- //#region ../core/dist/resolve-scan-concurrency-CVKviZpM.d.ts
344
+ //#region ../core/dist/resolve-scan-concurrency-DJ7pmvUB.d.ts
345
345
  /**
346
346
  * A secondary source location attached to a diagnostic (oxlint's
347
347
  * non-primary labels). Editors render these as
@@ -1202,6 +1202,7 @@ interface DiagnoseProjectsResult {
1202
1202
  //#endregion
1203
1203
  //#region src/types/inspect.d.ts
1204
1204
  interface InspectResult {
1205
+ sourceFilterConfigHash?: string;
1205
1206
  diagnostics: Diagnostic[];
1206
1207
  score: ScoreResult | null;
1207
1208
  skippedChecks: string[];
@@ -1279,6 +1280,7 @@ interface InspectResult {
1279
1280
  fixedCount: number; /** Total findings at base (over the same files), for context. */
1280
1281
  baseTotalCount: number; /** Pre-existing findings matched after moving to a different file. */
1281
1282
  crossFileMatchCount?: number;
1283
+ ruleCountMatchCount?: number;
1282
1284
  };
1283
1285
  }
1284
1286
  /**
@@ -1376,6 +1378,7 @@ interface JsonReportDiagnosticV3 extends Diagnostic {
1376
1378
  tags: string[];
1377
1379
  }
1378
1380
  interface JsonReportProjectEntryV3 {
1381
+ sourceFilterConfigHash?: string;
1379
1382
  directory: string;
1380
1383
  packageRoot: string;
1381
1384
  framework: ProjectInfo["framework"];
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]="6735a811-0ec5-5fae-8667-944f26e109f7")}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]="63dd8290-5e12-5b89-860f-d77e750805dd")}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 fs$1$2 from "node:fs";
@@ -25323,6 +25323,7 @@ var JsonReportProjectEntry = class extends Class("JsonReportProjectEntry")({
25323
25323
  var JsonReportProjectEntryV3 = class extends Class("JsonReportProjectEntryV3")({
25324
25324
  directory: String$1,
25325
25325
  packageRoot: String$1,
25326
+ sourceFilterConfigHash: optional(String$1),
25326
25327
  framework: Framework,
25327
25328
  project: Unknown,
25328
25329
  diagnostics: ArraySchema(JsonReportDiagnosticV3),
@@ -78843,6 +78844,7 @@ const buildJsonReport = (input) => {
78843
78844
  return {
78844
78845
  directory,
78845
78846
  packageRoot: result.project.rootDirectory,
78847
+ ...result.sourceFilterConfigHash ? { sourceFilterConfigHash: result.sourceFilterConfigHash } : {},
78846
78848
  framework: result.project.framework,
78847
78849
  project: result.project,
78848
78850
  diagnostics: result.diagnostics.map((diagnostic) => toJsonReportDiagnostic(diagnostic, result.project.rootDirectory, input.directory)),
@@ -79312,4 +79314,4 @@ const toJsonReport = (result, options) => buildJsonReport({
79312
79314
  export { AmbiguousProjectError, NoReactDependencyError, NotADirectoryError, PackageJsonNotFoundError, ProjectNotFoundError, ReactDoctorError, buildJsonReport, buildJsonReportError, clearCaches, defineConfig, diagnose, filterSourceFiles, getDiffInfo, hasReactRuntime, isProjectDiscoveryError, isReactDoctorError, summarizeDiagnostics, toJsonReport };
79313
79315
 
79314
79316
  //# sourceMappingURL=index.js.map
79315
- //# debugId=6735a811-0ec5-5fae-8667-944f26e109f7
79317
+ //# debugId=63dd8290-5e12-5b89-860f-d77e750805dd
@@ -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]="9e689b8c-395d-5704-a91a-1fd0dc097bdd")}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]="d6e41bb3-403c-5e5e-b592-d990f50c8baa")}catch(e){}}();
3
3
  import { N as discardPrefetchedGitCommands, T as STAGED_SNAPSHOT_ADDITIONAL_CONFIG_FILENAMES, lt as CANONICAL_GITHUB_URL, u as METRIC, w as STAGED_FILES_TEMP_DIR_PREFIX, xn as STAGED_FILES_PROJECT_CONFIG_FILENAMES } from "./constants-rmkaA7iw.js";
4
- import { $t as toRelativePath, Bt as mapWithConcurrency, Ct as getDiffInfo, D as isCodingAgentEnvironment, Dn as provide, Dt as hasSupportedFrameworkOrLibrary, E as isCiOrCodingAgentEnvironment, In as messageFromUnknown, K as StagedFiles, Kt as resolveScanTarget, Rt as listWorkspacePackages, S as isDebugFlagEnabled, Ut as remainingDeadlineBudgetMs, Vn as isPlainObject, Z as buildJsonReport, _ as VERSION, _n as provide$1, bn as runPromise, bt as getBaselineDiffPlan, dt as detectAiTrainingEnvironment, f as setJsonReportDirectory, fn as gen, ft as discoverSupportedSubprojects, g as writeJsonReport, gt as findLegacyConfig, h as writeJsonErrorReport, j as Git, kt as highlighter, ln as JsonReport, n as recordDistribution, p as setJsonReportMode, t as recordCount, u as enableJsonMode, un as decodeUnknownSync, xt as getChangedLineRanges, y as CliInputError, zn as isErrnoException } from "./record-metric-koJj2V6F.js";
5
- import { n as shutdownTelemetry, o as isExpectedUserError, r as flushSentry } from "./telemetry-runtime-DhCwCPKP.js";
6
- import { n as handleUserError, t as handleError } from "./handle-error-Ck9Seh9W.js";
7
- import { t as reportErrorToSentry } from "./report-error-tFFDhXC-.js";
4
+ import { At as highlighter, Ct as getDiffInfo, D as isCodingAgentEnvironment, E as isCiOrCodingAgentEnvironment, Gt as remainingDeadlineBudgetMs, Jt as resolveScanTarget, K as StagedFiles, Ot as hasSupportedFrameworkOrLibrary, Rn as messageFromUnknown, S as isDebugFlagEnabled, Sn as runPromise, Un as isPlainObject, Vn as isErrnoException, Vt as mapWithConcurrency, Z as buildJsonReport, _ as VERSION, bt as getBaselineDiffPlan, dn as JsonReport, dt as detectAiTrainingEnvironment, f as setJsonReportDirectory, fn as decodeUnknownSync, ft as discoverSupportedSubprojects, g as writeJsonReport, gt as findLegacyConfig, h as writeJsonErrorReport, j as Git, kn as provide, mn as gen, n as recordDistribution, p as setJsonReportMode, t as recordCount, tn as toRelativePath, u as enableJsonMode, xt as getChangedLineRanges, y as CliInputError, yn as provide$1, zt as listWorkspacePackages } from "./record-metric-COaAD5VE.js";
5
+ import { n as shutdownTelemetry, o as isExpectedUserError, r as flushSentry } from "./telemetry-runtime-CEcDvXxW.js";
6
+ import { n as handleUserError, t as handleError } from "./handle-error-jBnelA-d.js";
7
+ import { t as reportErrorToSentry } from "./report-error-CSpZGdCu.js";
8
8
  import { t as toForwardSlashes } from "./path-format-By20mo8A.js";
9
- import { N as cliLogger, c as spinner, i as hasDoctorScript, j as runGitRaw, k as runGit, n as findNearestPackageDirectory, o as isSpinnerSilent, s as setSpinnerSilent } from "./install-doctor-script-CEUwgvU0.js";
10
- import { a as readReactDoctorWorkflow, c as workflowUsesV1Action, i as isReactDoctorWorkflowInstalled, l as prompts, s as upgradeWorkflowActionToV2 } from "./install-github-workflow-CycJz6SE.js";
11
- import { c as openWorkflowPullRequest, i as warnDeprecatedDiff, l as stageWorkflowFile, r as resolveScope, s as resolveBlockingLevel, t as finalizeScope } from "./resolve-scope-CAqqCs6E.js";
12
- import { t as shouldSkipPrompts } from "./should-skip-prompts-OHfi1uxr.js";
13
- import { A as createInvocationInspect, C as detectLaunchableAgents, D as buildHandoffPayload, E as launchCliAgent, M as resolveMergeBaseRef, N as printHeadlessReport, O as collectProjectSourceFiles, R as printDiagnosticsDump, S as setUpGitHubActions, T as copyToClipboard, U as buildEmptyReportMessage, V as filterDiagnosticsByCategories, W as resolveInvocationOxlintConcurrency, _ as retryMissingProjectScores, a as validateModeFlags, b as filterScansForSurface, c as partitionProjectScanOutcomes, d as buildCodeFrame, f as resolveProjectScan, g as resolveProjectRelativeDirectory, h as resolveProjectSourceFilePaths, i as validateIncludeUntrackedScope, j as inspect, k as deduplicateProjectScans, l as discoverWorkspacePackages, m as resolveProjectDiffIncludePaths, n as formatSkippedProjectsMessage, o as resolveExcludedProjectDirectories, p as resolveProjectChangedLineRanges, s as projectManifestChanged, t as shouldFailScanGate, u as selectProjects, v as resolveWorkspaceDeadCodeOwner, w as CLI_AGENT_BINARIES, x as countUniqueScannedFiles, y as resolveCliInspectOptions } from "./should-fail-scan-gate-CKT7Y6lq.js";
14
- import { a as recordGate, g as loadAgentInstall, 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-Ci3V-6OF.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-DbcNvWTJ.js";
16
- import { t as readObjectFile } from "./read-object-file-UVbDgg-K.js";
9
+ import { N as cliLogger, c as spinner, i as hasDoctorScript, j as runGitRaw, k as runGit, n as findNearestPackageDirectory, o as isSpinnerSilent, s as setSpinnerSilent } from "./install-doctor-script-YdsysHJ8.js";
10
+ import { a as readReactDoctorWorkflow, c as workflowUsesV1Action, i as isReactDoctorWorkflowInstalled, l as prompts, s as upgradeWorkflowActionToV2 } from "./install-github-workflow-zVARf-aa.js";
11
+ import { c as openWorkflowPullRequest, i as warnDeprecatedDiff, l as stageWorkflowFile, r as resolveScope, s as resolveBlockingLevel, t as finalizeScope } from "./resolve-scope-BDtWzgKS.js";
12
+ import { t as shouldSkipPrompts } from "./should-skip-prompts-Db09UIvm.js";
13
+ import { A as createInvocationInspect, C as detectLaunchableAgents, D as buildHandoffPayload, E as launchCliAgent, M as resolveMergeBaseRef, N as printHeadlessReport, O as collectProjectSourceFiles, R as printDiagnosticsDump, S as setUpGitHubActions, T as copyToClipboard, U as buildEmptyReportMessage, V as filterDiagnosticsByCategories, W as resolveInvocationOxlintConcurrency, _ as retryMissingProjectScores, a as validateModeFlags, b as filterScansForSurface, c as partitionProjectScanOutcomes, d as buildCodeFrame, f as resolveProjectScan, g as resolveProjectRelativeDirectory, h as resolveProjectSourceFilePaths, i as validateIncludeUntrackedScope, j as inspect, k as deduplicateProjectScans, l as discoverWorkspacePackages, m as resolveProjectDiffIncludePaths, n as formatSkippedProjectsMessage, o as resolveExcludedProjectDirectories, p as resolveProjectChangedLineRanges, s as projectManifestChanged, t as shouldFailScanGate, u as selectProjects, v as resolveWorkspaceDeadCodeOwner, w as CLI_AGENT_BINARIES, x as countUniqueScannedFiles, y as resolveCliInspectOptions } from "./should-fail-scan-gate-0HPfGaTS.js";
14
+ import { a as recordGate, g as loadAgentInstall, 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-D0Tev_E8.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-Btq_1UZH.js";
16
+ import { t as readObjectFile } from "./read-object-file-BMfspuEc.js";
17
17
  import * as fs$1 from "node:fs";
18
18
  import fs from "node:fs";
19
19
  import * as path$1 from "node:path";
@@ -24,6 +24,7 @@ const readBaselineReport = (file) => {
24
24
  try {
25
25
  const report = decodeUnknownSync(JsonReport)(JSON.parse(fs.readFileSync(file, "utf-8")));
26
26
  if (!report.ok || report.mode === "baseline" || "baselineDegraded" in report && report.baselineDegraded || report.projects.length === 0 || report.projects.some((project) => project.skippedChecks.length > 0 || project.diagnostics.some((diagnostic) => diagnostic.fingerprint === void 0)) || report.schemaVersion === 3 && (report.skippedProjects?.length || report.projects.some((project) => !project.complete)) || report.diagnostics.some((diagnostic) => diagnostic.fingerprint === void 0)) throw new Error("Use a complete, non-comparison --json report from the current version, with diagnostic fingerprints.");
27
+ if (report.schemaVersion !== 3 || report.projects.some((project) => !project.sourceFilterConfigHash)) throw new Error("Regenerate the base --json report with the current version to record its source-dependent filter settings.");
27
28
  return report;
28
29
  } catch (error) {
29
30
  throw new CliInputError(`Cannot read baseline report "${file}": ${error instanceof Error ? error.message : String(error)}`);
@@ -1133,6 +1134,7 @@ const isProjectSupplyChainEnabled = ({ flags, projectConfig }) => flags.supplyCh
1133
1134
  const buildProjectInspectOptions = ({ context, projectScan, projectScanPlan, ownsWorkspaceDeadCode }) => {
1134
1135
  const scanDirectory = projectScan.directory;
1135
1136
  const savedBaseline = context.savedBaseline;
1137
+ const baselineProject = savedBaseline?.projects.find((project) => path$1.resolve(context.resolvedDirectory, path$1.relative(savedBaseline.directory, project.directory)) === scanDirectory);
1136
1138
  const baselinePaths = projectScanPlan.includePaths ? new Set([...projectScanPlan.includePaths, ...projectScanPlan.projectBaselineBaseFiles ?? []]) : null;
1137
1139
  return {
1138
1140
  ...context.scanOptions,
@@ -1148,19 +1150,17 @@ const buildProjectInspectOptions = ({ context, projectScan, projectScanPlan, own
1148
1150
  retainExcludedProjectDeadCodeDiagnostics: ownsWorkspaceDeadCode,
1149
1151
  baselineReport: savedBaseline && context.flags.baseline ? {
1150
1152
  file: context.flags.baseline,
1151
- diagnostics: savedBaseline.projects.flatMap((project) => {
1152
- const projectRelativePath = path$1.relative(savedBaseline.directory, project.directory);
1153
- if (path$1.resolve(context.resolvedDirectory, projectRelativePath) !== scanDirectory) return [];
1154
- return project.diagnostics.flatMap((diagnostic) => {
1155
- const filePath = path$1.relative(project.directory, path$1.resolve(project.directory, diagnostic.filePath)).replace(/\\/g, "/");
1156
- if (baselinePaths && !baselinePaths.has(filePath)) return [];
1157
- return [{
1158
- ...diagnostic,
1159
- relatedLocations: diagnostic.relatedLocations ? [...diagnostic.relatedLocations] : void 0,
1160
- filePath
1161
- }];
1162
- });
1163
- }),
1153
+ sourceFilterConfigHash: baselineProject?.sourceFilterConfigHash,
1154
+ sourceRevision: savedBaseline.sourceRevision,
1155
+ diagnostics: baselineProject ? baselineProject.diagnostics.flatMap((diagnostic) => {
1156
+ const filePath = path$1.relative(baselineProject.directory, path$1.resolve(baselineProject.directory, diagnostic.filePath)).replace(/\\/g, "/");
1157
+ if (baselinePaths && !baselinePaths.has(filePath)) return [];
1158
+ return [{
1159
+ ...diagnostic,
1160
+ relatedLocations: diagnostic.relatedLocations ? [...diagnostic.relatedLocations] : void 0,
1161
+ filePath
1162
+ }];
1163
+ }) : [],
1164
1164
  renamedFiles: Object.fromEntries(Object.entries(context.baselineDiffPlan?.renamedFiles ?? {}).map(([basePath, headPath]) => [path$1.relative(scanDirectory, path$1.resolve(context.resolvedDirectory, basePath)).replace(/\\/g, "/"), path$1.relative(scanDirectory, path$1.resolve(context.resolvedDirectory, headPath)).replace(/\\/g, "/")]))
1165
1165
  } : void 0,
1166
1166
  baseline: context.baselineRef !== null && projectScanPlan.projectBaselineBaseFiles !== null && projectScanPlan.projectBaselineHeadFiles !== null ? {
@@ -1520,5 +1520,5 @@ const inspectAction = async (directory, flags, invocationCommand = "inspect", se
1520
1520
  //#endregion
1521
1521
  export { warnDeprecatedFailOn as n, runProjectMigrations as r, inspectAction as t };
1522
1522
 
1523
- //# sourceMappingURL=inspect-YXgF21wV.js.map
1524
- //# debugId=9e689b8c-395d-5704-a91a-1fd0dc097bdd
1523
+ //# sourceMappingURL=inspect-ZsJdCoBa.js.map
1524
+ //# debugId=d6e41bb3-403c-5e5e-b592-d990f50c8baa
@@ -1,12 +1,12 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="428f8dd7-9a9b-519a-8448-814936e4e10c")}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]="37ae538f-7766-507b-b40e-5f36eca1deb4")}catch(e){}}();
3
3
  import { u as METRIC } from "./constants-rmkaA7iw.js";
4
- import { t as recordCount, xn as runSync } from "./record-metric-koJj2V6F.js";
5
- import { o as isExpectedUserError } from "./telemetry-runtime-DhCwCPKP.js";
6
- import { n as handleUserError, t as handleError } from "./handle-error-Ck9Seh9W.js";
7
- import { t as reportErrorToSentry } from "./report-error-tFFDhXC-.js";
8
- import { t as printBrandedHeader } from "./print-branded-header-DRPpY-_W.js";
9
- import { n as runInstallReactDoctor } from "./install-react-doctor-DbcNvWTJ.js";
4
+ import { Cn as runSync, t as recordCount } from "./record-metric-COaAD5VE.js";
5
+ import { o as isExpectedUserError } from "./telemetry-runtime-CEcDvXxW.js";
6
+ import { n as handleUserError, t as handleError } from "./handle-error-jBnelA-d.js";
7
+ import { t as reportErrorToSentry } from "./report-error-CSpZGdCu.js";
8
+ import { t as printBrandedHeader } from "./print-branded-header-C9VkuYyR.js";
9
+ import { n as runInstallReactDoctor } from "./install-react-doctor-Btq_1UZH.js";
10
10
  //#region src/cli/commands/install.ts
11
11
  const installAction = async (options, command) => {
12
12
  recordCount(METRIC.cliInvoked, 1, { command: "install" });
@@ -30,5 +30,5 @@ const installAction = async (options, command) => {
30
30
  //#endregion
31
31
  export { installAction };
32
32
 
33
- //# sourceMappingURL=install-0L3mbX-S.js.map
34
- //# debugId=428f8dd7-9a9b-519a-8448-814936e4e10c
33
+ //# sourceMappingURL=install-CvyHP8Sz.js.map
34
+ //# debugId=37ae538f-7766-507b-b40e-5f36eca1deb4
@@ -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]="9eed3125-495e-5d1a-9bec-a4535146ec8e")}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]="be94a949-2a69-5149-a1ff-12fb483ebb7e")}catch(e){}}();
3
3
  import { B as resolveGitCommand, g as RUN_GIT_MAX_BUFFER_BYTES } from "./constants-rmkaA7iw.js";
4
- import { an as info$1, b as isNonInteractiveEnvironment, in as error$1, kt as highlighter, on as log, sn as warn, xn as runSync } from "./record-metric-koJj2V6F.js";
4
+ import { At as highlighter, Cn as runSync, b as isNonInteractiveEnvironment, cn as log, ln as warn, on as error$1, sn as info$1 } from "./record-metric-COaAD5VE.js";
5
5
  import { a as chalk, i as stripAnsi, t as eastAsianWidth } from "./get-east-asian-width-DRPy7dqz.js";
6
6
  import * as fs$1 from "node:fs";
7
7
  import * as path$1 from "node:path";
@@ -2814,5 +2814,5 @@ const installReactDoctorScriptStep = (projectRoot) => {
2814
2814
  //#endregion
2815
2815
  export { runGitAsync as A, isRecord as C, readPackageJson as D, packageHasRecordKey as E, writeJsonFile as M, cliLogger as N, 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, runGitRaw 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 };
2816
2816
 
2817
- //# sourceMappingURL=install-doctor-script-CEUwgvU0.js.map
2818
- //# debugId=9eed3125-495e-5d1a-9bec-a4535146ec8e
2817
+ //# sourceMappingURL=install-doctor-script-YdsysHJ8.js.map
2818
+ //# debugId=be94a949-2a69-5149-a1ff-12fb483ebb7e
@@ -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]="cf520efe-33bc-5e78-90ca-8e13b216a392")}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]="dc1c6c6b-86f5-5629-a36f-3b268f35f18c")}catch(e){}}();
3
3
  import { s as GH_DEFAULT_BRANCH_PROBE_TIMEOUT_MS } from "./constants-rmkaA7iw.js";
4
4
  import { t as unrefStdin } from "./unref-stdin-D-NZBFpg.js";
5
- import { N as cliLogger } from "./install-doctor-script-CEUwgvU0.js";
5
+ import { N as cliLogger } from "./install-doctor-script-YdsysHJ8.js";
6
6
  import { createRequire } from "node:module";
7
7
  import * as fs$1 from "node:fs";
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-CycJz6SE.js.map
271
- //# debugId=cf520efe-33bc-5e78-90ca-8e13b216a392
270
+ //# sourceMappingURL=install-github-workflow-zVARf-aa.js.map
271
+ //# debugId=dc1c6c6b-86f5-5629-a36f-3b268f35f18c
@@ -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]="13f3bdf1-da83-5f66-abdb-53857950d2b7")}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]="0e6e69a0-b75b-5493-84c7-c233d61a36ab")}catch(e){}}();
3
3
  import { kt as GITHUB_ACTIONS_SETUP_URL, o as CI_TRUST_COMPANIES, pn as SKILL_NAME, u as METRIC } from "./constants-rmkaA7iw.js";
4
- import { kt as highlighter, t as recordCount, y as CliInputError, zn as isErrnoException } from "./record-metric-koJj2V6F.js";
5
- import { C as isRecord, D as readPackageJson, E as packageHasRecordKey, M as writeJsonFile, N 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, 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-CEUwgvU0.js";
6
- 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-CycJz6SE.js";
7
- import { t as shouldSkipPrompts } from "./should-skip-prompts-OHfi1uxr.js";
8
- import { a as recordGate, c as ACTION_UPGRADE_EVENT, d as INSTALL_AGENTS_PREFERENCE_ID, g as loadAgentInstall, 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-Ci3V-6OF.js";
4
+ import { At as highlighter, Vn as isErrnoException, t as recordCount, y as CliInputError } from "./record-metric-COaAD5VE.js";
5
+ import { C as isRecord, D as readPackageJson, E as packageHasRecordKey, M as writeJsonFile, N 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, 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-YdsysHJ8.js";
6
+ 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-zVARf-aa.js";
7
+ import { t as shouldSkipPrompts } from "./should-skip-prompts-Db09UIvm.js";
8
+ import { a as recordGate, c as ACTION_UPGRADE_EVENT, d as INSTALL_AGENTS_PREFERENCE_ID, g as loadAgentInstall, 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-D0Tev_E8.js";
9
9
  import * as fs$1 from "node:fs";
10
10
  import * as path$1 from "node:path";
11
11
  import { execFile } from "node:child_process";
@@ -1156,5 +1156,5 @@ const runInstallReactDoctor = async (options = {}) => {
1156
1156
  //#endregion
1157
1157
  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 };
1158
1158
 
1159
- //# sourceMappingURL=install-react-doctor-DbcNvWTJ.js.map
1160
- //# debugId=13f3bdf1-da83-5f66-abdb-53857950d2b7
1159
+ //# sourceMappingURL=install-react-doctor-Btq_1UZH.js.map
1160
+ //# debugId=0e6e69a0-b75b-5493-84c7-c233d61a36ab
@@ -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]="3a717f01-d961-5f48-86e4-74a39c4ef5f2")}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]="2361e9a6-cf15-5e91-88eb-fcd97eb50a00")}catch(e){}}();
3
3
  import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-ChKA3wi6.js";
4
4
  import { u as METRIC } from "./constants-rmkaA7iw.js";
5
- import { t as recordCount } from "./record-metric-koJj2V6F.js";
6
- import { n as registerActiveTuiRenderer, t as exitGracefully } from "./exit-gracefully-bRfDFHze.js";
5
+ import { t as recordCount } from "./record-metric-COaAD5VE.js";
6
+ import { n as registerActiveTuiRenderer, t as exitGracefully } from "./exit-gracefully-BqUKaxLV.js";
7
7
  import { a as chalk, i as stripAnsi, n as isFullWidth$1, r as isWide$1 } from "./get-east-asian-width-DRPy7dqz.js";
8
8
  import * as fs$1 from "node:fs";
9
9
  import fs from "node:fs";
@@ -25870,5 +25870,5 @@ var require_jsx_runtime = /* @__PURE__ */ __commonJSMin(((exports, module) => {
25870
25870
  //#endregion
25871
25871
  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 };
25872
25872
 
25873
- //# sourceMappingURL=jsx-runtime-DU2HJf59.js.map
25874
- //# debugId=3a717f01-d961-5f48-86e4-74a39c4ef5f2
25873
+ //# sourceMappingURL=jsx-runtime-BC_XnKBD.js.map
25874
+ //# debugId=2361e9a6-cf15-5e91-88eb-fcd97eb50a00