Artwork

Player FM - Internet Radio Done Right
Checked 12h ago
הוסף לפני thirty-four שבועות
תוכן מסופק על ידי Erik Onarheim and Kamran Ayub. כל תוכן הפודקאסטים כולל פרקים, גרפיקה ותיאורי פודקאסטים מועלים ומסופקים ישירות על ידי Erik Onarheim and Kamran Ayub או שותף פלטפורמת הפודקאסט שלהם. אם אתה מאמין שמישהו משתמש ביצירה שלך המוגנת בזכויות יוצרים ללא רשותך, אתה יכול לעקוב אחר התהליך המתואר כאן https://he.player.fm/legal.
Player FM - אפליקציית פודקאסט
התחל במצב לא מקוון עם האפליקציה Player FM !
icon Daily Deals

Compilers, Runtimes, and Funtimes | Ep 5

1:03:49
 
שתפו
 

Manage episode 467115709 series 3642378
תוכן מסופק על ידי Erik Onarheim and Kamran Ayub. כל תוכן הפודקאסטים כולל פרקים, גרפיקה ותיאורי פודקאסטים מועלים ומסופקים ישירות על ידי Erik Onarheim and Kamran Ayub או שותף פלטפורמת הפודקאסט שלהם. אם אתה מאמין שמישהו משתמש ביצירה שלך המוגנת בזכויות יוצרים ללא רשותך, אתה יכול לעקוב אחר התהליך המתואר כאן https://he.player.fm/legal.

This week Kamran and Erik try to dissect the complex landscape of JavaScript and TypeScript compilers, transpilers, interpreters, engines, and runtimes (oh my!). What are the tools, what are they used for, why is the world so complicated, and what should you care about as a TS developer?

  • (04:55) - This Week in TypeScript: Node.js Corepack Issue Affects Users
  • (06:16) - This Week in TypeScript: Vite and Vitest Security Vulnerabilities
  • (07:18) - This Week in TypeScript: 2ality on Enum Patterns
  • (08:51) - This Week in TypeScript: 2ality's Tutorial on Publishing ESM Packages with TypeScript
  • (09:53) - This Week in TypeScript: Should We Move On to ESM-Only?
  • (13:13) - This Week in TypeScript: HTTP2 Support Across Node.js, Bun, and Deno... Or Lack Thereof
  • (14:14) - This Week in TypeScript: Nx Has Some New TypeScript Monorepo Guides
  • (14:38) - This Week in TypeScript: Zero to Mastery Shares a TypeScript Cheat Sheet
  • (15:09) - This Week in TypeScript: TS Comment Directives
  • (17:21) - Deep Dive: Compilers and Runtimes
  • (19:32) - Deep Dive: What's the Difference Between a Compiler and Transpiler?
  • (21:11) - Deep Dive: Why Do We Need a TypeScript Compiler?
  • (22:02) - Deep Dive: The TypeScript Compiler (TSC)
  • (23:38) - Deep Dive: What's an Interpreter?
  • (25:06) - Deep Dive: What's an Engine?
  • (27:52) - Deep Dive: Recap So Far
  • (28:31) - Deep Dive: Babel, the OG Transpiler
  • (29:23) - Deep Dive: What is SWC?
  • (31:12) - Deep Dive: Using the verbatimModuleSyntax TSConfig Flag
  • (32:35) - Deep Dive: What is esbuild?
  • (34:23) - Deep Dive: Okay, What's the Difference Between SWC and esbuild?
  • (35:51) - Deep Dive: So, What is oxc Then??
  • (37:03) - Deep Dive: Erik Says checker.ts is "Gigundous" (???)
  • (37:58) - Deep Dive: Wait, oxc Can Output Type Declarations?!
  • (39:34) - Deep Dive: Writing Your TypeScript So It Compiles Faster
  • (41:10) - Deep Dive: What Does deno compile Do?
  • (42:12) - Deep Dive: What Are The Different JS/TS Runtimes?
  • (43:43) - Deep Dive: What Differentiates Bun from Deno?
  • (45:26) - Deep Dive: Serverless JavaScript Runtimes (workerd, Vercel Edge)
  • (46:48) - Deep Dive: Writing Isomorphic JavaScript or TypeScript
  • (47:44) - Deep Dive: Who Will Stop This Madness?
  • (50:11) - Deep Dive: Should Microsoft "Fix" TSC?
  • (53:43) - Deep Dive: WHAT DOES ALL THIS MEAN?
  • (57:36) - Secrets of the Handbook: Named Tuple Values
  • (01:00:59) - Cool Stuff: Node ES Language Support Matrix
  • (01:01:46) - Cool Stuff: VSCode Pretty TS Error Extension

Week of February 3, 2025

Community Highlights

Compilers and Runtimes Deep Dive

Links

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

  continue reading

42 פרקים

Artwork
iconשתפו
 
Manage episode 467115709 series 3642378
תוכן מסופק על ידי Erik Onarheim and Kamran Ayub. כל תוכן הפודקאסטים כולל פרקים, גרפיקה ותיאורי פודקאסטים מועלים ומסופקים ישירות על ידי Erik Onarheim and Kamran Ayub או שותף פלטפורמת הפודקאסט שלהם. אם אתה מאמין שמישהו משתמש ביצירה שלך המוגנת בזכויות יוצרים ללא רשותך, אתה יכול לעקוב אחר התהליך המתואר כאן https://he.player.fm/legal.

This week Kamran and Erik try to dissect the complex landscape of JavaScript and TypeScript compilers, transpilers, interpreters, engines, and runtimes (oh my!). What are the tools, what are they used for, why is the world so complicated, and what should you care about as a TS developer?

  • (04:55) - This Week in TypeScript: Node.js Corepack Issue Affects Users
  • (06:16) - This Week in TypeScript: Vite and Vitest Security Vulnerabilities
  • (07:18) - This Week in TypeScript: 2ality on Enum Patterns
  • (08:51) - This Week in TypeScript: 2ality's Tutorial on Publishing ESM Packages with TypeScript
  • (09:53) - This Week in TypeScript: Should We Move On to ESM-Only?
  • (13:13) - This Week in TypeScript: HTTP2 Support Across Node.js, Bun, and Deno... Or Lack Thereof
  • (14:14) - This Week in TypeScript: Nx Has Some New TypeScript Monorepo Guides
  • (14:38) - This Week in TypeScript: Zero to Mastery Shares a TypeScript Cheat Sheet
  • (15:09) - This Week in TypeScript: TS Comment Directives
  • (17:21) - Deep Dive: Compilers and Runtimes
  • (19:32) - Deep Dive: What's the Difference Between a Compiler and Transpiler?
  • (21:11) - Deep Dive: Why Do We Need a TypeScript Compiler?
  • (22:02) - Deep Dive: The TypeScript Compiler (TSC)
  • (23:38) - Deep Dive: What's an Interpreter?
  • (25:06) - Deep Dive: What's an Engine?
  • (27:52) - Deep Dive: Recap So Far
  • (28:31) - Deep Dive: Babel, the OG Transpiler
  • (29:23) - Deep Dive: What is SWC?
  • (31:12) - Deep Dive: Using the verbatimModuleSyntax TSConfig Flag
  • (32:35) - Deep Dive: What is esbuild?
  • (34:23) - Deep Dive: Okay, What's the Difference Between SWC and esbuild?
  • (35:51) - Deep Dive: So, What is oxc Then??
  • (37:03) - Deep Dive: Erik Says checker.ts is "Gigundous" (???)
  • (37:58) - Deep Dive: Wait, oxc Can Output Type Declarations?!
  • (39:34) - Deep Dive: Writing Your TypeScript So It Compiles Faster
  • (41:10) - Deep Dive: What Does deno compile Do?
  • (42:12) - Deep Dive: What Are The Different JS/TS Runtimes?
  • (43:43) - Deep Dive: What Differentiates Bun from Deno?
  • (45:26) - Deep Dive: Serverless JavaScript Runtimes (workerd, Vercel Edge)
  • (46:48) - Deep Dive: Writing Isomorphic JavaScript or TypeScript
  • (47:44) - Deep Dive: Who Will Stop This Madness?
  • (50:11) - Deep Dive: Should Microsoft "Fix" TSC?
  • (53:43) - Deep Dive: WHAT DOES ALL THIS MEAN?
  • (57:36) - Secrets of the Handbook: Named Tuple Values
  • (01:00:59) - Cool Stuff: Node ES Language Support Matrix
  • (01:01:46) - Cool Stuff: VSCode Pretty TS Error Extension

Week of February 3, 2025

Community Highlights

Compilers and Runtimes Deep Dive

Links

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

  continue reading

42 פרקים

כל הפרקים

×
 
T
TypeScript.fm - The Friendly Show for TypeScript Developers
TypeScript.fm - The Friendly Show for TypeScript Developers podcast artwork
 
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 )…
 
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 )…
 
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 )…
 
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 )…
 
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 )…
 
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 )…
 
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 )…
 
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 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 )…
 
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` 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…
 
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 )…
 
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 )…
 
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 )…
 
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 )…
 
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 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 )…
 
News for the week of June 23, 2025: Ecma ratifies ES2025 standard, Vite 7 is mostly deprecations, Oracle gets a free pass, and the experimental type stripping warning is... stripped... from latest Node LTS releases. From the community: 6 advanced TS tricks, a new type-safe WebSockets API, and RegEx tips. Chapters (00:00) - Introduction and Personal News (04:59) - News: ECMAScript 2025 is Here (07:06) - News: Vite 7.0 is Out (10:15) - News: Node 24.3.0 and 22.17.0 LTS Releases (10:39) - News: Oracle v Deno Trademark Fraud Claim is Dismissed (12:04) - News: Astro 5.10 Introduces Experimental Live Content Collections (12:34) - Community Highlight: 6 Advanced TS Tricks by OlegWock (15:54) - Community Highlight: TypeScript Stuff I Wish I Knew Earlier (19:52) - Community Highlight: zap-socket Offers a TypeScript-first WebSocket API (20:42) - Community Highlight: Dr. Axel Shares Tips for Making Regular Expressions Better in JS (22:01) - Community Highlight: Functional Programming Examples in TS (22:50) - Community Highlight: Exhaustiveness Checking with never (24:12) - Community Highlight: Deno Adding Support for Import Type Text and Bytes (24:39) - Community Highlight: Importing JSON as const (26:37) - Community Highlight: Branded Types Example with ArkType (27:21) - Cool API: Promise.try Nuances Erik Realized After the Fact (29:48) - Cool Watch: Mitchell Hashimoto's Talk on Testing (30:44) - Cool Listen: Jake Archibald on Why We Don't Have HTML Imports (31:25) - Cool Link: PNG 3.0 Spec (32:41) - Cool Link: Invite an Eagle to Your Zoom Meeting (33:41) - Cool Read: Node.js Celebrates Pride Month News Ecma International approves ECMAScript 2025: What’s new? Vite 7.0 is out and deprecates a bunch of stuff Oracle fraud claim is dismissed in the latest JavaScript™ Trademark Update from Deno Astro 5.10 brings experimental Live Content Collections From the Community 6 advanced TypeScript tricks · OlegWock (h/t Reddit) TypeScript stuff I Wish I Knew Earlier (h/t Reddit) Use https://github.com/type-challenges/type-challenges to become a generic God zap-socket – A Typescript-first abstraction over WebSockets (h/t Reddit) Blog post: My attempt at fixing websockets Dr. Axel's tips for making regular expressions easier to use in JavaScript Functional Programming tips in TypeScript by Kanishka Naik Algebraic Data Types Monoids and Semigroups Pattern Matching Lazy Evaluation Exhaustive Checks with never by Nico Import types text and bytes coming to Deno 2.4 via David Sherret Importing JSON config as const via cinny.bun.how (+ tracking TS issue ) Example of using branded (nominal) types in ArkType Cool Stuff Erik's neovim config is open source (one of us! one of us!) API: Promise.try Talk: Can we test it? Yes, was can! - Mitchell Hashimoto (co-founder of Hashicorp) Listen: Jake Archibald on Native HTML Includes (ShopTalk) Read: PNG is back! by Chris Blume who chairs the PNG working group Read: New version of PNG to challenge AVIF and WebP for image dominance on the web Invite: Pay to have an eagle, owl or falcon join your Zoom meeting Read: Node.js series to celebrate Pride Month 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 )…
 
News for the week of June 16, 2025: Biome v2 features type-aware linting without TSC, Mocha and Jest both get native ESM and TS upgrades, and Grafana Lab's k6 load testing tool... also can now run native TS tests. From the community: type safety for WebGPU shaders, type narrowing map and indexed key access, and resilient import maps. Chapters (00:00) - Introduction and Personal News (05:02) - News: Biome v2 Features Type-aware Linting Without TSC (08:25) - News: Mocha 11.7.0 Adds Support for Native ESM and TypeScript (09:35) - News: Jest 30 Also Adds Native ESM and TypeScript Support (11:12) - News: Grafana k6 Celebrates 1.0 Release with TS Support (13:30) - News: WebGPU is (Finally) Coming to All Major Browsers (14:36) - News: Astro 5.9 Adds Support for Content Security Policy (15:47) - PSA: Deno's Homebrew Release is Behind Other Versions (16:34) - Community Highlight: Bridging ESM and CommonJS by Joyee Cheung (18:16) - Community Highlight: How Queues Work in TypeScript (19:00) - Community Highlight: Dr. Axel's Corner (21:11) - Community Highlight: Better Import Maps from Shopify Engineering (24:32) - Community Highlight: VoidZero Discusses Vite+ Plans (28:22) - Community Highlight: TypeScript Native Port Speeds Up Slack's CI Builds (29:09) - Community Highlight: TypeGPU Lets You Write WGPU Code in a Type-safe Way (33:21) - Community Highlight: Remembering Mikael Rogers (35:08) - Cool API: Promise.try (36:52) - Cool Read: The Dying Art We All Depend On by Raptitude (38:16) - Cool Watch: The Story of Rollup with Rich Harris News Biome v2 codename Biotype brings type-aware linting without TSC! You can check out what the noFloatingPromises rule looks like to write type-aware rules Mocha 11.7.0 is now compatible with Node’s require(ESM) & type stripping (h/t Rob Palmer ) After 3 years, Jest 30 is a massive release which includes native ESM and TS support Fun fact: Christoph Nakazawa open sourced his game: https://github.com/nkzw-tech/athena-crisis Grafana k6 celebrates a 1.0 release with native support for TypeScript tests Firefox will unflag WebGPU in v141 ( Firefox Release Calendar ), bringing WGPU support to all major browsers for iOS, Windows, and macOS in the next year or so. Astro 5.9 brings Content Security Policy (CSP) support for more secure web app development PSA: Deno Homebrew version is behind because of a bug in Rust From the Community Joyee Cheung (Node TSC) talk on Bridging CommonJS and ESM in Node.js freeCodeCamp Blog: How Queues Work in TypeScript by Yazdun Dr. Axel's Corner: How TypeScript solved its global `Iterator` name clash TypeScript: checking Map keys and Array indices Resilient Import Maps - Better Theme Development and Beyond (2025) - Shopify Vite’s Creator on a Unified JavaScript Toolchain and Vite+ - The New Stack @slack.engineering on Bluesky shares CI improvements by migrating to TSGO TypeGPU 0.5.9 release by Iwo Plaza Video: Iwo Plaza – The Road to Type-Safety on the GPU | RNCK #15 Video: Erik's Stream: Learning WebGPU Together In Memoriam: Mikeal Rogers Via Node.js foundation : We’re heartbroken by the loss of Mikeal Rogers, a key figure in the Node.js ecosystem and a force behind what makes this community what it is. To help preserve his legacy, we’ve opened a GitHub repo for stories, photos, and memories: github.com/nodejs/mikeal 💚 Thank you, Mikeal. Via Linux Foundation: In Memory of Mikeal Rogers: A Builder of Communities Cool Stuff Promise.try - wrap a function in a promise or execute immediately, avoiding a microtask when not needed The Dying Art We All Depend On by David from Raptitude The Story of Rollup with Rich Harris (via Matt Jennings) 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 )…
 
News for the week of June 9, 2025: Node's type stripping wrapper is released as a standalone package, VoidZero is building a super fast linter, and pnpm introduces experimental virtual store for speeding up package installs. From the community: secure your TS apps, #ROLP, and updated Exploring JS book edition for 2025. Chapters (00:00) - Introduction and Personal News (05:34) - News: Amaro, the Node.js Type Stripping Wrapper, Has 1.0 Release (06:39) - News: New Oxlint 1.0 Release is 50-100x Faster Than ESLint (08:37) - News: pnpm 10.12 Introduces Experimental Global Virtual Store (10:14) - News: TypeFire is a New Meta Programming Framework for TS (14:37) - News: Go 1.25 Promises Better GC Performance (16:01) - News: Apple Announces Safari 26 Enhancements at WWDC (18:52) - Community Highlight: Liran Tal's TypeScript Security Talk (21:16) - Community Highlight: justin, a JIT Schema Validation Library by cinny.bun.how (24:13) - Community Highlight: React Final Form Migrates to TS (26:32) - Community Highlight: Flint, Josh Goldberg's New Type-aware Linting Project (27:33) - Community Highlight: New Edition of the 'Exploring JavaScript' Book by Dr. Axel (28:23) - Community Highlight: Rule of Least Power by Jason Yu (29:34) - Cool Tool: Type Buddy Helps Translate Complex Typings (30:58) - Cool Tool: node-email-verifier Library for Verifying Emails (31:39) - Cool Listen: Bootstrapped Founder and Nathan Barry Podcasts (32:55) - Cool Listen: From Microsoft to Full-time OSS Maintainer (33:47) - Cool Listen: Alex Lichter on Vite, Rolldown, and oxc (34:21) - Cool Listen: Nic Barker's Flexbox-style Layout Library Written in C News Amaro 1.0 release (h/t Rob Palmer ) – Node's type stripping wrapper Oxlint 1.0 release – TypeScript/JS linter written in Rust from VoidZero pnpm 10.12 (h/t socket.dev ) TypeFire - a meta programming framework for TS (h/t nxjosh ) Go 1.25 promises more speed! Good news for TSGO? (Video: Go just got faster.. ) Apple’s WWDC featured Safari 26 Beta improvements, including WebGPU From the Community Liran Tal - Friend or Foe? TypeScript Security Fallacies Justin : a typescript data validation library utilizing just-in-time function compilation. (h/t Charlotte / cinny.bun.how ) 🏁 Final Form goes to TypeScript Josh Goldberg's If I Wrote a Linter, Part 4: Summary Your code: powerful, but not clean. Here's why (Jason Yu) Dr. Axel announces release of ES2025 Edition for Exploring JavaScript Cool Stuff Type Buddy (h/t Seb ) jesselpalmer/node-email-verifier: A Node.js module for verifying email addresses Arvid Kahl's Bootstrapped Founder podcast The Nathan Barry Show podcast Why Use C for UI Library? | Nic Barker Ink, build CLI apps in React Josh Goldberg interview on Weekly Devs Brew Podcast Alex Lichter of VoidZero on ConTejas Code podcast 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 )…
 
News for the week of June 2, 2025: TSC init command gets new, modern defaults, plus new betas drop for Vite 7 and Babel 8. From the community: Learn advanced TS features in 25 mins, and improve the performance of your TS monorepos with secret arcane knowledge. Chapters (00:00) - Introduction and Personal Updates (02:26) - News: tsc --init Finally Has New Defaults (04:39) - News: Deferred Imports Syntax Will Land in TS 5.9 (06:38) - News: Vitest 3.2 Brings Annotations, Better TS Support (08:21) - News: Vite 7 Beta (09:17) - News: Babel 8 Beta (10:49) - News: Storybook 9 Adds Interaction Tests, A11y Improvements (11:54) - News: TC39 Proposal Advancements (14:54) - News: IRS Uses TypeScript and React (16:50) - Community Highlight: The M.I.N.T. Principle by Sean Maxwell (22:07) - Community Highlight: Advanced TS by Web Dev Simplified (22:32) - Community Highlight: TS Monorepo Tips by Mike Hartington and Colin Hacks (24:30) - Community Highlight: Learn How Signals Work in TypeScript by Jon Kuperman (25:32) - Community Highlight: Your Feedback! (27:07) - Cool Stuff: Reverse-Engineering Linear's Sync Engine (28:09) - Cool Stuff: Chrome Performance Profiler Gets a Facelift News tsc --init gets new defaults (h/t Rob Palmer) TypeScript 5.9 gets import deferred (h/t Rob Palmer) Vitest 3.2 is out! Vite 7 beta changelog entry Announcing Babel 8 Beta Storybook 9 Bluesky breakdown thread TC39 proposals advance The IRS Tax Filing Software TurboTax Is Trying to Kill Just Got Open Sourced From the Community The MINT Principle – When to use object-oriented programming in TypeScript (h/t Reddit ) Learn Advanced TypeScript In 25 Minutes (infer, extends, ternaries) Mike Hartington gave a talk on TypeScript performance Live types in a TypeScript monorepo (Colin Hacks) Learn Signals by reading TypeScript (Jon Kuperman) Cool Stuff Reverse-engineering Linear's sync engine Chrome personal profiler changes (Paul Irish) 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 )…
 
T
TypeScript.fm - The Friendly Show for TypeScript Developers
TypeScript.fm - The Friendly Show for TypeScript Developers podcast artwork
 
Jason Yu ( ycmjason.codes ) joins us to share an open source tool he created to help teams migrate their legacy TSConfig compiler options to modern-day options painlessly and progressively. Learn about his experience implementing strict options on big teams, how it inspired his new tool, and how you can take advantage of it right now! Chapters (00:00) - Meet Jason Yu (03:27) - Challenges of Migrating Legacy TypeScript (05:44) - What is ts-migrating? (07:01) - How Does ts-migrating Help Migrate TSConfig? (09:05) - What Does the ts-migrating CLI Do? (10:02) - How Do You Migrate Incrementally? (11:16) - How Do You Get Started with ts-migrating? (12:06) - Tackling the Migration in Small Chunks (13:12) - How Does This Compare to Using Folder-based TSConfig? (14:12) - What About ts-expect-error and ts-ignore Directives? (16:25) - What About Multiple TSConfigs? (17:34) - Are There Any Unsupported Compiler Options? (19:28) - How Do You Build a TypeScript LSP Plugin? (22:18) - How Will This Work with TS 7 (Go Native Port)? (23:57) - Advice for Teams Migrating TSConfig (25:52) - Jason's Favorite Coding Principles (32:42) - Where to Follow Jason Online Links Jason’s Links: https://ycmjason.codes Migrate your TSConfig incrementally: https://github.com/ycmjason/ts-migrating Blog / Video: 7 Modern Use Cases of IIFE ts-migrating Inspiration: https://github.com/allegro/typescript-strict-plugin MS Docs: Writing a Language Service Plugin 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 )…
 
News for the week of May 26, 2025: Angular's 20th release brings DX improvements, Remix replaced by React Router receives reincarnation, and how a lone volunteer brings the much-anticipated Temporal API to Firefox. Chapters (00:00) - Personal News and Updates (04:46) - News: Angular 20 is Out and It's Boring (But in a Good Way) (08:39) - News: Remix Receives Revival (10:03) - News: Vite with Rolldown is in Preview (11:32) - News: What's New with Astro in May 2025 (12:05) - News: Temporal API Finally Hits Browsers with Firefox 139 (16:52) - PSA: Take the StackOverflow 2025 Developer Survey! (17:40) - Community Highlight: Josh Goldberg's Types Beyond TypeScript Talk (18:27) - Community Highlight: sirhamy on the Cost of Throwing Errors in JS/TS (19:16) - Community Library Watch: ts-migrating for Migrating Your TSConfig Incrementally (20:26) - Community Library Watch: jsonv-ts, a JSON Schema Validator (21:08) - Community Library Watch: tsargparse, a Type-safe CLI Parser (21:28) - Community Highlight: TypeScripting the Technical Interview by Richard Tower (22:02) - Community Highlight: CanIUse... for Angular by angular.courses (22:25) - Community Highlight: Type-safe Internationalization by Web Dev Simplified (23:13) - Community Highlight: Deno Might Have the Features You're Missing (23:41) - Community Highlight: skeary.me Wrote a Programming Language... in TypeScript Types (24:30) - Discuss: Competition Between Node.js, Deno, and Bun (29:51) - Cool Links: David Macaulay is a National Treasure (32:05) - Cool Links: Progressive JSON by Dan Abramov (33:24) - Cool Stuff: Curated List of Data Grids by Ian Langworth (33:54) - Cool Stuff: Hack Into React Internals with bippy (34:43) - Cool Stuff: Wookash Interview with Inigo Quilez (35:29) - Cool Stuff: Building a Software Rasterizer with Sebastian Lague News Angular 20 is out ! (And it's boring ) Remix gets revived Announcing Rolldown-Vite What’s New in Astro – May 2025 Shipping Temporal ( Matt Pocock video , Wes Bos tweet ) PSA: Stack Overflow Survey 2025 is Open From the Community Josh Goldberg gives Types Beyond TypeScript talk at JS Nation 2025 Hamilton teaches us about errors as values and how they're 335x faster than throwing new errors ( sirhamy ) Typescripting the technical interview (Richard Towers) Angular CanIUse How To Handle Internationalization Like A Senior Dev (Web Dev Simplified) Deno Might Have the Exact Tools You’re Missing… TLTSS: a language written in TS types (by skeary.me ) Library watch: Jason Yu’s ts-migrating tool helps teams migrate their codebase to modern TSConfig settings incrementally! Library watch: jsonv-ts validates and produces clean JSON schemas with a Zod-like API (h/t Reddit ) Library watch: tsargparse is a simple type-safe CLI args parser (h/t Reddit ) Discuss: Are Deno, Bun, and Node.js competing? (via James Snell ) Cool Stuff Kamran The Way Things Work (1994) on Classic Reload David Macauley’s book, Motel of the Mysteries (1979) Erik Dan Abramov - Progressive JSON Curated List of JS Grids by Ian Langworth Bippy - Hack into React: Wookash: Painting with Math | Inigo Quilez Coding Adventure: Software Rasterizer with Sebastian Lague 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…
 
T
TypeScript.fm - The Friendly Show for TypeScript Developers
TypeScript.fm - The Friendly Show for TypeScript Developers podcast artwork
 
News for the week of May 19, 2025: Try out the new TypeScript Go native port, Zod 4 is out, and no, Deno is not dead. Chapters (00:00) - Introduction and Personal News (05:12) - News: TypeScript Native is in Preview! (10:12) - News: Anders' Talk About TS Native at MS Build (12:58) - News: Zod 4 is Officially Released (15:51) - News: Reports of Deno's Demise Are Greatly Exaggerated (17:23) - News: Importing JSON Across Major Browsers (20:13) - News: Experimental node.config.json Support (24:43) - Community Highlight: A Brief History of JavaScript by Deno.land (25:40) - Community Highlight: tsdown Now Supports Transpile-only Unbundle Mode (27:21) - Community Highlight: Vite's Rolldown Preview is Here (28:19) - Community Highlight: Go Attend Jake Bailey's Gophercon TS Talk (28:41) - Community Highlight: super-utils-plus, a Modern Lodash Alternative That's TypeScript-first (29:17) - Community Highlight: tsc.run, a TypeScript Serverless Framework (29:58) - Community Highlight: How to Create a TS Library That Runs Everywhere in 2025 (30:45) - Community Highlight: TypeScript.jobs Board is Looking for Feedback (31:28) - Cool Stuff: Markdown Presentation Frameworks (33:21) - Cool Stuff: Wookash Interview with Andreas Kling (34:31) - Cool Stuff: Computers & Prime Numbers by Purple Mind (34:51) - Cool Stuff: Playwright Testing Talk from MS Build (35:15) - Cool Stuff: Reporting on AI's Energy Usage (35:51) - Cool Stuff: Six Ways to Make Your Electron App Faster (36:56) - Fun Stuff: My New Favorite Hobby is Watching Microsoft Employees Being Slowly Driven Insane by AI Copilot Links Microsoft Announces TypeScript Native Previews Zod 4 is officially released 🎉 Reports of Denos Demise are greatly exaggerated You can now import json files across browsers (h/t stefanjudis.com ) Experimental node.config.json support in Node 24.1.0 minor release (h/t aduh95 ) Deno’s brief history of JavaScript Tsdown now has unbundle support (h/t sxzz.dev ) Vite now has a Rolldown preview too MS Build: Anders gave a talk on TypeScript native port Jake Bailey built a tool called ts-to-go Jake Bailey will also be speaking about TS Go at Gophercon super-utils-plus : modern lodash alternative that's TypeScript-first by Dhaxor (Gain John) How To Create a Simple TypeScript Library That Runs Everywhere (2025) Tsc.run – A TypeScript-first serverless framework (via Reddit) Looking for a TS job? The TypeScript.jobs board folks are looking for feedback (via Reddit) MIT Technology Review has an absolute banger of a series on AI energy usage Improve Electron app performance by Amila over at palette.dev, the maintainer of electron-react-boilerplate Reddit: My new favorite hobby is watching Microsoft employees being slowly driven insane by AI copilot presenterm , a Markdown presentation tool that runs in your terminal Via Daniel Raniz : https://sli.dev , another Markdown presentation tool MS Build: Advanced Playwright Debugging and Test Resilience | DEM499 MS Build: How Microsoft Developers Use AI in Real-World Coding | BRK103 Can You Build a Web Browser? | Andreas Kling How Computers Generate Massive Primes In Seconds Google Slides Code Highlighter (from Roman Nurik ) 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…
 
News for the week of May 12, 2025: Microsoft layoffs impact TypeScript team, and Deno explains the radio silence on Fresh 2.0. Chapters (00:00) - Personal News (06:25) - Correction: Node 24's Security Model (07:22) - News: Microsoft Lay-offs Impacting TypeScript Team (11:32) - News: Deno Posts an Update on Fresh 2.0 (13:27) - News: TSGo Gets LSP Concurrency (16:19) - Community Highlights: String Split Typing Quirks by kramer.run (18:21) - Community Highlights: Shawn Wildermuth on "Just Enough TypeScript" (18:57) - Community Highlights: Reminder for Migrating TS Import Paths in Node 24 (20:24) - Community Highlights: Reddit on What Was the Hardest Thing to Learn About TS? (23:43) - Community Highlights: Increasing Memory Limit for eslint and TS Server (24:02) - Community Highlights: Type Assertions: Trust Me Bro by chrisk-7777 (24:36) - Community Highlights: TypedRocks on the Secret 'this' Parameter (26:58) - Cool Stuff: Typing your dotenv variables (27:41) - Cool Stuff: Escape the City (28:54) - Cool Stuff: Pirate Sea Shanties Meet Pop Rock (30:07) - Cool Stuff: Open 5e for D&D Nerds (31:17) - Cool Stuff: Run JavaScript in Godot Links News: Microsoft Layoffs News: Deno Fresh – An Update on 2.0 (h/t deno.land ) Let Ron Buckton know how much you appreciate his work Bluesky: String split quirk (h/t kramer.run ) Video: Oldie but a goodie (2023), “just enough TS" by Shawn Wildermuth Tip: Don't forget about TS import migration for Node 24 (h/t jakob.jingleheimer.dev ) Reddit Discussion: what was the hardest part of learning TypeScript? Reddit tip: increasing memory limit for eslint and TS server Blog: The TSConfig Cheat Sheet ( Matt Pocock ) Blog: A Guide to tsconfig.json ( Dr. Axel / 2ality ) Blog: Type Assertions and the as keyword (chrisk-7777) Video: The Secret THIS Parameter: TypeScript’s overlooked Superpower Explained! (Typed Rocks) Video: 6 TypeScript tips to turn you into a WIZARD ( Matt Pocock ) Tip: strongly type process.env so you can enforce your dotenv files (h/t aaronmcadam.com ) Cool stuff: Escape the City outdoor game Cool stuff: Sail North – pirate sea shanties meets pop/rock Cool stuff: Open5e for D&D nerds Cool stuff: Add TypeScript/JavaScript Support for Godot 4 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…
 
T
TypeScript.fm - The Friendly Show for TypeScript Developers
TypeScript.fm - The Friendly Show for TypeScript Developers podcast artwork
 
In this week's deep dive, we cover everything TypeScript developers need to know about the latest Node 24 release, including examples of each new language feature. We've even put together a code snippet repo you can check out! Chapters (00:00) - Introduction to Node 24 and TypeScript Support (02:49) - Type Stripping and Experimental Transform Types (05:53) - Stable Permission Flag Security Model (09:38) - V8 13.6 Brings New Language Features (10:04) - API: CPU Hinting Micro-waits with Atomics.pause (12:35) - API: Reduce Memory Using Float16Array (14:56) - API: Format Time Durations with Intl.DurationFormat (16:33) - API: Explicit Resource Management with using (17:07) - API: What's Really an Error with Error.isError (18:48) - API: Parse Routes with URLPattern API (20:51) - API: Sanitize Input with RegExp.escape (21:39) - API: RegExp Modifiers in Sub-expressions (23:05) - API: RegExp Duplicate Named Capture Groups (24:07) - PSA: Node 24 Typings Are Still a WIP (25:14) - Deprecations and Removals (29:17) - npm 11: Changes to Lifecycle Scripts (30:41) - Undici 7 Brings HTTP Performance Enhancements (31:11) - Test Runner Now Waits for Sub-tests (31:45) - next-10 and the Future of Node.js Links Repo: Node 24 Examples in TypeScript (by Kamran) Node 24 Release Blog Node 24 typings PR TypeScript 5.8 Release Notes Docs: Typescript support Docs: Permissions Rob Palmer's quick Bluesky thread on Node 24 Multithreading in Node.js: Using Atomics for Safe Shared Memory Operations ( Pavel Romanov ) Everything You Need to Know About Node.js Type Stripping ( Marco Ippolito ) tc39/proposal-regexp-modifiers tc39/proposal-duplicate-named-capturing-groups next-10 technical priorities next-10 security model 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…
 
News for the week of May 5, 2025: Node 24 officially brings TS support to the masses, Parcel adds RSC support, and a TC39 proposal gets replaced. Chapters (00:00) - Introduction (04:07) - News: Node 24 Release Highlights (08:09) - News: What's New in TSGo? (09:05) - News: TC39 Records and Tuples Proposal Has Been Withdrawn (11:45) - News: Parcel Bundler Introduces Support for RSC (13:15) - Community Highlight: Why Was Node 24 Delayed? (15:52) - Community Highlight: Type-safe Theming in Tailwind CSS (16:52) - Community Highlight: TypeScript Gotchas via Reddit (20:48) - Community Highlight: Trick for Error Handling in TypeScript (22:46) - Cool Stuff: V8 Compile Hints (25:40) - Cool Stuff: Bare, a Minimal JavaScript Runtime (26:16) - Cool Stuff: AwesomeDev's Node 24 Rundown (26:27) - Cool Stuff: Build System in C for C (27:01) - Cool Stuff: Typecraft's Vim Challenges Links Event: IGDATC Game.wav Article: An introduction to Node.js 24 from Red Hat Video: Awesome on Node.js 24 Repo: Records and Tuples Proposal replaced with tc39/proposal-composites Video: Arrays, objects... now ‘composites’? Docs: Parcel 2.14 introduces React Server Components Bluesky: Interesting thread on why Node 24 was delayed Article: Type-Safe Theming in Tailwind CSS Using CSS Variables and TypeScript Redditors share TypeScript Gotchas Article: Giving V8 a Heads-Up: Faster JavaScript Startup with Explicit Compile Hints Video: Jason Yu shares his way of doing try..catch in TS Video: Build System For C in C Learn: Typecraft's Vim Challenges 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…
 
T
TypeScript.fm - The Friendly Show for TypeScript Developers
TypeScript.fm - The Friendly Show for TypeScript Developers podcast artwork
 
News for the week of April 28, 2025: Deno 2.3 brings some nice quality-of-life improvements, plus void(0) has released a new all-in-one bundler for your TypeScript libraries. Chapters (00:00) - Introduction (04:51) - News: This Week in TypeScript Go (05:47) - News: Deno 2.3 Released (08:36) - News: tsdown is a TypeScript Bundler for Library Authors (11:29) - News: Astro 5.7 Release (13:04) - Community Highlights: "Macros" in TypeScript by cinny.bun.how (15:40) - Community Highlights: Dan Abramov's AMA on BlueSky (16:02) - Community Highlights: Josh Goldberg's Series on "If I Wrote a Linter..." (18:03) - Community Highlights: Plaid Migrated 100 Services to Deno Deploy (19:52) - Community Highlight: Pinterest Migrated 3.7MM Lines of Flow Code to TypeScript (21:59) - Dr. Axel's Corner: Converting Values to Strings (23:14) - Community Highlights: Build Your Own Build Tools with Immaculata (24:52) - Community Highlights: Type-safe Route Management in Vue (25:56) - Cool Stuff: Hate git? Try Sapling Instead (27:45) - Cool Stuff: Nerd Out with HVAC Ceiling Cassettes (30:00) - Cool Stuff: Build Custom Fonts with FontForge (30:28) - Cool Stuff: Quantum Computing Explainer by 3Blue1Brown (31:05) - Cool Stuff: "Ed", an Early Text Editor (31:25) - Cool Stuff: 4000+ Icons for Your Game at Game-Icons.net Links Website: Minnestar events Website: IGDATC Tool: Deno 2.3 Tool: tsdown Tool: Astro 5.7 Bsky thread: Macros in TypeScript (@cinny.bun.how) Bsky thread: Dan Abramov AMA Article: If I wrote a linter, part 1 (Joshua Goldberg) Article: Plaid migration to Deno Deploy Article: Pinterest Flow to TS migration Article: Converting values to strings (2ality) Library: Immaculata Library: vue-route-query Tool: Sapling SCM Article: Ductless Ceiling Cassettes Video: Quantum computing explainer (3blue1brown) Video: ed text editor (Kay Lack) Website: Game Icons 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…
 
T
TypeScript.fm - The Friendly Show for TypeScript Developers
TypeScript.fm - The Friendly Show for TypeScript Developers podcast artwork
 
Erik shares how you can build games for the web with TypeScript and the Excalibur.js game engine. What's involved? What are some of the primitives you need to learn? What tools are there to make assets? And how do your webdev skills translate? All this and more in today's deep dive episode! Chapters (00:00) - Introduction to Excalibur.js (01:13) - What is Excalibur.js? (02:28) - Game Development Basics with Excalibur (05:18) - Exploring Actors and Scenes in Excalibur (06:38) - Diverse Game Types with Excalibur (08:01) - Physics in Excalibur (09:52) - Input Handling in Excalibur (11:09) - Asset Management in Excalibur (12:13) - Audio Management with Web Audio API (14:57) - Integrations with Art and Level Design Tools (17:07) - Hot Reloading and Game State Management (19:15) - Loading and Performance Optimizations (22:15) - Custom Shader Support in Excalibur (26:30) - Excalibur's Origin Story (29:03) - Why Is It Called Excalibur? (30:00) - Building a Friendly Game Development Community (31:33) - Getting Started with Excalibur (33:42) - Publishing Games with Excalibur (35:42) - Who is Excalibur Designed For? (37:41) - Advice on Getting Into Game Development (40:51) - The Future of Excalibur (47:35) - Secrets of the Handbook: Declaration Merging Links Excalibird Tutorial Excalibur.js Docs Excalibur.js Community Discord Excalibur.js Showcase Follow Excalibur 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 ) Creators & Guests Erik Onarheim - Host Kamran Ayub - Host…
 
T
TypeScript.fm - The Friendly Show for TypeScript Developers
TypeScript.fm - The Friendly Show for TypeScript Developers podcast artwork
 
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…
 
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…
 
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…
 
T
TypeScript.fm - The Friendly Show for TypeScript Developers
TypeScript.fm - The Friendly Show for TypeScript Developers podcast artwork
 
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…
 
Loading …

ברוכים הבאים אל Player FM!

Player FM סורק את האינטרנט עבור פודקאסטים באיכות גבוהה בשבילכם כדי שתהנו מהם כרגע. זה יישום הפודקאסט הטוב ביותר והוא עובד על אנדרואיד, iPhone ואינטרנט. הירשמו לסנכרון מנויים במכשירים שונים.

 

icon Daily Deals
icon Daily Deals
icon Daily Deals

מדריך עזר מהיר

האזן לתוכנית הזו בזמן שאתה חוקר
הפעלה