deps: TypeScript 7 across all five workspaces - #772
Merged
Conversation
…r the compiler-API consumers typescript@7 is the native compiler: its npm package ships the tsc binary but no JS compiler API (the main module exports only version). Every tsc --noEmit gate moves to the native compiler; the repo's two programmatic API consumers — Canopy's AST parser (canopy/parsers/typescript.ts) and tests/ui/ui-typecheck-boundary.test.ts — import from a typescript-v6 npm alias (npm:typescript@^6.0.3), pinning the stable compiler API independent of the toolchain. TS 7's ./unstable/ast subpath is explicitly unstable and not a foundation for Canopy. The bun binary compile resolves the alias and bundles the v6 lib exactly as before; build:verify confirms. Closes the TypeScript 7 Dependabot PRs (#675 #676 #686 #689 #692) that #726 and #770 deliberately held back. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Completes the Dependabot backlog: TypeScript 6.0.3 → 7.0.2 in all five workspaces (root, packages/myco/ui, packages/myco-collective/ui, packages/myco-collective/worker, packages/myco-team/worker) — the migration #726 and #770 deliberately deferred.
Why this needed migration, not a bump
typescript@7is the native (Go) compiler. Its npm package ships thetscbinary and type libs but no JS compiler API — the main module exports only{ version, versionMajorMinor }. This repo has exactly two programmatic API consumers, and both broke under the plain bump (Dependabot #692's CI failure):packages/myco/src/canopy/parsers/typescript.ts— Canopy's mechanical AST parser (ts.createSourceFile,ts.ScriptKind, syntax-walk helpers)tests/ui/ui-typecheck-boundary.test.ts— builds ats.createProgram+TypeCheckerover the UI boundary declarationsThe shape of the fix
tsc --noEmitgate now runs the native compiler. Full-repo typecheck drops from tens of seconds to ~0.5s locally.typescript-v6npm alias (npm:typescript@^6.0.3, root + packages/myco devDependencies) for the two API consumers, which now import from the alias. This pins the stable TS 6 compiler API for AST work independent of the toolchain version (TS 7's./unstable/astsubpath exists but is explicitly unstable — not a foundation for Canopy). The bun binary compile resolves the alias and bundles the v6 lib exactly as it bundledtypescriptbefore;build:verifyconfirms.Dependabot #689 (myco/ui) had timed out at 19m in CI; the same typecheck completes in under a second locally under the native compiler, and this PR's CI is the arbiter.
Gate: lint + fast suite green across all buckets;
build:verifyOK (UI bundle + darwin-arm64 binary).Closes #675, closes #676, closes #686, closes #689, closes #692
🤖 Generated with Claude Code