You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The bump was red because eslint 10's recommended set adds
`preserve-caught-error` and `no-useless-assignment`, and nine existing
sites break them. Both findings are real, so they are fixed rather than
silenced.
preserve-caught-error (5) — settings loading (twice), the directory
trust store, the hook trust file, and the MCP `headersHelper` each
wrapped a caught error in a new Error carrying only `.message`. A
JSON parse failure or a spawn error therefore arrived with its stack,
`errno` and `path` gone: the message says "Failed to parse ~/.deepcode/
settings.json: Unexpected token" and nothing says which byte, or that
the real failure was EACCES. Each now passes `{ cause }`.
no-useless-assignment (4) — `patch`/`binary` in workspace-diff and
`stdout` in the Grep tool were initialised and then overwritten on every
path that reads them; the initialisers only suppressed TypeScript's
definite-assignment analysis. Dropping them lets tsc prove what the
initialiser was papering over, and it does. In `parseQName` the `pos++`
before `break` consumed the DNS root label for a variable nothing reads
after the loop.
Note eslint itself was already 10.8.0 in the lockfile — only `@eslint/js`
was pinned at 9, so the repo was running a v10 engine against a v9
recommended config. This closes that gap.
typecheck, lint, format, docs clean; 1671 tests pass, 19 skipped.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
0 commit comments