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

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 (39) hide show
  1. package/README.md +6 -0
  2. package/dist/{build-section-divider-B9vlCDHV.js → build-section-divider-DGcPvzjX.js} +7 -7
  3. package/dist/{ci-rLzlDu2j.js → ci-DZ9QnUV4.js} +12 -12
  4. package/dist/cli.js +65 -37
  5. package/dist/{design-CzVqEwWg.js → design-BlxQroSp.js} +4 -4
  6. package/dist/{devtools-BiC-AP3B.js → devtools-CC2PAZ85.js} +3 -3
  7. package/dist/{exit-gracefully-Bq-JF68q.js → exit-gracefully-Dt1ix6Xh.js} +6 -6
  8. package/dist/{get-east-asian-width-Cglw13G7.js → get-east-asian-width-Bv2TD3Xj.js} +3 -3
  9. package/dist/{handle-error-DUSoFUPL.js → handle-error-Cslt8b7C.js} +5 -5
  10. package/dist/index.js +232 -121
  11. package/dist/{inspect-CNeq8v8s.js → inspect-Dd1qqPJf.js} +38 -29
  12. package/dist/{install-DP8oO5sw.js → install-DeWeUjqr.js} +9 -9
  13. package/dist/{install-doctor-script-DbnMjPjQ.js → install-doctor-script-DbKR-GHo.js} +5 -5
  14. package/dist/{install-github-workflow-CS_YO_OJ.js → install-github-workflow-Bkv_CMdF.js} +10 -6
  15. package/dist/{install-react-doctor-BTiagoIZ.js → install-react-doctor-DkfLDtWd.js} +8 -8
  16. package/dist/{jsx-runtime-DGcmMln7.js → jsx-runtime-DwPH8QhA.js} +7 -7
  17. package/dist/path-format-DnHpmJwG.js +9 -0
  18. package/dist/{print-branded-header-bKbewJRI.js → print-branded-header-CFNvp2ey.js} +4 -4
  19. package/dist/project-analysis-worker.js +53 -52
  20. package/dist/{prompt-runtime-scan-url-CvsHajZD.js → prompt-runtime-scan-url-BuXp7_n4.js} +6 -6
  21. package/dist/{read-object-file-DIGDC3MB.js → read-object-file-CEbx-anl.js} +4 -4
  22. package/dist/{record-metric-C4-VKG9G.js → record-metric-BzGcVSov.js} +228 -116
  23. package/dist/{report-error-1lrvJd3S.js → report-error-ZMTPN93d.js} +5 -5
  24. package/dist/{report-workflow-result-C42nztEL.js → report-workflow-result-CKUjTJpB.js} +5 -5
  25. package/dist/{resolve-scope-YUP_rtf3.js → resolve-scope-BgrQEVtj.js} +8 -10
  26. package/dist/{rules-BY4vq5-i.js → rules-DizN5gJ6.js} +6 -6
  27. package/dist/{run-scan-app-DHDnmfX6.js → run-scan-app-CjSGMmOE.js} +16 -14
  28. package/dist/{runtime-scan-ClVvgojx.js → runtime-scan-DINB89wl.js} +9 -9
  29. package/dist/{sanitize-runtime-url-DVwfWWZy.js → sanitize-runtime-url-CFvLC0Vp.js} +4 -4
  30. package/dist/{scan-C9YMcGrG.js → scan-CEvjogRY.js} +17 -11
  31. package/dist/{should-fail-scan-gate-CtPrWy9N.js → should-fail-scan-gate-gpuv_UOL.js} +19 -12
  32. package/dist/{should-skip-prompts-b1KKh2nz.js → should-skip-prompts-F0NaNR8z.js} +4 -4
  33. package/dist/{should-use-tui-Dh_kmKLh.js → should-use-tui-Dve0A4YR.js} +4 -4
  34. package/dist/{telemetry-runtime-CDAL4uhm.js → telemetry-runtime-Bs7DsGaF.js} +4 -4
  35. package/dist/{unref-stdin-BKT_s38a.js → unref-stdin-SK3WfwxS.js} +3 -3
  36. package/dist/{version-CDNMEvQU.js → version-DVa-lN1C.js} +4 -4
  37. package/dist/{why-fw7vWXR7.js → why-BqR3fLtE.js} +4 -4
  38. package/dist/{with-run-span-V4LjJBYW.js → with-run-span-NbAvibgv.js} +5 -5
  39. package/package.json +4 -4
@@ -1,12 +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]="99ceb150-1900-5127-a627-20c89bf08990")}catch(e){}}();
3
- import { Bn as sync, Bt as getDiffInfo, C as CI_TRUST_COMPANIES, G as isCiEnvironment, Hn as void_, Jt as isPathInsideDirectory, Kn as succeed, Kt as highlighter, L as TUI_REPORT_COMPACT_MAX_ROWS, Lt as getBaselineDiffPlan, R as TUI_REPORT_DETAIL_WIDTH_FRACTION, Rn as runPromise, Rt as getChangedLineRanges, T as METRIC, Ut as hasPublishedFixRecipe, V as isGitHookEnvironment, ar as DIAGNOSTIC_CATEGORY_BUCKETS, at as Progress, cr as GITHUB_ACTIONS_SETUP_URL, fn as resolveScanTarget, gt as buildRuleDocsUrl, in as mapWithConcurrency, n as recordDistribution, sn as remainingDeadlineBudgetMs, st as Reporter, t as recordCount, vr as getCategoryImpact, xn as yieldToEventLoop, yt as calculateScore } from "./record-metric-C4-VKG9G.js";
4
- import { M as cliLogger, n as findNearestPackageDirectory } from "./install-doctor-script-DbnMjPjQ.js";
5
- import { i as isReactDoctorWorkflowInstalled } from "./install-github-workflow-CS_YO_OJ.js";
6
- import { r as resolveScope, s as resolveBlockingLevel, t as finalizeScope, u as toForwardSlashes } from "./resolve-scope-YUP_rtf3.js";
7
- import { A as resolveMergeBaseRef, B as buildNoScoreMessage, C as copyToClipboard, D as deduplicateProjectScans, E as collectProjectSourceFileCounts, F as printFooter, G as formatFixRecipeLine, H as hasLintHardFailure, I as printDiagnosticsDump, K as formatLearnMoreLine, L as formatDiagnosticSite, M as pluralize, N as formatSkippedCheckLabel, O as createInvocationInspect, P as formatElapsedTime, R as hasIncompleteScoreAnalysis, S as CLI_AGENT_BINARIES, T as buildHandoffPayload, U as buildRulePriorityMap, V as buildEmptyReportMessage, W as buildSortedRuleGroups, _ as resolveCliInspectOptions, a as projectManifestChanged, b as setUpGitHubActions, c as selectProjects, d as resolveProjectChangedLineRanges, f as resolveProjectDiffIncludePaths, g as resolveWorkspaceDeadCodeOwner, h as retryMissingProjectScores, l as buildCodeFrame, n as formatSkippedProjectsMessage, o as partitionProjectScanOutcomes, p as resolveProjectSourceFilePaths, r as validateIncludeUntrackedScope, s as discoverWorkspacePackages, t as shouldFailScanGate, u as resolveProjectScan, v as filterScansForSurface, w as launchCliAgent, x as detectLaunchableAgents, y as countUniqueScannedFiles, z as filterDiagnosticsByCategories } from "./should-fail-scan-gate-CtPrWy9N.js";
8
- import { a as recordGate, f as ONBOARDING_EVENT, n as openUrl, r as isGatePending } from "./report-workflow-result-C42nztEL.js";
9
- import { a as useExitOnCtrlC, c as Spinner, d as useInput, f as Transform, h as Box, i as import_react, l as useStdout, m as Text, n as registerMountedTuiRenderer, o as terminalSymbols, p as render, r as useStdoutDimensions, s as isPrintableInput, t as require_jsx_runtime, u as useApp } from "./jsx-runtime-DGcmMln7.js";
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]="4274712b-fdd4-5a2e-b321-89a31b66fc17")}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-BzGcVSov.js";
4
+ import { t as toForwardSlashes } from "./path-format-DnHpmJwG.js";
5
+ import { M as cliLogger, n as findNearestPackageDirectory } from "./install-doctor-script-DbKR-GHo.js";
6
+ import { i as isReactDoctorWorkflowInstalled } from "./install-github-workflow-Bkv_CMdF.js";
7
+ import { r as resolveScope, s as resolveBlockingLevel, t as finalizeScope } from "./resolve-scope-BgrQEVtj.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-gpuv_UOL.js";
9
+ import { a as recordGate, f as ONBOARDING_EVENT, n as openUrl, r as isGatePending } from "./report-workflow-result-CKUjTJpB.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-DwPH8QhA.js";
10
11
  import path from "node:path";
11
12
  import { performance } from "node:perf_hooks";
12
13
  import isUnicodeSupported from "is-unicode-supported";
@@ -2042,14 +2043,14 @@ const qualifyDiagnosticPaths = (diagnostics, rootDirectory, projectDirectory) =>
2042
2043
  filePath: toForwardSlashes(path.join(prefix, diagnostic.filePath))
2043
2044
  });
2044
2045
  };
2045
- const resolveScanPresentation = (input, projectScans) => {
2046
+ const resolveScanPresentation = (input, projectScans, rootDirectory) => {
2046
2047
  const isScoreDisabled = input.options?.noScore === true || projectScans.some((projectScan) => projectScan.config?.noScore === true);
2047
2048
  return {
2048
2049
  isOffline: isCiEnvironment() || input.share === false || isShareOptedOut(projectScans, input.options?.noScore),
2049
2050
  initialProgress: projectScans.length > 1 ? "Indexing workspace files…" : "Scanning project…",
2050
2051
  noScoreMessage: buildNoScoreMessage({ isScoreDisabled }),
2051
2052
  outputDirectory: input.options?.outputDirectory,
2052
- shouldRecommendCi: projectScans.length > 1 || projectScans.some((projectScan) => isCiUnconfigured(projectScan.directory)),
2053
+ shouldRecommendCi: isCiUnconfigured(rootDirectory),
2053
2054
  verbose: input.options?.verbose === true
2054
2055
  };
2055
2056
  };
@@ -2224,6 +2225,7 @@ const runMountedScan = async (rootDirectory, presentation, blockingLevel, execut
2224
2225
  const completedScan = await executeScan(context);
2225
2226
  mountedRenderer.dispose();
2226
2227
  mountedRenderer = mountRenderer("report");
2228
+ if (presentation.shouldRecommendCi) recordCount(METRIC.tuiCiRecommendationShown);
2227
2229
  await mountedRenderer.instance.waitUntilExit();
2228
2230
  mountedRenderer.dispose();
2229
2231
  if (presentation.outputDirectory !== void 0 || presentation.verbose) await runPromise(printDiagnosticsDump([...completedScan.diagnostics], presentation.outputDirectory, presentation.verbose));
@@ -2260,7 +2262,7 @@ const runSingleProjectScan = async (rootScanTarget, projectDirectory, input, sco
2260
2262
  process.stdout.write("No changed source files in the selected project.\n");
2261
2263
  return { shouldFail: false };
2262
2264
  }
2263
- const presentation = resolveScanPresentation(input, [projectScan]);
2265
+ const presentation = resolveScanPresentation(input, [projectScan], rootScanTarget.resolvedDirectory);
2264
2266
  return runMountedScan(projectScan.directory, presentation, blockingLevel, async (context) => {
2265
2267
  const result = await inspectProject(projectScan.directory, {
2266
2268
  ...resolveTuiInspectOptions(input, projectScan.config),
@@ -2342,7 +2344,7 @@ const runMultiProjectScan = async (rootScanTarget, directories, input, scopePlan
2342
2344
  isRootDeadCodeEnabled: input.options?.deadCode ?? rootProjectScan?.config?.deadCode ?? true
2343
2345
  });
2344
2346
  if (workspaceDeadCodeOwner !== null) recordCount(METRIC.scanWorkspaceMaintainabilityShared, 1, { projectCount: discoveredProjectScans.length });
2345
- return runMountedScan(rootDirectory, resolveScanPresentation(input, projectScans.map(({ projectScan }) => projectScan)), blockingLevel, async (context) => {
2347
+ return runMountedScan(rootDirectory, resolveScanPresentation(input, projectScans.map(({ projectScan }) => projectScan), rootDirectory), blockingLevel, async (context) => {
2346
2348
  const startTime = performance.now();
2347
2349
  let finishedCount = 0;
2348
2350
  recordDistribution(METRIC.scanFeedbackDelay, performance.now() - feedbackStartTime, {
@@ -2505,5 +2507,5 @@ const runScanApp = async (input) => {
2505
2507
  //#endregion
2506
2508
  export { runScanApp };
2507
2509
 
2508
- //# sourceMappingURL=run-scan-app-DHDnmfX6.js.map
2509
- //# debugId=99ceb150-1900-5127-a627-20c89bf08990
2510
+ //# sourceMappingURL=run-scan-app-CjSGMmOE.js.map
2511
+ //# debugId=4274712b-fdd4-5a2e-b321-89a31b66fc17
@@ -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]="d5e5a6f9-06cb-5c22-be21-dca3387f935a")}catch(e){}}();
3
- import { Kt as highlighter, T as METRIC, t as recordCount, u as enableJsonMode, z as CliInputError } from "./record-metric-C4-VKG9G.js";
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]="e693f254-f206-59a3-bc7f-14e03f317985")}catch(e){}}();
3
+ import { Kt as highlighter, T as METRIC, t as recordCount, u as enableJsonMode, z as CliInputError } from "./record-metric-BzGcVSov.js";
4
4
  import { t as activeScanAbortRegistry } from "./active-scan-abort-registry-DwG6tSPy.js";
5
- import { t as reportErrorToSentry } from "./report-error-1lrvJd3S.js";
6
- import { n as resetSentryRunState, r as withRunSpan } from "./with-run-span-V4LjJBYW.js";
7
- import { _ as RUNTIME_SCAN_SNAPSHOT_TIMEOUT_MS, b as RUNTIME_SCAN_TRACING_COMPLETE_TIMEOUT_MS, f as RUNTIME_SCAN_PROBE_RELATIVE_PATH, g as RUNTIME_SCAN_SAFE_CDP_PAGE_URLS, h as RUNTIME_SCAN_PROBE_SNAPSHOT_TOKEN_PLACEHOLDER, l as RUNTIME_SCAN_MAX_SNAPSHOT_PAYLOAD_BYTES, m as RUNTIME_SCAN_PROBE_SNAPSHOT_BINDING_NAME_PLACEHOLDER, n as RUNTIME_SCAN_BROWSER_WIDTH_PX, o as RUNTIME_SCAN_MAX_COMPONENT_EVENTS, p as RUNTIME_SCAN_PROBE_SNAPSHOT_ATTRIBUTE_NAME_PLACEHOLDER, r as RUNTIME_SCAN_CONTROL_CHARACTERS_PATTERN, s as RUNTIME_SCAN_MAX_RECORDING_DURATION_MS, t as sanitizeRuntimeUrl, v as RUNTIME_SCAN_TRACE_CATEGORIES, y as RUNTIME_SCAN_TRACE_FILE_EXTENSION } from "./sanitize-runtime-url-DVwfWWZy.js";
8
- import { r as resolveTuiEnvironment, t as isTuiEnvironmentSupported } from "./should-use-tui-Dh_kmKLh.js";
5
+ import { t as reportErrorToSentry } from "./report-error-ZMTPN93d.js";
6
+ import { n as resetSentryRunState, r as withRunSpan } from "./with-run-span-NbAvibgv.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-CFvLC0Vp.js";
8
+ import { r as resolveTuiEnvironment, t as isTuiEnvironmentSupported } from "./should-use-tui-Dve0A4YR.js";
9
9
  import * as path$1 from "node:path";
10
10
  import * as fs$1 from "node:fs";
11
11
  import { randomUUID } from "node:crypto";
@@ -719,7 +719,7 @@ const resolveRuntimeScanUrl = async (url) => {
719
719
  if (url !== void 0) return url;
720
720
  if (!isTuiEnvironmentSupported(resolveTuiEnvironment(process.stderr.isTTY === true))) throw new CliInputError("A URL is required outside an interactive terminal. Run `react-doctor scan <url>`.");
721
721
  recordCount(METRIC.runtimeScanUrlPromptShown);
722
- const { promptRuntimeScanUrl } = await import("./prompt-runtime-scan-url-CvsHajZD.js");
722
+ const { promptRuntimeScanUrl } = await import("./prompt-runtime-scan-url-BuXp7_n4.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-ClVvgojx.js.map
770
- //# debugId=d5e5a6f9-06cb-5c22-be21-dca3387f935a
769
+ //# sourceMappingURL=runtime-scan-DINB89wl.js.map
770
+ //# debugId=e693f254-f206-59a3-bc7f-14e03f317985
@@ -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]="f0105706-2b45-55d8-9aab-fe5ba60b2e29")}catch(e){}}();
3
- import { z as CliInputError } from "./record-metric-C4-VKG9G.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]="b94421cc-23bd-5827-bcc1-d086d3dc4ba9")}catch(e){}}();
3
+ import { z as CliInputError } from "./record-metric-BzGcVSov.js";
4
4
  //#region src/cli/runtime-scan/constants.ts
5
5
  const RUNTIME_SCAN_MAX_COMPONENT_EVENTS = 2e3;
6
6
  const RUNTIME_SCAN_MAX_SNAPSHOT_PAYLOAD_BYTES = 5 * 1024 * 1024;
@@ -72,5 +72,5 @@ const sanitizeRuntimeUrl = (rawUrl) => {
72
72
  //#endregion
73
73
  export { RUNTIME_SCAN_SNAPSHOT_TIMEOUT_MS as _, RUNTIME_SCAN_LOCAL_DEV_PORTS as a, RUNTIME_SCAN_TRACING_COMPLETE_TIMEOUT_MS as b, RUNTIME_SCAN_MAX_SNAPSHOT_BYTES as c, RUNTIME_SCAN_MAX_TRACE_BYTES as d, RUNTIME_SCAN_PROBE_RELATIVE_PATH as f, RUNTIME_SCAN_SAFE_CDP_PAGE_URLS as g, RUNTIME_SCAN_PROBE_SNAPSHOT_TOKEN_PLACEHOLDER as h, RUNTIME_SCAN_LAYOUT_THRASH_RATIO as i, RUNTIME_SCAN_MAX_SNAPSHOT_PAYLOAD_BYTES as l, RUNTIME_SCAN_PROBE_SNAPSHOT_BINDING_NAME_PLACEHOLDER as m, RUNTIME_SCAN_BROWSER_WIDTH_PX as n, RUNTIME_SCAN_MAX_COMPONENT_EVENTS as o, RUNTIME_SCAN_PROBE_SNAPSHOT_ATTRIBUTE_NAME_PLACEHOLDER as p, RUNTIME_SCAN_CONTROL_CHARACTERS_PATTERN as r, RUNTIME_SCAN_MAX_RECORDING_DURATION_MS as s, sanitizeRuntimeUrl as t, RUNTIME_SCAN_MAX_STRING_LENGTH as u, RUNTIME_SCAN_TRACE_CATEGORIES as v, RUNTIME_SCAN_TRACE_FILE_EXTENSION as y };
74
74
 
75
- //# sourceMappingURL=sanitize-runtime-url-DVwfWWZy.js.map
76
- //# debugId=f0105706-2b45-55d8-9aab-fe5ba60b2e29
75
+ //# sourceMappingURL=sanitize-runtime-url-CFvLC0Vp.js.map
76
+ //# debugId=b94421cc-23bd-5827-bcc1-d086d3dc4ba9
@@ -1,18 +1,24 @@
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]="a0fec666-95bf-5fab-84ca-5783d72e54cd")}catch(e){}}();
3
- import { T as METRIC, fn as resolveScanTarget, t as recordCount } from "./record-metric-C4-VKG9G.js";
4
- import { i as warnDeprecatedDiff } from "./resolve-scope-YUP_rtf3.js";
5
- import { _ as resolveCliInspectOptions, i as validateModeFlags } from "./should-fail-scan-gate-CtPrWy9N.js";
6
- import { n as warnDeprecatedFailOn, r as runProjectMigrations, t as inspectAction } from "./inspect-CNeq8v8s.js";
7
- import { n as shouldUseTui, r as resolveTuiEnvironment } from "./should-use-tui-Dh_kmKLh.js";
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]="379ea2c9-a7ee-584a-82cb-23e65d3013ed")}catch(e){}}();
3
+ import { T as METRIC, fn as resolveScanTarget, t as recordCount } from "./record-metric-BzGcVSov.js";
4
+ import { i as warnDeprecatedDiff } from "./resolve-scope-BgrQEVtj.js";
5
+ import { a as validateModeFlags, r as validateFilePathSelectionFlags, v as resolveCliInspectOptions } from "./should-fail-scan-gate-gpuv_UOL.js";
6
+ import { n as warnDeprecatedFailOn, r as runProjectMigrations, t as inspectAction } from "./inspect-Dd1qqPJf.js";
7
+ import { n as shouldUseTui, r as resolveTuiEnvironment } from "./should-use-tui-Dve0A4YR.js";
8
8
  import path from "node:path";
9
9
  //#region src/cli/commands/scan.ts
10
10
  const runScanCommand = async (input) => {
11
11
  if (input.flags.cache === false) process.env.REACT_DOCTOR_NO_CACHE = "1";
12
- if (!shouldUseTui({
12
+ if (input.filePaths !== void 0) validateFilePathSelectionFlags(input.flags);
13
+ const tuiEnvironment = {
13
14
  flags: input.flags,
14
15
  ...resolveTuiEnvironment()
15
- })) {
16
+ };
17
+ if (input.filePaths !== void 0) {
18
+ await inspectAction(input.directory, input.flags, input.invocationCommand, input.filePaths);
19
+ return;
20
+ }
21
+ if (!shouldUseTui(tuiEnvironment)) {
16
22
  await inspectAction(input.directory, input.flags, input.invocationCommand);
17
23
  return;
18
24
  }
@@ -22,7 +28,7 @@ const runScanCommand = async (input) => {
22
28
  warnDeprecatedFailOn(input.flags, scanTarget.userConfig);
23
29
  warnDeprecatedDiff(input.flags, scanTarget.userConfig);
24
30
  recordCount(METRIC.cliInvoked, 1, { command: input.invocationCommand });
25
- const { runScanApp } = await import("./run-scan-app-DHDnmfX6.js");
31
+ const { runScanApp } = await import("./run-scan-app-CjSGMmOE.js");
26
32
  const { shouldFail } = await runScanApp({
27
33
  directory: input.directory,
28
34
  scanTarget,
@@ -37,5 +43,5 @@ const runScanCommand = async (input) => {
37
43
  //#endregion
38
44
  export { runScanCommand };
39
45
 
40
- //# sourceMappingURL=scan-C9YMcGrG.js.map
41
- //# debugId=a0fec666-95bf-5fab-84ca-5783d72e54cd
46
+ //# sourceMappingURL=scan-CEvjogRY.js.map
47
+ //# debugId=379ea2c9-a7ee-584a-82cb-23e65d3013ed
@@ -1,14 +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]="05c1558b-7b69-5fb9-8c78-5c1cbcaaf58c")}catch(e){}}();
3
- import { $ as Linter, A as SCAN_RESULT_CACHE_FILENAME, An as gen, At as discoverSupportedSubprojects, B as isNonInteractiveEnvironment, Bn as sync, Cn as error, Ct as collectSourceFileCountsByDirectory, Dn as Diagnostic, Dt as createNodeReadFileLinesSync, En as warn, Et as countOptInProjectRuleSelections, Fn as provide, G as isCiEnvironment, Gt as hashFileContents, Ht as groupBy, In as provideContext, J as Config, Jt as isPathInsideDirectory, K as isCiOrCodingAgentEnvironment, Kn as succeed, Kt as highlighter, Ln as provideService, Mn as map, Mt as filterPathsOutsideDirectories, Nn as orElseSucceed, Nt as filterSourceFiles, On as decodeUnknownSync, Ot as createOxlintSpawnSlots, Pn as promise, Q as LintPartialFailures, Qt as isScanComplete, Rn as runPromise, S as BASELINE_FILES_TEMP_DIR_PREFIX, Sn as Console, T as METRIC, Tn as log, Tt as computeDiagnosticDelta, U as ACTION_INPUT_ENVIRONMENT_VARIABLES, Ut as hasPublishedFixRecipe, Vn as try_, W as detectRunnerOs, Wn as mergeAll, X as Git, Xt as isReactDoctorError, Y as Files, Zn as ParentSpan, _ as VERSION, _n as shouldUseMaintainabilityLayer, _t as buildRuleSeverityControls, an as materializeSourceTree, ar as DIAGNOSTIC_CATEGORY_BUCKETS, at as Progress, bt as canonicalizeUserRuleKey, cn as resolveGithubActionsScoreMetadata, ct as Score, d as isJsonModeActive, dn as resolveScanConcurrency, dr as JSX_DUPLICATION_SOURCE_FILE_PATTERN, dt as SupplyChain, en as listSourceFiles, et as Maintainability, fn as resolveScanTarget, fr as JSX_FILE_PATTERN, gt as buildRuleDocsUrl, hr as SHARE_BASE_URL, in as mapWithConcurrency, it as PerFileLintCacheEnabled, jt as filterDiagnosticsForSurface, l as getRunId, ln as resolveLintBatchOrdering, lr as GIT_SHOW_MAX_BUFFER_BYTES, lt as SidecarLintCacheEnabled, mn as runInspect, mr as OXLINT_NODE_REQUIREMENT, mt as atomicWriteJson, n as recordDistribution, nn as listWorkspacePackages, nt as OxlintConcurrency, on as mergeReactDoctorConfigs, ot as Project, pn as restoreLegacyThrow, pr as MILLISECONDS_PER_SECOND, qt as isMonorepoRoot, r as toSpanAttributes, rt as OxlintSpawnSlots, sn as remainingDeadlineBudgetMs, sr as ENTERPRISE_CONTACT_URL, st as Reporter, t as recordCount, tn as listSourceFilesCooperative, tr as CI_URL, tt as NodeResolver, un as resolveReactDoctorCacheDir, ur as HTML_FILE_PATTERN, v as makeNoopConsole, vn as summarizeDiagnostics, vt as buildSkippedChecks, wt as computeConfigFingerprint, xn as yieldToEventLoop, xr as isFile, xt as classifyFileContext, yr as isDirectory, yt as calculateScore, z as CliInputError, zn as runSync, zt as getDiagnosticRuleIdentity } from "./record-metric-C4-VKG9G.js";
4
- import { t as getTelemetryContext } from "./telemetry-runtime-CDAL4uhm.js";
5
- import { n as buildFooterLinkLines, t as buildSectionDivider } from "./build-section-divider-B9vlCDHV.js";
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]="a7a3004c-7dae-5ed3-90d5-1d72a5f5429b")}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-BzGcVSov.js";
4
+ import { t as getTelemetryContext } from "./telemetry-runtime-Bs7DsGaF.js";
5
+ import { n as buildFooterLinkLines, t as buildSectionDivider } from "./build-section-divider-DGcPvzjX.js";
6
6
  import { t as activeScanAbortRegistry } from "./active-scan-abort-registry-DwG6tSPy.js";
7
- import { C as isRecord, M as cliLogger, S as getPackageJsonPath, a as installReactDoctorScriptStep, c as spinner, k as runGit, n as findNearestPackageDirectory, o as isSpinnerSilent, s as setSpinnerSilent } from "./install-doctor-script-DbnMjPjQ.js";
8
- import { d as detectDefaultBranch, l as prompts, r as installReactDoctorWorkflow, u as isCommandAvailable } from "./install-github-workflow-CS_YO_OJ.js";
9
- import { a as isValidBlockingLevel, c as openWorkflowPullRequest, l as stageWorkflowFile, o as pickBlockingLevel, u as toForwardSlashes } from "./resolve-scope-YUP_rtf3.js";
10
- import { n as resetSentryRunState, r as withRunSpan, t as recordSentryProjectContext } from "./with-run-span-V4LjJBYW.js";
11
- import { h as detectAvailableAgents, t as reportWorkflowResult } from "./report-workflow-result-C42nztEL.js";
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-DbKR-GHo.js";
9
+ import { d as detectDefaultBranch, l as prompts, r as installReactDoctorWorkflow, u as isCommandAvailable } from "./install-github-workflow-Bkv_CMdF.js";
10
+ import { a as isValidBlockingLevel, c as openWorkflowPullRequest, l as stageWorkflowFile, o as pickBlockingLevel } from "./resolve-scope-BgrQEVtj.js";
11
+ import { n as resetSentryRunState, r as withRunSpan, t as recordSentryProjectContext } from "./with-run-span-NbAvibgv.js";
12
+ import { h as detectAvailableAgents, t as reportWorkflowResult } from "./report-workflow-result-CKUjTJpB.js";
12
13
  import { createRequire } from "node:module";
13
14
  import { spawn } from "node:child_process";
14
15
  import * as path$1 from "node:path";
@@ -2971,6 +2972,12 @@ const validateIncludeUntrackedScope = (includeUntracked, scope) => {
2971
2972
  if (!includeUntracked || scope !== void 0 && scope !== "full") return;
2972
2973
  throw new CliInputError("--include-untracked requires the files, changed, or lines scope (via --scope, --diff, or config).");
2973
2974
  };
2975
+ const validateFilePathSelectionFlags = (flags) => {
2976
+ if (flags.staged || flags.changedFilesFrom !== void 0) throw new CliInputError("Cannot combine file path arguments with --staged or --changed-files-from. Use one file source.");
2977
+ if (usedDiffAlias(flags)) throw new CliInputError("Cannot combine file path arguments with --diff. File path arguments use the files scope.");
2978
+ if (usedScope(flags) && flags.scope !== "files") throw new CliInputError(`Cannot combine file path arguments with --scope ${flags.scope}. File path arguments use --scope files.`);
2979
+ if (flags.base !== void 0) throw new CliInputError("Cannot combine file path arguments with --base. The selected files do not need a Git base.");
2980
+ };
2974
2981
  const validateModeFlags = (flags) => {
2975
2982
  if (usedScope(flags) && usedDiffAlias(flags)) throw new CliInputError("Cannot combine --scope and --diff; --diff is the deprecated alias.");
2976
2983
  if (flags.staged && usedDiffAlias(flags)) throw new CliInputError("Cannot combine --staged and --diff; pick one mode.");
@@ -2995,7 +3002,7 @@ const shouldFailScanGate = (input) => {
2995
3002
  return shouldBlockCi(filterScansForSurface(input.scans, "ciFailure"), input.blockingLevel);
2996
3003
  };
2997
3004
  //#endregion
2998
- export { resolveMergeBaseRef as A, buildNoScoreMessage as B, copyToClipboard as C, deduplicateProjectScans as D, collectProjectSourceFileCounts as E, printFooter as F, formatFixRecipeLine as G, hasLintHardFailure as H, printDiagnosticsDump as I, formatLearnMoreLine as K, formatDiagnosticSite as L, pluralize as M, formatSkippedCheckLabel as N, createInvocationInspect as O, formatElapsedTime as P, hasIncompleteScoreAnalysis as R, CLI_AGENT_BINARIES as S, buildHandoffPayload as T, buildRulePriorityMap as U, buildEmptyReportMessage as V, buildSortedRuleGroups as W, resolveCliInspectOptions as _, projectManifestChanged as a, setUpGitHubActions as b, selectProjects as c, resolveProjectChangedLineRanges as d, resolveProjectDiffIncludePaths as f, resolveWorkspaceDeadCodeOwner as g, retryMissingProjectScores as h, validateModeFlags as i, printHeadlessReport as j, inspect as k, buildCodeFrame as l, resolveProjectRelativeDirectory as m, formatSkippedProjectsMessage as n, partitionProjectScanOutcomes as o, resolveProjectSourceFilePaths as p, validateIncludeUntrackedScope as r, discoverWorkspacePackages as s, shouldFailScanGate as t, resolveProjectScan as u, filterScansForSurface as v, launchCliAgent as w, detectLaunchableAgents as x, countUniqueScannedFiles as y, filterDiagnosticsByCategories as z };
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 };
2999
3006
 
3000
- //# sourceMappingURL=should-fail-scan-gate-CtPrWy9N.js.map
3001
- //# debugId=05c1558b-7b69-5fb9-8c78-5c1cbcaaf58c
3007
+ //# sourceMappingURL=should-fail-scan-gate-gpuv_UOL.js.map
3008
+ //# debugId=a7a3004c-7dae-5ed3-90d5-1d72a5f5429b
@@ -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]="813de557-f368-53ee-a2a2-32b7fd949b24")}catch(e){}}();
3
- import { B as isNonInteractiveEnvironment } from "./record-metric-C4-VKG9G.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]="92b67ec7-ac21-5825-9ec7-9268f58c961f")}catch(e){}}();
3
+ import { B as isNonInteractiveEnvironment } from "./record-metric-BzGcVSov.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-b1KKh2nz.js.map
10
- //# debugId=813de557-f368-53ee-a2a2-32b7fd949b24
9
+ //# sourceMappingURL=should-skip-prompts-F0NaNR8z.js.map
10
+ //# debugId=92b67ec7-ac21-5825-9ec7-9268f58c961f
@@ -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]="2ebdcc1a-e45e-586b-952b-2d0fa6a606ea")}catch(e){}}();
3
- import { B as isNonInteractiveEnvironment } from "./record-metric-C4-VKG9G.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]="56ecffad-c47a-5d32-a057-6f564c02f965")}catch(e){}}();
3
+ import { B as isNonInteractiveEnvironment } from "./record-metric-BzGcVSov.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-Dh_kmKLh.js.map
25
- //# debugId=2ebdcc1a-e45e-586b-952b-2d0fa6a606ea
24
+ //# sourceMappingURL=should-use-tui-Dve0A4YR.js.map
25
+ //# debugId=56ecffad-c47a-5d32-a057-6f564c02f965
@@ -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]="ec75dbb7-208f-5278-a280-c8f49ae595b5")}catch(e){}}();
3
- import { $t as layerObservability, Cr as messageFromUnknown, Jn as makeUnsafe, Rn as runPromise, Un as buildWithScope, Xn as void_, Xt as isReactDoctorError, Yt as isProjectDiscoveryError, _ as VERSION, br as isErrnoException, i as isTelemetryEnabled, kn as make, qn as close, z as CliInputError, zn as runSync } from "./record-metric-C4-VKG9G.js";
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]="45bafc76-f991-53d1-8b84-f9b5d4bb1cba")}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-BzGcVSov.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-CDAL4uhm.js.map
251
- //# debugId=ec75dbb7-208f-5278-a280-c8f49ae595b5
250
+ //# sourceMappingURL=telemetry-runtime-Bs7DsGaF.js.map
251
+ //# debugId=45bafc76-f991-53d1-8b84-f9b5d4bb1cba
@@ -1,6 +1,6 @@
1
1
  //#region src/cli/utils/unref-stdin.ts
2
2
 
3
- !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]="bb265729-ea99-5b37-b53e-561ac78da6ac")}catch(e){}}();
3
+ !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]="8f48a2ed-e79f-5438-90a2-8ef096b5fd64")}catch(e){}}();
4
4
  const unrefStdin = () => {
5
5
  if (process.stdin.isTTY) return;
6
6
  process.stdin.unref?.();
@@ -8,5 +8,5 @@ const unrefStdin = () => {
8
8
  //#endregion
9
9
  export { unrefStdin as t };
10
10
 
11
- //# sourceMappingURL=unref-stdin-BKT_s38a.js.map
12
- //# debugId=bb265729-ea99-5b37-b53e-561ac78da6ac
11
+ //# sourceMappingURL=unref-stdin-SK3WfwxS.js.map
12
+ //# debugId=8f48a2ed-e79f-5438-90a2-8ef096b5fd64
@@ -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]="803d3a2c-4e9a-586b-9857-e3d819fd6574")}catch(e){}}();
3
- import { T as METRIC, _ as VERSION, t as recordCount } from "./record-metric-C4-VKG9G.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]="d23c1b0d-b3f7-5e4d-aacc-938d2c0c439d")}catch(e){}}();
3
+ import { T as METRIC, _ as VERSION, t as recordCount } from "./record-metric-BzGcVSov.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-CDNMEvQU.js.map
21
- //# debugId=803d3a2c-4e9a-586b-9857-e3d819fd6574
20
+ //# sourceMappingURL=version-DVa-lN1C.js.map
21
+ //# debugId=d23c1b0d-b3f7-5e4d-aacc-938d2c0c439d
@@ -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]="951a5d39-0d9d-5e77-976d-4bdba17c5d17")}catch(e){}}();
3
- import { t as inspectAction } from "./inspect-CNeq8v8s.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]="4d60df56-978e-5a34-bf24-e07249f3719f")}catch(e){}}();
3
+ import { t as inspectAction } from "./inspect-Dd1qqPJf.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-fw7vWXR7.js.map
21
- //# debugId=951a5d39-0d9d-5e77-976d-4bdba17c5d17
20
+ //# sourceMappingURL=why-BqR3fLtE.js.map
21
+ //# debugId=4d60df56-978e-5a34-bf24-e07249f3719f
@@ -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]="c9d9c19c-9706-5ea8-afb9-fd1a13b753ad")}catch(e){}}();
3
- import { D as NANOSECONDS_PER_MILLISECOND, In as provideContext, Xn as void_, Yn as fail, c as setSentryProjectInfo, jn as makeSpan, o as buildSentryScope, r as toSpanAttributes, s as buildSentryProjectContext, zn as runSync } from "./record-metric-C4-VKG9G.js";
4
- import { t as getTelemetryContext } from "./telemetry-runtime-CDAL4uhm.js";
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]="ffce6642-493e-5779-b1db-64f399f953b7")}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-BzGcVSov.js";
4
+ import { t as getTelemetryContext } from "./telemetry-runtime-Bs7DsGaF.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-V4LjJBYW.js.map
110
- //# debugId=c9d9c19c-9706-5ea8-afb9-fd1a13b753ad
109
+ //# sourceMappingURL=with-run-span-NbAvibgv.js.map
110
+ //# debugId=ffce6642-493e-5779-b1db-64f399f953b7
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-doctor",
3
- "version": "0.9.12-dev.afa1780",
3
+ "version": "0.9.12-dev.ca30808",
4
4
  "description": "Your agent writes bad React. This catches it",
5
5
  "keywords": [
6
6
  "accessibility",
@@ -68,7 +68,7 @@
68
68
  "typescript": ">=5.0.4 <6",
69
69
  "yaml": "^2.9.0",
70
70
  "yoga-layout": "~3.2.1",
71
- "oxlint-plugin-react-doctor": "0.9.12-dev.afa1780"
71
+ "oxlint-plugin-react-doctor": "0.9.12-dev.ca30808"
72
72
  },
73
73
  "devDependencies": {
74
74
  "@types/babel__code-frame": "^7.27.0",
@@ -81,8 +81,8 @@
81
81
  "ora": "^9.4.0",
82
82
  "react": "19.2.5",
83
83
  "react-devtools-core": "^7.0.1",
84
- "@react-doctor/api": "0.9.12",
85
- "@react-doctor/core": "0.9.12"
84
+ "@react-doctor/core": "0.9.12",
85
+ "@react-doctor/api": "0.9.12"
86
86
  },
87
87
  "engines": {
88
88
  "node": "^20.19.0 || >=22.13.0"