Log in

goodpods headphones icon

To access all our features

Open the Goodpods app
Close icon
headphones
TypeScript.fm - The Friendly Show for TypeScript Developers

TypeScript.fm - The Friendly Show for TypeScript Developers

Kamran Ayub and Erik Onarheim

The two TypeScript Fools, Kamran Ayub and Erik Onarheim, get together once a week 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!
Share icon

All episodes

Best episodes

Top 10 TypeScript.fm - The Friendly Show for TypeScript Developers Episodes

Goodpods has curated a list of the 10 best TypeScript.fm - The Friendly Show for TypeScript Developers episodes, ranked by the number of listens and likes each episode have garnered from our listeners. If you are listening to TypeScript.fm - The Friendly Show for TypeScript Developers for the first time, there's no better place to start than with one of these standout episodes. If you are a fan of the show, vote for your favorite TypeScript.fm - The Friendly Show for TypeScript Developers episode by adding your comments to the episode page.

TypeScript.fm - The Friendly Show for TypeScript Developers - React, TypeScript, and... Schbooleans? | Ep 8

React, TypeScript, and... Schbooleans? | Ep 8

TypeScript.fm - The Friendly Show for TypeScript Developers

play

03/10/25 • 67 min

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


Week of February 24, 2025

Deep Dive: TypeScript and React Nuances

bookmark
plus icon
share episode
TypeScript.fm - The Friendly Show for TypeScript Developers - ORMed and Dangerous | Ep 7

ORMed and Dangerous | Ep 7

TypeScript.fm - The Friendly Show for TypeScript Developers

play

03/03/25 • 67 min

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

Community Highlights

Deep Dive: TypeScript ORMs

TypeScript.fm - The Friendly Show for TypeScript Developers - The Sheer Joy of Publishing to JSR | Ep 6

The Sheer Joy of Publishing to JSR | Ep 6

TypeScript.fm - The Friendly Show for TypeScript Developers

play

02/24/25 • 67 min

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: Wheel of Names TypeScript+React Project Tutorial
  • (21:05) - Community Highlight: Repository Pattern and Clean Architecture with TS and Prism
  • (21:34) - Community Highlight: Welch Canavan on the Sheer Joy of Publishing to JSR
  • (22:01) - Community Highlight: The Good Doctor is On a Roll
  • (22:47) - Community Highlight: Tips for Migrating Node.js Projects to Deno
  • (24:09) - Community Highlight: Sort Object Properties by Type ESLint Plugin
  • (24:30) - Community Highlight: Unloader and Unplugin for TypeScript and oxc
  • (25:21) - Community Highlight: dsbuild Bundler for Deno
  • (25:54) - Deep Dive: What is a Pirate's Favorite Registry?
  • (27:49) - Deep Dive: Differences Between npm and JSR
  • (30:38) - Deep Dive: JSR's Security-First Approach
  • (32:39) - Deep Dive: Consuming JSR Packages in the Browser
  • (35:26) - Deep Dive: Should You Publish to Both npm and JSR?
  • (36:31) - Deep Dive: Can You Publish Private Packages?
  • (38:16) - Deep Dive: JSR's TypeScript-First Approach
  • (42:04) - Deep Dive: Can You Tag Versions?
  • (44:51) - Deep Dive: No API Keys for Publishing
  • (46:58) - Deep Dive: Yanking or Unpublishing a Package
  • (48:16) - Deep Dive: Kamran's Experience Publishing to JSR
  • (53:16) - Deep Dive: Erik's Experience Publishing to JSR
  • (55:06) - Secrets of the Handbook: Decorators
  • (01:00:03) - Cool Stuff: Write Vanilla CSS in TypeScript
  • (01:00:32) - Cool Stuff: Signals in Lit
  • (01:01:35) - Cool Stuff: Train Your vim Muscle Memory
  • (01:01:52) - Cool Stuff: AreTheTypesWrong.com
  • (01:02:44) - Cool Stuff: Homura Ham's Hamster Maze Videos
  • (01:05:10) - Bonus: JSR ASMR (?!)

Week of February 10, 2025

Community Highlights

TypeScript.fm - The Friendly Show for TypeScript Developers - Compilers, Runtimes, and Funtimes | Ep 5

Compilers, Runtimes, and Funtimes | Ep 5

TypeScript.fm - The Friendly Show for TypeScript Developers

play

02/17/25 • 63 min

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

Community Highlights

Compilers and Runtimes Deep Dive

bookmark
plus icon
share episode
TypeScript.fm - The Friendly Show for TypeScript Developers - You Say Vite, I Say Vite | Ep 4

You Say Vite, I Say Vite | Ep 4

TypeScript.fm - The Friendly Show for TypeScript Developers

play

02/10/25 • 53 min

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 It Work?
  • (26:57) - Vite: Support for Libraries and Frameworks
  • (28:04) - Vite 6.0: Environments API
  • (30:27) - Vite 6.0: Support for Additional HTML Asset References
  • (31:28) - Vite: Testing with Vitest
  • (32:48) - Vite Gripes and Gotchas
  • (33:52) - Vite Gripes: Dev and Prod Build Inconsistencies
  • (35:14) - Vite Gotcha: Forgetting to Set a URL Base
  • (35:49) - Vite Gotcha: Targeting Legacy Browsers
  • (38:30) - Vite Gripes: npm linking
  • (41:43) - Vite's Future: What Are We Excited About?
  • (44:12) - Secrets of the Handbook: Type Guards and Predicates
  • (47:27) - Cool Stuff: Write Typesafe Emails with React.email
  • (49:51) - Cool Yet Questionable Stuff: Custom Type Errors When Working With Generics

Week of January 27

Vite Deep Dive

Links

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

bookmark
plus icon
share episode
TypeScript.fm - The Friendly Show for TypeScript Developers - We Don’t Talk About Deno-no-no | Ep 3

We Don’t Talk About Deno-no-no | Ep 3

TypeScript.fm - The Friendly Show for TypeScript Developers

play

02/03/25 • 52 min

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 CLI: deno test
  • (27:18) - Deno CLI: deno fmt, deno lint, and deno check
  • (28:15) - Deno CLI: deno serve
  • (29:26) - Deno CLI: deno doc
  • (30:07) - Deno CLI: deno bench
  • (31:24) - Deno's Standard Library
  • (33:21) - Deno CLI: deno compile
  • (36:24) - Deno's Performance
  • (37:32) - What is Deno Fresh?
  • (38:17) - What is JSR?
  • (39:43) - What is Deno Deploy?
  • (40:38) - Moving from Node to Deno as a Developer
  • (45:48) - Deno CLI: deno upgrade
  • (47:13) - What Are We Excited About In the Future With Deno
  • (48:13) - Secrets of the Handbook: TSConfig's extendedDiagnostic
  • (50:12) - Cool Stuff: Serve a Folder in a Single Deno Command
  • (50:44) - Cool Stuff: Flappy Bird Clone in Deno Compile

News

Deno Deep Dive

Links

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

bookmark
plus icon
share episode
TypeScript.fm - The Friendly Show for TypeScript Developers - Node 23 Gets TypeScript Support, Mostly | Ep 2

Node 23 Gets TypeScript Support, Mostly | Ep 2

TypeScript.fm - The Friendly Show for TypeScript Developers

play

01/27/25 • 36 min

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

News

Errata

  • 19:11 -- We incorrectly assumed that TSC is used for the transpilation in Node 23, but that's not true. SWC still handles the transpilation (if the flag is used) so Node's TypeScript support does not rely on TSC at all. Reported by: Marco Ippolito

Cool Stuff

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

bookmark
plus icon
share episode
TypeScript.fm - The Friendly Show for TypeScript Developers - Two TypeScript Fools, One Podcast | Ep 1

Two TypeScript Fools, One Podcast | Ep 1

TypeScript.fm - The Friendly Show for TypeScript Developers

play

01/27/25 • 43 min

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

News

Links

  • StackOverflow 2024 Survey – TypeScript is #5 in Programming Languages
  • Zod - TypeScript-first schema validation
  • QuickJS -- Embeddable JavaScript engine (like Lua for C)
  • Nivo -- Charting library with TypeScript support

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

bookmark
plus icon
share episode
TypeScript.fm - The Friendly Show for TypeScript Developers - TS-a-Go-Go | Ep 9

TS-a-Go-Go | Ep 9

TypeScript.fm - The Friendly Show for TypeScript Developers

play

03/17/25 • 53 min

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

Deep Dive: TypeScript is Being Ported to Go

  • (22:04) - Deep Dive: TypeScript Is Being Ported to Go
  • (23:58) - Deep Dive: Ports vs. Rewrites
  • (24:50) - Deep Dive: Why Go?
  • (25:54) - Deep Dive: Why Not Rust? Anders Explains
  • (28:37) - Deep Dive: Why Not C#?
  • (30:20) - Deep Dive: Go's Developer Experience
  • (31:27) - Deep Dive: Running Concurrent Type Checking
  • (32:54) - Deep Dive: 10X Is Just the Start
  • (33:26) - Deep Dive: What's the Roadmap?
  • (35:06) - Deep Dive: Impact on Ecosystem
  • (43:32) - Deep Dive: Go Use It... in Go
  • (45:20) - Deep Dive: What's Not Supported Yet
  • (46:08) - Deep Dive: Props to the Team

Other Links

  • Habitica, a habit tracker
  • rspack, a Rust port of webpack
  • (47:34) - Secrets of the Handb--Actually, Just Go Build t...
bookmark
plus icon
share episode
TypeScript.fm - The Friendly Show for TypeScript Developers - The Vanilla TS Experience | Josh Goldberg | Ep 10

The Vanilla TS Experience | Josh Goldberg | Ep 10

TypeScript.fm - The Friendly Show for TypeScript Developers

play

03/24/25 • 56 min

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 Oslo (May 19-23)

(04:28) Introducing Josh Goldberg

(45:02) Where to Find Josh

(46:55) News for the Week of March 10, 2025