TypeScript.fm - The Friendly Show for TypeScript Developers

Kamran Ayub and Erik Onarheim
undefined
Nov 13, 2025 • 1h 9min

What's Coming in TypeScript 6/7 | Daniel Rosenwasser | Jake Bailey | Ep 43B

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 (01:07:10) - Takeaways and Goodbyes ResourcesTypeScript HomepageTypeScript Native Go PortWhere to Follow the TeamJake on BlueSkyDaniel on BlueSkySponsored by Excalibur.jsExcalibur.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.Homepage and Docs: https://excaliburjs.comMake Your First Game in 10 MinutesJoin the Discord: https://discord.gg/9UemP985UyMusicSeahorse Dreams by Kubbi (Spotify)
undefined
Nov 12, 2025 • 49min

Nuxt Image Loves TypeScript, Node 24 Goes LTS, and a Satisfying Use of satisfies | News | Ep 43

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 (10:07) - News: Nuxt Image V2 Upgrades TS Support (10:44) - PSA: React Native CLI Allowed Remote Code Execution (12:31) - Community Highlights: Why Everyone is Using TypeScript (14:55) - Community Highlight: Why TypeScript Won't Save You (20:36) - Community Highlight: Detecting Flash Floods with TypeScript (22:02) - Community Highlight: Node Userland Migrations Deserves Your GitHub Star (24:37) - Community Highlight: Sortable Trees by Marc Dahmen (26:13) - Community Highlight: Type Stripping is Going to Be Unflagged Soon (26:59) - Community Highlight: Immutable By Default by Marek Honzal (30:59) - Library Watch: Valdi is Snap's New Cross-platform UI Framework (33:04) - Library Watch: Dependency Injection with Izumi Chibi (35:40) - Library Watch: Framework Agnostic Design Tokens with Tokiforge (38:22) - Library Watch: Mastro, the No-BS Web Framework (40:43) - Cool Watch: CSS Battles by SyntaxFM (41:25) - Cool Watch: Beehive Desk (42:17) - Cool Watch: Svelte's New MCP Server (43:28) - The Minnesota Long Goodbye NewsHousekeeping: Follow and subscribe to TypeScript.fm on YouTube/Music!Node.js PSA: 24.x Release Line is now the Active LTSGitHub: TypeScript’s rise in the AI era: Insights from Lead Architect, Anders HejlsbergNuxt Image v2 is full of TypeScript goodiesPSA: Flaw in React Native CLI opens dev servers to attacksFrom the CommunityCodecademy: TypeScript is the Most-Used Language on GitHub — Here’s WhyChristian Ekrem: Why TypeScript Won't Save YouDavid A. Lee: What do flash floods and Typescript have in common?Node.js: What is Userland Migrations?Marc Dahmen: Building Sortable Tree — A Lightweight Drag & Drop Tree in Vanilla TypeScriptMarco Ippolito: Type Stripping is Going to Be Unflagged Soon!Marek Honzal: Immutable by Default: Practical TypeScript PatternsSnap: Valdi, a TypeScript-based cross-platform UI frameworkLibrary Watch: Izumi Chibi, a port of Scala's DIStage phased dependency injectionLibrary Watch: Tokiforge, a modern framework-agnostic design token and theming engineLibrary Watch: Mastro.{js,ts}, the simplest web framework and site generatorCool LinksErik's Buffalo Chicken Dip RecipeSyntax.fm CSS battlesThe Hive: Building a beehive simulation deskThis Week in Svelte, Ep. 121 — Changelog, Svelte MCP ServerSponsored by Excalibur.jsExcalibur.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.Homepage and Docs: https://excaliburjs.comMake Your First Game in 10 MinutesJoin the Discord: https://discord.gg/9UemP985UyMusicSeahorse Dreams by Kubbi (Spotify)
undefined
18 snips
Nov 4, 2025 • 54min

TypeScript Won, Type-safe Regex, and Import from... Python? | News | Ep 42

TypeScript is now GitHub's most popular language—an exciting milestone for developers! Discover how ArkRegex makes regex type-safe, transforming your coding experience. Plus, learn about Vercel's new support for the Bun runtime, enhancing app deployment. The hosts dive into AnalogJS, a meta-framework for Angular, and uncover Rendu, a JS hypertext preprocessor. Find out how to tackle npm security with Safe Chain and explore the capabilities of the polyglot runtime that allows TypeScript to import Python. Don't miss the tips for useful CLI tools!
undefined
Oct 29, 2025 • 41min

Deno Deploy Makeover, Vitest 4, Nuxt 4.2, and Next.js 16 (Oh, and React Native 0.82) | News | Ep 41

News for the week of October 20, 2025: Deno Deploy revamp, Vitest 4, Nuxt 4.2, and Next.js 16, all in a single week. From the community: 4 weird ways to cast in TypeScript (+2 to Arcana rolls), type-safe API clients, and the hottest JS REPL around.Chapters(00:00) - Welcome to the Show (05:04) - News: Deno Deployed a Brand Spankin' New Deno Deploy (11:44) - News: Vitest 4 is Out and Browser Mode is Stable (14:54) - News: Nuxt 4.2 Brings Integrated TypeScript DX Plugins (18:55) - News: Next.js 16 Sets TurboPack As the Default (21:59) - News: React Native 0.82, New Architecture, Who Dis? (25:26) - News: Node.js LTS 22 Has Better HTTP Proxy Handling (27:05) - News: AshTypeScript 0.6.0 (28:00) - News: Heroic PR to DefinitelyTyped Updates 1,839 Files (29:23) - PSA: Critical Account Takeover Vulnerability in Better-Auth (32:37) - Community Highlight: Maybe Don't Use Top-level Await Yet (33:36) - Community Highlight: You Don't Need the Dependency (33:59) - Community Highlight: react-window Fixes a TypeScript Issue for React 18 (34:29) - Community Highlight: 4 Unconventional Ways to Cast in TypeScript (35:15) - Community Highlight: How to Create Type-safe API Clients (35:50) - Community Highlight: Build a TypeScript MCP Server with Auth, DB, and Billing (36:41) - Community Highlight: A JS REPL... with Types! (37:49) - Community Highlight: Transforming Your OLTP ORM into a Type-safe OLTP Data Model (38:42) - Library Watch: FTA, Fast TypeScript Analyzer (39:09) - Community Highlight: Bleet of the Week NewsDeno: My highlights from the new Deno DeployVitest 4.0 is out!Nuxt 4.2 is out!Next.js 16 is out!React Native 0.82 - A New Era (h/t TheNewStack)Node 22.21 LTS features native HTTP proxy supportAshTypeScript 0.6.0 (bsky summary)A heroic update to DefinitelyTyped to prepare for TypeScript 6PSA: Critical Account Takeover in better-authFrom the CommunityJake Archibald: PSA, don’t use top-level await right now in browsersBrian Muenzenmeyer: You Don’t Need a Dependency talk from JSConf is now liveBrian Vaughn: react-window got a small TS compatibility fix for React 18-18.2Wolf Girl: 4 Unconventional Ways to Cast In TypeScriptMatteo Collina: From curl Commands to Type-Safe API Clients: A Complete Workflow Shola Jegede: How to Build a To-Do List MCP Server Using TypeScript – with Auth, Database, and Billing Ge Gao: JS REPL with Types! (h/t Reddit)Moosestack (FiveOneFour): Just OLAP It: Transform Your OLTP ORM into a Type-Safe OLAP Data ModelLibrary Watch: FTA Fast TypeScript AnalyzerBleet of the Week: “Anyone who writes bare JavaScript in 2025… is a maniac you shouldn’t trust”Sponsored by Excalibur.jsExcalibur.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.Homepage and Docs: https://excaliburjs.comMake Your First Game in 10 MinutesJoin the Discord: https://discord.gg/9UemP985UyMusicSeahorse Dreams by Kubbi (Spotify)
undefined
Oct 21, 2025 • 58min

15 npm Deps to Replace (Axe 'em), Remix Remixed (Again), and TS in Space (Not Really) | News | Ep 40

News of the week of October 13, 2025: Node 25 brings V8 perf update, Remix reinvents itself once again, TypeScript in your DB, and why Map upsertions will be celebrated by TS devs. From the community: 15 npm packages you no longer need, Deno's side projects, Snoop L. O. Double G., and how to write architecture assertions. Chapters(00:00) - Welcome to the Show (04:50) - News: Happy National AWS Outage Day! (06:00) - News: Remix Has Remixed Itself Once Again Into V3 (08:59) - News: TypeScript in Space! ... TimeDB (12:06) - News: Node 25 Brings New V8 Updates and Network Permissions (14:30) - News: Lit HTML Joins Open JS Foundation (16:05) - News: Announcing Vite+ Blog Post (20:44) - News: ECMAScript Upsert Proposal and ESBuild Can Now Import Raw Bytes (22:57) - Community Highlight: 15 Recent Node Features That Replace npm Packages (31:07) - Community Highlight: Deno's Other Open Source Projects (33:29) - Library Watch: SnoopLogg for CLI Logging Across Runtimes (34:41) - Library Watch: ArchUnitTS, an Architecture Testing Library (37:40) - Community Highlight: oxfmt is 2-3X Faster Than Biome and 45X Faster Than Prettier (38:46) - Discussion: Got the Nx Blues? Try Moonrepo (40:48) - Community Highlight: Enforcing Strict Object Properties in TypeScript (42:18) - Community Highlight: Watch Web Dev Simplified Struggle Through Type Challenges (43:10) - Community Highlight: TypeScript's Coding Guidelines Are Not For Us (44:37) - Cool Watches: Rolldown Internals and Beyond Signals (45:21) - Cool Tip: Don't Forget About AbortController (46:01) - Cool Tool: SpriteFusion Tile Map Editor (46:47) - Cool Product: Stylish Solar Shingles (49:15) - The Minnesota Long Goodbye NewsHappy National AWS Outage Day!Remix: Remix Jam 2025 (4 hours) announced V3, built on Preact (3min and 20min summaries, plus reddit discussion)SpacetimeDB 1.6 adds beta support for TS modulesNode 25 is out (bsky summary by Rafael)Lit joins Open JS FoundationVoidZero: New blog post with details around Vite+ECMAScript News: Map Upsert proposal heralded by TS devs (h/t Rob Palmer)  ECMAScript News: Import bytes lands in ESBuild (+ Deno, Bun, and webpack) (h/t Rob Palmer)From the CommunityNodeSource: 15 Recent Node.js Features that Replace Popular npm PackagesDeno: Deno's Other Open Source ProjectsLibrary Watch: SnoopLogg v6.0.4, a CLI logging libraryLibrary Watch: LukasNiessen/ArchUnitTS, an architecture testing libraryEvan You: oxfmt is 2-3X faster than Biome and 45X faster than PrettierReddit: What Happened to Nx? and an alternative hidden gem, MoonrepoTypedRocks: This New TypeScript Utility Type Prevents Hard-To-Find Bugs!WebDevSimplified: Will I Survive These Advanced TypeScript Challenges?Cool StuffCool Watch: Alexander Lichter on Rolldown: How Vite bundles at the speed of RustCool Watch: Beyond Signals by Ryan Carniato (Solid.js creator)Cool Tip: Stefan reminds us that AbortController is a thingCool Product: SunStyle solar shingles actually look niceSponsored by Excalibur.jsExcalibur.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.Homepage and Docs: https://excaliburjs.comMake Your First Game in 10 MinutesJoin the Discord: https://discord.gg/9UemP985UyMusicSeahorse Dreams by Kubbi (Spotify)
undefined
Oct 14, 2025 • 48min

ReactConf 2025 Highlights, Bun 1.3's Security Scanner API, and Malware-as-a-Service | News | Ep 39

News of the week of October 6, 2025: Highlights from ReactConf 2025, Bun 1.3's (delicious) security lede got buried, and how to buy lifetime access to someone's webcam for $500. From the community: CSS is cool again, Immer.js perf improvements, and why typed linting is blocked by ESLint core.Chapters(00:00) - Welcome to the Show (05:52) - News: ReactConf 2025 Highlights (15:53) - News: Bun 1.3 Highlights (20:59) - News: VS 2026 Now Includes TypeScript 7 Native Preview (21:33) - News: TC39 Async Context (22:51) - News: TC39 Module Declarations (24:40) - News: TC39 Defer Import Evaluation Moves to Stage 3 (25:11) - News: Vite+ Announcement (27:43) - PSA: StealIt Malware Uses Node SEAs to Bypass Scanners (30:26) - Community Highlight: Dr. Axel's Schools Us in CSS (32:07) - Community Highlight: Why Typed Linting is Blocked by ESLint Core (32:30) - Community Highlight: Immer.js Perf Improvements Landing Soon (33:25) - Community Highlight: Unofficial 1Password TS Library (35:02) - Community Highlight: Joke of the Week (35:21) - Cool Link: Kagi, the Premium Search Engine (39:19) - Cool Videos: Mojo, Simulating Smoke, and How UTF-8 Works (40:54) - Cool Link: Twoslash Provides Rich Type Metadata for Docs (41:51) - The Minnesota Long Goodbye NewsReactConf: React 19.2 droppedReactConf: React Compiler 1.0 dropped (reminded Erik of this old ditty)ReactConf: React FoundationBun 1.3 VS 2026 has TS 7 previewTC39: Module Declarations TC39: Defer Import Eval advances to stage 3 Vite+ unifies enterprise JS toolingPSA: Stealit Malware Abuses Node.js Single Executable Feature via Game and VPN InstallersFrom the CommunityDr. Axel: CSS: Learn the essentials quicklyJosh Goldberg: Why typed linting optimization blocked by ESLint core Library Watch: Immer.js perf improvements on the horizonBlog Post: Stopping Bad Actors: Inside 1Password’s Security Model Cool StuffCool Product: Kagi Search, the premium search engine you pay forCool Video: GPU Programming and Language Design with Chris Lattner Cool Video: Coding Adventure: Simulating SmokeCool Video: UTF-8, Explained SimplyCool Library: Twoslash, generate TS metadata for interactive docs snippetsCool Read: Chris Coyier’s CSS starterCool Read: Innovate, Leverage, Commoditize (ILC model) strategic gameplaySponsored by Excalibur.jsExcalibur.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.MusicSeahorse Dreams by Kubbi (Spotify)
undefined
Oct 9, 2025 • 48min

Deno Might be npm's Saving Throw, Temporal Dead Zones, and SSR Under .NET?! | News | Ep 38

Dive into the intriguing world of Deno as a potential solution to npm's security challenges. Discover how a new approach with 1Password can help protect local development secrets. Kamran shares his exciting journey of getting React Server-Side Rendering to work with .NET, while discussions on the practical implications of TypeScript's quirks and supply chain security keep things engaging. Plus, learn about recent advancements in tools like TSGO and Astro, making waves in the development community.
undefined
7 snips
Sep 30, 2025 • 59min

New ECMAScript Proposals, Cap'n Web, and TS on DOS/PlayStation | News | Ep 37

Discover the latest updates in TypeScript with the introduction of a new default safety feature in version 6.0. Explore exciting ECMAScript proposals, including one for non-extensible private fields and the performance-enhancing Array.prototype.pushAll. Learn about Cap'n Web, Cloudflare's innovative RPC system, and the intriguing idea of running TypeScript on MS-DOS. Additionally, check out discussions on using JavaScript on PlayStation and the community's thoughts on effect-ts, weighing its complexities against benefits.
undefined
Sep 23, 2025 • 52min

Let the Spicy Takes Flow: Shai-Hulud Hits npm, Motion's TS Exodus | News | Ep 36

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 (12:31) - News: WebAssembly 3 Spec is Done (14:05) - News: Ash Framework Announces AshTypeScript (15:08) - News: ts-to-zod Now Supports Zod 4 (15:36) - News: Typebox 1.0 Release (17:26) - Community Highlight: SquiggleConf 2025 Happened! (20:51) - Community Highlight: Type Branding in TypeScript by AzraelSec (21:35) - Community Highlight: TypeScript Tuple Length Hacks (22:24) - Community Highlight: TypeScript Developer Roadmap (23:15) - Community Highlight: GitHub Actions Can Now Run Pure TypeScript (23:59) - Community Highlight: Why @ts-ignore is Almost Always the Worst Option (24:55) - Community Highlight: Using Node's Test Runner with TS and React (26:05) - Library Watch: Combinatorial CLI Options Parsing (27:53) - Library Watch: Valibot Helper Utilities (29:03) - Tool Watch: Local-first Development with FullStacked (31:15) - Tool Watch: Retro 3D Engine with TS Scripting API (32:09) - Discuss: Moving Off of TypeScript by Motion (41:34) - Funny Read: Is Your Son a Computer Hacker? (43:03) - Cool Library: Render a DOM Element as an Image (45:04) - Cool Tool: Pages CMS Runs on Top of Your Git Repo (47:08) - The Minnesota Long Goodbye NewsSocket.dev covers Shai-Hulud: Updated and Ongoing Supply Chain Attack Targets CrowdStrike npm Packages Popular Tinycolor npm Package Compromised in Supply Chain Attack What the npm package attacks mean for us developersWasm 3.0 spec completedAnnouncing AshTypeScript, part of the Ash Framework (Phoenix/Elixir)ts-to-zod now supports Zod 4.0Typebox 1.0 releaseFrom the CommunitySquiggleConf Happened! Check out the streams (separate videos to come)Day 1: https://www.youtube.com/live/C_ePbVZqXrw?si=MpRiE8n4xLNpfbV0Day 2: https://www.youtube.com/live/vSXLDvvIpYE?si=cWKQTjZCx91HWJN9Federico (AzraelSec): Type Branding in Typescript Renato: TypeScript Tuple Length Evan Hahn: @ts-ignore is almost always the worst optionRoadmap.sh: Everything You Need to Learn to be a TS DevGitHub Actions can now run pure TS on Node 22/24 runners without a build step (h/t Brian Muenzenmeyer)Mathew Brown: Using Node's Test Runner with Typescript & React Library Watch: Combinatorial CLI opt parsingLibrary Watch: Introducing: @traversable/valibot (h/t Andrew Jarret)Tool watch: FullStacked, a local-first app development environmentTool watch: Roguestrad, a Retro 3D Game engine forked from DOOM-3-BFG with TypeScript scripting supportCool StuffFunny Read: Is your son a computer hacker?Cool Lib: dom-to-image-more – render DOM elements as imagesCool Tool:  Pages CMS - Hassle-free CMS for static sites powered by Git Sponsored by Excalibur.jsExcalibur.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.MusicSeahorse Dreams by Kubbi (Spotify)
undefined
Sep 18, 2025 • 1h 10min

ArkType is TypeScript's 1:1 Validator | David Blass | Ep 35B

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.Chapters(00:00) - Introducing David Blass (02:39) - ArkType vs. Zod (04:28) - ArkType's Differences (06:21) - Defining ArkType Types (10:33) - Matching TypeScript's Syntax (14:24) - Detailed Editor-time Errors (17:14) - Type-level Testing with attest (18:26) - Runtime Error Checking (21:05) - Generating JIT-optimized Code (27:27) - Benchmarking ArkType's Performance (29:41) - Optimizing the Parser for ArkType Types (32:13) - Tips for Optimizing TypeScript Types (38:12) - Type Mapping API (40:20) - Set-based APIs (43:15) - Typing Array and Tuple Intersections (45:57) - ArkType's Internal Type System (49:01) - Serializing Types to JSON (50:09) - Porting Enhancements to TypeScript (51:55) - Compatibility with Standard Schema Spec (57:15) - Introspecting ArkType Types (01:00:10) - Use Cases for ArkType (01:03:34) - What's Next for ArkType? (01:05:59) - Getting Started with ArkType (01:07:56) - Where to Follow David ResourcesArkType.ioArkType DiscordArkType GitHub@ark/attest testing libraryWhere to Follow DavidDavid on BlueSkyArkType on BlueSkySponsored by Excalibur.jsExcalibur.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.MusicSeahorse Dreams by Kubbi (Spotify)

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app