Upgrade to TypeScript 7 - #440
Merged
timotheeguerin merged 2 commits intoJul 15, 2026
Merged
Conversation
- Bump the typescript catalog to ^7.0.2 (native Go compiler). - Rewrite @alloy-js/cli 'alloy build' to shell out to the native tsc binary for type-checking and declaration emit, replacing the removed programmatic API. - Watch mode now uses Node's built-in recursive fs.watch instead of chokidar. - Silence api-extractor ae-unresolved-link in @alloy-js/typescript: it cannot resolve @link to namespace members TS7 emits as re-exports. - Raise @alloy-js/cli engines to Node >=22.
Contributor
|
All changed packages have been documented.
Show changes
|
timotheeguerin
marked this pull request as ready for review
July 15, 2026 20:04
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.
Upgrades the repo to TypeScript 7 (the native Go compiler, now published as
typescript@7).Background
TypeScript 7's
typescriptpackage only ships thetscbinary plus a version export and a newunstable/*API — the classic programmatic compiler API (ts.createProgram,ts.sys,getParsedCommandLineOfConfigFile, watch host,formatDiagnostics…) is gone. The only place using it was@alloy-js/cli.Changes
typescript^6.0.3→^7.0.2.@alloy-js/clialloy buildrewritten to use the project's nativetscbinary:tsc --showConfig(child process).tsc -p <config>; error count parsed to preserve theBuild completed with N errors.message. JS emit still via babel.fs.watch(node:fs/promises) +tsc --watch— no morechokidardependency.tscthe consuming project has installed.@alloy-js/typescript: silenced api-extractorae-unresolved-link. api-extractor (bundles TS 5.9.3) can't resolve@linkreferences to namespace members that TS 7 emits as re-exports (export { FunctionParameters as Parameters }). Scoped to the only affected package.Validation
pnpm build(full workspace) ✔pnpm test— 1717/1717 ✔pnpm lint(oxlint--type-aware) ✔ ·pnpm format:check✔ ·chronus verify✔alloy build --watchsmoke-tested: edits, new files (incl. new subdirectories), and deletions all handled.