Key takeaways
- TypeScript 7.0 went stable on 8 July 2026 with the Go-based native compiler. Microsoft's own figure for full builds is roughly 8x to 12x faster than TypeScript 6, as reported by Digital Applied.
- TypeScript 7.1 beta (announced 20 October, covered by InfoQ on 6 November) brings back a programmatic API, as a preview. It also adds "content mappers", so Vue, Svelte, Astro and MDX files can be type-checked by the native compiler.
- 7.1 beta is also faster than 7.0: 1.2x to 1.9x on Microsoft's sample projects, with 16% to 50% less memory. A stable 7.1 is tentatively planned for late November.
- Vite+ 1.0 combines Vite 8, Rolldown, Vitest, Oxlint, Oxfmt and tsdown behind one
vpcommand and one config file. It is MIT-licensed, per InfoQ. - Our advice: React and plain TS projects can move to TS 7 now. Vue, Svelte and Angular teams should run TS 6 and 7 side by side until their tooling ships a 7.1 build. Try Vite+ first on a new project or a library, not your biggest app.
- The payoff in India is mostly CI time and laptop time. Many teams type-check on modest hardware and pay for CI runner minutes, so a 5–10x faster type-check shows up quickly.
1. What actually changed in the last few weeks
There are two separate changes here. They are converging on the same projects.
TypeScript. The TypeScript team rewrote the compiler in Go (the "Corsa" / typescript-go project). It shipped as TypeScript 7.0 in July. The catch: 7.0 shipped without a stable programmatic API. Any tool that calls into the compiler (framework language tools, custom lint rules, build plugins) could not move over. So a lot of teams installed TS 7 for tsc but kept TS 6 around for their editor and framework tooling.
The 7.1 beta post addresses that directly:
- API (preview): new entry points
typescript/sync,typescript/async,typescript/astand others, plus snapshots that let tools update state cheaply when files change. - Content mappers: a plugin point declared in
tsconfig.jsonundercontentMappers. It lets a package translate a.vue,.svelte,.astroor.mdxfile into something the compiler can check. Running mappers requirestsc --runExternalCode. In VS Code it needs workspace trust. - Import attributes in ambient declarations: for example
declare module "*" with { type: "css" }for CSS, text and bytes imports. --target es2026/--lib es2026, which bring typings forMath.sumPrecise(),Error.isError()andArray.fromAsync().
Vite+. VoidZero, the company behind Vite, Vitest, Rolldown and Oxc, is now part of Cloudflare. It shipped Vite+ 1.0, covered by InfoQ on 14 October. It is a single CLI (vp) that manages the Node runtime and the package manager, and wraps dev server, build, test, lint, format and library bundling. Everything is configured from one vite.config.ts.
2. TypeScript 6 vs 7.0 vs 7.1 beta
| TS 6.x | TS 7.0 (stable) | TS 7.1 beta | |
|---|---|---|---|
| Compiler | JavaScript | Go (native) | Go (native) |
| Full-build speed vs TS 6 | baseline | ~8–12x faster (Microsoft figure, reported) | a further 1.2–1.9x over 7.0 |
| Programmatic API | Stable | None | Preview |
| Vue / Svelte / Astro checking | Via existing tools | Not native | Via content mappers (early) |
| Risk for production CI | Lowest | Low for React/plain TS | Beta, so test only |
The 7.1 numbers come from Microsoft's own table, run with --noEmit and 4 checker threads. For example, the VS Code codebase went from 21.6s to 17.7s, and mui-docs from 22.2s to 11.9s. Those numbers compare 7.1 with 7.0, not with TypeScript 6.
One breaking change to watch in 7.1: distributive conditional types with constrained type parameters are checked more strictly, so code that compiled before can now fail. Microsoft also flags DOM lib.d.ts changes (issue #63702). Run the beta on a branch before assuming a clean upgrade.
3. Vite+ vs a hand-assembled toolchain
| Job | Typical 2025 stack | Vite+ 1.0 |
|---|---|---|
| Dev server / build | Vite or webpack | Vite 8 + Rolldown |
| Tests | Jest or Vitest | Vitest (Vitest 5 now stable) |
| Lint | ESLint + plugins | Oxlint |
| Format | Prettier | Oxfmt |
| Library builds | tsup / Rollup | tsdown |
| Node + package manager versions | nvm, corepack, docs | vp toolchain, vp env doctor |
| Git hooks | husky + lint-staged | vp hooks, vp staged |
| Config files | 5–8 | one vite.config.ts |
The case for Vite+ is fewer moving parts more than raw speed. One upgrade path, one config, and one CI action (setup-vp, available for GitHub and GitLab) replace a pile of separately versioned tools. vp migrate prints its plan before it changes files, and it now converts tsup projects too (migration guide).
The case against: Oxlint does not run every ESLint plugin you rely on. If you have custom rules, security plugins or framework-specific rules, check coverage before deleting ESLint. You can run both during a transition. Also note that a single vendor now owns more of your toolchain. VoidZero has said it intends to keep Vite+ open source and vendor-neutral, and the MIT licence protects you if that changes.
4. What to do, by team type
React / Next.js / plain Node + TS:
- Install TS 7 as a separate CI step:
npx tsc --noEmitusing the native compiler. Keep TS 6 for any tool that still needs the old API. - Compare error output between 6 and 7 on a branch. Fix differences once, then make 7 the gate.
- Try
typescript@beta(7.1) in a non-blocking CI job now, so the stable release later this month is a version bump, not a project.
Vue / Nuxt, Svelte / SvelteKit, Astro:
- Stay on your current language tools for editor and CI checks. InfoQ notes Vue Language Tools v4 (alpha) is built on content mappers, and the Vue mapper was not yet on npm when the beta was announced.
- Pin TS 6 for
vue-tsc/svelte-checkand use TS 7 only for plain.tspackages in a monorepo. - Revisit after TS 7.1 stable, when your framework announces support.
Angular: none of the 7.1 sources we read cover Angular. Wait for the Angular team's guidance before switching.
Libraries and internal packages: these are the best first Vite+ candidates. They are small, have few plugins, and tsdown replaces tsup cleanly. Do not ship the new import-attribute declare module lines inside a published library. Microsoft says they belong in apps.
5. The India angle: where the time and money go
Many Indian product teams and agencies run CI on hosted runners billed per minute, and many developers work on 8–16 GB laptops. On those machines, editor type-checking on a large codebase is often the slowest part of the day.
A simple way to size the benefit before committing:
- Note your current
tsc --noEmittime in CI, for example 3 minutes. - Multiply by pipeline runs per day. Thirty PR pushes a day is 90 runner-minutes a day, or about 2,000 a month.
- Microsoft's 8–12x claim would cut that to roughly 170–250 minutes a month. Multiply the saving by your runner's per-minute rate in ₹ (it is on your CI invoice) to get the monthly number.
The bigger saving is usually developer wait time. A 10-person team that waits 2–3 fewer minutes per check, several times a day, recovers hours every week. Memory matters too: 7.1's 16–50% memory reduction means fewer editor slowdowns on lower-RAM laptops, which are common in Indian offices and colleges.
For students and freshers: learn TypeScript itself, not compiler internals. The language is unchanged. But "migrated a project from TS 6 to TS 7 and cut CI type-check time from X to Y" is a concrete, checkable line on a résumé.
6. A one-week rollout plan
| Day | Task |
|---|---|
| 1 | Measure today's type-check, test and build times in CI, plus editor memory |
| 2 | Add a TS 7 tsc --noEmit job (non-blocking); diff errors against TS 6 |
| 3 | Fix differences; make TS 7 the blocking check for plain TS packages |
| 4 | Add a typescript@beta job to surface 7.1 breaking changes early |
| 5 | Run vp migrate on one small library or new project; compare lint coverage vs ESLint |
| 6–7 | Write down the before/after numbers; decide on the wider rollout after TS 7.1 stable |
Need help modernising a front-end build or speeding up a slow CI pipeline? Start with our free website speed & SEO check, or see how we handle AI and automation development projects end to end.