TypeScript.fm - The Friendly Show for TypeScript Developers

Kamran Ayub and Erik Onarheim

The two TypeScript Fools, Kamran Ayub and Erik Onarheim, get together weekly to bring you news, community highlights, and deep dives into the TypeScript ecosystem. Stay up-to-date on what's happening and learn new things to make you a better TypeScript developer along the way!

  1. 3 DAYS AGO

    TypeScript Won, Type-safe Regex, and Import from... Python? | News | Ep 42

    News for the week of October 27, 2025: TypeScript is the #1 language on GitHub, making your Regex type-safe, and Biome adds support for three new metaframeworks. From the community: a metaframework for Angular, PHP in JS, and a polyglot runtime that will blow your mind. Chapters (00:00) - Welcome to the Show (05:36) - News: TypeScript Won in 2025 (12:43) - News: Vercel Now Supports the Bun Runtime (12:59) - News: Announcing ArkRegex for Typing Regex (16:37) - News: Safe Chain Can Proxy Your npm Installs (17:48) - News: Biome 2.3 Adds Support for Vue, Svelte, and Astro (19:05) - News: What's New in ViteLand? (22:58) - Community Highlight: Hire Josh Goldberg! (23:52) - Community Highlight: AnalogJS is a Meta Framework for Angular (25:00) - Community Highlight: Rendu, a JS Hypertext Preprocessor (27:24) - Runtime Watch: Elide, a Polyglot Runtime for JS, TS, Python, and More (31:29) - Tool Watch: dpdm, to Fix Circular Dependencies (32:57) - Library Watch: flowcraft, a Lightweight Workflow Engine (34:52) - Tool Watch: Trigger.dev, a Hosted Workflow Engine (37:07) - Bleet of the Week (37:32) - Secrets of the Handbook: ?? and infer (41:28) - Cool Watch: 10 Useful CLI Apps You've Never Heard Of (42:38) - Cool Watch: Porffor, an Ahead-of-Time Compiler for JS (46:31) - Cool Watch: Ladybird Browser October Update (47:00) - Cool Tool: Gimli Tailwind, a Browser Devtools Extension (48:07) - Cool Tool: PowerSync, a Local-first Sync Engine (50:28) - The Minnesota Long Goodbye News Octoverse: TypeScript is the most used language on GitHub 🎉Bun: Vercel now supports the Bun Runtime ArkType: Introducing ArkRegex (Reddit, Discord, Bluesky)Aikaido: Introducing Safe Chain: Stopping Malicious npm Packages Before They Wreck Your ProjectBiome 2.3 supports Vue, Svelte, Astro, and more. VoidZero: What’s New in ViteLand: October 2025 RecapFrom the Community Friend of the Show Josh Goldberg is looking for a full time position 👀AnalogJS 2.0 is a metaframework for Angular with SSR/SSG and file-based routingAlexander Lichter: Wait - PHP IN JS!? What is renduElide is a polyglot runtime, think: import Python modules from TypeScriptTool Watch: acrazing/dpdm: Detect circular dependencies in your TypeScript projectsLibrary Watch: gorango/flowcraft: A lightweight workflow engine Tool Watch: Trigger.dev, a hosted agentic workflow engineFabi.dev quick tip: Do you know the difference between || and ??muszynov: How to use the infer keyword in TypescriptCool Links Cool Watch: 10 useful CLI apps I'm guessing you've not heard ofCool Watch: Oliver Medhurst - Porffor - JavaScript Ahead of Time Compiler Cool Watch: Ladybird browser update (October 2025) Cool Tool: Gimli Tailwind – a super hot looking TailwindCSS dev extensionCool Tool: PowerSync – local-first sync engine that works with Postgres, MySQL, and MongoDB Sponsored by Excalibur.jsExcalibur.js is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more. Homepage and Docs: https://excaliburjs.comMake Your First Game in 10 MinutesJoin the Discord: https://discord.gg/9UemP985UyMusicSeahorse Dreams by Kubbi (Spotify)

    54 min
  2. 29 OCT

    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 DeployVitest 4.0 is out!Nuxt 4.2 is out!Next.js 16 is out!React Native 0.82 - A New Era (h/t TheNewStack)Node 22.21 LTS features native HTTP proxy supportAshTypeScript 0.6.0 (bsky summary)A heroic update to DefinitelyTyped to prepare for TypeScript 6PSA: Critical Account Takeover in better-authFrom the Community Jake Archibald: PSA, don’t use top-level await right now in browsersBrian Muenzenmeyer: You Don’t Need a Dependency talk from JSConf is now liveBrian Vaughn: react-window got a small TS compatibility fix for React 18-18.2Wolf Girl: 4 Unconventional Ways to Cast In TypeScriptMatteo Collina: From curl Commands to Type-Safe API Clients: A Complete Workflow Shola Jegede: How to Build a To-Do List MCP Server Using TypeScript – with Auth, Database, and Billing Ge Gao: JS REPL with Types! (h/t Reddit)Moosestack (FiveOneFour): Just OLAP It: Transform Your OLTP ORM into a Type-Safe OLAP Data ModelLibrary Watch: FTA Fast TypeScript AnalyzerBleet of the Week: “Anyone who writes bare JavaScript in 2025… is a maniac you shouldn’t trust”Sponsored by Excalibur.jsExcalibur.js is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more. Homepage and Docs: https://excaliburjs.comMake Your First Game in 10 MinutesJoin the Discord: https://discord.gg/9UemP985UyMusicSeahorse Dreams by Kubbi (Spotify)

    41 min
  3. 21 OCT

    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 modulesNode 25 is out (bsky summary by Rafael)Lit joins Open JS FoundationVoidZero: New blog post with details around Vite+ECMAScript News: Map Upsert proposal heralded by TS devs (h/t Rob Palmer)  ECMAScript News: Import bytes lands in ESBuild (+ Deno, Bun, and webpack) (h/t Rob Palmer)From the Community NodeSource: 15 Recent Node.js Features that Replace Popular npm PackagesDeno: Deno's Other Open Source ProjectsLibrary Watch: SnoopLogg v6.0.4, a CLI logging libraryLibrary Watch: LukasNiessen/ArchUnitTS, an architecture testing libraryEvan You: oxfmt is 2-3X faster than Biome and 45X faster than PrettierReddit: What Happened to Nx? and an alternative hidden gem, MoonrepoTypedRocks: This New TypeScript Utility Type Prevents Hard-To-Find Bugs!WebDevSimplified: Will I Survive These Advanced TypeScript Challenges? Cool Stuff Cool Watch: Alexander Lichter on Rolldown: How Vite bundles at the speed of RustCool Watch: Beyond Signals by Ryan Carniato (Solid.js creator)Cool Tip: Stefan reminds us that AbortController is a thingCool Product: SunStyle solar shingles actually look nice Sponsored by Excalibur.jsExcalibur.js is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more. Homepage and Docs: https://excaliburjs.comMake Your First Game in 10 MinutesJoin the Discord: https://discord.gg/9UemP985UyMusicSeahorse Dreams by Kubbi (Spotify)

    58 min
  4. 14 OCT

    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 droppedReactConf: React Compiler 1.0 dropped (reminded Erik of this old ditty)ReactConf: React FoundationBun 1.3 VS 2026 has TS 7 previewTC39: Module Declarations TC39: Defer Import Eval advances to stage 3 Vite+ unifies enterprise JS toolingPSA: Stealit Malware Abuses Node.js Single Executable Feature via Game and VPN InstallersFrom the Community Dr. Axel: CSS: Learn the essentials quicklyJosh Goldberg: Why typed linting optimization blocked by ESLint core Library Watch: Immer.js perf improvements on the horizonBlog Post: Stopping Bad Actors: Inside 1Password’s Security Model Cool Stuff Cool Product: Kagi Search, the premium search engine you pay forCool Video: GPU Programming and Language Design with Chris Lattner Cool Video: Coding Adventure: Simulating SmokeCool Video: UTF-8, Explained SimplyCool Library: Twoslash, generate TS metadata for interactive docs snippetsCool Read: Chris Coyier’s CSS starterCool Read: Innovate, Leverage, Commoditize (ILC model) strategic gameplay Sponsored by Excalibur.jsExcalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, and particles. Design your assets with tools like Aseprite and Tiled, then load them natively using first-party plugins. MusicSeahorse Dreams by Kubbi (Spotify)

    48 min
  5. 9 OCT

    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 exploitsDBOS 2.0 adds JS support with a decoratorless API. (docs)What’s new in Astro - September 2025From the Community Liran Tal: Mitigate Supply Chain Security with DevContainers and 1Password for Node.js Local DevelopmentVincent Rolf: The Temporal Dead Zone, or why the TypeScript codebase is littered with var statementsPaul Schmeing: TypeScript and the Illusion of Type-SafetyTheo: Life after TypeScriptKamran: dotnet-ssr, an (experimental!) .NET SSR hostCool Stuff Erik's LD58 Game Jam: Play the Gem Jam GameVideo: Kamran on rendering React Router using a .NET SSR hostBook: Ensh*ttification with Cory Doctorow (plus, Interview with Adam Conover)Kamran's Course: Staying on Task with the Pomodoro TechniqueKamran's Course: Prioritizing Work with Rocks, Pebbles, and SandLibrary: microsoft/node-api-dotnet, advanced interoperability between .NET and JavaScript in the same process.Library: agracio/edge-js, run .NET and Node.js code in-process on Windows, MacOS, and Linux Sponsored by Excalibur.jsExcalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, and particles. Design your assets with tools like Aseprite and Tiled, then load them natively using first-party plugins. MusicSeahorse Dreams by Kubbi (Spotify)

    48 min
  6. 30 SEPT

    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 2025TS 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/RSPacktc39/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 serversCloudflare: Code Mode: the better way to use MCPCloudflare: A year of improving Node.js compatibility in Cloudflare Workers (h/t James Snell)GitHub: Our plan for a more secure npm supply chainMetaframeworks: Astro 5.14From the Community Course: Free TypeScript tutorial (Scrimba) David Brownman: Python-style kwargs in TypeScriptJimbly: From Steam to Floppy: Porting Modern TypeScript to Run on DOSJSLegendWeb: 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.jsExcalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, and particles. Design your assets with tools like Aseprite and Tiled, then load them natively using first-party plugins. MusicSeahorse Dreams by Kubbi (Spotify)

    59 min
  7. 23 SEPT

    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 developersWasm 3.0 spec completedAnnouncing AshTypeScript, part of the Ash Framework (Phoenix/Elixir)ts-to-zod now supports Zod 4.0Typebox 1.0 releaseFrom the Community SquiggleConf Happened! Check out the streams (separate videos to come)Day 1: https://www.youtube.com/live/C_ePbVZqXrw?si=MpRiE8n4xLNpfbV0Day 2: https://www.youtube.com/live/vSXLDvvIpYE?si=cWKQTjZCx91HWJN9Federico (AzraelSec): Type Branding in Typescript Renato: TypeScript Tuple Length Evan Hahn: @ts-ignore is almost always the worst optionRoadmap.sh: Everything You Need to Learn to be a TS DevGitHub 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 parsingLibrary Watch: Introducing: @traversable/valibot (h/t Andrew Jarret)Tool watch: FullStacked, a local-first app development environmentTool 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 imagesCool Tool:  Pages CMS - Hassle-free CMS for static sites powered by Git  Sponsored by Excalibur.jsExcalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, and particles. Design your assets with tools like Aseprite and Tiled, then load them natively using first-party plugins. MusicSeahorse Dreams by Kubbi (Spotify)

    52 min
  8. 18 SEPT · BONUS

    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.ioArkType DiscordArkType GitHub@ark/attest testing libraryWhere to Follow David David on BlueSkyArkType on BlueSkySponsored by Excalibur.jsExcalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, and particles. Design your assets with tools like Aseprite and Tiled, then load them natively using first-party plugins. MusicSeahorse Dreams by Kubbi (Spotify)

    1h 10m

Ratings & Reviews

About

The two TypeScript Fools, Kamran Ayub and Erik Onarheim, get together weekly to bring you news, community highlights, and deep dives into the TypeScript ecosystem. Stay up-to-date on what's happening and learn new things to make you a better TypeScript developer along the way!

You Might Also Like