build(deps): pin typescript below 7 to unbreak the release build - #627
Merged
Conversation
#617 bumped typescript from ^6.0.3 to ^7.0.2 across the root, cli, and core manifests. tsup runs declaration emit through rollup-plugin-dts, which does not support TypeScript 7 — the DTS pass dies with: TypeError: Cannot read properties of undefined (reading 'useCaseSensitiveFileNames') That takes down all of `pnpm run build`, the command release.yml runs between "Run tests" and "npm pack", so releases are blocked. There is no upgrade out of it today: tsup is already at its latest 8.5.1, and rollup-plugin-dts@6.4.1 still declares `typescript: ^4.5 || ^5.0 || ^6.0`. Pin back to ^6.0.3 until it gains TS7 support. #617 merged green because nothing in CI ran the root build. #614 adds the job that does, and it caught this on its first run against current main. Verified: with ^6.0.3, `pnpm run build` exits 0 (ESM + DTS), the built binary runs (`node dist/cli/src/cli.js --version` → 0.0.0), the lockfile passes --frozen-lockfile, and the full check suite is green (949 core / 229 cli / 103 server / 273 extension). The `ignoreDeprecations: "6.0"` workaround already on main from #615 is what keeps TS6 itself working, so nothing else changes. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
lmorchard
force-pushed
the
fix/pin-typescript-6
branch
from
July 27, 2026 20:42
c44c865 to
8b8836f
Compare
Collaborator
Author
|
Force-pushed a correction. My first push only pinned the three manifests #617 touched (root, cli, core) — but All five manifests are now aligned on |
This was referenced Jul 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
pnpm run buildis currently broken onmain. That's the commandrelease.ymlruns between "Run tests" and "npm pack", so releases are blocked.Cause
#617 (
build(deps-dev): bump the devdependencies group) movedtypescriptfrom^6.0.3to^7.0.2across the root,packages/cli, andpackages/coremanifests.tsup runs declaration emit through
rollup-plugin-dts, which does not support TypeScript 7. There is no upgrade path today:tsupis already at its latest, 8.5.1rollup-plugin-dts@6.4.1(latest) still declarespeerDependencies.typescript: ^4.5 || ^5.0 || ^6.0So this pins
typescriptback to^6.0.3untilrollup-plugin-dtsgains TS7 support.Why this merged green
Nothing in CI ran the root
pnpm run build. #614 adds the job that does, and it caught this on its first run against currentmain— the same gap that previously let the TS5101baseUrlfailure block a release while every PR stayed green.#614 cannot go green until this lands.
Verification
On this branch:
pnpm install --frozen-lockfilepnpm run buildESM ⚡️ Build success,DTS ⚡️ Build successnode dist/cli/src/cli.js --version0.0.0, exit 0pnpm run checkConfirmed the inverse too: on clean
mainwith no changes,pnpm run buildexits 1 with the error above.The
ignoreDeprecations: "6.0"workaround already onmainfrom #615 is what keeps TS6 itself working, so nothing else changes here.Follow-up worth considering
Adding a
dependabot.ymlignore fortypescriptmajor bumps would stop TS7 being re-proposed. Left out of this PR to keep it minimal — though once #614 is in, a re-proposed TS7 bump will at least fail loudly rather than land green.🤖 Generated with Claude Code