Discover
TypeScript.fm - The Friendly Show for TypeScript Developers
TypeScript.fm - The Friendly Show for TypeScript Developers
Author: Kamran Ayub and Erik Onarheim
Subscribed: 13Played: 51Subscribe
Share
©️Caliburn Games
Description
The two TypeScript Fools, Kamran Ayub and Erik Onarheim, get together weekly to bring you news, community highlights, and deep dives into the TypeScript ecosystem. Stay up-to-date on what's happening and learn new things to make you a better TypeScript developer along the way!
55 Episodes
Reverse
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 CourseWatch 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.jsExcalibur.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.Homepage and Docs: https://excaliburjs.comMake Your First Game in 10 MinutesJoin the Discord: https://discord.gg/9UemP985UyChapters(00:00) - Welcome to the Show
(04:09) - Kamran's MCP in Practice Course is Now Live on Pluralsight
(08:35) - News: Anthropic Acquires the Bun JavaScript Runtime
(13:41) - News: Vite 8 Beta with Rolldown
(15:40) - News: tsdown 0.17 Release
(17:10) - News: oxlint Brings Type-aware Linting in Alpha
(17:50) - News: oxfmt Alpha is 30X Faster Than Prettier
(18:45) - News: Gird Your Loins for Upcoming Node.js Security Releases
(19:38) - News: React2Shell Remote Code Execution Exploit in RSC
(26:55) - News: React2Shell Causes Yet Another Cloudflare Outage
(28:16) - News: Santa's Elves Flood npm With Naughty "Gifts"
(30:10) - News: SVG Clickjacking Exploit Using Filters
(32:05) - Community Highlight: tRPC vs. oRPC for Your Next TypeScript Project?
(33:15) - Community Highlight: Testing Vue Composables in TypeScript by John Franey
(34:03) - Community Highlight: Formisch for React Quietly Released by Fabian Hillar
(34:53) - Community Highlight: Building a Dinosaur Runner Game in Deno
(36:19) - Community Highlight: Node Will Soon Support Project Root Import Paths
(37:51) - Community Highlight: TSConfig Grimoire by Bjorn Lu
(39:01) - Community Highlight: How is ESM vs. CJS Going? by Titus
(40:45) - Community Highlight: Next Astro Release Supports Vite Environments API
(41:18) - Bleet of the Week by Joke Bailey
(42:10) - Cool Read: Godot Shaders Bible by Fabrizio Espendola
(42:56) - Cool Watch: Cancellation Tokens by Stephen Toub
(43:44) - Cool Game: Classic Game Zork is Released as Open Source
(44:16) - Cool Tool: Helion, a Modern DOOM Engine
(45:18) - Cool Watch: Modern .NET Serialization Attacks by Hampton Paulk
(47:25) - Cool Reads: Architecture for Flow and Domain-driven Transformation
(48:40) - The Minnesota Long Goodbye
NewsBun: Bun is joining Anthropic ViteLand: Vite 8 Beta: The Rolldown-powered ViteViteLand: Announcing Oxlint Type-Aware Linting AlphaViteLand: The first Oxfmt alpha was releasedViteLand: tsdown got a new releaseNode.js PSA: Prepare for Monday, December 15, 2025 Security ReleasesCloudflare: Cloudflare outage on December 5, 2025Security: npm Sees Surge of Auto-Generated “elf-stats” Packages Published Every Two Minutes via (Sarah Gooding)Security: SVG Filters - Clickjacking 2.0 Ʊ lyra's epic blog React2Shell ResourcesReact2Shell Exploit: Critical Security Vulnerability in React Server ComponentsDeep Dive: https://react2shell.com/Next.js: Security Advisory: CVE-2025-66478Deno Blog: React Server Functions / Next.js Vulnerability: Deno Deploy users protected Explainer: this is the worst case scenario by LowLevelEdFrom the CommunityTemitope Oyedele: tRPC vs oRPC: Which is better for your next TypeScript project, and why?John Franey: How to test a Vue composable with TypeScript · JohnFraney.caFabian Hiller: Formisch for React just released (quietly) – the form library that powers SolidJS Deno: Build a browser game in Deno Hybrist: Node support for #/ wildcard (via Rob Palmer)Bjorn Lu: TSConfig Grimoire (via Rob Palmer)Wooorm: How is ESM from Common going?Astro: Next release of Astro will support Vite Environment APICool LinksCool Read: Godot Shaders Bible and Ghastly in Desmos by Fabrizio EspindolaCool Watch: Cancellation Tokens with Stephen ToubCool Game: Preserving code that shaped generations: Zork I, II, and III go Open Source Cool Tool: Helion Engine, a modern DOOM engine in C#Cool Watch: Modern .NET Serialization Attacks by Hampton PaulkCool Reads: Architecture for Flow and Domain-driven TransformationMusicSeahorse Dreams by Kubbi (Spotify)
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.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/9UemP985UyChapters(00:00) - Welcome to the Show
(05:21) - News: Progress on TypeScript 7 and Upcoming Deprecations
(15:24) - News: Advent of Code is Live for Holiday Coding
(17:07) - News: Svelte 5.44.0 Introduces hydratable API
(19:18) - News: Vite+ FAQ Answers Some Common Questions
(20:21) - News: Zed IDE Adds Better TS Error Messages
(22:01) - News: TypeScript ESLint Will Simplify Redundant Type Unions
(22:24) - Library Watch: Spikard, a Polyglot API Toolkit
(23:31) - Library Watch: Type-safe CLIs with Optique
(24:09) - Community Highlight: The Summer I Shipped Type Stripping by Marco Ippolito
(25:51) - Community Highlight: Building Strongly Typed CLI Applications by John Reilly
(27:10) - Community Highlight: Using Zod and TypeScript by Telerik
(27:45) - Community Highlight: Lowercase & Uppercase Union by TypedRocks
(28:32) - Community Highlight: Improving Bazel Type Checks with Isolated Declarations by Brad Zacher
(29:28) - Community Highlight: Data-oriented Modeling by Aapo Alasuutari
(32:01) - Community Highlight: Doom in TypeScript Types by Software Engineering Daily
(32:17) - Bleet of the Week
(32:45) - Cool Watch: Human-sized Lego Castle with 3D Printing
(33:42) - Cool Watch: Predators (2010)
(34:24) - Cool Watch: dotnetconf Talks
(37:20) - The Minnesota Long Goodbye
NewsTypeScript Blog: Progress on TypeScript 7Advent of Code is live!Svelte 5.44.0 introduces `hydratable` APIVite+: New FAQ Zed v0.214.0, now with better TS ErrorsTypeScript-ESLint 8.48.0 adds type union redundancy checkLibrary Watch: spikard, a polyglot API toolkitLibrary Watch: Optique 0.7.0 (via Hong Minhee)From the CommunityMarco Ippolito: Summer I Shipped Type StrippingJohn Reilly: Yargs: statically typed builder commands (via johnnyreilly)Telerik: Zod + TypeScript: Schema Validation Made Easy TypedRocks: The Secret Power of The Lowercase & Uppercase UNION in TypeScript Brad Zacher: Improving Bazel TypeScript TypeChecks With IsolatedDeclarations (via Rob Palmer)Aapo Alasuutari: Interlude: A data-oriented modelSoftware Engineering Daily: Josh and Dmitri talk about Doom in TypeScript TypesCool LinksCool Watch: NFTI building a 3D printed castleCool Watch: Predators (2010)Cool Watch: dotnetconfCool Link: Aspire.dev, code-first local dev environmentsMusicSeahorse Dreams by Kubbi (Spotify)
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.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/9UemP985UyChapters(00:00) - Welcome to the Show
(03:20) - News: Angular 21 - Zoneless by Default, Supports Vitest
(06:18) - News: Astro 5.16 - SVG Optimization
(07:17) - News: TC39 Proposal Advancements
(09:26) - PSA: Shai-Hulud Worm Strikes Again with 500+ Compromised Packages
(10:34) - Tips: Mitigating npm Supply Chain Risks
(14:03) - Library Watch: NovaDI - Autofac-inspired Dependency Injection
(16:11) - Library Watch: UI5 by SAP (Finally) Gets Typings
(17:08) - Community Highlight: C# for TypeScript Developers
(19:11) - Community Highlight: Omit for Discriminated Unions by Tkdodo
(20:06) - Community Highlight: Convert Go Structs into TS Interfaces
(20:26) - Community Highlight: NotNite Adds Function Hooking in Deno
(21:12) - Bleet of the Week
(22:07) - Cool Play: Outer Worlds 2
(22:43) - Cool Link: Xbox Unlocks Access to Game Publishing Docs
(23:21) - Cool Watch: JSLegend Builds a RPG in TypeScript
(23:57) - The Minnesota Long Goodbye
NewsAnnouncing Angular v21 – zoneless by default, adds signal forms, and has Vitest support in CLIAstro 5.16 – introduced a utility type to get action schemaTC39 Proposals Advance (h/t @robpalmer)Socket.dev: Shai Hulud Strikes Again (v2)Tip: Replace fast-glob with tinyglobbyTip: NPM Ignore Scripts Best Practices as Security Mitigation for Malicious PackagesLibrary Watch: NovaDI - Decorator-free Dependency Injection for TypeScript Library Watch: UI5 SAP gets typingsFrom the CommunityCharles Chen: TypeScript is Like C#Dominik: Omit for Discriminated Unions in TypeScriptKarl Beuer: VSCode Extension to convert Go structs to TS interfaces NotNite: function hooking in DenoCool LinksCool Read: Unlocking Access to Game Publishing Documentation for All Developers by XboxCool Watch: Making a Small RPG by JSLegendCool Game: Outer Worlds 2MusicSeahorse Dreams by Kubbi (Spotify)
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.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/9UemP985UyChapters(00:00) - Welcome to the Show
(04:36) - News: TypeScript 6 Scheduled for Early 2026
(05:26) - News: Node 25.2.0 Marks Type Stripping as Stable
(07:51) - News: Andromeda, a New TypeScript-native Runtime
(09:15) - News: Brimstone, a New Rust-based JavaScript Engine
(11:24) - News: Glide, a Browser for Neovim Dandies
(15:26) - Community Highlight: Ludum Dare Creator is Open for Business
(16:18) - Community Highlight: Visual Types by Kit Langton
(18:34) - Community Highlight: Taking the .NET Out of Aspire by David Gardiner
(19:58) - Community Highlight: We Could Have Been Rad Developers
(21:08) - Library Watch: squeeel, a Type-safe SQL Builder
(22:16) - Library Watch: DomoActorsTS, an Actor Model Framework
(24:35) - Library Watch: Contour 2.0, Type-safe Music
(26:02) - Library Watch: Hashery, Efficient Object Hashing
(28:33) - Tool Watch: Ezno, a Rust-Based Type Checker
(31:13) - Bleet of the Week
(31:41) - Cool Tool: Debug Your Docker Build Context
(34:47) - Cool Read: Nuxt MCP Server
(35:19) - Cool Tool: WXT, a Modern Web Extension Framework
(35:51) - Cool Watch: PolyMatt Made a Floppy Disk from Scratch
(36:44) - Cool Tool: Quicker Neovim Extension
(37:49) - Cool Tool: GemShell, a Way to Package Up Games
(38:53) - Cool App: xelly.games, a Game-sharing Social Network
(39:38) - The Minnesota Long Goodbye
NewsTS 6.0 Expected in Early 2026Node 25.2.0 (Current) marks type stripping as stable!Andromeda, a native TypeScript runtime alternative to Deno (h/t Rob Palmer)Brimstone, a JavaScript engine written from scratch in RustGlide, a Firefox-based browser for neovim dandiesFrom the CommunityKit Langton: Visual Types — A Set of Animated TypeScript Concepts (h/t Reddit)David Gardiner: Aspire with Python, React, Rust and Node appsRob Palmer: Alternative names for ECMAScript that were originally consideredLibrary Watch: squeeel, a type-safe SQL builderLibrary Watch: DomoActors-TS, a TypeScript library for the actor modelLibrary Watch: Contour 2.0 “Music Composition as Code” (h/t kootenay-eric)Library Watch: Hashery (h/t jaredwray.com)Tool Watch: Ezno, a Rust TypeScript type checker (h/t fasterthanli.me)Cool LinksCool Watch: PolyMatt on YouTube makes a floppy disk from scratchCool Tool: Quicker.nvim, a better quickfix listCool Tool: gemshell, a tool to package up web gamesCool Tool: Debug your Docker build contextCool Read: Building an MCP Server for NuxtCool Tool: WXT – a modern web extensions frameworkCool App: xelly.games - a game-sharing social networkMusicSeahorse Dreams by Kubbi (Spotify)
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)
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)
News for the week of October 27, 2025: TypeScript is the #1 language on GitHub, making your Regex type-safe, and Biome adds support for three new metaframeworks. From the community: a metaframework for Angular, PHP in JS, and a polyglot runtime that will blow your mind.Chapters(00:00) - Welcome to the Show
(05:36) - News: TypeScript Won in 2025
(12:43) - News: Vercel Now Supports the Bun Runtime
(12:59) - News: Announcing ArkRegex for Typing Regex
(16:37) - News: Safe Chain Can Proxy Your npm Installs
(17:48) - News: Biome 2.3 Adds Support for Vue, Svelte, and Astro
(19:05) - News: What's New in ViteLand?
(22:58) - Community Highlight: Hire Josh Goldberg!
(23:52) - Community Highlight: AnalogJS is a Meta Framework for Angular
(25:00) - Community Highlight: Rendu, a JS Hypertext Preprocessor
(27:24) - Runtime Watch: Elide, a Polyglot Runtime for JS, TS, Python, and More
(31:29) - Tool Watch: dpdm, to Fix Circular Dependencies
(32:57) - Library Watch: flowcraft, a Lightweight Workflow Engine
(34:52) - Tool Watch: Trigger.dev, a Hosted Workflow Engine
(37:07) - Bleet of the Week
(37:32) - Secrets of the Handbook: ?? and infer
(41:28) - Cool Watch: 10 Useful CLI Apps You've Never Heard Of
(42:38) - Cool Watch: Porffor, an Ahead-of-Time Compiler for JS
(46:31) - Cool Watch: Ladybird Browser October Update
(47:00) - Cool Tool: Gimli Tailwind, a Browser Devtools Extension
(48:07) - Cool Tool: PowerSync, a Local-first Sync Engine
(50:28) - The Minnesota Long Goodbye
NewsOctoverse: TypeScript is the most used language on GitHub 🎉Bun: Vercel now supports the Bun Runtime ArkType: Introducing ArkRegex (Reddit, Discord, Bluesky)Aikaido: Introducing Safe Chain: Stopping Malicious npm Packages Before They Wreck Your ProjectBiome 2.3 supports Vue, Svelte, Astro, and more. VoidZero: What’s New in ViteLand: October 2025 RecapFrom the CommunityFriend of the Show Josh Goldberg is looking for a full time position 👀AnalogJS 2.0 is a metaframework for Angular with SSR/SSG and file-based routingAlexander Lichter: Wait - PHP IN JS!? What is renduElide is a polyglot runtime, think: import Python modules from TypeScriptTool Watch: acrazing/dpdm: Detect circular dependencies in your TypeScript projectsLibrary Watch: gorango/flowcraft: A lightweight workflow engine Tool Watch: Trigger.dev, a hosted agentic workflow engineFabi.dev quick tip: Do you know the difference between || and ??muszynov: How to use the infer keyword in TypescriptCool LinksCool Watch: 10 useful CLI apps I'm guessing you've not heard ofCool Watch: Oliver Medhurst - Porffor - JavaScript Ahead of Time Compiler Cool Watch: Ladybird browser update (October 2025) Cool Tool: Gimli Tailwind – a super hot looking TailwindCSS dev extensionCool Tool: PowerSync – local-first sync engine that works with Postgres, MySQL, and MongoDBSponsored 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)
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)
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)
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)
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
NewsTSGO News: PR #1732: Improves source file parse time by ~10%How Deno protects against npm exploitsDBOS 2.0 adds JS support with a decoratorless API. (docs)What’s new in Astro - September 2025From the CommunityLiran Tal: Mitigate Supply Chain Security with DevContainers and 1Password for Node.js Local DevelopmentVincent Rolf: The Temporal Dead Zone, or why the TypeScript codebase is littered with var statementsPaul Schmeing: TypeScript and the Illusion of Type-SafetyTheo: Life after TypeScriptKamran: dotnet-ssr, an (experimental!) .NET SSR hostCool StuffErik's LD58 Game Jam: Play the Gem Jam GameVideo: Kamran on rendering React Router using a .NET SSR hostBook: Ensh*ttification with Cory Doctorow (plus, Interview with Adam Conover)Kamran's Course: Staying on Task with the Pomodoro TechniqueKamran's Course: Prioritizing Work with Rocks, Pebbles, and SandLibrary: 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 LinuxSponsored 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)
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
(20:20) - News: Code Mode, Generating TypeScript Clients for MCP Servers
(25:57) - News: Cloudflare Workers Have Improved Node Compatibility
(28:24) - News: GitHub's Plan for a Secure NPM Supply Chain
(33:22) - News: Astro 5.14 Adds Svelte Async Rendering and React 19 Actions
(34:05) - Community Highlights: Scrimba's Free TS Course
(34:28) - Community Highlight: Python-style kwargs in TypeScript
(37:24) - Community Highlight: Porting TypeScript to Run on DOS
(39:44) - Community Highlight: Running JavaScript on PlayStation
(41:28) - Community Highlight: Is effect-ts Really Good, Or is it Just Hype?
(44:19) - Cool Links: Tiny Helpers
(45:17) - Cool Read: Itch Game Shout-outs
(45:58) - Cool Tool: Autogenerate HTTPS Domains for Vite Dev Servers
(47:23) - Cool Link: Find Out If You Have Unclaimed Money or Property
(49:31) - The Minnesota Long Goodbye
NewsPSA: State of JavaScript 2025TS 6.0 will enable "noUncheckedSideEffectImports" by default 🎉 (h/t Rob Palmer)Jiti 2.6 – runtime for TS/ESM in Node.js is now using SWC/RSPacktc39/proposal-nonextensible-applies-to-private (h/t Rob Palmer)“This breaking change means that if you seal/freeze an object, it cannot later have private fields stamped upon it ❄️”DanielRosenwasser/proposal-array-push-all (h/t Rob Palmer)“It lets you append many items into an existing array without running out of stack memory 👍”tc39/proposal-iterator-chunking (h/t Rob Palmer)“It lets you make iterators that can chunk & window content”Cloudflare: Cap'n Web: a new RPC system for browsers and web serversCloudflare: Code Mode: the better way to use MCPCloudflare: A year of improving Node.js compatibility in Cloudflare Workers (h/t James Snell)GitHub: Our plan for a more secure npm supply chainMetaframeworks: Astro 5.14From the CommunityCourse: Free TypeScript tutorial (Scrimba) David Brownman: Python-style kwargs in TypeScriptJimbly: From Steam to Floppy: Porting Modern TypeScript to Run on DOSJSLegendWeb: You Can Now Make PS2 Games in JavaScript Discussion: Is Effect-Ts really good or is it just hype? : r/typescriptCool StuffCool Tools: https://tiny-helpers.dev/ (by Stefan Judis) Cool Games: Minnesota-made games (by Martin Grider)Cool Game: https://andre-lima.itch.io/now-thats-a-big-dragon Cool Game: https://mookie4242.itch.io/escape-the-well Cool Tools: Caddy and Vite plugin (h/t nuqayah)PSA: Find Missing Money & Unclaimed Property (mn.gov / Go find your state)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)
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)
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)
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
(16:26) - News: pnpm 10.16 adds minimumReleaseAge Config Option
(18:10) - Community Highlight: Dr. Axel's Corner
(18:51) - Community Highlight: Lessons from npm Security Failures
(23:47) - Community Highlight: Val Town's Open Source TS Editor
(26:12) - Community Highlight: Lint Rules Spreadsheet by Josh Goldberg
(28:16) - Community Highlight: Most Underrated Features in TS?
(31:48) - Tool Watch: confkit Provides Type-safe Config and Secrets
(32:46) - Library Watch: taxum, a TypeScript-first HTTP Framework
(33:35) - Library Watch: conformal is a Type-safe FormData and Submissions Library
(34:31) - Community Highlight: Why Using Bun in Production (Maybe) Isn't the Best Idea
(39:14) - Secret of the Handbook: Analyze Trace Tool
(40:37) - Cool Watch: Restoring Old GameBoys and Game Systems
(42:04) - Cool Game: Assassin's Creed Mirage
(44:37) - The Minnesota Long Goodbye
NewsTSGoFull JSDoc Support in LSP (#1702) by AndersTypeScript Build Watch Mode (#1684) by SheetalDeno 2.5 + Fresh 2.0Rspack 1.5.3 features advanced tree shaking for dynamic import membersPnpm 10.16 adds “minimumReleaseAge” to help mitigate supply chain attacksFrom the CommunityDr. Axel’s CornerLearning web development: Implementing web servers Learning web development: Authenticating users with plain Node.jsOneUpTime: Lessons from npm's Security Failures Wojciech Maj: Why using Bun in production (maybe) isn't the best ideaVal Town’s open source TS editor was rewritten from scratchJosh Goldberg is tracking common rules across linters for FlintReddit discussion: Name underrated things in TypescriptTool watch: https://www.confkit.dev/ (h/t HackerNews) -- Type-safe config and schemas that work across all runtimesLibrary watch: https://taxum.js.org/ (h/t DASPRiD) -- TypeScript-first HTTP frameworkLibrary watch: https://github.com/marcomuser/conformal -- Type-safe FormData and submissionsCool StuffCool Tool: https://github.com/microsoft/typescript-analyze-traceCool Watch: Retrofitting a broken Game Boy with modern upgradesNow playing: AC: MirageSponsored 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)
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
(29:26) - Library Watch: Easily Create Wi-Fi Share Links
(30:58) - Library Watch: Type-safe State Machines
(32:37) - Library Watch: Eclipse Modeling Framework for TypeScript
(34:33) - Library Watch: A Tiny Translate Utility for TypeScript
(35:13) - Community Highlight: Azat's OSS Tools
(38:09) - This Week's TypeScript Joke
(38:33) - Cool Library: 2D Geometry and Math Utilities
(39:11) - Cool Watch: The Business Side of Digital Goods
(40:18) - Cool Read: A New Way to Think by Roger Martin
(43:47) - The Minnesota Long Goodbye
Newstypescript-eslint v8.43.0 introduces a new rule to disallow empty type argumentsFresh 2.0 Graduates to Beta, Adds Vite Support (h/t deno)Rolldown will only be shipping as ESM, dropping their CJS bundle (h/t VoidZero)Clarification: It will still bundle your code as CJS; this applies only to Rolldown itself.Swift for Wasm: Q3 2025 Updates (h/t maxdesiatov)Reminder: TypeScript AI Conf is Nov 6PSA: Vite CVEs. Upgrade your packages!CISA mailing list for cybersecurity incidentsPSA: Hackers hijack npm packages with 2 billion weekly downloads in supply chain attackPSA: Hackers steal 3,325 secrets in GhostAction GitHub supply chain attackFrom the CommunityTS 1.5 nostalgia (h/t rob palmer)Dr. Axel’s CornerLearning web development: Frontend frameworks Learning web development: Installing npm packages and bundling Immer.js optimizations comingMeta Piracy Case You might be owed $$$Search LibGen, the Pirated-Books Database That Meta Used to Train AI It has affected Dan Abramov and Josh Goldberg Library watch: wifi-share-link: Create shareable links over Wi-Fi with QR codes (h/t Joshua Goldberg)Library watch: @machinist/core for type-safe finite state machines Library watch: TMF: Model-driven development for TypeScript Library watch: pixltd-dev/ts-mini-translate, a simple TypeScript translation utilityCheck out Azat’s work! Including Josh Goldberg’s favorite ESLint plugin, perfectionist.This week's TS jokeCool Stuff2D math utilities: https://github.com/romgrk/2d-geometry Video: A Complete Guide To The Business Side Of Indie GamedevBook: A New Way to Think by Roger Martin (Thriftbooks)Game: Hollow Knight: SilksongSponsored 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)
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
(12:26) - News: Node.js 22.19.0 LTS Notable Changes
(18:13) - News: RsPack 1.5 Features Type Re-export Analysis
(21:27) - News: Deno's GoFundMe to #FreeJavaScript
(22:38) - PSA: Supply Chain Attack Against Nx Packages
(25:49) - Community Highlight: Attend SquiggleConf 2025
(26:43) - Case Study: How Calm.com Migrated to Node Type Stripping
(30:13) - Community Highlight: Dr. Axel's Corner
(33:01) - Community Highlight: Vitest 4 Sneak Peek
(34:28) - Community Highlight: Zod 4.1 Codecs
(36:39) - Community Highlight: Shout-out to Remco for Fixing JSX Typing Bugs
(37:24) - Community Highlight: TypedRocks Shows You How to Refactor Type Definitions
(38:27) - Community Highlight: Neovim Support for TSGo Spotted in the Wild
(39:09) - Library Watch: csv-utils Helps You Deal with CSV Files
(39:39) - Library Watch: contrastrast Provides WCAG-compliant Color Manipulation
(41:16) - Case Study: Plaid Cut Build Time by 97% with Rolldown
(42:17) - Framework Watch: Runner V4 Released
(43:53) - Framework Watch: Ripple, a TypeScript UI Framework
(45:20) - Community Highlight: Joke of the Week
(45:48) - Secret of the Handbook: declarationMap
(47:17) - Cool Link: MuJS for Embedding Scripting into C/C++
(48:57) - Cool Link: Cory Doctorow is Kickstarting a Book
(50:44) - Cool Watch: Learn Game Dev from a Nintendo Game Designer
(52:29) - The Minnesota Long Goodbye
Personal NewsKamran's new Qwik City Foundations course (requires subscription)Affected by the Verizon outage? Get some monies (or try visiting the Transfer Phone/PIN page in your account)Alternatively, switch to Mint and save some cheddar (that's Kamran's referral link :-)NewsTS 6.0 proposed deprecations and breaking changesNode 22.19.0 LTS notable changes include a new CA certificate API and unflagging WASM modules (see: source-phase imports)Rspack 1.5 release features type re-export analysisDeno's GoFundMe for #FreeJavaScriptPSA: Nx supply chain attack (write-ups from Socket.dev and TheHackerNews)From the CommunitySquiggleConf: September 18-19Calm.com: How we migrated our Rush.js monorepo to Node type strippingDr. AxelJavaScript’s trademark problem Learning web development: Web servers Learning web development: JavaScript exceptionsLearning web development: JSON and processing files in Node.js Learning web development: JavaScript MapsVitest 4 will be faster!Zod creator explains 4.1's new codecs featureUppy issue reveals a bug in JSX typing across ecosystemTypedRocks: Let’s Replace 100+ React Types with 3 Lines Of Code (Same Type Safety!) Possible sighting of neovim TSGo supportLibrary watch: doeixd/csv-utils: Helpful utils for working with csv files or arrays of objectsLibrary watch: ammuench/contrastrast: A library to determine text contrast based on WCAG Standards VoidZero: How PLAID Cut Build Times by 97% Migrating From Rollup To RolldownFramework watch: Runner V4 releasedFramework watch: trueadm/ripple: the elegant UI framework for the webThis week's TS JokeSecret of the HandbookThe declarationMap config option significantly speeds up Project References performance in IDEs. Cool StuffMuJS: Introduction Cory Doctorow’s KickstarterLegendary Nintendo game designer published 200+ videos on gamedev for free.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)
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
(18:10) - News: Deno 2.4.4 Improves Structured Clone Performance
(19:21) - News: Next.js 15.5 Features Type-safe Routing
(20:55) - News: Preact 11 Beta is Even Faster with Better Hydration
(21:27) - News: Angular 20.2 Goes Zoneless
(23:25) - Community Highlight: Dr. Axel's Learning Web Dev Series
(25:08) - Community Highlight: A Hopeful PR to Enable --strict By Default
(26:38) - Library Watch: valleys, Lightweight Runtime Data Validation
(28:05) - Community Highlight: Hangman Written in TypeScript Types
(28:59) - Community Highlight: Exhaustive Switch Expressions by Replo
(31:42) - Discussion: How to Protect Code and Assets in the Browser
(36:59) - Cool Game: Now THAT'S a Big Dragon!
(38:05) - Cool Read: Auto-tiling with the Dual Tile Map Technique
(38:33) - Cool Tip: Using IIFEs for Scratch Variables to Avoid Allocations
(40:43) - Cool Vid: A Million Blades of Grass Written in LOVR and TypeScript
(42:31) - The Minnesota Long Goodbye
NewsJake Bailey: TSGO had a big nightly updateSocket.dev: Rspack Introduces Rslint, a TypeScript-First Linter Written in Go (powered by TS Go) (repo)Bun 1.2.21 release notes plus blog post on how they achieved a 500x faster postMessage(string)Deno 2.4.4 structured clone perf improvement Next.js 15.5 release notes (summary thread)Preact 11 sneaks in a betaAngular 20.2.0 features a stable zoneless API From the CommunityDr. Axel: Learning web development: Booleans, comparisons and `if` statementsLearning web development: Loops in JavaScriptLearning web development: Shells and Node.jsDaniel Rosenwasser proposed to turn `--strict` on by default Correction: It was an issue, not a PR :-)Lib watch: valleys (ht HN) – Lightweight, zero-dependency library for validating arbitrary runtime data in TypeScript.Hangman in TypeScript typesDiscussion: Protect code & assets? : r/typescriptReplo.computer: Exhaustive Switch Expressions in Typescript Cool StuffBlog post: Dual Tilemap Auto Tiling Steam Game: Now THAT’S a Big DragonVideo: A million blades of grass in LOVR + TypeScriptLÖVR - VR version of LOVE 2DTypeScriptToLuaJoin the Michigan TS Discord!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)
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
(12:33) - Cool Links: A Bunch of Excalibur Games!
(14:36) - The Minnesota Long Goodbye
NewsAstro 5.13 From the CommunityDr. Axel’s Blog Series on Learning Web DevNahuel Scotti: Type-Safe data flow between client & server in Next.js applicationsClickhouse: Does OLAP need an ORM? Plus, listen to our ORMed and Dangerous (Ep 7) deep dive episode! Cool StuffMore Excalibur Games!https://daviderisaliti.itch.io/spookytruth https://daviderisaliti.itch.io/quadrush https://mookie4242.itch.io/zombie-shooter-clone Nextra – a Next.js static site generator with some built-in gizmos editly – non-linear video editing with Node.js and ffmpegSponsored 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)
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
(43:18) - The Minnesota Long Goodbye
NewsErik’s talk is live! JavaScript Blazingly FAST! Lessons from a Game EngineWebStorm 2025.2: TypeScript-Go Language Server SupportV8 engine: How we made JSON.stringify more than twice as fastBun v1.2.20 includes type-level assertions and @bun/types fixes for TS 5.9Mastra announces TypeScript AI conferenceFrom the CommunityRobert Hameetman: How I Built CSS's light-dark() in TypeScript Boshen: Oxlint working on type-aware linting with TSGo (experimental)JakeRoggenbuck/regolith: Safely write RegExp that are ReDOS-proofPS. Listen to the TypeScript Security episode with Liran Taliostreamer-X/tsef: CLI tool to filter tsc output and only show errors for specific files and directoriesCould be a good companion to ts-migrating by Jason YuReddit: What tools and libraries do you use with TypeScript to make your dev life easier?ts-patternZodLefthookEffect.ts and XstateneverthrowTimber Clone: An Excalibur game (written in TS!)Source code: jyoung4242/TimberEx Weekly Dev Brew with Daniel Ehrenberg (President of Ecma International & TC39 veteran)Joke Bailey on Why is TS is so slow?!Secret of the HandbookTypescript Indexed TypesExample 1Example 2 Cool StuffMarvinH: Speeding up the JavaScript ecosystem - Semver Plus a cool profiling viewer, cpuproEnhance, an HTML-first full stack web dev frameworkevanwashere/mitata: benchmark tooling that loves you ❤️ Contenteditable on Android is the Absolute Worst (But, ProseMirror looks really cool) petalo/legal-markdown-js: Write legal docs in Markdown and TSSupabase, hosted PostgresSponsored 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)



