TypeScript.fm - The Friendly Show for TypeScript Developers

Kamran Ayub and Erik Onarheim
TypeScript.fm - The Friendly Show for TypeScript Developers

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!

  1. 1 DAY AGO

    Strip Your Own Types, New Rust-based Linter, and #ROLP is Trending | News | Ep 22

    News for the week of June 9, 2025: Node's type stripping wrapper is released as a standalone package, VoidZero is building a super fast linter, and pnpm introduces experimental virtual store for speeding up package installs. From the community: secure your TS apps, #ROLP, and updated Exploring JS book edition for 2025. Chapters (00:00) - Introduction and Personal News (05:34) - News: Amaro, the Node.js Type Stripping Wrapper, Has 1.0 Release (06:39) - News: New Oxlint 1.0 Release is 50-100x Faster Than ESLint (08:37) - News: pnpm 10.12 Introduces Experimental Global Virtual Store (10:14) - News: TypeFire is a New Meta Programming Framework for TS (14:37) - News: Go 1.25 Promises Better GC Performance (16:01) - News: Apple Announces Safari 26 Enhancements at WWDC (18:52) - Community Highlight: Liran Tal's TypeScript Security Talk (21:16) - Community Highlight: justin, a JIT Schema Validation Library by cinny.bun.how (24:13) - Community Highlight: React Final Form Migrates to TS (26:32) - Community Highlight: Flint, Josh Goldberg's New Type-aware Linting Project (27:33) - Community Highlight: New Edition of the 'Exploring JavaScript' Book by Dr. Axel (28:23) - Community Highlight: Rule of Least Power by Jason Yu (29:34) - Cool Tool: Type Buddy Helps Translate Complex Typings (30:58) - Cool Tool: node-email-verifier Library for Verifying Emails (31:39) - Cool Listen: Bootstrapped Founder and Nathan Barry Podcasts (32:55) - Cool Listen: From Microsoft to Full-time OSS Maintainer (33:47) - Cool Listen: Alex Lichter on Vite, Rolldown, and oxc (34:21) - Cool Listen: Nic Barker's Flexbox-style Layout Library Written in C NewsAmaro 1.0 release (h/t Rob Palmer) – Node's type stripping wrapperOxlint 1.0 release – TypeScript/JS linter written in Rust from VoidZeropnpm 10.12 (h/t socket.dev) TypeFire - a meta programming framework for TS (h/t nxjosh)Go 1.25 promises more speed! Good news for TSGO? (Video: Go just got faster.. )Apple’s WWDC featured Safari 26 Beta improvements, including WebGPUFrom the Community Liran Tal - Friend or Foe? TypeScript Security Fallacies Justin: a typescript data validation library utilizing just-in-time function compilation. (h/t Charlotte / cinny.bun.how)🏁 Final Form goes to TypeScriptJosh Goldberg's If I Wrote a Linter, Part 4: SummaryYour code: powerful, but not clean. Here's why (Jason Yu)Dr. Axel announces release of ES2025 Edition for Exploring JavaScriptCool Stuff Type Buddy (h/t Seb)jesselpalmer/node-email-verifier: A Node.js module for verifying email addressesArvid Kahl's Bootstrapped Founder podcastThe Nathan Barry Show podcastWhy Use C for UI Library? | Nic Barker Ink, build CLI apps in ReactJosh Goldberg interview on Weekly Devs Brew PodcastAlex Lichter of VoidZero on ConTejas Code podcast 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)

    38 min
  2. 10 JUN

    TSC Init New Defaults, Who Dis? Plus Vite 7, Babel 8 Betas | News | Ep 21

    News for the week of June 2, 2025: TSC init command gets new, modern defaults, plus new betas drop for Vite 7 and Babel 8. From the community: Learn advanced TS features in 25 mins, and improve the performance of your TS monorepos with secret arcane knowledge. Chapters (00:00) - Introduction and Personal Updates (02:26) - News: tsc --init Finally Has New Defaults (04:39) - News: Deferred Imports Syntax Will Land in TS 5.9 (06:38) - News: Vitest 3.2 Brings Annotations, Better TS Support (08:21) - News: Vite 7 Beta (09:17) - News: Babel 8 Beta (10:49) - News: Storybook 9 Adds Interaction Tests, A11y Improvements (11:54) - News: TC39 Proposal Advancements (14:54) - News: IRS Uses TypeScript and React (16:50) - Community Highlight: The M.I.N.T. Principle by Sean Maxwell (22:07) - Community Highlight: Advanced TS by Web Dev Simplified (22:32) - Community Highlight: TS Monorepo Tips by Mike Hartington and Colin Hacks (24:30) - Community Highlight: Learn How Signals Work in TypeScript by Jon Kuperman (25:32) - Community Highlight: Your Feedback! (27:07) - Cool Stuff: Reverse-Engineering Linear's Sync Engine (28:09) - Cool Stuff: Chrome Performance Profiler Gets a Facelift Newstsc --init gets new defaults (h/t Rob Palmer)TypeScript 5.9 gets import deferred (h/t Rob Palmer)Vitest 3.2 is out!Vite 7 beta changelog entryAnnouncing Babel 8 Beta Storybook 9 Bluesky breakdown threadTC39 proposals advanceThe IRS Tax Filing Software TurboTax Is Trying to Kill Just Got Open SourcedFrom the Community The MINT Principle – When to use object-oriented programming in TypeScript (h/t Reddit)Learn Advanced TypeScript In 25 Minutes (infer, extends, ternaries) Mike Hartington gave a talk on TypeScript performanceLive types in a TypeScript monorepo (Colin Hacks)Learn Signals by reading TypeScript (Jon Kuperman)Cool Stuff Reverse-engineering Linear's sync engineChrome personal profiler changes (Paul Irish)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)

    31 min
  3. 5 JUN · BONUS

    Painless TSConfig Migrations | Jason Yu | 20B

    Jason Yu (ycmjason.codes) joins us to share an open source tool he created to help teams migrate their legacy TSConfig compiler options to modern-day options painlessly and progressively. Learn about his experience implementing strict options on big teams, how it inspired his new tool, and how you can take advantage of it right now! Chapters (00:00) - Meet Jason Yu (03:27) - Challenges of Migrating Legacy TypeScript (05:44) - What is ts-migrating? (07:01) - How Does ts-migrating Help Migrate TSConfig? (09:05) - What Does the ts-migrating CLI Do? (10:02) - How Do You Migrate Incrementally? (11:16) - How Do You Get Started with ts-migrating? (12:06) - Tackling the Migration in Small Chunks (13:12) - How Does This Compare to Using Folder-based TSConfig? (14:12) - What About ts-expect-error and ts-ignore Directives? (16:25) - What About Multiple TSConfigs? (17:34) - Are There Any Unsupported Compiler Options? (19:28) - How Do You Build a TypeScript LSP Plugin? (22:18) - How Will This Work with TS 7 (Go Native Port)? (23:57) - Advice for Teams Migrating TSConfig (25:52) - Jason's Favorite Coding Principles (32:42) - Where to Follow Jason Online LinksJason’s Links: https://ycmjason.codes Migrate your TSConfig incrementally: https://github.com/ycmjason/ts-migrating Blog / Video: 7 Modern Use Cases of IIFE ts-migrating Inspiration: https://github.com/allegro/typescript-strict-pluginMS Docs: Writing a Language Service PluginSponsored 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)

    34 min
  4. 3 JUN

    Angular Turns 20, Remix Revived, and Hurricane André Hits Firefox | News | Ep 20

    News for the week of May 26, 2025: Angular's 20th release brings DX improvements, Remix replaced by React Router receives reincarnation, and how a lone volunteer brings the much-anticipated Temporal API to Firefox. Chapters (00:00) - Personal News and Updates (04:46) - News: Angular 20 is Out and It's Boring (But in a Good Way) (08:39) - News: Remix Receives Revival (10:03) - News: Vite with Rolldown is in Preview (11:32) - News: What's New with Astro in May 2025 (12:05) - News: Temporal API Finally Hits Browsers with Firefox 139 (16:52) - PSA: Take the StackOverflow 2025 Developer Survey! (17:40) - Community Highlight: Josh Goldberg's Types Beyond TypeScript Talk (18:27) - Community Highlight: sirhamy on the Cost of Throwing Errors in JS/TS (19:16) - Community Library Watch: ts-migrating for Migrating Your TSConfig Incrementally (20:26) - Community Library Watch: jsonv-ts, a JSON Schema Validator (21:08) - Community Library Watch: tsargparse, a Type-safe CLI Parser (21:28) - Community Highlight: TypeScripting the Technical Interview by Richard Tower (22:02) - Community Highlight: CanIUse... for Angular by angular.courses (22:25) - Community Highlight: Type-safe Internationalization by Web Dev Simplified (23:13) - Community Highlight: Deno Might Have the Features You're Missing (23:41) - Community Highlight: skeary.me Wrote a Programming Language... in TypeScript Types (24:30) - Discuss: Competition Between Node.js, Deno, and Bun (29:51) - Cool Links: David Macaulay is a National Treasure (32:05) - Cool Links: Progressive JSON by Dan Abramov (33:24) - Cool Stuff: Curated List of Data Grids by Ian Langworth (33:54) - Cool Stuff: Hack Into React Internals with bippy (34:43) - Cool Stuff: Wookash Interview with Inigo Quilez (35:29) - Cool Stuff: Building a Software Rasterizer with Sebastian Lague NewsAngular 20 is out! (And it's boring)Remix gets revivedAnnouncing Rolldown-ViteWhat’s New in Astro – May 2025Shipping Temporal (Matt Pocock video, Wes Bos tweet)PSA: Stack Overflow Survey 2025 is OpenFrom the Community Josh Goldberg gives Types Beyond TypeScript talk at JS Nation 2025Hamilton teaches us about errors as values and how they're 335x faster than throwing new errors (sirhamy)Typescripting the technical interview (Richard Towers)Angular CanIUse How To Handle Internationalization Like A Senior Dev (Web Dev Simplified)Deno Might Have the Exact Tools You’re Missing… TLTSS: a language written in TS types (by skeary.me)Library watch: Jason Yu’s ts-migrating tool helps teams migrate their codebase to modern TSConfig settings incrementally!Library watch: jsonv-ts validates and produces clean JSON schemas with a Zod-like API (h/t Reddit)Library watch: tsargparse is a simple type-safe CLI args parser (h/t Reddit)Discuss: Are Deno, Bun, and Node.js competing? (via James Snell)Cool Stuff KamranThe Way Things Work (1994) on Classic ReloadDavid Macauley’s book, Motel of the Mysteries (1979)ErikDan Abramov - Progressive JSONCurated List of JS Grids by Ian LangworthBippy - Hack into React: Wookash: Painting with Math | Inigo Quilez Coding Adventure: Software Rasterizer with Sebastian LagueSponsored 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) Creators & Guests Erik Onarheim - Host Kamran Ayub - Host

    38 min
  5. 27 MAY

    TypeScript Native is Now in Preview | News | Ep 19

    News for the week of May 19, 2025: Try out the new TypeScript Go native port, Zod 4 is out, and no, Deno is not dead. Chapters (00:00) - Introduction and Personal News (05:12) - News: TypeScript Native is in Preview! (10:12) - News: Anders' Talk About TS Native at MS Build (12:58) - News: Zod 4 is Officially Released (15:51) - News: Reports of Deno's Demise Are Greatly Exaggerated (17:23) - News: Importing JSON Across Major Browsers (20:13) - News: Experimental node.config.json Support (24:43) - Community Highlight: A Brief History of JavaScript by Deno.land (25:40) - Community Highlight: tsdown Now Supports Transpile-only Unbundle Mode (27:21) - Community Highlight: Vite's Rolldown Preview is Here (28:19) - Community Highlight: Go Attend Jake Bailey's Gophercon TS Talk (28:41) - Community Highlight: super-utils-plus, a Modern Lodash Alternative That's TypeScript-first (29:17) - Community Highlight: tsc.run, a TypeScript Serverless Framework (29:58) - Community Highlight: How to Create a TS Library That Runs Everywhere in 2025 (30:45) - Community Highlight: TypeScript.jobs Board is Looking for Feedback (31:28) - Cool Stuff: Markdown Presentation Frameworks (33:21) - Cool Stuff: Wookash Interview with Andreas Kling (34:31) - Cool Stuff: Computers & Prime Numbers by Purple Mind (34:51) - Cool Stuff: Playwright Testing Talk from MS Build (35:15) - Cool Stuff: Reporting on AI's Energy Usage (35:51) - Cool Stuff: Six Ways to Make Your Electron App Faster (36:56) - Fun Stuff: My New Favorite Hobby is Watching Microsoft Employees Being Slowly Driven Insane by AI Copilot LinksMicrosoft Announces TypeScript Native PreviewsZod 4 is officially released 🎉Reports of Denos Demise are greatly exaggeratedYou can now import json files across browsers (h/t stefanjudis.com)Experimental node.config.json support in Node 24.1.0 minor release (h/t aduh95)Deno’s brief history of JavaScriptTsdown now has unbundle support (h/t sxzz.dev)Vite now has a Rolldown preview tooMS Build: Anders gave a talk on TypeScript native portJake Bailey built a tool called ts-to-goJake Bailey will also be speaking about TS Go at Gopherconsuper-utils-plus: modern lodash alternative that's TypeScript-first by Dhaxor (Gain John)How To Create a Simple TypeScript Library That Runs Everywhere (2025) Tsc.run – A TypeScript-first serverless framework (via Reddit)Looking for a TS job? The TypeScript.jobs board folks are looking for feedback (via Reddit)MIT Technology Review has an absolute banger of a series on AI energy usageImprove Electron app performance by Amila over at palette.dev, the maintainer of electron-react-boilerplateReddit: My new favorite hobby is watching Microsoft employees being slowly driven insane by AI copilot presenterm, a Markdown presentation tool that runs in your terminalVia Daniel Raniz: https://sli.dev, another Markdown presentation toolMS Build: Advanced Playwright Debugging and Test Resilience | DEM499 MS Build: How Microsoft Developers Use AI in Real-World Coding | BRK103 Can You Build a Web Browser? | Andreas Kling How Computers Generate Massive Primes In SecondsGoogle Slides Code Highlighter (from Roman Nurik)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) Creators & Guests Erik Onarheim - Host Kamran Ayub - Host

    39 min
  6. 20 MAY

    Microsoft Layoffs Impact TypeScript Team | News | Ep 18

    News for the week of May 12, 2025: Microsoft layoffs impact TypeScript team, and Deno explains the radio silence on Fresh 2.0. Chapters (00:00) - Personal News (06:25) - Correction: Node 24's Security Model (07:22) - News: Microsoft Lay-offs Impacting TypeScript Team (11:32) - News: Deno Posts an Update on Fresh 2.0 (13:27) - News: TSGo Gets LSP Concurrency (16:19) - Community Highlights: String Split Typing Quirks by kramer.run (18:21) - Community Highlights: Shawn Wildermuth on "Just Enough TypeScript" (18:57) - Community Highlights: Reminder for Migrating TS Import Paths in Node 24 (20:24) - Community Highlights: Reddit on What Was the Hardest Thing to Learn About TS? (23:43) - Community Highlights: Increasing Memory Limit for eslint and TS Server (24:02) - Community Highlights: Type Assertions: Trust Me Bro by chrisk-7777 (24:36) - Community Highlights: TypedRocks on the Secret 'this' Parameter (26:58) - Cool Stuff: Typing your dotenv variables (27:41) - Cool Stuff: Escape the City (28:54) - Cool Stuff: Pirate Sea Shanties Meet Pop Rock (30:07) - Cool Stuff: Open 5e for D&D Nerds (31:17) - Cool Stuff: Run JavaScript in Godot LinksNews: Microsoft LayoffsNews: Deno Fresh – An Update on 2.0 (h/t deno.land)Let Ron Buckton know how much you appreciate his workBluesky: String split quirk (h/t kramer.run)Video: Oldie but a goodie (2023), “just enough TS" by Shawn WildermuthTip: Don't forget about TS import migration for Node 24 (h/t jakob.jingleheimer.dev)Reddit Discussion: what was the hardest part of learning TypeScript?Reddit tip: increasing memory limit for eslint and TS serverBlog: The TSConfig Cheat Sheet (Matt Pocock)Blog: A Guide to tsconfig.json (Dr. Axel / 2ality)Blog: Type Assertions and the as keyword (chrisk-7777)Video: The Secret THIS Parameter: TypeScript’s overlooked Superpower Explained! (Typed Rocks)Video: 6 TypeScript tips to turn you into a WIZARD (Matt Pocock)Tip: strongly type process.env so you can enforce your dotenv files (h/t aaronmcadam.com)Cool stuff: Escape the City outdoor gameCool stuff: Sail North – pirate sea shanties meets pop/rockCool stuff: Open5e for D&D nerdsCool stuff: Add TypeScript/JavaScript Support for Godot 4 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) Creators & Guests Erik Onarheim - Host Kamran Ayub - Host

    33 min
  7. 15 MAY · BONUS

    What's New in Node 24 | Deep Dive | Ep 17B

    In this week's deep dive, we cover everything TypeScript developers need to know about the latest Node 24 release, including examples of each new language feature. We've even put together a code snippet repo you can check out! Chapters (00:00) - Introduction to Node 24 and TypeScript Support (02:49) - Type Stripping and Experimental Transform Types (05:53) - Stable Permission Flag Security Model (09:38) - V8 13.6 Brings New Language Features (10:04) - API: CPU Hinting Micro-waits with Atomics.pause (12:35) - API: Reduce Memory Using Float16Array (14:56) - API: Format Time Durations with Intl.DurationFormat (16:33) - API: Explicit Resource Management with using (17:07) - API: What's Really an Error with Error.isError (18:48) - API: Parse Routes with URLPattern API (20:51) - API: Sanitize Input with RegExp.escape (21:39) - API: RegExp Modifiers in Sub-expressions (23:05) - API: RegExp Duplicate Named Capture Groups (24:07) - PSA: Node 24 Typings Are Still a WIP (25:14) - Deprecations and Removals (29:17) - npm 11: Changes to Lifecycle Scripts (30:41) - Undici 7 Brings HTTP Performance Enhancements (31:11) - Test Runner Now Waits for Sub-tests (31:45) - next-10 and the Future of Node.js LinksRepo: Node 24 Examples in TypeScript (by Kamran)Node 24 Release BlogNode 24 typings PRTypeScript 5.8 Release NotesDocs: Typescript supportDocs: PermissionsRob Palmer's quick Bluesky thread on Node 24Multithreading in Node.js: Using Atomics for Safe Shared Memory Operations (Pavel Romanov)Everything You Need to Know About Node.js Type Stripping (Marco Ippolito)tc39/proposal-regexp-modifierstc39/proposal-duplicate-named-capturing-groups next-10 technical prioritiesnext-10 security modelSponsored 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) Creators & Guests Erik Onarheim - Host Kamran Ayub - Host

    38 min
  8. 13 MAY

    Node 24 Officially Brings TS Support to the Masses | News | Ep 17

    News for the week of May 5, 2025: Node 24 officially brings TS support to the masses, Parcel adds RSC support, and a TC39 proposal gets replaced. Chapters (00:00) - Introduction (04:07) - News: Node 24 Release Highlights (08:09) - News: What's New in TSGo? (09:05) - News: TC39 Records and Tuples Proposal Has Been Withdrawn (11:45) - News: Parcel Bundler Introduces Support for RSC (13:15) - Community Highlight: Why Was Node 24 Delayed? (15:52) - Community Highlight: Type-safe Theming in Tailwind CSS (16:52) - Community Highlight: TypeScript Gotchas via Reddit (20:48) - Community Highlight: Trick for Error Handling in TypeScript (22:46) - Cool Stuff: V8 Compile Hints (25:40) - Cool Stuff: Bare, a Minimal JavaScript Runtime (26:16) - Cool Stuff: AwesomeDev's Node 24 Rundown (26:27) - Cool Stuff: Build System in C for C (27:01) - Cool Stuff: Typecraft's Vim Challenges LinksEvent: IGDATC Game.wavArticle: An introduction to Node.js 24 from Red HatVideo: Awesome on Node.js 24Repo: Records and Tuples Proposal replaced with tc39/proposal-compositesVideo: Arrays, objects... now ‘composites’? Docs: Parcel 2.14 introduces React Server Components Bluesky: Interesting thread on why Node 24 was delayedArticle: Type-Safe Theming in Tailwind CSS Using CSS Variables and TypeScriptRedditors share TypeScript GotchasArticle: Giving V8 a Heads-Up: Faster JavaScript Startup with Explicit Compile HintsVideo: Jason Yu shares his way of doing try..catch in TSVideo: Build System For C in C Learn: Typecraft's Vim Challenges 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) Creators & Guests Erik Onarheim - Host Kamran Ayub - Host

    29 min

About

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!

You Might Also Like

To listen to explicit episodes, sign in.

Stay up to date with this show

Sign in or sign up to follow shows, save episodes and get the latest updates.

Select a country or region

Africa, Middle East, and India

Asia Pacific

Europe

Latin America and the Caribbean

The United States and Canada