Discover
TypeScript.fm - The Friendly Show for TypeScript Developers
TypeScript.fm - The Friendly Show for TypeScript Developers
Author: Kamran Ayub and Erik Onarheim
Subscribed: 14Played: 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!
64 Episodes
Reverse
Mauro Bieg joins the two fools to talk about Mastro, a simple and minimal web framework and site generator. If 11ty and Astro had a baby, it might look like Mastro! With support for routing, HTML templating, streaming, and even reactive UI, Mastro might be a great fit for your next content-driven website.ResourcesMastro WebsiteMastro on GitHubMastro on BlueSkyWhere to Follow the TeamMauro on GitHubMauro on BlueSkyChapters(00:00) - Introducing Mauro Bieg
(03:12) - What is Mastro.js?
(05:39) - How Mastro Renders HTML
(10:04) - Comparing Mastro.js with Other Frameworks
(14:55) - Handling Server Requests in Mastro
(20:00) - Client and Server Separation
(26:39) - Client-Side Functionality with Reactive Mastro
(32:18) - Leveraging Web Standards and Native Runtime Features
(34:14) - Working with Multiple Runtimes
(40:31) - TypeScript Integration and Type Checking
(41:51) - Support for HTTP Streaming
(47:07) - How Mastro Performs
(49:01) - Getting Started with Mastro
(51:33) - Where to Find Mauro
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 for the week of January 26, 2026: Yarn 6.0 is rewritten in Rust, Anders interviewed on history and future of TypeScript, and a PSA on the Notepad++ update system. From the community: start using the satisfies keyword, learn more about Node Single Executable Applications (SEAs), and a DnD rule engine written in TS.Stand With MinnesotaWe are native Minnesotans. The ICE occupation is affecting our community in so many ways and has disrupted daily life for thousands of us. Families are sheltering in place, fearing to go to work, let their kids walk to school, take the bus, or even attend school at all. It is not just affecting immigrants, it is affecting all of us.Go to StandWithMinnesota.com to learn how you can help.Chapters(00:00) - Welcome to the Show
(05:11) - News: Removing ES5 Target for TS 6.0
(08:46) - News: Yarn 6.0 is Rewritten in Rust
(13:55) - News: Anders Interviewed on History and Future of TypeScript
(17:56) - News: Astro 5.17
(18:24) - News: 11ty, 2025 Year in Review
(19:33) - PSA: Notepad++ Hacked, Don't Use In-app Updater
(21:09) - PSA: More React Vulnerabilities, Update RSC Packages
(23:08) - Library Watch: ReliCSS, Fix Your Ancient CSS
(24:23) - Library Watch: Clack 1.0, Stylish Prompts for CLI Tools
(25:28) - Library Watch: TypeScript D20 Rule Engine for DnD
(27:02) - Community Highlight: satisfies Keyword is OP
(28:26) - Community Highlight: Does JIT Go Brrr? by Savannah.dev
(29:22) - Community Highlight: Node SEAs by Joyee Cheung
(30:08) - Community Highlight: Node is Getting a Virtual File System
(31:29) - Community Highlight: Deno on Windows ARM?
(32:27) - Community Highlight: Mocha.js Gets a Fresh Website
(32:51) - Community Highlight: In Mastro, Everything is a Route
(33:20) - Community Highlight: Hacking Compiler to Get const-known TemplateStringArray
(35:04) - Community Highlight: Gamedev.js Survey Results Are In
(37:19) - Bleet of the Week
(39:41) - Cool Video: Metroid's 8-bit Gravity by NESHacker
(40:21) - Cool Video: AI LEGO PixelArt Robot
(41:10) - Cool Link: Giantbomb x MinnMax Fundraiser for VEAP
(43:26) - Cool Watch: Planet Earth Series
(44:41) - The Minnesota Long Goodbye
NewsTS 6.0: PR to remove ES5 merged! (via Rob Palmer)Yarn: New 6.0 preview, rewritten in RustGitHub: 7 learnings from Anders Hejlsberg: The architect behind C# and TypeScriptAstro 5.17 release notes Eleventy, 2025 in Review PSA: Notepad++ Update Servers Got Hacked, download 8.9.1 manually!PSA: Denial of Service Vulnerabilities in React Server ComponentsLibrary Watch: Introducing ReliCSS: A Tool for Front-End ArchaeologyLibrary Watch: Clack 1.0 lets you build stylish interactive CLI promptsLibrary Watch: DnD D20 rule engine written in TypeScriptFrom the CommunityWeb Dev Simplified: satisfies keyword is awesomeSavannah Ostrowski: Does JIT go brrr? Joyee Cheung: Improving Single Executable Application Building for Node.js Matteo Collina: VFS coming soonDeno: Windows ARM BUILD!?Joshua Goldberg: Mocha has a new Astro frontend!!Mastro: Everything in Mastro is a RouteCinny.bun.how: patching TypeScript compiler to get const-known TemplateStringsArray Gamedev.js Survey Results are In: The State of Web Game Dev in 2025Cool LinksMetroid's 8-Bit Gravity I made an AI LEGO® PixelArt Robot GiantBomb and MinnMax fundraiser for VEAPPlanet Earth (HBO)MusicSeahorse Dreams by Kubbi (Spotify)
News for the week of January 19, 2026: Rolldown reaches 1.0 release candidate, and a PDF library we all deserve. From the community: a better npm admin experience, supertype safety, and modern package.json targets.Stand With MinnesotaWe are native Minnesotans. The ICE occupation is affecting our community in so many ways and has disrupted daily life for thousands of us. Families are sheltering in place, fearing to go to work, let their kids walk to school, take the bus, or even attend school at all. Adults and children are being abducted from their workplaces, schools, cars, and homes with aggressive tactics and without due process. There have been dozens of well-documented violations of our civil liberties and rights as US citizens, including the illegal detainment of peaceful protestors, constitutional observers, and people of color. ICE has shot and killed two US citizens already in the span of 3 weeks: Renee Good, a mother of three, and Alex Pretti, a VA nurse. They are out of control, they are causing irreparable harm, and we want them out of our cities. Go to StandWithMinnesota.com to learn how you can help.Chapters(00:00) - Welcome to the Show
(06:36) - News: TypeScript PR to Support Import Attributes in d.ts Files
(09:00) - News: Deno 2.6.6 Brings Some QOL Improvements
(10:15) - News: Rolldown 1.0 RC is Here
(14:13) - News: TC39 ECMAScript Proposal Updates
(19:04) - News: Firefox 147 Adds WebGPU on Apple Sillicon and Brotli Compression
(21:04) - News: Nuxt 4.3 Supports Inlining Critical CSS for Webpack and Rspack
(22:33) - PSA: Svelte Ecosystem Vulnerabilities
(24:26) - Library Watch: LibPDF, the PDF Library TypeScript Developers Deserve
(26:17) - Library Watch: ts2rs, Transforms TS Types to Rust Types
(27:38) - Library Watch: Mastra, TS Agent Toolkit, Reaches 1.0
(28:23) - PSA: Lodash Gets a Security Update and Governance from OpenJSF
(29:20) - Community Highlight: Daniel Roe Wants to Hear Your npm Frustrations
(29:57) - Community Highlight: Don't Assign a Map to WeakMap
(30:59) - Community Highlight: Super Monkey Ball on the Web
(31:38) - Community Highlight: Package.json for Modern Targets
(33:18) - Community Highlight: How Next.js Built Turbopack
(33:39) - Bleet of the Week
(34:21) - Cool Link: Crudy, a Postman Alternative
(35:05) - Cool Video: SystemOfLevers on How to Make a Gameboy Game
(35:24) - Cool Video: How to Make a Homebrew GPU
(35:57) - Cool Video: Transforms 101 by Scott
(36:17) - Cool Link: StandWithMinnesota.com
(37:29) - The Minnesota Long Goodbye
NewsTypeScript PR to add support for import attributes in ambient module declarations. Motivating example (from Vite team) Deno 2.6.6Rolldown 1.0 RC TC39 News via Rob PalmerFirefox 147 release notes for developers Nuxt 4.3CVEs affecting the Svelte ecosystem LibPDF, the PDF library TypeScript developers deservets2rs for converting TS types to Rust typesAnnouncing Mastra 1.0! PSA: Lodash Rolls Out Major Security OverhaulFrom the CommunityDaniel Roe calls out for npm frustrations, creating npmx.dev Tip: Supertype safety? WeakMap is a supertype of Map Super MonkeyBall in a browser Discussion: Types, Package.json, and Modules Next.js: Inside Turbopack: Building Faster by Building LessCool LinksCrudy is an alternative to PostmanGameboy Games by @systemoflevers A Homebrew GPU for a Homebrew CPUTransforms 101 by ScottMusicSeahorse Dreams by Kubbi (Spotify)
News for the week of January 12, 2026: Astro finds a new home, Chrome ships Temporal API, and latest Node marks require(esm) as stable. From the community: type-safe UI, how TypeScript differs at dev-time vs runtime, and Deno's (impressive) latency under load.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
(05:11) - News: Astro Joins Cloudflare
(06:09) - News: Astro 6 Beta Brings Parity to Dev and Prod Behavior
(07:46) - News: Node 25.4.0 Brings Stable require(esm)
(09:42) - News: Chrome 144 Ships Temporal, Safari... wen?
(12:58) - Library Watch: Ohm Lets You Build Parsers, Interpreters, and Compilers
(14:07) - PSA: Fastify Express Middleware Bypass Vulnerability
(15:09) - Community Highlight: Daniel Rosenwasser Fixes BOM Bug
(15:53) - Community Highlight: Type-safe UI by Andrew Hathaway
(16:51) - Community Highlight: Forcing TS to Be Exhaustive by Carlos Menezes
(18:11) - Community Highlight: Deno's Low Latency Under Load
(19:43) - Community Highlight: Deno 2.6.5 Adds WebP and GIF Support to createImageBitmap
(20:08) - Community Highlight: TypeScript. Runtime. And In-between by Ariel Shulman
(20:48) - Community Highlight: You Should Be Using Dev Containers
(21:42) - Community Highlight: useOptimistic Won't Save You by Colum Kelly
(22:09) - Community Highlight: React Native Best Practices for AI Agents by Callstack
(23:39) - Bleet of the Week
(24:23) - Cool Link: Gameboy LEGO Set
(25:00) - Cool Link: Global Game Jam is Happening Soon
(25:56) - Cool Link: Realistic Terrain with Wave Function Collapse
(27:19) - Cool Link: Complete CSS Course by Andy Bell
(29:13) - The Minnesota Long Goodbye
NewsAstro: The Astro Technology Company joins Cloudflare Theo: Cloudflare takes on Next.js Astro: Astro 6 Beta Node 25.4.0 is out: Joyee Cheung BSky ThreadChrome 144: Temporal shipped, Safari its your turn (via Andy Bell)Sarah Gooding: Temporal API Ships in Chrome 144, Marking a Major Shift for JavaScript Date Handling (via Rob Palmer)Temporal PolyfillDifferential serving / bundling by Jeremy WagnerLibrary Watch: Ohm (via JavaScript Weekly Issue 768: January 13, 2026)PSA: Fastify Express middleware can be bypassedFrom the CommunityDaniel Rosenwasser found a latent bug in TS 6.0 with BOMs and strict testingAndrew Hathaway: Type-Safe User Interfaces & the Manifest Pattern Carlos Menezes: Forcing TypeScript to be exhaustive Deno: P99 Latency is 72% Lower Than Node.jsDeno: Deno 2.6.5 Adds WebP and GIF Support to createImageBitmap Ariel Shulman: Typescript. Runtime. And in Between. - Ariel Shulman - NDC Copenhagen 2025 Syntax/Coding Garden: you should be using dev containersColum Kelly: useOptimistic Won't Save You (via React Weekly Issue #3) Callstack: Announcing: React Native Best Practices for AI Agents (via React Weekly Issue #3)Cool LinksCool Buy: Game Boy™ 72046 LEGO setCool Link: Global Game Jam is happening!Cool Code: Wave Function Collapse by jyoung4242 (plus a sprite animation creator)Cool Course: Complete CSS - Piccalilli by Andy Bell MusicSeahorse Dreams by Kubbi (Spotify)
News for the week of January 5, 2026: patch all your Node.js installations! Like now! Plus, a new TypeScript ESLint fixer for unused imports. From the community: why we all suck at logging, the concise TypeScript book, and all the JS engines in one page.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
(05:59) - News: Node.js Patch Tuesday
(12:13) - News: Astro 2025 Year in Review
(13:19) - News: What's New in ViteLand, December 2025
(13:41) - News: TypeScript ESLint 8.5.3 Adds Unused Import Fixer
(14:16) - Library Watch: Typique, Bundler Agnostic CSS-in-TS
(19:04) - Community Highlight: JS Engine Zoo by Ivan Krasilnikov
(21:24) - Community Highlight: Logging Sucks by Boris Tane
(24:49) - Community Highlight: Optique Sync/Async Mode Support by Hongmin Lee
(25:44) - Community Highlight: Use Vitest Projects by How to Test Frontend
(26:27) - Community Highlight: The Concise TypeScript Book by Simone Poggiali
(28:08) - Community Highlight: Syntax.fm with Dimitri on Type Slayer
(29:02) - Community Highlight: Jake Bailey's GopherCon Talk Now on YT
(29:47) - Community Highlight: Things-viz, Visualize Your Things 3 Todo Lists
(30:40) - Bleet of the Week
(31:09) - Secret of the Handbook: Decorators
(33:47) - Cool Link: TransparentTextures.com
(34:25) - Cool Link: FreeToUse.com
(35:11) - Cool Product: Mighty-3 Music Player
(37:51) - The Minnesota Long Goodbye
NewsNode PSA: Security Releases for January 13Astro: 2025 Year in ReviewVoidZero: What’s New in ViteLand: December 2025 Recap TypeScript ESLint 8.53.0: Unused ImportsLibrary Watch: aleksei-berezkin/typique: Bundler-agnostic, zero-runtime CSS-in-TSFrom the CommunityIvankra: Javascript Engine ZooBoris Tane: Logging SucksHongmin Lee: Optique's type-safe sync/async mode supportHow to Test Frontend: Why you should start using projects in Vitest configurationSimone Poggiali: The Concise TypeScript BookSyntax.fm: How this guy got DOOM running purely in TypeScript Types Devtools.fm: Storybook ModernizationJake Bailey: Porting TS to Go (Gophercon talk)David Crespo: Things-viz TypeScript CLISecret of the Handbook: TypeScript Decorators Deep DiveCool LinksTransparent Textures - Create background tiling imagesFree to Use - Like Lofi musicMighty 3 music playerMusicSeahorse Dreams by Kubbi (Spotify)
News for the weeks of December 22 and 29, 2025: MongoDB exploit drops on Christmas day in true Grinchy fashion, a new backend library called Vla that is far from blah, and starter templates for your next React Native app. From the community: NodeTLV keynote, strongly-typed events in gamedev, and a 6-hour deep dive into Doom in TS.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 New Year
(07:52) - News: The Grinch Stole Your Secrets with MongoBleed
(10:39) - News: Node.js Security Release Expected January 7
(11:13) - Library Watch: Vla, the Missing Backend Library for TypeScript
(13:13) - Library Watch: macOS iMessage API SDK for TypeScript
(13:53) - Library Watch: React Native UI Templates
(14:51) - Library Watch: js-draw, a Canvas Drawing Library
(15:48) - Community Highlight: Strongly-typed Events in GameDev by Justin Young
(16:19) - Community Highlight: Flint, a Modern Linting Engine by Josh Goldberg
(16:42) - Community Highlight: Tooling Like It's 2025 by Josh Goldberg
(16:59) - Community Highlight: Major Color.js Update by Lea Verou
(19:18) - Community Highlight: Building Reusable Form Component Library with TanStack Form by Matt Huggins
(19:54) - Community Highlight: Static Hermes is Pretty Cool by Devon Govett
(21:11) - Community Highlight: DOOM in TS Types Stream by MiTS
(22:09) - Community Highlight: Solitaire in TypeScript by Oidoid
(22:57) - Community Highlight: Lo-fi Valley Engine by Leocast
(24:12) - Bleet of the Year
(25:26) - Cool Link: TypeScript Function Inlining
(25:49) - Cool Link: Pass Key Explainer
(29:58) - Cool Game: Outer Worlds 2
(31:26) - The Minnesota Long Goodbye
NewsPSA: Exploited MongoBleed flaw leaks MongoDB secrets, 87K servers exposed PSA: Node.js — Wednesday, January 7, 2026 Security Releases Library Watch: Vla, a data layer that integrates into any TypeScript frameworkLibrary Watch: TypeScript SDK for iMessage automation on macOSLibrary Watch: React Native UI TemplatesLibrary Watch: js-draw, pencil/pen drawing utilities for JS and CanvasFrom the CommunityJustin Young: Strongly Typed Events in GameDevJosh Goldberg: NodeTLV Keynote, Tooling Like It's 2025 Josh Goldberg: What Flint Does DifferentlyLea Verou: ColorJS major releaseMatt Huggins: Building a Reusable Form Component Library with TanStack FormDevon Govett: Static Hermes is pretty coolMiTS: Doom TS deep dive streamoidoid: Super Patience - Pixelated Solitaire in TypescriptLeoocast: Lofi Valley Engine - Make your dream Stardew Valley cloneCool LinksCool Watch: How Passkeys Work - Computerphile Cool Tool: JoshuaKGoldberg/ts-function-inliner: TypeScript transformation that inlines calls to small functionsCool Game: Outer Worlds 2, from the developers of Fallout: New Vegas and AvowedMusicSeahorse Dreams by Kubbi (Spotify)
Our last episode for 2025, see you in 2026! News for the week of December 15 2025: Microsoft's experimental JS/TS modernization agent, new Next.js and Bun releases, and how pnpm is tightening the security screws. From the community: when to use types vs. interfaces, actionable tips on securing your local dev environment, and tips on using TypeScript types as a programming language.MCP in Practice CourseOut 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
(05:18) - News: TSGo Now Supports Experimental Decorators
(06:18) - News: JS/TS Modernization Agent for VS Code
(09:47) - News: Next.js 16.1 Brings Turbopack Caching and a Build Analyzer
(10:32) - News: Bun 1.3.5 ft. Terminal Simulator, Compile-time Feature Flags
(12:50) - News: Standard Schema V1 Released
(14:24) - News: pnpm 10.26 Has Stricter Security Defaults
(16:16) - News: Node Security Updates Pushed to Jan 7
(16:52) - Library Watch: numpy-ts, NumPy but in 100% TypeScript
(18:57) - Library Watch: tinypdf and tinydocx, Minimal Document Creation
(20:02) - Community Highlight: npm Security Best Practices by Liran Tal
(23:10) - Community Highlight: TypeScript Types as a Programming Language by Thiery Michel
(24:46) - Community Highlight: Build a Dino Runner in Deno, pt 3
(25:26) - Community Highlight: Types vs. Interfaces by Yan Sun
(26:31) - Community Highlight: Eleventy's Progress on Zero Config TS
(27:10) - Bleets of the Week
(28:24) - Cool Link: noclip.website Lets You Explore Retro Game Levels
(29:46) - Cool Tool: unplugin-inline-functions for Inlining Functions
(31:48) - Cool Tool: rsdoctor, Analyze Rspack and Webpack Bundles
(33:26) - The Minnesota Year-long Goodbye
NewsExcalibur.js V0.32.0 holiday releaseTSGo PR #2343 adds experimental decorators supportMicrosoft: Announcing the JavaScript/TypeScript Modernizer for VS CodeNext.js 16.1 adds Turbopack improvementsBun: 1.3.5 release terminal simulator (PTY) and compile-time feature flag dead-code eliminationStandard Schema V1 release (h/t ArkType and Josh Goldberg) Library Watch: https://www.npmjs.com/package/numpy-tsLibrary Watch: Lulzx/tinydocx: Minimal DOCX/ODT creation libraryLibrary Watch: Lulzx/tinypdf: Minimal PDF creation libraryFrom the CommunityLiran Tal: NPM Security Best Practices: How to Protect Your Packages After the 2025 Shai Hulud AttackThiery Michel via MarmeLab: TypeScript Types as a Programming Language Deno Runner, Part 3: Build a dinosaur runner game with Deno, pt. 3 Yan Sun via LogRocket: Types vs. interfaces in TypeScript Zach Leatherman: 11ty Zero Config TypeScriptCool LinksCool Plugin: krispya/unplugin-inline-functions - Vite/unplugin for C/C++ style inlining Cool Link: NoClip.website lets you fly around classic game levels like Super Paper Mario, Majora's Mask, and Mario Kart WiiCool Tool: rsdoctor is a bundle analyzer for Rspack-family of tools (and webpack!)MusicSeahorse Dreams by Kubbi (Spotify)
News for the week of December 8 2025: Deno 2.6 is packed with some cool features, Node 24 LTS ships stable type stripping, more React CVEs, and some new browser updates. From the community: JSDoc love, slay your TS type performance, and Figma's plugin system is built on shadows.MCP in Practice CourseOut 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
(06:13) - News: TypeScript 6.0 Will Remove the module Keyword
(07:57) - News: Node 24 LTS Now Has Stable Type Stripping
(08:49) - News: npm Has Revoked Classic Tokens
(09:41) - News: Deno 2.6 Adds dx Command, TSGo Support
(12:42) - News: Follow-up CVEs for React and Next.js
(15:29) - News: Safari 26.2 Updates
(18:36) - News: Chrome 144 Beta Ships Temporal API
(19:17) - Library Watch: Kysera, Type-safe Data Access Toolkit
(20:36) - Library Watch: Elysia, a Backend TS Framework
(22:49) - Library Watch: multithreading.js, the Missing Standard Library for Concurrency
(24:43) - Library Watch: typedriver, for Runtime Type System Integration
(26:53) - Community Highlight: Typeslayer, Debugging Type Performance
(28:32) - Community Highlight: JSDoc *is* TypeScript by culi
(30:24) - Community Highlight: Call to Sponsor ESLint by Nicholas Zakas
(30:47) - Community Highlight: Typing Cypress Aliases by Gleb Bahmutov
(31:54) - Community Highlight: Figma's Plugin System
(34:52) - Community Highlight: Vite 8 Now Reports Slow Plugins
(35:11) - Community Highlight: machine, a TypeScript State Machine Library
(35:54) - Community Highlight: Dino Runner Game in Deno, Part 2
(36:32) - Community Highlight: ArkType and Zod Creators Team Up
(36:57) - Secret of the Handbook: String Literal Template Types
(38:23) - Cool Game: Moomintroll Game on Steam
(39:01) - Cool Link: Slop Detective by Kagi
(39:29) - Cool Conference: NDC Toronto is Announced
(40:11) - Cool Code: Tiny Physics in JS
(41:19) - Cool Tool: Perro Engine Can Transpile C#/TS to Rust
(42:41) - The Minnesota Long Goodbye
NewsTypeScript: In 6.0, you can’t use `module ns` use `namespace ns`Node.js: Type Stripping is marked stable in Node 24 (LTS) release linenpm has revoked classic tokens but there are still risksDeno 2.6: dx is the new npx React Security: Denial of Service and Source Code Exposure in React Server Components WebKit Features for Safari 26.2 Chrome 144 Beta: Getting the Temporal APILibrary Watch: Kysera – type-safe data accessLibrary Watch: ElysiaJS – end-to-end typing web framework built on BunLibrary Watch: multithreading.js – The missing standard library for multithreading in JavaScript (Works in the browser, Node.js, Deno, Bun) Library Watch: Typedriver – sinclairzx81/typedriver: High Performance Driver for Runtime Type System Integration From the CommunityDimitri and MiTS: TypeSlayer - a TypeScript types performance tool 🤘 Culi: JSDoc *is* TypeScriptNicholas Zakas: ESLint Needs Sponsors Gleb Bahmutov: How To Type Function Mocha Context With Cypress Aliases Figma: How We Built Figma's Plugin SystemDoeixd: machine – compile-time safe state machineDeno: Build a dinosaur runner game with Deno, pt. 2 Kobi Hari: How Did I Miss This After 5 Years: TypeScript’s String Literal TemplatesCool LinksMoomintroll Winters Warmth Slop Detective from KagiNDC is coming to Toronto! Tiny JS physics Perro – a Rust game engine that transpiles C#/TS for game logicMusicSeahorse Dreams by Kubbi (Spotify)
Sam Gammon joins the two fools to talk about Elide, a batteries-included multi-language runtime. What if you could import Python modules from TypeScript... or Ruby, or Kotlin, or Rust? What if you could consolidate multiple backends to just one that ran all your code end-to-end with a unified DX? And what if doing all that was just as fast (or faster) than your existing backend? That's what we talk about in this episode!ResourcesElide on GitHubElide docsJoin the Elide Discord serverWhere to Follow the TeamSam on GitHubSam on XChapters(00:00) - Introducing Elide, a Multi-language Runtime Built on GraalVM
(03:51) - Why Support Multiple Languages?
(07:42) - What is GraalVM, anyway?
(09:43) - What are the Languages Elide Supports Today?
(10:53) - How Does Elide Interop Between Languages?
(14:03) - What Magic Allows TypeScript to Import a Python Module?
(16:12) - How Does Elide's API Compare to Other Runtimes?
(18:26) - Elide's Embedded Inference Engine and API
(20:11) - How Does Elide Handle Idioms Like Promises?
(22:39) - What About Single- vs. Multi-threading?
(24:41) - What About Concurrency and Isolation?
(28:33) - Does Elide Help with Serverless Cold Starts?
(29:25) - Can Elide Compile Single-file Executables?
(31:06) - How is TypeScript So Fast in Elide?
(33:34) - Can We Start Building with Elide?
(35:14) - How Do You Debug Across Multiple Languages?
(38:13) - Where Does Elide Really Shine?
(40:56) - How is Elide Planning to Win?
(42:53) - Could Elide Support a Native Runtime Type System?
(45:26) - Takeaways and Where to Learn More
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 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)



