TypeScript.fm - The Friendly Show for TypeScript Developers

28 Episodes
Subscribe

By: Kamran Ayub and Erik Onarheim

The two TypeScript Fools, Kamran Ayub and Erik Onarheim, get together weekly to bring you news, community highlights, and deep dives into the TypeScript ecosystem. Stay up-to-date on what's happening and learn new things to make you a better TypeScript developer along the way!

ECMAScript 2025 is Ratified, Vite 7, and 6 Advanced TS Tricks | News | Ep 24
#24
Today at 11:00 AM

News for the week of June 23, 2025: Ecma ratifies ES2025 standard, Vite 7 is mostly deprecations, Oracle gets a free pass, and the experimental type stripping warning is... stripped... from latest Node LTS releases. From the community: 6 advanced TS tricks, a new type-safe WebSockets API, and RegEx tips.

Chapters

(00:00) - Introduction and Personal News (04:59) - News: ECMAScript 2025 is Here (07:06) - News: Vite 7.0 is Out (10:15) - News: Node 24.3.0 and 22.17.0 LTS Releases (10:39) - News: Oracle v Deno Trademark Fraud Claim is Dismissed (12:04) - News: Astro 5.10 Introduces Experimental Live Content Collections (12:34) - Community Highlight: 6 Advanced TS Tricks by OlegWock (15:54...


New Biome, Mocha, Jest, and k6 Releases All Kissed by TypeScript | News | Ep 23
#23
06/24/2025

News for the week of June 16, 2025: Biome v2 features type-aware linting without TSC, Mocha and Jest both get native ESM and TS upgrades, and Grafana Lab's k6 load testing tool... also can now run native TS tests. From the community: type safety for WebGPU shaders, type narrowing map and indexed key access, and resilient import maps.

Chapters

(00:00) - Introduction and Personal News (05:02) - News: Biome v2 Features Type-aware Linting Without TSC (08:25) - News: Mocha 11.7.0 Adds Support for Native ESM and TypeScript (09:35) - News: Jest 30 Also Adds Native ESM and TypeScript Support (11:12) - News: Grafana...


Strip Your Own Types, New Rust-based Linter, and #ROLP is Trending | News | Ep 22
#22
06/17/2025

News for the week of June 9, 2025: Node's type stripping wrapper is released as a standalone package, VoidZero is building a super fast linter, and pnpm introduces experimental virtual store for speeding up package installs. From the community: secure your TS apps, #ROLP, and updated Exploring JS book edition for 2025.

Chapters

(00:00) - Introduction and Personal News (05:34) - News: Amaro, the Node.js Type Stripping Wrapper, Has 1.0 Release (06:39) - News: New Oxlint 1.0 Release is 50-100x Faster Than ESLint (08:37) - News: pnpm 10.12 Introduces Experimental Global Virtual Store (10:14) - News: TypeFire is a New Meta Programming Framework...


TSC Init New Defaults, Who Dis? Plus Vite 7, Babel 8 Betas | News | Ep 21
#21
06/10/2025

News for the week of June 2, 2025: TSC init command gets new, modern defaults, plus new betas drop for Vite 7 and Babel 8. From the community: Learn advanced TS features in 25 mins, and improve the performance of your TS monorepos with secret arcane knowledge.

Chapters

(00:00) - Introduction and Personal Updates (02:26) - News: tsc --init Finally Has New Defaults (04:39) - News: Deferred Imports Syntax Will Land in TS 5.9 (06:38) - News: Vitest 3.2 Brings Annotations, Better TS Support (08:21) - News: Vite 7 Beta (09:17) - News: Babel 8 Beta (10:49) - News: Storybook 9 Adds Interaction Tests, A11y Improvements (11:54) - News: TC39 Proposal...


Painless TSConfig Migrations | Jason Yu | 20B
#20
06/05/2025

Jason Yu (ycmjason.codes) joins us to share an open source tool he created to help teams migrate their legacy TSConfig compiler options to modern-day options painlessly and progressively. Learn about his experience implementing strict options on big teams, how it inspired his new tool, and how you can take advantage of it right now!

Chapters

(00:00) - Meet Jason Yu (03:27) - Challenges of Migrating Legacy TypeScript (05:44) - What is ts-migrating? (07:01) - How Does ts-migrating Help Migrate TSConfig? (09:05) - What Does the ts-migrating CLI Do? (10:02) - How Do You Migrate Incrementally? (11:16) - How Do You...


Angular Turns 20, Remix Revived, and Hurricane André Hits Firefox | News | Ep 20
#20
06/03/2025

News for the week of May 26, 2025: Angular's 20th release brings DX improvements, Remix replaced by React Router receives reincarnation, and how a lone volunteer brings the much-anticipated Temporal API to Firefox.

Chapters

(00:00) - Personal News and Updates (04:46) - News: Angular 20 is Out and It's Boring (But in a Good Way) (08:39) - News: Remix Receives Revival (10:03) - News: Vite with Rolldown is in Preview (11:32) - News: What's New with Astro in May 2025 (12:05) - News: Temporal API Finally Hits Browsers with Firefox 139 (16:52) - PSA: Take the StackOverflow 2025 Developer Survey! (17:40) - Community Highlight: Josh Goldberg's Types Beyond...


TypeScript Native is Now in Preview | News | Ep 19
#19
05/27/2025

News for the week of May 19, 2025: Try out the new TypeScript Go native port, Zod 4 is out, and no, Deno is not dead.

Chapters

(00:00) - Introduction and Personal News (05:12) - News: TypeScript Native is in Preview! (10:12) - News: Anders' Talk About TS Native at MS Build (12:58) - News: Zod 4 is Officially Released (15:51) - News: Reports of Deno's Demise Are Greatly Exaggerated (17:23) - News: Importing JSON Across Major Browsers (20:13) - News: Experimental node.config.json Support (24:43) - Community Highlight: A Brief History of JavaScript by Deno.land (25:40) - Community Highlight: tsdown Now Supports Transpile-only Unbundle...


Microsoft Layoffs Impact TypeScript Team | News | Ep 18
#18
05/20/2025

News for the week of May 12, 2025: Microsoft layoffs impact TypeScript team, and Deno explains the radio silence on Fresh 2.0.

Chapters

(00:00) - Personal News (06:25) - Correction: Node 24's Security Model (07:22) - News: Microsoft Lay-offs Impacting TypeScript Team (11:32) - News: Deno Posts an Update on Fresh 2.0 (13:27) - News: TSGo Gets LSP Concurrency (16:19) - Community Highlights: String Split Typing Quirks by kramer.run (18:21) - Community Highlights: Shawn Wildermuth on "Just Enough TypeScript" (18:57) - Community Highlights: Reminder for Migrating TS Import Paths in Node 24 (20:24) - Community Highlights: Reddit on What Was the Hardest Thing to Learn About TS? (23:43...


What's New in Node 24 | Deep Dive | Ep 17B
#17
05/15/2025

In this week's deep dive, we cover everything TypeScript developers need to know about the latest Node 24 release, including examples of each new language feature. We've even put together a code snippet repo you can check out!

Chapters

(00:00) - Introduction to Node 24 and TypeScript Support (02:49) - Type Stripping and Experimental Transform Types (05:53) - Stable Permission Flag Security Model (09:38) - V8 13.6 Brings New Language Features (10:04) - API: CPU Hinting Micro-waits with Atomics.pause (12:35) - API: Reduce Memory Using Float16Array (14:56) - API: Format Time Durations with Intl.DurationFormat (16:33) - API: Explicit Resource Management with using (17:07...


Node 24 Officially Brings TS Support to the Masses | News | Ep 17
#17
05/13/2025

News for the week of May 5, 2025: Node 24 officially brings TS support to the masses, Parcel adds RSC support, and a TC39 proposal gets replaced.

Chapters

(00:00) - Introduction (04:07) - News: Node 24 Release Highlights (08:09) - News: What's New in TSGo? (09:05) - News: TC39 Records and Tuples Proposal Has Been Withdrawn (11:45) - News: Parcel Bundler Introduces Support for RSC (13:15) - Community Highlight: Why Was Node 24 Delayed? (15:52) - Community Highlight: Type-safe Theming in Tailwind CSS (16:52) - Community Highlight: TypeScript Gotchas via Reddit (20:48) - Community Highlight: Trick for Error Handling in TypeScript (22:46) - Cool Stuff: V8 Compile Hints (25:40...


Deno 2.3 Ships Tons of QOL Improvements | News | Ep 16
#16
05/06/2025

News for the week of April 28, 2025: Deno 2.3 brings some nice quality-of-life improvements, plus void(0) has released a new all-in-one bundler for your TypeScript libraries.

Chapters

(00:00) - Introduction (04:51) - News: This Week in TypeScript Go (05:47) - News: Deno 2.3 Released (08:36) - News: tsdown is a TypeScript Bundler for Library Authors (11:29) - News: Astro 5.7 Release (13:04) - Community Highlights: "Macros" in TypeScript by cinny.bun.how (15:40) - Community Highlights: Dan Abramov's AMA on BlueSky (16:02) - Community Highlights: Josh Goldberg's Series on "If I Wrote a Linter..." (18:03) - Community Highlights: Plaid Migrated 100 Services to Deno Deploy (19:52) - Community Highlight...


Building Games in TypeScript | Erik Onarheim | Ep 15B
#15
05/01/2025

Erik shares how you can build games for the web with TypeScript and the Excalibur.js game engine. What's involved? What are some of the primitives you need to learn? What tools are there to make assets? And how do your webdev skills translate? All this and more in today's deep dive episode!

Chapters

(00:00) - Introduction to Excalibur.js (01:13) - What is Excalibur.js? (02:28) - Game Development Basics with Excalibur (05:18) - Exploring Actors and Scenes in Excalibur (06:38) - Diverse Game Types with Excalibur (08:01) - Physics in Excalibur (09:52) - Input Handling in Excalibur (11:09) - Asset...


TSGo Gets Autocomplete and JSX Support | News | Ep 15
#15
04/29/2025

News for the week of April 21, 2025: TSGo gets autocomplete and JSX support, pnpm adds JSR support, and remember to migrate off Node 18!

(00:00) - Introduction and Personal Updates (04:55) - News for the Week of April 21, 2025 (06:26) - News: TSGo Gets JSX and Autocomplete Support (08:36) - News: pnpm Gets JSR Package Support (10:00) - News: Juno Adds Serverless TypeScript Functions (11:23) - News: Storybook 9 Beta is Released (13:23) - News: Node 18 EOL on April 30, 2025 (14:11) - Community Highlight: Joist ORM by Stephen Haberman (15:51) - Community Highlight: TypeScript Interview Questions by L Javier Tovar (18:08) - Community Highlight: Quad Trees with TypeScript by Hypersphere (20:11...


Are We Sick of TypeScript.fm Yet? | Retrospective | Ep 14B
#14
04/24/2025

In this episode, Erik and Kamran have a candid discussion about how the podcast started, how it went, and what the plans are for the future.


Chapters

(00:00) Introduction(01:18) Is TypeScript.fm Done?(01:59) Erik's Reflection(03:05) Kamran's Reflection(03:48) What's the Goal of the Podcast?(06:46) What Do We Want to Focus On?(12:10) Should We Build a Dedicated Community Around the Podcast?(13:58) How Do We Feel About the Time Spent Right Now?(18:05) Should We Split Episodes Apart?(21:59) What Should Change With the Record and Edit Workflow?(23:38) Should We Start Doing Video?(26:08) What Should the News Cover?(27:23) Should We Send...


TC39 Enums in JS Proposal Moves to Stage-1 | News | Ep 14
#14
04/23/2025

News for the week of April 14, 2025: TC39 Enums in JS Proposal moves to Stage 1, plus Next.js gets some TS LSP plugin perf/stability improvements.

Chapters


(00:00) - Introduction (02:07) - News for Week of April 14 (03:20) - News: SquiggleConf 2025 (03:40) - News: TC39 Enums in JS Proposal Moves to Stage 1 (04:20) - News: Deno 2.2.10 (04:48) - News: Bun 1.2.10 (05:08) - News: Next.js 15.3 (07:31) - Community Highlight: Reddit Discussion on the Enums in JS Proposal (10:25) - An Abrupt Goodbye!

Links

SquiggleConfTC39 Enums in JS ProposalDeno 2.2.10Bun 1.2.10Next.js 15.3Reddit Discussion on the Enums in JS Proposal

<...


DOOM.ts | Dimitri Mitropoulos | Ep 13
#13
04/16/2025

This week on the pod, we talk to Dimitri Mitropoulos about building DOOM in the TypeScript type system. We walk through all the nitty gritty and explore this truly amazing engineering feat! We touch on things that Dimitri learned and discovered along the way, and how you might be surprised what you can accomplish by trying! In the news, Zod 4 Beta drops with awesome new features. 


Chapters

(00:00) - Intro (00:37) - SquiggleConf 2025 (01:00) - Personal News (04:28) - Dimitri's Background and Michigan TypeScript (08:35) - JSON Parser in TypeScript Types (09:08) - Where do you start with DOOM i...


Enums in JS, Deno v Oracle Cage Match, and Parcel Gets React Server Components | Grab Bag | Ep 12
#12
04/08/2025

This week on the pod, we were very busy with travel, cons, and sickness! We have a news grab bag episode talking about the JS enums proposal, Deno v. Oracle, Parcel+RSCs, Firefox vulnerabilities and more!

Also Please email us your feedback for your retro episode (feedback@typescript.fm)

00:00 Intro
00:50 VGM Con
02:07 IGDATC Talk Wednesday April 9th
02:41 Toddler Zone
03:28 Exciting Arizona Travels
05:53 (Almost) Missing Flights
07:33 Sponsored by Excalibur.js
08:44 JavaScript Enums Proposal
10:06 Deno v. Oracle

Deno Blog PostJavaScript.tm Petition

12:55 Parcel 2.14 and React Server Components<...


Baby Got Bun | Ep 11
#11
03/31/2025

This week on the pod, we talk all about the Bun runtime funtimes! This is a powerful new player in the JavaScript and TypeScript runtime space focusing on DX, speed, and pushing the state of the art! We dive into the details and offer some of our thoughts around when to use it at the moment. In other news we avoid phone scams and talk fun new TypeScript libraries.

Also Please email us your feedback for your retro episode (feedback at typescript.fm)

Personal News

00:36 Welcome01:33 Kamran & Erik IRLMinnebarVGM Con02:39 Erik @ C Fundamentals by...


The Vanilla TS Experience | Josh Goldberg | Ep 10
#10
03/24/2025

In this episode, we are joined by special guest Josh Goldberg to teach us about getting started with TypeScript from scratch. If you're new to TS, this is a great introduction! And if you've been using TS for a long time, you can explain to your friends where they should start to make their experience smoother. In the news, Nx gets support for project references and we curate some of the best TSGo content.


(00:36) Personal News

IRL: Excalibur.js team will be at VGM Con (April 11-13, Minneapolis, MN)IRL: Erik is speaking at NDC...


TS-a-Go-Go | Ep 9
#9
03/17/2025

The Internet blows up as TypeScript reaches its next Pokemon evolution, and Kamran and Erik scramble to create an episode to pick up the pieces and make sense of it. In other news, TikTok announces Lynx, Angular gets some fetch upgrades, and Josh Goldberg releases v2 of create-typescript-app.


Week of March 3, 2025

(07:09) - Big News: TypeScript Is Getting 10X Faster(07:48) - Big-ish News: Lynx Announced, the React Native Killer?(11:46) - News: Angular 19.2 Released(12:53) - News: Corepack Voted to Be Taken Out of Nodejs Core(13:35) - News: traits-ts Library Released(14:23) - Community Highlight: Dr. Axel's Corner2ality...


React, TypeScript, and... Schbooleans? | Ep 8
#8
03/10/2025

This week Kamran dives into some nuances with using React with TypeScript while Erik plays the React fool and coins the word "schbooleans" (yep). In the news, erasableSyntaxOnly gets shipped, some new minor releases in the ecosystem, and oh, TypeScript types can run DOOM. Yes, TS is a real language now.

Erik's News

Personal Blog Post: The Best Worst Year Happy New Year Excalibur! Excalibur 2024 Community Reel Erik didn't finish the flappy bird vid or lighting feature in time, consolation prizeFlappy Bird ArticleExcalibur Lighting PRs: Pipeline & PoC

 
Week of February 24, 2025

(04:16) - News: TypeScript 5.8 Rele...


ORMed and Dangerous | Ep 7
#7
03/03/2025

This week Kamran and Erik discuss when ORMs are helpful... or hurtful. They cover trade-offs, the spectrum of abstraction, the value of escape hatches, and the options available to you in the TypeScript ecosystem.

Week of February 17, 2025


(05:54) - News: Ember 6.2 Released(07:16) - News: Deno 2.2 Releasednpm-check-updates packagePackage JSON Upgrade VS Code extensionhttps://github.com/vuki656/package-info.nvim for Neovim


Community Highlights

(16:48) - Community Highlights: UseTypeScript for Your Stored Procedures?!(17:20) - Community Highlights: Node API Compatibility Across Runtimes(17:58) - Community Highlight: Why Type Catalogs Can Be Better Than Unions(19:05...


The Sheer Joy of Publishing to JSR | Ep 6
#6
02/24/2025

This week Kamran and Erik unpack JSR, the new open alternative to the npm registry from the folks at Deno. They both published packages and discuss what JSR offers npm doesn't, when to use it, and how it works for both consumers and maintainers.

(00:00) - The Sheer Joy of Publishing to JSR | Ep 6 (05:40) - News: TypeScript 5.8 RC (07:45) - News: JSR Open Governance Board (08:59) - News: ESLint Plugin for erasableSyntaxOnly (11:03) - News: Windows Terminal 1.22 Released (15:31) - News: Create React App is Officially Deprecated (17:50) - News: Interop 2025 (19:59) - News: Prettier 3.5 Released With Better TS Support (20:42) - Community Highlight...


Compilers, Runtimes, and Funtimes | Ep 5
#5
02/17/2025

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...


You Say Vite, I Say Vite | Ep 4
#4
02/10/2025

This week Erik and Kamran talk about Vite (Vight? Veet?), what it's good for, how it works, and its status as the "go-to" tool for frontend tooling.

(04:21) - This Week in TypeScript: TS 5.8 Beta (11:02) - This Week in TypeScript: Ruck 9 Released (12:39) - This Week in TypeScript: Type Stripping in the Browser (14:45) - Community Highlight: Deno and Qwik Video (15:52) - Community Highlight: Zig, TypeScript, and WASM by David Bushell (16:49) - New Library Watch: tsc-extra (17:24) - New Library Watch: typemap and typebox (18:23) - Vite Overview (22:01) - Vite: Getting Started (22:53) - Vite: build and preview (23:34) - Vite: How Does...


We Don’t Talk About Deno-no-no | Ep 3
#3
02/03/2025

This week Erik and Kamran make poor dad jokes, talk about Deno, and tour its ecosystem. If you're new to Deno, this will be a great introduction!

(00:00) - We Don't Talk About Deno-no-no-no | Ep 3 (06:54) - This Week in TypeScript: Bun 1.2 Released (10:54) - This Week in TypeScript: 5.8's ErasableSyntaxOnly Flag (14:57) - This Week in TypeScript: Tailwind 4 Released (16:26) - This Week in TypeScript: Vitest 3 Released (17:17) - Errors and Corrections (18:46) - Deep Dive Into Deno (22:19) - Deno's Integrated CLI (23:50) - Deno CLI: deno run (24:28) - Deno CLI: deno add, install, remove, uninstall (25:01) - Deno CLI: deno task (26:19) - Deno...


Node 23 Gets TypeScript Support, Mostly | Ep 2
#2
01/27/2025

In this episode, Kamran and Erik discuss the newly released TypeScript support with Node 23.6 and its implications. What's supported? What's not supported? And how does it differ from Bun or Deno?

(00:00) - Ep 2 - Node 23 Gets TypeScript Support (00:05) - Introduction (04:04) - TypeScript News and Announcements (10:27) - A Closer Look at Type Stripping for Node 23 (22:56) - Differences Between Node 23 and Deno 2 (30:22) - Cool TypeScript Stuff
NewsEverything You Need to Know About Node.js Type Stripping by Marco IppolitoNode 23.6.0 Release Notes -- The one with TypeScript supportDocs: Node 23 “Modules: TypeScript”Node's new built-in support for TypeScript by Dr...


Two TypeScript Fools, One Podcast | Ep 1
#1
01/27/2025

In the inaugural episode of TypeScript.fm, the two fools introduce themselves, share their "origin stories," and share plans for the podcast. Briefly covered in the news: Vite 6, Deno 2's expansion of the ecosystem, Node 23's new TypeScript support, and the latest Excalibur.js 0.30.0 release.

(00:00) - Ep 1 - Two TypeScript Fools, One Podcast (00:12) - Introduction (21:31) - News Segment (29:38) - TypeScript Tricks Segment
NewsVite 6 is out! Check out the new Environments API.Deno 2.1 was released in November -- Node.js compatibility, npm packages, WebAssemblyNode 23 support for TypeScript (via Matt Pocock)Excalibur.js v0.30.0 - Performance improvements...