Through version 6.0 the compiler was written in TypeScript and ran on Node.js 2,131 . In March 2025 Microsoft announced a port to Go, and two 2026 releases complete the move:
TypeScript 6.0 (March 23, 2026) is the last release built on the JavaScript codebase. It is a bridge: strict is on by default, target defaults to es2025, module to esnext, and types to [] (no automatic @types packages). Legacy options are deprecated; "ignoreDeprecations": "6.0" silences the errors for now.
TypeScript 7.0 (July 8, 2026) is the Go port, published as the same typescript npm 2,036 package with the same tsc command. Its type checker is structurally identical to 6.0's, so it reports the same errors, but native code and shared-memory multithreading make full builds typically 8 to 12 times faster.
| Codebase | TypeScript 6.0 | TypeScript 7.0 | Speedup |
|---|---|---|---|
| VS Code 550 | 125.7 s | 10.6 s | 11.9x |
| Sentry 92 | 139.8 s | 15.7 s | 8.9x |
| Playwright 26,280 | 12.8 s | 1.47 s | 8.7x |
TypeScript 7.0 removes what 6.0 deprecated: target: "es5", downlevelIteration, moduleResolution: "node" (node10) and "classic", the amd, umd and systemjs module formats, baseUrl and esModuleInterop: false. A legacy tsconfig.json now stops the build:
$ npx tsc --noEmit
tsconfig.json(3,15): error TS5108: Option 'target=ES5' has been removed. Please remove it from your configuration.
tsconfig.json(4,25): error TS5108: Option 'moduleResolution=node10' has been removed. Please remove it from your configuration.
tsconfig.json(5,5): error TS5102: Option 'baseUrl' has been removed. Please remove it from your configuration.
Use '"paths": {"*": ["./src/*"]}' instead.New command-line flags control parallelism: --checkers N sets the number of type-checking workers (default 4), --builders N builds project references concurrently, and --singleThreaded turns parallelism off. TypeScript 6.0's --stableTypeOrdering orders types as 7.0 does, so both versions produce comparable output during migration.