TypeScript.fm - The Friendly Show for TypeScript Developers

Compilers, Runtimes, and Funtimes | Ep 5


Listen Later

This week Kamran and Erik try to dissect the complex landscape of JavaScript and TypeScript compilers, transpilers, interpreters, engines, and runtimes (oh my!). What are the tools, what are they used for, why is the world so complicated, and what should you care about as a TS developer?

  • (04:55) - This Week in TypeScript: Node.js Corepack Issue Affects Users
  • (06:16) - This Week in TypeScript: Vite and Vitest Security Vulnerabilities
  • (07:18) - This Week in TypeScript: 2ality on Enum Patterns
  • (08:51) - This Week in TypeScript: 2ality's Tutorial on Publishing ESM Packages with TypeScript
  • (09:53) - This Week in TypeScript: Should We Move On to ESM-Only?
  • (13:13) - This Week in TypeScript: HTTP2 Support Across Node.js, Bun, and Deno... Or Lack Thereof
  • (14:14) - This Week in TypeScript: Nx Has Some New TypeScript Monorepo Guides
  • (14:38) - This Week in TypeScript: Zero to Mastery Shares a TypeScript Cheat Sheet
  • (15:09) - This Week in TypeScript: TS Comment Directives
  • (17:21) - Deep Dive: Compilers and Runtimes
  • (19:32) - Deep Dive: What's the Difference Between a Compiler and Transpiler?
  • (21:11) - Deep Dive: Why Do We Need a TypeScript Compiler?
  • (22:02) - Deep Dive: The TypeScript Compiler (TSC)
  • (23:38) - Deep Dive: What's an Interpreter?
  • (25:06) - Deep Dive: What's an Engine?
  • (27:52) - Deep Dive: Recap So Far
  • (28:31) - Deep Dive: Babel, the OG Transpiler
  • (29:23) - Deep Dive: What is SWC?
  • (31:12) - Deep Dive: Using the verbatimModuleSyntax TSConfig Flag
  • (32:35) - Deep Dive: What is esbuild?
  • (34:23) - Deep Dive: Okay, What's the Difference Between SWC and esbuild?
  • (35:51) - Deep Dive: So, What is oxc Then??
  • (37:03) - Deep Dive: Erik Says checker.ts is "Gigundous" (???)
  • (37:58) - Deep Dive: Wait, oxc Can Output Type Declarations?!
  • (39:34) - Deep Dive: Writing Your TypeScript So It Compiles Faster
  • (41:10) - Deep Dive: What Does deno compile Do?
  • (42:12) - Deep Dive: What Are The Different JS/TS Runtimes?
  • (43:43) - Deep Dive: What Differentiates Bun from Deno?
  • (45:26) - Deep Dive: Serverless JavaScript Runtimes (workerd, Vercel Edge)
  • (46:48) - Deep Dive: Writing Isomorphic JavaScript or TypeScript
  • (47:44) - Deep Dive: Who Will Stop This Madness?
  • (50:11) - Deep Dive: Should Microsoft "Fix" TSC?
  • (53:43) - Deep Dive: WHAT DOES ALL THIS MEAN?
  • (57:36) - Secrets of the Handbook: Named Tuple Values
  • (01:00:59) - Cool Stuff: Node ES Language Support Matrix
  • (01:01:46) - Cool Stuff: VSCode Pretty TS Error Extension

  • Week of February 3, 2025
    • 📌 PSA: Node.js LTS corepack registry key signing issue breaks people's CI/CD pipelines and npm/pnpm installations. If you are affected, check this issue out! It’s fixed now and backported to Node 20.18.3.
    • 📌 PSA: There was a remote code execution vulnerability in Vitest, and a Vite dev server vulnerability. Update to the latest patch versions!

    Community Highlights

    • Blog Post: TypeScript enums: use cases and alternatives (Axel Rauschmayer)
    • Blog Post: Tutorial: publishing ESM-based npm packages with TypeScript  (Axel Rauschmayer)
    • Blog Post: Move on to ESM-only (Anthony Fu)
    • Blog Post: Fetch and HTTP/2 support in Node.js, Bun and Deno (George Haidar)
    • Learning: Nx is doing cool stuff for TS monorepo setups and has a whole series on it
    • Cheatsheet: Bookmark this TypeScript Cheat Sheet by Zero to Mastery (PDF version available)
    • Book: Joshua Goldberg has a new Learning TypeScript book and shares a tip about TS comments


     Compilers and Runtimes Deep Dive

    • The JavaScript Runtime Environment (Jamie Uttariello)
    • Wikipedia: ECMAScript Engines
    • V8's interpreter, Ignition
    • Hermes engine for React Native
    • TSC, the official Microsoft TypeScript compiler
    • SWC, a Rust-based compiler for JavaScript and TypeScript
    • esbuild, a Go-based compiler for JavaScript and TypeScript
    • oxc, a (new) Rust-based compiler by the creators of Vite
    • Deno compile for creating binary executables
    • Bun runtime, a drop-in replacement for Node
    • workerd runtime by Cloudflare
    • Vercel Edge Runtime
    • A list of WebAssembly (WASM) runtimes
    • WinterTC, a committee for unifying server backend runtime APIs


    Links

    • TypeScript 4.0's labeled tuple elements (playground link)
    • Wondering what version of Node supports what ES features and syntax? https://node.green/
    • Replace those ugly TS errors in VSCode with something more pretty


    Sponsored by Excalibur.js
    Excalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, and particles. Design your assets with tools like Aseprite and Tiled, then load them natively using first-party plugins.

    Music
    Seahorse Dreams by Kubbi (Spotify)

    Creators & Guests

    • Kamran Ayub - Host
    • Erik Onarheim - Host
    • ...more
      View all episodesView all episodes
      Download on the App Store

      TypeScript.fm - The Friendly Show for TypeScript DevelopersBy Kamran Ayub and Erik Onarheim

      • 4.8
      • 4.8
      • 4.8
      • 4.8
      • 4.8

      4.8

      5 ratings


      More shows like TypeScript.fm - The Friendly Show for TypeScript Developers

      View all
      Freakonomics Radio by Freakonomics Radio + Stitcher

      Freakonomics Radio

      32,007 Listeners

      Hanselminutes with Scott Hanselman by Scott Hanselman

      Hanselminutes with Scott Hanselman

      383 Listeners

      The Changelog: Software Development, Open Source by Changelog Media

      The Changelog: Software Development, Open Source

      289 Listeners

      Software Engineering Daily by Software Engineering Daily

      Software Engineering Daily

      625 Listeners

      Soft Skills Engineering by Jamison Dance and Dave Smith

      Soft Skills Engineering

      289 Listeners

      Cortex by Relay

      Cortex

      1,281 Listeners

      Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

      Syntax - Tasty Web Development Treats

      987 Listeners

      REWORK by 37signals

      REWORK

      210 Listeners

      .NET Rocks! by Carl Franklin and Richard Campbell

      .NET Rocks!

      244 Listeners

      The Stack Overflow Podcast by The Stack Overflow Podcast

      The Stack Overflow Podcast

      63 Listeners

      Dwarkesh Podcast by Dwarkesh Patel

      Dwarkesh Podcast

      512 Listeners

      PodRocket by LogRocket

      PodRocket

      60 Listeners

      The Ezra Klein Show by New York Times Opinion

      The Ezra Klein Show

      15,930 Listeners

      Oxide and Friends by Oxide Computer Company

      Oxide and Friends

      62 Listeners

      The Pragmatic Engineer by Gergely Orosz

      The Pragmatic Engineer

      64 Listeners