Repository navigation
Conversation
TypeScript 7 ships no compiler API, so the metadata contract scanner and the ESM import fixer read the 6.0 API from @typescript/typescript6, and the ESLint config keeps typescript 6 for typescript-eslint.
3 of 4 tasks
Aymericr
added a commit
that referenced
this pull request
Oct 14, 2026
…1071) typescript 7, @types/node 26, nanoid 6 (Node 22+), motion 14, eslint-plugin-react-hooks 7, eslint 10 with @eslint/js 10, globals 17, pdfkit 0.20 and react-grab 0.2, with one regenerated lockfile. The root typescript is aliased to @typescript/typescript6 so hoisted typescript-eslint keeps the 6.0 API it requires; every workspace compiles with its own typescript 7. Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Contributor
Author
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.
What does this PR do?
Moves the root and every package from
typescript6.0.3 to 7.0.2. The two apps were already on 7.0.2. Major upgrade, so no auto-merge.Breaking changes (announcement)
import ts from 'typescript'now resolves to a version stub. A new API is expected in 7.1. Microsoft's recommended bridge is@typescript/typescript6, which re-exports the 6.0 API (and provides atsc6binary).target: es5,moduleResolution: node/node10/classic,baseUrl, andalwaysStrict: false. New defaults includestrict: true. Our tsconfigs already pass under 6.0's rules, so nothing changed here.Code changes
packages/core/src/contracts/metadata-scan.ts(a test-only contract scanner) andscripts/fix-node-esm-imports.ts(a build step) use the compiler API. They now import it from@typescript/typescript6(6.0.2), added as a devDependency to the root and to core.packages/eslint-configstays ontypescript6.0.3:typescript-eslintneeds the JS API and its peer range is>=4.8.4 <6.1.0.@typescript/native-preview(used by thetsgoscripts) is untouched; swappingtsgofortscis left for a follow-up.How to test
bun installbun run ci. Expectcheck-typesandbuildto run on the TS 7tsc, and the reference-inventory contract tests to pass on the 6.0 API.Screenshots / screen recording
N/A — non-visual change
Checklist
bun devbun checkto verify)mainbranchLocal results:
check,skills:validate,check-typesandbuildpass.turbo run test --continueshows only the 24 local-only failures that a cleanmaincheckout also has in this environment (on GitHub, CI formainis green), and none are new.