Explore every episode of the podcast TypeScript.fm - The Friendly Show for TypeScript Developers
Dive into the complete episode list for TypeScript.fm - The Friendly Show for TypeScript Developers. Each episode is cataloged with detailed descriptions, making it easy to find and explore specific topics. Keep track of all episodes from your favorite podcast and never miss a moment of insightful content.
Rows per page:
50
1–50 of 78
Title
Pub. Date
Duration
Anthropic's Bet on Bun, React2Shell, Vite 8 Beta, and Elves Spam npm | News | Ep 47
09 Dec 2025
00:55:34
News for the week of December 1, 2025: Anthrophic acquired Bun, React2Shell is pretty darn bad (and that's not all), plus "elf spam" packages on npm. From the community: tRPC vs. oRPC, demystifying TSConfig, and hash-slash (#/) project-relative import support in Node.
MCP in Practice Course Watch now. Kamran shows you how to build a practical enterprise-grade MCP server with .NET, C#, and OAuth, hosted remotely on Azure. (Requires subscription)
Sponsored by Excalibur.js Excalibur.js is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.
Progress on TypeScript 7, Advent of Code as an Excuse to Learn Zig, and Type-safe CLIs | News | Ep 46
03 Dec 2025
00:42:31
News for the week of November 24, 2025: TypeScript team discusses progress on TS 7 and upcoming deprecations for TS 6. Plus, Svelte's new hydratable API. From the community: creating strongly-typed CLIs with yargs, magic union types to check characters, and how TypedArray can reduce memory usage.
Sponsored by Excalibur.js Excalibur.js is the friendly TypeScript 2D game engine for the web. 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, tile maps, particles, and more.
Deno Might be npm's Saving Throw, Temporal Dead Zones, and SSR Under .NET?! | News | Ep 38
09 Oct 2025
00:47:50
News of the week of September 29, 2025: Is Deno the answer to npm's security issues? From the community: replacing .env files with 1Password, stepping outside of TypeScript's padded room, and temporal dead zones. Plus, Kamran fell into a rabbit hole and defeated the Red Queen: SSR with .NET.
Chapters
(00:00) - Welcome to the Show
(07:39) - News: TSGo Got a Lil Bit Faster (Still)
(08:56) - News: How Deno Protects Against npm Exploits
(13:28) - News: DBOSS Adds Better JS and TS Support for Durable Workflows
(15:44) - News: Astro Got a New Sponsor
(16:49) - Community Highlight: Liran Tal on Mitigating Supply Chain Security for Node.js Local Dev
(21:11) - Community Highlight: Why is the TypeScript Codebase Littered with var Statements?
(23:36) - Community Highlight: When Type Safety Can Be Tricky
(27:40) - Community Highlight: Theo.gg on Life After TypeScript
(29:10) - Community Highlight: Kamran Got React SSR Working Under .NET!
(40:12) - Cool Link: En*bleep*ification by Cory Doctorow
(40:32) - The Minnesota Long Goodbye
News
TSGO News: PR #1732: Improves source file parse time by ~10%
Library: microsoft/node-api-dotnet, advanced interoperability between .NET and JavaScript in the same process.
Library: agracio/edge-js, run .NET and Node.js code in-process on Windows, MacOS, and Linux
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.
New ECMAScript Proposals, Cap'n Web, and TS on DOS/PlayStation | News | Ep 37
30 Sep 2025
00:59:07
News of the week of September 22, 2025: new default option in TS 6.0, Jiti upgrade, and Cloudflare's on a tear. Plus, npm's security roadmap. From the community: Python-style kwargs, running TS on MS-DOS, and running JS on PlayStation.
Chapters
(00:00) - Welcome to the Show
(07:42) - News: Take the State of JS Survey 2025
(08:25) - News: TS 6.0 Will Enable noUncheckedSideEffectImports by Default
(09:09) - News: Jiti 2.6 is Faster Thanks to RSPack
(11:14) - News: ECMAScript Proposal for Non-extensibility Applying to Private Fields
(13:06) - News: ECMAScript Proposal for Array.prototype.pushAll
(15:00) - News: ECMAScript Proposal for Iterator Chunking
(16:04) - News: Introducing Cap'n Web, a New RPC System for the Web
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.
Let the Spicy Takes Flow: Shai-Hulud Hits npm, Motion's TS Exodus | News | Ep 36
23 Sep 2025
00:51:40
News of the week of September 15, 2025: Shai-Hulud worm hits npm supply chain, WebAssembly 3 spec is ratified, and Elixir fans finally get their time in the spotlight. From the community: SquiggleConf was awesome, type branding and tuples, local-first app dev, and why @ts-ignore is almost always the worst option.
Chapters
(00:00) - Welcome to the Show
(04:36) - News: Shai-Hulud Worm Attacks Over 500 npm Packages
Cool Tool: Pages CMS - Hassle-free CMS for static sites powered by Git
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.
ArkType is TypeScript's 1:1 Validator | David Blass | Ep 35B
18 Sep 2025
01:09:53
David Blass (@ssalbdivad.dev) teaches the two fools about ArkType and its 1:1 validator type system. If you, like us, thought ArkType was only about validation, think again! David pulls back the curtain on what makes ArkType unique, how he built a type-level parser to provide helpful error messages, and why ArkType can provide soundness guarantees that go beyond even what vanilla TypeScript can offer. *waves hand* These are the array intersections you're looking for.
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.
Deno 2.5, Type-safe Configs and Forms, and Underrated TS Features | News | Ep 35
16 Sep 2025
00:49:12
News of the week of September 8, 2025: Deno 2.5 adds a bunch of DX improvements, Fresh 2.0 is out of beta, and a supply chain attack mitigation for pnpm users. From the community: Val Town's OSS TypeScript editor, discussing underrated TS features, and tools/libraries to help make your configs, secrets, and forms type-safe.
Chapters
(00:00) - Welcome to the Show
(05:46) - News: TSGo Adds JSDoc Support to LSP
(07:08) - News: Deno 2.5 Released
(15:05) - News: Deno Fresh 2.0 is Now Out of Beta
(15:28) - News: rspack and webpack Add Dynamic Import Tree Shaking
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.
Fresh 2.0 Beta, TS Nostalgia, and Spear Phishing the Supply Chain | News | Ep 34
11 Sep 2025
00:49:52
News of the week of September 1, 2025: Deno Fresh 2.0 is now in beta, Swift 6.2 adds WASM support, and a serious spear-phishing attack on npm maintainers. From the community: looking back on TypeScript, optimizing immutability, type-safe state machines, sharing Wi-Fi links, and some prolific open source work.
Chapters
(00:00) - Welcome to the Show
(05:20) - News: New ESLint Rule to Prevent Empty Type Argument Lists
(06:43) - News: Deno Fresh 2.0 Graduates to Beta with Vite Support
(09:17) - News: Rolldown Will Ship as ESM-only
(10:55) - News: Swift 6.2 Adds WASM Support
(12:17) - Reminder: TypeScript AI Conf in San Francisco on Nov 6
(12:42) - PSA: Upgrade Your Vite Packages
(14:53) - PSA: Massive npm Supply Chain Attack
(22:05) - News: GhostAction Attack Exfiltrated Secrets from GitHub Actions
(24:42) - Community Highlight: TypeScript 1.5 Was 10 Years Ago
(25:54) - Community Highlight: Dr. Axel's Corner
(27:38) - Community Highlight: Perf Improvements Coming to Immer.js
(28:40) - Community Highlight: Meta AI Piracy Case Might Owe Authors Money
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.
Breaking Changes in TS 6, a Calm Migration to Type Stripping, and Deno's #FreeJavaScript Campaign | News | Ep 33
03 Sep 2025
00:56:07
News of the week of August 25, 2025: the two fools unpack the expected breaking changes to TSConfig in the upcoming 6.0 release, explain Node's latest LTS notable changes, and cover the latest in the JS trademark case from Deno. Plus, a PSA if you use Nx! From the community: making the case to migrate to Node's type stripping, a peek at Vitest 4, Zod's new Codecs feature, refactoring types, Rolldown is the opposite of a letdown, and a bunch of neat libraries/framework releases to watch.
Chapters
(00:00) - Welcome to the Show
(06:46) - News: TSGo Refactoring and Find Reference Enhancements
(07:54) - News: Expect Some (Good) Breaking Changes in TS 6.0
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.
TypeScript Go Nightly Improvements, Rslint Announced, and Big Bun Updates | News | Ep 32
26 Aug 2025
00:51:09
News of the week of August 18, 2025: one of the biggest nightly updates for TS Go, Rspack team announces a new linter, the new minor Bun release is pretty major, and Next.js 15.5 features typed routing . From the community: more learning web dev resources, an exhaustive switch utility for JSX, --strict on by default?, and whether you can really protect your code from clients. Plus, the two fools rant about feature flags.
Chapters
(00:00) - Welcome to the Show
(06:32) - News: TypeScript Go Got a Big Nightly Update
(10:01) - News: Rspack Introduces Rslint
(13:08) - News: Bun 1.2.21 Got Some Major Upgrades
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.
Astro DB Gets Enum Support, Type-safe Data Flow in Next.js, and a Moose-y ORM | News | Ep 31
19 Aug 2025
00:17:42
News of the week of August 11, 2025: there ain't much! Astro 5.13 minor release brings enums to Astro DB and improved meta environment variables. From the community: learning web dev, Result-typing Next.js server actions, and Clickhouse built an ORM.
Chapters
(00:00) - Welcome to the Show
(05:07) - News: Astro 5.13 Adds import.meta.env and Astro DB Enum Support
(06:47) - Community Highlight: Dr. Axel's Learning Web Dev Series
(07:47) - Community Highlight: Type-safe Data Flow Between Client and Server in Next.js by Nahuel Scotti
(08:45) - Community Highlight: Clickhouse Made an OLAP ORM with TS
(11:25) - Cool Link: nextra, a Next.js Static Site Generator
(11:50) - Cool Link: editly, Non-linear Video Editing in Node.js and ffmpeg
Nextra – a Next.js static site generator with some built-in gizmos
editly – non-linear video editing with Node.js and ffmpeg
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.
WebStorm Supports TS Go, V8 Stringifies JSON 2X Faster, and a TypeScript AI Conference | News | Ep 30
12 Aug 2025
00:48:52
News of the week of August 4, 2025: WebStorm 2025.2 adds support for TypeScript Go language server (preview), V8 made JSON.stringify supa-supa-fast, and there's a new TypeScript AI conference on the block. From the community: recommended tools and libraries for TS developers, how to prevent ReDOS attacks, and an interview discussing how the JavaScript language evolves.
Chapters
(00:00) - Welcome to the Show
(04:52) - News: Erik's High Performance JavaScript Talk is OUT!
(06:02) - News: WebStorm 2025.2 Features TypeScript Go Language Server Support
(06:57) - News: V8 Improved JSON Stringify Perf by More than 2X
(10:54) - News: Bun 1.2.20 Includes Type-level Assertions and TS 5.9 Support
(12:24) - News: Mastra is Hosting a TypeScript AI Conference
(19:58) - Community Highlight: How I Built CSS' light-dark() Function in TypeScript by Robert Hameetman
(21:32) - Community Highlight: Type-Aware Linting with Oxlint
(22:39) - Tool Watch: Prevent ReDOS Attacks with regolith
(24:20) - Tool Watch: Filter tsc Errors by File or Folder Using tsef
(25:57) - Community Highlight: Tools or Libraries That Make Your Life Easier With TypeScript
(30:16) - Community Highlight: A Fast-paced Lumberjack Game Built with Excalibur.js
(30:51) - Community Highlight: Daniel Ehrenberg on How JavaScript Evolves by Weekly DevBrew
(31:10) - Community Highlight: Joke Bailey
(31:51) - Secret of the Handbook: Indexed Types
(36:20) - Cool Link: Speeding Up the semver Package
(38:36) - Cool Link: Enhance.dev, an HTML-first Full Stack Web Framework
(39:37) - Cool Link: mitata, a Benchmarking Tool That Loves You
(40:44) - Cool Link: Why contenteditable on Android is the Absolute Worst
(41:56) - Cool Link: Creating Legal Documents with Markdown
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.
Angular 21, Autofac Meets TS, and Shai Hulud Strikes Again | News | Ep 45
25 Nov 2025
00:27:50
News for the week of November 17, 2025: Angular 21 is zoneless by default and adds Vitest support, plus Shai-Hulud worm hits another 500+ npm packages. What's a dev to do??? From the community: you basically know C# if you already know TypeScript and a new decorator-free dependency injection library inspired by Autofac.
Sponsored by Excalibur.js Excalibur.js is the friendly TypeScript 2D game engine for the web. 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, tile maps, particles, and more.
State of TypeScript Linting 2025 | Joshua Goldberg | Ep 29B
07 Aug 2025
00:41:53
Joshua Goldberg (JoshuaKGoldberg.com), creator of typescript-eslint, joins us to discuss the state of linting TypeScript projects in 2025. Which linters should we pay attention to? Why are there so many? What's unique about TypeScript? Josh shares his perspective and covers what to look for in a linter and how best to utilize them in your projects.
Chapters
(00:00) - Introducing Josh Goldberg
(02:10) - Why Are There So Many Linters?
(02:48) - Why Do I Need a Linter With TypeScript, Anyway?
(04:13) - Landscape of Linters in 2025
(06:56) - How Does TypeScript Linting Actually Work?
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.
Node 22.18 LTS Green Lights TypeScript for Orgs | News | Ep 29
05 Aug 2025
00:42:20
News of the week of July 28, 2025: TS 5.9 released, Node 22.18 is the first LTS to support TypeScript, a Rust-based alternative to Next.js, plus why Laravel ain't your pappy's PHP. From the community: eslint-max-depth-ts plugin, Zod vs. Valibot battle, Better Auth is so good, a deal with the TypeScript devil, and did you know you can render motion graphics with TypeScript.
Chapters
(00:00) - Introduction and Personal News
(05:18) - News: TypeScript 5.9 Release Highlights
(08:32) - News: Node 22.18 is the First LTS to Unflag Type Stripping
(12:12) - News: Deno Drops New Next.js and SvelteKit Templates
(13:41) - News: pnpm Adds Support for Deno and Bun to package.json Engines
(14:06) - News: A Bunch of ECMAScript Proposals Go Bonkers
(16:37) - News: Laravel Wayfinder Generates Types and Is Now Stable
(18:54) - News: Trusted Publishing in npm with OIDC
(19:35) - PSA: Security Vulnerability in form-data Library
(21:10) - Community Highlight: Adding Checked Exceptions to TypeScript
(22:57) - Community Highlight: New ESLint Max Depth Plugin by TypedRocks
(24:00) - Community Highlight: Zod vs. Valibot by Jack Harrington
(24:20) - Community Highlight: Better Auth is a TypeScript Auth Framework
(26:09) - Community Highlight: Understanding Effect.ts with Maxwell Brown
(26:52) - Community Highlight: The Many, Many, Many JavaScript Runtimes by Jamie Birch
(27:37) - Community Highlight: Auditing NPM Packages with NPQ
(28:06) - Community Highlight: TypeScript Performance Podcast Episode by Mike Hartington
(28:56) - Community Highlight: Learn TypeScript While Building a Game in Construct
(29:56) - Community Highlight: Parse TypeScript Types from Strings... with TypeScript Types by easrng
(30:55) - Secret of the Handbook: InstanceType
(33:17) - Cool Link: Create Video Motion Graphics in TS with MotionCanvas
(34:01) - Cool Link: Create Terminal UIs in TS with opentui
(34:40) - Weird Link: Running Windows 95 in Electron
(36:01) - Cool Library: Compile Time Expressions in TypeScript
I was playing Space Cadet pinball. They also have DOOM and Wolfenstein pre-installed.
comptime.ts – A Zig-style comptime equivalent for TypeScript projects (Vite/Bun supported)
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.
Building Secure TypeScript Applications | Liran Tal | Ep 28B
31 Jul 2025
00:57:02
Liran Tal (lirantal.com) from Snyk joins us to dive deep into writing secure TypeScript applications. What's different compared to vanilla JavaScript security? Will schema validators fix all our woes? Can't we let LLMs find and fix security vulnerabilities? Liran educates us about the pitfalls and risks with misplacing trust in TypeScript and LLMs and what we can do to write more secure code.
Chapters
(00:00) - Introducing Liran Tal
(02:56) - What's Special About TypeScript Security vs. JavaScript Security?
(04:23) - Misplacing Trust in Types
(05:49) - Practical Examples of TypeScript Security Issues
(08:43) - Why Does TypeScript Security Matter?
(10:23) - TypeScript is Not a Security Tool
(11:14) - How Does HTTP Parameter Pollution Work?
(12:45) - Ways to Mitigate Parameter Pollution
(15:44) - Schema Validators Won't Always Save You
(16:51) - How Prototype Pollution Works
(18:23) - Exploiting Schema Validators Through Prototype Pollution
(21:50) - Mitigating Prototype Pollution Risks
(25:21) - Consequences of Prototype Pollution
(27:23) - Ways to Safely Merge Objects
(30:03) - How Can TypeScript Developers Improve Their Security Posture?
(33:17) - How Do LLMs Impact Secure Coding?
(39:11) - Misplacing Trust in AI-Generated Code
(41:10) - Can LLMs Review and Fix Secure Code?
(45:57) - So We're All Doomed, Right?
(48:31) - Bonus: Game Development as a Teaching Tool
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.
Deno Fresh 2.0 Alpha, a BigInt Trick, and Learn TS in One Hour | News | Ep 28
29 Jul 2025
00:32:57
News of the week of July 21, 2025: Deno Fresh 2.0 is in alpha, TS 5.9 RC has some small changes, and beware the latest eslint-config-prettier supply chain attack. From the community: learn TypeScript for free in an hour, master generics through Soduku, run TS in the browser without a build step, and a library for modern TS dependency injection.
Chapters
(00:00) - Introduction and Personal News
(07:14) - News: Try Out the Deno Fresh 2.0 Alpha
(08:32) - News: TypeScript 5.9 RC Includes Some Small Fixes
(09:22) - News: TSGo Adds @satisfies Support for JSDoc
Electrobun aims to be a complete solution-in-a-box for building, updating, and shipping ultra fast, tiny, and cross-platform desktop applications written in Typescript. Under the hood it uses bun to execute the main process and to bundle webview typescript, and has native bindings written in zig.
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.
Nuxt 4.0, Bun's Smarter Types, and Testing Type Completions | News | Ep 27
22 Jul 2025
00:38:21
News of the week of July 14, 2025: Nuxt 4.0 is released along with an acquisition by Vercel, TSGO ships go-to-type definition support, and Bun ships smarter types. From the community: test type completions and benchmark instantiations with a testing package from Arktype, treating types as values with type-level maps, and dive a bit deeper into how type inference works.
Chapters
(00:00) - Introduction and Personal News
(06:02) - News: Nuxt 4.0 Release and NuxtLabs Joins Vercel
(09:57) - News: TSGO Adds Go-to-type Definition Support
(10:33) - News: Node 24.4.1 Security Patches
(12:12) - News: Bun 1.2.19 Ships Smarter Types
(13:21) - News: SvelteKit Now Supports Vite 7 and Rolldown
(13:52) - Community Highlight: oxlint + tsgolint = no slowdown!
(16:01) - Community Highlight: Type-safe Event Emitters by Artem
(17:13) - Community Highlight: Understanding TypeScript's Type Inference by SharpCoderBlog
(17:46) - Community Highlight: Testing Type Completions in TypeScript by Arktype
(19:17) - Community Highlight: Type-safe Persistence and Auto-theming in Svelte 5 by Puru Vijay
(19:59) - Community Highlight: Your GPU is a JavaScript Runtime by Iwo Plaza
(20:54) - Community Highlight: DHH Hates TypeScript
(22:15) - Community Highlight: Node and Deno Permissions Discussion by Dr. Axel
(25:29) - Community Highlight: Treating Types as Values with Type-level Maps by Gregros
(27:08) - Community Highlight: Return Types on Functions, Yay or Nay? by Kyle Shevlin
(28:15) - Community Highlight: Jake and Josh Interview on Software Engineering Daily Podcast
(28:34) - Cool Link: Dokploy is an OSS Alternative to Vercel, Netlify, and Heroku
(30:07) - Cool Link: Turning a Toy Into a Cyberdeck by Attoparsec
(30:52) - Cool Link: What's New in Vite by Evan You
(31:38) - Cool Link: Add Windows to Your App with winbox.js
(33:21) - Cool Link: Marginal Utility of Money by The Happy Philosopher
(37:42) - Post-credits Banter
PersonalNews
Sorry for the delay, Kamran just got back from vacation!
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.
TypeScript 5.9 Beta, Redonkulous Linting, and a Community Enum Syntax Proposal | News | Ep 26
15 Jul 2025
00:41:48
News of the week of July 7, 2025: We dive into the TypeScript 5.9 beta, an experimental Go linter for TS/JS, plus make sure you upgrade your Node.js versions! From the community: a new enum syntax proposal in case JS doesn't get native enums, TSL brings faster type-aware linting, and trashh_dev asks TypeScript: WTF?
Chapters
(00:00) - Introduction and Personal News
(07:10) - News: TypeScript 5.9 Beta
(19:42) - News: tsgolint, an Experimental JS/TS Native Linter
(21:56) - PSA: Upgrade Your Node.js 20.x, 22.x, and 24.x Installations
(22:46) - Community Highlight: TSL, a New Type-aware Linter
(25:00) - Community Highlight: New typescript-eslint Homepage Preview
(26:04) - Community Highlight: New Enum Syntax Proposal by Naman
(29:53) - Community Highlight: WTF TypeScript by trashh_dev
(31:27) - Community Highlight: Migrating MorphKit to NativeScript with LLMs
(33:47) - Community Highlight: ariadne-ts Brings Rust-style Diagnostic Messages to TS
(35:20) - Cool Link: Get Current Weather in Your Terminal
(36:12) - Cool Link: JSON Repair
(37:09) - Cool Link: aws/jsii Lets You Consume TS Libs from Python, Java, and C#
(39:38) - Cool Link: Check Road Conditions in Colorado with cotrip.org
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.
Deno 2.4 Bweets, Next.js Vuln Alert, Modern Node, and Typed Mongo | News | Ep 25
09 Jul 2025
00:40:31
News of the week of June 30, 2025, Deno Bundle is Back in Black in 2.4! We coin the term "Bweet", Deno also gets some non-standard import attributes for text and bytes, OTEL is now stable in Deno, and Next.js has a DoS vulnerability. From the community: we chat about modern Node.js patterns for 2025, NDC Oslo talks are rolling in on YouTube, and strongly type your MongoDB collections!
“The largest change I made to Node.js was splitting up the documentation into multiple files and pages, prior to this change, all the documentation had been on a single large page only.”
“TIL: Using `tsc --traceResolution` is very handy to get information about why the heck TypeScript is raising an error about the file that should not be part of the library, but it is included during the type check 😅”
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.
ECMAScript 2025 is Ratified, Vite 7, and 6 Advanced TS Tricks | News | Ep 24
01 Jul 2025
00:35:22
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) - Community Highlight: TypeScript Stuff I Wish I Knew Earlier
(19:52) - Community Highlight: zap-socket Offers a TypeScript-first WebSocket API
(20:42) - Community Highlight: Dr. Axel Shares Tips for Making Regular Expressions Better in JS
(22:01) - Community Highlight: Functional Programming Examples in TS
(22:50) - Community Highlight: Exhaustiveness Checking with never
(24:12) - Community Highlight: Deno Adding Support for Import Type Text and Bytes
(24:39) - Community Highlight: Importing JSON as const
(26:37) - Community Highlight: Branded Types Example with ArkType
(27:21) - Cool API: Promise.try Nuances Erik Realized After the Fact
(29:48) - Cool Watch: Mitchell Hashimoto's Talk on Testing
(30:44) - Cool Listen: Jake Archibald on Why We Don't Have HTML Imports
(31:25) - Cool Link: PNG 3.0 Spec
(32:41) - Cool Link: Invite an Eagle to Your Zoom Meeting
(33:41) - Cool Read: Node.js Celebrates Pride Month
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.
New Biome, Mocha, Jest, and k6 Releases All Kissed by TypeScript | News | Ep 23
24 Jun 2025
00:39:52
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 k6 Celebrates 1.0 Release with TS Support
(13:30) - News: WebGPU is (Finally) Coming to All Major Browsers
(14:36) - News: Astro 5.9 Adds Support for Content Security Policy
(15:47) - PSA: Deno's Homebrew Release is Behind Other Versions
(16:34) - Community Highlight: Bridging ESM and CommonJS by Joyee Cheung
(18:16) - Community Highlight: How Queues Work in TypeScript
(19:00) - Community Highlight: Dr. Axel's Corner
(21:11) - Community Highlight: Better Import Maps from Shopify Engineering
(24:32) - Community Highlight: VoidZero Discusses Vite+ Plans
(28:22) - Community Highlight: TypeScript Native Port Speeds Up Slack's CI Builds
(29:09) - Community Highlight: TypeGPU Lets You Write WGPU Code in a Type-safe Way
(33:21) - Community Highlight: Remembering Mikael Rogers
(35:08) - Cool API: Promise.try
(36:52) - Cool Read: The Dying Art We All Depend On by Raptitude
(38:16) - Cool Watch: The Story of Rollup with Rich Harris
We’re heartbroken by the loss of Mikeal Rogers, a key figure in the Node.js ecosystem and a force behind what makes this community what it is. To help preserve his legacy, we’ve opened a GitHub repo for stories, photos, and memories: github.com/nodejs/mikeal
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.
Strip Your Own Types, New Rust-based Linter, and #ROLP is Trending | News | Ep 22
17 Jun 2025
00:38:26
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 for TS
(14:37) - News: Go 1.25 Promises Better GC Performance
(16:01) - News: Apple Announces Safari 26 Enhancements at WWDC
(18:52) - Community Highlight: Liran Tal's TypeScript Security Talk
(21:16) - Community Highlight: justin, a JIT Schema Validation Library by cinny.bun.how
(24:13) - Community Highlight: React Final Form Migrates to TS
(26:32) - Community Highlight: Flint, Josh Goldberg's New Type-aware Linting Project
(27:33) - Community Highlight: New Edition of the 'Exploring JavaScript' Book by Dr. Axel
(28:23) - Community Highlight: Rule of Least Power by Jason Yu
(29:34) - Cool Tool: Type Buddy Helps Translate Complex Typings
(30:58) - Cool Tool: node-email-verifier Library for Verifying Emails
(31:39) - Cool Listen: Bootstrapped Founder and Nathan Barry Podcasts
(32:55) - Cool Listen: From Microsoft to Full-time OSS Maintainer
(33:47) - Cool Listen: Alex Lichter on Vite, Rolldown, and oxc
(34:21) - Cool Listen: Nic Barker's Flexbox-style Layout Library Written in C
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.
Type Stripping is Stable, Type-safe Music, and Rust Engines Enter the Chat | News | Ep 44
19 Nov 2025
00:43:11
News for the week of November 10, 2025: Node 25 marks type stripping as stable, the downlow on some new Rust-based JavaScript and TypeScript engines, and a new browser for keyboard lovers. From the community: visualize how types work, using .NET Aspire without .NET, type-safe SQL, and an experimental Rust-based type checker.
Sponsored by Excalibur.js Excalibur.js is the friendly TypeScript 2D game engine for the web. 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, tile maps, particles, and more.
TSC Init New Defaults, Who Dis? Plus Vite 7, Babel 8 Betas | News | Ep 21
10 Jun 2025
00:30:49
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
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.
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 Get Started with ts-migrating?
(12:06) - Tackling the Migration in Small Chunks
(13:12) - How Does This Compare to Using Folder-based TSConfig?
(14:12) - What About ts-expect-error and ts-ignore Directives?
(16:25) - What About Multiple TSConfigs?
(17:34) - Are There Any Unsupported Compiler Options?
(19:28) - How Do You Build a TypeScript LSP Plugin?
(22:18) - How Will This Work with TS 7 (Go Native Port)?
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.
Angular Turns 20, Remix Revived, and Hurricane André Hits Firefox | News | Ep 20
03 Jun 2025
00:37:42
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 Talk
(18:27) - Community Highlight: sirhamy on the Cost of Throwing Errors in JS/TS
(19:16) - Community Library Watch: ts-migrating for Migrating Your TSConfig Incrementally
(20:26) - Community Library Watch: jsonv-ts, a JSON Schema Validator
(21:08) - Community Library Watch: tsargparse, a Type-safe CLI Parser
(21:28) - Community Highlight: TypeScripting the Technical Interview by Richard Tower
(22:02) - Community Highlight: CanIUse... for Angular by angular.courses
(22:25) - Community Highlight: Type-safe Internationalization by Web Dev Simplified
(23:13) - Community Highlight: Deno Might Have the Features You're Missing
(23:41) - Community Highlight: skeary.me Wrote a Programming Language... in TypeScript Types
(24:30) - Discuss: Competition Between Node.js, Deno, and Bun
(29:51) - Cool Links: David Macaulay is a National Treasure
(32:05) - Cool Links: Progressive JSON by Dan Abramov
(33:24) - Cool Stuff: Curated List of Data Grids by Ian Langworth
(33:54) - Cool Stuff: Hack Into React Internals with bippy
(34:43) - Cool Stuff: Wookash Interview with Inigo Quilez
(35:29) - Cool Stuff: Building a Software Rasterizer with Sebastian Lague
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.
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.
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.
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) - API: What's Really an Error with Error.isError
(18:48) - API: Parse Routes with URLPattern API
(20:51) - API: Sanitize Input with RegExp.escape
(21:39) - API: RegExp Modifiers in Sub-expressions
(23:05) - API: RegExp Duplicate Named Capture Groups
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.
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.
Deno 2.3 Ships Tons of QOL Improvements | News | Ep 16
06 May 2025
00:32:54
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: Pinterest Migrated 3.7MM Lines of Flow Code to TypeScript
(21:59) - Dr. Axel's Corner: Converting Values to Strings
(23:14) - Community Highlights: Build Your Own Build Tools with Immaculata
(24:52) - Community Highlights: Type-safe Route Management in Vue
(25:56) - Cool Stuff: Hate git? Try Sapling Instead
(27:45) - Cool Stuff: Nerd Out with HVAC Ceiling Cassettes
(30:00) - Cool Stuff: Build Custom Fonts with FontForge
(30:28) - Cool Stuff: Quantum Computing Explainer by 3Blue1Brown
(31:05) - Cool Stuff: "Ed", an Early Text Editor
(31:25) - Cool Stuff: 4000+ Icons for Your Game at Game-Icons.net
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.
Building Games in TypeScript | Erik Onarheim | Ep 15B
01 May 2025
00:52:37
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 Management in Excalibur
(12:13) - Audio Management with Web Audio API
(14:57) - Integrations with Art and Level Design Tools
(17:07) - Hot Reloading and Game State Management
(19:15) - Loading and Performance Optimizations
(22:15) - Custom Shader Support in Excalibur
(26:30) - Excalibur's Origin Story
(29:03) - Why Is It Called Excalibur?
(30:00) - Building a Friendly Game Development Community
(31:33) - Getting Started with Excalibur
(33:42) - Publishing Games with Excalibur
(35:42) - Who is Excalibur Designed For?
(37:41) - Advice on Getting Into Game Development
(40:51) - The Future of Excalibur
(47:35) - Secrets of the Handbook: Declaration Merging
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.
(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) - Cool Stuff: GitHub's Project Padawan
(22:56) - Cool Stuff: Dan Abramov on React Server Components
(24:16) - Cool Stuff: Track WebGL Memory Usage
(25:25) - Cool Stuff: GameStats by Trezzy
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.
What's Coming in TypeScript 6/7 | Daniel Rosenwasser | Jake Bailey | Ep 43B
13 Nov 2025
01:09:01
Daniel Rosenwasser and Jake Bailey join the two fools to talk about what's coming soon in TypeScript 6 and 7. What changes should developers expect? What might the new compiler API look like? How is the Go port progressing? We talk about smarter (and stricter) defaults, ES targets, module resolution, and why it's hard to emulate JavaScript floating point semantics in Go.
Chapters
(00:00) - Introducing Daniel and Jake
(02:56) - What's Coming in TypeScript 6.0
(05:31) - TypeScript 6: ES2024 Targeted by Default
(10:05) - Aside: How the Team Reconciles the Spec in TypeScript 7
(12:05) - TypeScript 6: Pay Attention to Your Target Config
(13:49) - TypeScript 6: How Targeting Works with Build Tools
(15:21) - TypeScript 6: Deprecating ES5 as an Output Target
(16:26) - Aside: Handling Modern Module Resolution
(21:25) - TypeScript 6: DOM Typings Are Smarter
(26:02) - TypeScript 6: No Compiler API Changes
(27:56) - TypeScript 7: Transitioning to a New Compiler API
(29:33) - TypeScript 7: You Can Start Using It Now
(32:33) - TypeScript 7: How Fast Is It, Really?
(36:54) - TypeScript 7: Collaboration with Golang Community
(39:35) - Aside: Compiling to WASM?
(46:12) - TypeScript 7: What Was the Go/No-Go Threshold?
(47:40) - TypeScript 7: Performance Profiling with pprof
(51:21) - TypeScript 7: Embedding Into Web Apps
(57:47) - Future of TypeScript: Compiler API, AI-assisted Coding
Sponsored by Excalibur.js Excalibur.js is the friendly TypeScript 2D game engine for the web. 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, tile maps, particles, and more.
Are We Sick of TypeScript.fm Yet? | Retrospective | Ep 14B
24 Apr 2025
00:58:53
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 a Newsletter?
(29:28) How Are the Numbers Doing So Far?
(36:26) How Do We Encourage Feedback or Engagement?
(37:34) What Should We Stop Doing?
(38:49) How Do We Want to Handle Guests?
(40:28) How Do We Make It Easier to Aggregate News?
(43:23) Should We Change Up the Format?
(49:47) How Do We Want to Handle Mid-rolls?
(51:03) How Do We Improve Our Show Notes and Accessibility?
(52:34) Should We Update the Logo and Cover Art?
(53:22) What Has the Community Reception Been?
(56:55) Tell Us What You Think!
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.
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.
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 in Types?
(10:01) - "DOOM" Complete
(13:57) - How do you run DOOM in TS?
(17:36) - Debugging an Emulator in TS Types
(19:22) - How does DOOM work?
(20:45) - Using Web Assembly
(22:49) - Understanding WebAssembly and TypeScript Integration
(24:59) - The Concept of Abstraction in Programming
(27:02) - Challenges in Implementing WebAssembly from the Spec
(28:59) - Ambiguities in Specifications and Their Impact
(30:40) - Debugging Techniques and Error Handling
(32:24) - Innovative Use of Overflow in Game Development
(35:40) - Insights Gained from TypeScript During the Project
(38:24) - The Complexity of TypeScript Types
(43:08) - Time Travel Debugging and Memory Management
(45:00) - The Most Challenging Aspects of the Project
(48:32) - Reactions to DOOM
(53:10) - The Dawn of TypeScript Go
(01:02:14) - Lessons Learned and Future Directions
(01:08:37) - Dimitri Says Goodbye!
(01:09:50) - News for the Week of April 7th
(01:14:42) - Community Posts
(01:17:39) - Secret of the Handbook
(01:19:07) - Cool Stuff from Erik
(01:19:51) - Debugging and Performance Optimization Techniques
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.
Enums in JS, Deno v Oracle Cage Match, and Parcel Gets React Server Components | Grab Bag | Ep 12
08 Apr 2025
00:31:21
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
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)
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.
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)
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.
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.
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.
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.
(01:05:25) - Cool Stuff: Erik's spreads his stink with
ORMed and Dangerous | Ep 7
03 Mar 2025
01:07:36
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.
Sponsored by Excalibur.js Excalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScrip...
The Sheer Joy of Publishing to JSR | Ep 6
24 Feb 2025
01:07:04
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
Nuxt Image Loves TypeScript, Node 24 Goes LTS, and a Satisfying Use of satisfies | News | Ep 43
12 Nov 2025
00:49:13
News for the week of November 3, 2025: Node 24 promoted to LTS, Nuxt Image V2 is full of TS goodies, and Anders is humbled by TypeScript's rise. From the community: TypeScript is not a substitute for good engineering, why codemods are helpful, and examples of using the satisfies keyword.
Chapters
(00:00) - Welcome to the Show
(05:24) - Announcement: We're Now On YouTube!
(07:31) - News: TSGo is Working on LSP, JSDoc Improvements
(07:58) - News: Node 24 is Now the Active LTS Until April 2028
(08:44) - News: Anders' Take on the TypeScript Zeitgeist
Sponsored by Excalibur.js Excalibur.js is the friendly TypeScript 2D game engine for the web. 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, tile maps, particles, and more.
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
📌 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.
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.
“It offers a common TypeScript syntax for type construction, a runtime compiler for high-performance validation and type translation from one library to another.”
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.
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.
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
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
Jiti: A Node.js package for ESM and 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.