Bytes

Today’s issue: Linux and Windows playing nicely, another unhinged Web Components take, and the single best headline we’ve ever seen.

Welcome to #480.


Eyeballs logo

The Main Thing

Pale goblin guy posing

When your TypeScript build is 10x faster than your coworker's

The TypeScript 7.0 prophecy is fulfilled

For the past 13 years, TypeScript has been built on a steady foundation of… more TypeScript. Or more specifically, a compiler that’s written in TypeScript, which compiles to JavaScript, and runs on Node.

That slightly convoluted approach has worked well enough to make TypeScript the most popular programming language in the world, but it also created super long build times for large codebases. And because Daniel Rosenwasser loves you, he and the TypeScript team spent the last year porting the entire TypeScript codebase to Go, culminating in yesterday’s TypeScript 7.0 beta.

The new Go port is roughly 10x faster than TypeScript 6.0, while still keeping all the type-checking logic structurally identical to TypeScript 6.0. That means you don’t need to worry about getting new errors or doing a big migration yourself, you’ll just get faster builds. A few more key things worth knowing:

  • New package, new binary: install via npm install -D @typescript/native-preview@beta and run tsgo instead of tsc. It’s all the same flags and same behavior.

  • Parallel everything: parsing, type-checking, and emitting now run in parallel. New --checkers and --builders flags let you tune thread count for your machine or CI runner.

  • Hard errors on 6.0 deprecations: they already warned us about this in TypeScript 6.0, but target: es5, moduleResolution: node, AMD/UMD/SystemJS, and baseUrl are all gone.

  • JS support reworked: @enum, @class, and some Closure-style JSDoc patterns are no longer recognized. More consistent with .ts analysis now.

  • Programmatic API coming in 7.1: so if your tooling depends on the TS compiler API, hold tight.

They’re targeting a stable release within the next two months, but the TS team says you can probably use it in your daily workflow right now, especially since Bloomberg, Vercel, VoidZero, and more are already using it in production.

Bottom Line: Nice work, TypeScript team, but I’ve been told that an intern at Cloudflare has already slop-forked their own version called FlareScript that’s 10x faster on all internal benchmarks.


Microsoft logo

Our Friends
(With Benefits)

Copilot CLI

Microsoft Build 2026 is coming to San Francisco June 2-3

Learn how modern AI systems and cloud platforms are actually built. At Microsoft Build, engineering leaders and builders will share how they design, train, and ship real production systems.

From June 2-3, join hands-on workshops, dive into technical sessions, and debug alongside developers who are solving real-world challenges across modern cloud and AI developer platforms.

  • Keynotes take place at San Francisco’s Palace of Fine Arts, followed by deeper technical sessions, labs, and community events at Fort Mason.

  • Every workshop and talk is designed for people who build and ship software.

  • Explore new tools, experiment with code, and connect with developers working on similar problems.

If you’re looking to ship smarter and experience what’s next in AI, this is the place to do it.

Learn more and register for Microsoft Build.


Spot the Bug logo

Spot the Bug

Sponsored by Datadog

Get this free brief on Real User Monitoring to learn the specific techniques engineering teams are using to identify, reproduce, and resolve issues to boost conversions on their site.

const car = {
  name: 'Tesla',
  startEngine() {
    console.log(`The ${this.name} engine is starting...`);
  },
  delayedStart() {
    setTimeout(this.startEngine, 1000);
  }
};

car.delayedStart();

Cool Bits logo

Cool Bits

  1. techwizardrino wrote about how a roblox cheat and one AI tool brought down Vercel’s entire platform. Six years writing this newsletter, and that might be the best headline I’ve ever seen.

  2. Jamie Turner made a video about why AI agents are so good at Convex. [sponsored]

  3. Dominic Gannaway created TSRX, a TypeScript language extension that he describes as “the spiritual successor to JSX.” My high school classmates described me that way once, before I threw my life away betting on the ponies.

  4. Elena Marchetti wrote about GitHub’s fake star economy. But they’re not fake if you believe in them.

  5. WSL9x runs a modern Linux kernel cooperatively inside the Windows 9x kernel. This was supposed to be impossible, so that’s neat.

  6. Two Sentry engineers are hosting a live session debugging your full Supabase stack on April 30th. They’ll walk through the most common break points for AI-generated backends, and give you a clear approach to make any Supabase app observable and production-ready. [sponsored]

  7. Microsoft Engineer, Stefan Haas wrote a great deep dive on how he resolved 15k circular dependencies in a large Nx monorepo and lived to tell the tale.

  8. VisionCamera v5 just shipped with new Nitro Modules and a new Constraints API.

  9. Your OpenClaw needs Apify Actors. 25,000+ tools for real-time web data. One CLI install: openclaw plugins install @apify/apify-openclaw-plugin [sponsored]

  10. Sylwia Laskowska wrote about why most apps are slower than they need to be. And if this is another Web Components unabomber-style manifesto, I’m going to be very upset.

  11. Rspack 2.0 is much faster, has better ESM support, and is growing very fast.

  12. Evan You gave his State of Vue 2026 talk last month. It was a great speech, but I thought it was rude when the delegates from Iowa kept standing up to chant “FOUR MORE YEARS.”


Spot the Bug logo

Spot the Bug: Solution

Sponsored by Datadog

The bug has to do with our invocation of startEngine. Because we’re passing this.startEngine as an argument to setTimeout, we’re not the ones invoking it. That means it’s not going to get invoked with the correct context (this). We can fix this in two ways – either using .bind (🙃) or invoking the function ourselves like this.

const car = {
  name: 'Tesla',
  startEngine() {
    console.log(`The ${this.name} engine is starting...`);
  },
  delayedStart() {
    setTimeout(() => this.startEngine(), 1000);
  }
};
Bytes
Want us to say nice things
about your company?

Built with ❤️ by Fireship

50 W Broadway Ste 333 PMB 51647 Salt Lake City, Utah 84101

Unsubscribe