Home
Categories
EXPLORE
True Crime
Comedy
Society & Culture
Business
Sports
Technology
Health & Fitness
About Us
Contact Us
Copyright
© 2024 PodJoint
Podjoint Logo
US
00:00 / 00:00
Sign in

or

Don't have an account?
Sign up
Forgot password
https://is1-ssl.mzstatic.com/image/thumb/Podcasts221/v4/96/7d/9e/967d9e18-e3a1-8e3a-8c7b-56c5c7bcda95/mza_2936517355277359361.jpg/600x600bb.jpg
TypeScript.fm - The Friendly Show for TypeScript Developers
Kamran Ayub and Erik Onarheim
48 episodes
6 days ago
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!
Show more...
Technology
News,
Tech News
RSS
All content for TypeScript.fm - The Friendly Show for TypeScript Developers is the property of Kamran Ayub and Erik Onarheim and is served directly from their servers with no modification, redirects, or rehosting. The podcast is not affiliated with or endorsed by Podjoint in any way.
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!
Show more...
Technology
News,
Tech News
Episodes (20/48)
TypeScript.fm - The Friendly Show for TypeScript Developers
Deno Deploy Makeover, Vitest 4, Nuxt 4.2, and Next.js 16 (Oh, and React Native 0.82) | News | Ep 41

News for the week of October 20, 2025: Deno Deploy revamp, Vitest 4, Nuxt 4.2, and Next.js 16, all in a single week. From the community: 4 weird ways to cast in TypeScript (+2 to Arcana rolls), type-safe API clients, and the hottest JS REPL around.

Chapters

  • (00:00) - Welcome to the Show
  • (05:04) - News: Deno Deployed a Brand Spankin' New Deno Deploy
  • (11:44) - News: Vitest 4 is Out and Browser Mode is Stable
  • (14:54) - News: Nuxt 4.2 Brings Integrated TypeScript DX Plugins
  • (18:55) - News: Next.js 16 Sets TurboPack As the Default
  • (21:59) - News: React Native 0.82, New Architecture, Who Dis?
  • (25:26) - News: Node.js LTS 22 Has Better HTTP Proxy Handling
  • (27:05) - News: AshTypeScript 0.6.0
  • (28:00) - News: Heroic PR to DefinitelyTyped Updates 1,839 Files
  • (29:23) - PSA: Critical Account Takeover Vulnerability in Better-Auth
  • (32:37) - Community Highlight: Maybe Don't Use Top-level Await Yet
  • (33:36) - Community Highlight: You Don't Need the Dependency
  • (33:59) - Community Highlight: react-window Fixes a TypeScript Issue for React 18
  • (34:29) - Community Highlight: 4 Unconventional Ways to Cast in TypeScript
  • (35:15) - Community Highlight: How to Create Type-safe API Clients
  • (35:50) - Community Highlight: Build a TypeScript MCP Server with Auth, DB, and Billing
  • (36:41) - Community Highlight: A JS REPL... with Types!
  • (37:49) - Community Highlight: Transforming Your OLTP ORM into a Type-safe OLTP Data Model
  • (38:42) - Library Watch: FTA, Fast TypeScript Analyzer
  • (39:09) - Community Highlight: Bleet of the Week

News

  • Deno: My highlights from the new Deno Deploy
  • Vitest 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 support
  • AshTypeScript 0.6.0 (bsky summary)
  • A heroic update to DefinitelyTyped to prepare for TypeScript 6
  • PSA: Critical Account Takeover in better-auth

From the Community

  • Jake Archibald: PSA, don’t use top-level await right now in browsers
  • Brian Muenzenmeyer: You Don’t Need a Dependency talk from JSConf is now live
  • Brian Vaughn: react-window got a small TS compatibility fix for React 18-18.2
  • Wolf Girl: 4 Unconventional Ways to Cast In TypeScript
  • Matteo 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 Model
  • Library Watch: FTA Fast TypeScript Analyzer
  • Bleet of the Week: “Anyone who writes bare JavaScript in 2025… is a maniac you shouldn’t trust”

Sponsored by Excalibur.js
Excalibur.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.

  • Homepage and Docs: https://excaliburjs.com
  • Make Your First Game in 10 Minutes
  • Join the Discord: https://discord.gg/9UemP985Uy

Music
Seahorse Dreams by Kubbi (Spotify)


Show more...
6 days ago
40 minutes

TypeScript.fm - The Friendly Show for TypeScript Developers
You Don't Need These 15 npm Packages (Axe 'em), Remix Remixed (Again), and TypeScript in Space (Not Really) | News | Ep 40

News of the week of October 13, 2025: Node 25 brings V8 perf update, Remix reinvents itself once again, TypeScript in your DB, and why Map upsertions will be celebrated by TS devs. From the community: 15 npm packages you no longer need, Deno's side projects, Snoop L. O. Double G., and how to write architecture assertions.

Chapters

  • (00:00) - Welcome to the Show
  • (04:50) - News: Happy National AWS Outage Day!
  • (06:00) - News: Remix Has Remixed Itself Once Again Into V3
  • (08:59) - News: TypeScript in Space! ... TimeDB
  • (12:06) - News: Node 25 Brings New V8 Updates and Network Permissions
  • (14:30) - News: Lit HTML Joins Open JS Foundation
  • (16:05) - News: Announcing Vite+ Blog Post
  • (20:44) - News: ECMAScript Upsert Proposal and ESBuild Can Now Import Raw Bytes
  • (22:57) - Community Highlight: 15 Recent Node Features That Replace npm Packages
  • (31:07) - Community Highlight: Deno's Other Open Source Projects
  • (33:29) - Library Watch: SnoopLogg for CLI Logging Across Runtimes
  • (34:41) - Library Watch: ArchUnitTS, an Architecture Testing Library
  • (37:40) - Community Highlight: oxfmt is 2-3X Faster Than Biome and 45X Faster Than Prettier
  • (38:46) - Discussion: Got the Nx Blues? Try Moonrepo
  • (40:48) - Community Highlight: Enforcing Strict Object Properties in TypeScript
  • (42:18) - Community Highlight: Watch Web Dev Simplified Struggle Through Type Challenges
  • (43:10) - Community Highlight: TypeScript's Coding Guidelines Are Not For Us
  • (44:37) - Cool Watches: Rolldown Internals and Beyond Signals
  • (45:21) - Cool Tip: Don't Forget About AbortController
  • (46:01) - Cool Tool: SpriteFusion Tile Map Editor
  • (46:47) - Cool Product: Stylish Solar Shingles
  • (49:15) - The Minnesota Long Goodbye

News

  • Happy 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 modules
  • Node 25 is out (bsky summary by Rafael)
  • Lit joins Open JS Foundation
  • VoidZero: 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 Community

  • NodeSource: 15 Recent Node.js Features that Replace Popular npm Packages
  • Deno: Deno's Other Open Source Projects
  • Library Watch: SnoopLogg v6.0.4, a CLI logging library
  • Library Watch: LukasNiessen/ArchUnitTS, an architecture testing library
  • Evan You: oxfmt is 2-3X faster than Biome and 45X faster than Prettier
  • Reddit: What Happened to Nx? and an alternative hidden gem, Moonrepo
  • TypedRocks: This New TypeScript Utility Type Prevents Hard-To-Find Bugs!
  • WebDevSimplified: Will I Survive These Advanced TypeScript Challenges?


Cool Stuff

  • Cool Watch: Alexander Lichter on Rolldown: How Vite bundles at the speed of Rust
  • Cool Watch: Beyond Signals by Ryan Carniato (Solid.js creator)
  • Cool Tip: Stefan reminds us that AbortController is a thing
  • Cool Product: SunStyle solar shingles actually look nice


Sponsored by Excalibur.js
Excalibur.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.

Music
Seahorse Dreams by Kubbi (Spotify)

Show more...
2 weeks ago
57 minutes

TypeScript.fm - The Friendly Show for TypeScript Developers
ReactConf 2025 Highlights, Bun 1.3's Security Scanner API, and Malware-as-a-Service | News | Ep 39

News of the week of October 6, 2025: Highlights from ReactConf 2025, Bun 1.3's (delicious) security lede got buried, and how to buy lifetime access to someone's webcam for $500. From the community: CSS is cool again, Immer.js perf improvements, and why typed linting is blocked by ESLint core.

Chapters

  • (00:00) - Welcome to the Show
  • (05:52) - News: ReactConf 2025 Highlights
  • (15:53) - News: Bun 1.3 Highlights
  • (20:59) - News: VS 2026 Now Includes TypeScript 7 Native Preview
  • (21:33) - News: TC39 Async Context
  • (22:51) - News: TC39 Module Declarations
  • (24:40) - News: TC39 Defer Import Evaluation Moves to Stage 3
  • (25:11) - News: Vite+ Announcement
  • (27:43) - PSA: StealIt Malware Uses Node SEAs to Bypass Scanners
  • (30:26) - Community Highlight: Dr. Axel's Schools Us in CSS
  • (32:07) - Community Highlight: Why Typed Linting is Blocked by ESLint Core
  • (32:30) - Community Highlight: Immer.js Perf Improvements Landing Soon
  • (33:25) - Community Highlight: Unofficial 1Password TS Library
  • (35:02) - Community Highlight: Joke of the Week
  • (35:21) - Cool Link: Kagi, the Premium Search Engine
  • (39:19) - Cool Videos: Mojo, Simulating Smoke, and How UTF-8 Works
  • (40:54) - Cool Link: Twoslash Provides Rich Type Metadata for Docs
  • (41:51) - The Minnesota Long Goodbye

News

  • ReactConf: React 19.2 dropped
  • ReactConf: React Compiler 1.0 dropped (reminded Erik of this old ditty)
  • ReactConf: React Foundation
  • Bun 1.3 
  • VS 2026 has TS 7 preview
  • TC39: Module Declarations 
  • TC39: Defer Import Eval advances to stage 3 
  • Vite+ unifies enterprise JS tooling
  • PSA: Stealit Malware Abuses Node.js Single Executable Feature via Game and VPN Installers

From the Community

  • Dr. Axel: CSS: Learn the essentials quickly
  • Josh Goldberg: Why typed linting optimization blocked by ESLint core 
  • Library Watch: Immer.js perf improvements on the horizon
  • Blog Post: Stopping Bad Actors: Inside 1Password’s Security Model 

Cool Stuff

  • Cool Product: Kagi Search, the premium search engine you pay for
  • Cool Video: GPU Programming and Language Design with Chris Lattner 
  • Cool Video: Coding Adventure: Simulating Smoke
  • Cool Video: UTF-8, Explained Simply
  • Cool Library: Twoslash, generate TS metadata for interactive docs snippets
  • Cool Read: Chris Coyier’s CSS starter
  • Cool Read: Innovate, Leverage, Commoditize (ILC model) strategic gameplay


Sponsored by Excalibur.js
Excalibur.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.

Music
Seahorse Dreams by Kubbi (Spotify)


Show more...
3 weeks ago
48 minutes

TypeScript.fm - The Friendly Show for TypeScript Developers
Deno Might be npm's Saving Throw, Temporal Dead Zones, and SSR Under .NET?! | News | Ep 38

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

News

  • TSGO News: PR #1732: Improves source file parse time by ~10%
  • How Deno protects against npm exploits
  • DBOS 2.0 adds JS support with a decoratorless API. (docs)
  • What’s new in Astro - September 2025

From the Community

  • Liran Tal: Mitigate Supply Chain Security with DevContainers and 1Password for Node.js Local Development
  • Vincent Rolf: The Temporal Dead Zone, or why the TypeScript codebase is littered with var statements
  • Paul Schmeing: TypeScript and the Illusion of Type-Safety
  • Theo: Life after TypeScript
  • Kamran: dotnet-ssr, an (experimental!) .NET SSR host

Cool Stuff

  • Erik's LD58 Game Jam: Play the Gem Jam Game
  • Video: Kamran on rendering React Router using a .NET SSR host
  • Book: Ensh*ttification with Cory Doctorow (plus, Interview with Adam Conover)
  • Kamran's Course: Staying on Task with the Pomodoro Technique
  • Kamran's Course: Prioritizing Work with Rocks, Pebbles, and Sand
  • Library: 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 Linux


Sponsored by Excalibur.js
Excalibur.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.

Music
Seahorse Dreams by Kubbi (Spotify)

Show more...
3 weeks ago
47 minutes

TypeScript.fm - The Friendly Show for TypeScript Developers
New ECMAScript Proposals, Cap'n Web, and TS on DOS/PlayStation | News | Ep 37

News of the week of September 22, 2025: new default option in TS 6.0, Jiti upgrade, and Cloudflare's on a tear. Plus, npm's security roadmap. From the community: Python-style kwargs, running TS on MS-DOS, and running JS on PlayStation.

Chapters

  • (00:00) - Welcome to the Show
  • (07:42) - News: Take the State of JS Survey 2025
  • (08:25) - News: TS 6.0 Will Enable noUncheckedSideEffectImports by Default
  • (09:09) - News: Jiti 2.6 is Faster Thanks to RSPack
  • (11:14) - News: ECMAScript Proposal for Non-extensibility Applying to Private Fields
  • (13:06) - News: ECMAScript Proposal for Array.prototype.pushAll
  • (15:00) - News: ECMAScript Proposal for Iterator Chunking
  • (16:04) - News: Introducing Cap'n Web, a New RPC System for the Web
  • (20:20) - News: Code Mode, Generating TypeScript Clients for MCP Servers
  • (25:57) - News: Cloudflare Workers Have Improved Node Compatibility
  • (28:24) - News: GitHub's Plan for a Secure NPM Supply Chain
  • (33:22) - News: Astro 5.14 Adds Svelte Async Rendering and React 19 Actions
  • (34:05) - Community Highlights: Scrimba's Free TS Course
  • (34:28) - Community Highlight: Python-style kwargs in TypeScript
  • (37:24) - Community Highlight: Porting TypeScript to Run on DOS
  • (39:44) - Community Highlight: Running JavaScript on PlayStation
  • (41:28) - Community Highlight: Is effect-ts Really Good, Or is it Just Hype?
  • (44:19) - Cool Links: Tiny Helpers
  • (45:17) - Cool Read: Itch Game Shout-outs
  • (45:58) - Cool Tool: Autogenerate HTTPS Domains for Vite Dev Servers
  • (47:23) - Cool Link: Find Out If You Have Unclaimed Money or Property
  • (49:31) - The Minnesota Long Goodbye

News

  • PSA: State of JavaScript 2025
  • TS 6.0 will enable "noUncheckedSideEffectImports" by default 🎉 (h/t Rob Palmer)
  • Jiti 2.6 – runtime for TS/ESM in Node.js is now using SWC/RSPack
  • tc39/proposal-nonextensible-applies-to-private (h/t Rob Palmer)
    • “This breaking change means that if you seal/freeze an object, it cannot later have private fields stamped upon it ❄️”
  • DanielRosenwasser/proposal-array-push-all (h/t Rob Palmer)
    • “It lets you append many items into an existing array without running out of stack memory 👍”
  • tc39/proposal-iterator-chunking (h/t Rob Palmer)
    • “It lets you make iterators that can chunk & window content”
  • Cloudflare: Cap'n Web: a new RPC system for browsers and web servers
  • Cloudflare: Code Mode: the better way to use MCP
  • Cloudflare: A year of improving Node.js compatibility in Cloudflare Workers (h/t James Snell)
  • GitHub: Our plan for a more secure npm supply chain
  • Metaframeworks: Astro 5.14

From the Community

  • Course: Free TypeScript tutorial (Scrimba) 
  • David Brownman: Python-style kwargs in TypeScript
  • Jimbly: From Steam to Floppy: Porting Modern TypeScript to Run on DOS
  • JSLegendWeb: You Can Now Make PS2 Games in JavaScript 
  • Discussion: Is Effect-Ts really good or is it just hype? : r/typescript


Cool Stuff

  • Cool Tools: https://tiny-helpers.dev/ (by Stefan Judis) 
  • Cool Games: Minnesota-made games (by Martin Grider)
  • Cool Game: https://andre-lima.itch.io/now-thats-a-big-dragon 
  • Cool Game: https://mookie4242.itch.io/escape-the-well 
  • Cool Tools: Caddy and Vite plugin (h/t nuqayah)
  • PSA: Find Missing Money & Unclaimed Property (mn.gov / Go find your state)


Sponsored by Excalibur.js
Excalibur.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.

Music
Seahorse Dreams by Kubbi (Spotify)


Show more...
1 month ago
59 minutes

TypeScript.fm - The Friendly Show for TypeScript Developers
Let the Spicy Takes Flow: Shai-Hulud Hits npm, Motion's TS Exodus | News | Ep 36

News of the week of September 15, 2025: Shai-Hulud worm hits npm supply chain, WebAssembly 3 spec is ratified, and Elixir fans finally get their time in the spotlight. From the community: SquiggleConf was awesome, type branding and tuples, local-first app dev, and why @ts-ignore is almost always the worst option.

Chapters

  • (00:00) - Welcome to the Show
  • (04:36) - News: Shai-Hulud Worm Attacks Over 500 npm Packages
  • (12:31) - News: WebAssembly 3 Spec is Done
  • (14:05) - News: Ash Framework Announces AshTypeScript
  • (15:08) - News: ts-to-zod Now Supports Zod 4
  • (15:36) - News: Typebox 1.0 Release
  • (17:26) - Community Highlight: SquiggleConf 2025 Happened!
  • (20:51) - Community Highlight: Type Branding in TypeScript by AzraelSec
  • (21:35) - Community Highlight: TypeScript Tuple Length Hacks
  • (22:24) - Community Highlight: TypeScript Developer Roadmap
  • (23:15) - Community Highlight: GitHub Actions Can Now Run Pure TypeScript
  • (23:59) - Community Highlight: Why @ts-ignore is Almost Always the Worst Option
  • (24:55) - Community Highlight: Using Node's Test Runner with TS and React
  • (26:05) - Library Watch: Combinatorial CLI Options Parsing
  • (27:53) - Library Watch: Valibot Helper Utilities
  • (29:03) - Tool Watch: Local-first Development with FullStacked
  • (31:15) - Tool Watch: Retro 3D Engine with TS Scripting API
  • (32:09) - Discuss: Moving Off of TypeScript by Motion
  • (41:34) - Funny Read: Is Your Son a Computer Hacker?
  • (43:03) - Cool Library: Render a DOM Element as an Image
  • (45:04) - Cool Tool: Pages CMS Runs on Top of Your Git Repo
  • (47:08) - The Minnesota Long Goodbye

News

  • Socket.dev covers Shai-Hulud: 
    • Updated and Ongoing Supply Chain Attack Targets CrowdStrike npm Packages 
    • Popular Tinycolor npm Package Compromised in Supply Chain Attack 
    • What the npm package attacks mean for us developers
  • Wasm 3.0 spec completed
  • Announcing AshTypeScript, part of the Ash Framework (Phoenix/Elixir)
  • ts-to-zod now supports Zod 4.0
  • Typebox 1.0 release

From the Community

  • SquiggleConf Happened! Check out the streams (separate videos to come)
    • Day 1: https://www.youtube.com/live/C_ePbVZqXrw?si=MpRiE8n4xLNpfbV0
    • Day 2: https://www.youtube.com/live/vSXLDvvIpYE?si=cWKQTjZCx91HWJN9
  • Federico (AzraelSec): Type Branding in Typescript 
  • Renato: TypeScript Tuple Length 
  • Evan Hahn: @ts-ignore is almost always the worst option
  • Roadmap.sh: Everything You Need to Learn to be a TS Dev
  • GitHub Actions can now run pure TS on Node 22/24 runners without a build step (h/t Brian Muenzenmeyer)
  • Mathew Brown: Using Node's Test Runner with Typescript & React 
  • Library Watch: Combinatorial CLI opt parsing
  • Library Watch: Introducing: @traversable/valibot (h/t Andrew Jarret)
  • Tool watch: FullStacked, a local-first app development environment
  • Tool watch: Roguestrad, a Retro 3D Game engine forked from DOOM-3-BFG with TypeScript scripting support


Cool Stuff

  • Funny Read: Is your son a computer hacker?
  • Cool Lib: dom-to-image-more – render DOM elements as images
  • Cool Tool:  Pages CMS - Hassle-free CMS for static sites powered by Git 


Sponsored by Excalibur.js
Excalibur.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.

Music
Seahorse Dreams by Kubbi (Spotify)

Show more...
1 month ago
51 minutes

TypeScript.fm - The Friendly Show for TypeScript Developers
ArkType is TypeScript's 1:1 Validator | David Blass | Ep 35B

David Blass (@ssalbdivad.dev) teaches the two fools about ArkType and its 1:1 validator type system. If you, like us, thought ArkType was only about validation, think again! David pulls back the curtain on what makes ArkType unique, how he built a type-level parser to provide helpful error messages, and why ArkType can provide soundness guarantees that go beyond even what vanilla TypeScript can offer. *waves hand* These are the array intersections you're looking for.

Chapters

  • (00:00) - Introducing David Blass
  • (02:39) - ArkType vs. Zod
  • (04:28) - ArkType's Differences
  • (06:21) - Defining ArkType Types
  • (10:33) - Matching TypeScript's Syntax
  • (14:24) - Detailed Editor-time Errors
  • (17:14) - Type-level Testing with attest
  • (18:26) - Runtime Error Checking
  • (21:05) - Generating JIT-optimized Code
  • (27:27) - Benchmarking ArkType's Performance
  • (29:41) - Optimizing the Parser for ArkType Types
  • (32:13) - Tips for Optimizing TypeScript Types
  • (38:12) - Type Mapping API
  • (40:20) - Set-based APIs
  • (43:15) - Typing Array and Tuple Intersections
  • (45:57) - ArkType's Internal Type System
  • (49:01) - Serializing Types to JSON
  • (50:09) - Porting Enhancements to TypeScript
  • (51:55) - Compatibility with Standard Schema Spec
  • (57:15) - Introspecting ArkType Types
  • (01:00:10) - Use Cases for ArkType
  • (01:03:34) - What's Next for ArkType?
  • (01:05:59) - Getting Started with ArkType
  • (01:07:56) - Where to Follow David


Resources

  • ArkType.io
  • ArkType Discord
  • ArkType GitHub
  • @ark/attest testing library

Where to Follow David

  • David on BlueSky
  • ArkType on BlueSky

Sponsored by Excalibur.js
Excalibur.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.

Music
Seahorse Dreams by Kubbi (Spotify)

Show more...
1 month ago
1 hour 9 minutes

TypeScript.fm - The Friendly Show for TypeScript Developers
Deno 2.5, Type-safe Configs and Forms, and Underrated TS Features | News | Ep 35

News of the week of September 8, 2025: Deno 2.5 adds a bunch of DX improvements, Fresh 2.0 is out of beta, and a supply chain attack mitigation for pnpm users. From the community: Val Town's OSS TypeScript editor, discussing underrated TS features, and tools/libraries to help make your configs, secrets, and forms type-safe.

Chapters

  • (00:00) - Welcome to the Show
  • (05:46) - News: TSGo Adds JSDoc Support to LSP
  • (07:08) - News: Deno 2.5 Released
  • (15:05) - News: Deno Fresh 2.0 is Now Out of Beta
  • (15:28) - News: rspack and webpack Add Dynamic Import Tree Shaking
  • (16:26) - News: pnpm 10.16 adds minimumReleaseAge Config Option
  • (18:10) - Community Highlight: Dr. Axel's Corner
  • (18:51) - Community Highlight: Lessons from npm Security Failures
  • (23:47) - Community Highlight: Val Town's Open Source TS Editor
  • (26:12) - Community Highlight: Lint Rules Spreadsheet by Josh Goldberg
  • (28:16) - Community Highlight: Most Underrated Features in TS?
  • (31:48) - Tool Watch: confkit Provides Type-safe Config and Secrets
  • (32:46) - Library Watch: taxum, a TypeScript-first HTTP Framework
  • (33:35) - Library Watch: conformal is a Type-safe FormData and Submissions Library
  • (34:31) - Community Highlight: Why Using Bun in Production (Maybe) Isn't the Best Idea
  • (39:14) - Secret of the Handbook: Analyze Trace Tool
  • (40:37) - Cool Watch: Restoring Old GameBoys and Game Systems
  • (42:04) - Cool Game: Assassin's Creed Mirage
  • (44:37) - The Minnesota Long Goodbye

News

  • TSGo
    • Full JSDoc Support in LSP (#1702) by Anders
    • TypeScript Build Watch Mode (#1684) by Sheetal
  • Deno 2.5 + Fresh 2.0
  • Rspack 1.5.3 features advanced tree shaking for dynamic import members
  • Pnpm 10.16 adds “minimumReleaseAge” to help mitigate supply chain attacks

From the Community

  • Dr. Axel’s Corner
    • Learning web development: Implementing web servers 
    • Learning web development: Authenticating users with plain Node.js
  • OneUpTime: Lessons from npm's Security Failures 
  • Wojciech Maj: Why using Bun in production (maybe) isn't the best idea
  • Val Town’s open source TS editor was rewritten from scratch
  • Josh Goldberg is tracking common rules across linters for Flint
  • Reddit discussion: Name underrated things in Typescript
  • Tool watch: https://www.confkit.dev/ (h/t HackerNews) -- Type-safe config and schemas that work across all runtimes
  • Library watch: https://taxum.js.org/ (h/t DASPRiD) -- TypeScript-first HTTP framework
  • Library watch: https://github.com/marcomuser/conformal -- Type-safe FormData and submissions


Cool Stuff

  • Cool Tool: https://github.com/microsoft/typescript-analyze-trace
  • Cool Watch: Retrofitting a broken Game Boy with modern upgrades
  • Now playing: AC: Mirage


Sponsored by Excalibur.js
Excalibur.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.

Music
Seahorse Dreams by Kubbi (Spotify)


Show more...
1 month ago
49 minutes

TypeScript.fm - The Friendly Show for TypeScript Developers
Fresh 2.0 Beta, TS Nostalgia, and Spear Phishing the Supply Chain | News | Ep 34

News of the week of September 1, 2025: Deno Fresh 2.0 is now in beta, Swift 6.2 adds WASM support, and a serious spear-phishing attack on npm maintainers. From the community: looking back on TypeScript, optimizing immutability, type-safe state machines, sharing Wi-Fi links, and some prolific open source work.

Chapters

  • (00:00) - Welcome to the Show
  • (05:20) - News: New ESLint Rule to Prevent Empty Type Argument Lists
  • (06:43) - News: Deno Fresh 2.0 Graduates to Beta with Vite Support
  • (09:17) - News: Rolldown Will Ship as ESM-only
  • (10:55) - News: Swift 6.2 Adds WASM Support
  • (12:17) - Reminder: TypeScript AI Conf in San Francisco on Nov 6
  • (12:42) - PSA: Upgrade Your Vite Packages
  • (14:53) - PSA: Massive npm Supply Chain Attack
  • (22:05) - News: GhostAction Attack Exfiltrated Secrets from GitHub Actions
  • (24:42) - Community Highlight: TypeScript 1.5 Was 10 Years Ago
  • (25:54) - Community Highlight: Dr. Axel's Corner
  • (27:38) - Community Highlight: Perf Improvements Coming to Immer.js
  • (28:40) - Community Highlight: Meta AI Piracy Case Might Owe Authors Money
  • (29:26) - Library Watch: Easily Create Wi-Fi Share Links
  • (30:58) - Library Watch: Type-safe State Machines
  • (32:37) - Library Watch: Eclipse Modeling Framework for TypeScript
  • (34:33) - Library Watch: A Tiny Translate Utility for TypeScript
  • (35:13) - Community Highlight: Azat's OSS Tools
  • (38:09) - This Week's TypeScript Joke
  • (38:33) - Cool Library: 2D Geometry and Math Utilities
  • (39:11) - Cool Watch: The Business Side of Digital Goods
  • (40:18) - Cool Read: A New Way to Think by Roger Martin
  • (43:47) - The Minnesota Long Goodbye

News

  • typescript-eslint v8.43.0 introduces a new rule to disallow empty type arguments
  • Fresh 2.0 Graduates to Beta, Adds Vite Support (h/t deno)
  • Rolldown will only be shipping as ESM, dropping their CJS bundle (h/t VoidZero)
    • Clarification: It will still bundle your code as CJS; this applies only to Rolldown itself.
  • Swift for Wasm: Q3 2025 Updates (h/t maxdesiatov)
  • Reminder: TypeScript AI Conf is Nov 6
  • PSA: Vite CVEs. Upgrade your packages!
    • CISA mailing list for cybersecurity incidents
  • PSA: Hackers hijack npm packages with 2 billion weekly downloads in supply chain attack
  • PSA: Hackers steal 3,325 secrets in GhostAction GitHub supply chain attack

From the Community

  • TS 1.5 nostalgia (h/t rob palmer)
  • Dr. Axel’s Corner
    • Learning web development: Frontend frameworks 
    • Learning web development: Installing npm packages and bundling 
  • Immer.js optimizations coming
  • Meta Piracy Case You might be owed $$$
    • Search LibGen, the Pirated-Books Database That Meta Used to Train AI 
    • It has affected Dan Abramov and Josh Goldberg 
  • Library watch: wifi-share-link: Create shareable links over Wi-Fi with QR codes (h/t Joshua Goldberg)
  • Library watch: @machinist/core for type-safe finite state machines 
  • Library watch: TMF: Model-driven development for TypeScript 
  • Library watch: pixltd-dev/ts-mini-translate, a simple TypeScript translation utility
  • Check out Azat’s work! Including Josh Goldberg’s favorite ESLint plugin, perfectionist.
  • This week's TS joke

Cool Stuff

  • 2D math utilities: https://github.com/romgrk/2d-geometry 
  • Video: A Complete Guide To The Business Side Of Indie Gamedev
  • Book: A New Way to Think by Roger Martin (Thriftbooks)
  • Game: Hollow Knight: Silksong


Sponsored by Excalibur.js
Excalibur.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.

Music
Seahorse Dreams by Kubbi (Spotify)


Show more...
1 month ago
49 minutes

TypeScript.fm - The Friendly Show for TypeScript Developers
Breaking Changes in TS 6, a Calm Migration to Type Stripping, and Deno's #FreeJavaScript Campaign | News | Ep 33

News of the week of August 25, 2025: the two fools unpack the expected breaking changes to TSConfig in the upcoming 6.0 release, explain Node's latest LTS notable changes, and cover the latest in the JS trademark case from Deno. Plus, a PSA if you use Nx! From the community: making the case to migrate to Node's type stripping, a peek at Vitest 4, Zod's new Codecs feature, refactoring types, Rolldown is the opposite of a letdown, and a bunch of neat libraries/framework releases to watch.

Chapters

  • (00:00) - Welcome to the Show
  • (06:46) - News: TSGo Refactoring and Find Reference Enhancements
  • (07:54) - News: Expect Some (Good) Breaking Changes in TS 6.0
  • (12:26) - News: Node.js 22.19.0 LTS Notable Changes
  • (18:13) - News: RsPack 1.5 Features Type Re-export Analysis
  • (21:27) - News: Deno's GoFundMe to #FreeJavaScript
  • (22:38) - PSA: Supply Chain Attack Against Nx Packages
  • (25:49) - Community Highlight: Attend SquiggleConf 2025
  • (26:43) - Case Study: How Calm.com Migrated to Node Type Stripping
  • (30:13) - Community Highlight: Dr. Axel's Corner
  • (33:01) - Community Highlight: Vitest 4 Sneak Peek
  • (34:28) - Community Highlight: Zod 4.1 Codecs
  • (36:39) - Community Highlight: Shout-out to Remco for Fixing JSX Typing Bugs
  • (37:24) - Community Highlight: TypedRocks Shows You How to Refactor Type Definitions
  • (38:27) - Community Highlight: Neovim Support for TSGo Spotted in the Wild
  • (39:09) - Library Watch: csv-utils Helps You Deal with CSV Files
  • (39:39) - Library Watch: contrastrast Provides WCAG-compliant Color Manipulation
  • (41:16) - Case Study: Plaid Cut Build Time by 97% with Rolldown
  • (42:17) - Framework Watch: Runner V4 Released
  • (43:53) - Framework Watch: Ripple, a TypeScript UI Framework
  • (45:20) - Community Highlight: Joke of the Week
  • (45:48) - Secret of the Handbook: declarationMap
  • (47:17) - Cool Link: MuJS for Embedding Scripting into C/C++
  • (48:57) - Cool Link: Cory Doctorow is Kickstarting a Book
  • (50:44) - Cool Watch: Learn Game Dev from a Nintendo Game Designer
  • (52:29) - The Minnesota Long Goodbye

Personal News
  • Kamran's new Qwik City Foundations course (requires subscription)
  • Affected by the Verizon outage? Get some monies (or try visiting the Transfer Phone/PIN page in your account)
  • Alternatively, switch to Mint and save some cheddar (that's Kamran's referral link :-)


News

  • TS 6.0 proposed deprecations and breaking changes
  • Node 22.19.0 LTS notable changes include a new CA certificate API and unflagging WASM modules (see: source-phase imports)
  • Rspack 1.5 release features type re-export analysis
  • Deno's GoFundMe for #FreeJavaScript
  • PSA: Nx supply chain attack (write-ups from Socket.dev and TheHackerNews)

From the Community

  • SquiggleConf: September 18-19
  • Calm.com: How we migrated our Rush.js monorepo to Node type stripping
  • Dr. Axel
    • JavaScript’s trademark problem 
    • Learning web development: Web servers 
    • Learning web development: JavaScript exceptions
    • Learning web development: JSON and processing files in Node.js 
    • Learning web development: JavaScript Maps
  • Vitest 4 will be faster!
  • Zod creator explains 4.1's new codecs feature
  • Uppy issue reveals a bug in JSX typing across ecosystem
  • TypedRocks: Let’s Replace 100+ React Types with 3 Lines Of Code (Same Type Safety!) 
  • Possible sighting of neovim TSGo support
  • Library watch: doeixd/csv-utils: Helpful utils for working with csv files or arrays of objects
  • Library watch: ammuench/contrastrast: A library to determine text contrast based on WCAG Standards 
  • VoidZero: How PLAID Cut Build Times by 97% Migrating From Rollup To Rolldown
  • Framework watch: Runner V4 released
  • Framework watch: trueadm/ripple: the elegant UI framework for the web
  • This week's TS Joke

Secret of the Handbook

The declarationMap config option significantly speeds up Project References performance in IDEs.

 

Cool Stuff

  • MuJS: Introduction 
  • Cory Doctorow’s Kickstarter
  • Legendary Nintendo game designer published 200+ videos on gamedev for free.

Sponsored by Excalibur.js
Excalibur.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.

Music
Seahorse Dreams by Kubbi (Spotify)


Show more...
2 months ago
56 minutes

TypeScript.fm - The Friendly Show for TypeScript Developers
TypeScript Go Nightly Improvements, Rslint Announced, and Big Bun Updates | News | Ep 32

News of the week of August 18, 2025: one of the biggest nightly updates for TS Go, Rspack team announces a new linter, the new minor Bun release is pretty major, and Next.js 15.5 features typed routing . From the community: more learning web dev resources, an exhaustive switch utility for JSX, --strict on by default?, and whether you can really protect your code from clients. Plus, the two fools rant about feature flags.

Chapters

  • (00:00) - Welcome to the Show
  • (06:32) - News: TypeScript Go Got a Big Nightly Update
  • (10:01) - News: Rspack Introduces Rslint
  • (13:08) - News: Bun 1.2.21 Got Some Major Upgrades
  • (18:10) - News: Deno 2.4.4 Improves Structured Clone Performance
  • (19:21) - News: Next.js 15.5 Features Type-safe Routing
  • (20:55) - News: Preact 11 Beta is Even Faster with Better Hydration
  • (21:27) - News: Angular 20.2 Goes Zoneless
  • (23:25) - Community Highlight: Dr. Axel's Learning Web Dev Series
  • (25:08) - Community Highlight: A Hopeful PR to Enable --strict By Default
  • (26:38) - Library Watch: valleys, Lightweight Runtime Data Validation
  • (28:05) - Community Highlight: Hangman Written in TypeScript Types
  • (28:59) - Community Highlight: Exhaustive Switch Expressions by Replo
  • (31:42) - Discussion: How to Protect Code and Assets in the Browser
  • (36:59) - Cool Game: Now THAT'S a Big Dragon!
  • (38:05) - Cool Read: Auto-tiling with the Dual Tile Map Technique
  • (38:33) - Cool Tip: Using IIFEs for Scratch Variables to Avoid Allocations
  • (40:43) - Cool Vid: A Million Blades of Grass Written in LOVR and TypeScript
  • (42:31) - The Minnesota Long Goodbye

News
  • Jake Bailey: TSGO had a big nightly update
  • Socket.dev: Rspack Introduces Rslint, a TypeScript-First Linter Written in Go (powered by TS Go) (repo)
  • Bun 1.2.21 release notes plus blog post on how they achieved a 500x faster postMessage(string)
  • Deno 2.4.4 structured clone perf improvement 
  • Next.js 15.5 release notes (summary thread)
  • Preact 11 sneaks in a beta
  • Angular 20.2.0 features a stable zoneless API 

From the Community

  • Dr. Axel: 
    • Learning web development: Booleans, comparisons and `if` statements
    • Learning web development: Loops in JavaScript
    • Learning web development: Shells and Node.js
  • Daniel Rosenwasser proposed to turn `--strict` on by default 
    • Correction: It was an issue, not a PR :-)
  • Lib watch: valleys (ht HN) –  Lightweight, zero-dependency library for validating arbitrary runtime data in TypeScript.
  • Hangman in TypeScript types
  • Discussion: Protect code & assets? : r/typescript
  • Replo.computer: Exhaustive Switch Expressions in Typescript

 

Cool Stuff

  • Blog post: Dual Tilemap Auto Tiling 
  • Steam Game: Now THAT’S a Big Dragon
  • Video: A million blades of grass in LOVR + TypeScript
    • LÖVR - VR version of LOVE 2D
    • TypeScriptToLua
  • Join the Michigan TS Discord!

Sponsored by Excalibur.js
Excalibur.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.

Music
Seahorse Dreams by Kubbi (Spotify)


Show more...
2 months ago
51 minutes

TypeScript.fm - The Friendly Show for TypeScript Developers
Astro DB Gets Enum Support, Type-safe Data Flow in Next.js, and a Moose-y ORM | News | Ep 31

News of the week of August 11, 2025: there ain't much! Astro 5.13 minor release brings enums to Astro DB and improved meta environment variables. From the community: learning web dev, Result-typing Next.js server actions, and Clickhouse built an ORM.

Chapters

  • (00:00) - Welcome to the Show
  • (05:07) - News: Astro 5.13 Adds import.meta.env and Astro DB Enum Support
  • (06:47) - Community Highlight: Dr. Axel's Learning Web Dev Series
  • (07:47) - Community Highlight: Type-safe Data Flow Between Client and Server in Next.js by Nahuel Scotti
  • (08:45) - Community Highlight: Clickhouse Made an OLAP ORM with TS
  • (11:25) - Cool Link: nextra, a Next.js Static Site Generator
  • (11:50) - Cool Link: editly, Non-linear Video Editing in Node.js and ffmpeg
  • (12:33) - Cool Links: A Bunch of Excalibur Games!
  • (14:36) - The Minnesota Long Goodbye

News
  • Astro 5.13 

From the Community

  • Dr. Axel’s Blog Series on Learning Web Dev
  • Nahuel Scotti: Type-Safe data flow between client & server in Next.js applications
  • Clickhouse: Does OLAP need an ORM? 
    • Plus, listen to our ORMed and Dangerous (Ep 7) deep dive episode!

 

Cool Stuff


  • More Excalibur Games!
    • https://daviderisaliti.itch.io/spookytruth 
    • https://daviderisaliti.itch.io/quadrush 
    • https://mookie4242.itch.io/zombie-shooter-clone 
  • Nextra – a Next.js static site generator with some built-in gizmos 
  • editly – non-linear video editing with Node.js and ffmpeg

Sponsored by Excalibur.js
Excalibur.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.

Music
Seahorse Dreams by Kubbi (Spotify)


Show more...
2 months ago
17 minutes

TypeScript.fm - The Friendly Show for TypeScript Developers
WebStorm Supports TS Go, V8 Stringifies JSON 2X Faster, and a TypeScript AI Conference | News | Ep 30

News of the week of August 4, 2025: WebStorm 2025.2 adds support for TypeScript Go language server (preview), V8 made JSON.stringify supa-supa-fast, and there's a new TypeScript AI conference on the block. From the community: recommended tools and libraries for TS developers, how to prevent ReDOS attacks, and an interview discussing how the JavaScript language evolves.

Chapters

  • (00:00) - Welcome to the Show
  • (04:52) - News: Erik's High Performance JavaScript Talk is OUT!
  • (06:02) - News: WebStorm 2025.2 Features TypeScript Go Language Server Support
  • (06:57) - News: V8 Improved JSON Stringify Perf by More than 2X
  • (10:54) - News: Bun 1.2.20 Includes Type-level Assertions and TS 5.9 Support
  • (12:24) - News: Mastra is Hosting a TypeScript AI Conference
  • (19:58) - Community Highlight: How I Built CSS' light-dark() Function in TypeScript by Robert Hameetman
  • (21:32) - Community Highlight: Type-Aware Linting with Oxlint
  • (22:39) - Tool Watch: Prevent ReDOS Attacks with regolith
  • (24:20) - Tool Watch: Filter tsc Errors by File or Folder Using tsef
  • (25:57) - Community Highlight: Tools or Libraries That Make Your Life Easier With TypeScript
  • (30:16) - Community Highlight: A Fast-paced Lumberjack Game Built with Excalibur.js
  • (30:51) - Community Highlight: Daniel Ehrenberg on How JavaScript Evolves by Weekly DevBrew
  • (31:10) - Community Highlight: Joke Bailey
  • (31:51) - Secret of the Handbook: Indexed Types
  • (36:20) - Cool Link: Speeding Up the semver Package
  • (38:36) - Cool Link: Enhance.dev, an HTML-first Full Stack Web Framework
  • (39:37) - Cool Link: mitata, a Benchmarking Tool That Loves You
  • (40:44) - Cool Link: Why contenteditable on Android is the Absolute Worst
  • (41:56) - Cool Link: Creating Legal Documents with Markdown
  • (43:18) - The Minnesota Long Goodbye

News
  • Erik’s talk is live! JavaScript Blazingly FAST! Lessons from a Game Engine
  • WebStorm 2025.2: TypeScript-Go Language Server Support
  • V8 engine: How we made JSON.stringify more than twice as fast
  • Bun v1.2.20 includes type-level assertions and @bun/types fixes for TS 5.9
  • Mastra announces TypeScript AI conference

From the Community

  • Robert Hameetman: How I Built CSS's light-dark() in TypeScript 
  • Boshen: Oxlint working on type-aware linting with TSGo (experimental)
  • JakeRoggenbuck/regolith: Safely write RegExp that are ReDOS-proof
    • PS. Listen to the TypeScript Security episode with Liran Tal
  • iostreamer-X/tsef: CLI tool to filter tsc output and only show errors for specific files and directories
    • Could be a good companion to ts-migrating by Jason Yu
  • Reddit: What tools and libraries do you use with TypeScript to make your dev life easier?
    • ts-pattern
    • Zod
    • Lefthook
    • Effect.ts and Xstate
    • neverthrow
  • Timber Clone: An Excalibur game (written in TS!)
    • Source code: jyoung4242/TimberEx 
  • Weekly Dev Brew with Daniel Ehrenberg (President of Ecma International & TC39 veteran)
  • Joke Bailey on Why is TS is so slow?!

Secret of the Handbook

  • Typescript Indexed Types
    • Example 1
    • Example 2

 

Cool Stuff

  • MarvinH: Speeding up the JavaScript ecosystem - Semver 
    • Plus a cool profiling viewer, cpupro
  • Enhance, an HTML-first full stack web dev framework
  • evanwashere/mitata: benchmark tooling that loves you ❤️ 
  • Contenteditable on Android is the Absolute Worst (But, ProseMirror looks really cool) 
  • petalo/legal-markdown-js: Write legal docs in Markdown and TS
  • Supabase, hosted Postgres

Sponsored by Excalibur.js
Excalibur.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.

Music
Seahorse Dreams by Kubbi (Spotify)

Show more...
2 months ago
48 minutes

TypeScript.fm - The Friendly Show for TypeScript Developers
State of TypeScript Linting 2025 | Joshua Goldberg | Ep 29B

Joshua Goldberg (JoshuaKGoldberg.com), creator of typescript-eslint, joins us to discuss the state of linting TypeScript projects in 2025. Which linters should we pay attention to? Why are there so many? What's unique about TypeScript? Josh shares his perspective and covers what to look for in a linter and how best to utilize them in your projects.

Chapters

  • (00:00) - Introducing Josh Goldberg
  • (02:10) - Why Are There So Many Linters?
  • (02:48) - Why Do I Need a Linter With TypeScript, Anyway?
  • (04:13) - Landscape of Linters in 2025
  • (06:56) - How Does TypeScript Linting Actually Work?
  • (08:15) - Creating Type-aware Native Speed Linters
  • (11:06) - What Would the Ideal Linter Look Like?
  • (12:48) - Where is the Bottleneck in Type-aware Linting?
  • (15:15) - Are Native Speed Linters the Answer?
  • (21:03) - Okay, So Which Linter Should I Use?
  • (23:33) - Are There Some Golden Type-aware Rules to Use?
  • (24:44) - Customizing Your Linting Setup
  • (27:05) - Writing Your Own Custom Lint Rules
  • (31:08) - Josh's Recommended ESLint Plugins
  • (34:15) - Future of Linting with Flint
  • (36:37) - Attend SquiggleConf 2025 in Boston

Linters
  • typescript-eslint (stable) – TypeScript, most type-aware lint rules
  • oxlint (stable) – Rust, no type-aware lint rules
  • Biome (stable) – Rust, limited type-aware lint rules in V2
  • tsslint (stable) – TypeScript, integrates with tsserver, custom rules with TS compiler API
  • tsl (new) – tsc plugin that ports a selection of typescript-eslint type-aware lint rules
  • Deno lint (stable) – Rust, subset of ESLint rules, no type-aware lint rules
  • Flint (unstable) – TypeScript, Josh’s fast, friendly linter, still in development
  • tsgolint (prototype) – Go, proof-of-concept experimental TypeScript Native integration


Resources

  • Learn: Vanilla TypeScript Experience
  • Learn: ASTs and typescript-eslint
  • Learn: If I Wrote a Linter, Part 4: Summary 
  • Learn: TypedRocks Builds a Type-aware ESLint Plugin
  • DustinSpecker/awesome-eslint – a list of awesome ESLint plugins and resources
  • JoshuaKGoldberg/create-typescript-app – pick and choose the rules you like
  • ESLint now supports linting for Markdown and CSS
  • Josh’s Favorite Rules and Plugins:
    • typescript-eslint/no-floating-promises – to avoid non-awaited Promises
    • typescript-eslint/no-deprecated – to avoid calling deprecated APIs
    • eslint-plugin-regex – to catch ReDOS vulnerabilities
    • eslint-plugin-n – for Node.js projects
    • eslint-plugin-jsdoc – for the “informative docs” rule
    • eslint-plugin-erasable-syntax-only – to enforce erasable syntax in your TS project (prior to TS 5.8)
    • eslint-plugin-package-json – lint your package.json file


Where to Find Josh

  • JoshuaKGoldberg.com
  • Flint Discord
  • Josh on BlueSky
  • Josh on Fosstodon
  • Josh on GitHub
Show more...
2 months ago
41 minutes

TypeScript.fm - The Friendly Show for TypeScript Developers
Node 22.18 LTS Green Lights TypeScript for Orgs | News | Ep 29

News of the week of July 28, 2025: TS 5.9 released, Node 22.18 is the first LTS to support TypeScript, a Rust-based alternative to Next.js, plus why Laravel ain't your pappy's PHP. From the community: eslint-max-depth-ts plugin, Zod vs. Valibot battle, Better Auth is so good, a deal with the TypeScript devil, and did you know you can render motion graphics with TypeScript.

Chapters

  • (00:00) - Introduction and Personal News
  • (05:18) - News: TypeScript 5.9 Release Highlights
  • (08:32) - News: Node 22.18 is the First LTS to Unflag Type Stripping
  • (12:12) - News: Deno Drops New Next.js and SvelteKit Templates
  • (13:41) - News: pnpm Adds Support for Deno and Bun to package.json Engines
  • (14:06) - News: A Bunch of ECMAScript Proposals Go Bonkers
  • (16:37) - News: Laravel Wayfinder Generates Types and Is Now Stable
  • (18:54) - News: Trusted Publishing in npm with OIDC
  • (19:35) - PSA: Security Vulnerability in form-data Library
  • (21:10) - Community Highlight: Adding Checked Exceptions to TypeScript
  • (22:57) - Community Highlight: New ESLint Max Depth Plugin by TypedRocks
  • (24:00) - Community Highlight: Zod vs. Valibot by Jack Harrington
  • (24:20) - Community Highlight: Better Auth is a TypeScript Auth Framework
  • (26:09) - Community Highlight: Understanding Effect.ts with Maxwell Brown
  • (26:52) - Community Highlight: The Many, Many, Many JavaScript Runtimes by Jamie Birch
  • (27:37) - Community Highlight: Auditing NPM Packages with NPQ
  • (28:06) - Community Highlight: TypeScript Performance Podcast Episode by Mike Hartington
  • (28:56) - Community Highlight: Learn TypeScript While Building a Game in Construct
  • (29:56) - Community Highlight: Parse TypeScript Types from Strings... with TypeScript Types by easrng
  • (30:55) - Secret of the Handbook: InstanceType
  • (33:17) - Cool Link: Create Video Motion Graphics in TS with MotionCanvas
  • (34:01) - Cool Link: Create Terminal UIs in TS with opentui
  • (34:40) - Weird Link: Running Windows 95 in Electron
  • (36:01) - Cool Library: Compile Time Expressions in TypeScript
  • (38:51) - The Minnesota Long Goodbye

News
  • Announcing TypeScript 5.9 official stable release. No changes since the RC. (h/t Rob Palmer summary)
  • Node 22.18 Unflagged TS support, TypeScript is now in LTS
  • Introducing Rari by Ryan Skinner – a full stack React runtime 4X faster than Next.js (BlueSky thread with more details)
  • Next.js & SvelteKit Templates on Deno
  • pnpm adds support for Deno and Bun runtime engine enforcement
  • Laravel announced the stable release of Wayfinder, which generates backend types and routes for TypeScript
    • Video: https://youtu.be/UMqSDRe2oH8?si=e6cw57DJVkS40yv8
    • Laracon 2025 Day 1: Keynote Segment by Joe Tannenbaum (@ 06:16:12)
  • GitHub: npm trusted publishing with OIDC is generally available
  • PSA: Critical Vulnerability in form-data JavaScript Library Exposes Millions of Apps to Code Execution Attacks 

From the Community

  • Checked exceptions in personal TypeScript fork by nxjosh 
    • Also: Fork Typescript: You Can Just Do Things
  • TypedRocks:  This New ESLint Plugin Fixes Your Nested Unreadable Types in TypeScript
  • Jack Harrington: Zod VS Valibot: JS/TS Validator Battle!
  • Dreams of Code: Better Auth is so good that I **almost** switched programming languages 
  • Maxwell Brown: Effect.ts and Effectful Technologies (devtools.fm)
  • Jamie Birch: The many, many, many JavaScript runtimes of the last decade
  • Trevor Lasn: NPQ: Open source CLI tool that audits and protects your n... (by our friend Liran Tal)
  • Mike Hartington: TypeScript is So Slow… Or Is It? LogRocket podcast 
  • Construct: Learn TypeScript in Construct
  • Funny post about parsing TS types from string literals using... TS types by easrng

Secret of the Handbook

  • Utility type `InstanceType<T>`
    • https://github.com/excaliburjs/Excalibur/pull/3493/files 
    • https://www.typescriptlang.org/docs/handbook/utility-types.html#instancetypetype

 

Cool Stuff

  • MotionCanvas makes cool animations in TypeScript
  • https://github.com/sst/opentui – A terminal UI library
  • 💩🚀 Windows 95 in Electron. Runs on macOS, Linux, and Windows.
    • I was playing Space Cadet pinball. They also have DOOM and Wolfenstein pre-installed.
  • comptime.ts – A Zig-style comptime equivalent for TypeScript projects (Vite/Bun supported)

Sponsored by Excalibur.js
Excalibur.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.

Music
Seahorse Dreams by Kubbi (Spotify

Show more...
3 months ago
42 minutes

TypeScript.fm - The Friendly Show for TypeScript Developers
Building Secure TypeScript Applications | Liran Tal | Ep 28B

Liran Tal (lirantal.com) from Snyk joins us to dive deep into writing secure TypeScript applications. What's different compared to vanilla JavaScript security? Will schema validators fix all our woes? Can't we let LLMs find and fix security vulnerabilities? Liran educates us about the pitfalls and risks with misplacing trust in TypeScript and LLMs and what we can do to write more secure code.

Chapters

  • (00:00) - Introducing Liran Tal
  • (02:56) - What's Special About TypeScript Security vs. JavaScript Security?
  • (04:23) - Misplacing Trust in Types
  • (05:49) - Practical Examples of TypeScript Security Issues
  • (08:43) - Why Does TypeScript Security Matter?
  • (10:23) - TypeScript is Not a Security Tool
  • (11:14) - How Does HTTP Parameter Pollution Work?
  • (12:45) - Ways to Mitigate Parameter Pollution
  • (15:44) - Schema Validators Won't Always Save You
  • (16:51) - How Prototype Pollution Works
  • (18:23) - Exploiting Schema Validators Through Prototype Pollution
  • (21:50) - Mitigating Prototype Pollution Risks
  • (25:21) - Consequences of Prototype Pollution
  • (27:23) - Ways to Safely Merge Objects
  • (30:03) - How Can TypeScript Developers Improve Their Security Posture?
  • (33:17) - How Do LLMs Impact Secure Coding?
  • (39:11) - Misplacing Trust in AI-Generated Code
  • (41:10) - Can LLMs Review and Fix Secure Code?
  • (45:57) - So We're All Doomed, Right?
  • (48:31) - Bonus: Game Development as a Teaching Tool
  • (54:48) - Where to Find Liran

Links
  • Liran's website and blog
  • Talk: Friend or Foe? TypeScript Security Fallacies
  • Course: Node.js Security Course
  • Book: Essential Node.js Security
  • Book: Serverless Security
  • Tool: npq (welcoming contributions!)
  • https://github.com/lirantal/is-website-vulnerable
  • Game: Dependency Frost
  • Paper: Are AI-generated fixes secure? (July 2025)

Sponsored by Excalibur.js
Excalibur.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.

Music
Seahorse Dreams by Kubbi (Spotify)

Show more...
3 months ago
57 minutes

TypeScript.fm - The Friendly Show for TypeScript Developers
Deno Fresh 2.0 Alpha, a BigInt Trick, and Learn TS in One Hour | News | Ep 28

News of the week of July 21, 2025: Deno Fresh 2.0 is in alpha, TS 5.9 RC has some small changes, and beware the latest eslint-config-prettier supply chain attack. From the community: learn TypeScript for free in an hour, master generics through Soduku, run TS in the browser without a build step, and a library for modern TS dependency injection.

Chapters

  • (00:00) - Introduction and Personal News
  • (07:14) - News: Try Out the Deno Fresh 2.0 Alpha
  • (08:32) - News: TypeScript 5.9 RC Includes Some Small Fixes
  • (09:22) - News: TSGo Adds @satisfies Support for JSDoc
  • (09:44) - PSA: eslint-config-prettier Supply Chain Attack
  • (10:35) - Correction: tsgolint and TSL Clarifications
  • (12:25) - Community Highlight: Learn TS in One Hour by freeCodeCamp
  • (12:53) - Community Highlight: Mastering TypeScript Mysteries by Sweta Tanwar
  • (13:37) - Community Highlight: Using BigInt to Make Sure a String is a Well-formed Integer
  • (14:38) - Community Highlight: tsbro Runs TypeScript in the Browser
  • (16:28) - Community Highlight: pure-ts-mock is a Standalone Mocking Library
  • (17:31) - Community Highlight: Custom SSR for Lit Web Components Using Deno Emit
  • (19:33) - Community Highlight: Mastering TypeScript Types by Laxman Rathod
  • (20:19) - Community Highlight: Building TypeScript Apps with Bun and Electron with electrobun
  • (21:08) - Secret of the Handbook: const Generics
  • (23:06) - Cool API: navigator.sendBeacon for Analytics
  • (24:43) - Cool Lib: es-toolkit, A Modern JavaScript Utility Library
  • (25:26) - Cool Lib: di-wise, a Zero Deps Dependency Injection Library for TS
  • (26:29) - Cool Read: NIH is Far Cheaper Than the Wrong Dependency

News
  • Deno Fresh 2.0 is an alpha
  • Announcing TypeScript 5.9 RC 
  • Popular npm linter packages hijacked via phishing to drop malware 

From the Community

  • freeCodeCamp: Learn TypeScript – Crash Course for Beginners (1 hour free course)
  • City.js Conf: Sweta Tanwar - Mastering TypeScript Mysteries
  • Interesting Type Inference Post using BigInts (Playground Link)
  • stagas/tsbro: TypeScript for the Browser
  • pure-ts-mock (bweet) is a minimalist, type-safe mocking library
  • Matt Jennings pointed out a neat way to do SSR with Web Components (Lit) using Deno Emit and Deno Bundle 
  • Laxman Rathod: Mastering TypeScript Types: A Practical Guide from Basics to Advanced (h/t Shawn Wildermuth)
  • Electrobun aims to be a complete solution-in-a-box for building, updating, and shipping ultra fast, tiny, and cross-platform desktop applications written in Typescript. Under the hood it uses bun to execute the main process and to bundle webview typescript, and has native bindings written in zig.
  • Secret of the Handbook: Const Generics (playground link) (h/t sirpepe) 

Cool Stuff

  • Navigator: sendBeacon() method
  • toss/es-toolkit: A modern JavaScript utility library that's 2-3 times faster and up to 97% smaller—a major upgrade to lodash
  • exuanbo/di-wise: Lightweight and flexible dependency injection library for JavaScript and TypeScript, w/wo ECMAScript decorators
  • Clean Architecture in TypeScript | 弦而時習之 
  • Lewis Campbell: NIH Is Far Cheaper Than The Wrong Dependency 
  • Learn Wardley Mapping

Sponsored by Excalibur.js
Excalibur.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.

Music
Seahorse Dreams by Kubbi (Spotify)

Show more...
3 months ago
32 minutes

TypeScript.fm - The Friendly Show for TypeScript Developers
Nuxt 4.0, Bun's Smarter Types, and Testing Type Completions | News | Ep 27

News of the week of July 14, 2025: Nuxt 4.0 is released along with an acquisition by Vercel, TSGO ships go-to-type definition support, and Bun ships smarter types. From the community: test type completions and benchmark instantiations with a testing package from Arktype, treating types as values with type-level maps, and dive a bit deeper into how type inference works.

Chapters

  • (00:00) - Introduction and Personal News
  • (06:02) - News: Nuxt 4.0 Release and NuxtLabs Joins Vercel
  • (09:57) - News: TSGO Adds Go-to-type Definition Support
  • (10:33) - News: Node 24.4.1 Security Patches
  • (12:12) - News: Bun 1.2.19 Ships Smarter Types
  • (13:21) - News: SvelteKit Now Supports Vite 7 and Rolldown
  • (13:52) - Community Highlight: oxlint + tsgolint = no slowdown!
  • (16:01) - Community Highlight: Type-safe Event Emitters by Artem
  • (17:13) - Community Highlight: Understanding TypeScript's Type Inference by SharpCoderBlog
  • (17:46) - Community Highlight: Testing Type Completions in TypeScript by Arktype
  • (19:17) - Community Highlight: Type-safe Persistence and Auto-theming in Svelte 5 by Puru Vijay
  • (19:59) - Community Highlight: Your GPU is a JavaScript Runtime by Iwo Plaza
  • (20:54) - Community Highlight: DHH Hates TypeScript
  • (22:15) - Community Highlight: Node and Deno Permissions Discussion by Dr. Axel
  • (25:29) - Community Highlight: Treating Types as Values with Type-level Maps by Gregros
  • (27:08) - Community Highlight: Return Types on Functions, Yay or Nay? by Kyle Shevlin
  • (28:15) - Community Highlight: Jake and Josh Interview on Software Engineering Daily Podcast
  • (28:34) - Cool Link: Dokploy is an OSS Alternative to Vercel, Netlify, and Heroku
  • (30:07) - Cool Link: Turning a Toy Into a Cyberdeck by Attoparsec
  • (30:52) - Cool Link: What's New in Vite by Evan You
  • (31:38) - Cool Link: Add Windows to Your App with winbox.js
  • (33:21) - Cool Link: Marginal Utility of Money by The Happy Philosopher
  • (37:42) - Post-credits Banter

Personal News
  • Sorry for the delay, Kamran just got back from vacation!
  • Follow Kamran's trip on Insta

News

  • Nuxt 4.0 is released and NuxtLabs joins Vercel
  • typescript-go: Implement go-to-type-definition (PR #1405)
  • Node.js 24.4.0 and 24.4.1 include high-severity CVE fixes (as well as 20.x, and 22.x release lines)
  • Bun 1.2.19 is smarter when you are not using `dom` lib types
  • What’s new in Svelte: July 2025

From the Community

  • Boshen: oxlint + tsgolint = no slowdown! no-floating-promises completes 4.4k files in 3.2 seconds, in the vscode repo.
  • Artem: rettime, a type-safe event emitter
  • SharpCoderBlog: Deep Dive into TS Type Inference
  • Arktype: Testing Type Completions with @ark/attest (bsky thread)
  • Puru Vijay: Type-Safe Persistence and Auto-Theming in Svelte 5
  • Iwo Plaza: Your GPU is a JavaScript runtime* (TypeGPU deep-dive) 
  • DHH: I hate TypeScript
  • Discussion: Per-module or Per-dependency Permissions?
  • Greg Rosenbaum: Treating types as values with type-level maps
  • Kyle Shevlin: Return types on functions, yay or nay?
  • Software Engineering Daily Podcast: TypeScript with Jake Bailey

Cool Stuff

  • Tool: dokploy is an OSS alternative to Netlify 
  • Video: Turning a toy into a cyberdeck
  • Video: What's New in Vite Explained by Its Creator 
  • Library: Put Windows in Your Web App with WinBox.js
  • Blog: How Understanding the Marginal Utility of Money Will Make you Happier 

Sponsored by Excalibur.js
Excalibur.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.

Music
Seahorse Dreams by Kubbi (Spotify)


Show more...
3 months ago
38 minutes

TypeScript.fm - The Friendly Show for TypeScript Developers
TypeScript 5.9 Beta, Redonkulous Linting, and a Community Enum Syntax Proposal | News | Ep 26

News of the week of July 7, 2025: We dive into the TypeScript 5.9 beta, an experimental Go linter for TS/JS, plus make sure you upgrade your Node.js versions! From the community: a new enum syntax proposal in case JS doesn't get native enums, TSL brings faster type-aware linting, and trashh_dev asks TypeScript: WTF?

Chapters

  • (00:00) - Introduction and Personal News
  • (07:10) - News: TypeScript 5.9 Beta
  • (19:42) - News: tsgolint, an Experimental JS/TS Native Linter
  • (21:56) - PSA: Upgrade Your Node.js 20.x, 22.x, and 24.x Installations
  • (22:46) - Community Highlight: TSL, a New Type-aware Linter
  • (25:00) - Community Highlight: New typescript-eslint Homepage Preview
  • (26:04) - Community Highlight: New Enum Syntax Proposal by Naman
  • (29:53) - Community Highlight: WTF TypeScript by trashh_dev
  • (31:27) - Community Highlight: Migrating MorphKit to NativeScript with LLMs
  • (33:47) - Community Highlight: ariadne-ts Brings Rust-style Diagnostic Messages to TS
  • (35:20) - Cool Link: Get Current Weather in Your Terminal
  • (36:12) - Cool Link: JSON Repair
  • (37:09) - Cool Link: aws/jsii Lets You Consume TS Libs from Python, Java, and C#
  • (39:38) - Cool Link: Check Road Conditions in Colorado with cotrip.org

Personal News
  • Sorry for the delay, Kamran's on vacation!
  • Follow Kamran's trip on Insta

News

  • Announcing TypeScript 5.9 Beta 
  • tsgolint, an experimental proof-of-concept typescript-go powered JS/TS linter written in Go
  • PSA: High-severity security patches coming to Node.js on Patch Tuesday for 24.x, 22.x, and 20.x release lines!

From the Community

  • Arnaud Barré: Introducing tsl, an extension of tsc for type-aware linting!
  • Joshua Goldberg: New TypeScript Eslint homepage
  • Naman: New enum syntax for TypeScript 
  • Chris Batiste (trashh_dev): WTF Typescript 
  • nStudio: Morphing Swift to 100% TypeScript with NativeScript + AI
  • Ariadne-ts v0.3.0: Beautiful Diagnostics in TypeScript (h/t Reddit)

Cool Stuff

  • aws/jsii allows code in any language to naturally interact with JavaScript classes
  • COtrip.org – get road conditions in Colorado
  • `curl wttr.in` -- Weather from the terminal
  • josdejong/jsonrepair: Repair invalid JSON documents 

Sponsored by Excalibur.js
Excalibur.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.

Music
Seahorse Dreams by Kubbi (Spotify)

Show more...
3 months ago
41 minutes

TypeScript.fm - The Friendly Show for TypeScript Developers
Deno 2.4 Bweets, Next.js Vuln Alert, Modern Node, and Typed Mongo | News | Ep 25

News of the week of June 30, 2025, Deno Bundle is Back in Black in 2.4! We coin the term "Bweet", Deno also gets some non-standard import attributes for text and bytes, OTEL is now stable in Deno, and Next.js has a DoS vulnerability. From the community: we chat about modern Node.js patterns for 2025, NDC Oslo talks are rolling in on YouTube, and strongly type your MongoDB collections!

Chapters

00:00 Introduction and Personal News
07:02 News: Deno 2.4
19:43 News: Next.js Vulnerability Alert
21:22 Community Highlight: Celebrating Node.js LGBTQIA+
22:07 Community Highlight: Modern Node.js Patterns for 2025
25:09 Community Highlight: NDC Oslo 2025 Talks are Rolling Out
26:23 Community Highlight: Deno NPM Specifiers are Awesome
27:46 Community Highlight: TypeScript Trace Resolution
29:08 Community Highlight: Typing MongoDB Collections
29:51 Community Highlight: Migrating 160,000 Lines to TypeScript
33:42 Cool YouTuber: Typecraft
35:42 Cool Link: Exploring Local First
37:52 Cool Link: Local First Conf

Personal News

  • Shure MV7+ Microphone
  • Excalibur Playground Prototype is Live (Thanks for the Pong Game Chris K!)
  • Playing with Monaco code Editor
  • Arch Linux and "Ricing"

News

  • Deno 2.4 is released and it's JAM PACKED!
  • PSA: For Next.js users: CVE-2025-49826 - Vercel

From the Community

  • Node.js LGBTQIA+ Stories: Emelia Smith
    • “The largest change I made to Node.js was splitting up the documentation into multiple files and pages, prior to this change, all the documentation had been on a single large page only.”
  • Modern Node.js Patterns for 2025 (kashw1n)
    • Undici Docs
    • Undici Blog Post
  • NDC Oslo 2025 Talks are Rolling out
    • A Deep Dive into Advanced TypeScript: A Live Coding Expedition Christian Woerz
    • Keynote CTRL+SHIFT+(BUILD) PAUSE - Laila Bougria
  • NPM Specifiers in Node (Deno YouTube)
  • Trace Resolution is very handy about type check errors in libraries (@literat.dev)
    • “TIL: Using `tsc --traceResolution` is very handy to get information about why the heck TypeScript is raising an error about the file that should not be part of the library, but it is included during the type check 😅”
  • Typing MongoDB Collections in TypeScript (Daniel Perez) 
  • From the vault, Feb 2025: Migrating 160,000 Lines of Production Banking JavaScript to TypeScript with Zero Downtime (Ben Howdle)

Cool Stuff

  • All things NeoVim, Arch, Hyprland, and tech goodness YouTube Channel Typecraft
  • CGI Today
  • Local-first software: You own your data, in spite of the cloud
  • LocalFirstConf

Sponsored by Excalibur.js
Excalibur.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.

Music
Seahorse Dreams by Kubbi (Spotify)

Show more...
3 months ago
40 minutes

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!