react-doctor 0.9.11-dev.d23a0d7 → 0.9.11-dev.f1899d2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/dist/{build-section-divider-0X61dfsp.js → build-section-divider-4ZztYtZV.js} +7 -7
  2. package/dist/{ci-urZW0bil.js → ci-B04VkLj2.js} +11 -11
  3. package/dist/cli.js +22 -22
  4. package/dist/{design-7VjeLeaY.js → design-AAjcvExu.js} +4 -4
  5. package/dist/{exit-gracefully-CCXBry_w.js → exit-gracefully-B7v9PIJk.js} +6 -6
  6. package/dist/index.js +123 -20
  7. package/dist/{inspect-9AYPZO5g.js → inspect-CdQJI2XI.js} +16 -16
  8. package/dist/{install-BbsK38HP.js → install-BRU4jf-Y.js} +8 -8
  9. package/dist/{install-doctor-script-dYObdsoT.js → install-doctor-script-Dn69YqKG.js} +4 -4
  10. package/dist/{install-github-workflow-CPrayyr8.js → install-github-workflow-BwELZAhu.js} +6 -6
  11. package/dist/{install-react-doctor-BRJVFDJo.js → install-react-doctor-CcDiKPfC.js} +8 -8
  12. package/dist/lsp.js +27 -16
  13. package/dist/{print-branded-header-BZazy7f_.js → print-branded-header-_kkHIAUd.js} +4 -4
  14. package/dist/{read-object-file-DpFYryjs.js → read-object-file-Bsov5R1-.js} +4 -4
  15. package/dist/{record-metric-DihVLWTw.js → record-metric-CeygoJWT.js} +49 -26
  16. package/dist/{report-error-OnDP4z6M.js → report-error-uffmJocy.js} +5 -5
  17. package/dist/{report-workflow-result-8lD74mh1.js → report-workflow-result-CMtcy7Eb.js} +5 -5
  18. package/dist/{resolve-scope-BTt7-Yy6.js → resolve-scope-CFro-KQO.js} +6 -6
  19. package/dist/{rules-CLbcyk2e.js → rules-BkLea4GL.js} +6 -6
  20. package/dist/{run-scan-app-C6_h7wam.js → run-scan-app-Befn2abh.js} +69 -36
  21. package/dist/{scan-YlECoJP4.js → scan-C00HPxuL.js} +8 -8
  22. package/dist/{should-fail-scan-gate-CwUJxo3V.js → should-fail-scan-gate-BEoC3SoQ.js} +56 -21
  23. package/dist/{should-skip-prompts-AxArMl3d.js → should-skip-prompts-De37OlfL.js} +4 -4
  24. package/dist/{unref-stdin-B9y2rq2D.js → unref-stdin-DklpxlNQ.js} +4 -4
  25. package/dist/{version-vrLffEr-.js → version-CRfqT5pV.js} +4 -4
  26. package/dist/{why-uAScZI5Z.js → why-BTbl-alh.js} +4 -4
  27. package/package.json +3 -5
@@ -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]="3e55c4cc-87df-5490-b7ce-6663139a4d88")}catch(e){}}();
3
- import { Gn as log, Kn as warn, O as RUN_GIT_MAX_BUFFER_BYTES, Un as error$1, Wn as info$1, ar as runSync, cn as highlighter, z as isNonInteractiveEnvironment } from "./record-metric-DihVLWTw.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="d5b8d828-d22c-5ccc-8832-7c85a3144cfc")}catch(e){}}();
3
+ import { Gn as log, Kn as warn, O as RUN_GIT_MAX_BUFFER_BYTES, Un as error$1, Wn as info$1, ar as runSync, cn as highlighter, z as isNonInteractiveEnvironment } from "./record-metric-CeygoJWT.js";
4
4
  import { execFileSync } from "node:child_process";
5
5
  import * as path$1 from "node:path";
6
6
  import * as fs$1 from "node:fs";
@@ -3247,5 +3247,5 @@ const installReactDoctorScriptStep = (projectRoot) => {
3247
3247
  //#endregion
3248
3248
  export { packageHasNestedRecordKey as A, SIMPLE_GIT_HOOKS_CONFIG_FILE as C, getPackageJsonPath as D, ensureTrailingNewline as E, runGitRaw as F, writeJsonFile as I, cliLogger as L, readPackageJson as M, resolveGitPath as N, isRecord as O, runGit as P, REACT_DOCTOR_COMMAND as S, VITE_PLUS_HOOKS_PATH as T, LEFTHOOK_CONFIG_FILES as _, installReactDoctorScriptStep as a, OVERCOMMIT_CONFIG_FILE as b, spinner as c, stripAnsi as d, isUnicodeSupported as f, HUSKY_HOOKS_PATH as g, HOOK_RELATIVE_PATH as h, hasDoctorScript as i, packageHasRecordKey as j, packageHasDependency as k, isFullWidth as l, HOOK_FILE_NAME as m, findNearestPackageDirectory as n, isSpinnerSilent as o, chalk as p, hasDoctorDependency as r, setSpinnerSilent as s, DOCTOR_PACKAGE_NAME as t, isWide as u, LEGACY_HOOK_RUNNER_RELATIVE_PATH as v, SIMPLE_GIT_HOOKS_PACKAGE_JSON_KEY as w, PRE_COMMIT_CONFIG_FILE as x, NON_BLOCKING_REACT_DOCTOR_COMMAND as y };
3249
3249
 
3250
- //# sourceMappingURL=install-doctor-script-dYObdsoT.js.map
3251
- //# debugId=3e55c4cc-87df-5490-b7ce-6663139a4d88
3250
+ //# sourceMappingURL=install-doctor-script-Dn69YqKG.js.map
3251
+ //# debugId=d5b8d828-d22c-5ccc-8832-7c85a3144cfc
@@ -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]="75300292-359c-5da2-8e62-ec01d508b299")}catch(e){}}();
3
- import { C as GH_DEFAULT_BRANCH_PROBE_TIMEOUT_MS } from "./record-metric-DihVLWTw.js";
4
- import { t as unrefStdin } from "./unref-stdin-B9y2rq2D.js";
5
- import { L as cliLogger } from "./install-doctor-script-dYObdsoT.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="a55265fa-d121-5010-8c8f-88cee3136a64")}catch(e){}}();
3
+ import { C as GH_DEFAULT_BRANCH_PROBE_TIMEOUT_MS } from "./record-metric-CeygoJWT.js";
4
+ import { t as unrefStdin } from "./unref-stdin-DklpxlNQ.js";
5
+ import { L as cliLogger } from "./install-doctor-script-Dn69YqKG.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";
@@ -263,5 +263,5 @@ const upgradeReactDoctorWorkflowInPlace = (projectRoot) => {
263
263
  //#endregion
264
264
  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 };
265
265
 
266
- //# sourceMappingURL=install-github-workflow-CPrayyr8.js.map
267
- //# debugId=75300292-359c-5da2-8e62-ec01d508b299
266
+ //# sourceMappingURL=install-github-workflow-BwELZAhu.js.map
267
+ //# debugId=a55265fa-d121-5010-8c8f-88cee3136a64
@@ -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]="3786beaa-d10f-5b3d-8c12-ba6fe3a2272d")}catch(e){}}();
3
- import { R as CliInputError, S as CI_TRUST_COMPANIES, cn as highlighter, ot as GITHUB_ACTIONS_SETUP_URL, t as recordCount, un as isErrnoException, w as METRIC, wt as SKILL_NAME } from "./record-metric-DihVLWTw.js";
4
- import { A as packageHasNestedRecordKey, D as getPackageJsonPath, E as ensureTrailingNewline, I as writeJsonFile, L as cliLogger, M as readPackageJson, N as resolveGitPath, O as isRecord, P as runGit, S as REACT_DOCTOR_COMMAND, T as VITE_PLUS_HOOKS_PATH, _ as LEFTHOOK_CONFIG_FILES, a as installReactDoctorScriptStep, b as OVERCOMMIT_CONFIG_FILE, c as spinner, g as HUSKY_HOOKS_PATH, h as HOOK_RELATIVE_PATH, j as packageHasRecordKey, k as packageHasDependency, m as HOOK_FILE_NAME, n as findNearestPackageDirectory, r as hasDoctorDependency, t as DOCTOR_PACKAGE_NAME, v as LEGACY_HOOK_RUNNER_RELATIVE_PATH, x as PRE_COMMIT_CONFIG_FILE, y as NON_BLOCKING_REACT_DOCTOR_COMMAND } from "./install-doctor-script-dYObdsoT.js";
5
- import { a as readReactDoctorWorkflow, c as workflowUsesV1Action, d as detectDefaultBranch, l as prompts, n as getReactDoctorWorkflowPath, o as upgradeReactDoctorWorkflowInPlace, r as installReactDoctorWorkflow } from "./install-github-workflow-CPrayyr8.js";
6
- import { t as shouldSkipPrompts } from "./should-skip-prompts-AxArMl3d.js";
7
- import { a as recordGate, c as ACTION_UPGRADE_EVENT, d as INSTALL_AGENTS_PREFERENCE_ID, h as detectAvailableAgents, i as readPreference, l as CI_PITCH_EVENT, m as computeDefaultSelectedAgents, n as openUrl, r as isGatePending, s as writePreference, t as reportWorkflowResult } from "./report-workflow-result-8lD74mh1.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="bc1af7a6-5ddd-5744-ab7c-1c8f31652627")}catch(e){}}();
3
+ import { R as CliInputError, S as CI_TRUST_COMPANIES, cn as highlighter, ot as GITHUB_ACTIONS_SETUP_URL, t as recordCount, un as isErrnoException, w as METRIC, wt as SKILL_NAME } from "./record-metric-CeygoJWT.js";
4
+ import { A as packageHasNestedRecordKey, D as getPackageJsonPath, E as ensureTrailingNewline, I as writeJsonFile, L as cliLogger, M as readPackageJson, N as resolveGitPath, O as isRecord, P as runGit, S as REACT_DOCTOR_COMMAND, T as VITE_PLUS_HOOKS_PATH, _ as LEFTHOOK_CONFIG_FILES, a as installReactDoctorScriptStep, b as OVERCOMMIT_CONFIG_FILE, c as spinner, g as HUSKY_HOOKS_PATH, h as HOOK_RELATIVE_PATH, j as packageHasRecordKey, k as packageHasDependency, m as HOOK_FILE_NAME, n as findNearestPackageDirectory, r as hasDoctorDependency, t as DOCTOR_PACKAGE_NAME, v as LEGACY_HOOK_RUNNER_RELATIVE_PATH, x as PRE_COMMIT_CONFIG_FILE, y as NON_BLOCKING_REACT_DOCTOR_COMMAND } from "./install-doctor-script-Dn69YqKG.js";
5
+ import { a as readReactDoctorWorkflow, c as workflowUsesV1Action, d as detectDefaultBranch, l as prompts, n as getReactDoctorWorkflowPath, o as upgradeReactDoctorWorkflowInPlace, r as installReactDoctorWorkflow } from "./install-github-workflow-BwELZAhu.js";
6
+ import { t as shouldSkipPrompts } from "./should-skip-prompts-De37OlfL.js";
7
+ import { a as recordGate, c as ACTION_UPGRADE_EVENT, d as INSTALL_AGENTS_PREFERENCE_ID, h as detectAvailableAgents, i as readPreference, l as CI_PITCH_EVENT, m as computeDefaultSelectedAgents, n as openUrl, r as isGatePending, s as writePreference, t as reportWorkflowResult } from "./report-workflow-result-CMtcy7Eb.js";
8
8
  import { execFile } from "node:child_process";
9
9
  import * as path$1 from "node:path";
10
10
  import * as fs$1 from "node:fs";
@@ -1150,5 +1150,5 @@ const runInstallReactDoctor = async (options = {}) => {
1150
1150
  //#endregion
1151
1151
  export { askUpgradeActionVersion as a, recordCiPromptDecision as c, installReactDoctorAgentHooks as i, hasHandledActionUpgrade as l, runInstallReactDoctor as n, askAddToGitHubActions as o, findAgentsWithLegacyShellHooks as r, hasHandledCiPrompt as s, getSkillSourceDirectory as t, recordActionUpgradeDecision as u };
1152
1152
 
1153
- //# sourceMappingURL=install-react-doctor-BRJVFDJo.js.map
1154
- //# debugId=3786beaa-d10f-5b3d-8c12-ba6fe3a2272d
1153
+ //# sourceMappingURL=install-react-doctor-CcDiKPfC.js.map
1154
+ //# debugId=bc1af7a6-5ddd-5744-ab7c-1c8f31652627
package/dist/lsp.js CHANGED
@@ -65458,7 +65458,8 @@ const listSourceFilesViaFilesystemCooperative = async (rootDirectory, signal) =>
65458
65458
  const listSourceFilePaths = (rootDirectory) => (listSourceFilesViaGit(rootDirectory) ?? listSourceFilesViaFilesystem(rootDirectory)).sort();
65459
65459
  const listSourceFilePathsCooperative = async (rootDirectory, signal) => (await listSourceFilesViaGitCooperative(rootDirectory, signal) ?? await listSourceFilesViaFilesystemCooperative(rootDirectory, signal)).sort();
65460
65460
  const listSourceFilesWithSize = (rootDirectory) => collectSizedSourceFiles(rootDirectory, listSourceFilePaths(rootDirectory));
65461
- const listSourceFilesCooperative = async (rootDirectory, signal) => (await collectSizedSourceFilesCooperative(rootDirectory, await listSourceFilePathsCooperative(rootDirectory, signal), signal)).map((entry) => entry.path);
65461
+ const listSourceFilesWithSizeCooperative = async (rootDirectory, signal) => collectSizedSourceFilesCooperative(rootDirectory, await listSourceFilePathsCooperative(rootDirectory, signal), signal);
65462
+ const listSourceFilesCooperative = async (rootDirectory, signal) => (await listSourceFilesWithSizeCooperative(rootDirectory, signal)).map((entry) => entry.path);
65462
65463
  const listSourceFiles = (rootDirectory) => listSourceFilesWithSize(rootDirectory).map((entry) => entry.path);
65463
65464
  const countSourceFiles = (rootDirectory) => listSourceFilesWithSize(rootDirectory).length;
65464
65465
  const NEXT_CONFIG_FILENAMES = [
@@ -75626,6 +75627,10 @@ const resolveCleanedDiagnostic = (message, help, plugin, rule, project) => {
75626
75627
  };
75627
75628
  };
75628
75629
  const parseRuleCode = (code) => {
75630
+ if (typeof code !== "string" || code.length === 0) return {
75631
+ plugin: "unknown",
75632
+ rule: "unknown"
75633
+ };
75629
75634
  const match = code.match(/^(.+)\((.+)\)$/);
75630
75635
  if (!match) return {
75631
75636
  plugin: "unknown",
@@ -76709,7 +76714,7 @@ const runOxlint = async (options) => {
76709
76714
  const pluginPath = resolvePluginPath();
76710
76715
  const extendsPaths = (adoptExistingLintConfig && !customRulesOnly ? detectUserLintConfigPaths(rootDirectory) : []).filter(canOxlintExtendConfig);
76711
76716
  const userPlugins = includedTags.size > 0 ? [] : resolveUserPlugins(userConfig?.plugins, configSourceDirectory);
76712
- const restoreDisableDirectives = respectInlineDisables ? () => {} : await neutralizeDisableDirectives(rootDirectory, includePaths);
76717
+ const restoreDisableDirectives = respectInlineDisables ? () => {} : await neutralizeDisableDirectives(rootDirectory, includePaths ?? options.precomputedSourceFiles?.map((sourceFile) => sourceFile.path));
76713
76718
  const configDirectory = NFS.mkdtempSync(Path.join(os.tmpdir(), "react-doctor-oxlintrc-"));
76714
76719
  const configPath = Path.join(configDirectory, "oxlintrc.json");
76715
76720
  try {
@@ -76742,8 +76747,8 @@ const runOxlint = async (options) => {
76742
76747
  ...sharedArgs
76743
76748
  ];
76744
76749
  await yieldToEventLoop();
76745
- const sizedScanFiles = includePaths === void 0 ? listSourceFilesWithSize(rootDirectory) : null;
76746
- const candidateFiles = includePaths !== void 0 ? includePaths : (sizedScanFiles ?? []).map((entry) => entry.path);
76750
+ const sizedScanFiles = options.precomputedSourceFiles ?? (includePaths === void 0 ? listSourceFilesWithSize(rootDirectory) : null);
76751
+ const candidateFiles = sizedScanFiles === null ? includePaths ?? [] : sizedScanFiles.map((entry) => entry.path);
76747
76752
  const projectIndexModuleSources = includePaths === void 0 && options.deadlineEpochMs === void 0 ? await collectProjectIndexModuleSources(rootDirectory, candidateFiles) : void 0;
76748
76753
  unpluginAutoImportGlobalScopes = collectUnpluginAutoImportGlobalScopes({
76749
76754
  rootDirectory,
@@ -77123,6 +77128,7 @@ var Linter = class Linter extends Service()("react-doctor/Linter") {
77123
77128
  rootDirectory: input.rootDirectory,
77124
77129
  project: input.project,
77125
77130
  includePaths: input.includePaths ? [...input.includePaths] : void 0,
77131
+ precomputedSourceFiles: input.precomputedSourceFiles,
77126
77132
  nodeBinaryPath: input.nodeBinaryPath,
77127
77133
  customRulesOnly: input.customRulesOnly,
77128
77134
  respectInlineDisables: input.respectInlineDisables,
@@ -77920,22 +77926,23 @@ const runInspect = (input, hooks = {}) => gen(function* () {
77920
77926
  const relativeFilePath = toNormalizedRelativePath(diagnostic.filePath, scanDirectory);
77921
77927
  return excludedProjectRelativePaths.some((excludedRelativePath) => relativeFilePath === excludedRelativePath || relativeFilePath.startsWith(`${excludedRelativePath}/`));
77922
77928
  };
77923
- const precomputedSourceFiles = input.suppressScanSummary === true || excludedProjectDirectories.length > 0 ? yield* filesService.listSourceFilesCooperative({
77929
+ const shouldListSourceFiles = input.precomputedSourceFiles === void 0 && (input.suppressScanSummary === true || excludedProjectDirectories.length > 0);
77930
+ const precomputedSourceFilePaths = input.precomputedSourceFiles?.map((sourceFile) => sourceFile.path) ?? (shouldListSourceFiles ? yield* filesService.listSourceFilesCooperative({
77924
77931
  rootDirectory: scanDirectory,
77925
77932
  signal: input.signal
77926
- }) : null;
77927
- const includedPrecomputedSourceFiles = precomputedSourceFiles !== null && excludedProjectDirectories.length > 0 ? filterPathsOutsideDirectories({
77933
+ }) : null);
77934
+ const includedPrecomputedSourceFilePaths = precomputedSourceFilePaths !== null && excludedProjectDirectories.length > 0 ? filterPathsOutsideDirectories({
77928
77935
  rootDirectory: scanDirectory,
77929
- relativePaths: precomputedSourceFiles,
77936
+ relativePaths: precomputedSourceFilePaths,
77930
77937
  excludedDirectories: excludedProjectDirectories
77931
- }) : precomputedSourceFiles;
77932
- const sourceFileCount = excludedProjectDirectories.length > 0 ? includedPrecomputedSourceFiles?.length : input.precomputedSourceFileCount ?? includedPrecomputedSourceFiles?.length;
77938
+ }) : precomputedSourceFilePaths;
77939
+ const sourceFileCount = excludedProjectDirectories.length > 0 ? includedPrecomputedSourceFilePaths?.length : input.precomputedSourceFiles?.length ?? input.precomputedSourceFileCount ?? includedPrecomputedSourceFilePaths?.length;
77933
77940
  const project = yield* projectService.discover({
77934
77941
  directory: scanDirectory,
77935
77942
  sourceFileCount
77936
77943
  });
77937
77944
  if (!isAnalyzableProject(project)) return yield* new ReactDoctorError({ reason: new NoReactDependency({ directory: scanDirectory }) });
77938
- const deadCodeSourceFileCount = input.retainExcludedProjectDeadCodeDiagnostics === true && precomputedSourceFiles !== null ? precomputedSourceFiles.length : project.sourceFileCount;
77945
+ const deadCodeSourceFileCount = input.retainExcludedProjectDeadCodeDiagnostics === true && precomputedSourceFilePaths !== null ? precomputedSourceFilePaths.length : project.sourceFileCount;
77939
77946
  const [repo, sha, defaultBranch] = yield* all([
77940
77947
  gitService.githubRepo(scanDirectory).pipe(orElseSucceed(() => null)),
77941
77948
  gitService.headSha(scanDirectory).pipe(orElseSucceed(() => null)),
@@ -77946,13 +77953,16 @@ const runInspect = (input, hooks = {}) => gen(function* () {
77946
77953
  directory: scanDirectory,
77947
77954
  repo
77948
77955
  }).pipe(orElseSucceed(() => null)) : succeed$2(null));
77949
- let lintIncludePaths = (input.skipExplicitIncludePathFilter ? input.includePaths.length > 0 ? [...input.includePaths] : void 0 : computeExplicitLintIncludePaths([...input.includePaths])) ?? resolveLintIncludePaths(scanDirectory, resolvedConfig.config, includedPrecomputedSourceFiles ?? void 0);
77956
+ let lintIncludePaths = (input.skipExplicitIncludePathFilter ? input.includePaths.length > 0 ? [...input.includePaths] : void 0 : computeExplicitLintIncludePaths([...input.includePaths])) ?? resolveLintIncludePaths(scanDirectory, resolvedConfig.config, includedPrecomputedSourceFilePaths ?? void 0);
77950
77957
  if (excludedProjectDirectories.length > 0) lintIncludePaths = filterPathsOutsideDirectories({
77951
77958
  rootDirectory: scanDirectory,
77952
- relativePaths: lintIncludePaths ?? includedPrecomputedSourceFiles ?? (yield* filesService.listSourceFiles(scanDirectory)),
77959
+ relativePaths: lintIncludePaths ?? includedPrecomputedSourceFilePaths ?? (yield* filesService.listSourceFiles(scanDirectory)),
77953
77960
  excludedDirectories: excludedProjectDirectories
77954
77961
  });
77955
- const fallbackScannedFilePaths = input.suppressScanSummary ? (lintIncludePaths ?? includedPrecomputedSourceFiles ?? (yield* filesService.listSourceFiles(scanDirectory))).map((relativePath) => Path.resolve(scanDirectory, relativePath)) : [];
77962
+ const suppliedSourceFiles = input.precomputedSourceFiles;
77963
+ const includedPrecomputedSourceFilePathSet = suppliedSourceFiles === void 0 || input.includePaths.length > 0 ? null : new Set(lintIncludePaths ?? includedPrecomputedSourceFilePaths ?? []);
77964
+ const precomputedLintSourceFiles = includedPrecomputedSourceFilePathSet === null || suppliedSourceFiles === void 0 ? void 0 : suppliedSourceFiles.filter((sourceFile) => includedPrecomputedSourceFilePathSet.has(sourceFile.path));
77965
+ const fallbackScannedFilePaths = input.suppressScanSummary ? (lintIncludePaths ?? includedPrecomputedSourceFilePaths ?? (yield* filesService.listSourceFiles(scanDirectory))).map((relativePath) => Path.resolve(scanDirectory, relativePath)) : [];
77956
77966
  const beforeLint = hooks.beforeLint ?? NO_HOOKS.beforeLint;
77957
77967
  const afterLint = hooks.afterLint ?? NO_HOOKS.afterLint;
77958
77968
  yield* beforeLint(project);
@@ -78085,6 +78095,7 @@ const runInspect = (input, hooks = {}) => gen(function* () {
78085
78095
  rootDirectory: scanDirectory,
78086
78096
  project,
78087
78097
  includePaths: lintIncludePaths ?? void 0,
78098
+ precomputedSourceFiles: precomputedLintSourceFiles,
78088
78099
  nodeBinaryPath: input.nodeBinaryPath,
78089
78100
  customRulesOnly: input.customRulesOnly,
78090
78101
  respectInlineDisables: input.respectInlineDisables,
@@ -81110,5 +81121,5 @@ const startLanguageServer = () => {
81110
81121
  };
81111
81122
  //#endregion
81112
81123
  export { startLanguageServer };
81113
- !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]="828bb7ee-aeca-51f3-9dcb-647387281900")}catch(e){}}();
81114
- //# debugId=828bb7ee-aeca-51f3-9dcb-647387281900
81124
+ !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]="bd5f8dc9-561f-5a40-af38-c9399a4ab2d4")}catch(e){}}();
81125
+ //# debugId=bd5f8dc9-561f-5a40-af38-c9399a4ab2d4
@@ -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]="7d4ecf2d-048c-591a-b104-984bd696101b")}catch(e){}}();
3
- import { Gn as log, Xn as gen, cn as highlighter, g as VERSION } from "./record-metric-DihVLWTw.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="5ddc596c-36d6-58ee-893d-76f758f126fc")}catch(e){}}();
3
+ import { Gn as log, Xn as gen, cn as highlighter, g as VERSION } from "./record-metric-CeygoJWT.js";
4
4
  //#region src/cli/utils/print-branded-header.ts
5
5
  /**
6
6
  * Single branded line every command prints first when not in JSON
@@ -18,5 +18,5 @@ const printBrandedHeader = gen(function* () {
18
18
  //#endregion
19
19
  export { printBrandedHeader as t };
20
20
 
21
- //# sourceMappingURL=print-branded-header-BZazy7f_.js.map
22
- //# debugId=7d4ecf2d-048c-591a-b104-984bd696101b
21
+ //# sourceMappingURL=print-branded-header-_kkHIAUd.js.map
22
+ //# debugId=5ddc596c-36d6-58ee-893d-76f758f126fc
@@ -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]="3fda1939-6c70-5d30-8446-b7b157d9fa83")}catch(e){}}();
3
- import { mn as isPlainObject } from "./record-metric-DihVLWTw.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="2db9e74d-4882-5a40-9562-d2fdab65177c")}catch(e){}}();
3
+ import { mn as isPlainObject } from "./record-metric-CeygoJWT.js";
4
4
  import * as fs$1 from "node:fs";
5
5
  import { parseJSON5 } from "confbox";
6
6
  //#region src/cli/utils/read-object-file.ts
@@ -20,5 +20,5 @@ const readObjectFile = (filePath) => {
20
20
  //#endregion
21
21
  export { readObjectFile as t };
22
22
 
23
- //# sourceMappingURL=read-object-file-DpFYryjs.js.map
24
- //# debugId=3fda1939-6c70-5d30-8446-b7b157d9fa83
23
+ //# sourceMappingURL=read-object-file-Bsov5R1-.js.map
24
+ //# debugId=2db9e74d-4882-5a40-9562-d2fdab65177c
@@ -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]="9d5f4f4f-9d71-589d-a2f3-c06e50bd0696")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="3dc5c201-94db-514e-8ef3-4c6e0f1c1d85")}catch(e){}}();
3
3
  import { n as __require, r as __toESM$1, t as __commonJSMin$1 } from "./chunk-q7NCDQ7-.js";
4
4
  import { createRequire } from "node:module";
5
5
  import * as NodeChildProcess from "node:child_process";
@@ -65540,7 +65540,8 @@ const listSourceFilesViaFilesystemCooperative = async (rootDirectory, signal) =>
65540
65540
  const listSourceFilePaths = (rootDirectory) => (listSourceFilesViaGit(rootDirectory) ?? listSourceFilesViaFilesystem(rootDirectory)).sort();
65541
65541
  const listSourceFilePathsCooperative = async (rootDirectory, signal) => (await listSourceFilesViaGitCooperative(rootDirectory, signal) ?? await listSourceFilesViaFilesystemCooperative(rootDirectory, signal)).sort();
65542
65542
  const listSourceFilesWithSize = (rootDirectory) => collectSizedSourceFiles(rootDirectory, listSourceFilePaths(rootDirectory));
65543
- const listSourceFilesCooperative = async (rootDirectory, signal) => (await collectSizedSourceFilesCooperative(rootDirectory, await listSourceFilePathsCooperative(rootDirectory, signal), signal)).map((entry) => entry.path);
65543
+ const listSourceFilesWithSizeCooperative = async (rootDirectory, signal) => collectSizedSourceFilesCooperative(rootDirectory, await listSourceFilePathsCooperative(rootDirectory, signal), signal);
65544
+ const listSourceFilesCooperative = async (rootDirectory, signal) => (await listSourceFilesWithSizeCooperative(rootDirectory, signal)).map((entry) => entry.path);
65544
65545
  const listSourceFiles = (rootDirectory) => listSourceFilesWithSize(rootDirectory).map((entry) => entry.path);
65545
65546
  const countSourceFiles = (rootDirectory) => listSourceFilesWithSize(rootDirectory).length;
65546
65547
  const NEXT_CONFIG_FILENAMES = [
@@ -75819,6 +75820,10 @@ const resolveCleanedDiagnostic = (message, help, plugin, rule, project) => {
75819
75820
  };
75820
75821
  };
75821
75822
  const parseRuleCode = (code) => {
75823
+ if (typeof code !== "string" || code.length === 0) return {
75824
+ plugin: "unknown",
75825
+ rule: "unknown"
75826
+ };
75822
75827
  const match = code.match(/^(.+)\((.+)\)$/);
75823
75828
  if (!match) return {
75824
75829
  plugin: "unknown",
@@ -76902,7 +76907,7 @@ const runOxlint = async (options) => {
76902
76907
  const pluginPath = resolvePluginPath();
76903
76908
  const extendsPaths = (adoptExistingLintConfig && !customRulesOnly ? detectUserLintConfigPaths(rootDirectory) : []).filter(canOxlintExtendConfig);
76904
76909
  const userPlugins = includedTags.size > 0 ? [] : resolveUserPlugins(userConfig?.plugins, configSourceDirectory);
76905
- const restoreDisableDirectives = respectInlineDisables ? () => {} : await neutralizeDisableDirectives(rootDirectory, includePaths);
76910
+ const restoreDisableDirectives = respectInlineDisables ? () => {} : await neutralizeDisableDirectives(rootDirectory, includePaths ?? options.precomputedSourceFiles?.map((sourceFile) => sourceFile.path));
76906
76911
  const configDirectory = NFS.mkdtempSync(Path.join(os.tmpdir(), "react-doctor-oxlintrc-"));
76907
76912
  const configPath = Path.join(configDirectory, "oxlintrc.json");
76908
76913
  try {
@@ -76935,8 +76940,8 @@ const runOxlint = async (options) => {
76935
76940
  ...sharedArgs
76936
76941
  ];
76937
76942
  await yieldToEventLoop();
76938
- const sizedScanFiles = includePaths === void 0 ? listSourceFilesWithSize(rootDirectory) : null;
76939
- const candidateFiles = includePaths !== void 0 ? includePaths : (sizedScanFiles ?? []).map((entry) => entry.path);
76943
+ const sizedScanFiles = options.precomputedSourceFiles ?? (includePaths === void 0 ? listSourceFilesWithSize(rootDirectory) : null);
76944
+ const candidateFiles = sizedScanFiles === null ? includePaths ?? [] : sizedScanFiles.map((entry) => entry.path);
76940
76945
  const projectIndexModuleSources = includePaths === void 0 && options.deadlineEpochMs === void 0 ? await collectProjectIndexModuleSources(rootDirectory, candidateFiles) : void 0;
76941
76946
  unpluginAutoImportGlobalScopes = collectUnpluginAutoImportGlobalScopes({
76942
76947
  rootDirectory,
@@ -77316,6 +77321,7 @@ var Linter = class Linter extends Service()("react-doctor/Linter") {
77316
77321
  rootDirectory: input.rootDirectory,
77317
77322
  project: input.project,
77318
77323
  includePaths: input.includePaths ? [...input.includePaths] : void 0,
77324
+ precomputedSourceFiles: input.precomputedSourceFiles,
77319
77325
  nodeBinaryPath: input.nodeBinaryPath,
77320
77326
  customRulesOnly: input.customRulesOnly,
77321
77327
  respectInlineDisables: input.respectInlineDisables,
@@ -78113,22 +78119,23 @@ const runInspect = (input, hooks = {}) => gen(function* () {
78113
78119
  const relativeFilePath = toNormalizedRelativePath(diagnostic.filePath, scanDirectory);
78114
78120
  return excludedProjectRelativePaths.some((excludedRelativePath) => relativeFilePath === excludedRelativePath || relativeFilePath.startsWith(`${excludedRelativePath}/`));
78115
78121
  };
78116
- const precomputedSourceFiles = input.suppressScanSummary === true || excludedProjectDirectories.length > 0 ? yield* filesService.listSourceFilesCooperative({
78122
+ const shouldListSourceFiles = input.precomputedSourceFiles === void 0 && (input.suppressScanSummary === true || excludedProjectDirectories.length > 0);
78123
+ const precomputedSourceFilePaths = input.precomputedSourceFiles?.map((sourceFile) => sourceFile.path) ?? (shouldListSourceFiles ? yield* filesService.listSourceFilesCooperative({
78117
78124
  rootDirectory: scanDirectory,
78118
78125
  signal: input.signal
78119
- }) : null;
78120
- const includedPrecomputedSourceFiles = precomputedSourceFiles !== null && excludedProjectDirectories.length > 0 ? filterPathsOutsideDirectories({
78126
+ }) : null);
78127
+ const includedPrecomputedSourceFilePaths = precomputedSourceFilePaths !== null && excludedProjectDirectories.length > 0 ? filterPathsOutsideDirectories({
78121
78128
  rootDirectory: scanDirectory,
78122
- relativePaths: precomputedSourceFiles,
78129
+ relativePaths: precomputedSourceFilePaths,
78123
78130
  excludedDirectories: excludedProjectDirectories
78124
- }) : precomputedSourceFiles;
78125
- const sourceFileCount = excludedProjectDirectories.length > 0 ? includedPrecomputedSourceFiles?.length : input.precomputedSourceFileCount ?? includedPrecomputedSourceFiles?.length;
78131
+ }) : precomputedSourceFilePaths;
78132
+ const sourceFileCount = excludedProjectDirectories.length > 0 ? includedPrecomputedSourceFilePaths?.length : input.precomputedSourceFiles?.length ?? input.precomputedSourceFileCount ?? includedPrecomputedSourceFilePaths?.length;
78126
78133
  const project = yield* projectService.discover({
78127
78134
  directory: scanDirectory,
78128
78135
  sourceFileCount
78129
78136
  });
78130
78137
  if (!isAnalyzableProject(project)) return yield* new ReactDoctorError({ reason: new NoReactDependency({ directory: scanDirectory }) });
78131
- const deadCodeSourceFileCount = input.retainExcludedProjectDeadCodeDiagnostics === true && precomputedSourceFiles !== null ? precomputedSourceFiles.length : project.sourceFileCount;
78138
+ const deadCodeSourceFileCount = input.retainExcludedProjectDeadCodeDiagnostics === true && precomputedSourceFilePaths !== null ? precomputedSourceFilePaths.length : project.sourceFileCount;
78132
78139
  const [repo, sha, defaultBranch] = yield* all([
78133
78140
  gitService.githubRepo(scanDirectory).pipe(orElseSucceed(() => null)),
78134
78141
  gitService.headSha(scanDirectory).pipe(orElseSucceed(() => null)),
@@ -78139,13 +78146,16 @@ const runInspect = (input, hooks = {}) => gen(function* () {
78139
78146
  directory: scanDirectory,
78140
78147
  repo
78141
78148
  }).pipe(orElseSucceed(() => null)) : succeed$2(null));
78142
- let lintIncludePaths = (input.skipExplicitIncludePathFilter ? input.includePaths.length > 0 ? [...input.includePaths] : void 0 : computeExplicitLintIncludePaths([...input.includePaths])) ?? resolveLintIncludePaths(scanDirectory, resolvedConfig.config, includedPrecomputedSourceFiles ?? void 0);
78149
+ let lintIncludePaths = (input.skipExplicitIncludePathFilter ? input.includePaths.length > 0 ? [...input.includePaths] : void 0 : computeExplicitLintIncludePaths([...input.includePaths])) ?? resolveLintIncludePaths(scanDirectory, resolvedConfig.config, includedPrecomputedSourceFilePaths ?? void 0);
78143
78150
  if (excludedProjectDirectories.length > 0) lintIncludePaths = filterPathsOutsideDirectories({
78144
78151
  rootDirectory: scanDirectory,
78145
- relativePaths: lintIncludePaths ?? includedPrecomputedSourceFiles ?? (yield* filesService.listSourceFiles(scanDirectory)),
78152
+ relativePaths: lintIncludePaths ?? includedPrecomputedSourceFilePaths ?? (yield* filesService.listSourceFiles(scanDirectory)),
78146
78153
  excludedDirectories: excludedProjectDirectories
78147
78154
  });
78148
- const fallbackScannedFilePaths = input.suppressScanSummary ? (lintIncludePaths ?? includedPrecomputedSourceFiles ?? (yield* filesService.listSourceFiles(scanDirectory))).map((relativePath) => Path.resolve(scanDirectory, relativePath)) : [];
78155
+ const suppliedSourceFiles = input.precomputedSourceFiles;
78156
+ const includedPrecomputedSourceFilePathSet = suppliedSourceFiles === void 0 || input.includePaths.length > 0 ? null : new Set(lintIncludePaths ?? includedPrecomputedSourceFilePaths ?? []);
78157
+ const precomputedLintSourceFiles = includedPrecomputedSourceFilePathSet === null || suppliedSourceFiles === void 0 ? void 0 : suppliedSourceFiles.filter((sourceFile) => includedPrecomputedSourceFilePathSet.has(sourceFile.path));
78158
+ const fallbackScannedFilePaths = input.suppressScanSummary ? (lintIncludePaths ?? includedPrecomputedSourceFilePaths ?? (yield* filesService.listSourceFiles(scanDirectory))).map((relativePath) => Path.resolve(scanDirectory, relativePath)) : [];
78149
78159
  const beforeLint = hooks.beforeLint ?? NO_HOOKS.beforeLint;
78150
78160
  const afterLint = hooks.afterLint ?? NO_HOOKS.afterLint;
78151
78161
  yield* beforeLint(project);
@@ -78278,6 +78288,7 @@ const runInspect = (input, hooks = {}) => gen(function* () {
78278
78288
  rootDirectory: scanDirectory,
78279
78289
  project,
78280
78290
  includePaths: lintIncludePaths ?? void 0,
78291
+ precomputedSourceFiles: precomputedLintSourceFiles,
78281
78292
  nodeBinaryPath: input.nodeBinaryPath,
78282
78293
  customRulesOnly: input.customRulesOnly,
78283
78294
  respectInlineDisables: input.respectInlineDisables,
@@ -79006,31 +79017,43 @@ const getChangedLineRanges = (input) => runPromise(gen(function* () {
79006
79017
  * instead of being improvised per diagnostic.
79007
79018
  */
79008
79019
  const buildRuleDocsUrl = (plugin, rule) => `${DOCS_RULES_BASE_URL}/${plugin}/${rule}`;
79009
- const collectSourceFileCountsByDirectory = async (rootDirectory, projectDirectories, signal) => {
79020
+ const collectSourceFilesByDirectory = async (rootDirectory, projectDirectories, signal) => {
79010
79021
  const resolvedRootDirectory = Path.resolve(rootDirectory);
79011
- const sourceFileCounts = /* @__PURE__ */ new Map();
79022
+ const sourceFilesByDirectory = /* @__PURE__ */ new Map();
79012
79023
  const projectDirectoryByRelativePath = /* @__PURE__ */ new Map();
79013
79024
  for (const projectDirectory of projectDirectories) {
79014
79025
  const resolvedProjectDirectory = Path.resolve(projectDirectory);
79015
79026
  const relativeDirectory = Path.relative(resolvedRootDirectory, resolvedProjectDirectory);
79016
- if (Path.isAbsolute(relativeDirectory) || relativeDirectory.startsWith("..")) continue;
79017
- sourceFileCounts.set(resolvedProjectDirectory, 0);
79027
+ if (Path.isAbsolute(relativeDirectory) || relativeDirectory === ".." || relativeDirectory.startsWith(`..${Path.sep}`)) continue;
79028
+ sourceFilesByDirectory.set(resolvedProjectDirectory, []);
79018
79029
  projectDirectoryByRelativePath.set(relativeDirectory.replaceAll(Path.sep, "/"), resolvedProjectDirectory);
79019
79030
  }
79020
- const sourceFilePaths = await listSourceFilesCooperative(resolvedRootDirectory, signal);
79021
- for (const sourceFilePath of sourceFilePaths) {
79022
- let relativeDirectory = Path.posix.dirname(sourceFilePath);
79031
+ const sourceFiles = await listSourceFilesWithSizeCooperative(resolvedRootDirectory, signal);
79032
+ for (const sourceFile of sourceFiles) {
79033
+ let relativeDirectory = Path.posix.dirname(sourceFile.path);
79023
79034
  while (true) {
79024
79035
  const normalizedRelativeDirectory = relativeDirectory === "." ? "" : relativeDirectory;
79025
79036
  const projectDirectory = projectDirectoryByRelativePath.get(normalizedRelativeDirectory);
79026
79037
  if (projectDirectory !== void 0) {
79027
- sourceFileCounts.set(projectDirectory, (sourceFileCounts.get(projectDirectory) ?? 0) + 1);
79038
+ const projectRelativePath = Path.posix.relative(normalizedRelativeDirectory, sourceFile.path);
79039
+ const projectSourceFiles = sourceFilesByDirectory.get(projectDirectory);
79040
+ if (projectSourceFiles === void 0) break;
79041
+ projectSourceFiles.push({
79042
+ path: projectRelativePath,
79043
+ sizeBytes: sourceFile.sizeBytes
79044
+ });
79028
79045
  break;
79029
79046
  }
79030
79047
  if (relativeDirectory === ".") break;
79031
79048
  relativeDirectory = Path.posix.dirname(relativeDirectory);
79032
79049
  }
79033
79050
  }
79051
+ return sourceFilesByDirectory;
79052
+ };
79053
+ const collectSourceFileCountsByDirectory = async (rootDirectory, projectDirectories, signal) => {
79054
+ const sourceFilesByDirectory = await collectSourceFilesByDirectory(rootDirectory, projectDirectories, signal);
79055
+ const sourceFileCounts = /* @__PURE__ */ new Map();
79056
+ for (const [projectDirectory, sourceFiles] of sourceFilesByDirectory) sourceFileCounts.set(projectDirectory, sourceFiles.length);
79034
79057
  return sourceFileCounts;
79035
79058
  };
79036
79059
  const computeConfigFingerprint = (projectDirectory, version) => {
@@ -79503,7 +79526,7 @@ const makeNoopConsole = () => ({
79503
79526
  });
79504
79527
  //#endregion
79505
79528
  //#region src/cli/utils/version.ts
79506
- const VERSION = "0.9.11-dev.d23a0d7";
79529
+ const VERSION = "0.9.11-dev.f1899d2";
79507
79530
  //#endregion
79508
79531
  //#region src/cli/utils/json-mode.ts
79509
79532
  let context = null;
@@ -79830,5 +79853,5 @@ const recordDistribution = (name, value, options = {}) => {
79830
79853
  //#endregion
79831
79854
  export { CONFIG_SCHEMA_URL as $, orElseSucceed as $n, getCategoryImpact as $t, SCAN_RESULT_CACHE_MAX_HASHED_FILE_SIZE_BYTES as A, resolveReactDoctorCacheDir as An, anonymizeInPlace as At, isGitHookEnvironment as B, validateConfigTypes as Bn, computeConfigFingerprint as Bt, GH_DEFAULT_BRANCH_PROBE_TIMEOUT_MS as C, mapWithConcurrency as Cn, SHARE_BASE_URL as Ct, REACT_DOCTOR_CONFIG_PROJECT_NAME as D, remainingDeadlineBudgetMs as Dn, SidecarLintCacheEnabled as Dt, NANOSECONDS_PER_MILLISECOND as E, messageFromUnknown as En, Score as Et, STAGED_SNAPSHOT_ADDITIONAL_CONFIG_FILENAMES as F, scrubSensitivePaths as Fn, buildSkippedChecks as Ft, isCiOrCodingAgentEnvironment as G, log as Gn, discoverReactSubprojects as Gt, ACTION_INPUT_ENVIRONMENT_VARIABLES as H, Console as Hn, createNodeReadFileLinesSync as Ht, TUI_REPORT_COMPACT_MAX_ROWS as I, setColorEnabled as In, calculateScore as It, CANONICAL_DISCORD_URL as J, decodeUnknownSync as Jn, filterSourceFiles as Jt, isCodingAgentEnvironment as K, warn$1 as Kn, filterDiagnosticsForSurface as Kt, TUI_REPORT_DETAIL_WIDTH_FRACTION as L, summarizeDiagnostics as Ln, canonicalizeUserRuleKey as Lt, SENTRY_FLUSH_TIMEOUT_MS as M, resolveScanTarget as Mn, atomicWriteJson as Mt, SENTRY_RELEASE_PREFIX as N, restoreLegacyThrow as Nn, buildJsonReport as Nt, RUN_GIT_MAX_BUFFER_BYTES as O, resolveGithubActionsScoreMetadata as On, StagedFiles as Ot, STAGED_FILES_TEMP_DIR_PREFIX as P, runInspect as Pn, buildRuleDocsUrl as Pt, COMPILER_CLEANUP_RULE_KEYS as Q, map$3 as Qn, getBaselineDiffPlan as Qt, CliInputError as R, toCanonicalPath as Rn, clearConfigCache as Rt, CI_TRUST_COMPANIES as S, loadConfigWithSource as Sn, Reporter as St, MINIMUM_VTE_VERSION_FOR_HYPERLINKS as T, mergeReactDoctorConfigs as Tn, STAGED_FILES_PROJECT_CONFIG_FILENAMES as Tt, detectRunnerOs as U, error as Un, createOxlintSpawnSlots as Ut, isDebugFlagEnabled as V, yieldToEventLoop as Vn, computeDiagnosticDelta as Vt, isCiEnvironment as W, info as Wn, detectAiTrainingEnvironment as Wt, CI_URL as X, gen as Xn, formatErrorChain as Xt, CANONICAL_GITHUB_URL as Y, make$30 as Yn, findLegacyConfig as Yt, COMPILER_CLEANUP_BUCKET as Z, makeSpan$1 as Zn, formatReactDoctorError as Zt, makeNoopConsole as _, isSameRuleKey as _n, ParentSpan as _r, OxlintConcurrency as _t, isEnvFlagEnabled as a, hasPublishedFixRecipe as an, runSync as ar, Files as at, AXIOM_TRACES_DATASET as b, listSourceFiles as bn, Progress as bt, setSentryProjectInfo as c, highlighter as cn, void_ as cr, Git as ct, isJsonModeActive as d, isFile as dn, provide$2 as dr, LEGACY_CONFIG_FILENAME as dt, getChangedLineRanges as en, promise as er, Config as et, setJsonReportDirectory as f, isMonorepoRoot as fn, succeed$3 as fr, LintPartialFailures as ft, VERSION as g, isReactDoctorError as gn, void_$1 as gr, OXLINT_NODE_REQUIREMENT as gt, writeJsonReport as h, isProjectDiscoveryError as hn, fail$5 as hr, NodeResolver as ht, isTelemetryEnabled as i, groupBy as in, runPromise as ir, ENTERPRISE_CONTACT_URL as it, SENTRY_DSN as j, resolveScanConcurrency as jn, anonymizeText as jt, SCAN_RESULT_CACHE_FILENAME as k, resolveLintBatchOrdering as kn, SupplyChain as kt, getRunId as l, isDirectory as ln, buildWithScope as lr, HTML_FILE_PATTERN as lt, writeJsonErrorReport as m, isPlainObject as mn, makeUnsafe$5 as mr, MILLISECONDS_PER_SECOND as mt, recordDistribution as n, getDiffInfo as nn, provideContext as nr, DOCS_URL as nt, buildSentryScope as o, hasReactRuntime as on, sync as or, GITHUB_ACTIONS_SETUP_URL as ot, setJsonReportMode as p, isPathInsideDirectory as pn, close as pr, Linter as pt, AXIOM_DEFAULT_DOMAIN as q, Diagnostic as qn, filterPathsOutsideDirectories as qt, toSpanAttributes as r, getEquivalentRuleKeys as rn, provideService$2 as rr, DeadCode as rt, buildSentryProjectContext as s, hashFileContents as sn, try_ as sr, GIT_SHOW_MAX_BUFFER_BYTES as st, recordCount as t, getDiagnosticRuleIdentity as tn, provide as tr, DIAGNOSTIC_CATEGORY_BUCKETS as tt, enableJsonMode as u, isErrnoException as un, mergeAll$1 as ur, JSX_FILE_PATTERN as ut, AXIOM_INGEST_TOKEN as v, isScanComplete as vn, OxlintSpawnSlots as vt, METRIC as w, materializeSourceTree as wn, SKILL_NAME as wt, BASELINE_FILES_TEMP_DIR_PREFIX as x, listWorkspacePackages as xn, Project as xt, AXIOM_METRICS_DATASET as y, layerObservability as yn, PerFileLintCacheEnabled as yt, isNonInteractiveEnvironment as z, toRelativePath as zn, collectSourceFileCountsByDirectory as zt };
79832
79855
 
79833
- //# sourceMappingURL=record-metric-DihVLWTw.js.map
79834
- //# debugId=9d5f4f4f-9d71-589d-a2f3-c06e50bd0696
79856
+ //# sourceMappingURL=record-metric-CeygoJWT.js.map
79857
+ //# debugId=3dc5c201-94db-514e-8ef3-4c6e0f1c1d85
@@ -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]="4205f52d-1270-592f-83be-ba17a5270ea4")}catch(e){}}();
3
- import { J as CANONICAL_DISCORD_URL, M as SENTRY_FLUSH_TIMEOUT_MS, Un as error, Xn as gen, Xt as formatErrorChain, Y as CANONICAL_GITHUB_URL, Zt as formatReactDoctorError, ar as runSync, cn as highlighter, g as VERSION, gn as isReactDoctorError, l as getRunId, o as buildSentryScope, t as recordCount, un as isErrnoException, w as METRIC } from "./record-metric-DihVLWTw.js";
4
- import { c as isExpectedUserError, i as recordRunTraceId, l as formatEnvironmentError, n as getActiveRunTrace, s as shutdownTelemetry, u as isEnvironmentError } from "./unref-stdin-B9y2rq2D.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="02879fb1-d1d5-59d7-b8a5-f92603a2d425")}catch(e){}}();
3
+ import { J as CANONICAL_DISCORD_URL, M as SENTRY_FLUSH_TIMEOUT_MS, Un as error, Xn as gen, Xt as formatErrorChain, Y as CANONICAL_GITHUB_URL, Zt as formatReactDoctorError, ar as runSync, cn as highlighter, g as VERSION, gn as isReactDoctorError, l as getRunId, o as buildSentryScope, t as recordCount, un as isErrnoException, w as METRIC } from "./record-metric-CeygoJWT.js";
4
+ import { c as isExpectedUserError, i as recordRunTraceId, l as formatEnvironmentError, n as getActiveRunTrace, s as shutdownTelemetry, u as isEnvironmentError } from "./unref-stdin-DklpxlNQ.js";
5
5
  import * as Sentry from "@sentry/node";
6
6
  //#region src/cli/utils/handle-error.ts
7
7
  const OTLP_ENDPOINT_ENVIRONMENT_VARIABLE = "REACT_DOCTOR_OTLP_ENDPOINT";
@@ -160,5 +160,5 @@ const reportErrorToSentry = async (error) => {
160
160
  //#endregion
161
161
  export { handleError as n, handleUserError as r, reportErrorToSentry as t };
162
162
 
163
- //# sourceMappingURL=report-error-OnDP4z6M.js.map
164
- //# debugId=4205f52d-1270-592f-83be-ba17a5270ea4
163
+ //# sourceMappingURL=report-error-uffmJocy.js.map
164
+ //# debugId=02879fb1-d1d5-59d7-b8a5-f92603a2d425
@@ -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]="d32cca29-e4f5-5050-921d-82c562ebe600")}catch(e){}}();
3
- import { D as REACT_DOCTOR_CONFIG_PROJECT_NAME, t as recordCount, w as METRIC } from "./record-metric-DihVLWTw.js";
4
- import { u as isCommandAvailable } from "./install-github-workflow-CPrayyr8.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="d2605508-c36d-506a-b29d-b78a2034be1c")}catch(e){}}();
3
+ import { D as REACT_DOCTOR_CONFIG_PROJECT_NAME, t as recordCount, w as METRIC } from "./record-metric-CeygoJWT.js";
4
+ import { u as isCommandAvailable } from "./install-github-workflow-BwELZAhu.js";
5
5
  import { spawn } from "node:child_process";
6
6
  import * as path$1 from "node:path";
7
7
  import process$1 from "node:process";
@@ -275,5 +275,5 @@ const reportWorkflowResult = (workflowSpinner, result, projectRoot) => {
275
275
  //#endregion
276
276
  export { recordGate as a, ACTION_UPGRADE_EVENT as c, INSTALL_AGENTS_PREFERENCE_ID as d, ONBOARDING_EVENT as f, detectAvailableAgents as h, readPreference as i, CI_PITCH_EVENT as l, computeDefaultSelectedAgents as m, openUrl as n, runMigrations as o, SETUP_HINT_EVENT as p, isGatePending as r, writePreference as s, reportWorkflowResult as t, HANDOFF_TARGET_PREFERENCE_ID as u };
277
277
 
278
- //# sourceMappingURL=report-workflow-result-8lD74mh1.js.map
279
- //# debugId=d32cca29-e4f5-5050-921d-82c562ebe600
278
+ //# sourceMappingURL=report-workflow-result-CMtcy7Eb.js.map
279
+ //# debugId=d2605508-c36d-506a-b29d-b78a2034be1c
@@ -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]="bf1d83b8-02ee-50c7-897a-c6a2c16b1624")}catch(e){}}();
3
- import { Jt as filterSourceFiles, Rn as toCanonicalPath, pn as isPathInsideDirectory } from "./record-metric-DihVLWTw.js";
4
- import { L as cliLogger } from "./install-doctor-script-dYObdsoT.js";
5
- import { d as detectDefaultBranch, f as runCommand, l as prompts, u as isCommandAvailable } from "./install-github-workflow-CPrayyr8.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="ea3de9d5-87e7-51be-9179-ab32166a5066")}catch(e){}}();
3
+ import { Jt as filterSourceFiles, Rn as toCanonicalPath, pn as isPathInsideDirectory } from "./record-metric-CeygoJWT.js";
4
+ import { L as cliLogger } from "./install-doctor-script-Dn69YqKG.js";
5
+ import { d as detectDefaultBranch, f as runCommand, l as prompts, u as isCommandAvailable } from "./install-github-workflow-BwELZAhu.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-BTt7-Yy6.js.map
339
- //# debugId=bf1d83b8-02ee-50c7-897a-c6a2c16b1624
338
+ //# sourceMappingURL=resolve-scope-CFro-KQO.js.map
339
+ //# debugId=ea3de9d5-87e7-51be-9179-ab32166a5066
@@ -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]="4f0872eb-f3f6-5da7-8409-7e6eb23e2cdf")}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-DihVLWTw.js";
4
- import { L as cliLogger, n as findNearestPackageDirectory } from "./install-doctor-script-dYObdsoT.js";
5
- import { t as readObjectFile } from "./read-object-file-DpFYryjs.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="9987c4c5-e381-5919-8b60-ccf7a8b09c54")}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-CeygoJWT.js";
4
+ import { L as cliLogger, n as findNearestPackageDirectory } from "./install-doctor-script-Dn69YqKG.js";
5
+ import { t as readObjectFile } from "./read-object-file-Bsov5R1-.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-CLbcyk2e.js.map
581
- //# debugId=4f0872eb-f3f6-5da7-8409-7e6eb23e2cdf
580
+ //# sourceMappingURL=rules-BkLea4GL.js.map
581
+ //# debugId=9987c4c5-e381-5919-8b60-ccf7a8b09c54