DEV Community

Cover image for 🚀 The New TypeScript Compiler in Go: Fast AF, but Should You Trust It?
hmza
hmza

Posted on

🚀 The New TypeScript Compiler in Go: Fast AF, but Should You Trust It?

🚀 The New TypeScript Compiler in Go: Fast AF, but Should You Trust It?

“Why compile TypeScript with Go? Because developers hate waiting, that’s why.”

— A performance-obsessed engineer


🧠 Wait... TypeScript in Go?

Yes. Over the past couple of years, the JavaScript tooling community has had enough of waiting 20 seconds every time they save a file.

Enter the new generation of blazing-fast compilers — written in languages like Go, Rust, and Zig — with one mission:

🔥 Make TypeScript fast. Really fast.

Some notable ones:

  • esbuild — a Go-powered bundler and transpiler
  • Bun — written in Zig, also compiles TS/JS
  • swc — written in Rust, a drop-in replacement for Babel/tsc
  • biome — successor to Rome, also written in Rust, not Go but relevant

🆕 What’s Special About Go-Powered TypeScript?

Projects like esbuild are:

  • 📦 Written in Go (compiled, strongly typed, fast)
  • ⚡️ 10–100x faster than tsc or Babel
  • 🔁 Designed for instant rebuilds
  • 🧩 Great for bundling + compiling in one pass

“esbuild can compile and bundle thousands of files in under a second.”

Evan Wallace, creator of esbuild

Let that sink in.


🔍 Benchmark Time

Tool Cold Build (100 files) Hot Reload Notes
tsc ~3.8s 1.2s Accurate type-checking, slow
esbuild ~0.18s 30ms Super fast, no full types
swc ~0.22s 45ms Also fast, written in Rust
bun ~0.15s 25ms Fastest, but experimental

Real benchmarks vary based on machine, file size, and project structure.


⚠️ But There’s a Catch...

1. 🚫 No Type Checking

esbuild and most Go-based tools do not do full type-checking like tsc.

If you write this:

let age: string = 5;
Enter fullscreen mode Exit fullscreen mode

tsc will scream.

esbuild will shrug and keep going. 🫠

So you still need tsc --noEmit or tsserver for true type safety.


2. 🔧 Ecosystem Gaps

  • No support for advanced compiler plugins
  • Limited tsconfig.json support
  • Less support for newer experimental TypeScript features (like decorators, moduleResolution bundling tricks)
  • Some tools don’t support emitting .d.ts files

👥 What Developers Say

“esbuild is black magic. It made my build go from 15s to 300ms.”

— A Next.js developer on Twitter

“We use esbuild for dev and tsc for type-checking in CI. Best of both worlds.”

— Engineer at a YC startup

“It’s fast, but not a full replacement for tsc yet.”

— Redditor on r/typescript


🧠 Should You Use It?

✅ Use Go-based TS compilers if:

  • You want blazing fast builds
  • You're working on frontend apps (e.g., React/Vue)
  • You still type-check using tsc or tsserver

❌ Avoid using them alone if:

  • You rely heavily on types for correctness
  • You publish libraries with .d.ts output
  • You use advanced TypeScript features

🧪 The Ideal Setup

# Fastest workflow
esbuild src/index.ts --bundle --outfile=bundle.js

# For CI type-checking
tsc --noEmit
Enter fullscreen mode Exit fullscreen mode

Or if you're using Bun:

bun run file.ts
Enter fullscreen mode Exit fullscreen mode

It bundles + compiles instantly.


🔮 The Future?

Expect more languages like Go, Rust, and Zig to eat JavaScript’s lunch when it comes to tooling.

TypeScript’s own compiler (written in TypeScript) isn’t going anywhere — but Go-based tools like esbuild are pushing the ecosystem to prioritize speed, simplicity, and bundling.

And they’re doing it well.

“esbuild changed frontend dev forever. It’s like switching from dial-up to fiber.”

— DevTools addict


💭 Final Thoughts

Go-based TypeScript compilers are the caffeine-fueled Ferraris of modern web dev.

But they still need tsc riding shotgun with a clipboard — keeping things safe and typed.

Use them together. Your brain (and CI pipeline) will thank you.


Compiled with Go, TypeScript, and a deep hatred of slow builds.

Top comments (0)