react-doctor 0.9.11 → 0.9.12-dev.a2b460d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{build-section-divider-sLcWe1hO.js → build-section-divider-Vz879zXD.js} +7 -7
- package/dist/{ci-DsrrD52i.js → ci-BVYrYekU.js} +11 -11
- package/dist/cli.js +22 -22
- package/dist/{design-CP25gyyg.js → design-D-TYN_tr.js} +4 -4
- package/dist/{exit-gracefully-CVVkBxDS.js → exit-gracefully-Cjv5kC_l.js} +6 -6
- package/dist/index.d.ts +17 -19
- package/dist/index.js +150 -34
- package/dist/{inspect-D6y8oLtg.js → inspect-kkvDHKDE.js} +19 -19
- package/dist/{install-afMFGeTB.js → install-ZeYvD9Rw.js} +8 -8
- package/dist/{install-doctor-script-Be7Mv3-l.js → install-doctor-script-D58Hr1dM.js} +4 -4
- package/dist/{install-github-workflow-Dev2F6Ea.js → install-github-workflow-DkMicv8E.js} +6 -6
- package/dist/{install-react-doctor-DIPVunY4.js → install-react-doctor-CjgE52al.js} +8 -8
- package/dist/lsp.js +55 -24
- package/dist/{print-branded-header-D5jLdo4p.js → print-branded-header-D4QYSu-h.js} +4 -4
- package/dist/{read-object-file-CEh1CqnD.js → read-object-file-OFRlvCAL.js} +4 -4
- package/dist/{record-metric-CJxSHfJD.js → record-metric-CMe2d1Xv.js} +86 -41
- package/dist/{report-error-CAEixMg1.js → report-error-1l7v6_dE.js} +5 -5
- package/dist/{report-workflow-result-C0jbKH8p.js → report-workflow-result-EagkH_v9.js} +5 -5
- package/dist/{resolve-scope-DS7rcRRz.js → resolve-scope-CMNrOdDf.js} +6 -6
- package/dist/{rules-BJynymuU.js → rules-CzR1qUru.js} +6 -6
- package/dist/{run-scan-app-BGzlyiIB.js → run-scan-app-Ciq22jzp.js} +69 -36
- package/dist/{scan-CgPRG6_z.js → scan-D4m5r4Rs.js} +8 -8
- package/dist/{should-fail-scan-gate-4jf7ZRdL.js → should-fail-scan-gate-lMTlhEhE.js} +56 -21
- package/dist/{should-skip-prompts-C78r7Ww7.js → should-skip-prompts-mXKZBNCz.js} +4 -4
- package/dist/{unref-stdin-Dc8ipkaw.js → unref-stdin-Cxhw67r6.js} +4 -4
- package/dist/{version-DDrwsTas.js → version-CnvVY2VD.js} +4 -4
- package/dist/{why-BRNrKY1b.js → why-BktDEhhH.js} +4 -4
- package/package.json +7 -9
|
@@ -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]="
|
|
3
|
-
import { Jt as filterSourceFiles, Rn as toCanonicalPath, pn as isPathInsideDirectory } from "./record-metric-
|
|
4
|
-
import { L as cliLogger } from "./install-doctor-script-
|
|
5
|
-
import { d as detectDefaultBranch, f as runCommand, l as prompts, u as isCommandAvailable } from "./install-github-workflow-
|
|
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]="b23a6187-c78a-54c4-8c35-931d06f1c65d")}catch(e){}}();
|
|
3
|
+
import { Jt as filterSourceFiles, Rn as toCanonicalPath, pn as isPathInsideDirectory } from "./record-metric-CMe2d1Xv.js";
|
|
4
|
+
import { L as cliLogger } from "./install-doctor-script-D58Hr1dM.js";
|
|
5
|
+
import { d as detectDefaultBranch, f as runCommand, l as prompts, u as isCommandAvailable } from "./install-github-workflow-DkMicv8E.js";
|
|
6
6
|
import * as path$1 from "node:path";
|
|
7
7
|
//#region src/cli/utils/path-format.ts
|
|
8
8
|
const toForwardSlashes = (filePath) => filePath.replaceAll("\\", "/");
|
|
@@ -335,5 +335,5 @@ const finalizeScope = async ({ requested, diffInfo, skipPrompts, isQuiet }) => {
|
|
|
335
335
|
//#endregion
|
|
336
336
|
export { isValidBlockingLevel as a, openWorkflowPullRequest as c, warnDeprecatedDiff as i, stageWorkflowFile as l, isScopeValue as n, pickBlockingLevel as o, resolveScope as r, resolveBlockingLevel as s, finalizeScope as t, toForwardSlashes as u };
|
|
337
337
|
|
|
338
|
-
//# sourceMappingURL=resolve-scope-
|
|
339
|
-
//# debugId=
|
|
338
|
+
//# sourceMappingURL=resolve-scope-CMNrOdDf.js.map
|
|
339
|
+
//# debugId=b23a6187-c78a-54c4-8c35-931d06f1c65d
|
|
@@ -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]="
|
|
3
|
-
import { Bn as validateConfigTypes, Pt as buildRuleDocsUrl, Q as COMPILER_CLEANUP_RULE_KEYS, Rt as clearConfigCache, Sn as loadConfigWithSource, Z as COMPILER_CLEANUP_BUCKET, _n as isSameRuleKey, cn as highlighter, mn as isPlainObject, rn as getEquivalentRuleKeys, t as recordCount, w as METRIC } from "./record-metric-
|
|
4
|
-
import { L as cliLogger, n as findNearestPackageDirectory } from "./install-doctor-script-
|
|
5
|
-
import { t as readObjectFile } from "./read-object-file-
|
|
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]="dfaccccc-0f72-5a95-877d-7d307db09b22")}catch(e){}}();
|
|
3
|
+
import { Bn as validateConfigTypes, Pt as buildRuleDocsUrl, Q as COMPILER_CLEANUP_RULE_KEYS, Rt as clearConfigCache, Sn as loadConfigWithSource, Z as COMPILER_CLEANUP_BUCKET, _n as isSameRuleKey, cn as highlighter, mn as isPlainObject, rn as getEquivalentRuleKeys, t as recordCount, w as METRIC } from "./record-metric-CMe2d1Xv.js";
|
|
4
|
+
import { L as cliLogger, n as findNearestPackageDirectory } from "./install-doctor-script-D58Hr1dM.js";
|
|
5
|
+
import { t as readObjectFile } from "./read-object-file-OFRlvCAL.js";
|
|
6
6
|
import * as path$1 from "node:path";
|
|
7
7
|
import * as fs$1 from "node:fs";
|
|
8
8
|
import { REACT_DOCTOR_RULES } from "oxlint-plugin-react-doctor/core";
|
|
@@ -577,5 +577,5 @@ const rulesUnignoreTagAction = async (tag, options) => {
|
|
|
577
577
|
//#endregion
|
|
578
578
|
export { rulesCategoryAction, rulesDisableAction, rulesEnableAction, rulesExplainAction, rulesIgnoreTagAction, rulesListAction, rulesSetAction, rulesUnignoreTagAction };
|
|
579
579
|
|
|
580
|
-
//# sourceMappingURL=rules-
|
|
581
|
-
//# debugId=
|
|
580
|
+
//# sourceMappingURL=rules-CzR1qUru.js.map
|
|
581
|
+
//# debugId=dfaccccc-0f72-5a95-877d-7d307db09b22
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
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]="a056bffa-2376-545e-9d50-403fe3a33c1a")}catch(e){}}();
|
|
3
3
|
import { n as __require, r as __toESM, t as __commonJSMin } from "./chunk-q7NCDQ7-.js";
|
|
4
|
-
import { $t as getCategoryImpact, B as isGitHookEnvironment, Cn as mapWithConcurrency, Dn as remainingDeadlineBudgetMs, I as TUI_REPORT_COMPACT_MAX_ROWS, It as calculateScore, L as TUI_REPORT_DETAIL_WIDTH_FRACTION, Mn as resolveScanTarget, Pt as buildRuleDocsUrl, Qt as getBaselineDiffPlan, S as CI_TRUST_COMPANIES, St as Reporter, Vn as yieldToEventLoop, W as isCiEnvironment, an as hasPublishedFixRecipe, bt as Progress, cn as highlighter, cr as void_, en as getChangedLineRanges, fr as succeed, ir as runPromise, n as recordDistribution, nn as getDiffInfo, or as sync, ot as GITHUB_ACTIONS_SETUP_URL, pn as isPathInsideDirectory, t as recordCount, tt as DIAGNOSTIC_CATEGORY_BUCKETS, w as METRIC } from "./record-metric-
|
|
5
|
-
import { n as registerActiveTuiRenderer, t as exitGracefully } from "./exit-gracefully-
|
|
6
|
-
import { L as cliLogger, d as stripAnsi, f as isUnicodeSupported, l as isFullWidth$1, n as findNearestPackageDirectory, p as chalk, u as isWide$1 } from "./install-doctor-script-
|
|
7
|
-
import { i as isReactDoctorWorkflowInstalled } from "./install-github-workflow-
|
|
8
|
-
import { r as resolveScope, s as resolveBlockingLevel, t as finalizeScope, u as toForwardSlashes } from "./resolve-scope-
|
|
9
|
-
import { A as resolveMergeBaseRef, B as buildEmptyReportMessage, C as copyToClipboard, D as deduplicateProjectScans, E as collectProjectSourceFileCounts, F as printDiagnosticsDump, G as formatLearnMoreLine, H as buildRulePriorityMap, I as formatDiagnosticSite, L as hasIncompleteScoreAnalysis, M as pluralize, N as formatElapsedTime, O as createInvocationInspect, P as printFooter, R as filterDiagnosticsByCategories, S as CLI_AGENT_BINARIES, T as buildHandoffPayload, U as buildSortedRuleGroups, V as hasLintHardFailure, W as formatFixRecipeLine, _ 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 buildNoScoreMessage } from "./should-fail-scan-gate-
|
|
10
|
-
import { a as recordGate, f as ONBOARDING_EVENT, n as openUrl, r as isGatePending } from "./report-workflow-result-
|
|
4
|
+
import { $t as getCategoryImpact, B as isGitHookEnvironment, Cn as mapWithConcurrency, Dn as remainingDeadlineBudgetMs, I as TUI_REPORT_COMPACT_MAX_ROWS, It as calculateScore, L as TUI_REPORT_DETAIL_WIDTH_FRACTION, Mn as resolveScanTarget, Pt as buildRuleDocsUrl, Qt as getBaselineDiffPlan, S as CI_TRUST_COMPANIES, St as Reporter, Vn as yieldToEventLoop, W as isCiEnvironment, an as hasPublishedFixRecipe, bt as Progress, cn as highlighter, cr as void_, en as getChangedLineRanges, fr as succeed, ir as runPromise, n as recordDistribution, nn as getDiffInfo, or as sync, ot as GITHUB_ACTIONS_SETUP_URL, pn as isPathInsideDirectory, t as recordCount, tt as DIAGNOSTIC_CATEGORY_BUCKETS, w as METRIC } from "./record-metric-CMe2d1Xv.js";
|
|
5
|
+
import { n as registerActiveTuiRenderer, t as exitGracefully } from "./exit-gracefully-Cjv5kC_l.js";
|
|
6
|
+
import { L as cliLogger, d as stripAnsi, f as isUnicodeSupported, l as isFullWidth$1, n as findNearestPackageDirectory, p as chalk, u as isWide$1 } from "./install-doctor-script-D58Hr1dM.js";
|
|
7
|
+
import { i as isReactDoctorWorkflowInstalled } from "./install-github-workflow-DkMicv8E.js";
|
|
8
|
+
import { r as resolveScope, s as resolveBlockingLevel, t as finalizeScope, u as toForwardSlashes } from "./resolve-scope-CMNrOdDf.js";
|
|
9
|
+
import { A as resolveMergeBaseRef, B as buildEmptyReportMessage, C as copyToClipboard, D as deduplicateProjectScans, E as collectProjectSourceFileCounts, F as printDiagnosticsDump, G as formatLearnMoreLine, H as buildRulePriorityMap, I as formatDiagnosticSite, L as hasIncompleteScoreAnalysis, M as pluralize, N as formatElapsedTime, O as createInvocationInspect, P as printFooter, R as filterDiagnosticsByCategories, S as CLI_AGENT_BINARIES, T as buildHandoffPayload, U as buildSortedRuleGroups, V as hasLintHardFailure, W as formatFixRecipeLine, _ 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 buildNoScoreMessage } from "./should-fail-scan-gate-lMTlhEhE.js";
|
|
10
|
+
import { a as recordGate, f as ONBOARDING_EVENT, n as openUrl, r as isGatePending } from "./report-workflow-result-EagkH_v9.js";
|
|
11
11
|
import { EventEmitter } from "node:events";
|
|
12
12
|
import { execFileSync } from "node:child_process";
|
|
13
13
|
import path from "node:path";
|
|
@@ -20,7 +20,6 @@ import { performance as performance$1 } from "node:perf_hooks";
|
|
|
20
20
|
import tty from "node:tty";
|
|
21
21
|
import { getSkillAgentConfig } from "agent-install";
|
|
22
22
|
import Yoga from "yoga-layout";
|
|
23
|
-
import figures from "figures";
|
|
24
23
|
//#region ../../node_modules/.pnpm/react@19.2.5/node_modules/react/cjs/react.production.js
|
|
25
24
|
/**
|
|
26
25
|
* @license React
|
|
@@ -24066,6 +24065,15 @@ const resolveVisibleStart = ({ itemCount, offset, selectedIndex, viewportHeight
|
|
|
24066
24065
|
return boundedOffset;
|
|
24067
24066
|
};
|
|
24068
24067
|
//#endregion
|
|
24068
|
+
//#region src/cli/utils/terminal-symbols.ts
|
|
24069
|
+
const supportsUnicodeSymbols = process.platform !== "win32" ? process.env.TERM !== "linux" : Boolean(process.env.WT_SESSION) || Boolean(process.env.TERMINUS_SUBLIME) || process.env.ConEmuTask === "{cmd::Cmder}" || process.env.TERM_PROGRAM === "Terminus-Sublime" || process.env.TERM_PROGRAM === "vscode" || process.env.TERM === "xterm-256color" || process.env.TERM === "alacritty" || process.env.TERM === "rxvt-unicode" || process.env.TERM === "rxvt-unicode-256color" || process.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
|
|
24070
|
+
const terminalSymbols = {
|
|
24071
|
+
pointer: supportsUnicodeSymbols ? "❯" : ">",
|
|
24072
|
+
pointerSmall: "›",
|
|
24073
|
+
radioOn: supportsUnicodeSymbols ? "◉" : "(*)",
|
|
24074
|
+
radioOff: supportsUnicodeSymbols ? "◯" : "( )"
|
|
24075
|
+
};
|
|
24076
|
+
//#endregion
|
|
24069
24077
|
//#region src/cli/ink/hooks/use-exit-on-ctrl-c.ts
|
|
24070
24078
|
const SHOW_CURSOR = "\x1B[?25h";
|
|
24071
24079
|
const useExitOnCtrlC = (onCancel) => {
|
|
@@ -24558,11 +24566,11 @@ const ProjectSelect = ({ packages, rootDirectory, onSubmit }) => {
|
|
|
24558
24566
|
children: [
|
|
24559
24567
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, {
|
|
24560
24568
|
color: isSelected ? "cyan" : void 0,
|
|
24561
|
-
children: isSelected ? `${
|
|
24569
|
+
children: isSelected ? `${terminalSymbols.pointer} ` : " "
|
|
24562
24570
|
}),
|
|
24563
24571
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, {
|
|
24564
24572
|
color: isChecked ? "green" : void 0,
|
|
24565
|
-
children: isChecked ? `${
|
|
24573
|
+
children: isChecked ? `${terminalSymbols.radioOn} ` : `${terminalSymbols.radioOff} `
|
|
24566
24574
|
}),
|
|
24567
24575
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MatchedName, {
|
|
24568
24576
|
name: matchedPackage.workspacePackage.name,
|
|
@@ -24774,7 +24782,7 @@ const ActionMenu = ({ actions, selectedIndex: controlledSelectedIndex, onSelecti
|
|
|
24774
24782
|
color: isSelected ? "cyan" : void 0,
|
|
24775
24783
|
bold: isSelected,
|
|
24776
24784
|
children: [
|
|
24777
|
-
isSelected ?
|
|
24785
|
+
isSelected ? terminalSymbols.pointer : terminalSymbols.pointerSmall,
|
|
24778
24786
|
" ",
|
|
24779
24787
|
action.label
|
|
24780
24788
|
]
|
|
@@ -24785,12 +24793,20 @@ const ActionMenu = ({ actions, selectedIndex: controlledSelectedIndex, onSelecti
|
|
|
24785
24793
|
};
|
|
24786
24794
|
//#endregion
|
|
24787
24795
|
//#region src/cli/ink/components/agent-handoff.tsx
|
|
24788
|
-
const AgentHandoff = ({ agents, onSelect, onBack, onQuit }) => {
|
|
24789
|
-
const actions = agents.map((agentId) => ({
|
|
24796
|
+
const AgentHandoff = ({ agents, onSelect, onCopyPrompt, onBack, onQuit }) => {
|
|
24797
|
+
const actions = [...agents.map((agentId) => ({
|
|
24790
24798
|
id: agentId,
|
|
24791
24799
|
label: getSkillAgentConfig(agentId).displayName,
|
|
24792
24800
|
onSelect: () => onSelect(agentId)
|
|
24793
|
-
}))
|
|
24801
|
+
})), {
|
|
24802
|
+
id: "copy-prompt",
|
|
24803
|
+
label: "Copy prompt",
|
|
24804
|
+
description: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, {
|
|
24805
|
+
dimColor: true,
|
|
24806
|
+
children: "Paste into any agent or edit it first"
|
|
24807
|
+
}),
|
|
24808
|
+
onSelect: onCopyPrompt
|
|
24809
|
+
}];
|
|
24794
24810
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Box, {
|
|
24795
24811
|
flexDirection: "column",
|
|
24796
24812
|
children: [
|
|
@@ -24798,7 +24814,7 @@ const AgentHandoff = ({ agents, onSelect, onBack, onQuit }) => {
|
|
|
24798
24814
|
paddingLeft: 2,
|
|
24799
24815
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, {
|
|
24800
24816
|
bold: true,
|
|
24801
|
-
children: "Choose
|
|
24817
|
+
children: "Choose how to continue"
|
|
24802
24818
|
})
|
|
24803
24819
|
}),
|
|
24804
24820
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ActionMenu, {
|
|
@@ -25894,7 +25910,18 @@ const Report = ({ report, onExit, onQuit = onExit, launchableAgents = EMPTY_LAUN
|
|
|
25894
25910
|
width: isWide ? reportLayout.listColumnWidth : reportLayout.width
|
|
25895
25911
|
};
|
|
25896
25912
|
const isCiSetupAvailable = Boolean(canAddToCi && onAddToCi && !isCiSetupQueued);
|
|
25897
|
-
const isHandoffAvailable = diagnosticRows.length > 0 &&
|
|
25913
|
+
const isHandoffAvailable = diagnosticRows.length > 0 && Boolean(onHandoff);
|
|
25914
|
+
const completeHandoff = (destination) => {
|
|
25915
|
+
if (!onHandoff) return;
|
|
25916
|
+
onHandoff({
|
|
25917
|
+
destination,
|
|
25918
|
+
prompt: buildHandoffPayload({
|
|
25919
|
+
diagnostics: report.diagnostics,
|
|
25920
|
+
projectName: report.projectName
|
|
25921
|
+
})
|
|
25922
|
+
});
|
|
25923
|
+
onExit();
|
|
25924
|
+
};
|
|
25898
25925
|
const firstDiagnosticEntry = diagnosticListEntries.find((entry) => entry.kind === "item");
|
|
25899
25926
|
const resolvedViewerSelectedRowIndex = viewerSelectedRowIndex ?? (firstDiagnosticEntry?.kind === "item" ? firstDiagnosticEntry.rowIndex : null);
|
|
25900
25927
|
const markViewerRuleRead = (index) => {
|
|
@@ -25972,17 +25999,8 @@ const Report = ({ report, onExit, onQuit = onExit, launchableAgents = EMPTY_LAUN
|
|
|
25972
25999
|
});
|
|
25973
26000
|
else if (activeReportScreen === "handoff") activeScreenContent = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AgentHandoff, {
|
|
25974
26001
|
agents: launchableAgents,
|
|
25975
|
-
onSelect:
|
|
25976
|
-
|
|
25977
|
-
onHandoff({
|
|
25978
|
-
agentId,
|
|
25979
|
-
prompt: buildHandoffPayload({
|
|
25980
|
-
diagnostics: report.diagnostics,
|
|
25981
|
-
projectName: report.projectName
|
|
25982
|
-
})
|
|
25983
|
-
});
|
|
25984
|
-
onExit();
|
|
25985
|
-
},
|
|
26002
|
+
onSelect: completeHandoff,
|
|
26003
|
+
onCopyPrompt: () => completeHandoff("clipboard"),
|
|
25986
26004
|
onBack: () => setActiveReportScreen("landing"),
|
|
25987
26005
|
onQuit
|
|
25988
26006
|
});
|
|
@@ -27958,14 +27976,29 @@ const printExitFooter = async (input) => {
|
|
|
27958
27976
|
}));
|
|
27959
27977
|
};
|
|
27960
27978
|
const performTuiHandoff = async (request, rootDirectory) => {
|
|
27961
|
-
|
|
27962
|
-
|
|
27979
|
+
let failureMessage = null;
|
|
27980
|
+
if (request.destination === "clipboard") {
|
|
27981
|
+
const didCopy = await copyToClipboard(request.prompt);
|
|
27982
|
+
recordCount(METRIC.agentHandoff, 1, {
|
|
27983
|
+
outcome: "clipboard",
|
|
27984
|
+
source: "tui",
|
|
27985
|
+
copied: didCopy
|
|
27986
|
+
});
|
|
27987
|
+
if (didCopy) {
|
|
27988
|
+
process.stdout.write(`${highlighter.success("✔")} Copied the prompt to your clipboard.\n`);
|
|
27989
|
+
return;
|
|
27990
|
+
}
|
|
27991
|
+
failureMessage = "Couldn't access the clipboard. Here's the prompt instead:";
|
|
27992
|
+
} else try {
|
|
27993
|
+
await launchCliAgent(request.destination, request.prompt, rootDirectory);
|
|
27994
|
+
return;
|
|
27963
27995
|
} catch {
|
|
27964
|
-
|
|
27965
|
-
process.stdout.write(`${highlighter.dim("──── Agent prompt ────")}\n`);
|
|
27966
|
-
process.stdout.write(`${request.prompt}\n`);
|
|
27967
|
-
process.stdout.write(`${highlighter.dim("──────────────────────")}\n`);
|
|
27996
|
+
failureMessage = `Couldn't launch ${CLI_AGENT_BINARIES[request.destination]}. Here's the prompt instead:`;
|
|
27968
27997
|
}
|
|
27998
|
+
process.stdout.write(`${highlighter.warn("⚠")} ${failureMessage}\n`);
|
|
27999
|
+
process.stdout.write(`${highlighter.dim("──── Agent prompt ────")}\n`);
|
|
28000
|
+
process.stdout.write(`${request.prompt}\n`);
|
|
28001
|
+
process.stdout.write(`${highlighter.dim("──────────────────────")}\n`);
|
|
27969
28002
|
};
|
|
27970
28003
|
const isCiUnconfigured = (directory) => !isReactDoctorWorkflowInstalled(findNearestPackageDirectory(directory) ?? directory);
|
|
27971
28004
|
const performCiSetup = async (rootDirectory) => {
|
|
@@ -28314,5 +28347,5 @@ const runScanApp = async (input) => {
|
|
|
28314
28347
|
//#endregion
|
|
28315
28348
|
export { runScanApp };
|
|
28316
28349
|
|
|
28317
|
-
//# sourceMappingURL=run-scan-app-
|
|
28318
|
-
//# debugId=
|
|
28350
|
+
//# sourceMappingURL=run-scan-app-Ciq22jzp.js.map
|
|
28351
|
+
//# debugId=a056bffa-2376-545e-9d50-403fe3a33c1a
|
|
@@ -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]="
|
|
3
|
-
import { Mn as resolveScanTarget, t as recordCount, w as METRIC, z as isNonInteractiveEnvironment } from "./record-metric-
|
|
4
|
-
import { i as warnDeprecatedDiff } from "./resolve-scope-
|
|
5
|
-
import { _ as resolveCliInspectOptions, i as validateModeFlags } from "./should-fail-scan-gate-
|
|
6
|
-
import { n as warnDeprecatedFailOn, r as runProjectMigrations, t as inspectAction } from "./inspect-
|
|
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]="d9eaae83-31e2-50cd-9596-e38e29a1a858")}catch(e){}}();
|
|
3
|
+
import { Mn as resolveScanTarget, t as recordCount, w as METRIC, z as isNonInteractiveEnvironment } from "./record-metric-CMe2d1Xv.js";
|
|
4
|
+
import { i as warnDeprecatedDiff } from "./resolve-scope-CMNrOdDf.js";
|
|
5
|
+
import { _ as resolveCliInspectOptions, i as validateModeFlags } from "./should-fail-scan-gate-lMTlhEhE.js";
|
|
6
|
+
import { n as warnDeprecatedFailOn, r as runProjectMigrations, t as inspectAction } from "./inspect-kkvDHKDE.js";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
//#region src/cli/utils/should-use-tui.ts
|
|
9
9
|
const shouldUseTui = (input) => {
|
|
@@ -34,7 +34,7 @@ const runScanCommand = async (input) => {
|
|
|
34
34
|
warnDeprecatedFailOn(input.flags, scanTarget.userConfig);
|
|
35
35
|
warnDeprecatedDiff(input.flags, scanTarget.userConfig);
|
|
36
36
|
recordCount(METRIC.cliInvoked, 1, { command: input.invocationCommand });
|
|
37
|
-
const { runScanApp } = await import("./run-scan-app-
|
|
37
|
+
const { runScanApp } = await import("./run-scan-app-Ciq22jzp.js");
|
|
38
38
|
const { shouldFail } = await runScanApp({
|
|
39
39
|
directory: input.directory,
|
|
40
40
|
scanTarget,
|
|
@@ -49,5 +49,5 @@ const runScanCommand = async (input) => {
|
|
|
49
49
|
//#endregion
|
|
50
50
|
export { runScanCommand };
|
|
51
51
|
|
|
52
|
-
//# sourceMappingURL=scan-
|
|
53
|
-
//# debugId=
|
|
52
|
+
//# sourceMappingURL=scan-D4m5r4Rs.js.map
|
|
53
|
+
//# debugId=d9eaae83-31e2-50cd-9596-e38e29a1a858
|
|
@@ -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]="
|
|
3
|
-
import { $n as orElseSucceed, An as resolveReactDoctorCacheDir, Bt as computeConfigFingerprint, Cn as mapWithConcurrency, Ct as SHARE_BASE_URL, Dt as SidecarLintCacheEnabled, E as NANOSECONDS_PER_MILLISECOND, Et as Score, Ft as buildSkippedChecks, G as isCiOrCodingAgentEnvironment, Gn as log, Gt as discoverReactSubprojects, H as ACTION_INPUT_ENVIRONMENT_VARIABLES, Hn as Console, Ht as createNodeReadFileLinesSync, It as calculateScore, Jn as decodeUnknownSync, Jt as filterSourceFiles, Kn as warn, Kt as filterDiagnosticsForSurface, Ln as summarizeDiagnostics, Lt as canonicalizeUserRuleKey, Mn as resolveScanTarget, Mt as atomicWriteJson, Nn as restoreLegacyThrow, On as resolveGithubActionsScoreMetadata, Pn as runInspect, Pt as buildRuleDocsUrl, Qn as map, R as CliInputError, St as Reporter, Tn as mergeReactDoctorConfigs, U as detectRunnerOs, Un as error, Ut as createOxlintSpawnSlots, Vn as yieldToEventLoop, Vt as computeDiagnosticDelta, W as isCiEnvironment, X as CI_URL, Xn as gen, Zn as makeSpan, _ as makeNoopConsole, _r as ParentSpan, _t as OxlintConcurrency, an as hasPublishedFixRecipe, ar as runSync, at as Files, bn as listSourceFiles, bt as Progress, c as setSentryProjectInfo, cn as highlighter, ct as Git, d as isJsonModeActive, dn as isFile, er as promise, et as Config, fn as isMonorepoRoot, fr as succeed, ft as LintPartialFailures, g as VERSION, gn as isReactDoctorError, gr as void_, gt as OXLINT_NODE_REQUIREMENT, hr as fail, ht as NodeResolver, in as groupBy, ir as runPromise, it as ENTERPRISE_CONTACT_URL, jn as resolveScanConcurrency, k as SCAN_RESULT_CACHE_FILENAME, kn as resolveLintBatchOrdering, kt as SupplyChain, l as getRunId, ln as isDirectory, lt as HTML_FILE_PATTERN, mt as MILLISECONDS_PER_SECOND, n as recordDistribution, nr as provideContext, o as buildSentryScope, or as sync, pt as Linter, qn as Diagnostic, qt as filterPathsOutsideDirectories, r as toSpanAttributes, rr as provideService, rt as DeadCode, s as buildSentryProjectContext, sn as hashFileContents, sr as try_, st as GIT_SHOW_MAX_BUFFER_BYTES, t as recordCount, tn as getDiagnosticRuleIdentity, tr as provide, tt as DIAGNOSTIC_CATEGORY_BUCKETS, ur as mergeAll, ut as JSX_FILE_PATTERN, vn as isScanComplete, vt as OxlintSpawnSlots, w as METRIC, wn as materializeSourceTree, x as BASELINE_FILES_TEMP_DIR_PREFIX, xn as listWorkspacePackages, xt as Project, yt as PerFileLintCacheEnabled, z as isNonInteractiveEnvironment, zt as collectSourceFileCountsByDirectory } from "./record-metric-
|
|
4
|
-
import { a as setActiveRunTrace, i as recordRunTraceId, o as getTelemetryContext } from "./unref-stdin-
|
|
5
|
-
import { n as buildFooterLinkLines, r as activeScanAbortRegistry, t as buildSectionDivider } from "./build-section-divider-
|
|
6
|
-
import { D as getPackageJsonPath, L as cliLogger, O as isRecord, P as runGit, a as installReactDoctorScriptStep, c as spinner, n as findNearestPackageDirectory, o as isSpinnerSilent, s as setSpinnerSilent } from "./install-doctor-script-
|
|
7
|
-
import { d as detectDefaultBranch, l as prompts, r as installReactDoctorWorkflow, u as isCommandAvailable } from "./install-github-workflow-
|
|
8
|
-
import { a as isValidBlockingLevel, c as openWorkflowPullRequest, l as stageWorkflowFile, o as pickBlockingLevel, u as toForwardSlashes } from "./resolve-scope-
|
|
9
|
-
import { h as detectAvailableAgents, t as reportWorkflowResult } from "./report-workflow-result-
|
|
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]="d5dfd8c1-ba2c-54bc-b3a6-f6986ed8de06")}catch(e){}}();
|
|
3
|
+
import { $n as orElseSucceed, An as resolveReactDoctorCacheDir, Bt as computeConfigFingerprint, Cn as mapWithConcurrency, Ct as SHARE_BASE_URL, Dt as SidecarLintCacheEnabled, E as NANOSECONDS_PER_MILLISECOND, Et as Score, Ft as buildSkippedChecks, G as isCiOrCodingAgentEnvironment, Gn as log, Gt as discoverReactSubprojects, H as ACTION_INPUT_ENVIRONMENT_VARIABLES, Hn as Console, Ht as createNodeReadFileLinesSync, It as calculateScore, Jn as decodeUnknownSync, Jt as filterSourceFiles, Kn as warn, Kt as filterDiagnosticsForSurface, Ln as summarizeDiagnostics, Lt as canonicalizeUserRuleKey, Mn as resolveScanTarget, Mt as atomicWriteJson, Nn as restoreLegacyThrow, On as resolveGithubActionsScoreMetadata, Pn as runInspect, Pt as buildRuleDocsUrl, Qn as map, R as CliInputError, St as Reporter, Tn as mergeReactDoctorConfigs, U as detectRunnerOs, Un as error, Ut as createOxlintSpawnSlots, Vn as yieldToEventLoop, Vt as computeDiagnosticDelta, W as isCiEnvironment, X as CI_URL, Xn as gen, Zn as makeSpan, _ as makeNoopConsole, _r as ParentSpan, _t as OxlintConcurrency, an as hasPublishedFixRecipe, ar as runSync, at as Files, bn as listSourceFiles, bt as Progress, c as setSentryProjectInfo, cn as highlighter, ct as Git, d as isJsonModeActive, dn as isFile, er as promise, et as Config, fn as isMonorepoRoot, fr as succeed, ft as LintPartialFailures, g as VERSION, gn as isReactDoctorError, gr as void_, gt as OXLINT_NODE_REQUIREMENT, hr as fail, ht as NodeResolver, in as groupBy, ir as runPromise, it as ENTERPRISE_CONTACT_URL, jn as resolveScanConcurrency, k as SCAN_RESULT_CACHE_FILENAME, kn as resolveLintBatchOrdering, kt as SupplyChain, l as getRunId, ln as isDirectory, lt as HTML_FILE_PATTERN, mt as MILLISECONDS_PER_SECOND, n as recordDistribution, nr as provideContext, o as buildSentryScope, or as sync, pt as Linter, qn as Diagnostic, qt as filterPathsOutsideDirectories, r as toSpanAttributes, rr as provideService, rt as DeadCode, s as buildSentryProjectContext, sn as hashFileContents, sr as try_, st as GIT_SHOW_MAX_BUFFER_BYTES, t as recordCount, tn as getDiagnosticRuleIdentity, tr as provide, tt as DIAGNOSTIC_CATEGORY_BUCKETS, ur as mergeAll, ut as JSX_FILE_PATTERN, vn as isScanComplete, vt as OxlintSpawnSlots, w as METRIC, wn as materializeSourceTree, x as BASELINE_FILES_TEMP_DIR_PREFIX, xn as listWorkspacePackages, xt as Project, yt as PerFileLintCacheEnabled, z as isNonInteractiveEnvironment, zt as collectSourceFileCountsByDirectory } from "./record-metric-CMe2d1Xv.js";
|
|
4
|
+
import { a as setActiveRunTrace, i as recordRunTraceId, o as getTelemetryContext } from "./unref-stdin-Cxhw67r6.js";
|
|
5
|
+
import { n as buildFooterLinkLines, r as activeScanAbortRegistry, t as buildSectionDivider } from "./build-section-divider-Vz879zXD.js";
|
|
6
|
+
import { D as getPackageJsonPath, L as cliLogger, O as isRecord, P as runGit, a as installReactDoctorScriptStep, c as spinner, n as findNearestPackageDirectory, o as isSpinnerSilent, s as setSpinnerSilent } from "./install-doctor-script-D58Hr1dM.js";
|
|
7
|
+
import { d as detectDefaultBranch, l as prompts, r as installReactDoctorWorkflow, u as isCommandAvailable } from "./install-github-workflow-DkMicv8E.js";
|
|
8
|
+
import { a as isValidBlockingLevel, c as openWorkflowPullRequest, l as stageWorkflowFile, o as pickBlockingLevel, u as toForwardSlashes } from "./resolve-scope-CMNrOdDf.js";
|
|
9
|
+
import { h as detectAvailableAgents, t as reportWorkflowResult } from "./report-workflow-result-EagkH_v9.js";
|
|
10
10
|
import { createRequire } from "node:module";
|
|
11
11
|
import { spawn } from "node:child_process";
|
|
12
12
|
import * as path$1 from "node:path";
|
|
@@ -17,7 +17,6 @@ import crypto, { randomUUID } from "node:crypto";
|
|
|
17
17
|
import ts from "typescript";
|
|
18
18
|
import { tmpdir } from "node:os";
|
|
19
19
|
import { performance } from "node:perf_hooks";
|
|
20
|
-
import { codeFrameColumns } from "@babel/code-frame";
|
|
21
20
|
//#region src/cli/utils/apply-observability.ts
|
|
22
21
|
/**
|
|
23
22
|
* Installs the tracing backend for the inspect program.
|
|
@@ -2829,6 +2828,45 @@ const resolveProjectScan = async (rootScanTarget, projectDirectory) => {
|
|
|
2829
2828
|
};
|
|
2830
2829
|
};
|
|
2831
2830
|
//#endregion
|
|
2831
|
+
//#region src/cli/utils/highlight-code-line.ts
|
|
2832
|
+
const CODE_TOKEN_PATTERN = /\/\/.*|\/\*.*?\*\/|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|`(?:\\.|[^`\\])*`|\b(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|true|try|type|typeof|undefined|var|void|while|with|yield)\b|\b(?:0[xob][\da-f]+|\d+(?:\.\d+)?)\b/giu;
|
|
2833
|
+
const highlightCodeLine = (codeLine) => codeLine.replace(CODE_TOKEN_PATTERN, (token) => {
|
|
2834
|
+
if (token.startsWith("/")) return highlighter.gray(token);
|
|
2835
|
+
if (token.startsWith("\"") || token.startsWith("'") || token.startsWith("`")) return highlighter.success(token);
|
|
2836
|
+
if (/^\d|^0[xob]/i.test(token)) return highlighter.warn(token);
|
|
2837
|
+
return highlighter.info(token);
|
|
2838
|
+
});
|
|
2839
|
+
//#endregion
|
|
2840
|
+
//#region src/cli/utils/render-code-frame.ts
|
|
2841
|
+
const SOURCE_LINE_BREAK_PATTERN = /\r\n|[\n\r\u2028\u2029]/;
|
|
2842
|
+
const renderCodeFrame = ({ source, line, column, endLine, message, linesAbove, linesBelow, maximumLineLength }) => {
|
|
2843
|
+
const sourceLines = source.split(SOURCE_LINE_BREAK_PATTERN);
|
|
2844
|
+
if (line < 1 || line > sourceLines.length) return null;
|
|
2845
|
+
const offendingLine = sourceLines[line - 1];
|
|
2846
|
+
if (offendingLine === void 0 || offendingLine.length > maximumLineLength) return null;
|
|
2847
|
+
const lastMarkedLine = Math.min(Math.max(endLine ?? line, line), sourceLines.length);
|
|
2848
|
+
const firstDisplayedLine = Math.max(line - linesAbove, 1);
|
|
2849
|
+
const lastDisplayedLine = Math.min(lastMarkedLine + linesBelow, sourceLines.length);
|
|
2850
|
+
const lineNumberWidth = String(lastDisplayedLine).length;
|
|
2851
|
+
const hasCaret = lastMarkedLine === line && column !== void 0;
|
|
2852
|
+
const outputLines = [];
|
|
2853
|
+
if (message && !hasCaret) outputLines.push(`${" ".repeat(lineNumberWidth + 2)}${highlighter.error(message)}`);
|
|
2854
|
+
for (let displayedLineNumber = firstDisplayedLine; displayedLineNumber <= lastDisplayedLine; displayedLineNumber += 1) {
|
|
2855
|
+
const sourceLine = sourceLines[displayedLineNumber - 1] ?? "";
|
|
2856
|
+
const isMarked = displayedLineNumber >= line && displayedLineNumber <= lastMarkedLine;
|
|
2857
|
+
const gutter = ` ${String(displayedLineNumber).padStart(lineNumberWidth)} |`;
|
|
2858
|
+
const marker = isMarked ? highlighter.error(">") : " ";
|
|
2859
|
+
outputLines.push(`${marker}${highlighter.dim(gutter)}${sourceLine.length > 0 ? ` ${highlightCodeLine(sourceLine)}` : ""}`);
|
|
2860
|
+
if (isMarked && hasCaret) {
|
|
2861
|
+
const markerSpacing = sourceLine.slice(0, Math.max(column - 1, 0)).replace(/[^\t]/g, " ");
|
|
2862
|
+
const emptyGutter = gutter.replace(/\d/g, " ");
|
|
2863
|
+
const markerMessage = message ? ` ${highlighter.error(message)}` : "";
|
|
2864
|
+
outputLines.push(` ${highlighter.dim(emptyGutter)} ${markerSpacing}${highlighter.error("^")}${markerMessage}`);
|
|
2865
|
+
}
|
|
2866
|
+
}
|
|
2867
|
+
return outputLines.join("\n");
|
|
2868
|
+
};
|
|
2869
|
+
//#endregion
|
|
2832
2870
|
//#region src/cli/utils/resolve-absolute-path.ts
|
|
2833
2871
|
/**
|
|
2834
2872
|
* Resolves a diagnostic's `filePath` (relative to its project root, or
|
|
@@ -2855,19 +2893,16 @@ const buildCodeFrame = (input) => {
|
|
|
2855
2893
|
} catch {
|
|
2856
2894
|
return null;
|
|
2857
2895
|
}
|
|
2858
|
-
|
|
2859
|
-
|
|
2860
|
-
|
|
2861
|
-
end: { line: input.endLine }
|
|
2862
|
-
} : { start: {
|
|
2896
|
+
const endLine = input.endLine != null && input.endLine > input.line ? input.endLine : void 0;
|
|
2897
|
+
return renderCodeFrame({
|
|
2898
|
+
source,
|
|
2863
2899
|
line: input.line,
|
|
2864
|
-
column: input.column > 0 ? input.column : void 0
|
|
2865
|
-
|
|
2866
|
-
|
|
2867
|
-
highlightCode: true,
|
|
2900
|
+
column: endLine === void 0 && input.column > 0 ? input.column : void 0,
|
|
2901
|
+
endLine,
|
|
2902
|
+
message: input.message,
|
|
2868
2903
|
linesAbove: 1,
|
|
2869
2904
|
linesBelow: 1,
|
|
2870
|
-
|
|
2905
|
+
maximumLineLength: 200
|
|
2871
2906
|
});
|
|
2872
2907
|
};
|
|
2873
2908
|
//#endregion
|
|
@@ -2993,5 +3028,5 @@ const shouldFailScanGate = (input) => {
|
|
|
2993
3028
|
//#endregion
|
|
2994
3029
|
export { resolveMergeBaseRef as A, buildEmptyReportMessage as B, copyToClipboard as C, deduplicateProjectScans as D, collectProjectSourceFileCounts as E, printDiagnosticsDump as F, formatLearnMoreLine as G, buildRulePriorityMap as H, formatDiagnosticSite as I, hasIncompleteScoreAnalysis as L, pluralize as M, formatElapsedTime as N, createInvocationInspect as O, printFooter as P, filterDiagnosticsByCategories as R, CLI_AGENT_BINARIES as S, buildHandoffPayload as T, buildSortedRuleGroups as U, hasLintHardFailure as V, formatFixRecipeLine 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, buildNoScoreMessage as z };
|
|
2995
3030
|
|
|
2996
|
-
//# sourceMappingURL=should-fail-scan-gate-
|
|
2997
|
-
//# debugId=
|
|
3031
|
+
//# sourceMappingURL=should-fail-scan-gate-lMTlhEhE.js.map
|
|
3032
|
+
//# debugId=d5dfd8c1-ba2c-54bc-b3a6-f6986ed8de06
|
|
@@ -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]="
|
|
3
|
-
import { z as isNonInteractiveEnvironment } from "./record-metric-
|
|
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]="05cde194-2b40-558a-bef8-516987e69a93")}catch(e){}}();
|
|
3
|
+
import { z as isNonInteractiveEnvironment } from "./record-metric-CMe2d1Xv.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-
|
|
10
|
-
//# debugId=
|
|
9
|
+
//# sourceMappingURL=should-skip-prompts-mXKZBNCz.js.map
|
|
10
|
+
//# debugId=05cde194-2b40-558a-bef8-516987e69a93
|
|
@@ -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]="
|
|
3
|
-
import { En as messageFromUnknown, R as CliInputError, Yn as make, ar as runSync, g as VERSION, gn as isReactDoctorError, gr as void_, hn as isProjectDiscoveryError, i as isTelemetryEnabled, ir as runPromise, lr as buildWithScope, mr as makeUnsafe, pr as close, un as isErrnoException, yn as layerObservability } from "./record-metric-
|
|
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]="f3b95338-df70-58f8-b5df-3a1090942531")}catch(e){}}();
|
|
3
|
+
import { En as messageFromUnknown, R as CliInputError, Yn as make, ar as runSync, g as VERSION, gn as isReactDoctorError, gr as void_, hn as isProjectDiscoveryError, i as isTelemetryEnabled, ir as runPromise, lr as buildWithScope, mr as makeUnsafe, pr as close, un as isErrnoException, yn as layerObservability } from "./record-metric-CMe2d1Xv.js";
|
|
4
4
|
//#region src/cli/utils/is-environment-error.ts
|
|
5
5
|
const ENVIRONMENT_ERROR_CODES = new Set([
|
|
6
6
|
"EACCES",
|
|
@@ -223,5 +223,5 @@ const unrefStdin = () => {
|
|
|
223
223
|
//#endregion
|
|
224
224
|
export { setActiveRunTrace as a, isExpectedUserError as c, recordRunTraceId as i, formatEnvironmentError as l, getActiveRunTrace as n, getTelemetryContext as o, getLastRunTraceId as r, shutdownTelemetry as s, unrefStdin as t, isEnvironmentError as u };
|
|
225
225
|
|
|
226
|
-
//# sourceMappingURL=unref-stdin-
|
|
227
|
-
//# debugId=
|
|
226
|
+
//# sourceMappingURL=unref-stdin-Cxhw67r6.js.map
|
|
227
|
+
//# debugId=f3b95338-df70-58f8-b5df-3a1090942531
|
|
@@ -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]="
|
|
3
|
-
import { g as VERSION, t as recordCount, w as METRIC } from "./record-metric-
|
|
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]="5516ea52-a2ad-5c86-9ba7-80fb01a79cd1")}catch(e){}}();
|
|
3
|
+
import { g as VERSION, t as recordCount, w as METRIC } from "./record-metric-CMe2d1Xv.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-
|
|
21
|
-
//# debugId=
|
|
20
|
+
//# sourceMappingURL=version-CnvVY2VD.js.map
|
|
21
|
+
//# debugId=5516ea52-a2ad-5c86-9ba7-80fb01a79cd1
|
|
@@ -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]="
|
|
3
|
-
import { t as inspectAction } from "./inspect-
|
|
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]="94e8d580-22e7-5305-b9ab-885f6ebaa525")}catch(e){}}();
|
|
3
|
+
import { t as inspectAction } from "./inspect-kkvDHKDE.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-
|
|
21
|
-
//# debugId=
|
|
20
|
+
//# sourceMappingURL=why-BktDEhhH.js.map
|
|
21
|
+
//# debugId=94e8d580-22e7-5305-b9ab-885f6ebaa525
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-doctor",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.12-dev.a2b460d",
|
|
4
4
|
"description": "Your agent writes bad React. This catches it",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"accessibility",
|
|
@@ -51,17 +51,15 @@
|
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
53
|
"@astrojs/compiler": "^4.0.0",
|
|
54
|
-
"@babel/code-frame": "^7.29.0",
|
|
55
54
|
"@sentry/node": "^10.54.0",
|
|
56
55
|
"agent-install": "0.0.5",
|
|
57
56
|
"conf": "^15.1.0",
|
|
58
57
|
"confbox": "^0.2.4",
|
|
59
58
|
"eslint-plugin-react-hooks": "^7.1.1",
|
|
60
|
-
"figures": "^6.1.0",
|
|
61
59
|
"jiti": "^2.7.0",
|
|
62
60
|
"magicast": "^0.5.3",
|
|
63
61
|
"oxc-resolver": "^11.24.2",
|
|
64
|
-
"oxlint": ">=1.
|
|
62
|
+
"oxlint": ">=1.77.0 <1.78.0",
|
|
65
63
|
"prompts": "^2.4.2",
|
|
66
64
|
"typescript": ">=5.0.4 <6",
|
|
67
65
|
"vscode-languageserver": "^9.0.1",
|
|
@@ -69,8 +67,8 @@
|
|
|
69
67
|
"vscode-uri": "^3.1.0",
|
|
70
68
|
"yaml": "^2.9.0",
|
|
71
69
|
"yoga-layout": "~3.2.1",
|
|
72
|
-
"
|
|
73
|
-
"
|
|
70
|
+
"deslop-js": "0.9.12",
|
|
71
|
+
"oxlint-plugin-react-doctor": "0.9.12-dev.a2b460d"
|
|
74
72
|
},
|
|
75
73
|
"devDependencies": {
|
|
76
74
|
"@types/babel__code-frame": "^7.27.0",
|
|
@@ -83,9 +81,9 @@
|
|
|
83
81
|
"ora": "^9.4.0",
|
|
84
82
|
"react": "19.2.5",
|
|
85
83
|
"react-devtools-core": "^7.0.1",
|
|
86
|
-
"@react-doctor/api": "0.9.
|
|
87
|
-
"@react-doctor/core": "0.9.
|
|
88
|
-
"@react-doctor/language-server": "0.9.
|
|
84
|
+
"@react-doctor/api": "0.9.12",
|
|
85
|
+
"@react-doctor/core": "0.9.12",
|
|
86
|
+
"@react-doctor/language-server": "0.9.12"
|
|
89
87
|
},
|
|
90
88
|
"engines": {
|
|
91
89
|
"node": "^20.19.0 || >=22.13.0"
|