TypeScript.fm - The Friendly Show for TypeScript Developers

TypeScript.fm - The Friendly Show for TypeScript Developers

By Kamran Ayub and Erik OnarheimNewsTechnologyTech News
Download on the App Store

TypeScript.fm - The Friendly Show for TypeScript Developers episodes

  • TSGo Gets Autocomplete and JSX Support | News | Ep 15

    News for the week of April 21, 2025: TSGo gets autocomplete and JSX support, pnpm adds JSR support, and remember to migrate off Node 18!

    • (00:00) - Introduction and Personal Updates
  • (04:55) - News for the Week of April 21, 2025
  • (06:26) - News: TSGo Gets JSX and Autocomplete Support
  • (08:36) - News: pnpm Gets JSR Package Support
  • (10:00) - News: Juno Adds Serverless TypeScript Functions
  • (11:23) - News: Storybook 9 Beta is Released
  • (13:23) - News: Node 18 EOL on April 30, 2025
  • (14:11) - Community Highlight: Joist ORM by Stephen Haberman
  • (15:51) - Community Highlight: TypeScript Interview Questions by L Javier Tovar
  • (18:08) - Community Highlight: Quad Trees with TypeScript by Hypersphere
  • (20:11) - Cool Stuff: GitHub's Project Padawan
  • (22:56) - Cool Stuff: Dan Abramov on React Server Components
  • (24:16) - Cool Stuff: Track WebGL Memory Usage
  • (25:25) - Cool Stuff: GameStats by Trezzy

  • 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)

    Creators & Guests

    • Erik Onarheim - Host
    • Kamran Ayub - Host
    • 28 min
    • Are We Sick of TypeScript.fm Yet? | Retrospective | Ep 14B

      In this episode, Erik and Kamran have a candid discussion about how the podcast started, how it went, and what the plans are for the future.


      Chapters

      • (00:00) Introduction
      • (01:18) Is TypeScript.fm Done?
      • (01:59) Erik's Reflection
      • (03:05) Kamran's Reflection
      • (03:48) What's the Goal of the Podcast?
      • (06:46) What Do We Want to Focus On?
      • (12:10) Should We Build a Dedicated Community Around the Podcast?
      • (13:58) How Do We Feel About the Time Spent Right Now?
      • (18:05) Should We Split Episodes Apart?
      • (21:59) What Should Change With the Record and Edit Workflow?
      • (23:38) Should We Start Doing Video?
      • (26:08) What Should the News Cover?
      • (27:23) Should We Send a Newsletter?
      • (29:28) How Are the Numbers Doing So Far?
      • (36:26) How Do We Encourage Feedback or Engagement?
      • (37:34) What Should We Stop Doing?
      • (38:49) How Do We Want to Handle Guests?
      • (40:28) How Do We Make It Easier to Aggregate News?
      • (43:23) Should We Change Up the Format?
      • (49:47) How Do We Want to Handle Mid-rolls?
      • (51:03) How Do We Improve Our Show Notes and Accessibility?
      • (52:34) Should We Update the Logo and Cover Art?
      • (53:22) What Has the Community Reception Been?
      • (56:55) Tell Us What You Think!


      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)

      Creators & Guests

      • Erik Onarheim - Host
      • Kamran Ayub - Host
      • 59 min
      • TC39 Enums in JS Proposal Moves to Stage-1 | News | Ep 14

        News for the week of April 14, 2025: TC39 Enums in JS Proposal moves to Stage 1, plus Next.js gets some TS LSP plugin perf/stability improvements.

        Chapters


        • (00:00) - Introduction
      • (02:07) - News for Week of April 14
      • (03:20) - News: SquiggleConf 2025
      • (03:40) - News: TC39 Enums in JS Proposal Moves to Stage 1
      • (04:20) - News: Deno 2.2.10
      • (04:48) - News: Bun 1.2.10
      • (05:08) - News: Next.js 15.3
      • (07:31) - Community Highlight: Reddit Discussion on the Enums in JS Proposal
      • (10:25) - An Abrupt Goodbye!

      • Links

        • SquiggleConf
        • TC39 Enums in JS Proposal
        • Deno 2.2.10
        • Bun 1.2.10
        • Next.js 15.3
        • Reddit Discussion on the Enums in JS Proposal


        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)

        Creators & Guests

        • Erik Onarheim - Host
        • Kamran Ayub - Host
        • 12 min
        • DOOM.ts | Dimitri Mitropoulos | Ep 13

          This week on the pod, we talk to Dimitri Mitropoulos about building DOOM in the TypeScript type system. We walk through all the nitty gritty and explore this truly amazing engineering feat! We touch on things that Dimitri learned and discovered along the way, and how you might be surprised what you can accomplish by trying! In the news, Zod 4 Beta drops with awesome new features. 


          Chapters

          • (00:00) - Intro
        • (00:37) - SquiggleConf 2025
        • (01:00) - Personal News
        • (04:28) - Dimitri's Background and Michigan TypeScript
        • (08:35) - JSON Parser in TypeScript Types
        • (09:08) - Where do you start with DOOM in Types?
        • (10:01) - "DOOM" Complete
        • (13:57) - How do you run DOOM in TS?
        • (17:36) - Debugging an Emulator in TS Types
        • (19:22) - How does DOOM work?
        • (20:45) - Using Web Assembly
        • (22:49) - Understanding WebAssembly and TypeScript Integration
        • (24:59) - The Concept of Abstraction in Programming
        • (27:02) - Challenges in Implementing WebAssembly from the Spec
        • (28:59) - Ambiguities in Specifications and Their Impact
        • (30:40) - Debugging Techniques and Error Handling
        • (32:24) - Innovative Use of Overflow in Game Development
        • (35:40) - Insights Gained from TypeScript During the Project
        • (38:24) - The Complexity of TypeScript Types
        • (43:08) - Time Travel Debugging and Memory Management
        • (45:00) - The Most Challenging Aspects of the Project
        • (48:32) - Reactions to DOOM
        • (53:10) - The Dawn of TypeScript Go
        • (01:02:14) - Lessons Learned and Future Directions
        • (01:08:37) - Dimitri Says Goodbye!
        • (01:09:50) - News for the Week of April 7th
        • (01:14:42) - Community Posts
        • (01:17:39) - Secret of the Handbook
        • (01:19:07) - Cool Stuff from Erik
        • (01:19:51) - Debugging and Performance Optimization Techniques

        • Dimitri's Links
          • SquiggleConf 2025
          • Michigan TypeScript
          • TypeScript Types Can Run Doom
          • Anders TS GO Interview 
          • Final Boss Challenge 
          • TypeScript Types WASM Runtime


          News Links

          • Zod 4 Beta
          • Matt Pocock's Video
          • Dan Abramov - RSCs or Maybe Not
            • https://overreacted.io/react-for-two-computers/ 
            • https://youtu.be/ozI4V_29fj4 
          • Axel’s Corner
            • Testing Types 
              • https://2ality.com/2025/04/testing-types-typescript.html 
              • https://bsky.app/profile/dr-axel.de/post/3lmmwp4ovek2q 
            • Deploying TypeScript (timely!)
              • https://2ality.com/2025/04/deploying-typescript-present-future.html
          • https://www.pipe0.com/blog/never-in-typescript 
          • https://www.typescriptlang.org/docs/handbook/2/conditional-types.html#distributive-conditional-types 
          • Kamran
            • https://bun.sh/blog/debugging-memory-leaks
            • Animate UI: copy paste or installable components built with TS, React, and Tailwind using Motion.
          • Erik
            • VGM Con
            • Shader Programming Talk
            • Sebastian Lague - Simulated CPU
              • https://youtu.be/HGkuRp5HfH8?si=9iNm0Ad1z4T4AePj 
            • Sebastian Lague - Rendering Text
              • https://youtu.be/SO83KQuuZvg?si=uzPojhUqBvV35q7F  

           
          Excalibur Games

          • Sum Monsters 
          • Sweep Stacks 
          • Tiny Tactics 
          • Jelly Jumper


          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)

          Creators & Guests

          • Erik Onarheim - Host
          • Kamran Ayub - Host
          • Dimitri Mitropoulos - Guest
          • 1 hr 25 min
          • Enums in JS, Deno v Oracle Cage Match, and Parcel Gets React Server Components | Grab Bag | Ep 12

            This week on the pod, we were very busy with travel, cons, and sickness! We have a news grab bag episode talking about the JS enums proposal, Deno v. Oracle, Parcel+RSCs, Firefox vulnerabilities and more!

            Also Please email us your feedback for your retro episode ([email protected])

            00:00 Intro
            00:50 VGM Con
            02:07 IGDATC Talk Wednesday April 9th
            02:41 Toddler Zone
            03:28 Exciting Arizona Travels
            05:53 (Almost) Missing Flights
            07:33 Sponsored by Excalibur.js
            08:44 JavaScript Enums Proposal
            10:06 Deno v. Oracle

            • Deno Blog Post
            • JavaScript.tm Petition

            12:55 Parcel 2.14 and React Server Components
            14:01 Build Browser Extensions with Parcel
            14:18 NPM Ecosystem Updates

            • Jake Bailey's Post
            • Kat Marchán's Fix

            15:23 Mozilla JavaScript Sandbox Vulnerability

            • Bleeping Computer
            • CVE Details from Mozilla

            16:51 Community: ArkType Deep Dive
            17:31 Community: JavaScript & TypeScript in my Database

            • Typed Rocks Video
            • PLV8 Extension

            20:00 Kamran's Cool Stuff: Data Visualization with TypeScript
            20:40 Erik's Cool Stuff

            • Game: Dark Diety 2

            21:27 Sprite Sheet Packing with Potpack
            23:53 De-Google Your Life
            25:46 HyperLight: A Lightweight VM for WASM

            • MS HyperLight Announcement Post
            • HyperLight Main Repo
            • HyperLight WASM Repo

            30:26 Post-roll

            32 min
          • Baby Got Bun | Ep 11

            This week on the pod, we talk all about the Bun runtime funtimes! This is a powerful new player in the JavaScript and TypeScript runtime space focusing on DX, speed, and pushing the state of the art! We dive into the details and offer some of our thoughts around when to use it at the moment. In other news we avoid phone scams and talk fun new TypeScript libraries.

            Also Please email us your feedback for your retro episode (feedback at typescript.fm)

            Personal News

            • 00:36 Welcome
            • 01:33 Kamran & Erik IRL
              • Minnebar
              • VGM Con
            • 02:39 Erik @ C Fundamentals by Frontend Masters
              • FFM
            • 02:55 Vibe Coding
            • 03:43 LLMs "what are they good for?!"
            • 04:31 Kamran's New Course
            • 06:16 Kamran Review book on Time Freedom
            • 07:31 Scams and Phone Calls
              • FTC Warning about fake Jury Duty


            (09:26) News for the Week of March 17, 2025

            • 09:34 Next.js 9.1 CVE
              • PR with fix
              • Ed's Video on this @ Low Level Learning
            • 10:43 Deno 2.2.5
            • 11:13 Deno Patch Functionality
            • 11:59 Deno FFI Docs Update
            • 13:04 PandaCI: A New CI/CD Tool
            • 16:17 HKT Core


            (17:33) Community Highlights

            • 17:33 TS Go GitHub Discussion on Compiler API
            • 18:24 Deno Compile Vite
            • 20:07 Blog Post by Andy Jiang about Deno+OTel
            • 22:35 Cory House on Implementing Immutability in TypeScript
            • 23:16 RGSTRY for managing decorator metadata
            • 24:19 Corepack removal from Node, Sarah has a good overview


            Bun Deep Dive

            • 27:22 Introduction to Bun Runtime
              • Baby Got Back by Jonathan Coulton 
            • 28:01 What is Bun
            • 28:23 Bun vs Node.js and Dino
            • 29:25 Features and Capabilities of Bun
            • 30:40 Bun Performance
            • 31:23 C Tangent
            • 32:12 Bun DX
            • 35:20 Standalone Executable
            • 35:53 Use Cases for Bun
            • 38:00 Cautions and Considerations
            • 41:38 Good Use Cases
            • 46:24 Bun Community
              • This OP asked about Bun and ended up moving to Deno actually
              • Memory Leaks 
              • Reddit threads
            • 48:09 Conclusions

            Outro

            • 52:00 Cool Stuff This Week
            • 58:11 Give Us Feedback (feedback at typescript.fm)


            Other Links

            • Profiling TypeScript in VSCode
            • Cobol Based UI
            • https://github.com/oven-sh/awesome-bun 
            • Chess in TypeScript types 
            • Developer Speak


            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)

            Creators & Guests

            • Erik Onarheim - Host
            • Kamran Ayub - Host
            • 1 hr 1 min
            • The Vanilla TS Experience | Josh Goldberg | Ep 10

              In this episode, we are joined by special guest Josh Goldberg to teach us about getting started with TypeScript from scratch. If you're new to TS, this is a great introduction! And if you've been using TS for a long time, you can explain to your friends where they should start to make their experience smoother. In the news, Nx gets support for project references and we curate some of the best TSGo content.


              (00:36) Personal News

              • IRL: Excalibur.js team will be at VGM Con (April 11-13, Minneapolis, MN)
              • IRL: Erik is speaking at NDC Oslo (May 19-23)

              (04:28) Introducing Josh Goldberg

              • (07:10) - Josh's Work as a Full-time Open Sourcer
              • (09:05) - Getting Started with TypeScript
                • Start with the TypeScript Handbook (it's free!)
                • Then, play with TypeScript in the playground
              • (10:57) - Pain Points for New TypeScript Developers
              • (12:41) - Benefits of TypeScript for Experienced Developers
              • (14:43) - Getting Started with TypeScript
              • (17:57) - CTA - create-typescript-app
                • v2 rewrite spawned Bingo, dev tooling automation blocks
              • (20:54) - Use Cases For Create TypeScript App
              • (26:58) - CTA Plans for the Future
              • (29:10) - Learning Resources for TypeScript
                • Matt Pocock (Total TypeScript)
                • Cory House (Getting Started with TypeScript)
                • Basarat (TypeScript Deep Dive)
                • Code challenge: Advent of TS
                • Code challenge: Advent of Code
                • Code challenge: Type Challenges
              • (32:17) - And of course, Josh's Book: Learning TypeScript!
                • Learn the why and theory
                • Blog and articles
                • Buy the book!
              • (33:30) - Favorite Language Feature: Discriminated Unions
              • (37:40) - Favorite Language Feature: Branded Types
              • (38:58) - Creating TypeScript ESLint Rules
              • (40:34) - Key Takeaways - Fun and Cool Stuff Happening!
                • SquiggleConf 2025 CFP is open!
              • (42:29) - Future of TypeScript and Linting Innovations
                • Write your own TS linter

              (45:02) Where to Find Josh

              • Website
              • Follow on BlueSky @JoshuaKGoldberg
              • Sponsor on GitHub
              • Attend SquiggleConf 2025


              (46:55) News for the Week of March 10, 2025

              • TSGo, but we already covered that (TS-a-Go-Go, Ep 9)
              • Deno 2.2.4 update adds enhancements to OpenTelemetry (OTel) support
              • Nx 20.5 adds TS project reference support
              • Cory House releases a new TypeScript course on Dometrain
              • React Router 7.3 minor release
                • Experimental support for client contexts
                • Experimental support for route middleware
              • (49:25) - Community Updates
                • Dr. Axel's Corner - Dive deeper with this TSGO Explainer
                • Sxzz (Kevin from Vite) created a TSGo playground with WASM
                • TSGo community content
                  • MiTS interview
                  • Syntax interview
                  • Matt Pocock interview
                  • Theo's video

              (54:55) Cool Stuff

              • Learn Zod to Trust your Data and your Types (h/t cassidoo)
              • 50 Years of Travel Tips by Kevin Kelly
                • "Your enjoyment of a trip will be inversely related to the weight of your luggage"
                • "Crash a wedding. You are not a nuisance; you are the celebrity guest!"
              • TypeScript ESlint: Getting Started Docs
              • Everhood Game (Steam | Add to your Backlog)


              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)

              Creators & Guests

              • Erik Onarheim - Host
              • Kamran Ayub - Host
              • Josh Goldberg 💖 - Guest
              • 57 min
              • TS-a-Go-Go | Ep 9

                The Internet blows up as TypeScript reaches its next Pokemon evolution, and Kamran and Erik scramble to create an episode to pick up the pieces and make sense of it. In other news, TikTok announces Lynx, Angular gets some fetch upgrades, and Josh Goldberg releases v2 of create-typescript-app.


                Week of March 3, 2025

                • (07:09) - Big News: TypeScript Is Getting 10X Faster
                • (07:48) - Big-ish News: Lynx Announced, the React Native Killer?
                • (11:46) - News: Angular 19.2 Released
                • (12:53) - News: Corepack Voted to Be Taken Out of Nodejs Core
                • (13:35) - News: traits-ts Library Released
                • (14:23) - Community Highlight: Dr. Axel's Corner
                  • 2ality: My TS Sales Pitch
                  • 2ality: Unions and intersections of object types
                  • 2ality: Gist for createEnum helper
                • (17:50) - Community Highlight: Build TypeScript-first BlueSky Bots and Feeds
                • (18:27) - Community Highlight: JavaScript Fatigue Strikes Back
                • (19:06) - Community Highlight: Josh Goldberg Releases v2 of create-typescript-app
                • (19:50) - Community Highlight: Alex Teaches Us About Cosine Similarity in TypeScript
                  • Plus: 3Blue1Brown explainer video about vector embeddings


                 Deep Dive: TypeScript is Being Ported to Go

                • (22:04) - Deep Dive: TypeScript Is Being Ported to Go
                • (23:58) - Deep Dive: Ports vs. Rewrites
                • (24:50) - Deep Dive: Why Go?
                • (25:54) - Deep Dive: Why Not Rust? Anders Explains
                • (28:37) - Deep Dive: Why Not C#?
                • (30:20) - Deep Dive: Go's Developer Experience
                • (31:27) - Deep Dive: Running Concurrent Type Checking
                • (32:54) - Deep Dive: 10X Is Just the Start
                • (33:26) - Deep Dive: What's the Roadmap?
                • (35:06) - Deep Dive: Impact on Ecosystem
                • (43:32) - Deep Dive: Go Use It... in Go
                  • Kevin Deng (sxzz) from the Vite team is maintaining a releases repository
                • (45:20) - Deep Dive: What's Not Supported Yet
                • (46:08) - Deep Dive: Props to the Team

                Other Links

                • Habitica, a habit tracker
                • rspack, a Rust port of webpack
                • (47:34) - Secrets of the Handb--Actually, Just Go Build tsgo
                • (47:48) - Cool Stuff: acorn-typescript is Now An Actively Maintained Fork
                • (48:37) - Cool Stuff: Mentoss, a New Alternative to Nock and MSW
                • (50:29) - Cool Stuff: Plane is the OSS JIRA-killer?
                • (51:11) - Funny Stuff: Boss Refuses to Use TypeScript, What's the Next Best Thing?


                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)

                Creators & Guests

                • Erik Onarheim - Host
                • Kamran Ayub - Host
                • 54 min
                • React, TypeScript, and... Schbooleans? | Ep 8

                  This week Kamran dives into some nuances with using React with TypeScript while Erik plays the React fool and coins the word "schbooleans" (yep). In the news, erasableSyntaxOnly gets shipped, some new minor releases in the ecosystem, and oh, TypeScript types can run DOOM. Yes, TS is a real language now.

                  Erik's News

                  • Personal Blog Post: The Best Worst Year 
                  • Happy New Year Excalibur! 
                  • Excalibur 2024 Community Reel 
                  • Erik didn't finish the flappy bird vid or lighting feature in time, consolation prize
                    • Flappy Bird Article
                  • Excalibur Lighting PRs: Pipeline & PoC

                   
                  Week of February 24, 2025

                  • (04:16) - News: TypeScript 5.8 Released
                    • userland-codemods for transforming import extensions to ".ts"
                  • (06:32) - News: Bun 1.2.4 Released
                  • (08:01) - News: Next.js 15.2 Released
                  • (09:29) - News: Astro 5.4 Released
                  • (09:49) - News: React Router 7.2 Released
                  • (10:25) - News: ArkType 2.1 Released
                  • (11:23) - News: Mozilla's Firefox Privacy Policy Rug-pull
                  • (14:32) - News: Warp Terminal is Now Available on Windows
                  • (15:55) - Community Highlights: TypeScript Types Can Run DOOM (!?)
                    • Write-up by Simon Willison
                    • Write-up on Socket.dev
                    • Mark Seeman's series (and course) on type-driven development (F#)
                  • (20:24) - Community Highlights: Dr. Axel's Corner
                    • free-typescript-resources Gist
                    • Testing Types and asserttt
                  • (22:19) - Community Highlights: Safety-Web ESLint Plugin
                  • (23:27) - Community Highlights: Pattern for Strongly Typed Event Emitters
                  • (24:20) - Community Highlights: Websocks, a Typed WebSockets Router for Node


                   Deep Dive: TypeScript and React Nuances

                  • (26:17) - Deep Dive: TypeScript and React
                  • (27:26) - Deep Dive: What You Need to Know First
                    • Using Vite react-ts template
                  • (28:27) - Deep Dive: TSConfig Options for React and TS
                  • (32:55) - Deep Dive: How JSX/TSX Works Under the Hood
                    • Deno has native support for TSX/JSX
                    • And so does Bun
                  • (35:03) - Deep Dive: TSX in Different Runtimes
                  • (35:39) - Deep Dive: Typing Components and Props
                    • Example of leaning on inference
                  • (38:12) - Deep Dive: Typing the Children Prop
                  • (40:13) - Deep Dive: Where Should Typings Go?
                  • (41:05) - Deep Dive: Should I Use React Class Components?
                  • (43:21) - Deep Dive: Typing Events and Callbacks
                  • (46:59) - Deep Dive: Typing Data and APIs
                  • (48:41) - Deep Dive: Typing Form Actions and "Schbooleans"
                  • (51:19) - Deep Dive: Typing State and Set-state Actions
                  • (54:11) - Deep Dive: Typing Contexts
                  • (54:49) - Deep Dive: Typing Refs and DOM Attributes
                  • (58:19) - Deep Dive: Sharing Typed Components in Libraries
                  • (59:56) - Deep Dive: Takeaways / tl;dl
                  • Resource: React and TS Cheatsheets
                  • Resource: Using React with TypeScript guided code lab on Pluralsight (requires subscription)

                  Secrets of the Handbook

                  • (01:01:30) - Secrets of the Handbook: Our Favorite Utility Types

                  Links

                  • (01:04:13) - Cool Stuff: Kamran's been playing Avowed and Pillars of Eternity
                  • (01:05:25) - Cool Stuff: Erik's spreads his stink with
                  1 hr 8 min
                • ORMed and Dangerous | Ep 7

                  This week Kamran and Erik discuss when ORMs are helpful... or hurtful. They cover trade-offs, the spectrum of abstraction, the value of escape hatches, and the options available to you in the TypeScript ecosystem.

                  Week of February 17, 2025


                  • (05:54) - News: Ember 6.2 Released
                  • (07:16) - News: Deno 2.2 Released
                    • npm-check-updates package
                    • Package JSON Upgrade VS Code extension
                    • https://github.com/vuki656/package-info.nvim for Neovim


                  Community Highlights

                  • (16:48) - Community Highlights: UseTypeScript for Your Stored Procedures?!
                  • (17:20) - Community Highlights: Node API Compatibility Across Runtimes
                  • (17:58) - Community Highlight: Why Type Catalogs Can Be Better Than Unions
                  • (19:05) - Community Highlight: tapi.js Automatically Maps JSON to Strongly-Typed Classes
                  • (20:33) - Community Highlight: Standard Schema Hopes to Align TS Validator Libraries
                  • (21:34) - Community Highlight: 2ality: Read-only accessibility in TypeScript


                   Deep Dive: TypeScript ORMs

                  • (22:56) - Deep Dive: TypeScript ORMs
                  • (24:21) - Deep Dive: Code-first or Database-first?
                  • (25:42) - Deep Dive: What Pain Do ORMs Solve?
                  • (27:21) - Deep Dive: When Should You Use an ORM?
                    • Martin Fowler's ORM Hate article
                    • Primeagen's Don't Use an ORM reaction video
                  • (30:02) - Deep Dive: To Use An ORM Or Not to Use an ORM?
                  • (31:47) - Deep Dive: SQL Builders vs. Abstracted ORMs
                  • (32:28) - Deep Dive: Do You Have An Escape Hatch?
                  • (33:36) - Deep Dive: Are ORMs A Symptom of Poor Data Architecture?
                  • (37:01) - Deep Dive: TypeScript ORM Landscape
                  • (37:26) - Deep Dive: Drizzle ORM
                    • Fireship's Drizzle in 100 seconds
                    • Works with Deno, Bun, Node.js
                  • (42:06) - Deep Dive: Prisma ORM
                    • Works with Deno (unofficially) and Node.js
                    • Prisma is being rewritten in TypeScript
                  • (46:42) - Deep Dive: MikroORM
                  • (49:10) - Tangent: Kamran and Erik Exchange War Stories
                  • (50:48) - Deep Dive: MikroORM Continued
                  • (51:44) - Deep Dive: TypeORM
                  • (53:06) - Deep Dive: ConvexDB
                  • (55:00) - Deep Dive: sequelize
                  • (55:48) - Deep Dive: Other Alternatives
                    • Objection.js
                    • Knex.js
                    • Waterline
                    • Bookshelf
                    • Mongoose/Typegoose
                  • (56:33) - Deep Dive: Takeaways / tl;dl

                  Secrets of the Handbook

                  • (57:47) - Branded / Nominal Types
                    • TypeScript Playground Example – Nominal Typing
                    • 400-comment GH issue on different ways to do nominal typing and trade-offs
                    • Michael Zalecki blog post on nominal types in TypeScript
                    • Branded Types from Learning TypeScript by Josh Goldberg
                    • Created a "sealed" method/class (example from Excalibur)


                  Links

                  • (01:04:25) - Cool Stuff: Kodaps Academy on Drizzle Versus Prisma
                  • (01:05:10) - Cool Stuff: jet Validators
                  • Reference: https://blog.logrocket.com/best-typescript-orms/
                  • Reference: https://www.sitepoint.com/javascript-typescript-orms/
                  • Reference: https://www.timsanteford.com/posts/choosing-the-best-typescript-orm-for-your-project/ 


                  Sponsored by Excalibur.js
                  Excalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScrip...

                  1 hr 8 min

                About TypeScript.fm - The Friendly Show for TypeScript Developers

                From the publisher's feed

                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…

                More shows like TypeScript.fm - The Friendly Show for TypeScript Developers

                Software Engineering Radio - the podcast for professional software developers by team@se-radio.net (SE-Radio Team)

                Software Engineering Radio - the podcast for professional software developers

                275 Listeners

                Modern Web by Modern Web

                Modern Web

                12 Listeners

                JavaScript Jabber by Charles M Wood

                JavaScript Jabber

                62 Listeners

                Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

                Syntax - Tasty Web Development Treats

                984 Listeners

                Practical AI by Daniel Whitenack and Chris Benson

                Practical AI

                208 Listeners

                Last Week In AWS Podcast by Corey Quinn

                Last Week In AWS Podcast

                79 Listeners

                PodRocket by LogRocket

                PodRocket

                59 Listeners

                Oxide and Friends by Oxide Computer Company

                Oxide and Friends

                66 Listeners

                Front-End Fire by TJ VanToll, Paige Niedringhaus, Jack Herrington

                Front-End Fire

                11 Listeners