react-doctor 0.5.8-dev.b6d1a87 → 0.5.8-dev.bd0f465

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/cli.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]="1e81c0a2-fd08-5f5b-ba28-bd5f7587e0f4")}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]="fabe3e34-b40f-514e-a5af-fa68a36365ae")}catch(e){}}();
3
3
  import { createRequire } from "node:module";
4
4
  import * as NodeChildProcess from "node:child_process";
5
5
  import { execFile, execFileSync, spawn, spawnSync } from "node:child_process";
@@ -40522,11 +40522,6 @@ const toCanonicalPath = (filePath) => {
40522
40522
  };
40523
40523
  const DEAD_CODE_PLUGIN = "deslop";
40524
40524
  const DEAD_CODE_CATEGORY = "Maintainability";
40525
- const REACT_DOCTOR_TOOLCHAIN_PACKAGES = new Set([
40526
- "react-doctor",
40527
- "eslint-plugin-react-doctor",
40528
- "oxlint-plugin-react-doctor"
40529
- ]);
40530
40525
  const DEAD_CODE_WORKER_SCRIPT = `
40531
40526
  const inputChunks = [];
40532
40527
  process.stdin.on("data", (chunk) => inputChunks.push(chunk));
@@ -40832,7 +40827,6 @@ const checkDeadCode = async (options) => {
40832
40827
  });
40833
40828
  }
40834
40829
  for (const unusedDependency of result.unusedDependencies) {
40835
- if (REACT_DOCTOR_TOOLCHAIN_PACKAGES.has(unusedDependency.name)) continue;
40836
40830
  const label = unusedDependency.isDevDependency ? "devDependency" : "dependency";
40837
40831
  diagnostics.push({
40838
40832
  filePath: "package.json",
@@ -45109,7 +45103,7 @@ const makeNoopConsole = () => ({
45109
45103
  });
45110
45104
  //#endregion
45111
45105
  //#region src/cli/utils/version.ts
45112
- const VERSION = "0.5.8-dev.b6d1a87";
45106
+ const VERSION = "0.5.8-dev.bd0f465";
45113
45107
  //#endregion
45114
45108
  //#region src/cli/utils/json-mode.ts
45115
45109
  let context = null;
@@ -45478,13 +45472,13 @@ const isDevVersion = (version) => version === "0.0.0" || version.includes("-");
45478
45472
  * uploads source-map artifacts under, so stack frames symbolicate. Honors the
45479
45473
  * standard `SENTRY_RELEASE` override.
45480
45474
  */
45481
- const resolveSentryRelease = () => process.env.SENTRY_RELEASE || `react-doctor@0.5.8-dev.b6d1a87`;
45475
+ const resolveSentryRelease = () => process.env.SENTRY_RELEASE || `react-doctor@0.5.8-dev.bd0f465`;
45482
45476
  /**
45483
45477
  * Deployment environment shown in Sentry's environment filter. Defaults to
45484
45478
  * `production` for tagged releases and `development` for dev/unbuilt versions,
45485
45479
  * overridable via the standard `SENTRY_ENVIRONMENT` env var.
45486
45480
  */
45487
- const resolveSentryEnvironment = () => process.env.SENTRY_ENVIRONMENT || (isDevVersion("0.5.8-dev.b6d1a87") ? "development" : "production");
45481
+ const resolveSentryEnvironment = () => process.env.SENTRY_ENVIRONMENT || (isDevVersion("0.5.8-dev.bd0f465") ? "development" : "production");
45488
45482
  /**
45489
45483
  * Performance-tracing sample rate in `[0, 1]`. Reads `SENTRY_TRACES_SAMPLE_RATE`
45490
45484
  * (set to `0` to disable tracing) and falls back to
@@ -50568,7 +50562,6 @@ const NON_BLOCKING_REACT_DOCTOR_COMMAND = [
50568
50562
  `if ${REACT_DOCTOR_COMMAND} > "$react_doctor_output" 2>&1; then`,
50569
50563
  "rm -f \"$react_doctor_output\";",
50570
50564
  "else",
50571
- "cat \"$react_doctor_output\" >&2;",
50572
50565
  "rm -f \"$react_doctor_output\";",
50573
50566
  `printf "%s\\n" "React Doctor found staged regressions." "Run ${REACT_DOCTOR_COMMAND} to inspect." "Want them fixed? Ask your agent to run that command and resolve the findings." >&2;`,
50574
50567
  "fi"
@@ -52266,11 +52259,10 @@ const rememberInstallAgents = (agents, options = {}) => writePreference(INSTALL_
52266
52259
  const CLAUDE_AGENT = "claude-code";
52267
52260
  const CURSOR_AGENT = "cursor";
52268
52261
  const CLAUDE_SETTINGS_RELATIVE_PATH = ".claude/settings.json";
52269
- const CLAUDE_HOOK_RELATIVE_PATH = ".claude/hooks/react-doctor.mjs";
52270
- const CLAUDE_HOOK_COMMAND = "node \"$CLAUDE_PROJECT_DIR/.claude/hooks/react-doctor.mjs\"";
52262
+ const CLAUDE_HOOK_RELATIVE_PATH = ".claude/hooks/react-doctor.sh";
52263
+ const CLAUDE_HOOK_COMMAND = "sh \"$CLAUDE_PROJECT_DIR/.claude/hooks/react-doctor.sh\"";
52271
52264
  const CURSOR_HOOKS_RELATIVE_PATH = ".cursor/hooks.json";
52272
- const CURSOR_HOOK_RELATIVE_PATH = ".cursor/hooks/react-doctor.mjs";
52273
- const CURSOR_HOOK_COMMAND = "node .cursor/hooks/react-doctor.mjs";
52265
+ const CURSOR_HOOK_RELATIVE_PATH = ".cursor/hooks/react-doctor.sh";
52274
52266
  const CURSOR_HOOK_MATCHER = "Write|Edit|MultiEdit|ApplyPatch";
52275
52267
  const CURSOR_HOOKS_SCHEMA_VERSION = 1;
52276
52268
  const isSupportedAgent = (agent) => agent === CLAUDE_AGENT || agent === CURSOR_AGENT;
@@ -52302,6 +52294,7 @@ const writeJsonFileWithDirectoryCheck = (filePath, value) => {
52302
52294
  const writeHookScript = (filePath) => {
52303
52295
  ensureDirectoryExists(Path.dirname(filePath));
52304
52296
  NFS.writeFileSync(filePath, buildAgentHookScript());
52297
+ NFS.chmodSync(filePath, 493);
52305
52298
  };
52306
52299
  const hasClaudeHookCommand = (groups) => groups.some((group) => (group.hooks ?? []).some((hook) => hook.command === CLAUDE_HOOK_COMMAND));
52307
52300
  const installClaudeHook = (projectRoot) => {
@@ -52322,7 +52315,7 @@ const installClaudeHook = (projectRoot) => {
52322
52315
  writeHookScript(hookPath);
52323
52316
  return [settingsPath, hookPath];
52324
52317
  };
52325
- const hasCursorHookCommand = (handlers) => handlers.some((handler) => handler.command === CURSOR_HOOK_COMMAND);
52318
+ const hasCursorHookCommand = (handlers) => handlers.some((handler) => handler.command === CURSOR_HOOK_RELATIVE_PATH);
52326
52319
  const installCursorHook = (projectRoot) => {
52327
52320
  const configPath = Path.join(projectRoot, CURSOR_HOOKS_RELATIVE_PATH);
52328
52321
  const hookPath = Path.join(projectRoot, CURSOR_HOOK_RELATIVE_PATH);
@@ -52330,7 +52323,7 @@ const installCursorHook = (projectRoot) => {
52330
52323
  const hooks = { ...config.hooks ?? {} };
52331
52324
  const postToolUseHooks = [...hooks.postToolUse ?? []];
52332
52325
  if (!hasCursorHookCommand(postToolUseHooks)) postToolUseHooks.push({
52333
- command: CURSOR_HOOK_COMMAND,
52326
+ command: CURSOR_HOOK_RELATIVE_PATH,
52334
52327
  matcher: CURSOR_HOOK_MATCHER,
52335
52328
  timeout: 120
52336
52329
  });
@@ -52344,111 +52337,102 @@ const installCursorHook = (projectRoot) => {
52344
52337
  return [configPath, hookPath];
52345
52338
  };
52346
52339
  const buildAgentHookScript = () => [
52347
- "import { readFileSync, writeFileSync, unlinkSync } from 'node:fs';",
52348
- "import { tmpdir } from 'node:os';",
52349
- "import { join, dirname } from 'node:path';",
52350
- "import { fileURLToPath } from 'node:url';",
52351
- "import { spawnSync } from 'node:child_process';",
52340
+ "#!/bin/sh",
52341
+ "set -u",
52352
52342
  "",
52353
- "const __filename = fileURLToPath(import.meta.url);",
52354
- "const __dirname = dirname(__filename);",
52343
+ "input_file=$(mktemp \"${TMPDIR:-/tmp}/react-doctor-agent-hook.XXXXXX\")",
52344
+ "output_file=$(mktemp \"${TMPDIR:-/tmp}/react-doctor-agent-hook-output.XXXXXX\")",
52345
+ "trap 'rm -f \"$input_file\" \"$output_file\"' EXIT",
52346
+ "cat > \"$input_file\"",
52355
52347
  "",
52356
- "const EDIT_TOOL_NAMES = new Set(['Edit', 'Write', 'MultiEdit', 'NotebookEdit', 'ApplyPatch']);",
52348
+ "script_dir=$(CDPATH= cd \"$(dirname \"$0\")\" && pwd)",
52349
+ "project_root=${CLAUDE_PROJECT_DIR:-}",
52350
+ "if [ -z \"$project_root\" ]; then",
52351
+ " project_root=$(CDPATH= cd \"$script_dir/../..\" && pwd)",
52352
+ "fi",
52353
+ "if ! cd \"$project_root\"; then",
52354
+ " exit 0",
52355
+ "fi",
52357
52356
  "",
52358
- "const readStdin = () => {",
52359
- " try {",
52360
- " return readFileSync(0, 'utf8');",
52361
- " } catch {",
52362
- " return '';",
52363
- " }",
52364
- "};",
52357
+ "should_scan() {",
52358
+ " if ! command -v node >/dev/null 2>&1; then",
52359
+ " return 0",
52360
+ " fi",
52365
52361
  "",
52366
- "const shouldScan = (input) => {",
52362
+ " node - \"$input_file\" <<'NODE'",
52363
+ "const fs = require('node:fs');",
52364
+ "const inputPath = process.argv[2];",
52365
+ "const editToolNames = new Set(['Edit', 'Write', 'MultiEdit', 'NotebookEdit', 'ApplyPatch']);",
52366
+ "try {",
52367
+ " const input = JSON.parse(fs.readFileSync(inputPath, 'utf8') || '{}');",
52367
52368
  " const eventName = input.hook_event_name || input.eventName || input.event_name;",
52368
52369
  " if (eventName === 'PostToolBatch') {",
52369
52370
  " const toolCalls = Array.isArray(input.tool_calls) ? input.tool_calls : [];",
52370
- " return toolCalls.some((toolCall) => EDIT_TOOL_NAMES.has(toolCall.tool_name));",
52371
+ " process.exit(toolCalls.some((toolCall) => editToolNames.has(toolCall.tool_name)) ? 0 : 10);",
52371
52372
  " }",
52372
52373
  " const toolName = input.tool_name || input.toolName || input.tool;",
52373
- " return !toolName || EDIT_TOOL_NAMES.has(toolName);",
52374
- "};",
52374
+ " process.exit(!toolName || editToolNames.has(toolName) ? 0 : 10);",
52375
+ "} catch {",
52376
+ " process.exit(0);",
52377
+ "}",
52378
+ "NODE",
52379
+ "}",
52375
52380
  "",
52376
- "const runReactDoctor = (outputPath) => {",
52377
- " // Each candidate is a single shell command string (not an args array):",
52378
- " // `shell: true` is required to run the Windows `.cmd` shims, and an args",
52379
- " // array with `shell: true` trips Node's DEP0190. A missing command exits",
52380
- " // 127 via the shell (no ENOENT error), so fall through on that. With no",
52381
- " // runner found, exit 0 silently — stdout is parsed as the hook's JSON.",
52382
- " const commands = [",
52383
- " './node_modules/.bin/react-doctor --verbose --scope changed --blocking warning --no-score',",
52384
- " 'react-doctor --verbose --scope changed --blocking warning --no-score',",
52385
- " 'pnpm dlx react-doctor@latest --verbose --scope changed --blocking warning --no-score',",
52386
- " 'npx --yes react-doctor@latest --verbose --scope changed --blocking warning --no-score',",
52387
- " ];",
52381
+ "run_react_doctor() {",
52382
+ " if [ -x ./node_modules/.bin/react-doctor ]; then",
52383
+ " ./node_modules/.bin/react-doctor --verbose --scope changed --blocking warning --no-score",
52384
+ " return",
52385
+ " fi",
52388
52386
  "",
52389
- " for (const command of commands) {",
52390
- " const result = spawnSync(command, { encoding: 'utf8', shell: true });",
52391
- " if (result.error?.code === 'ENOENT' || result.status === 127) continue;",
52392
- " try {",
52393
- " writeFileSync(outputPath, (result.stdout || '') + (result.stderr || ''));",
52394
- " } catch {}",
52395
- " return result.status;",
52396
- " }",
52387
+ " if command -v react-doctor >/dev/null 2>&1; then",
52388
+ " react-doctor --verbose --scope changed --blocking warning --no-score",
52389
+ " return",
52390
+ " fi",
52397
52391
  "",
52398
- " return 0;",
52399
- "};",
52392
+ " if command -v pnpm >/dev/null 2>&1; then",
52393
+ " pnpm dlx react-doctor@latest --verbose --scope changed --blocking warning --no-score",
52394
+ " return",
52395
+ " fi",
52400
52396
  "",
52401
- "const cleanup = (...paths) => {",
52402
- " for (const path of paths) {",
52403
- " try { unlinkSync(path); } catch {}",
52404
- " }",
52405
- "};",
52397
+ " if command -v npx >/dev/null 2>&1; then",
52398
+ " npx --yes react-doctor@latest --verbose --scope changed --blocking warning --no-score",
52399
+ " return",
52400
+ " fi",
52406
52401
  "",
52407
- "const main = () => {",
52408
- " let input;",
52409
- " try {",
52410
- " const stdinContent = readStdin();",
52411
- " input = JSON.parse(stdinContent || '{}');",
52412
- " } catch {",
52413
- " input = {};",
52414
- " }",
52402
+ " printf '%s\\n' 'react-doctor: command not found; skipping agent hook scan.'",
52403
+ " return 0",
52404
+ "}",
52415
52405
  "",
52416
- " if (!shouldScan(input)) {",
52417
- " process.exit(0);",
52418
- " }",
52406
+ "if ! should_scan; then",
52407
+ " exit 0",
52408
+ "fi",
52419
52409
  "",
52420
- " const projectRoot = process.env.CLAUDE_PROJECT_DIR || join(__dirname, '../..');",
52421
- " const outputPath = join(tmpdir(), `react-doctor-agent-hook-output-${process.pid}.txt`);",
52410
+ "if run_react_doctor > \"$output_file\" 2>&1; then",
52411
+ " exit 0",
52412
+ "fi",
52422
52413
  "",
52414
+ "node - \"$input_file\" \"$output_file\" <<'NODE'",
52415
+ "const fs = require('node:fs');",
52416
+ "const inputPath = process.argv[2];",
52417
+ "const outputPath = process.argv[3];",
52418
+ "const readInput = () => {",
52423
52419
  " try {",
52424
- " process.chdir(projectRoot);",
52420
+ " return JSON.parse(fs.readFileSync(inputPath, 'utf8') || '{}');",
52425
52421
  " } catch {",
52426
- " process.exit(0);",
52427
- " }",
52428
- "",
52429
- " const scanResult = runReactDoctor(outputPath);",
52430
- " if (scanResult === 0) {",
52431
- " cleanup(outputPath);",
52432
- " process.exit(0);",
52433
- " }",
52434
- "",
52435
- " const scanOutput = readFileSync(outputPath, 'utf8').trim();",
52436
- " cleanup(outputPath);",
52437
- "",
52438
- " if (!scanOutput) {",
52439
- " process.exit(0);",
52440
- " }",
52441
- "",
52442
- " const message = `React Doctor found issues in the changed files. Review this output and fix the regressions before finishing. For confirmed issues that cannot be fixed now, create GitHub issues with the rule, file/line, confidence, impact, and proposed fix.\\n\\n${scanOutput}`;",
52443
- "",
52444
- " if (input.hook_event_name === 'PostToolBatch') {",
52445
- " console.log(JSON.stringify({ hookSpecificOutput: { hookEventName: 'PostToolBatch', additionalContext: message } }));",
52446
- " } else {",
52447
- " console.log(JSON.stringify({ additional_context: message }));",
52422
+ " return {};",
52448
52423
  " }",
52449
52424
  "};",
52450
- "",
52451
- "main();"
52425
+ "const input = readInput();",
52426
+ "const scanOutput = fs.readFileSync(outputPath, 'utf8').trim();",
52427
+ "if (!scanOutput) process.exit(0);",
52428
+ "const message = `React Doctor found issues in the changed files. Review this output and fix the regressions before finishing. For confirmed issues that cannot be fixed now, create GitHub issues with the rule, file/line, confidence, impact, and proposed fix.\\n\\n${scanOutput}`;",
52429
+ "if (input.hook_event_name === 'PostToolBatch') {",
52430
+ " console.log(JSON.stringify({ hookSpecificOutput: { hookEventName: 'PostToolBatch', additionalContext: message } }));",
52431
+ "} else {",
52432
+ " console.log(JSON.stringify({ additional_context: message }));",
52433
+ "}",
52434
+ "NODE",
52435
+ ""
52452
52436
  ].join("\n");
52453
52437
  const installReactDoctorAgentHooks = (options) => {
52454
52438
  const installedAgents = [];
@@ -52509,7 +52493,6 @@ const buildReactDoctorHookBlock = () => [
52509
52493
  "if react_doctor_scan_staged_files > \"$react_doctor_output\" 2>&1; then",
52510
52494
  " rm -f \"$react_doctor_output\"",
52511
52495
  "else",
52512
- " cat \"$react_doctor_output\" >&2",
52513
52496
  " rm -f \"$react_doctor_output\"",
52514
52497
  ` printf '%s\\n' "React Doctor found staged regressions." "Run ${REACT_DOCTOR_COMMAND} to inspect." "Want them fixed? Ask your agent to run that command and resolve the findings." >&2`,
52515
52498
  "fi",
@@ -55387,14 +55370,6 @@ const applyColorPreference = (argv, env = process.env) => {
55387
55370
  setColorEnabled(enabled);
55388
55371
  };
55389
55372
  //#endregion
55390
- //#region src/cli/utils/ensure-windows-utf8-console.ts
55391
- const ensureWindowsUtf8Console = () => {
55392
- if (process.platform !== "win32" || !process.stdout.isTTY) return;
55393
- try {
55394
- execFileSync("chcp.com", ["65001"], { stdio: "ignore" });
55395
- } catch {}
55396
- };
55397
- //#endregion
55398
55373
  //#region src/cli/utils/exit-gracefully.ts
55399
55374
  const exitGracefully = () => {
55400
55375
  try {
@@ -55753,7 +55728,6 @@ if (process.argv.includes("-V") && !strippedArgv.includes("-V")) {
55753
55728
  process.exit(0);
55754
55729
  }
55755
55730
  applyColorPreference(strippedArgv);
55756
- ensureWindowsUtf8Console();
55757
55731
  const argv = normalizeHelpInvocation(strippedArgv, knownCommands);
55758
55732
  Promise.resolve().then(() => assertNoRemovedFlags(process.argv)).then(() => program.parseAsync(argv)).then(() => flushSentry()).catch(async (error) => {
55759
55733
  const isUserError = isExpectedUserError(error);
@@ -55772,4 +55746,4 @@ Promise.resolve().then(() => assertNoRemovedFlags(process.argv)).then(() => prog
55772
55746
  export {};
55773
55747
 
55774
55748
  //# sourceMappingURL=cli.js.map
55775
- //# debugId=1e81c0a2-fd08-5f5b-ba28-bd5f7587e0f4
55749
+ //# debugId=fabe3e34-b40f-514e-a5af-fa68a36365ae
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]="faa2d232-c423-58f8-97f4-ba8d41a199d7")}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]="9807b1bf-1e62-5421-ad35-d1f4129c1538")}catch(e){}}();
3
3
  import { r as __toESM$1, t as __commonJSMin$1 } from "./chunk-N93fKeF6.js";
4
4
  import { createRequire } from "node:module";
5
5
  import * as NFS from "node:fs";
@@ -37290,11 +37290,6 @@ const toCanonicalPath = (filePath) => {
37290
37290
  };
37291
37291
  const DEAD_CODE_PLUGIN = "deslop";
37292
37292
  const DEAD_CODE_CATEGORY = "Maintainability";
37293
- const REACT_DOCTOR_TOOLCHAIN_PACKAGES = new Set([
37294
- "react-doctor",
37295
- "eslint-plugin-react-doctor",
37296
- "oxlint-plugin-react-doctor"
37297
- ]);
37298
37293
  const DEAD_CODE_WORKER_SCRIPT = `
37299
37294
  const inputChunks = [];
37300
37295
  process.stdin.on("data", (chunk) => inputChunks.push(chunk));
@@ -37600,7 +37595,6 @@ const checkDeadCode = async (options) => {
37600
37595
  });
37601
37596
  }
37602
37597
  for (const unusedDependency of result.unusedDependencies) {
37603
- if (REACT_DOCTOR_TOOLCHAIN_PACKAGES.has(unusedDependency.name)) continue;
37604
37598
  const label = unusedDependency.isDevDependency ? "devDependency" : "dependency";
37605
37599
  diagnostics.push({
37606
37600
  filePath: "package.json",
@@ -41651,4 +41645,4 @@ const toJsonReport = (result, options) => buildJsonReport({
41651
41645
  export { AmbiguousProjectError, NoReactDependencyError, NotADirectoryError, PackageJsonNotFoundError, ProjectNotFoundError, ReactDoctorError, buildJsonReport, buildJsonReportError, clearCaches, defineConfig, diagnose, filterSourceFiles, getDiffInfo, isProjectDiscoveryError, isReactDoctorError, summarizeDiagnostics, toJsonReport };
41652
41646
 
41653
41647
  //# sourceMappingURL=index.js.map
41654
- //# debugId=faa2d232-c423-58f8-97f4-ba8d41a199d7
41648
+ //# debugId=9807b1bf-1e62-5421-ad35-d1f4129c1538
package/dist/lsp.js CHANGED
@@ -37275,11 +37275,6 @@ const toCanonicalPath = (filePath) => {
37275
37275
  };
37276
37276
  const DEAD_CODE_PLUGIN = "deslop";
37277
37277
  const DEAD_CODE_CATEGORY = "Maintainability";
37278
- const REACT_DOCTOR_TOOLCHAIN_PACKAGES = new Set([
37279
- "react-doctor",
37280
- "eslint-plugin-react-doctor",
37281
- "oxlint-plugin-react-doctor"
37282
- ]);
37283
37278
  const DEAD_CODE_WORKER_SCRIPT = `
37284
37279
  const inputChunks = [];
37285
37280
  process.stdin.on("data", (chunk) => inputChunks.push(chunk));
@@ -37585,7 +37580,6 @@ const checkDeadCode = async (options) => {
37585
37580
  });
37586
37581
  }
37587
37582
  for (const unusedDependency of result.unusedDependencies) {
37588
- if (REACT_DOCTOR_TOOLCHAIN_PACKAGES.has(unusedDependency.name)) continue;
37589
37583
  const label = unusedDependency.isDevDependency ? "devDependency" : "dependency";
37590
37584
  diagnostics.push({
37591
37585
  filePath: "package.json",
@@ -43371,5 +43365,5 @@ const startLanguageServer = () => {
43371
43365
  };
43372
43366
  //#endregion
43373
43367
  export { startLanguageServer };
43374
- !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]="47940f68-872d-59ed-bdd2-40ef7848566c")}catch(e){}}();
43375
- //# debugId=47940f68-872d-59ed-bdd2-40ef7848566c
43368
+ !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]="c5b6c740-461d-5f65-a993-9e6d35ad9113")}catch(e){}}();
43369
+ //# debugId=c5b6c740-461d-5f65-a993-9e6d35ad9113
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-doctor",
3
- "version": "0.5.8-dev.b6d1a87",
3
+ "version": "0.5.8-dev.bd0f465",
4
4
  "description": "Your agent writes bad React. This catches it",
5
5
  "keywords": [
6
6
  "accessibility",
@@ -64,8 +64,8 @@
64
64
  "vscode-languageserver": "^9.0.1",
65
65
  "vscode-languageserver-textdocument": "^1.0.12",
66
66
  "vscode-uri": "^3.1.0",
67
- "deslop-js": "0.5.8",
68
- "oxlint-plugin-react-doctor": "0.5.8-dev.b6d1a87"
67
+ "oxlint-plugin-react-doctor": "0.5.8-dev.bd0f465",
68
+ "deslop-js": "0.5.8"
69
69
  },
70
70
  "devDependencies": {
71
71
  "@types/babel__code-frame": "^7.27.0",