Discover
TypeScript.fm - The Friendly Show for TypeScript Developers
TypeScript.fm - The Friendly Show for TypeScript Developers
Author: Kamran Ayub and Erik Onarheim
Subscribed: 15Played: 140Subscribe
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!
95 Episodes
Reverse
News for the weeks of September 21 and 28, 2026: Vite+ 1.0 is now stable, SvelteKit 3 is finally here, TanStack has charts now, and why everyone is launching decision models. From the community: awesome TypeScript books, why you shouldn't be afraid of generics, and how Booking.com cut Node scaling costs by 38%.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) - Tooling: Vite+ 1.0 Stable Announced
(05:58) - Tooling: Introducing upm, a New Package Manager
(09:42) - Tooling: TanStack Charts 1.0 Announced
(12:08) - Metaframeworks: SvelteKit 3 is Here
(13:38) - Framework: Nuxt 4.6 Brings Nuxt CLI v4 and is Closer to Being Server Agnostic
(18:26) - Web Platform: ECMAScript Composites TC39 Proposal
(21:56) - Web Platform: Cloudflare Open Sources cf CLI and Forge
(25:40) - Web Platform: Cloudflare Introduces Clef, an Open Weights Decision Model
(30:41) - Web Platform: Chrome 154, Responsive iframes
(31:49) - Web Platform: Firefox 157's Fresh Design
(33:03) - Security: Next.js September 2026 Patches Available
(33:46) - Library Watch: Preact 11 - ESM-only, Hydration v2, Modern Diffing
(35:43) - Library Watch: Effect Module of the Week, RcMap
(36:35) - Library Watch: mimlet 0.1 for Testing with Mock Data
(37:33) - Library Watch: oxbox, a Tiny Portable Library for Parsing, Transforming JSX/TSX
(37:53) - Library Watch: safemods, Type-directed Code Mods for TS 7
(39:49) - Library Watch: GTKX, Linux desktop apps with React and JSX
(41:20) - Secret of the Handbook: Const Generics (Again)
(42:52) - Community: Angular's TypeScript 7-powered Compiler
(45:54) - Community: Josh Ghoulberg is Excited About no-unsafe-enum-assignments TS ESLint Rule
(47:02) - Community: Awesome TypeScript Books by tscollege
(48:19) - Community: Max Hurst Reassures Us Not to Be Afraid of Generics
(49:47) - Community: Dan Holloran on How to Clean Up Your TSConfig for TS7
(50:32) - Community: Rahul's Readable Regular Expressions Inspired by Emacs
(53:13) - Community: Razvan's Glossary of Programming Terms
(54:05) - Community: How Booking.com Scales Node.js and Cut Costs by 38%
(58:06) - Community: NOMIAD, an Open World Sci-Fi Game Written in WebGL and TypeScript
(59:05) - Community: Claude Mods Customize Your Clanker
(01:00:24) - Community: dsherret's TypeScript Factory Code Generator Generator
(01:01:18) - Community: Kris Jenkins Used SpaceTimeDB to Visualize Wikipedia Edits
(01:02:14) - Bleet of the Week
(01:02:49) - Cool Link: How to Render Text from Font Files by Jimmy Lefevre
(01:03:59) - Cool Prompt: Create a Trip Highlight Video
(01:10:02) - The Minnesota Long Goodbye
NewsVoidZero: Announcing Vite+ 1.0Plus: ViteConf 2026 (October 15)Socket: Introducing upm TanStack: TanStack Charts 1.0 announced SvelteKit: SvelteKit 3 is here Nuxt: Nuxt 4.6 ECMAScript: TC39 Composites via RobCloudflare: Open-sourcing cf and ForgeCloudflare: Introducing Clef: our open-source decision models, and new RL fine-tuning platformRelated: AWS launches a local answer to TypeSafe's Jev decision modelChrome: New in Chrome 154 Mozilla: Firefox 157.0, See All New Features, Updates and Fixes Next.js: September 2026 Security Release Library WatchPreact 11: Post by @jovidecroock.comEffect.ts Module of the Week: RcMapMimlet 0.1.0-beta.0: create mock test dataSafemods: type-directed code mods for TypeScript 7GTKX: native Linux desktop apps with ReactFrom the CommunityAngular Team: An update on Angular’s TypeScript 7-powered Compiler Josh Goldberg: typescript-eslint finally gets "no-unsafe-enum-assignments"TScollege: Awesome TypeScript Books Max Hurst: Do Not Be Afraid of Generics Dan Halloran: Your tsconfig Is Still Written for TypeScript 5. Here's the Cleanup TS 7 ForcesRahul M. Juliato: Readable Regular Expressions for JavaScript/TypeScript, Inspired by Emacs' rxRazvan Muntian: a programming glossaryBooking.com: Node.js at scale, rebalanced: how we cut cost by 38%NOMIAD: an open-world sci-fi game in WebGL written in TypeScriptAnthropic: Customize Claude Code with mods in TypeScriptDavid Sherret: TypeScript Compiler API Factory Code Generator Generator (via Evangaline Rome)Kris Jenkins: SpaceTimeDB w/ TypeScriptBleet of the Week
In this special episode, the two fools are joined by Cameron Clark and Jim Dummett from VoidZero (and now, Cloudflare) to talk about the latest developments in type-aware linting, Vite+ and the Vite ecosystem, and what the future of dev tooling looks like for TypeScript and JavaScript developers.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) - Introducing Cameron Clark and Jim Dummett
(04:55) - The VoidZero Acqui-hire
(11:47) - The Vite Toolchain
(16:04) - What Dark Magic Makes TypeScript Plugins Work with oxlint?
(23:42) - Type-aware Linting via Oxlint and TypeScript 7
(27:02) - Type-aware Linting is Now Stable, What Does That Mean?
(29:39) - Does TypeScript 7's Performance Unlock New Kinds of Lint Rules?
(33:13) - What is Coming Next to Dev Tooling?
(37:29) - How Can Dev Tools Help Optimize Agent Interactions?
(50:42) - Takeaways and Where to Follow Jim and Cameron
(57:09) - The Minnesota Long Goodbye
LinksCameron on GitHubJim's talk on oxc and type-aware lintingVite+ (and 1.0 announcement)Void CloudVoidZero Blogoxlint plugin: anti-slopMusicSeahorse Dreams by Kubbi (Spotify)
News for the week of Sep 14, 2026: latest Node 26 includes experimental benchmark tests, a modern drop-in replacement for DOM typings, and we try to understand Jev, bruv. From the community: how GitHub rewrote Copilot's runtime in Rust, learn about ESM, and why Shopify ditched React Native (spoiler: agents).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:02) - Tooling: Node 26.9.0 Lets You Write Benchmarks with node:bench
(08:49) - Tooling: Jev, the Type-safe AI
(15:25) - Tooling: TypeScript 7 Works Around New Golang FMA Changes
(17:58) - Frameworks: GeaStack Compiles Typescript to Native Apps with C++
(20:00) - Frameworks: Ember 7.2, New Built-in Strict Resolver and ESM-only
(20:46) - Web Platform: Firefox 156, Can Now Open Automatically on macos
(21:21) - Security: Happy Birthday Shai-Hulud!
(22:17) - Security: GitHub Actions Tries to Limit Cache Poisoning Risk
(23:47) - Security: Gitea Affected by Severe RCE Vulnerability
(24:47) - Library Watch: modern-web-types Drop-in Replacement for DOM Typings
(26:52) - Library Watch: sqlbraid Lets You Write SQL and Keep TypeScript
(29:28) - Library Watch: temporal-parser, a Lexer and Parser for Temporal Expressions
(31:06) - Library Watch: Zod 4.6 Comes With Some Perf Improvements
(32:26) - Community: Puffball Explains How TypeScript 7 Creates Typed ASTs in Go
(33:44) - Community: ESModule.com, Learn About ES Modules
(34:47) - Community: cm.xyz Explains Why You'd Use Effect
(36:27) - Community: Porffor Can Compile TSC
(37:34) - Community: Stephen Toub on How GitHub Rewrote Copilot Runtime in Rust, with Copilot
(42:29) - Community: ecyrbe Creates Typeskell to Experiment with Typeclasses
(42:52) - Community: Barak's Complete Guide to HOCs with Next.js, React, and TS
(43:53) - Community: Orhun Interviews Sebastian from OpenTUI
(44:34) - Community: Shopify Switched Back to Swift and Kotlin from React Native
(48:07) - Bleet of the Week
(49:31) - Cool Link: Design Your Own Silicon Chip
(50:41) - Cool Link: The Essential Craftsman
(53:10) - The Minnesota Long Goodbye
NewsNode: 26.9.0Syntax: Jev Explained: Demos and Use Cases Jake Bailey: Go FMA’s introduce non-determinismGeastack compiles TypeScript to native apps via C++Ember: 7.2 releasedFirefox: Firefox 156.0 release Socket: Happy Birthday, Shai-Hulud GitHub: Control GitHub Actions cache access with cache-mode Gitea RCE Vulnerability: Ed from Low Level's update on git situation Library Watchmodern-web-types is a drop-in replacement for dom typings with modern APIsClickin/SQLBraid: Write SQL. Keep TypeScript. Skip the query-builder translation layer taskade/temporal-parser: A lexer and parser for temporal expressionsZod 4.6 perf fixes and Zod Mini standaloneFrom the Communityiamstan.dev: ES Modules via JamesPuffball: Inside TypeScript 7's Go Port: Designing Typed AST Nodes Without a Giant Structcm.xyz: Understanding Why You'd Use Effect.ts Porffor: TSC compiled with PorfforStephen Toub: Migrating the GitHub Copilot runtime to Rust, using CopilotTypeskell is a cursed projectBurak.dev: The Complete Guide to HOCs in Next.js with React and TypeScript Interview with OpenTUI https://bsky.app/profile/orhun.dev/post/3mvlg6qrwls2u Shopify: Native is now the future of mobile at Shopify Bleet of the WeekXKCD comic: guaranteed to be randomCool LinksDesigning Silicon From Scratch Dr.Semiconductor - YouTube Essential Craftsman – absolute gold carpentry tipsMusicSeahorse Dreams by Kubbi (Spotify)
News for the week of Sep 7, 2026: new browser loot drops in Chrome 153 and Safari 27, React 19.3 lets you control view transitions, and how Cloudflare rewrote the workers module registry for better Node.js compatibility. From the community: why nobody pays OSS projects, interactively learn Effect, and the motivation behind Zena the Warrior Princ--er, a new programming language inspired by TypeScript.Partake in the No Sloptober Challenge!Head to no-sloptober.com to read the manifesto and see if you can challenge yourself to turn off LLMs and AI for October. 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) - Tooling: React 19.3
(08:50) - Tooling: React Compiler is in Vite 8 via oxc
(10:17) - Web Platform: Chrome 153 Brings (Proper) Single-axis Scroll Support
(12:04) - Web Platform: Safari 27 First to Add Import Defer Support
(17:04) - Web Platform: Cloudflare Turns Node Compatibility On By Default
(20:42) - Library Watch: srvquery, Fully-typed Library for Browsing Game Servers
(21:32) - Library Watch: microlighter, Zero Dependency Syntax Highlighter Using CSS Highlights API
(23:15) - Library Watch: mcp-tada, Turn a MCP Client Into a Typed API
(25:22) - Library Watch: upyo, Cross-runtime Email Sender
(26:51) - Community: Laurie Voss Explains How We Can Force Companies to Pay for Open Source
(33:35) - Community: Kit Langton Made an Interactive Intro to Effect.ts
(34:52) - Community: Dan Holloran Advocates for Using the Built-in node:test Runner
(36:45) - Community: Pablo Androetto Ported Thousands of Windows Games to the Browser in Excalibur.js
(38:07) - Community: Dimitri Metropoulos Helps You Solve TS Performance Problems
(39:19) - Community: Hexagon Hunt-and-Kill Maze Using Mazely
(39:48) - Community: Justin Fagnani Explains Why He Made Zena, a TypeScript-inspird Programming Language
(42:12) - Bleet of the Week
(43:02) - Cool Link: Undisputed Authority with Roger Martin
(46:42) - Cool Link: Fresh is a Powerful Terminal Text Editor and IDE
(48:15) - Cool Link: How to Build Weighted Loot Tables
(48:45) - The Minnesota Long Goodbye
NewsTooling: React 19.3Tooling: What's New: August 2026 from VoidZeroWeb Platform: New in Chrome 153Web Platform: Safari 27 Release NotesWeb Platform: How we rebuilt Cloudflare Workers’ module registry for Node.js compatibility Library WatchSrvquery: fully-typed library for browsing game servers microlighter: zero-dep syntax highlighter using CSS Highlights API mcp-tada: create typed APIs for a MCP client Upyo: runtime-agnostic email sending library From the CommunityLaurie Voss: Nobody pays for open source. We can force them to.Kit Langton: Learn Effect.ts Dan Holloran: node:test is the test runner you already have installed Pablo Androetto: Game Preservation Dimitri Mitropoulos:Solving Your TypeScript Performance Problems - Dimitri MitropoulosWujue: A hexagon hunt-and-kill maze using MazelyJustin Fagnani: Zena: TypeScript like language Bleet of the WeekCool LinksGet the Fresh editor in the terminalTwo Ways to Roll Weighted Loot Undisputed Authority: Roger Martin Brett Codes: I'm done using AIMusicSeahorse Dreams by Kubbi (Spotify)
News for the week of Aug 31, 2026: Vitest 5's new doctor command and perf enhancements, Rslib is now stable, and Astro 7.3 lets you run multiple preview servers at once. From the community: build circuit boards in React, TypeScript for Ruby devs, and another compile-time crime of implementing Brainf*** in TypeScript types.Partake in the No Sloptober Challenge!Head to no-sloptober.com to read the manifesto and see if you can challenge yourself to turn off LLMs and AI for October. 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:51) - Personal Challenge: No Sloptober
(10:53) - Tooling: Strongly-typed Normalized File Paths in the TS Codebase
(13:05) - Tooling: Ember for TS 7 Declared Ready
(14:23) - Tooling: Bun 1.4.1 Now Types Import Attributes in TS 7.1 Nightly
(14:49) - Tooling: Vitest 5 Brings Trace View, Doctor, and Temporal Mocking
(17:08) - Tooling: rslib 1.0, like TSDown But Built on rspack
(20:41) - Metaframeworks: Astro 7.3 Can Run Multiple Preview Servers at Once
(21:16) - Security: Outsource Vulnerability Remediation to Cloudflare's Managed Defense
(24:08) - Library Watch: Starlight 0.42
(25:17) - Library watch: HQTUI, a High Quality Terminal UI
(26:08) - Library Watch: tsmc, a TypeScript Runtime Written in minc
(27:27) - Library Watch: tscircuit, React for Electronics
(29:01) - Library Watch: jasypdf, Declarative PDFs in Pure TypeScript
(30:04) - Library Watch: @stdlib/stdlib, Fundamental Numerical Library for JS and TS
(30:24) - Library Watch: RetroImgHandler Can Decode, Validate, Convert, Preview, and Encode Retro Graphics
(31:12) - Library Watch: causewalk, Inner Exception Unwrapping
(33:12) - Library Watch: numpy-ts 1.7.0 is Now Faster Than Native NumPy
(34:12) - Community: Kev Helps Ruby Devs Learn TypeScript
(34:48) - Community: Hugo Wrote Brainf*** in TypeScript Types
(36:23) - Community: How Turbopack Chunks Your JavaScript by Next.js
(36:52) - Community: How Next.js Closed 1500 GitHub Issues in One Month
(38:32) - Community: What's New in Svelte, Aug 2026
(38:52) - Community: David Dal Busco Wrote Two Tiny Utils for the Result Pattern
(40:54) - Community: Matt Pocock Praises Effect.ts for Backends
(41:38) - Bleet of the Week
(42:26) - Cool Link: Bookmarklet to Open a New Tab Next to the Current One
(44:25) - Cool Link: Understanding TETRIS as a Game Developer
(45:59) - Cool Link: Orbliterate! A Game That Uses CAD for Level Design
(47:03) - The Minnesota Short Goodnight
NewsTypeScript: Strongly Typed paths example Ember for TS 7 declared ready Bun v1.4.1Vitest 5.0 is outRslib 1.0 is out Astro 7.3 – run multiple preview servers at onceCloudflare: Introducing context-aware vulnerability discovery and remediationLibrary WatchStarlight 0.42 documentation using AstroHQTUI: A high-quality terminal UI libraryTSMC: A TypeScript runtime written in mincTSCircuit: React for electronic circuit boardsJASYPdf: Declarative PDFs in pure TypeScriptStdlib: Numerical and scientific funamental standard library for JS/TSRetroImgHandler: Encodes, decodes retro graphicsCausewalk: Think inner exception unwrappingNumpy: 1.7.0 numpy-ts is faster than native NumpyFrom the CommunityKev: TypeScript for Ruby devs · codingpawsHugo: Brainf*** written in TS types Next: How Turbopack chunks your JavaScriptNext: How we closed 1,500 GitHub issues in one month Svelte: What’s new in Svelte: September 2026 David Dal Busco: Two Tiny Utils for the Result Pattern Effect: Matt Pocock praises Effect.ts Bleet of the WeekCool LinksBookmarklet from Dr. Axel: Open new tabs next to currentUnderstanding TETRIS As a Game Developer Orbliterate! uses parametric CAD for levels with TypeScript scripting for game logicMusicSeahorse Dreams by Kubbi (Spotify)








