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 +86 -112
- package/dist/index.js +2 -8
- package/dist/lsp.js +2 -8
- package/package.json +3 -3
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]="
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
52270
|
-
const CLAUDE_HOOK_COMMAND = "
|
|
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.
|
|
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 ===
|
|
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:
|
|
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
|
-
"
|
|
52348
|
-
"
|
|
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
|
-
"
|
|
52354
|
-
"
|
|
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
|
-
"
|
|
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
|
-
"
|
|
52359
|
-
"
|
|
52360
|
-
" return
|
|
52361
|
-
"
|
|
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
|
-
"
|
|
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
|
-
"
|
|
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
|
-
"
|
|
52374
|
-
"}
|
|
52374
|
+
" process.exit(!toolName || editToolNames.has(toolName) ? 0 : 10);",
|
|
52375
|
+
"} catch {",
|
|
52376
|
+
" process.exit(0);",
|
|
52377
|
+
"}",
|
|
52378
|
+
"NODE",
|
|
52379
|
+
"}",
|
|
52375
52380
|
"",
|
|
52376
|
-
"
|
|
52377
|
-
"
|
|
52378
|
-
"
|
|
52379
|
-
"
|
|
52380
|
-
"
|
|
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
|
-
"
|
|
52390
|
-
"
|
|
52391
|
-
"
|
|
52392
|
-
"
|
|
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
|
-
"
|
|
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
|
-
"
|
|
52402
|
-
"
|
|
52403
|
-
"
|
|
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
|
-
"
|
|
52408
|
-
"
|
|
52409
|
-
"
|
|
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
|
-
"
|
|
52417
|
-
"
|
|
52418
|
-
"
|
|
52406
|
+
"if ! should_scan; then",
|
|
52407
|
+
" exit 0",
|
|
52408
|
+
"fi",
|
|
52419
52409
|
"",
|
|
52420
|
-
"
|
|
52421
|
-
"
|
|
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
|
-
"
|
|
52420
|
+
" return JSON.parse(fs.readFileSync(inputPath, 'utf8') || '{}');",
|
|
52425
52421
|
" } catch {",
|
|
52426
|
-
"
|
|
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
|
-
"
|
|
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=
|
|
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]="
|
|
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=
|
|
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]="
|
|
43375
|
-
//# debugId=
|
|
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.
|
|
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
|
-
"
|
|
68
|
-
"
|
|
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",
|