react-doctor 0.9.13-dev.1239043 → 0.9.13-dev.2e3f6eb
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-C09RcJrc.js → build-section-divider-DZA4c-cf.js} +7 -7
- package/dist/{ci-CUgNjCr-.js → ci-S0bTu0o7.js} +12 -12
- package/dist/cli.js +24 -24
- package/dist/{design-CX2j8ubS.js → design-B_e6HEZ7.js} +4 -4
- package/dist/{exit-gracefully-cGJM2g3O.js → exit-gracefully-DyTWDVj-.js} +6 -6
- package/dist/{handle-error-BCI-Nv3P.js → handle-error-4yYwwrfs.js} +5 -5
- package/dist/index.js +21 -41
- package/dist/{inspect-Dq5krKWG.js → inspect-CuGcOcRw.js} +17 -19
- package/dist/{install-C0aiZKgf.js → install-HI1T486C.js} +9 -9
- package/dist/{install-doctor-script-CaTIms0r.js → install-doctor-script-Deldi_8f.js} +4 -4
- package/dist/{install-github-workflow-DjPgXVqg.js → install-github-workflow-DSe3lec2.js} +5 -5
- package/dist/{install-react-doctor-C-PVDWXv.js → install-react-doctor-CF-vA_AY.js} +8 -8
- package/dist/{jsx-runtime-D_A4d39v.js → jsx-runtime-Dv23MVo2.js} +5 -5
- package/dist/{print-branded-header-Dz0SwyHQ.js → print-branded-header-DGdy9YGZ.js} +4 -4
- package/dist/project-analysis-worker.js +2 -2
- package/dist/{prompt-runtime-scan-url-BXdY2Opw.js → prompt-runtime-scan-url-CoDCW0Xw.js} +5 -5
- package/dist/{read-object-file-CmMGK1uu.js → read-object-file-CLvVP0OL.js} +4 -4
- package/dist/{record-metric-B6T_Ej33.js → record-metric-CFTeG4Ha.js} +24 -45
- package/dist/{report-error-DwL3b99q.js → report-error-B_O2ZFAv.js} +5 -5
- package/dist/{report-workflow-result-5PueDIAr.js → report-workflow-result-CjDXDNp9.js} +5 -5
- package/dist/{resolve-scope-CTlLl7e6.js → resolve-scope-B-trcJ7X.js} +6 -6
- package/dist/{rules-DEbHKRag.js → rules-VU4BYkQ8.js} +6 -6
- package/dist/{run-scan-app-D3huvmXJ.js → run-scan-app-BfeaRuV4.js} +20 -26
- package/dist/{runtime-scan-CHFAEYg3.js → runtime-scan-B_Eegbyo.js} +9 -9
- package/dist/{sanitize-runtime-url-Bbq40iIp.js → sanitize-runtime-url-hKKd5j5H.js} +4 -4
- package/dist/{scan-C7sCm7wi.js → scan-CrgcC-Rk.js} +9 -9
- package/dist/{should-fail-scan-gate-CfG_ppAV.js → should-fail-scan-gate-DE7RleKZ.js} +17 -42
- package/dist/{should-skip-prompts-BuNtAVEs.js → should-skip-prompts-BmYznvDr.js} +4 -4
- package/dist/{should-use-tui-B-lCjXVG.js → should-use-tui-dVbYKSDM.js} +4 -4
- package/dist/{telemetry-runtime-BF83aBFL.js → telemetry-runtime-D2l_bu0o.js} +4 -4
- package/dist/{version-C27gr4Qj.js → version-CB3K7ucz.js} +4 -4
- package/dist/{why-CYRkZ2VY.js → why-CCN3R7xM.js} +4 -4
- package/dist/{with-run-span-CdsXSJgE.js → with-run-span-BC-NFEo9.js} +5 -5
- package/package.json +4 -4
|
@@ -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]="
|
|
3
|
-
import { Kt as highlighter, N as SENTRY_FLUSH_TIMEOUT_MS, a as isEnvFlagEnabled, er as CANONICAL_GITHUB_URL, ft as anonymizeInPlace, hn as scrubSensitivePaths, i as isTelemetryEnabled, o as buildSentryScope, or as DOCS_URL, pt as anonymizeText } from "./record-metric-
|
|
4
|
-
import { r as isExpectedUserError } from "./telemetry-runtime-
|
|
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]="77f415be-8b2d-5565-9704-5574facaf227")}catch(e){}}();
|
|
3
|
+
import { Kt as highlighter, N as SENTRY_FLUSH_TIMEOUT_MS, a as isEnvFlagEnabled, er as CANONICAL_GITHUB_URL, ft as anonymizeInPlace, hn as scrubSensitivePaths, i as isTelemetryEnabled, o as buildSentryScope, or as DOCS_URL, pt as anonymizeText } from "./record-metric-CFTeG4Ha.js";
|
|
4
|
+
import { r as isExpectedUserError } from "./telemetry-runtime-D2l_bu0o.js";
|
|
5
5
|
import * as Sentry from "@sentry/node";
|
|
6
6
|
//#region src/cli/utils/scrub-sentry-event.ts
|
|
7
7
|
/**
|
|
@@ -70,13 +70,13 @@ const isDevVersion = (version) => version === "0.0.0" || version.includes("-");
|
|
|
70
70
|
* uploads source-map artifacts under, so stack frames symbolicate. Honors the
|
|
71
71
|
* standard `SENTRY_RELEASE` override.
|
|
72
72
|
*/
|
|
73
|
-
const resolveSentryRelease = () => process.env.SENTRY_RELEASE || `react-doctor@0.9.13-dev.
|
|
73
|
+
const resolveSentryRelease = () => process.env.SENTRY_RELEASE || `react-doctor@0.9.13-dev.2e3f6eb`;
|
|
74
74
|
/**
|
|
75
75
|
* Deployment environment shown in Sentry's environment filter. Defaults to
|
|
76
76
|
* `production` for tagged releases and `development` for dev/unbuilt versions,
|
|
77
77
|
* overridable via the standard `SENTRY_ENVIRONMENT` env var.
|
|
78
78
|
*/
|
|
79
|
-
const resolveSentryEnvironment = () => process.env.SENTRY_ENVIRONMENT || (isDevVersion("0.9.13-dev.
|
|
79
|
+
const resolveSentryEnvironment = () => process.env.SENTRY_ENVIRONMENT || (isDevVersion("0.9.13-dev.2e3f6eb") ? "development" : "production");
|
|
80
80
|
//#endregion
|
|
81
81
|
//#region src/instrument.ts
|
|
82
82
|
let isInitialized = false;
|
|
@@ -212,5 +212,5 @@ const buildSectionDivider = () => highlighter.dim(`${DIVIDER_INDENT}${"─".repe
|
|
|
212
212
|
//#endregion
|
|
213
213
|
export { initializeSentry as i, buildFooterLinkLines as n, flushSentry as r, buildSectionDivider as t };
|
|
214
214
|
|
|
215
|
-
//# sourceMappingURL=build-section-divider-
|
|
216
|
-
//# debugId=
|
|
215
|
+
//# sourceMappingURL=build-section-divider-DZA4c-cf.js.map
|
|
216
|
+
//# debugId=77f415be-8b2d-5565-9704-5574facaf227
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
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]="599188f3-4d6d-51a0-b455-711cd3adb878")}catch(e){}}();
|
|
3
3
|
import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-ChKA3wi6.js";
|
|
4
|
-
import { Kt as highlighter, T as METRIC, cr as GITHUB_ACTIONS_SETUP_URL, t as recordCount, tr as CI_URL, zn as runSync } from "./record-metric-
|
|
5
|
-
import { r as isExpectedUserError } from "./telemetry-runtime-
|
|
6
|
-
import { n as handleUserError, t as handleError } from "./handle-error-
|
|
7
|
-
import { t as reportErrorToSentry } from "./report-error-
|
|
8
|
-
import { M as cliLogger, c as spinner, n as findNearestPackageDirectory } from "./install-doctor-script-
|
|
9
|
-
import { a as readReactDoctorWorkflow, d as detectDefaultBranch, f as runCommand, l as prompts, n as getReactDoctorWorkflowPath, s as upgradeWorkflowActionToV2, t as buildWorkflowContent } from "./install-github-workflow-
|
|
10
|
-
import { a as isValidBlockingLevel, c as openWorkflowPullRequest, l as stageWorkflowFile, n as isScopeValue } from "./resolve-scope-
|
|
11
|
-
import { t as shouldSkipPrompts } from "./should-skip-prompts-
|
|
12
|
-
import { t as printBrandedHeader } from "./print-branded-header-
|
|
4
|
+
import { Kt as highlighter, T as METRIC, cr as GITHUB_ACTIONS_SETUP_URL, t as recordCount, tr as CI_URL, zn as runSync } from "./record-metric-CFTeG4Ha.js";
|
|
5
|
+
import { r as isExpectedUserError } from "./telemetry-runtime-D2l_bu0o.js";
|
|
6
|
+
import { n as handleUserError, t as handleError } from "./handle-error-4yYwwrfs.js";
|
|
7
|
+
import { t as reportErrorToSentry } from "./report-error-B_O2ZFAv.js";
|
|
8
|
+
import { M as cliLogger, c as spinner, n as findNearestPackageDirectory } from "./install-doctor-script-Deldi_8f.js";
|
|
9
|
+
import { a as readReactDoctorWorkflow, d as detectDefaultBranch, f as runCommand, l as prompts, n as getReactDoctorWorkflowPath, s as upgradeWorkflowActionToV2, t as buildWorkflowContent } from "./install-github-workflow-DSe3lec2.js";
|
|
10
|
+
import { a as isValidBlockingLevel, c as openWorkflowPullRequest, l as stageWorkflowFile, n as isScopeValue } from "./resolve-scope-B-trcJ7X.js";
|
|
11
|
+
import { t as shouldSkipPrompts } from "./should-skip-prompts-BmYznvDr.js";
|
|
12
|
+
import { t as printBrandedHeader } from "./print-branded-header-DGdy9YGZ.js";
|
|
13
13
|
import * as path$1 from "node:path";
|
|
14
14
|
import * as fs$1 from "node:fs";
|
|
15
15
|
//#region src/cli/utils/ci/ci-provider.ts
|
|
@@ -7498,5 +7498,5 @@ const ciConfigAction = (options) => runCiCommand("config", runCiConfig, options)
|
|
|
7498
7498
|
//#endregion
|
|
7499
7499
|
export { ciConfigAction, ciInstallAction, ciUpgradeAction };
|
|
7500
7500
|
|
|
7501
|
-
//# sourceMappingURL=ci-
|
|
7502
|
-
//# debugId=
|
|
7501
|
+
//# sourceMappingURL=ci-S0bTu0o7.js.map
|
|
7502
|
+
//# debugId=599188f3-4d6d-51a0-b455-711cd3adb878
|
package/dist/cli.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
|
|
2
2
|
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="2db05473-003e-52a5-853a-90e4f4f5ac96")}catch(e){}}();
|
|
3
3
|
import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-ChKA3wi6.js";
|
|
4
|
-
import { H as isDebugFlagEnabled, Jt as isPathInsideDirectory, Kt as highlighter, Nt as filterSourceFiles, _ as VERSION, d as isJsonModeActive, er as CANONICAL_GITHUB_URL, gn as setColorEnabled, h as writeJsonErrorReport, i as isTelemetryEnabled, tr as CI_URL, xr as isFile, yr as isDirectory, z as CliInputError } from "./record-metric-
|
|
5
|
-
import { n as shutdownTelemetry, r as isExpectedUserError } from "./telemetry-runtime-
|
|
6
|
-
import { i as initializeSentry, r as flushSentry } from "./build-section-divider-
|
|
7
|
-
import { t as exitGracefully } from "./exit-gracefully-
|
|
8
|
-
import { n as handleUserError, t as handleError } from "./handle-error-
|
|
4
|
+
import { H as isDebugFlagEnabled, Jt as isPathInsideDirectory, Kt as highlighter, Nt as filterSourceFiles, _ as VERSION, d as isJsonModeActive, er as CANONICAL_GITHUB_URL, gn as setColorEnabled, h as writeJsonErrorReport, i as isTelemetryEnabled, tr as CI_URL, xr as isFile, yr as isDirectory, z as CliInputError } from "./record-metric-CFTeG4Ha.js";
|
|
5
|
+
import { n as shutdownTelemetry, r as isExpectedUserError } from "./telemetry-runtime-D2l_bu0o.js";
|
|
6
|
+
import { i as initializeSentry, r as flushSentry } from "./build-section-divider-DZA4c-cf.js";
|
|
7
|
+
import { t as exitGracefully } from "./exit-gracefully-DyTWDVj-.js";
|
|
8
|
+
import { n as handleUserError, t as handleError } from "./handle-error-4yYwwrfs.js";
|
|
9
9
|
import { n as getLastRunTraceId } from "./active-run-trace-dlIZeEvb.js";
|
|
10
|
-
import { t as reportErrorToSentry } from "./report-error-
|
|
10
|
+
import { t as reportErrorToSentry } from "./report-error-B_O2ZFAv.js";
|
|
11
11
|
import { t as toForwardSlashes } from "./path-format-DnHpmJwG.js";
|
|
12
12
|
import { t as unrefStdin } from "./unref-stdin-SK3WfwxS.js";
|
|
13
13
|
import { execFileSync } from "node:child_process";
|
|
@@ -3557,7 +3557,7 @@ ${highlighter.dim("Learn more:")}
|
|
|
3557
3557
|
const collectCategoryOption = (value, previousValues) => [...previousValues ?? [], value];
|
|
3558
3558
|
const program = new Command().name("react-doctor").description("Diagnose React codebase health").version(VERSION, "-v, --version", "display the version number").argument("[paths...]", "one project directory or source file paths to scan").option("--lint", "enable linting").option("--no-lint", "skip linting").addOption(new Option("--dead-code").hideHelp()).addOption(new Option("--no-dead-code").hideHelp()).option("--supply-chain", "enable the dependency supply-chain scan (default)").option("--no-supply-chain", "skip the dependency supply-chain scan (Socket.dev dependency health checks)").option("--verbose", "show every rule and per-file details (default shows top 3 rules)").option("--debug", "force a Sentry trace and print its id at the end (paste it into a bug report)").option("--output-dir <dir>", "directory for the full diagnostics dump (default: a temp folder)").option("--score", "output only the score").option("--json", "output a single structured JSON report (suppresses other output)").option("--json-compact", "with --json, emit compact JSON (no indentation)").option("--json-out <path>", "with --json, write the report to a file instead of stdout").option("--no-cache", "disable all scan caches for this run").option("-y, --yes", "skip prompts, scan all workspace projects").option("--no-parallel", "lint serially with one worker (default: parallel across CPU cores; set the worker count with REACT_DOCTOR_PARALLEL)").option("--project <name>", "select projects: workspace names or directory paths (comma-separated for multiple); overrides the `projects` config field").option("--scope <value>", "how much supported JS/TS and inline HTML script source to scan/report: full (default), files, changed (only new issues vs base), or lines (issues whose source spans touch changed lines)").option("--base <ref>", "base git ref for files/changed/lines scope (auto-detected when omitted)").option("--include-untracked", "with --scope files/changed/lines, also scan ordinary untracked files (respects .gitignore)").addOption(new Option("--diff [base]", "[deprecated] alias for --scope changed (pass `false` to force a full scan)").hideHelp()).addOption(new Option("--changed-files-from <file>", "scan source files listed in a newline-delimited changed-files file").hideHelp()).option("--no-score", "skip the score API, the share URL, and crash reporting").addOption(new Option("--category <category>", "only show diagnostics in a category (repeatable; e.g. Security)").argParser(collectCategoryOption)).option("--no-telemetry", "alias for --no-score (skip the score API, share URL, and crash reporting)").option("--staged", "scan only staged (git index) files for pre-commit hooks (honors --project and config `projects`; exits 0 when nothing is staged)").option("--max-duration <seconds>", MAX_DURATION_OPTION_DESCRIPTION).option("--blocking <level>", "severity that fails CI: error (default), warning, or none (advisory)").addOption(new Option("--fail-on <level>", "[deprecated] alias for --blocking <level>").hideHelp()).option("--no-respect-inline-disables", "audit mode: neutralize inline lint suppressions before scanning").option("--warnings", "show warning-severity diagnostics (default)").option("--no-warnings", "hide warning-severity diagnostics (errors only)").option("--color", "force colored output").option("--no-color", "disable colored output (also honors NO_COLOR)").addHelpText("after", renderRootHelpEpilog);
|
|
3559
3559
|
program.action(async (positionalPaths = [], flags) => {
|
|
3560
|
-
const { runScanCommand } = await import("./scan-
|
|
3560
|
+
const { runScanCommand } = await import("./scan-CrgcC-Rk.js");
|
|
3561
3561
|
return runScanCommand({
|
|
3562
3562
|
...resolvePositionalScanInput(positionalPaths),
|
|
3563
3563
|
flags,
|
|
@@ -3565,75 +3565,75 @@ program.action(async (positionalPaths = [], flags) => {
|
|
|
3565
3565
|
});
|
|
3566
3566
|
});
|
|
3567
3567
|
program.command("design [directory]").description("Run only the focused UI design diagnostics").addHelpText("after", renderDesignHelpEpilog).action(async (directory, _options, command) => {
|
|
3568
|
-
const { designAction } = await import("./design-
|
|
3568
|
+
const { designAction } = await import("./design-B_e6HEZ7.js");
|
|
3569
3569
|
return designAction(directory ?? ".", command.optsWithGlobals());
|
|
3570
3570
|
});
|
|
3571
3571
|
program.command("scan").description("Scan a React interaction in Chrome until you press Enter").argument("[url]", "HTTP(S) URL of the running React app; detects local apps when omitted").option("-f, --format <format>", "report format: text, json, or jsonl", "text").option("--cdp <url>", "reuse Chrome at this remote-debugging endpoint").option("--trace-out <path>", "save the compressed .json.gz DevTools trace at this path").addHelpText("after", renderRuntimeScanHelpEpilog).action(async (url, options) => {
|
|
3572
|
-
const { runtimeScanAction } = await import("./runtime-scan-
|
|
3572
|
+
const { runtimeScanAction } = await import("./runtime-scan-B_Eegbyo.js");
|
|
3573
3573
|
return runtimeScanAction(url, options);
|
|
3574
3574
|
});
|
|
3575
3575
|
program.command("why <location>").description("Explain why a rule fired (or why a suppression didn't apply) at a file:line").option("--project <name>", "select projects: workspace names or directory paths (comma-separated for multiple)").option("-c, --cwd <cwd>", "working directory", process.cwd()).option("--color", "force colored output").option("--no-color", "disable colored output (also honors NO_COLOR)").action(async (location, options) => {
|
|
3576
|
-
const { whyAction } = await import("./why-
|
|
3576
|
+
const { whyAction } = await import("./why-CCN3R7xM.js");
|
|
3577
3577
|
return whyAction(location, options);
|
|
3578
3578
|
});
|
|
3579
3579
|
program.command("install").alias("setup").description("Install the react-doctor skill into your coding agents and optional git hook").option("-y, --yes", "skip prompts, install for all detected agents").option("--dry-run", "show what would be installed without writing files").option("--agent-hooks", "install end-of-turn agent hooks for Claude Code and Cursor").option("-c, --cwd <cwd>", "working directory", process.cwd()).option("--color", "force colored output").option("--no-color", "disable colored output (also honors NO_COLOR)").addHelpText("after", renderInstallHelpEpilog).action(async (options, command) => {
|
|
3580
|
-
const { installAction } = await import("./install-
|
|
3580
|
+
const { installAction } = await import("./install-HI1T486C.js");
|
|
3581
3581
|
return installAction(options, command);
|
|
3582
3582
|
});
|
|
3583
3583
|
const providerOption = ["--provider <name>", "ci provider: github-actions or gitlab-ci (auto-detected by default)"];
|
|
3584
3584
|
const prOption = ["--pr", "open a pull request with the change instead of writing it to the working tree"];
|
|
3585
3585
|
const ci = program.command("ci").description("Set up, upgrade, and configure React Doctor in your CI");
|
|
3586
3586
|
ci.command("install").description("Add a CI workflow that scans every pull request").option(...providerOption).option(...prOption).option("--blocking <level>", "gate level: none (advisory, default), warning, or error").option("--scope <value>", "what a pull-request scan reports: changed (default), files, lines, full").option("--comment", "post a summary comment on each pull request").option("--no-comment", "don't post a summary comment").option("--review-comments", "add inline review comments on changed lines").option("--no-review-comments", "don't add inline review comments").option("--commit-status", "report a commit status with the health score").option("--no-commit-status", "don't report a commit status").option("-y, --yes", "skip prompts; use the defaults").option("-c, --cwd <cwd>", "working directory", process.cwd()).option("--color", "force colored output").option("--no-color", "disable colored output (also honors NO_COLOR)").addHelpText("after", renderCiHelpEpilog).action(async (_options, command) => {
|
|
3587
|
-
const { ciInstallAction } = await import("./ci-
|
|
3587
|
+
const { ciInstallAction } = await import("./ci-S0bTu0o7.js");
|
|
3588
3588
|
return ciInstallAction(command.optsWithGlobals());
|
|
3589
3589
|
});
|
|
3590
3590
|
ci.command("config").description("Change the gate, scan scope, and pull-request reporting").option(...providerOption).option("--blocking <level>", "gate level: none (advisory), warning, or error").option("--scope <value>", "what a pull-request scan reports: changed, files, lines, or full").option("--comment", "post a summary comment on each pull request").option("--no-comment", "don't post a summary comment").option("--review-comments", "add inline review comments on changed lines").option("--no-review-comments", "don't add inline review comments").option("--commit-status", "report a commit status with the health score").option("--no-commit-status", "don't report a commit status").option("-y, --yes", "skip prompts; print the current settings").option("-c, --cwd <cwd>", "working directory", process.cwd()).option("--color", "force colored output").option("--no-color", "disable colored output (also honors NO_COLOR)").action(async (_options, command) => {
|
|
3591
|
-
const { ciConfigAction } = await import("./ci-
|
|
3591
|
+
const { ciConfigAction } = await import("./ci-S0bTu0o7.js");
|
|
3592
3592
|
return ciConfigAction(command.optsWithGlobals());
|
|
3593
3593
|
});
|
|
3594
3594
|
ci.command("upgrade").description("Upgrade the CI workflow to the action's current major").option(...providerOption).option(...prOption).option("-y, --yes", "skip prompts").option("-c, --cwd <cwd>", "working directory", process.cwd()).option("--color", "force colored output").option("--no-color", "disable colored output (also honors NO_COLOR)").action(async (_options, command) => {
|
|
3595
|
-
const { ciUpgradeAction } = await import("./ci-
|
|
3595
|
+
const { ciUpgradeAction } = await import("./ci-S0bTu0o7.js");
|
|
3596
3596
|
return ciUpgradeAction(command.optsWithGlobals());
|
|
3597
3597
|
});
|
|
3598
3598
|
program.command("version").description("show the version with Node and platform info").option("--color", "force colored output").option("--no-color", "disable colored output (also honors NO_COLOR)").action(async () => {
|
|
3599
|
-
const { versionAction } = await import("./version-
|
|
3599
|
+
const { versionAction } = await import("./version-CB3K7ucz.js");
|
|
3600
3600
|
return versionAction();
|
|
3601
3601
|
});
|
|
3602
3602
|
const rules = program.command("rules").description("List, explain, and configure which React Doctor rules run");
|
|
3603
3603
|
rules.command("list").description("List rules and the severity they run at under your config").option("--category <name>", "only show rules in a category (e.g. Performance)").option("--tag <name>", "only show rules with a tag (e.g. design, test-noise)").option("--framework <name>", "only show rules for a framework (e.g. global, nextjs)").option("--configured", "only show rules your config has changed from the default").option("--json", "output a structured JSON array").option("-c, --cwd <cwd>", "working directory", process.cwd()).action(async (_options, command) => {
|
|
3604
|
-
const { rulesListAction } = await import("./rules-
|
|
3604
|
+
const { rulesListAction } = await import("./rules-VU4BYkQ8.js");
|
|
3605
3605
|
return rulesListAction(command.optsWithGlobals());
|
|
3606
3606
|
});
|
|
3607
3607
|
rules.command("explain <rule>").description("Explain why a rule matters, its current severity, and how to configure it").option("--json", "output a structured JSON object").option("-c, --cwd <cwd>", "working directory", process.cwd()).action(async (rule, _options, command) => {
|
|
3608
|
-
const { rulesExplainAction } = await import("./rules-
|
|
3608
|
+
const { rulesExplainAction } = await import("./rules-VU4BYkQ8.js");
|
|
3609
3609
|
return rulesExplainAction(rule, command.optsWithGlobals());
|
|
3610
3610
|
});
|
|
3611
3611
|
rules.command("set <rule> <severity>").description("Set a rule's severity: off, warn, or error").option("-c, --cwd <cwd>", "working directory", process.cwd()).action(async (rule, severity, _options, command) => {
|
|
3612
|
-
const { rulesSetAction } = await import("./rules-
|
|
3612
|
+
const { rulesSetAction } = await import("./rules-VU4BYkQ8.js");
|
|
3613
3613
|
return rulesSetAction(rule, severity, command.optsWithGlobals());
|
|
3614
3614
|
});
|
|
3615
3615
|
rules.command("enable <rule>").description("Enable a rule at its recommended severity (or pass --severity)").option("--severity <level>", "severity to enable at: warn or error").option("-c, --cwd <cwd>", "working directory", process.cwd()).action(async (rule, _options, command) => {
|
|
3616
|
-
const { rulesEnableAction } = await import("./rules-
|
|
3616
|
+
const { rulesEnableAction } = await import("./rules-VU4BYkQ8.js");
|
|
3617
3617
|
return rulesEnableAction(rule, command.optsWithGlobals());
|
|
3618
3618
|
});
|
|
3619
3619
|
rules.command("disable <rule>").description("Disable a rule so it never runs").option("-c, --cwd <cwd>", "working directory", process.cwd()).action(async (rule, _options, command) => {
|
|
3620
|
-
const { rulesDisableAction } = await import("./rules-
|
|
3620
|
+
const { rulesDisableAction } = await import("./rules-VU4BYkQ8.js");
|
|
3621
3621
|
return rulesDisableAction(rule, command.optsWithGlobals());
|
|
3622
3622
|
});
|
|
3623
3623
|
rules.command("category <category> <severity>").description("Set the severity for a whole category (off, warn, error)").option("-c, --cwd <cwd>", "working directory", process.cwd()).action(async (category, severity, _options, command) => {
|
|
3624
|
-
const { rulesCategoryAction } = await import("./rules-
|
|
3624
|
+
const { rulesCategoryAction } = await import("./rules-VU4BYkQ8.js");
|
|
3625
3625
|
return rulesCategoryAction(category, severity, command.optsWithGlobals());
|
|
3626
3626
|
});
|
|
3627
3627
|
rules.command("ignore-tag <tag>").description("Skip a whole rule family by tag before linting (e.g. design)").option("-c, --cwd <cwd>", "working directory", process.cwd()).action(async (tag, _options, command) => {
|
|
3628
|
-
const { rulesIgnoreTagAction } = await import("./rules-
|
|
3628
|
+
const { rulesIgnoreTagAction } = await import("./rules-VU4BYkQ8.js");
|
|
3629
3629
|
return rulesIgnoreTagAction(tag, command.optsWithGlobals());
|
|
3630
3630
|
});
|
|
3631
3631
|
rules.command("unignore-tag <tag>").description("Stop ignoring a tag previously skipped via ignore-tag").option("-c, --cwd <cwd>", "working directory", process.cwd()).action(async (tag, _options, command) => {
|
|
3632
|
-
const { rulesUnignoreTagAction } = await import("./rules-
|
|
3632
|
+
const { rulesUnignoreTagAction } = await import("./rules-VU4BYkQ8.js");
|
|
3633
3633
|
return rulesUnignoreTagAction(tag, command.optsWithGlobals());
|
|
3634
3634
|
});
|
|
3635
3635
|
program.command("experimental-tui [directory]", { hidden: true }).description("[experimental] interactive, scrollable scan report").option("--blocking <level>", "severity that fails CI: error (default), warning, or none (advisory)").option("--color", "force colored output").option("--no-color", "disable colored output (also honors NO_COLOR)").addOption(new Option("--no-dead-code").hideHelp()).option("--no-supply-chain", "skip the dependency supply-chain scan").option("--score", "only print the numeric score (for scripts and CI)").option("--no-score", "skip the score API, the share URL, and crash reporting").option("--no-cache", "disable all scan caches for this run").option("--max-duration <seconds>", MAX_DURATION_OPTION_DESCRIPTION).option("-p, --project <names>", "scan specific workspace projects (comma-separated, or *)").option("-y, --yes", "skip the project prompt and scan every discovered project").action(async (directory = ".", _localOptions, command) => {
|
|
3636
|
-
const { runScanCommand } = await import("./scan-
|
|
3636
|
+
const { runScanCommand } = await import("./scan-CrgcC-Rk.js");
|
|
3637
3637
|
return runScanCommand({
|
|
3638
3638
|
directory,
|
|
3639
3639
|
flags: command.optsWithGlobals(),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
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]="41ba5f61-8931-5876-a57a-767d86bfba38")}catch(e){}}();
|
|
3
|
+
import { t as inspectAction } from "./inspect-CuGcOcRw.js";
|
|
4
4
|
//#region src/cli/commands/design.ts
|
|
5
5
|
const designAction = async (directory, flags) => inspectAction(directory, {
|
|
6
6
|
...flags,
|
|
@@ -10,5 +10,5 @@ const designAction = async (directory, flags) => inspectAction(directory, {
|
|
|
10
10
|
//#endregion
|
|
11
11
|
export { designAction };
|
|
12
12
|
|
|
13
|
-
//# sourceMappingURL=design-
|
|
14
|
-
//# debugId=
|
|
13
|
+
//# sourceMappingURL=design-B_e6HEZ7.js.map
|
|
14
|
+
//# debugId=41ba5f61-8931-5876-a57a-767d86bfba38
|
|
@@ -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 { d as isJsonModeActive, m as writeJsonCancellationReport } from "./record-metric-
|
|
4
|
-
import { n as shutdownTelemetry } from "./telemetry-runtime-
|
|
5
|
-
import { n as buildFooterLinkLines, r as flushSentry, t as buildSectionDivider } from "./build-section-divider-
|
|
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]="c4179b72-9eb6-58a0-8d4d-e43bc68447f1")}catch(e){}}();
|
|
3
|
+
import { d as isJsonModeActive, m as writeJsonCancellationReport } from "./record-metric-CFTeG4Ha.js";
|
|
4
|
+
import { n as shutdownTelemetry } from "./telemetry-runtime-D2l_bu0o.js";
|
|
5
|
+
import { n as buildFooterLinkLines, r as flushSentry, t as buildSectionDivider } from "./build-section-divider-DZA4c-cf.js";
|
|
6
6
|
import { t as activeScanAbortRegistry } from "./active-scan-abort-registry-DwG6tSPy.js";
|
|
7
7
|
//#region src/cli/utils/active-tui-renderer.ts
|
|
8
8
|
let activeTuiRenderer = null;
|
|
@@ -50,5 +50,5 @@ const exitGracefully = () => {
|
|
|
50
50
|
//#endregion
|
|
51
51
|
export { registerActiveTuiRenderer as n, exitGracefully as t };
|
|
52
52
|
|
|
53
|
-
//# sourceMappingURL=exit-gracefully-
|
|
54
|
-
//# debugId=
|
|
53
|
+
//# sourceMappingURL=exit-gracefully-DyTWDVj-.js.map
|
|
54
|
+
//# debugId=c4179b72-9eb6-58a0-8d4d-e43bc68447f1
|
|
@@ -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]="
|
|
3
|
-
import { $n as CANONICAL_DISCORD_URL, An as gen, Cn as error, Ft as formatErrorChain, It as formatReactDoctorError, Kt as highlighter, T as METRIC, Xt as isReactDoctorError, _ as VERSION, br as isErrnoException, er as CANONICAL_GITHUB_URL, t as recordCount, zn as runSync } from "./record-metric-
|
|
4
|
-
import { a as isNpmCacheCorruptionError, i as formatNpmCacheCorruptionError, o as formatEnvironmentError, s as isEnvironmentError } from "./telemetry-runtime-
|
|
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]="8ef00521-2791-5b1e-a2f4-a1f665e38811")}catch(e){}}();
|
|
3
|
+
import { $n as CANONICAL_DISCORD_URL, An as gen, Cn as error, Ft as formatErrorChain, It as formatReactDoctorError, Kt as highlighter, T as METRIC, Xt as isReactDoctorError, _ as VERSION, br as isErrnoException, er as CANONICAL_GITHUB_URL, t as recordCount, zn as runSync } from "./record-metric-CFTeG4Ha.js";
|
|
4
|
+
import { a as isNpmCacheCorruptionError, i as formatNpmCacheCorruptionError, o as formatEnvironmentError, s as isEnvironmentError } from "./telemetry-runtime-D2l_bu0o.js";
|
|
5
5
|
//#region src/cli/utils/handle-error.ts
|
|
6
6
|
const OTLP_ENDPOINT_ENVIRONMENT_VARIABLE = "REACT_DOCTOR_OTLP_ENDPOINT";
|
|
7
7
|
const OTLP_AUTH_HEADER_ENVIRONMENT_VARIABLE = "REACT_DOCTOR_OTLP_AUTH_HEADER";
|
|
@@ -110,5 +110,5 @@ const handleUserError = (error$1, options = {}) => {
|
|
|
110
110
|
//#endregion
|
|
111
111
|
export { handleUserError as n, handleError as t };
|
|
112
112
|
|
|
113
|
-
//# sourceMappingURL=handle-error-
|
|
114
|
-
//# debugId=
|
|
113
|
+
//# sourceMappingURL=handle-error-4yYwwrfs.js.map
|
|
114
|
+
//# debugId=8ef00521-2791-5b1e-a2f4-a1f665e38811
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="5453bc11-5691-5788-ba63-d87c0b7a6bff")}catch(e){}}();
|
|
3
3
|
import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-ChKA3wi6.js";
|
|
4
4
|
import { createRequire } from "node:module";
|
|
5
5
|
import * as path$1$1 from "node:path";
|
|
@@ -1884,7 +1884,7 @@ var require_picomatch$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
1884
1884
|
module.exports = picomatch;
|
|
1885
1885
|
}));
|
|
1886
1886
|
//#endregion
|
|
1887
|
-
//#region ../core/dist/collect-unplugin-auto-import-global-scopes-
|
|
1887
|
+
//#region ../core/dist/collect-unplugin-auto-import-global-scopes-Dwzr_czq.js
|
|
1888
1888
|
var import_picomatch = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
1889
1889
|
const pico = require_picomatch$1();
|
|
1890
1890
|
const utils = require_utils();
|
|
@@ -2246,7 +2246,7 @@ const SUPPLY_CHAIN_OVERLAP_TIMEOUT_MS = 9e4;
|
|
|
2246
2246
|
const SUPPLY_CHAIN_CACHE_TTL_MS = 864e5;
|
|
2247
2247
|
const SUPPLY_CHAIN_CACHE_SUBDIR = "supply-chain";
|
|
2248
2248
|
const SUPPLY_CHAIN_IGNORED_PACKAGES = new Set(["next"]);
|
|
2249
|
-
const JSX_DUPLICATION_SOURCE_FILE_PATTERN = /\.[cm]?
|
|
2249
|
+
const JSX_DUPLICATION_SOURCE_FILE_PATTERN = /\.[cm]?[jt]sx?$/;
|
|
2250
2250
|
const MAINTAINABILITY_PLUGIN = "react-doctor";
|
|
2251
2251
|
const MAINTAINABILITY_DUPLICATE_JSX_RULE = "duplicate-jsx-subtree";
|
|
2252
2252
|
const MAINTAINABILITY_CATEGORY = "Maintainability";
|
|
@@ -64531,14 +64531,6 @@ const isLargeMinifiedFile = (absolutePath, knownSizeBytes) => {
|
|
|
64531
64531
|
cachedIsLargeMinifiedByPath.set(absolutePath, result);
|
|
64532
64532
|
return result;
|
|
64533
64533
|
};
|
|
64534
|
-
const isMissingPath = (absolutePath) => {
|
|
64535
|
-
try {
|
|
64536
|
-
fs$1$3.statSync(absolutePath);
|
|
64537
|
-
return false;
|
|
64538
|
-
} catch (error) {
|
|
64539
|
-
return isErrnoException(error) && error.code === "ENOENT";
|
|
64540
|
-
}
|
|
64541
|
-
};
|
|
64542
64534
|
function* walkSourceTreeFiles(rootDirectory) {
|
|
64543
64535
|
const stack = [rootDirectory];
|
|
64544
64536
|
while (stack.length > 0) {
|
|
@@ -64560,21 +64552,16 @@ function* walkSourceTreeFiles(rootDirectory) {
|
|
|
64560
64552
|
const yieldToEventLoop = () => new Promise((resolve) => {
|
|
64561
64553
|
setImmediate(resolve);
|
|
64562
64554
|
});
|
|
64563
|
-
const toSizedSourceFileEntry = (rootDirectory, relativePath) => {
|
|
64564
|
-
const absolutePath = path$1$1.resolve(rootDirectory, relativePath);
|
|
64565
|
-
const sizeBytes = statSourceFileSize(absolutePath);
|
|
64566
|
-
if (sizeBytes === null && isMissingPath(absolutePath)) return null;
|
|
64567
|
-
if (isLargeMinifiedFile(absolutePath, sizeBytes)) return null;
|
|
64568
|
-
return {
|
|
64569
|
-
path: relativePath,
|
|
64570
|
-
sizeBytes: sizeBytes ?? 0
|
|
64571
|
-
};
|
|
64572
|
-
};
|
|
64573
64555
|
const collectSizedSourceFiles = (rootDirectory, relativePaths) => {
|
|
64574
64556
|
const entries = [];
|
|
64575
64557
|
for (const relativePath of relativePaths) {
|
|
64576
|
-
const
|
|
64577
|
-
|
|
64558
|
+
const absolutePath = path$1$1.resolve(rootDirectory, relativePath);
|
|
64559
|
+
const sizeBytes = statSourceFileSize(absolutePath);
|
|
64560
|
+
if (isLargeMinifiedFile(absolutePath, sizeBytes)) continue;
|
|
64561
|
+
entries.push({
|
|
64562
|
+
path: relativePath,
|
|
64563
|
+
sizeBytes: sizeBytes ?? 0
|
|
64564
|
+
});
|
|
64578
64565
|
}
|
|
64579
64566
|
return entries;
|
|
64580
64567
|
};
|
|
@@ -64583,8 +64570,12 @@ const collectSizedSourceFilesCooperative = async (rootDirectory, relativePaths,
|
|
|
64583
64570
|
let sliceStartedAt = performance.now();
|
|
64584
64571
|
for (const relativePath of relativePaths) {
|
|
64585
64572
|
signal?.throwIfAborted();
|
|
64586
|
-
const
|
|
64587
|
-
|
|
64573
|
+
const absolutePath = path$1$1.resolve(rootDirectory, relativePath);
|
|
64574
|
+
const sizeBytes = statSourceFileSize(absolutePath);
|
|
64575
|
+
if (!isLargeMinifiedFile(absolutePath, sizeBytes)) entries.push({
|
|
64576
|
+
path: relativePath,
|
|
64577
|
+
sizeBytes: sizeBytes ?? 0
|
|
64578
|
+
});
|
|
64588
64579
|
if (performance.now() - sliceStartedAt >= 12) {
|
|
64589
64580
|
await yieldToEventLoop();
|
|
64590
64581
|
sliceStartedAt = performance.now();
|
|
@@ -65422,22 +65413,12 @@ const hasReactCompilerConfigInSentryWrapperArgument = (callExpression, analysis,
|
|
|
65422
65413
|
const [configArgument] = callExpression.arguments;
|
|
65423
65414
|
return Boolean(configArgument && analyzeConfigNode(configArgument, analysis, false));
|
|
65424
65415
|
};
|
|
65425
|
-
const hasEnabledCompilerOptionInVitePluginArgument = (callExpression, analysis, moduleSpecifier, exportName) => {
|
|
65426
|
-
if (moduleSpecifier !== "@vitejs/plugin-react" || exportName !== "default") return false;
|
|
65427
|
-
const [optionsArgument] = callExpression.arguments;
|
|
65428
|
-
if (!optionsArgument) return false;
|
|
65429
|
-
const compilerProperty = getSelectedObjectProperty(optionsArgument, "compiler", analysis);
|
|
65430
|
-
if (compilerProperty === null) return false;
|
|
65431
|
-
return !ts.isExpression(compilerProperty.node) || !isStaticallyDisabledConfigExpression(compilerProperty.node, compilerProperty.analysis);
|
|
65432
|
-
};
|
|
65433
|
-
const hasReactCompilerConfigInCallArguments = (callExpression, analysis, moduleSpecifier, exportName) => hasReactCompilerConfigInSentryWrapperArgument(callExpression, analysis, moduleSpecifier, exportName) || hasEnabledCompilerOptionInVitePluginArgument(callExpression, analysis, moduleSpecifier, exportName);
|
|
65434
65416
|
const analyzeConfigCallTarget = (callExpression, analysis, allowCompilerTransform) => {
|
|
65435
65417
|
const target = callExpression.expression;
|
|
65436
65418
|
const callableRequiredModuleSpecifier = getRequireModuleSpecifier(target);
|
|
65437
65419
|
if (callableRequiredModuleSpecifier !== null) {
|
|
65438
65420
|
if (ts.isCallExpression(target) && ts.isIdentifier(target.expression) && (analysis.localBindings.has(target.expression.text) || getScopedConfigBinding(target.expression).wasFound || hasTopLevelValueBinding(analysis.sourceFile, "require"))) return false;
|
|
65439
65421
|
if (allowCompilerTransform && isCompilerTransformModule(callableRequiredModuleSpecifier, "default")) return true;
|
|
65440
|
-
if (hasReactCompilerConfigInCallArguments(callExpression, analysis, callableRequiredModuleSpecifier, "default")) return true;
|
|
65441
65422
|
const hasCompilerTransform = analyzeImportedConfig({
|
|
65442
65423
|
analysis,
|
|
65443
65424
|
moduleSpecifier: callableRequiredModuleSpecifier,
|
|
@@ -65455,7 +65436,7 @@ const analyzeConfigCallTarget = (callExpression, analysis, allowCompilerTransfor
|
|
|
65455
65436
|
if (requiredModuleSpecifier !== null) {
|
|
65456
65437
|
if (ts.isCallExpression(target.expression) && ts.isIdentifier(target.expression.expression) && (analysis.localBindings.has(target.expression.expression.text) || getScopedConfigBinding(target.expression.expression).wasFound || hasTopLevelValueBinding(analysis.sourceFile, "require"))) return false;
|
|
65457
65438
|
if (allowCompilerTransform && isCompilerTransformModule(requiredModuleSpecifier, propertyName)) return true;
|
|
65458
|
-
if (
|
|
65439
|
+
if (hasReactCompilerConfigInSentryWrapperArgument(callExpression, analysis, requiredModuleSpecifier, propertyName)) return true;
|
|
65459
65440
|
const hasCompilerTransform = analyzeImportedConfig({
|
|
65460
65441
|
analysis,
|
|
65461
65442
|
moduleSpecifier: requiredModuleSpecifier,
|
|
@@ -65470,7 +65451,7 @@ const analyzeConfigCallTarget = (callExpression, analysis, allowCompilerTransfor
|
|
|
65470
65451
|
const importBinding = analysis.localBindings.has(target.expression.text) || getScopedConfigBinding(target.expression).wasFound ? null : getImportBinding(analysis.sourceFile, target.expression.text);
|
|
65471
65452
|
if (importBinding?.isNamespace) {
|
|
65472
65453
|
if (allowCompilerTransform && isCompilerTransformModule(importBinding.moduleSpecifier, propertyName)) return true;
|
|
65473
|
-
if (
|
|
65454
|
+
if (hasReactCompilerConfigInSentryWrapperArgument(callExpression, analysis, importBinding.moduleSpecifier, propertyName)) return true;
|
|
65474
65455
|
const hasCompilerTransform = analyzeImportedConfig({
|
|
65475
65456
|
analysis,
|
|
65476
65457
|
moduleSpecifier: importBinding.moduleSpecifier,
|
|
@@ -65572,7 +65553,7 @@ const analyzeConfigNode = (node, analysis, allowCompilerTransform, isCompilerTra
|
|
|
65572
65553
|
const importBinding = getImportBinding(analysis.sourceFile, node.expression.text);
|
|
65573
65554
|
if (importBinding) {
|
|
65574
65555
|
if (allowCompilerTransform && isCompilerTransformModule(importBinding.moduleSpecifier, importBinding.exportName)) return true;
|
|
65575
|
-
if (
|
|
65556
|
+
if (hasReactCompilerConfigInSentryWrapperArgument(node, analysis, importBinding.moduleSpecifier, importBinding.exportName)) return true;
|
|
65576
65557
|
if (allowCompilerTransform && importBinding.moduleSpecifier === "@rolldown/plugin-babel" && importBinding.exportName === "default" && node.arguments.some((argument) => analyzeConfigNode(argument, analysis, false))) return true;
|
|
65577
65558
|
const hasCompilerTransform = analyzeImportedConfig({
|
|
65578
65559
|
analysis,
|
|
@@ -72358,7 +72339,7 @@ const buildResult = (input) => {
|
|
|
72358
72339
|
const detectDuplicateJsxSubtreesCooperative = async (sourceReader, options = {}) => {
|
|
72359
72340
|
const resolvedOptions = resolveOptions$1(options);
|
|
72360
72341
|
const incompleteReasons = [];
|
|
72361
|
-
const sortedPaths = sourceReader.paths.
|
|
72342
|
+
const sortedPaths = [...sourceReader.paths].sort((left, right) => left.localeCompare(right));
|
|
72362
72343
|
if (sortedPaths.length > resolvedOptions.maxSourceFiles) incompleteReasons.push({
|
|
72363
72344
|
kind: "source-file-limit",
|
|
72364
72345
|
limit: resolvedOptions.maxSourceFiles,
|
|
@@ -75669,7 +75650,6 @@ const prepareLintSources = (rootDirectory, temporaryDirectory, candidateFiles) =
|
|
|
75669
75650
|
continue;
|
|
75670
75651
|
}
|
|
75671
75652
|
const absoluteSourcePath = path$1$1.isAbsolute(candidateFile) ? candidateFile : path$1$1.resolve(rootDirectory, candidateFile);
|
|
75672
|
-
if (isMissingPath(absoluteSourcePath)) continue;
|
|
75673
75653
|
const sourceBuffer = fs$1$3.readFileSync(absoluteSourcePath);
|
|
75674
75654
|
if (ASTRO_FILE_PATTERN.test(candidateFile)) {
|
|
75675
75655
|
const compilerSourcePath = absoluteSourcePath.replaceAll("\\", "/");
|
|
@@ -78209,4 +78189,4 @@ const toJsonReport = (result, options) => buildJsonReport({
|
|
|
78209
78189
|
export { AmbiguousProjectError, NoReactDependencyError, NotADirectoryError, PackageJsonNotFoundError, ProjectNotFoundError, ReactDoctorError, buildJsonReport, buildJsonReportError, clearCaches, defineConfig, diagnose, filterSourceFiles, getDiffInfo, hasReactRuntime, isProjectDiscoveryError, isReactDoctorError, summarizeDiagnostics, toJsonReport };
|
|
78210
78190
|
|
|
78211
78191
|
//# sourceMappingURL=index.js.map
|
|
78212
|
-
//# debugId=
|
|
78192
|
+
//# debugId=5453bc11-5691-5788-ba63-d87c0b7a6bff
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
3
|
-
import { An as gen, At as discoverSupportedSubprojects, Bt as getDiffInfo, Cr as messageFromUnknown, F as STAGED_FILES_TEMP_DIR_PREFIX, Fn as provide$1, Gn as provide, H as isDebugFlagEnabled, I as STAGED_SNAPSHOT_ADDITIONAL_CONFIG_FILENAMES, K as isCiOrCodingAgentEnvironment, Kt as highlighter, Lt as getBaselineDiffPlan, Pt as findLegacyConfig, Rn as runPromise, Rt as getChangedLineRanges, Sr as isPlainObject, T as METRIC, Wt as hasSupportedFrameworkOrLibrary, X as Git, _ as VERSION, _r as STAGED_FILES_PROJECT_CONFIG_FILENAMES, br as isErrnoException, er as CANONICAL_GITHUB_URL, f as setJsonReportDirectory, fn as resolveScanTarget, g as writeJsonReport, h as writeJsonErrorReport, ht as buildJsonReport, in as mapWithConcurrency, kt as detectAiTrainingEnvironment, n as recordDistribution, nn as listWorkspacePackages, p as setJsonReportMode, q as isCodingAgentEnvironment, sn as remainingDeadlineBudgetMs, t as recordCount, u as enableJsonMode, ut as StagedFiles, yn as toRelativePath, z as CliInputError } from "./record-metric-
|
|
4
|
-
import { n as shutdownTelemetry, r as isExpectedUserError } from "./telemetry-runtime-
|
|
5
|
-
import { r as flushSentry } from "./build-section-divider-
|
|
6
|
-
import { n as handleUserError, t as handleError } from "./handle-error-
|
|
7
|
-
import { t as reportErrorToSentry } from "./report-error-
|
|
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]="8747af7b-e78e-5329-b860-84bdd850e380")}catch(e){}}();
|
|
3
|
+
import { An as gen, At as discoverSupportedSubprojects, Bt as getDiffInfo, Cr as messageFromUnknown, F as STAGED_FILES_TEMP_DIR_PREFIX, Fn as provide$1, Gn as provide, H as isDebugFlagEnabled, I as STAGED_SNAPSHOT_ADDITIONAL_CONFIG_FILENAMES, Jt as isPathInsideDirectory, K as isCiOrCodingAgentEnvironment, Kt as highlighter, Lt as getBaselineDiffPlan, Pt as findLegacyConfig, Rn as runPromise, Rt as getChangedLineRanges, Sr as isPlainObject, T as METRIC, Wt as hasSupportedFrameworkOrLibrary, X as Git, _ as VERSION, _r as STAGED_FILES_PROJECT_CONFIG_FILENAMES, br as isErrnoException, er as CANONICAL_GITHUB_URL, f as setJsonReportDirectory, fn as resolveScanTarget, g as writeJsonReport, h as writeJsonErrorReport, ht as buildJsonReport, in as mapWithConcurrency, kt as detectAiTrainingEnvironment, n as recordDistribution, nn as listWorkspacePackages, p as setJsonReportMode, q as isCodingAgentEnvironment, sn as remainingDeadlineBudgetMs, t as recordCount, u as enableJsonMode, ut as StagedFiles, yn as toRelativePath, z as CliInputError } from "./record-metric-CFTeG4Ha.js";
|
|
4
|
+
import { n as shutdownTelemetry, r as isExpectedUserError } from "./telemetry-runtime-D2l_bu0o.js";
|
|
5
|
+
import { r as flushSentry } from "./build-section-divider-DZA4c-cf.js";
|
|
6
|
+
import { n as handleUserError, t as handleError } from "./handle-error-4yYwwrfs.js";
|
|
7
|
+
import { t as reportErrorToSentry } from "./report-error-B_O2ZFAv.js";
|
|
8
8
|
import { t as toForwardSlashes } from "./path-format-DnHpmJwG.js";
|
|
9
|
-
import { A as runGitRaw, M as cliLogger, c as spinner, i as hasDoctorScript, n as findNearestPackageDirectory, o as isSpinnerSilent, s as setSpinnerSilent } from "./install-doctor-script-
|
|
10
|
-
import { a as readReactDoctorWorkflow, c as workflowUsesV1Action, i as isReactDoctorWorkflowInstalled, l as prompts, s as upgradeWorkflowActionToV2 } from "./install-github-workflow-
|
|
11
|
-
import { c as openWorkflowPullRequest, i as warnDeprecatedDiff, l as stageWorkflowFile, r as resolveScope, s as resolveBlockingLevel, t as finalizeScope } from "./resolve-scope-
|
|
12
|
-
import { t as shouldSkipPrompts } from "./should-skip-prompts-
|
|
13
|
-
import { A as
|
|
14
|
-
import { a as recordGate, i as readPreference, o as runMigrations, p as SETUP_HINT_EVENT, r as isGatePending, s as writePreference, u as HANDOFF_TARGET_PREFERENCE_ID } from "./report-workflow-result-
|
|
15
|
-
import { a as askUpgradeActionVersion, c as recordCiPromptDecision, i as installReactDoctorAgentHooks, l as hasHandledActionUpgrade, o as askAddToGitHubActions, r as findAgentsWithOutdatedReactDoctorHooks, s as hasHandledCiPrompt, t as getSkillSourceDirectory, u as recordActionUpgradeDecision } from "./install-react-doctor-
|
|
16
|
-
import { t as readObjectFile } from "./read-object-file-
|
|
9
|
+
import { A as runGitRaw, M as cliLogger, c as spinner, i as hasDoctorScript, n as findNearestPackageDirectory, o as isSpinnerSilent, s as setSpinnerSilent } from "./install-doctor-script-Deldi_8f.js";
|
|
10
|
+
import { a as readReactDoctorWorkflow, c as workflowUsesV1Action, i as isReactDoctorWorkflowInstalled, l as prompts, s as upgradeWorkflowActionToV2 } from "./install-github-workflow-DSe3lec2.js";
|
|
11
|
+
import { c as openWorkflowPullRequest, i as warnDeprecatedDiff, l as stageWorkflowFile, r as resolveScope, s as resolveBlockingLevel, t as finalizeScope } from "./resolve-scope-B-trcJ7X.js";
|
|
12
|
+
import { t as shouldSkipPrompts } from "./should-skip-prompts-BmYznvDr.js";
|
|
13
|
+
import { A as inspect, B as filterDiagnosticsByCategories, C as CLI_AGENT_BINARIES, D as collectProjectSourceFileCounts, E as buildHandoffPayload, H as buildEmptyReportMessage, L as printDiagnosticsDump, M as printHeadlessReport, O as deduplicateProjectScans, S as detectLaunchableAgents, T as launchCliAgent, _ as resolveWorkspaceDeadCodeOwner, a as validateModeFlags, b as countUniqueScannedFiles, d as resolveProjectScan, f as resolveProjectChangedLineRanges, g as retryMissingProjectScores, h as resolveProjectRelativeDirectory, i as validateIncludeUntrackedScope, j as resolveMergeBaseRef, k as createInvocationInspect, l as selectProjects, m as resolveProjectSourceFilePaths, n as formatSkippedProjectsMessage, o as projectManifestChanged, p as resolveProjectDiffIncludePaths, s as partitionProjectScanOutcomes, t as shouldFailScanGate, u as buildCodeFrame, v as resolveCliInspectOptions, w as copyToClipboard, x as setUpGitHubActions, y as filterScansForSurface } from "./should-fail-scan-gate-DE7RleKZ.js";
|
|
14
|
+
import { a as recordGate, i as readPreference, o as runMigrations, p as SETUP_HINT_EVENT, r as isGatePending, s as writePreference, u as HANDOFF_TARGET_PREFERENCE_ID } from "./report-workflow-result-CjDXDNp9.js";
|
|
15
|
+
import { a as askUpgradeActionVersion, c as recordCiPromptDecision, i as installReactDoctorAgentHooks, l as hasHandledActionUpgrade, o as askAddToGitHubActions, r as findAgentsWithOutdatedReactDoctorHooks, s as hasHandledCiPrompt, t as getSkillSourceDirectory, u as recordActionUpgradeDecision } from "./install-react-doctor-CF-vA_AY.js";
|
|
16
|
+
import { t as readObjectFile } from "./read-object-file-CLvVP0OL.js";
|
|
17
17
|
import * as path$1 from "node:path";
|
|
18
18
|
import * as fs$1 from "node:fs";
|
|
19
19
|
import { tmpdir } from "node:os";
|
|
@@ -1116,7 +1116,7 @@ const buildProjectInspectOptions = ({ context, projectScan, projectScanPlan, own
|
|
|
1116
1116
|
configSourceDirectory: projectScan.configSourceDirectory ?? void 0,
|
|
1117
1117
|
suppressRendering: context.isMultiProject,
|
|
1118
1118
|
concurrentScan: context.isMultiProject,
|
|
1119
|
-
excludedProjectDirectories:
|
|
1119
|
+
excludedProjectDirectories: context.projectScans.filter((candidateProjectScan) => isPathInsideDirectory(candidateProjectScan.directory, scanDirectory)).map((candidateProjectScan) => candidateProjectScan.directory),
|
|
1120
1120
|
retainExcludedProjectDeadCodeDiagnostics: ownsWorkspaceDeadCode,
|
|
1121
1121
|
baseline: context.baselineRef !== null && projectScanPlan.projectBaselineBaseFiles !== null && projectScanPlan.projectBaselineHeadFiles !== null ? {
|
|
1122
1122
|
ref: context.baselineRef,
|
|
@@ -1261,7 +1261,6 @@ const inspectAction = async (directory, flags, invocationCommand = "inspect", se
|
|
|
1261
1261
|
});
|
|
1262
1262
|
return;
|
|
1263
1263
|
}
|
|
1264
|
-
const workspaceProjectDirectories = discoverWorkspacePackages(resolvedDirectory).map((workspacePackage) => workspacePackage.directory);
|
|
1265
1264
|
const projectDirectories = await selectProjects(resolvedDirectory, flags.project, skipPrompts, userConfig?.projects);
|
|
1266
1265
|
const projectSelectionCompletedTime = performance.now();
|
|
1267
1266
|
const hasPositionalFileSelection = selectedFilePaths !== void 0;
|
|
@@ -1355,7 +1354,6 @@ const inspectAction = async (directory, flags, invocationCommand = "inspect", se
|
|
|
1355
1354
|
workspaceDeadCodeOwner,
|
|
1356
1355
|
precomputedSourceFileCounts: isMultiProject && !isDiffMode ? await collectProjectSourceFileCounts(resolvedDirectory, projectScans.map((projectScan) => projectScan.directory)) : null,
|
|
1357
1356
|
projectScans,
|
|
1358
|
-
workspaceProjectDirectories,
|
|
1359
1357
|
baselineRef,
|
|
1360
1358
|
scope,
|
|
1361
1359
|
changedLineRanges
|
|
@@ -1452,5 +1450,5 @@ const inspectAction = async (directory, flags, invocationCommand = "inspect", se
|
|
|
1452
1450
|
//#endregion
|
|
1453
1451
|
export { warnDeprecatedFailOn as n, runProjectMigrations as r, inspectAction as t };
|
|
1454
1452
|
|
|
1455
|
-
//# sourceMappingURL=inspect-
|
|
1456
|
-
//# debugId=
|
|
1453
|
+
//# sourceMappingURL=inspect-CuGcOcRw.js.map
|
|
1454
|
+
//# debugId=8747af7b-e78e-5329-b860-84bdd850e380
|
|
@@ -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]="
|
|
3
|
-
import { T as METRIC, t as recordCount, zn as runSync } from "./record-metric-
|
|
4
|
-
import { r as isExpectedUserError } from "./telemetry-runtime-
|
|
5
|
-
import { n as handleUserError, t as handleError } from "./handle-error-
|
|
6
|
-
import { t as reportErrorToSentry } from "./report-error-
|
|
7
|
-
import { t as printBrandedHeader } from "./print-branded-header-
|
|
8
|
-
import { n as runInstallReactDoctor } from "./install-react-doctor-
|
|
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]="fec4e00b-5503-5d93-ac7f-bf25d90c4c01")}catch(e){}}();
|
|
3
|
+
import { T as METRIC, t as recordCount, zn as runSync } from "./record-metric-CFTeG4Ha.js";
|
|
4
|
+
import { r as isExpectedUserError } from "./telemetry-runtime-D2l_bu0o.js";
|
|
5
|
+
import { n as handleUserError, t as handleError } from "./handle-error-4yYwwrfs.js";
|
|
6
|
+
import { t as reportErrorToSentry } from "./report-error-B_O2ZFAv.js";
|
|
7
|
+
import { t as printBrandedHeader } from "./print-branded-header-DGdy9YGZ.js";
|
|
8
|
+
import { n as runInstallReactDoctor } from "./install-react-doctor-CF-vA_AY.js";
|
|
9
9
|
//#region src/cli/commands/install.ts
|
|
10
10
|
const installAction = async (options, command) => {
|
|
11
11
|
recordCount(METRIC.cliInvoked, 1, { command: "install" });
|
|
@@ -29,5 +29,5 @@ const installAction = async (options, command) => {
|
|
|
29
29
|
//#endregion
|
|
30
30
|
export { installAction };
|
|
31
31
|
|
|
32
|
-
//# sourceMappingURL=install-
|
|
33
|
-
//# debugId=
|
|
32
|
+
//# sourceMappingURL=install-HI1T486C.js.map
|
|
33
|
+
//# debugId=fec4e00b-5503-5d93-ac7f-bf25d90c4c01
|
|
@@ -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 { B as isNonInteractiveEnvironment, Cn as error$1, En as warn, Kt as highlighter, Tn as log, k as RUN_GIT_MAX_BUFFER_BYTES, wn as info$1, zn as runSync } from "./record-metric-
|
|
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]="ed2ed5b2-88c6-5d9f-99f2-b60f3282ddd5")}catch(e){}}();
|
|
3
|
+
import { B as isNonInteractiveEnvironment, Cn as error$1, En as warn, Kt as highlighter, Tn as log, k as RUN_GIT_MAX_BUFFER_BYTES, wn as info$1, zn as runSync } from "./record-metric-CFTeG4Ha.js";
|
|
4
4
|
import { a as chalk, i as stripAnsi, t as eastAsianWidth } from "./get-east-asian-width-Bv2TD3Xj.js";
|
|
5
5
|
import { execFileSync } from "node:child_process";
|
|
6
6
|
import * as path$1 from "node:path";
|
|
@@ -2805,5 +2805,5 @@ const installReactDoctorScriptStep = (projectRoot) => {
|
|
|
2805
2805
|
//#endregion
|
|
2806
2806
|
export { runGitRaw as A, isRecord as C, readPackageJson as D, packageHasRecordKey as E, cliLogger as M, resolveGitPath as O, getPackageJsonPath as S, packageHasNestedRecordKey as T, REACT_DOCTOR_COMMAND as _, installReactDoctorScriptStep as a, VITE_PLUS_HOOKS_PATH as b, spinner as c, HUSKY_HOOKS_PATH as d, LEFTHOOK_CONFIG_FILES as f, PRE_COMMIT_CONFIG_FILE as g, OVERCOMMIT_CONFIG_FILE as h, hasDoctorScript as i, writeJsonFile as j, runGit as k, HOOK_FILE_NAME as l, NON_BLOCKING_REACT_DOCTOR_COMMAND as m, findNearestPackageDirectory as n, isSpinnerSilent as o, LEGACY_HOOK_RUNNER_RELATIVE_PATH as p, hasDoctorDependency as r, setSpinnerSilent as s, DOCTOR_PACKAGE_NAME as t, HOOK_RELATIVE_PATH as u, SIMPLE_GIT_HOOKS_CONFIG_FILE as v, packageHasDependency as w, ensureTrailingNewline as x, SIMPLE_GIT_HOOKS_PACKAGE_JSON_KEY as y };
|
|
2807
2807
|
|
|
2808
|
-
//# sourceMappingURL=install-doctor-script-
|
|
2809
|
-
//# debugId=
|
|
2808
|
+
//# sourceMappingURL=install-doctor-script-Deldi_8f.js.map
|
|
2809
|
+
//# debugId=ed2ed5b2-88c6-5d9f-99f2-b60f3282ddd5
|
|
@@ -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 { w as GH_DEFAULT_BRANCH_PROBE_TIMEOUT_MS } 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]="4322dfe5-353c-5912-ab46-0cd03fe69b97")}catch(e){}}();
|
|
3
|
+
import { w as GH_DEFAULT_BRANCH_PROBE_TIMEOUT_MS } from "./record-metric-CFTeG4Ha.js";
|
|
4
4
|
import { t as unrefStdin } from "./unref-stdin-SK3WfwxS.js";
|
|
5
|
-
import { M as cliLogger } from "./install-doctor-script-
|
|
5
|
+
import { M as cliLogger } from "./install-doctor-script-Deldi_8f.js";
|
|
6
6
|
import { createRequire } from "node:module";
|
|
7
7
|
import { execFile } from "node:child_process";
|
|
8
8
|
import * as path$1 from "node:path";
|
|
@@ -267,5 +267,5 @@ const upgradeReactDoctorWorkflowInPlace = (projectRoot) => {
|
|
|
267
267
|
//#endregion
|
|
268
268
|
export { readReactDoctorWorkflow as a, workflowUsesV1Action as c, detectDefaultBranch as d, runCommand as f, isReactDoctorWorkflowInstalled as i, prompts as l, getReactDoctorWorkflowPath as n, upgradeReactDoctorWorkflowInPlace as o, installReactDoctorWorkflow as r, upgradeWorkflowActionToV2 as s, buildWorkflowContent as t, isCommandAvailable as u };
|
|
269
269
|
|
|
270
|
-
//# sourceMappingURL=install-github-workflow-
|
|
271
|
-
//# debugId=
|
|
270
|
+
//# sourceMappingURL=install-github-workflow-DSe3lec2.js.map
|
|
271
|
+
//# debugId=4322dfe5-353c-5912-ab46-0cd03fe69b97
|