chore(deps): stop dependabot re-proposing the typescript major - #55
Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
shamwari-docs-ai | db5d817 | Commit Preview URL Branch Preview URL |
Aug 10 2026, 09:55 PM |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
nyuchi-docs-mcp | db5d817 | Commit Preview URL Branch Preview URL |
Aug 10 2026, 09:55 PM |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
nyuchi-docs | db5d817 | Commit Preview URL Branch Preview URL |
Aug 10 2026, 09:56 PM |
|
This overlaps #56, and the two will conflict. Flagging before either merges. Both PRs untrack Two differences that matter: 1. This branch does not fix the build. It is 14 commits behind That break is not cosmetic: 2. The The Suggested resolution: close this in favour of #56, which is cut from current Generated by Claude Code |
#56 held the tree on the classic 6.x line with a `typescript: ^6.0.0` entry in the root `pnpm.overrides`, which is the right mechanism and is what makes the build green. This closes the loop that produced the breakage in the first place. The history is the argument. 0e520fc pinned typescript to 6.x deliberately, diagnosing that TypeScript 7 — the Corsa/native rewrite — no longer re-exports the classic compiler API, so `ts.sys` is undefined and svelte2tsx crashes emitting .d.ts for nyuchi-docs-search. Six days later the majors group reverted that pin in #54 and broke the build. Nobody noticed, because `build.yml` runs `pnpm audit` ahead of `pnpm -r build` and the audit gate was already red, so the build step never executed. With the override in place a repeat bump is inert, which is precisely why it is worth suppressing rather than tolerating: the next such PR would look harmless and merge clean, leaving package.json declaring ^7 while overrides force ^6 — an inconsistency that invites someone to "tidy up" the override and break the build for real. Carries its own exit condition: drop this entry together with the override when svelte2tsx supports the TS 7 API. Not before, and not one without the other. Verified: dependabot.yml parses, both groups intact. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KQPxAPY7KvsN9WLbdLSQED
d1cd5e1 to
db5d817
Compare
This PR has been reduced to one file. It originally carried the audit-gate fix and the TypeScript re-pin; #56 landed both on
mainfirst, so that work is now redundant and has been dropped rather than force-merged as a duplicate. The branch is reset ontoa3a3cd0and what remains is the one thing #56 did not do.I verified
mainis genuinely fixed rather than assuming it — in a clean worktree ata3a3cd0:pnpm audit --audit-level=high→ No known vulnerabilities found,pnpm -r build→ complete, 58 pages. #56'stypescript: ^6.0.0entry inpnpm.overridesis also a better mechanism than thepackage.jsonpin this PR originally proposed, because it forces the whole tree rather than the four direct declarations.What is left
A Dependabot
ignorefortypescriptsemver-major.Why it is still worth having, given the override
The history is the argument:
0e520fcpinned TypeScript to 6.x deliberately — TS 7 is the Corsa/native rewrite, its entrypoint no longer re-exports the classic compiler API,ts.sysis undefined, and svelte2tsx crashes emitting.d.tsfornyuchi-docs-search.build.ymlrunspnpm auditahead ofpnpm -r buildand the audit gate was already red — the build step never executed.With the override in place, a repeat bump is now inert. That is exactly why it is worth suppressing rather than tolerating: the next such PR would look harmless and merge clean, leaving
package.jsondeclaring^7whileoverridesforce^6. That inconsistency is an invitation for someone to "tidy up" the override — and then the build breaks for real, with the misleading commit already buried.A decision a bot can re-propose every week is a decision that has to be re-made every week.
Exit condition, stated in the file
Drop this entry together with the override when svelte2tsx supports the TS 7 API. Not before, and not one without the other.
Verification
dependabot.ymlparses; both theminor-and-patchandmajorsgroups are intact and unchanged.One correction worth keeping
The original version of this PR found that CLAUDE.md was wrong about the
js-yamladvisory — it claimed the fix "can't be fixed without breaking" because the patched line "drops the ESM default export Astro imports". js-yaml 5.x dropped that export; an unbounded>=4.3.1simply resolved across the major into it. #56 reached the same place viajs-yaml@4: ^4.3.1, which is equivalent and tidier. The general rule is worth stating wherever that note now lives: bound every override below the next major — a range that crosses one is not a security override, it is an unreviewed upgrade.🤖 Generated with Claude Code
https://claude.ai/code/session_01KQPxAPY7KvsN9WLbdLSQED