Milind Daraniya

TypeScript 7: Why the New Go-Based Compiler Could Change Frontend Development

Published September 10th, 2026 12 min read

 

Content:

TypeScript has been part of modern frontend development for many years.

For small projects, the TypeScript compiler is usually not something we think about too much.

But when a project becomes large, TypeScript itself can become a noticeable part of the development experience.

Large React applications can have thousands or even millions of lines of code.

At that size, developers start noticing things like:

Slow type checking
Slow builds
Slow editor startup
Slow autocomplete
High memory usage
Slow CI pipelines

This is the main reason TypeScript 7 is interesting.

TypeScript 7 is not just another release with a few new language features.

The biggest change is underneath the compiler itself.

TypeScript 7 is written in Go

The previous TypeScript compiler was built using TypeScript and JavaScript.

For TypeScript 7, Microsoft created a native implementation in Go.

The goal is to use native execution and parallel processing to make the compiler and language tooling much faster. Microsoft says the new implementation typically achieves around 8× to 12× speedups on full builds in its tested projects.

This is a very different kind of upgrade.

Instead of asking developers to learn a completely different TypeScript language, the main change is improving the engine running underneath the language.

That is important because developers can potentially get a faster development experience without rewriting the entire application.

The performance difference can be significant

Microsoft published comparisons between TypeScript 6 and TypeScript 7 using several large open-source projects.

For example, the reported TypeScript 7 build times were:

VS Code       125.7s → 10.6s
Sentry        139.8s → 15.7s
Bluesky        24.3s →  2.8s
Playwright     12.8s →  1.47s
tldraw         11.2s →  1.46s

These are Microsoft's benchmark results on the tested projects, not a guarantee that every application will become 10× faster.

This distinction is important.

A project may spend only part of its build time inside TypeScript.

For example:

TypeScript
    ↓
Bundler
    ↓
Tests
    ↓
Code generation
    ↓
Deployment

Making TypeScript faster does not automatically make all of these other steps faster.

So the actual improvement depends on the project.

Large React projects could benefit more

Imagine a React application with:

2,000 components
500 utility files
Large shared types
Many API models
Multiple packages
Large node_modules

When the codebase grows, type checking becomes a larger part of the developer workflow.

You may notice it when:

  • Opening the project
  • Switching files
  • Getting autocomplete
  • Finding references
  • Running type checks
  • Running production builds
  • Running CI

TypeScript 7 targets many of these areas, not only the final production build. Microsoft reports major improvements to language-server operations as well.

The editor experience also matters

As developers, we don't run tsc only once a day.

Our editor is continuously using TypeScript.

Autocomplete is using it.

Diagnostics are using it.

Go to definition is using it.

Find references is using it.

That means compiler performance can directly affect the development experience.

TypeScript 7 also introduces a new language-server implementation using the Language Server Protocol (LSP), giving modern editors a common way to integrate with the new tooling.

This is especially interesting for developers who use different editors instead of depending on only one IDE.

TypeScript 7 is not mainly about new syntax

When we hear about a major version, we normally expect many new language features.

TypeScript 7 is different.

The most important story is:

Same TypeScript idea
        +
Native compiler
        +
Multithreading
        +
Faster language tooling

The TypeScript team also designed the native implementation to stay structurally compatible with the previous compiler's type-checking behaviour.

For developers, that makes this much more interesting than learning a completely new language.

But there are configuration changes

This is where existing projects need some attention.

TypeScript 7 adopts several defaults introduced in TypeScript 6.

For example:

strict = true
module = esnext
noUncheckedSideEffectImports = true

There are also changes around rootDir and the default types configuration.

Some older options are no longer supported.

For example:

target: es5
moduleResolution: node
moduleResolution: classic
baseUrl

and several older module settings are now errors rather than deprecated options.

This means a large old frontend project should not simply change:

npm install -D typescript

and assume everything will continue working.

First check the project's tsconfig.json.

Check your TypeScript version first

Before upgrading an existing application:

npx tsc --version

Then install TypeScript 7 in a test branch:

npm install -D typescript

Run:

npx tsc --noEmit

This is a simple first test.

After that, I would run the project's normal commands:

npm run lint
npm run test
npm run build

The exact commands depend on the project.

Check your build tools

TypeScript rarely works alone.

A React application may also use:

Vite
Webpack
ESLint
typescript-eslint
Babel
Jest
Vitest
Storybook
Next.js

This is important because some tools interact with TypeScript through its API.

TypeScript 7.0 currently does not ship the old programmatic API. Microsoft says TypeScript 7.1 is expected to provide a new API, so projects depending on compiler APIs may need compatibility arrangements during the transition.

Microsoft provides a compatibility package for TypeScript 6 so TypeScript 6 and 7 can be used side by side when necessary.

This is one of the most important things to check before upgrading a large project.

Don't measure only build time

Suppose your project changes from:

Build: 60 seconds → 10 seconds

That is great.

But I would also check:

Editor startup
Autocomplete
Type checking
Memory usage
ESLint
Tests
CI
Production build
Development server

A compiler upgrade is valuable when the whole development workflow improves.

Memory usage is another interesting part

Speed is not the only improvement.

Microsoft's published tests also showed lower aggregate memory usage during builds on the tested projects. For example, VS Code went from about 5.2 GB to 4.2 GB in the comparison.

This can matter for developers working with large repositories on laptops.

It can also matter in CI environments where memory is limited.

What about React developers?

For React developers, TypeScript 7 does not mean you need to rewrite your components.

Your existing code can still look like:

interface User {
    id: number;
    name: string;
}

function UserCard({ user }: { user: User }) {
    return <div>{user.name}</div>;
}

The major difference is what happens when the compiler and language service analyse that code.

So TypeScript 7 is interesting even when your TypeScript syntax looks exactly the same.

What about AI coding agents?

This is another interesting area.

Modern developers increasingly use AI coding tools and coding agents.

An AI agent working inside a large TypeScript repository may repeatedly need:

Type checking
Diagnostics
Symbol information
References
Project structure
Build feedback

A faster language service can reduce the time between an AI-generated change and the feedback that tells the agent whether the change is correct.

The TypeScript team specifically discusses improvements to the development loop involving both developers and agents.

This does not mean TypeScript 7 automatically makes an AI agent better.

It means the underlying feedback loop can become faster.

Should every project upgrade immediately?

I don't think version numbers alone should decide this.

For a new project, TypeScript 7 is a natural version to evaluate.

For a large existing application, I would first check:

Current TypeScript version
tsconfig.json
Build tool
ESLint setup
Testing tools
TypeScript API dependencies
Framework compatibility
CI environment
Editor support

Then upgrade in a separate branch and compare the real project.

This is much better than assuming that an advertised benchmark will exactly match your application.

My practical upgrade process

For a large React or TypeScript project, I would use something like:

Create upgrade branch
        ↓
Upgrade TypeScript
        ↓
Fix tsconfig changes
        ↓
Run type checking
        ↓
Run linting
        ↓
Run tests
        ↓
Run production build
        ↓
Measure build time
        ↓
Check editor behaviour
        ↓
Check CI
        ↓
Deploy after validation

I prefer measuring the real application instead of relying only on benchmark numbers.

Final thoughts

TypeScript 7 is an important release because its biggest improvement is not a new piece of syntax.

It changes the foundation of the compiler.

Moving the compiler and tooling to native Go, adding parallel processing and improving the language server can make TypeScript much more suitable for very large codebases. Microsoft's published benchmarks show substantial gains, although the actual improvement will depend on the project.

For small projects, you may not notice a dramatic difference.

For large React applications, monorepos and TypeScript-heavy systems, the difference can be much more noticeable.

For me, the interesting part of TypeScript 7 is simple:

Less waiting
+
Faster feedback
+
Better large-project tooling
=
A better development workflow

The next few TypeScript releases will also be interesting because the ecosystem has to adapt to the new compiler architecture.

TypeScript has been around for a long time, but TypeScript 7 feels like an important change underneath the language rather than just another incremental version.