<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/stylesheet.xsl" type="text/xsl"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:podcast="https://podcastindex.org/namespace/1.0">
  <channel>
    <atom:link rel="self" type="application/rss+xml" href="https://feeds.transistor.fm/typescript-fm" title="MP3 Audio"/>
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com/"/>
    <podcast:podping usesPodping="true"/>
    <title>TypeScript.fm - The Friendly Show for TypeScript Developers</title>
    <generator>Transistor (https://transistor.fm)</generator>
    <itunes:new-feed-url>https://feeds.transistor.fm/typescript-fm</itunes:new-feed-url>
    <description>The two TypeScript Fools, Kamran Ayub and Erik Onarheim, get together weekly to bring you news, community highlights, and deep dives into the TypeScript ecosystem. Stay up-to-date on what's happening and learn new things to make you a better TypeScript developer along the way!</description>
    <copyright>©️Caliburn Games</copyright>
    <podcast:guid>2a594d4c-0025-518f-8a9c-22c20ac5ea41</podcast:guid>
    <podcast:podroll>
      <podcast:remoteItem feedGuid="f4f65949-6693-5a8f-b39c-be4da4d13462" feedUrl="https://feed.syntax.fm/rss"/>
      <podcast:remoteItem feedGuid="f2736050-754f-5dd0-be29-1d6278331176" feedUrl="https://changelog.com/jsparty/feed"/>
      <podcast:remoteItem feedGuid="a4faed6e-afe0-4a65-b4e7-de790ee67d4b" feedUrl="https://www.spreaker.com/show/6102064/episodes/feed"/>
    </podcast:podroll>
    <podcast:locked>yes</podcast:locked>
    <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
    <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
    <language>en</language>
    <pubDate>Thu, 16 Apr 2026 06:00:08 -0500</pubDate>
    <lastBuildDate>Thu, 16 Apr 2026 06:01:50 -0500</lastBuildDate>
    <link>https://typescript.fm</link>
    <image>
      <url>https://img.transistorcdn.com/6SVnFvVxHKRDFMVutLxh8Cwkudvt7cOy41acBajvm0E/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9jY2Ew/ZThkMTZkZGNiN2E2/Mzc1MmI5NWI0ZjU0/YjA3MS5wbmc.jpg</url>
      <title>TypeScript.fm - The Friendly Show for TypeScript Developers</title>
      <link>https://typescript.fm</link>
    </image>
    <itunes:category text="News">
      <itunes:category text="Tech News"/>
    </itunes:category>
    <itunes:category text="Technology"/>
    <itunes:type>episodic</itunes:type>
    <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
    <itunes:image href="https://img.transistorcdn.com/6SVnFvVxHKRDFMVutLxh8Cwkudvt7cOy41acBajvm0E/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9jY2Ew/ZThkMTZkZGNiN2E2/Mzc1MmI5NWI0ZjU0/YjA3MS5wbmc.jpg"/>
    <itunes:summary>The two TypeScript Fools, Kamran Ayub and Erik Onarheim, get together weekly to bring you news, community highlights, and deep dives into the TypeScript ecosystem. Stay up-to-date on what's happening and learn new things to make you a better TypeScript developer along the way!</itunes:summary>
    <itunes:subtitle>The two TypeScript Fools, Kamran Ayub and Erik Onarheim, get together weekly to bring you news, community highlights, and deep dives into the TypeScript ecosystem.</itunes:subtitle>
    <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
    <itunes:owner>
      <itunes:name>Erik Onarheim</itunes:name>
      <itunes:email>feedback@typescript.fm</itunes:email>
    </itunes:owner>
    <itunes:complete>No</itunes:complete>
    <itunes:explicit>No</itunes:explicit>
    <item>
      <title>Bun.WebView, Cursor's Big Bet, and Whether Mythos Just Spells Marketing | News | Ep 63</title>
      <itunes:episode>63</itunes:episode>
      <podcast:episode>63</podcast:episode>
      <itunes:title>Bun.WebView, Cursor's Big Bet, and Whether Mythos Just Spells Marketing | News | Ep 63</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">e09b708b-e675-4d01-a886-eae8e7942b2f</guid>
      <link>https://share.transistor.fm/s/41f07fcc</link>
      <description>
        <![CDATA[<p>News for the week of <strong>April 6, 2026</strong>: latest Bun release adds automated headless browser automation, whether Anthropic is using fear-based marketing, and major releases from Storybook and Docusaurus. From the community: why nominal typing deserves to be first-class, what to do about OSS vulnerabilities, and lessons from building a Rust runtime for TS.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><br><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(04:41) - News: Bun 1.3.12 Introduces WebView and Markdown Renderer</li>
<li>(06:52) - News: Does Claude Mythos Spell Doom or Is It Just Marketing?</li>
<li>(10:06) - News: Cursor 3 is Betting That the IDE Will Be Dead</li>
<li>(15:20) - News: Ember.js is Using Vite by Default Now</li>
<li>(15:52) - News: SvelteKit, Now with TS 6 Support</li>
<li>(16:02) - News: VoidZero Experiments with Making Angular Compiler Faster</li>
<li>(18:05) - News: Docusaurus 3.10 Prepares for v4 Release</li>
<li>(20:12) - News: Storybook 10.3, React MCP and Type-safe CSF Factories</li>
<li>(21:03) - Library Watch: better-translate, Type-safe Internationalization</li>
<li>(22:25) - Library Watch: tiny-tts, Offline CPU Text-to-Speech in Node.js</li>
<li>(24:06) - Library Watch: Pagyra, HTML to PDF in TypeScript</li>
<li>(25:35) - Library Watch: PayKit, a TypeScript Billing Framework</li>
<li>(26:54) - Library Watch: tsnapi, Snapshot Your TS Library Surface</li>
<li>(27:43) - Highlight: What's New in JavaScript 2026 by Frontend Masters</li>
<li>(28:51) - Highlight: Parse, Don't Validate -- In A Language That Doesn't Want You To by Cekrem</li>
<li>(33:16) - Highlight: Building a Rust Runtime for TypeScript by Encore</li>
<li>(35:55) - Highlight: Weak Map Memory Leak Trap by Peter Kroner</li>
<li>(37:57) - Highlight: TypeScript 6 and CSS Side Effect Imports by Schalk Neethling </li>
<li>(40:30) - Highlight: Integrating TS Go and the Effect LSP</li>
<li>(41:44) - Highlight: Moving Railway's Frontend Off Next.js</li>
<li>(43:24) - Highlight:  Prisma Next Makes MongoDB Type-safe</li>
<li>(44:21) - Highlight: Just Keep Vulnerabilities Open by James Sumners</li>
<li>(48:46) - Bleet of the Week</li>
<li>(51:18) - Cool Video: Real-time Sand Simulation... in SQL</li>
<li>(52:16) - Cool Video: Building a Programming Language from Scratch Using TypeScript</li>
<li>(53:03) - Cool Language: Xena, Inspired by TypeScript</li>
<li>(55:18) - Cool Read: Building a CLI for All of Cloudflare</li>
<li>(57:21) - Cool Read: Cloudflare Sandboxes are Now GA</li>
<li>(58:01) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://bun.sh/blog/bun-v1.3.12">Bun 1.3.12</a></li><li><a href="https://www.anthropic.com/glasswing">Claude Mythos Preview</a></li><li><a href="https://red.anthropic.com/2026/mythos-preview/">Anthropic's Red Team blog post</a> goes into detail</li><li><a href="https://youtu.be/LZAZvm34rYs?si=PmxnRuC2ae1ip7Gu">Claude Mythos is Actually Scary</a> </li><li><a href="https://www.youtube.com/watch?v=V6pgZKVcKpw">You Actually Do Need to Understand Mythos</a></li><li>The New Stack: <a href="https://thenewstack.io/cursor-3-demotes-ide/">Cursor's $2 billion bet: The IDE is now a fallback, not the default</a></li><li>Ember.js is <a href="https://bsky.app/profile/chris.manson.ie/post/3mjfamplbp22b">using vite by default</a> </li><li>SvelteKit 2.56.0 has <a href="https://bsky.app/profile/fubits.dev/post/3misolcowbk2m">TS 6.0 support</a></li><li>VoidZero: <a href="https://voidzero.dev/posts/oxc-angular-compiler">How we made the Angular Compiler faster using AI</a> </li><li><a href="https://bsky.app/profile/sebastienlorber.com/post/3miw5wx5kck2t">Docusaurus 3.10</a></li><li><a href="https://bsky.app/profile/storybook.js.org/post/3miyr5wbu5s26">Storybook 10.3</a> </li></ul><p><strong>Library Watch</strong></p><ul><li><a href="https://github.com/jralvarenga/better-translate">better-translate</a>: Type-safe i8n for any TypeScript project</li><li><a href="https://github.com/tronghieuit/tiny-tts">tiny-tts</a>: Zero-dependency CPU-only text-to-speech with ONNX model</li><li><a href="https://celsowm.github.io/pagyra-js/">pagrya-js</a>: HTML-to-PDF in pure TypeScript </li><li><a href="https://github.com/getpaykit/paykit">PayKit</a>: TypeScript billing framework</li><li><a href="https://bsky.app/profile/antfu.me/post/3mj4vtt5fzk2x">tsnapi</a>: Snapshot testing utility for the public API for library maintainers</li></ul><p><strong>From the Community</strong></p><ul><li>Frontend Masters: <a href="https://frontendmasters.com/blog/what-to-know-in-javascript-2026-edition/">What To Know in JavaScript (2026 Edition)</a></li><li>Cekrem: <a href="https://cekrem.github.io/posts/parse-dont-validate-typescript/">Parse, Don't Validate — In a Language That Doesn't Want You T</a></li><li>Encore: <a href="https://encore.dev/blog/rust-runtime">What We Learned Building a Rust Runtime for TypeScript</a> </li><li>Peter Kroner: <a href="https://www.youtube.com/watch?v=b8JnUwwO_PI">The WeakMap Subtype Memory Leak Trap</a> </li><li>Schalk Neethling: <a href="https://schalkneethling.com/posts/typescript-6-0-and-css-side-effect-imports-what-changed-and-how-to-fix-it/">TypeScript 6.0 and CSS Side-Effect Imports</a></li><li>Effect.js: <a href="https://www.youtube.com/watch?v=mUlhau663eM">TypeScript-Go with Effect LSP</a></li><li>Railway: <a href="https://blog.railway.com/p/moving-railways-frontend-off-nextjs">Moving Railway's Frontend Off </a><a href="http://next.js">Next.js</a></li><li>Prisma Next: <a href="https://www.prisma.io/blog/mongodb-without-compromise">MongoDB Without Compromise</a></li><li>James Sumners: <a href="https://jrfom.com/posts/2026/04/08/oss-security/">Open Source &amp; Security</a></li><li>Bleet of the Week: <a href="https://bsky.app/profile/fullmoon.id/post/3mjdmoumulc2m">types *are* the job</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Video: <a href="https://youtu.be/EgH75t4wBTY?si=nGZg1-uNHGM7EwSL">I Made Real-Time Sand Simulation in SQL</a> </li><li>Video: <a href="https://youtu.be/u9wA4jg73-U?si=DGyTu9rcvKH6MeJD">Can I build my own programming language from scratch?</a> w/ TypeScript</li><li>Language: <a href="https://github.com/elematic/zena">https://github.com/elematic/zena</a> </li><li>Read: <a href="https://blog.cloudflare.com/cf-cli-local-explorer/">Building a CLI for all of Cloudflare</a> </li><li>Read: <a href="https://blog.cloudflare.com/sandbox-ga/">Sandboxes are GA</a></li><li>Read: <a href="https://hbr.org/2026/04/managers-and-executives-disagree-on-ai-and-its-costing-companies">Managers and Executives Disagree on AI—and It’s Costing Companies</a> </li><li>Read: <a href="https://fortune.com/2026/04/09/ai-backlash-quiet-quitting-fobo-obsolete-white-collar-rebellion/">White-collar workers are quietly rebelling against AI as 80% outright refuse adoption mandates</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=Qht..."></a></p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News for the week of <strong>April 6, 2026</strong>: latest Bun release adds automated headless browser automation, whether Anthropic is using fear-based marketing, and major releases from Storybook and Docusaurus. From the community: why nominal typing deserves to be first-class, what to do about OSS vulnerabilities, and lessons from building a Rust runtime for TS.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><br><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(04:41) - News: Bun 1.3.12 Introduces WebView and Markdown Renderer</li>
<li>(06:52) - News: Does Claude Mythos Spell Doom or Is It Just Marketing?</li>
<li>(10:06) - News: Cursor 3 is Betting That the IDE Will Be Dead</li>
<li>(15:20) - News: Ember.js is Using Vite by Default Now</li>
<li>(15:52) - News: SvelteKit, Now with TS 6 Support</li>
<li>(16:02) - News: VoidZero Experiments with Making Angular Compiler Faster</li>
<li>(18:05) - News: Docusaurus 3.10 Prepares for v4 Release</li>
<li>(20:12) - News: Storybook 10.3, React MCP and Type-safe CSF Factories</li>
<li>(21:03) - Library Watch: better-translate, Type-safe Internationalization</li>
<li>(22:25) - Library Watch: tiny-tts, Offline CPU Text-to-Speech in Node.js</li>
<li>(24:06) - Library Watch: Pagyra, HTML to PDF in TypeScript</li>
<li>(25:35) - Library Watch: PayKit, a TypeScript Billing Framework</li>
<li>(26:54) - Library Watch: tsnapi, Snapshot Your TS Library Surface</li>
<li>(27:43) - Highlight: What's New in JavaScript 2026 by Frontend Masters</li>
<li>(28:51) - Highlight: Parse, Don't Validate -- In A Language That Doesn't Want You To by Cekrem</li>
<li>(33:16) - Highlight: Building a Rust Runtime for TypeScript by Encore</li>
<li>(35:55) - Highlight: Weak Map Memory Leak Trap by Peter Kroner</li>
<li>(37:57) - Highlight: TypeScript 6 and CSS Side Effect Imports by Schalk Neethling </li>
<li>(40:30) - Highlight: Integrating TS Go and the Effect LSP</li>
<li>(41:44) - Highlight: Moving Railway's Frontend Off Next.js</li>
<li>(43:24) - Highlight:  Prisma Next Makes MongoDB Type-safe</li>
<li>(44:21) - Highlight: Just Keep Vulnerabilities Open by James Sumners</li>
<li>(48:46) - Bleet of the Week</li>
<li>(51:18) - Cool Video: Real-time Sand Simulation... in SQL</li>
<li>(52:16) - Cool Video: Building a Programming Language from Scratch Using TypeScript</li>
<li>(53:03) - Cool Language: Xena, Inspired by TypeScript</li>
<li>(55:18) - Cool Read: Building a CLI for All of Cloudflare</li>
<li>(57:21) - Cool Read: Cloudflare Sandboxes are Now GA</li>
<li>(58:01) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://bun.sh/blog/bun-v1.3.12">Bun 1.3.12</a></li><li><a href="https://www.anthropic.com/glasswing">Claude Mythos Preview</a></li><li><a href="https://red.anthropic.com/2026/mythos-preview/">Anthropic's Red Team blog post</a> goes into detail</li><li><a href="https://youtu.be/LZAZvm34rYs?si=PmxnRuC2ae1ip7Gu">Claude Mythos is Actually Scary</a> </li><li><a href="https://www.youtube.com/watch?v=V6pgZKVcKpw">You Actually Do Need to Understand Mythos</a></li><li>The New Stack: <a href="https://thenewstack.io/cursor-3-demotes-ide/">Cursor's $2 billion bet: The IDE is now a fallback, not the default</a></li><li>Ember.js is <a href="https://bsky.app/profile/chris.manson.ie/post/3mjfamplbp22b">using vite by default</a> </li><li>SvelteKit 2.56.0 has <a href="https://bsky.app/profile/fubits.dev/post/3misolcowbk2m">TS 6.0 support</a></li><li>VoidZero: <a href="https://voidzero.dev/posts/oxc-angular-compiler">How we made the Angular Compiler faster using AI</a> </li><li><a href="https://bsky.app/profile/sebastienlorber.com/post/3miw5wx5kck2t">Docusaurus 3.10</a></li><li><a href="https://bsky.app/profile/storybook.js.org/post/3miyr5wbu5s26">Storybook 10.3</a> </li></ul><p><strong>Library Watch</strong></p><ul><li><a href="https://github.com/jralvarenga/better-translate">better-translate</a>: Type-safe i8n for any TypeScript project</li><li><a href="https://github.com/tronghieuit/tiny-tts">tiny-tts</a>: Zero-dependency CPU-only text-to-speech with ONNX model</li><li><a href="https://celsowm.github.io/pagyra-js/">pagrya-js</a>: HTML-to-PDF in pure TypeScript </li><li><a href="https://github.com/getpaykit/paykit">PayKit</a>: TypeScript billing framework</li><li><a href="https://bsky.app/profile/antfu.me/post/3mj4vtt5fzk2x">tsnapi</a>: Snapshot testing utility for the public API for library maintainers</li></ul><p><strong>From the Community</strong></p><ul><li>Frontend Masters: <a href="https://frontendmasters.com/blog/what-to-know-in-javascript-2026-edition/">What To Know in JavaScript (2026 Edition)</a></li><li>Cekrem: <a href="https://cekrem.github.io/posts/parse-dont-validate-typescript/">Parse, Don't Validate — In a Language That Doesn't Want You T</a></li><li>Encore: <a href="https://encore.dev/blog/rust-runtime">What We Learned Building a Rust Runtime for TypeScript</a> </li><li>Peter Kroner: <a href="https://www.youtube.com/watch?v=b8JnUwwO_PI">The WeakMap Subtype Memory Leak Trap</a> </li><li>Schalk Neethling: <a href="https://schalkneethling.com/posts/typescript-6-0-and-css-side-effect-imports-what-changed-and-how-to-fix-it/">TypeScript 6.0 and CSS Side-Effect Imports</a></li><li>Effect.js: <a href="https://www.youtube.com/watch?v=mUlhau663eM">TypeScript-Go with Effect LSP</a></li><li>Railway: <a href="https://blog.railway.com/p/moving-railways-frontend-off-nextjs">Moving Railway's Frontend Off </a><a href="http://next.js">Next.js</a></li><li>Prisma Next: <a href="https://www.prisma.io/blog/mongodb-without-compromise">MongoDB Without Compromise</a></li><li>James Sumners: <a href="https://jrfom.com/posts/2026/04/08/oss-security/">Open Source &amp; Security</a></li><li>Bleet of the Week: <a href="https://bsky.app/profile/fullmoon.id/post/3mjdmoumulc2m">types *are* the job</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Video: <a href="https://youtu.be/EgH75t4wBTY?si=nGZg1-uNHGM7EwSL">I Made Real-Time Sand Simulation in SQL</a> </li><li>Video: <a href="https://youtu.be/u9wA4jg73-U?si=DGyTu9rcvKH6MeJD">Can I build my own programming language from scratch?</a> w/ TypeScript</li><li>Language: <a href="https://github.com/elematic/zena">https://github.com/elematic/zena</a> </li><li>Read: <a href="https://blog.cloudflare.com/cf-cli-local-explorer/">Building a CLI for all of Cloudflare</a> </li><li>Read: <a href="https://blog.cloudflare.com/sandbox-ga/">Sandboxes are GA</a></li><li>Read: <a href="https://hbr.org/2026/04/managers-and-executives-disagree-on-ai-and-its-costing-companies">Managers and Executives Disagree on AI—and It’s Costing Companies</a> </li><li>Read: <a href="https://fortune.com/2026/04/09/ai-backlash-quiet-quitting-fobo-obsolete-white-collar-rebellion/">White-collar workers are quietly rebelling against AI as 80% outright refuse adoption mandates</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=Qht..."></a></p>]]>
      </content:encoded>
      <pubDate>Thu, 16 Apr 2026 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/41f07fcc/bad89974.mp3" length="34674602" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>4329</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News for the week of <strong>April 6, 2026</strong>: latest Bun release adds automated headless browser automation, whether Anthropic is using fear-based marketing, and major releases from Storybook and Docusaurus. From the community: why nominal typing deserves to be first-class, what to do about OSS vulnerabilities, and lessons from building a Rust runtime for TS.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><br><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(04:41) - News: Bun 1.3.12 Introduces WebView and Markdown Renderer</li>
<li>(06:52) - News: Does Claude Mythos Spell Doom or Is It Just Marketing?</li>
<li>(10:06) - News: Cursor 3 is Betting That the IDE Will Be Dead</li>
<li>(15:20) - News: Ember.js is Using Vite by Default Now</li>
<li>(15:52) - News: SvelteKit, Now with TS 6 Support</li>
<li>(16:02) - News: VoidZero Experiments with Making Angular Compiler Faster</li>
<li>(18:05) - News: Docusaurus 3.10 Prepares for v4 Release</li>
<li>(20:12) - News: Storybook 10.3, React MCP and Type-safe CSF Factories</li>
<li>(21:03) - Library Watch: better-translate, Type-safe Internationalization</li>
<li>(22:25) - Library Watch: tiny-tts, Offline CPU Text-to-Speech in Node.js</li>
<li>(24:06) - Library Watch: Pagyra, HTML to PDF in TypeScript</li>
<li>(25:35) - Library Watch: PayKit, a TypeScript Billing Framework</li>
<li>(26:54) - Library Watch: tsnapi, Snapshot Your TS Library Surface</li>
<li>(27:43) - Highlight: What's New in JavaScript 2026 by Frontend Masters</li>
<li>(28:51) - Highlight: Parse, Don't Validate -- In A Language That Doesn't Want You To by Cekrem</li>
<li>(33:16) - Highlight: Building a Rust Runtime for TypeScript by Encore</li>
<li>(35:55) - Highlight: Weak Map Memory Leak Trap by Peter Kroner</li>
<li>(37:57) - Highlight: TypeScript 6 and CSS Side Effect Imports by Schalk Neethling </li>
<li>(40:30) - Highlight: Integrating TS Go and the Effect LSP</li>
<li>(41:44) - Highlight: Moving Railway's Frontend Off Next.js</li>
<li>(43:24) - Highlight:  Prisma Next Makes MongoDB Type-safe</li>
<li>(44:21) - Highlight: Just Keep Vulnerabilities Open by James Sumners</li>
<li>(48:46) - Bleet of the Week</li>
<li>(51:18) - Cool Video: Real-time Sand Simulation... in SQL</li>
<li>(52:16) - Cool Video: Building a Programming Language from Scratch Using TypeScript</li>
<li>(53:03) - Cool Language: Xena, Inspired by TypeScript</li>
<li>(55:18) - Cool Read: Building a CLI for All of Cloudflare</li>
<li>(57:21) - Cool Read: Cloudflare Sandboxes are Now GA</li>
<li>(58:01) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://bun.sh/blog/bun-v1.3.12">Bun 1.3.12</a></li><li><a href="https://www.anthropic.com/glasswing">Claude Mythos Preview</a></li><li><a href="https://red.anthropic.com/2026/mythos-preview/">Anthropic's Red Team blog post</a> goes into detail</li><li><a href="https://youtu.be/LZAZvm34rYs?si=PmxnRuC2ae1ip7Gu">Claude Mythos is Actually Scary</a> </li><li><a href="https://www.youtube.com/watch?v=V6pgZKVcKpw">You Actually Do Need to Understand Mythos</a></li><li>The New Stack: <a href="https://thenewstack.io/cursor-3-demotes-ide/">Cursor's $2 billion bet: The IDE is now a fallback, not the default</a></li><li>Ember.js is <a href="https://bsky.app/profile/chris.manson.ie/post/3mjfamplbp22b">using vite by default</a> </li><li>SvelteKit 2.56.0 has <a href="https://bsky.app/profile/fubits.dev/post/3misolcowbk2m">TS 6.0 support</a></li><li>VoidZero: <a href="https://voidzero.dev/posts/oxc-angular-compiler">How we made the Angular Compiler faster using AI</a> </li><li><a href="https://bsky.app/profile/sebastienlorber.com/post/3miw5wx5kck2t">Docusaurus 3.10</a></li><li><a href="https://bsky.app/profile/storybook.js.org/post/3miyr5wbu5s26">Storybook 10.3</a> </li></ul><p><strong>Library Watch</strong></p><ul><li><a href="https://github.com/jralvarenga/better-translate">better-translate</a>: Type-safe i8n for any TypeScript project</li><li><a href="https://github.com/tronghieuit/tiny-tts">tiny-tts</a>: Zero-dependency CPU-only text-to-speech with ONNX model</li><li><a href="https://celsowm.github.io/pagyra-js/">pagrya-js</a>: HTML-to-PDF in pure TypeScript </li><li><a href="https://github.com/getpaykit/paykit">PayKit</a>: TypeScript billing framework</li><li><a href="https://bsky.app/profile/antfu.me/post/3mj4vtt5fzk2x">tsnapi</a>: Snapshot testing utility for the public API for library maintainers</li></ul><p><strong>From the Community</strong></p><ul><li>Frontend Masters: <a href="https://frontendmasters.com/blog/what-to-know-in-javascript-2026-edition/">What To Know in JavaScript (2026 Edition)</a></li><li>Cekrem: <a href="https://cekrem.github.io/posts/parse-dont-validate-typescript/">Parse, Don't Validate — In a Language That Doesn't Want You T</a></li><li>Encore: <a href="https://encore.dev/blog/rust-runtime">What We Learned Building a Rust Runtime for TypeScript</a> </li><li>Peter Kroner: <a href="https://www.youtube.com/watch?v=b8JnUwwO_PI">The WeakMap Subtype Memory Leak Trap</a> </li><li>Schalk Neethling: <a href="https://schalkneethling.com/posts/typescript-6-0-and-css-side-effect-imports-what-changed-and-how-to-fix-it/">TypeScript 6.0 and CSS Side-Effect Imports</a></li><li>Effect.js: <a href="https://www.youtube.com/watch?v=mUlhau663eM">TypeScript-Go with Effect LSP</a></li><li>Railway: <a href="https://blog.railway.com/p/moving-railways-frontend-off-nextjs">Moving Railway's Frontend Off </a><a href="http://next.js">Next.js</a></li><li>Prisma Next: <a href="https://www.prisma.io/blog/mongodb-without-compromise">MongoDB Without Compromise</a></li><li>James Sumners: <a href="https://jrfom.com/posts/2026/04/08/oss-security/">Open Source &amp; Security</a></li><li>Bleet of the Week: <a href="https://bsky.app/profile/fullmoon.id/post/3mjdmoumulc2m">types *are* the job</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Video: <a href="https://youtu.be/EgH75t4wBTY?si=nGZg1-uNHGM7EwSL">I Made Real-Time Sand Simulation in SQL</a> </li><li>Video: <a href="https://youtu.be/u9wA4jg73-U?si=DGyTu9rcvKH6MeJD">Can I build my own programming language from scratch?</a> w/ TypeScript</li><li>Language: <a href="https://github.com/elematic/zena">https://github.com/elematic/zena</a> </li><li>Read: <a href="https://blog.cloudflare.com/cf-cli-local-explorer/">Building a CLI for all of Cloudflare</a> </li><li>Read: <a href="https://blog.cloudflare.com/sandbox-ga/">Sandboxes are GA</a></li><li>Read: <a href="https://hbr.org/2026/04/managers-and-executives-disagree-on-ai-and-its-costing-companies">Managers and Executives Disagree on AI—and It’s Costing Companies</a> </li><li>Read: <a href="https://fortune.com/2026/04/09/ai-backlash-quiet-quitting-fobo-obsolete-white-collar-rebellion/">White-collar workers are quietly rebelling against AI as 80% outright refuse adoption mandates</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=Qht..."></a></p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/41f07fcc/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Designing an Ideal Linting Developer Experience with Flint | Josh Goldberg | Ep 62B</title>
      <itunes:episode>62</itunes:episode>
      <podcast:episode>62</podcast:episode>
      <itunes:title>Designing an Ideal Linting Developer Experience with Flint | Josh Goldberg | Ep 62B</itunes:title>
      <itunes:episodeType>bonus</itunes:episodeType>
      <guid isPermaLink="false">530d6993-3214-4db2-9183-a4027b32af68</guid>
      <link>https://share.transistor.fm/s/529ec1ef</link>
      <description>
        <![CDATA[<p>In this episode with Josh Goldberg, maintainer of TypeScript ESLint, we dive into his latest research project, Flint. The goal of Flint is to test different hypothesis on how to architect a modern, hybrid-native JavaScript and TypeScript linter. What happens when every rule can be type-aware? Can you write lint rules in TypeScript and run them with near-native performance? How can error messages be more helpful for humans and agents alike? How can the configuration and plugin system be re-designed so it's less magical and has more type safety? These are the kinds of questions the Flint team is exploring and we talk with Josh about how things are progressing and where Flint's future is headed.</p><p><strong>Josh's Links</strong></p><ul><li><a href="https://flint.fyi">Flint.fyi</a></li><li><a href="https://joshuakgoldberg.com">JoshuaKGoldberg.com</a></li><li><a href="https://discord.gg/rdC2XPCmn5">Flint Discord</a></li><li><a href="https://bsky.app/profile/joshuakgoldberg.com">Josh on BlueSky</a></li><li><a href="https://fosstodon.org/@JoshuaKGoldberg">Josh on Fosstodon</a></li><li><a href="https://github.com/joshuakgoldberg">Josh on GitHub</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introducing Josh Goldberg</li>
<li>(01:43) - Introduction to Flint: A Modern, Hybrid Native Linter</li>
<li>(03:44) - What Problems is Flint Trying to Solve?</li>
<li>(05:26) - What's a Hybrid Linter?</li>
<li>(07:55) - How Does Flint Handle Type-aware Rules?</li>
<li>(10:45) - How Does Flint Improve Configuration DX?</li>
<li>(17:13) - How Does Flint Handle Error Messages?</li>
<li>(20:11) - What is Flint's Take on Errors vs. Warnings?</li>
<li>(23:17) - How is Flint Approaching Documentation?</li>
<li>(26:09) - Are There Differences in Dev Mode vs. CI Mode?</li>
<li>(28:29) - Does Flint Do Anything Special with Formatting?</li>
<li>(30:39) - Can Flint Fix Lint Issues?</li>
<li>(32:21) - Are There Advantages to Being TypeScript-first?</li>
<li>(33:55) - Separating Rules into Stylistic vs. Logical</li>
<li>(36:36) - Organizing and Categorizing Lint Rules to Improve DX</li>
<li>(38:17) - How to Get Involved with Flint</li>
<li>(40:00) - Flint's Roadmap for 2026 and Beyond</li>
<li>(43:28) - Where to Follow Josh's Work</li>
<li>(44:20) - The Minnesota Long Goodbye???</li>
</ul><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.<ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>In this episode with Josh Goldberg, maintainer of TypeScript ESLint, we dive into his latest research project, Flint. The goal of Flint is to test different hypothesis on how to architect a modern, hybrid-native JavaScript and TypeScript linter. What happens when every rule can be type-aware? Can you write lint rules in TypeScript and run them with near-native performance? How can error messages be more helpful for humans and agents alike? How can the configuration and plugin system be re-designed so it's less magical and has more type safety? These are the kinds of questions the Flint team is exploring and we talk with Josh about how things are progressing and where Flint's future is headed.</p><p><strong>Josh's Links</strong></p><ul><li><a href="https://flint.fyi">Flint.fyi</a></li><li><a href="https://joshuakgoldberg.com">JoshuaKGoldberg.com</a></li><li><a href="https://discord.gg/rdC2XPCmn5">Flint Discord</a></li><li><a href="https://bsky.app/profile/joshuakgoldberg.com">Josh on BlueSky</a></li><li><a href="https://fosstodon.org/@JoshuaKGoldberg">Josh on Fosstodon</a></li><li><a href="https://github.com/joshuakgoldberg">Josh on GitHub</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introducing Josh Goldberg</li>
<li>(01:43) - Introduction to Flint: A Modern, Hybrid Native Linter</li>
<li>(03:44) - What Problems is Flint Trying to Solve?</li>
<li>(05:26) - What's a Hybrid Linter?</li>
<li>(07:55) - How Does Flint Handle Type-aware Rules?</li>
<li>(10:45) - How Does Flint Improve Configuration DX?</li>
<li>(17:13) - How Does Flint Handle Error Messages?</li>
<li>(20:11) - What is Flint's Take on Errors vs. Warnings?</li>
<li>(23:17) - How is Flint Approaching Documentation?</li>
<li>(26:09) - Are There Differences in Dev Mode vs. CI Mode?</li>
<li>(28:29) - Does Flint Do Anything Special with Formatting?</li>
<li>(30:39) - Can Flint Fix Lint Issues?</li>
<li>(32:21) - Are There Advantages to Being TypeScript-first?</li>
<li>(33:55) - Separating Rules into Stylistic vs. Logical</li>
<li>(36:36) - Organizing and Categorizing Lint Rules to Improve DX</li>
<li>(38:17) - How to Get Involved with Flint</li>
<li>(40:00) - Flint's Roadmap for 2026 and Beyond</li>
<li>(43:28) - Where to Follow Josh's Work</li>
<li>(44:20) - The Minnesota Long Goodbye???</li>
</ul><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.<ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Thu, 09 Apr 2026 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/529ec1ef/22f4839a.mp3" length="27500583" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>3432</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>In this episode with Josh Goldberg, maintainer of TypeScript ESLint, we dive into his latest research project, Flint. The goal of Flint is to test different hypothesis on how to architect a modern, hybrid-native JavaScript and TypeScript linter. What happens when every rule can be type-aware? Can you write lint rules in TypeScript and run them with near-native performance? How can error messages be more helpful for humans and agents alike? How can the configuration and plugin system be re-designed so it's less magical and has more type safety? These are the kinds of questions the Flint team is exploring and we talk with Josh about how things are progressing and where Flint's future is headed.</p><p><strong>Josh's Links</strong></p><ul><li><a href="https://flint.fyi">Flint.fyi</a></li><li><a href="https://joshuakgoldberg.com">JoshuaKGoldberg.com</a></li><li><a href="https://discord.gg/rdC2XPCmn5">Flint Discord</a></li><li><a href="https://bsky.app/profile/joshuakgoldberg.com">Josh on BlueSky</a></li><li><a href="https://fosstodon.org/@JoshuaKGoldberg">Josh on Fosstodon</a></li><li><a href="https://github.com/joshuakgoldberg">Josh on GitHub</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introducing Josh Goldberg</li>
<li>(01:43) - Introduction to Flint: A Modern, Hybrid Native Linter</li>
<li>(03:44) - What Problems is Flint Trying to Solve?</li>
<li>(05:26) - What's a Hybrid Linter?</li>
<li>(07:55) - How Does Flint Handle Type-aware Rules?</li>
<li>(10:45) - How Does Flint Improve Configuration DX?</li>
<li>(17:13) - How Does Flint Handle Error Messages?</li>
<li>(20:11) - What is Flint's Take on Errors vs. Warnings?</li>
<li>(23:17) - How is Flint Approaching Documentation?</li>
<li>(26:09) - Are There Differences in Dev Mode vs. CI Mode?</li>
<li>(28:29) - Does Flint Do Anything Special with Formatting?</li>
<li>(30:39) - Can Flint Fix Lint Issues?</li>
<li>(32:21) - Are There Advantages to Being TypeScript-first?</li>
<li>(33:55) - Separating Rules into Stylistic vs. Logical</li>
<li>(36:36) - Organizing and Categorizing Lint Rules to Improve DX</li>
<li>(38:17) - How to Get Involved with Flint</li>
<li>(40:00) - Flint's Roadmap for 2026 and Beyond</li>
<li>(43:28) - Where to Follow Josh's Work</li>
<li>(44:20) - The Minnesota Long Goodbye???</li>
</ul><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.<ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:person role="Guest" href="https://www.joshuakgoldberg.com/" img="https://img.transistorcdn.com/ZjGsQJKoUK_k2Mf3yigbJ_7WXCQvaBPOG1eWbYVmfG8/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS82NTQz/YzJhYzJkOTM0YmI3/YmNhOTMzYWUzYTQ3/NTNiNy5qcGVn.jpg">Josh Goldberg 💖</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/529ec1ef/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Spearphishing OSS Maintainers, EmDash is a Wordpress Replacement, and ECMA Fools Day | News | Ep 62</title>
      <itunes:episode>62</itunes:episode>
      <podcast:episode>62</podcast:episode>
      <itunes:title>Spearphishing OSS Maintainers, EmDash is a Wordpress Replacement, and ECMA Fools Day | News | Ep 62</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">8eed872e-b9a0-4d5b-8858-916156ef2f48</guid>
      <link>https://share.transistor.fm/s/026d8f55</link>
      <description>
        <![CDATA[<p>News for the week of <strong>March 30, 2026</strong>: fun with UUIDs, Cloudflare gunning for Wordpress, and how OSS maintainers can defend against spearphishing attacks. From the community: a very Solid 6 hours, compiling TS to native UI code, and a super fast VIN decoder.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><br><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:01) - News: ECMA Fools Day</li>
<li>(07:22) - News: Cloudflare's EmDash Wants to Replace WordPress</li>
<li>(11:56) - News: Attackers Are Spear-phishing High Profile OSS Maintainers</li>
<li>(20:31) - News: BabylonJS v9, a 3D TypeScript Game Engine</li>
<li>(21:38) - News: Claude Code CLI Source Code Leaked</li>
<li>(24:00) - Library Watch: LayoutSans, Pure TypeScript 2D Layout Engine</li>
<li>(25:29) - Library Watch: PerryTS Compiles TS to Native UI on Any Platform</li>
<li>(28:55) - Library Watch: Gagen, Generating GitHub Actions with TypeScript</li>
<li>(30:48) - Library Watch: finprim, Type-safe Financial Primitives</li>
<li>(32:27) - Library Watch: GameDevLibrary, Excalibur.js Demos and Snippets</li>
<li>(34:14) - Highlight: How Vercel Made Turborepo 96% Faster</li>
<li>(37:16) - Highlight: oxlint and oxfmt Framework Compatibility Matrix</li>
<li>(37:46) - Highlight: Jake Archibald Highlights Proposed HTML-in-Canvas Feature</li>
<li>(38:49) - Highlight: Boston TS Club is Back</li>
<li>(39:17) - Highlight: Solid 2.0 with Ryan Carniato</li>
<li>(40:18) - Highlight: Cardog's Super Fast VIN Decoder in Corgi V3</li>
<li>(41:32) - Highlight: Fireship's Explainer on What Pretext Does</li>
<li>(43:48) - Bleets of the Week</li>
<li>(44:46) - Secret of the Handbook: Assertion Functions</li>
<li>(46:50) - Cool Link: neovim 0.12</li>
<li>(48:07) - Cool Watch: Hands-on with Artemis II</li>
<li>(49:14) - Cool Watch: Floating Point Math is Really Hard</li>
<li>(50:27) - Cool Read: Project Hail Mary</li>
<li>(52:39) - The Minnesota Long Goodbye</li>
</ul><p><strong>News</strong></p><ul><li><a href="https://bsky.app/profile/robpalmer.bsky.social/post/3mifyuamqqs2t">ECMA Fools Day</a></li><li><a href="https://everyuuid.com/">Every UUID Dot Com</a> </li><li><a href="https://secretgeek.net/hotGuids/index.htm">Hot Guids</a> in your area </li><li>Cloudflare: <a href="https://bsky.app/profile/cloudflare.social/post/3mihon3fwfn2u">Announcing EmDash</a>, Wordpress in TypeScript</li><li>Socket: <a href="https://socket.dev/blog/attackers-hunting-high-impact-nodejs-maintainers">Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign</a></li><li><a href="https://www.youtube.com/watch?v=mYLIUZzaDhk">BabylonJS v9 released</a> </li><li>Anthropic: <a href="https://bsky.app/profile/gergely.pragmaticengineer.com/post/3mieex2i5cc2e">Claude Code Source Code Leaked and Rewritten in Python</a></li></ul><p><strong>Library Watch</strong></p><ul><li><a href="https://github.com/BaselAshraf81/layout-sans">LayoutSans</a>: Pure TypeScript 2D layout engine powered by Pretext</li><li><a href="https://perryts.com">PerryTS</a>: Compile TypeScript to native UI on any platform (React Native, .NET MAUI alternative) </li><li><a href="https://bsky.app/profile/dsherret.bsky.social/post/3mik4a5l2nk22">Gagen</a>: GH actions in TypeScript</li><li><a href="https://github.com/tintolee/finprim">FinPrim</a>: Financial Primitives in TypeScript</li><li><a href="https://bsky.app/profile/mookie4242.bsky.social/post/3miarbfu23k2d">GameDevLib</a>: Excalibur.js demos and snippets</li></ul><p><strong>From the Community</strong></p><ul><li>Vercel: <a href="https://vercel.com/blog/making-turborepo-ninety-six-percent-faster-with-agents-sandboxes-and-humans">Making Turborepo 96% faster</a></li><li>VoidZero: <a href="https://bsky.app/profile/thealexlichter.com/post/3mibds2gybk2w">Oxlint Oxfmt support compatibility matrix</a></li><li>Jake Archibald: <a href="https://bsky.app/profile/jakearchibald.com/post/3minxc45r7s2y">HTML-in-Canvas demos</a></li><li><a href="https://bsky.app/profile/bostonts.club/post/3michgz5j7k2o">Boston TS meetup is back! </a></li><li>Ryan Carniato: <a href="https://bsky.app/profile/patak.cat/post/3mioociwoa22x">6 hours of Solid 2.0 talk</a></li><li>Cardog: <a href="https://cardog.app/blog/corgi-v3-binary-indexes">Binary Indexes and What a Tiny LL M Learned About VINs</a> </li><li>Fireship: <a href="https://www.youtube.com/watch?v=vd14EElCRvs">He just crawled through hell to fix the browser…</a> </li><li>Bleets of the week: <a href="https://bsky.app/profile/jonchurch.com/post/3mimqazrgg22r">Jokes on them</a> and <a href="https://bsky.app/profile/savannah.dev/post/3mihqlzjvc22f">what types for plastic BBQ set?</a> </li><li>Secret of the Handbook: <a href="https://bsky.app/profile/stefanjudis.com/post/3mitqy3zz522m">TypeScript assertion functions</a></li></ul><p><strong>Cool Links</strong></p><ul><li><a href="https://dotfiles.substack.com/p/whats-new-in-neovim-012">Neovim 0.12</a></li><li><a href="https://youtu.be/tw99HxpONws?si=tm53RLotXxGjQYIC">Floating point math is hard. Really, really hard.</a> </li><li><a href="https://youtu.be/MJC2sdjua3g?si=gBzTpey6LbcZ15Iw">Hands On with the Artemis II Trajectory</a> </li><li><a href="https://www.audible.com/pd/Project-Hail-Mary-Audiobook/B08G9PRS1K">Project Hail Mary</a> (audiobook)</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News for the week of <strong>March 30, 2026</strong>: fun with UUIDs, Cloudflare gunning for Wordpress, and how OSS maintainers can defend against spearphishing attacks. From the community: a very Solid 6 hours, compiling TS to native UI code, and a super fast VIN decoder.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><br><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:01) - News: ECMA Fools Day</li>
<li>(07:22) - News: Cloudflare's EmDash Wants to Replace WordPress</li>
<li>(11:56) - News: Attackers Are Spear-phishing High Profile OSS Maintainers</li>
<li>(20:31) - News: BabylonJS v9, a 3D TypeScript Game Engine</li>
<li>(21:38) - News: Claude Code CLI Source Code Leaked</li>
<li>(24:00) - Library Watch: LayoutSans, Pure TypeScript 2D Layout Engine</li>
<li>(25:29) - Library Watch: PerryTS Compiles TS to Native UI on Any Platform</li>
<li>(28:55) - Library Watch: Gagen, Generating GitHub Actions with TypeScript</li>
<li>(30:48) - Library Watch: finprim, Type-safe Financial Primitives</li>
<li>(32:27) - Library Watch: GameDevLibrary, Excalibur.js Demos and Snippets</li>
<li>(34:14) - Highlight: How Vercel Made Turborepo 96% Faster</li>
<li>(37:16) - Highlight: oxlint and oxfmt Framework Compatibility Matrix</li>
<li>(37:46) - Highlight: Jake Archibald Highlights Proposed HTML-in-Canvas Feature</li>
<li>(38:49) - Highlight: Boston TS Club is Back</li>
<li>(39:17) - Highlight: Solid 2.0 with Ryan Carniato</li>
<li>(40:18) - Highlight: Cardog's Super Fast VIN Decoder in Corgi V3</li>
<li>(41:32) - Highlight: Fireship's Explainer on What Pretext Does</li>
<li>(43:48) - Bleets of the Week</li>
<li>(44:46) - Secret of the Handbook: Assertion Functions</li>
<li>(46:50) - Cool Link: neovim 0.12</li>
<li>(48:07) - Cool Watch: Hands-on with Artemis II</li>
<li>(49:14) - Cool Watch: Floating Point Math is Really Hard</li>
<li>(50:27) - Cool Read: Project Hail Mary</li>
<li>(52:39) - The Minnesota Long Goodbye</li>
</ul><p><strong>News</strong></p><ul><li><a href="https://bsky.app/profile/robpalmer.bsky.social/post/3mifyuamqqs2t">ECMA Fools Day</a></li><li><a href="https://everyuuid.com/">Every UUID Dot Com</a> </li><li><a href="https://secretgeek.net/hotGuids/index.htm">Hot Guids</a> in your area </li><li>Cloudflare: <a href="https://bsky.app/profile/cloudflare.social/post/3mihon3fwfn2u">Announcing EmDash</a>, Wordpress in TypeScript</li><li>Socket: <a href="https://socket.dev/blog/attackers-hunting-high-impact-nodejs-maintainers">Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign</a></li><li><a href="https://www.youtube.com/watch?v=mYLIUZzaDhk">BabylonJS v9 released</a> </li><li>Anthropic: <a href="https://bsky.app/profile/gergely.pragmaticengineer.com/post/3mieex2i5cc2e">Claude Code Source Code Leaked and Rewritten in Python</a></li></ul><p><strong>Library Watch</strong></p><ul><li><a href="https://github.com/BaselAshraf81/layout-sans">LayoutSans</a>: Pure TypeScript 2D layout engine powered by Pretext</li><li><a href="https://perryts.com">PerryTS</a>: Compile TypeScript to native UI on any platform (React Native, .NET MAUI alternative) </li><li><a href="https://bsky.app/profile/dsherret.bsky.social/post/3mik4a5l2nk22">Gagen</a>: GH actions in TypeScript</li><li><a href="https://github.com/tintolee/finprim">FinPrim</a>: Financial Primitives in TypeScript</li><li><a href="https://bsky.app/profile/mookie4242.bsky.social/post/3miarbfu23k2d">GameDevLib</a>: Excalibur.js demos and snippets</li></ul><p><strong>From the Community</strong></p><ul><li>Vercel: <a href="https://vercel.com/blog/making-turborepo-ninety-six-percent-faster-with-agents-sandboxes-and-humans">Making Turborepo 96% faster</a></li><li>VoidZero: <a href="https://bsky.app/profile/thealexlichter.com/post/3mibds2gybk2w">Oxlint Oxfmt support compatibility matrix</a></li><li>Jake Archibald: <a href="https://bsky.app/profile/jakearchibald.com/post/3minxc45r7s2y">HTML-in-Canvas demos</a></li><li><a href="https://bsky.app/profile/bostonts.club/post/3michgz5j7k2o">Boston TS meetup is back! </a></li><li>Ryan Carniato: <a href="https://bsky.app/profile/patak.cat/post/3mioociwoa22x">6 hours of Solid 2.0 talk</a></li><li>Cardog: <a href="https://cardog.app/blog/corgi-v3-binary-indexes">Binary Indexes and What a Tiny LL M Learned About VINs</a> </li><li>Fireship: <a href="https://www.youtube.com/watch?v=vd14EElCRvs">He just crawled through hell to fix the browser…</a> </li><li>Bleets of the week: <a href="https://bsky.app/profile/jonchurch.com/post/3mimqazrgg22r">Jokes on them</a> and <a href="https://bsky.app/profile/savannah.dev/post/3mihqlzjvc22f">what types for plastic BBQ set?</a> </li><li>Secret of the Handbook: <a href="https://bsky.app/profile/stefanjudis.com/post/3mitqy3zz522m">TypeScript assertion functions</a></li></ul><p><strong>Cool Links</strong></p><ul><li><a href="https://dotfiles.substack.com/p/whats-new-in-neovim-012">Neovim 0.12</a></li><li><a href="https://youtu.be/tw99HxpONws?si=tm53RLotXxGjQYIC">Floating point math is hard. Really, really hard.</a> </li><li><a href="https://youtu.be/MJC2sdjua3g?si=gBzTpey6LbcZ15Iw">Hands On with the Artemis II Trajectory</a> </li><li><a href="https://www.audible.com/pd/Project-Hail-Mary-Audiobook/B08G9PRS1K">Project Hail Mary</a> (audiobook)</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Tue, 07 Apr 2026 11:36:07 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/026d8f55/4ac269b7.mp3" length="28409337" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>3546</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News for the week of <strong>March 30, 2026</strong>: fun with UUIDs, Cloudflare gunning for Wordpress, and how OSS maintainers can defend against spearphishing attacks. From the community: a very Solid 6 hours, compiling TS to native UI code, and a super fast VIN decoder.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><br><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:01) - News: ECMA Fools Day</li>
<li>(07:22) - News: Cloudflare's EmDash Wants to Replace WordPress</li>
<li>(11:56) - News: Attackers Are Spear-phishing High Profile OSS Maintainers</li>
<li>(20:31) - News: BabylonJS v9, a 3D TypeScript Game Engine</li>
<li>(21:38) - News: Claude Code CLI Source Code Leaked</li>
<li>(24:00) - Library Watch: LayoutSans, Pure TypeScript 2D Layout Engine</li>
<li>(25:29) - Library Watch: PerryTS Compiles TS to Native UI on Any Platform</li>
<li>(28:55) - Library Watch: Gagen, Generating GitHub Actions with TypeScript</li>
<li>(30:48) - Library Watch: finprim, Type-safe Financial Primitives</li>
<li>(32:27) - Library Watch: GameDevLibrary, Excalibur.js Demos and Snippets</li>
<li>(34:14) - Highlight: How Vercel Made Turborepo 96% Faster</li>
<li>(37:16) - Highlight: oxlint and oxfmt Framework Compatibility Matrix</li>
<li>(37:46) - Highlight: Jake Archibald Highlights Proposed HTML-in-Canvas Feature</li>
<li>(38:49) - Highlight: Boston TS Club is Back</li>
<li>(39:17) - Highlight: Solid 2.0 with Ryan Carniato</li>
<li>(40:18) - Highlight: Cardog's Super Fast VIN Decoder in Corgi V3</li>
<li>(41:32) - Highlight: Fireship's Explainer on What Pretext Does</li>
<li>(43:48) - Bleets of the Week</li>
<li>(44:46) - Secret of the Handbook: Assertion Functions</li>
<li>(46:50) - Cool Link: neovim 0.12</li>
<li>(48:07) - Cool Watch: Hands-on with Artemis II</li>
<li>(49:14) - Cool Watch: Floating Point Math is Really Hard</li>
<li>(50:27) - Cool Read: Project Hail Mary</li>
<li>(52:39) - The Minnesota Long Goodbye</li>
</ul><p><strong>News</strong></p><ul><li><a href="https://bsky.app/profile/robpalmer.bsky.social/post/3mifyuamqqs2t">ECMA Fools Day</a></li><li><a href="https://everyuuid.com/">Every UUID Dot Com</a> </li><li><a href="https://secretgeek.net/hotGuids/index.htm">Hot Guids</a> in your area </li><li>Cloudflare: <a href="https://bsky.app/profile/cloudflare.social/post/3mihon3fwfn2u">Announcing EmDash</a>, Wordpress in TypeScript</li><li>Socket: <a href="https://socket.dev/blog/attackers-hunting-high-impact-nodejs-maintainers">Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign</a></li><li><a href="https://www.youtube.com/watch?v=mYLIUZzaDhk">BabylonJS v9 released</a> </li><li>Anthropic: <a href="https://bsky.app/profile/gergely.pragmaticengineer.com/post/3mieex2i5cc2e">Claude Code Source Code Leaked and Rewritten in Python</a></li></ul><p><strong>Library Watch</strong></p><ul><li><a href="https://github.com/BaselAshraf81/layout-sans">LayoutSans</a>: Pure TypeScript 2D layout engine powered by Pretext</li><li><a href="https://perryts.com">PerryTS</a>: Compile TypeScript to native UI on any platform (React Native, .NET MAUI alternative) </li><li><a href="https://bsky.app/profile/dsherret.bsky.social/post/3mik4a5l2nk22">Gagen</a>: GH actions in TypeScript</li><li><a href="https://github.com/tintolee/finprim">FinPrim</a>: Financial Primitives in TypeScript</li><li><a href="https://bsky.app/profile/mookie4242.bsky.social/post/3miarbfu23k2d">GameDevLib</a>: Excalibur.js demos and snippets</li></ul><p><strong>From the Community</strong></p><ul><li>Vercel: <a href="https://vercel.com/blog/making-turborepo-ninety-six-percent-faster-with-agents-sandboxes-and-humans">Making Turborepo 96% faster</a></li><li>VoidZero: <a href="https://bsky.app/profile/thealexlichter.com/post/3mibds2gybk2w">Oxlint Oxfmt support compatibility matrix</a></li><li>Jake Archibald: <a href="https://bsky.app/profile/jakearchibald.com/post/3minxc45r7s2y">HTML-in-Canvas demos</a></li><li><a href="https://bsky.app/profile/bostonts.club/post/3michgz5j7k2o">Boston TS meetup is back! </a></li><li>Ryan Carniato: <a href="https://bsky.app/profile/patak.cat/post/3mioociwoa22x">6 hours of Solid 2.0 talk</a></li><li>Cardog: <a href="https://cardog.app/blog/corgi-v3-binary-indexes">Binary Indexes and What a Tiny LL M Learned About VINs</a> </li><li>Fireship: <a href="https://www.youtube.com/watch?v=vd14EElCRvs">He just crawled through hell to fix the browser…</a> </li><li>Bleets of the week: <a href="https://bsky.app/profile/jonchurch.com/post/3mimqazrgg22r">Jokes on them</a> and <a href="https://bsky.app/profile/savannah.dev/post/3mihqlzjvc22f">what types for plastic BBQ set?</a> </li><li>Secret of the Handbook: <a href="https://bsky.app/profile/stefanjudis.com/post/3mitqy3zz522m">TypeScript assertion functions</a></li></ul><p><strong>Cool Links</strong></p><ul><li><a href="https://dotfiles.substack.com/p/whats-new-in-neovim-012">Neovim 0.12</a></li><li><a href="https://youtu.be/tw99HxpONws?si=tm53RLotXxGjQYIC">Floating point math is hard. Really, really hard.</a> </li><li><a href="https://youtu.be/MJC2sdjua3g?si=gBzTpey6LbcZ15Iw">Hands On with the Artemis II Trajectory</a> </li><li><a href="https://www.audible.com/pd/Project-Hail-Mary-Audiobook/B08G9PRS1K">Project Hail Mary</a> (audiobook)</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/026d8f55/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Aspire 13.2, Hybrid Type-aware Linting, and Claude Wrote a JS Engine | News | Ep 61</title>
      <itunes:episode>61</itunes:episode>
      <podcast:episode>61</podcast:episode>
      <itunes:title>Aspire 13.2, Hybrid Type-aware Linting, and Claude Wrote a JS Engine | News | Ep 61</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">27158943-1ee6-4e45-84c2-c89c471c52de</guid>
      <link>https://share.transistor.fm/s/ed97218f</link>
      <description>
        <![CDATA[<p>News for the week of <strong>March 23, 2026</strong>: Aspire 13.2 now supports TypeScript app hosts, Node.js security releases, and axios got got. From the community: Auvred's hybrid linting research, refactoring with generics, and sharing signals across the server-client boundary. Plus, using Claude to write a JS engine from scratch.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><br><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:29) - News: Node.js Security Fixes Available</li>
<li>(07:00) - News: Aspire 13.2 Brings TypeScript AppHost Support</li>
<li>(10:19) - News: Firefox 149 Adds Split View, Free VPN</li>
<li>(13:00) - News: Replay Adds React Render Debugging MCP Support</li>
<li>(13:55) - PSA: Axios Supply Chain Attack</li>
<li>(17:30) - Library Watch: Astro 6.1</li>
<li>(18:08) - Library Watch: ArrowJS 1.0, Agent UI Framework</li>
<li>(19:48) - Library Watch: OxMgr, a Rust Port of PM2</li>
<li>(21:13) - Library Watch: AshTypeScript 0.16.0 with Typed Channels</li>
<li>(22:11) - Library Watch: Pathwrite, a TypeScript Workflow Builder</li>
<li>(24:14) - Library Watch: Reflow, Durable Workflows for TypeScript</li>
<li>(26:28) - Library Watch: Pretext, Measure Text in Pure TypeScript</li>
<li>(28:15) - Community: Hybrid Type-aware Linting Research by Auvred</li>
<li>(29:54) - Community: State of Flint, Spring 2026 by Josh Goldberg</li>
<li>(31:40) - Community: On Refactoring with Generic Types by Radoslaw Miernik</li>
<li>(32:44) - Community: Bridging the Client-Server Boundary with Signals by Jovi</li>
<li>(33:45) - Community: Building a JavaScript Engine with Claude Opus by Paulo Matos</li>
<li>(38:19) - Community: WebMCP vs. MCP by Chrome Dev Blog</li>
<li>(39:25) - Community: Remodel Your TS Code with Decorators by Michael Dowden</li>
<li>(40:22) - Community: Vitest Crash Course by Web Dev Simplified</li>
<li>(40:36) - Bleet of the Week</li>
<li>(40:52) - Secret of the Handbook: unique symbol</li>
<li>(42:52) - Cool Video: Understanding Complex Type Systems</li>
<li>(43:37) - Cool Video: The Weirdest Result of Relativity You've Never Heard Of</li>
<li>(45:02) - Cool Video: Watch Matt Pocock Implement a Feature with Claude Code</li>
<li>(46:46) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>Node.js: <a href="https://nodejs.org/en/blog/vulnerability/march-2026-security-releases">Node.js — Tuesday, March 24, 2026 Security Releases</a> </li><li>Aspire: <a href="https://devblogs.microsoft.com/aspire/aspire-13-2-announcement/">Announcing Aspire 13.2</a><ul><li>Josh Goldberg: <a href="https://www.youtube.com/watch?v=wJC3dJn0_8Q&amp;list=PLSi5JsxQ5oNvRCeQj5v6ZYUe1gwzTSUfR&amp;index=8">TypeScript + Aspire talk</a></li></ul></li><li>Firefox: <a href="https://www.firefox.com/en-US/firefox/149.0/releasenotes/">Firefox 149.0</a>, split tabs, free VPN</li><li>Replay: <a href="https://bsky.app/profile/acemarke.dev/post/3mhr67gbxgt2b">React Renders MCP tool for debugging</a></li><li>PSA: <a href="https://socket.dev/blog/axios-npm-package-compromised">Supply Chain Attack on Axios Pulls Malicious Dependency from npm</a> </li></ul><p><br></p><p><strong>Library Watch</strong></p><ul><li><a href="https://astro.build/blog/astro-610/">Astro 6.1</a> – highlights</li><li><a href="https://bsky.app/profile/jpschroeder.com/post/3mhqitj7d7s2u">Arrow.js</a>: TypeScript agent UI framework</li><li><a href="https://github.com/Vladimir-Urik/OxMgr">Vladimir-Urik/OxMgr</a>: Rust-alternative to PM2 process manager (language agnostic) </li><li>AshTypeScript 0.16.0: <a href="https://hexdocs.pm/ash_typescript/0.16.0/typed-channels.html">TypedChannels</a> (via <a href="https://bsky.app/profile/zachdaniel.dev/post/3mhrfcfochs2a">Zach Daniel</a>)</li><li><a href="https://bsky.app/profile/zx23.bsky.social/post/3mibhvj4da223">Pathwrite</a>: A TypeScript-first multi-step workflow builder for every framework</li><li><a href="https://danfry1.github.io/reflow-ts/">Reflow</a>: TypeScript workflow engine using SQLite</li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://github.com/chenglou/pretext">Pretext</a>: Text Layout in TypeScript (via <a href="https://bsky.app/profile/davidcrespo.bsky.social/post/3mi4xndiu6c22">conputer dipshit</a>)</li><li><a href="https://docs-golar.aauvred.workers.dev/blog/golar-gets-a-linter/">Golar gets a linter</a>  (via <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3mi5aid4am22b">Josh Goldberg</a>)</li><li>Auvred: <a href="https://bsky.app/profile/camchenry.com/post/3mhxy5pdyw22z">Hybrid type aware linting</a></li><li>Josh Goldberg: <a href="https://www.flint.fyi/blog/the-state-of-flint-2026-spring">State of Flint: Spring 2026</a> </li><li>Radosław Miernik: <a href="https://radekmie.dev/blog/on-refactoring-with-generic-types/">On Refactoring with Generic Types</a> </li><li>Jovide Croock: <a href="https://www.jovidecroock.com/blog/mixed-signals/">Bridging the Server-Client Boundary with Signals</a> (<a href="https://bsky.app/profile/jovidecroock.com/post/3mhqoydnshc2l">Bsky</a>)</li><li>Paulo Matos: <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3mhxaztyvas24">Agent builds a JS engine from scratch that passes test262 100%</a> (via Rob Palmer)</li><li>Chrome Dev Blog: <a href="https://developer.chrome.com/blog/webmcp-mcp-usage?hl=en">When to use WebMCP and MCP</a></li><li>Michael Dowden: <a href="https://javascript-conference.com/blog/remodel-typescript-code-with-decorators/">Remodel Your TypeScript Code with Decorators</a> </li><li>Web Dev Simplified: <a href="https://youtu.be/qtm3wjM2eGI?si=YH-3ugMqwn51ACzr">Vitest Crash Course</a></li><li><a href="https://bsky.app/profile/nexamind-cyd.bsky.social/post/3mhtnjz4iby2b">Bleet of the week</a></li><li>Secret of the Handbook: <a href="https://bsky.app/profile/sebastienlorber.com/post/3mhuqacqddk2h">Unique Symbols </a></li></ul><p><strong>Cool Links</strong></p><ul><li>Video: <a href="https://youtu.be/Mvam_zaOlu4?si=KRV4yypDa8IoebD6">Understanding complex type systems</a></li><li>Video: <a href="https://youtu.be/4dzQ2bq-HiI?si=x1BHYSbZwncvvrHz">Weirdest result of relativity you've never heard of</a></li><li>Video: <a href="https://www.aihero.dev/real-world-feature-build-with-claude-code">Real-world Claude building a feature step-by-step</a> (Matt Pocock)</li></ul><p><br></p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News for the week of <strong>March 23, 2026</strong>: Aspire 13.2 now supports TypeScript app hosts, Node.js security releases, and axios got got. From the community: Auvred's hybrid linting research, refactoring with generics, and sharing signals across the server-client boundary. Plus, using Claude to write a JS engine from scratch.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><br><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:29) - News: Node.js Security Fixes Available</li>
<li>(07:00) - News: Aspire 13.2 Brings TypeScript AppHost Support</li>
<li>(10:19) - News: Firefox 149 Adds Split View, Free VPN</li>
<li>(13:00) - News: Replay Adds React Render Debugging MCP Support</li>
<li>(13:55) - PSA: Axios Supply Chain Attack</li>
<li>(17:30) - Library Watch: Astro 6.1</li>
<li>(18:08) - Library Watch: ArrowJS 1.0, Agent UI Framework</li>
<li>(19:48) - Library Watch: OxMgr, a Rust Port of PM2</li>
<li>(21:13) - Library Watch: AshTypeScript 0.16.0 with Typed Channels</li>
<li>(22:11) - Library Watch: Pathwrite, a TypeScript Workflow Builder</li>
<li>(24:14) - Library Watch: Reflow, Durable Workflows for TypeScript</li>
<li>(26:28) - Library Watch: Pretext, Measure Text in Pure TypeScript</li>
<li>(28:15) - Community: Hybrid Type-aware Linting Research by Auvred</li>
<li>(29:54) - Community: State of Flint, Spring 2026 by Josh Goldberg</li>
<li>(31:40) - Community: On Refactoring with Generic Types by Radoslaw Miernik</li>
<li>(32:44) - Community: Bridging the Client-Server Boundary with Signals by Jovi</li>
<li>(33:45) - Community: Building a JavaScript Engine with Claude Opus by Paulo Matos</li>
<li>(38:19) - Community: WebMCP vs. MCP by Chrome Dev Blog</li>
<li>(39:25) - Community: Remodel Your TS Code with Decorators by Michael Dowden</li>
<li>(40:22) - Community: Vitest Crash Course by Web Dev Simplified</li>
<li>(40:36) - Bleet of the Week</li>
<li>(40:52) - Secret of the Handbook: unique symbol</li>
<li>(42:52) - Cool Video: Understanding Complex Type Systems</li>
<li>(43:37) - Cool Video: The Weirdest Result of Relativity You've Never Heard Of</li>
<li>(45:02) - Cool Video: Watch Matt Pocock Implement a Feature with Claude Code</li>
<li>(46:46) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>Node.js: <a href="https://nodejs.org/en/blog/vulnerability/march-2026-security-releases">Node.js — Tuesday, March 24, 2026 Security Releases</a> </li><li>Aspire: <a href="https://devblogs.microsoft.com/aspire/aspire-13-2-announcement/">Announcing Aspire 13.2</a><ul><li>Josh Goldberg: <a href="https://www.youtube.com/watch?v=wJC3dJn0_8Q&amp;list=PLSi5JsxQ5oNvRCeQj5v6ZYUe1gwzTSUfR&amp;index=8">TypeScript + Aspire talk</a></li></ul></li><li>Firefox: <a href="https://www.firefox.com/en-US/firefox/149.0/releasenotes/">Firefox 149.0</a>, split tabs, free VPN</li><li>Replay: <a href="https://bsky.app/profile/acemarke.dev/post/3mhr67gbxgt2b">React Renders MCP tool for debugging</a></li><li>PSA: <a href="https://socket.dev/blog/axios-npm-package-compromised">Supply Chain Attack on Axios Pulls Malicious Dependency from npm</a> </li></ul><p><br></p><p><strong>Library Watch</strong></p><ul><li><a href="https://astro.build/blog/astro-610/">Astro 6.1</a> – highlights</li><li><a href="https://bsky.app/profile/jpschroeder.com/post/3mhqitj7d7s2u">Arrow.js</a>: TypeScript agent UI framework</li><li><a href="https://github.com/Vladimir-Urik/OxMgr">Vladimir-Urik/OxMgr</a>: Rust-alternative to PM2 process manager (language agnostic) </li><li>AshTypeScript 0.16.0: <a href="https://hexdocs.pm/ash_typescript/0.16.0/typed-channels.html">TypedChannels</a> (via <a href="https://bsky.app/profile/zachdaniel.dev/post/3mhrfcfochs2a">Zach Daniel</a>)</li><li><a href="https://bsky.app/profile/zx23.bsky.social/post/3mibhvj4da223">Pathwrite</a>: A TypeScript-first multi-step workflow builder for every framework</li><li><a href="https://danfry1.github.io/reflow-ts/">Reflow</a>: TypeScript workflow engine using SQLite</li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://github.com/chenglou/pretext">Pretext</a>: Text Layout in TypeScript (via <a href="https://bsky.app/profile/davidcrespo.bsky.social/post/3mi4xndiu6c22">conputer dipshit</a>)</li><li><a href="https://docs-golar.aauvred.workers.dev/blog/golar-gets-a-linter/">Golar gets a linter</a>  (via <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3mi5aid4am22b">Josh Goldberg</a>)</li><li>Auvred: <a href="https://bsky.app/profile/camchenry.com/post/3mhxy5pdyw22z">Hybrid type aware linting</a></li><li>Josh Goldberg: <a href="https://www.flint.fyi/blog/the-state-of-flint-2026-spring">State of Flint: Spring 2026</a> </li><li>Radosław Miernik: <a href="https://radekmie.dev/blog/on-refactoring-with-generic-types/">On Refactoring with Generic Types</a> </li><li>Jovide Croock: <a href="https://www.jovidecroock.com/blog/mixed-signals/">Bridging the Server-Client Boundary with Signals</a> (<a href="https://bsky.app/profile/jovidecroock.com/post/3mhqoydnshc2l">Bsky</a>)</li><li>Paulo Matos: <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3mhxaztyvas24">Agent builds a JS engine from scratch that passes test262 100%</a> (via Rob Palmer)</li><li>Chrome Dev Blog: <a href="https://developer.chrome.com/blog/webmcp-mcp-usage?hl=en">When to use WebMCP and MCP</a></li><li>Michael Dowden: <a href="https://javascript-conference.com/blog/remodel-typescript-code-with-decorators/">Remodel Your TypeScript Code with Decorators</a> </li><li>Web Dev Simplified: <a href="https://youtu.be/qtm3wjM2eGI?si=YH-3ugMqwn51ACzr">Vitest Crash Course</a></li><li><a href="https://bsky.app/profile/nexamind-cyd.bsky.social/post/3mhtnjz4iby2b">Bleet of the week</a></li><li>Secret of the Handbook: <a href="https://bsky.app/profile/sebastienlorber.com/post/3mhuqacqddk2h">Unique Symbols </a></li></ul><p><strong>Cool Links</strong></p><ul><li>Video: <a href="https://youtu.be/Mvam_zaOlu4?si=KRV4yypDa8IoebD6">Understanding complex type systems</a></li><li>Video: <a href="https://youtu.be/4dzQ2bq-HiI?si=x1BHYSbZwncvvrHz">Weirdest result of relativity you've never heard of</a></li><li>Video: <a href="https://www.aihero.dev/real-world-feature-build-with-claude-code">Real-world Claude building a feature step-by-step</a> (Matt Pocock)</li></ul><p><br></p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Tue, 31 Mar 2026 22:00:59 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/ed97218f/1ab48888.mp3" length="24164790" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>3015</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News for the week of <strong>March 23, 2026</strong>: Aspire 13.2 now supports TypeScript app hosts, Node.js security releases, and axios got got. From the community: Auvred's hybrid linting research, refactoring with generics, and sharing signals across the server-client boundary. Plus, using Claude to write a JS engine from scratch.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><br><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:29) - News: Node.js Security Fixes Available</li>
<li>(07:00) - News: Aspire 13.2 Brings TypeScript AppHost Support</li>
<li>(10:19) - News: Firefox 149 Adds Split View, Free VPN</li>
<li>(13:00) - News: Replay Adds React Render Debugging MCP Support</li>
<li>(13:55) - PSA: Axios Supply Chain Attack</li>
<li>(17:30) - Library Watch: Astro 6.1</li>
<li>(18:08) - Library Watch: ArrowJS 1.0, Agent UI Framework</li>
<li>(19:48) - Library Watch: OxMgr, a Rust Port of PM2</li>
<li>(21:13) - Library Watch: AshTypeScript 0.16.0 with Typed Channels</li>
<li>(22:11) - Library Watch: Pathwrite, a TypeScript Workflow Builder</li>
<li>(24:14) - Library Watch: Reflow, Durable Workflows for TypeScript</li>
<li>(26:28) - Library Watch: Pretext, Measure Text in Pure TypeScript</li>
<li>(28:15) - Community: Hybrid Type-aware Linting Research by Auvred</li>
<li>(29:54) - Community: State of Flint, Spring 2026 by Josh Goldberg</li>
<li>(31:40) - Community: On Refactoring with Generic Types by Radoslaw Miernik</li>
<li>(32:44) - Community: Bridging the Client-Server Boundary with Signals by Jovi</li>
<li>(33:45) - Community: Building a JavaScript Engine with Claude Opus by Paulo Matos</li>
<li>(38:19) - Community: WebMCP vs. MCP by Chrome Dev Blog</li>
<li>(39:25) - Community: Remodel Your TS Code with Decorators by Michael Dowden</li>
<li>(40:22) - Community: Vitest Crash Course by Web Dev Simplified</li>
<li>(40:36) - Bleet of the Week</li>
<li>(40:52) - Secret of the Handbook: unique symbol</li>
<li>(42:52) - Cool Video: Understanding Complex Type Systems</li>
<li>(43:37) - Cool Video: The Weirdest Result of Relativity You've Never Heard Of</li>
<li>(45:02) - Cool Video: Watch Matt Pocock Implement a Feature with Claude Code</li>
<li>(46:46) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>Node.js: <a href="https://nodejs.org/en/blog/vulnerability/march-2026-security-releases">Node.js — Tuesday, March 24, 2026 Security Releases</a> </li><li>Aspire: <a href="https://devblogs.microsoft.com/aspire/aspire-13-2-announcement/">Announcing Aspire 13.2</a><ul><li>Josh Goldberg: <a href="https://www.youtube.com/watch?v=wJC3dJn0_8Q&amp;list=PLSi5JsxQ5oNvRCeQj5v6ZYUe1gwzTSUfR&amp;index=8">TypeScript + Aspire talk</a></li></ul></li><li>Firefox: <a href="https://www.firefox.com/en-US/firefox/149.0/releasenotes/">Firefox 149.0</a>, split tabs, free VPN</li><li>Replay: <a href="https://bsky.app/profile/acemarke.dev/post/3mhr67gbxgt2b">React Renders MCP tool for debugging</a></li><li>PSA: <a href="https://socket.dev/blog/axios-npm-package-compromised">Supply Chain Attack on Axios Pulls Malicious Dependency from npm</a> </li></ul><p><br></p><p><strong>Library Watch</strong></p><ul><li><a href="https://astro.build/blog/astro-610/">Astro 6.1</a> – highlights</li><li><a href="https://bsky.app/profile/jpschroeder.com/post/3mhqitj7d7s2u">Arrow.js</a>: TypeScript agent UI framework</li><li><a href="https://github.com/Vladimir-Urik/OxMgr">Vladimir-Urik/OxMgr</a>: Rust-alternative to PM2 process manager (language agnostic) </li><li>AshTypeScript 0.16.0: <a href="https://hexdocs.pm/ash_typescript/0.16.0/typed-channels.html">TypedChannels</a> (via <a href="https://bsky.app/profile/zachdaniel.dev/post/3mhrfcfochs2a">Zach Daniel</a>)</li><li><a href="https://bsky.app/profile/zx23.bsky.social/post/3mibhvj4da223">Pathwrite</a>: A TypeScript-first multi-step workflow builder for every framework</li><li><a href="https://danfry1.github.io/reflow-ts/">Reflow</a>: TypeScript workflow engine using SQLite</li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://github.com/chenglou/pretext">Pretext</a>: Text Layout in TypeScript (via <a href="https://bsky.app/profile/davidcrespo.bsky.social/post/3mi4xndiu6c22">conputer dipshit</a>)</li><li><a href="https://docs-golar.aauvred.workers.dev/blog/golar-gets-a-linter/">Golar gets a linter</a>  (via <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3mi5aid4am22b">Josh Goldberg</a>)</li><li>Auvred: <a href="https://bsky.app/profile/camchenry.com/post/3mhxy5pdyw22z">Hybrid type aware linting</a></li><li>Josh Goldberg: <a href="https://www.flint.fyi/blog/the-state-of-flint-2026-spring">State of Flint: Spring 2026</a> </li><li>Radosław Miernik: <a href="https://radekmie.dev/blog/on-refactoring-with-generic-types/">On Refactoring with Generic Types</a> </li><li>Jovide Croock: <a href="https://www.jovidecroock.com/blog/mixed-signals/">Bridging the Server-Client Boundary with Signals</a> (<a href="https://bsky.app/profile/jovidecroock.com/post/3mhqoydnshc2l">Bsky</a>)</li><li>Paulo Matos: <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3mhxaztyvas24">Agent builds a JS engine from scratch that passes test262 100%</a> (via Rob Palmer)</li><li>Chrome Dev Blog: <a href="https://developer.chrome.com/blog/webmcp-mcp-usage?hl=en">When to use WebMCP and MCP</a></li><li>Michael Dowden: <a href="https://javascript-conference.com/blog/remodel-typescript-code-with-decorators/">Remodel Your TypeScript Code with Decorators</a> </li><li>Web Dev Simplified: <a href="https://youtu.be/qtm3wjM2eGI?si=YH-3ugMqwn51ACzr">Vitest Crash Course</a></li><li><a href="https://bsky.app/profile/nexamind-cyd.bsky.social/post/3mhtnjz4iby2b">Bleet of the week</a></li><li>Secret of the Handbook: <a href="https://bsky.app/profile/sebastienlorber.com/post/3mhuqacqddk2h">Unique Symbols </a></li></ul><p><strong>Cool Links</strong></p><ul><li>Video: <a href="https://youtu.be/Mvam_zaOlu4?si=KRV4yypDa8IoebD6">Understanding complex type systems</a></li><li>Video: <a href="https://youtu.be/4dzQ2bq-HiI?si=x1BHYSbZwncvvrHz">Weirdest result of relativity you've never heard of</a></li><li>Video: <a href="https://www.aihero.dev/real-world-feature-build-with-claude-code">Real-world Claude building a feature step-by-step</a> (Matt Pocock)</li></ul><p><br></p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/ed97218f/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>TypeScript 6.0 is Official, Reducing Dependency Bloat, and a Zig-based Runtime | News | Ep 60</title>
      <itunes:episode>60</itunes:episode>
      <podcast:episode>60</podcast:episode>
      <itunes:title>TypeScript 6.0 is Official, Reducing Dependency Bloat, and a Zig-based Runtime | News | Ep 60</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">868d3bfd-cd20-4174-99b0-57aec657ebdc</guid>
      <link>https://share.transistor.fm/s/397bfb39</link>
      <description>
        <![CDATA[<p>News for the week of <strong>March 16, 2026</strong>: TypeScript 6.0 is stable and released, Next 16.2 is better for agents, and SolidStart V2 is coming soon. From the community: bloat in JavaScript projects (and what to do about it), a TypeScript CLI framework, and why Node.js needs a VFS and a better streams API.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><br><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:35) - News: TypeScript 6.0 is Officially Out</li>
<li>(07:36) - News: Meta Ports Flow to Rust</li>
<li>(08:54) - News: Next.js 16.2 is Better for Agents</li>
<li>(10:51) - News: Nuxt 4.4 Brings Custom Data Factories, Vue Router 5</li>
<li>(11:36) - News: SolidStart V2 Gets a Roadmap Update and Beta</li>
<li>(12:47) - News: Layoffs at Deno, Talented People for Hire</li>
<li>(13:16) - PSA: Node.js Security Releases for Tuesday, March 24, 2026</li>
<li>(13:49) - Library Watch: e18e Helps Identify Removable Dependencies</li>
<li>(15:35) - Library Watch: Knip v6 Gets 2-4x Faster</li>
<li>(16:33) - Library Watch: ZigTTP TypeScript Runtime in Zig</li>
<li>(20:36) - Library Watch: CrustJS, a Bun-native Framework for Building CLIs</li>
<li>(21:56) - Library Watch: numpy-ts Gets 8-10X Faster</li>
<li>(23:51) - Community: Three Pillars of JS Bloat by James Garbutt</li>
<li>(27:40) - Community: Rob Palmer Accepts Emca Recognition Award</li>
<li>(28:22) - Community: Why Node.js Needs a VFS by Matteo Collina</li>
<li>(29:41) - Community: JavaScript Needs a Better Streams API by James Schnell</li>
<li>(30:23) - Community: Tales from the Void Launch Week Recap</li>
<li>(32:10) - Community: OpenUI Rewrites Rust WASM Parser in TypeScript</li>
<li>(33:43) - Community: Animate Code Snippets by Joy of Code</li>
<li>(34:04) - Bleet of the Week</li>
<li>(34:21) - Cool Link: Customizable Selects by Jake Archibald</li>
<li>(34:58) - Cool Read: Ultimate Guide to Rebuilding Civilization</li>
<li>(35:50) - Cool Activity: Live Armored Combat</li>
<li>(37:38) - The Minnesota Long Goodnight</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/">Announcing TypeScript 6.0</a> </li><li>Meta: <a href="https://bsky.app/profile/searyanc.dev/post/3mhgljisz7c2n">Flow gets a Rust port</a></li><li><a href="https://nextjs.org/blog/next-16-2-ai">Next.js 16.2: AI Improvements</a></li><li><a href="https://nuxt.com/blog/v4-4">Nuxt 4.4</a></li><li><a href="https://github.com/solidjs/solid-start/discussions/2119">SolidStart v2 roadmap</a></li><li>PSA: <a href="https://nodejs.org/en/blog/vulnerability/march-2026-security-releases">Node.js Tuesday, March 24 security release</a></li></ul><p><strong>Library Watch</strong></p><ul><li><a href="https://e18e.dev/">e18e</a> CLI: Analyze and replace dependencies to reduce bloat</li><li><a href="https://knip.dev/blog/knip-v6">Knip v6</a>: 2-4x faster than v5 (via <a href="https://bsky.app/profile/webpro.nl/post/3mhhygtwv4c2p">Lars </a><a href="http://webpro.nl">webpro.nl</a>)</li><li><a href="https://zigttp.timok.deno.net/">zigttp</a>: A TypeScript runtime written in Zig (via <a href="https://bsky.app/profile/djidja8.bsky.social/post/3mho2sxhqfk2c">djidja8.bsky.social</a>)</li><li><a href="https://crustjs.com/">Crustjs</a>: A TypeScript-first Bun-native CLI framework (va <a href="https://bsky.app/profile/sungkim.bsky.social/post/3mhbqu2tmrc2j">sungkim</a>)</li><li>numpy-ts: <a href="https://www.reddit.com/r/typescript/comments/1rz5pj7/numpyts_is_now_810x_faster_with_wasm/">numpy-ts is now 8-10x faster with WASM : r/typescript</a> </li></ul><p><strong>From the Community</strong></p><ul><li>James Garbutt: <a href="https://43081j.com/2026/03/three-pillars-of-javascript-bloat">The Three Pillars of JavaScript Bloat</a> </li><li>Rob Palmer: <a href="https://bsky.app/profile/tc39.es/post/3mhiriagtvs2f">accepts Ecma Recognition award</a></li><li>Matteo Collina: <a href="https://blog.platformatic.dev/why-nodejs-needs-a-virtual-file-system">Why Node.js Needs a Virtual File System</a><ul><li><a href="https://bsky.app/profile/nodeland.dev/post/3mhqjtteqku2v">Listen to the Nodeland Banter episode</a></li></ul></li><li>James Snell: <a href="https://blog.cloudflare.com/a-better-web-streams-api/">We deserve a better streams API for JavaScript</a><ul><li>Thread and PR:  <a href="https://bsky.app/profile/jasnell.me/post/3mhepts4ksk2f">Experimental streams in node</a> </li></ul></li><li>VoidZero: <a href="https://voidzero.dev/posts/whats-new-march-launch-week-2026">Tales from the Void: March Launch Week Recap | VoidZero</a> </li><li>OpenUI: <a href="https://www.openui.com/blog/rust-wasm-parser">Rewriting our Rust WASM Parser in TypeScript</a><ul><li>Related: <a href="https://www.kunalganglani.com/blog/rust-wasm-vs-typescript-performance">Rust WASM vs. TS performance</a></li></ul></li><li>Joy of Code: <a href="https://www.youtube.com/watch?v=wGf0PUlOQoA">How To Animate Code Using TypeScript 🪄</a></li><li><a href="https://bsky.app/profile/searyanc.dev/post/3mhqjmsuyls2d">Bleet of the week</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Book: <a href="https://www.amazon.com/Book-Ultimate-Guide-Rebuilding-Civilization/dp/B0CJCKGRW1">The Ultimate Guide to Rebuilding a Civilization</a> </li><li>Jake Archibald: <a href="https://bsky.app/profile/jakearchibald.com/post/3mhftvspuhc24">Customizable &lt;select&gt; element</a></li><li><a href="https://www.mn-armored-combat.org/">MN Armored Combat</a> – enjoy the full-force contact sport of <a href="https://newsinteractives.cbc.ca/longform/buhurt-a-chaotic-mash-of-metal/">Buhurt</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News for the week of <strong>March 16, 2026</strong>: TypeScript 6.0 is stable and released, Next 16.2 is better for agents, and SolidStart V2 is coming soon. From the community: bloat in JavaScript projects (and what to do about it), a TypeScript CLI framework, and why Node.js needs a VFS and a better streams API.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><br><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:35) - News: TypeScript 6.0 is Officially Out</li>
<li>(07:36) - News: Meta Ports Flow to Rust</li>
<li>(08:54) - News: Next.js 16.2 is Better for Agents</li>
<li>(10:51) - News: Nuxt 4.4 Brings Custom Data Factories, Vue Router 5</li>
<li>(11:36) - News: SolidStart V2 Gets a Roadmap Update and Beta</li>
<li>(12:47) - News: Layoffs at Deno, Talented People for Hire</li>
<li>(13:16) - PSA: Node.js Security Releases for Tuesday, March 24, 2026</li>
<li>(13:49) - Library Watch: e18e Helps Identify Removable Dependencies</li>
<li>(15:35) - Library Watch: Knip v6 Gets 2-4x Faster</li>
<li>(16:33) - Library Watch: ZigTTP TypeScript Runtime in Zig</li>
<li>(20:36) - Library Watch: CrustJS, a Bun-native Framework for Building CLIs</li>
<li>(21:56) - Library Watch: numpy-ts Gets 8-10X Faster</li>
<li>(23:51) - Community: Three Pillars of JS Bloat by James Garbutt</li>
<li>(27:40) - Community: Rob Palmer Accepts Emca Recognition Award</li>
<li>(28:22) - Community: Why Node.js Needs a VFS by Matteo Collina</li>
<li>(29:41) - Community: JavaScript Needs a Better Streams API by James Schnell</li>
<li>(30:23) - Community: Tales from the Void Launch Week Recap</li>
<li>(32:10) - Community: OpenUI Rewrites Rust WASM Parser in TypeScript</li>
<li>(33:43) - Community: Animate Code Snippets by Joy of Code</li>
<li>(34:04) - Bleet of the Week</li>
<li>(34:21) - Cool Link: Customizable Selects by Jake Archibald</li>
<li>(34:58) - Cool Read: Ultimate Guide to Rebuilding Civilization</li>
<li>(35:50) - Cool Activity: Live Armored Combat</li>
<li>(37:38) - The Minnesota Long Goodnight</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/">Announcing TypeScript 6.0</a> </li><li>Meta: <a href="https://bsky.app/profile/searyanc.dev/post/3mhgljisz7c2n">Flow gets a Rust port</a></li><li><a href="https://nextjs.org/blog/next-16-2-ai">Next.js 16.2: AI Improvements</a></li><li><a href="https://nuxt.com/blog/v4-4">Nuxt 4.4</a></li><li><a href="https://github.com/solidjs/solid-start/discussions/2119">SolidStart v2 roadmap</a></li><li>PSA: <a href="https://nodejs.org/en/blog/vulnerability/march-2026-security-releases">Node.js Tuesday, March 24 security release</a></li></ul><p><strong>Library Watch</strong></p><ul><li><a href="https://e18e.dev/">e18e</a> CLI: Analyze and replace dependencies to reduce bloat</li><li><a href="https://knip.dev/blog/knip-v6">Knip v6</a>: 2-4x faster than v5 (via <a href="https://bsky.app/profile/webpro.nl/post/3mhhygtwv4c2p">Lars </a><a href="http://webpro.nl">webpro.nl</a>)</li><li><a href="https://zigttp.timok.deno.net/">zigttp</a>: A TypeScript runtime written in Zig (via <a href="https://bsky.app/profile/djidja8.bsky.social/post/3mho2sxhqfk2c">djidja8.bsky.social</a>)</li><li><a href="https://crustjs.com/">Crustjs</a>: A TypeScript-first Bun-native CLI framework (va <a href="https://bsky.app/profile/sungkim.bsky.social/post/3mhbqu2tmrc2j">sungkim</a>)</li><li>numpy-ts: <a href="https://www.reddit.com/r/typescript/comments/1rz5pj7/numpyts_is_now_810x_faster_with_wasm/">numpy-ts is now 8-10x faster with WASM : r/typescript</a> </li></ul><p><strong>From the Community</strong></p><ul><li>James Garbutt: <a href="https://43081j.com/2026/03/three-pillars-of-javascript-bloat">The Three Pillars of JavaScript Bloat</a> </li><li>Rob Palmer: <a href="https://bsky.app/profile/tc39.es/post/3mhiriagtvs2f">accepts Ecma Recognition award</a></li><li>Matteo Collina: <a href="https://blog.platformatic.dev/why-nodejs-needs-a-virtual-file-system">Why Node.js Needs a Virtual File System</a><ul><li><a href="https://bsky.app/profile/nodeland.dev/post/3mhqjtteqku2v">Listen to the Nodeland Banter episode</a></li></ul></li><li>James Snell: <a href="https://blog.cloudflare.com/a-better-web-streams-api/">We deserve a better streams API for JavaScript</a><ul><li>Thread and PR:  <a href="https://bsky.app/profile/jasnell.me/post/3mhepts4ksk2f">Experimental streams in node</a> </li></ul></li><li>VoidZero: <a href="https://voidzero.dev/posts/whats-new-march-launch-week-2026">Tales from the Void: March Launch Week Recap | VoidZero</a> </li><li>OpenUI: <a href="https://www.openui.com/blog/rust-wasm-parser">Rewriting our Rust WASM Parser in TypeScript</a><ul><li>Related: <a href="https://www.kunalganglani.com/blog/rust-wasm-vs-typescript-performance">Rust WASM vs. TS performance</a></li></ul></li><li>Joy of Code: <a href="https://www.youtube.com/watch?v=wGf0PUlOQoA">How To Animate Code Using TypeScript 🪄</a></li><li><a href="https://bsky.app/profile/searyanc.dev/post/3mhqjmsuyls2d">Bleet of the week</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Book: <a href="https://www.amazon.com/Book-Ultimate-Guide-Rebuilding-Civilization/dp/B0CJCKGRW1">The Ultimate Guide to Rebuilding a Civilization</a> </li><li>Jake Archibald: <a href="https://bsky.app/profile/jakearchibald.com/post/3mhftvspuhc24">Customizable &lt;select&gt; element</a></li><li><a href="https://www.mn-armored-combat.org/">MN Armored Combat</a> – enjoy the full-force contact sport of <a href="https://newsinteractives.cbc.ca/longform/buhurt-a-chaotic-mash-of-metal/">Buhurt</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Tue, 24 Mar 2026 10:21:03 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/397bfb39/598decff.mp3" length="21872093" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2729</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News for the week of <strong>March 16, 2026</strong>: TypeScript 6.0 is stable and released, Next 16.2 is better for agents, and SolidStart V2 is coming soon. From the community: bloat in JavaScript projects (and what to do about it), a TypeScript CLI framework, and why Node.js needs a VFS and a better streams API.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><br><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:35) - News: TypeScript 6.0 is Officially Out</li>
<li>(07:36) - News: Meta Ports Flow to Rust</li>
<li>(08:54) - News: Next.js 16.2 is Better for Agents</li>
<li>(10:51) - News: Nuxt 4.4 Brings Custom Data Factories, Vue Router 5</li>
<li>(11:36) - News: SolidStart V2 Gets a Roadmap Update and Beta</li>
<li>(12:47) - News: Layoffs at Deno, Talented People for Hire</li>
<li>(13:16) - PSA: Node.js Security Releases for Tuesday, March 24, 2026</li>
<li>(13:49) - Library Watch: e18e Helps Identify Removable Dependencies</li>
<li>(15:35) - Library Watch: Knip v6 Gets 2-4x Faster</li>
<li>(16:33) - Library Watch: ZigTTP TypeScript Runtime in Zig</li>
<li>(20:36) - Library Watch: CrustJS, a Bun-native Framework for Building CLIs</li>
<li>(21:56) - Library Watch: numpy-ts Gets 8-10X Faster</li>
<li>(23:51) - Community: Three Pillars of JS Bloat by James Garbutt</li>
<li>(27:40) - Community: Rob Palmer Accepts Emca Recognition Award</li>
<li>(28:22) - Community: Why Node.js Needs a VFS by Matteo Collina</li>
<li>(29:41) - Community: JavaScript Needs a Better Streams API by James Schnell</li>
<li>(30:23) - Community: Tales from the Void Launch Week Recap</li>
<li>(32:10) - Community: OpenUI Rewrites Rust WASM Parser in TypeScript</li>
<li>(33:43) - Community: Animate Code Snippets by Joy of Code</li>
<li>(34:04) - Bleet of the Week</li>
<li>(34:21) - Cool Link: Customizable Selects by Jake Archibald</li>
<li>(34:58) - Cool Read: Ultimate Guide to Rebuilding Civilization</li>
<li>(35:50) - Cool Activity: Live Armored Combat</li>
<li>(37:38) - The Minnesota Long Goodnight</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/">Announcing TypeScript 6.0</a> </li><li>Meta: <a href="https://bsky.app/profile/searyanc.dev/post/3mhgljisz7c2n">Flow gets a Rust port</a></li><li><a href="https://nextjs.org/blog/next-16-2-ai">Next.js 16.2: AI Improvements</a></li><li><a href="https://nuxt.com/blog/v4-4">Nuxt 4.4</a></li><li><a href="https://github.com/solidjs/solid-start/discussions/2119">SolidStart v2 roadmap</a></li><li>PSA: <a href="https://nodejs.org/en/blog/vulnerability/march-2026-security-releases">Node.js Tuesday, March 24 security release</a></li></ul><p><strong>Library Watch</strong></p><ul><li><a href="https://e18e.dev/">e18e</a> CLI: Analyze and replace dependencies to reduce bloat</li><li><a href="https://knip.dev/blog/knip-v6">Knip v6</a>: 2-4x faster than v5 (via <a href="https://bsky.app/profile/webpro.nl/post/3mhhygtwv4c2p">Lars </a><a href="http://webpro.nl">webpro.nl</a>)</li><li><a href="https://zigttp.timok.deno.net/">zigttp</a>: A TypeScript runtime written in Zig (via <a href="https://bsky.app/profile/djidja8.bsky.social/post/3mho2sxhqfk2c">djidja8.bsky.social</a>)</li><li><a href="https://crustjs.com/">Crustjs</a>: A TypeScript-first Bun-native CLI framework (va <a href="https://bsky.app/profile/sungkim.bsky.social/post/3mhbqu2tmrc2j">sungkim</a>)</li><li>numpy-ts: <a href="https://www.reddit.com/r/typescript/comments/1rz5pj7/numpyts_is_now_810x_faster_with_wasm/">numpy-ts is now 8-10x faster with WASM : r/typescript</a> </li></ul><p><strong>From the Community</strong></p><ul><li>James Garbutt: <a href="https://43081j.com/2026/03/three-pillars-of-javascript-bloat">The Three Pillars of JavaScript Bloat</a> </li><li>Rob Palmer: <a href="https://bsky.app/profile/tc39.es/post/3mhiriagtvs2f">accepts Ecma Recognition award</a></li><li>Matteo Collina: <a href="https://blog.platformatic.dev/why-nodejs-needs-a-virtual-file-system">Why Node.js Needs a Virtual File System</a><ul><li><a href="https://bsky.app/profile/nodeland.dev/post/3mhqjtteqku2v">Listen to the Nodeland Banter episode</a></li></ul></li><li>James Snell: <a href="https://blog.cloudflare.com/a-better-web-streams-api/">We deserve a better streams API for JavaScript</a><ul><li>Thread and PR:  <a href="https://bsky.app/profile/jasnell.me/post/3mhepts4ksk2f">Experimental streams in node</a> </li></ul></li><li>VoidZero: <a href="https://voidzero.dev/posts/whats-new-march-launch-week-2026">Tales from the Void: March Launch Week Recap | VoidZero</a> </li><li>OpenUI: <a href="https://www.openui.com/blog/rust-wasm-parser">Rewriting our Rust WASM Parser in TypeScript</a><ul><li>Related: <a href="https://www.kunalganglani.com/blog/rust-wasm-vs-typescript-performance">Rust WASM vs. TS performance</a></li></ul></li><li>Joy of Code: <a href="https://www.youtube.com/watch?v=wGf0PUlOQoA">How To Animate Code Using TypeScript 🪄</a></li><li><a href="https://bsky.app/profile/searyanc.dev/post/3mhqjmsuyls2d">Bleet of the week</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Book: <a href="https://www.amazon.com/Book-Ultimate-Guide-Rebuilding-Civilization/dp/B0CJCKGRW1">The Ultimate Guide to Rebuilding a Civilization</a> </li><li>Jake Archibald: <a href="https://bsky.app/profile/jakearchibald.com/post/3mhftvspuhc24">Customizable &lt;select&gt; element</a></li><li><a href="https://www.mn-armored-combat.org/">MN Armored Combat</a> – enjoy the full-force contact sport of <a href="https://newsinteractives.cbc.ca/longform/buhurt-a-chaotic-mash-of-metal/">Buhurt</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/397bfb39/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Vite 8, Vite+, Void, and How Well AI Plays Runescape | News | Ep 59</title>
      <itunes:episode>59</itunes:episode>
      <podcast:episode>59</podcast:episode>
      <itunes:title>Vite 8, Vite+, Void, and How Well AI Plays Runescape | News | Ep 59</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">44ffb6b9-c83d-4e09-b15c-f05568761b92</guid>
      <link>https://share.transistor.fm/s/9e12b228</link>
      <description>
        <![CDATA[<p>News for the week of <strong>March 9, 2026</strong>: it's VoidZero all the way down, seriously. From the community: TanStack makes hotkeys simple, plus how good are AI agents at playing Runescape?</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><br><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:53) - News: Vite 8 is Here!</li>
<li>(11:18) - News: Vite+ Alpha is Free and Open Source</li>
<li>(16:12) - News: VoidZero Launches void.cloud to Deploy Your Vite App</li>
<li>(20:17) - PSA: Hold Onto Your Butts for More Node Security Releases</li>
<li>(21:27) - Library Watch: Vitest 4.1 Adds Test Tags</li>
<li>(23:56) - Library Watch: Video.js v10 Beta</li>
<li>(26:06) - Library Watch: Effect v4 Beta</li>
<li>(28:07) - Library Watch: SyncPack v14 Syncs Monorepo Deps</li>
<li>(30:03) - Library Watch: angular-doctor Checks Health of Angular Apps</li>
<li>(30:56) - Community Highlights: Rust-like Error Handling in TS</li>
<li>(32:51) - Community Highlight: TanStack Hotkeys by Web Dev Simplified</li>
<li>(33:59) - Community Highlight: QR Code Engine in TS by Adam Surgenor</li>
<li>(34:44) - Community Highlight: Modern TypeScript Packaging by Francois Best</li>
<li>(35:31) - Community Highlight: Runebench Scores AI Agents on How Well They Play Runescape</li>
<li>(38:08) - Community Highlight: How Go Devs See TS 7 by Cup O Go</li>
<li>(39:16) - Bleets of the Week</li>
<li>(40:23) - Cool Link: Calculate Pi from Coin Flips by Stand-up Maths</li>
<li>(41:14) - Cool Link: Pi in the Sky Game by Coding Train</li>
<li>(41:37) - Cool Tool: Overtype, a Hassle-free Markdown Editor</li>
<li>(43:35) - The Minnesota Long Good Night</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://vite.dev/blog/announcing-vite8">Vite 8 is out!</a></li><li><a href="https://youtu.be/AJxH3Gvb-PU?si=s2g3DatT5a4BG3bZ">Vite+ is OPEN SOURCE and FREE!</a></li><li><a href="https://void.cloud/?ref=announcement-yt">VOID Cloud</a></li><li>PSA: <a href="https://nodejs.org/en/blog/vulnerability/march-2026-security-releases">Prep for Node.js March 24 security releases</a></li></ul><p><strong>Library Watch</strong></p><ul><li><a href="https://vitest.dev/blog/vitest-4-1.html">Vitest 4.1 is out</a>: test tags!</li><li><a href="https://videojs.org/blog/videojs-v10-beta-hello-world-again">Video.js v10 Beta: Hello, World (again)</a>: 88% smaller bundle size</li><li><a href="https://effect.website/blog/releases/effect/40-beta/">Effect v4 Beta</a>: 71% smaller bundle size</li><li><a href="https://syncpack.dev/">Syncpack v14</a>:  Dependency sync CLI for monorepos </li><li><a href="https://github.com/antonygiomarxdev/angular-doctor">antonygiomarxdev/angular-doctor</a>: health-checker CLI for Angular apps</li></ul><p><strong>From the Community</strong></p><ul><li>Abid Omar: <a href="https://codeinput.com/blog/typescript-result">Rust-like Error Handling in TypeScript</a></li><li>Web Dev Simplified: <a href="https://youtu.be/S26VdcWQzRQ?si=jznX9rWzDiQ7mUZU">NEW Tanstack Hotkeys Library is Amazing</a> </li><li>Adam Surgenor: <a href="https://bsky.app/profile/adsurg.bsky.social/post/3mgsuyksivs2t">QR Code Generator in TS</a></li><li>François Best: <a href="https://www.youtube.com/watch?v=h5TKlpRZPzI">Modern TypeScript packaging</a> (French Language)</li><li><a href="https://maxbittker.github.io/runebench/">RuneBench</a>: Evaluates AI agents by playing RuneScape</li><li>Cup O’ Go: <a href="https://share.transistor.fm/s/ea3f61f9#t=20m7s">Go Devs Talk About TypeScript 7</a></li><li>Bleets of the Week: <ul><li><a href="https://bsky.app/profile/savannah.dev/post/3mgrca4xbuk24">This is how TypeScript is being ported...</a></li><li><a href="https://bsky.app/profile/ingstudios.dev/post/3mh7o3qb7gc2o">JavaScript is Satan</a></li></ul></li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Update: <a href="https://updates.keeptrackofmygames.com/post/811074385558536192/march-2026-caldera-update">KTOMG Caldera Update adds playthrough and completion tracking</a></li><li>Cool Pi Day: <a href="https://www.youtube.com/watch?v=kahGSss6SsU">Calculating pi from coin flips (without randomness)</a></li><li>Cool Pi Day: <a href="https://youtu.be/_H9JIwWP7HQ?si=Xfh-V-P6sSV6kuNA">Coding Challenge 169: Pi in the Sky Game</a> </li><li>Cool Library: <a href="https://overtype.dev/">OverType</a>, the Markdown editor that's a textarea</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News for the week of <strong>March 9, 2026</strong>: it's VoidZero all the way down, seriously. From the community: TanStack makes hotkeys simple, plus how good are AI agents at playing Runescape?</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><br><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:53) - News: Vite 8 is Here!</li>
<li>(11:18) - News: Vite+ Alpha is Free and Open Source</li>
<li>(16:12) - News: VoidZero Launches void.cloud to Deploy Your Vite App</li>
<li>(20:17) - PSA: Hold Onto Your Butts for More Node Security Releases</li>
<li>(21:27) - Library Watch: Vitest 4.1 Adds Test Tags</li>
<li>(23:56) - Library Watch: Video.js v10 Beta</li>
<li>(26:06) - Library Watch: Effect v4 Beta</li>
<li>(28:07) - Library Watch: SyncPack v14 Syncs Monorepo Deps</li>
<li>(30:03) - Library Watch: angular-doctor Checks Health of Angular Apps</li>
<li>(30:56) - Community Highlights: Rust-like Error Handling in TS</li>
<li>(32:51) - Community Highlight: TanStack Hotkeys by Web Dev Simplified</li>
<li>(33:59) - Community Highlight: QR Code Engine in TS by Adam Surgenor</li>
<li>(34:44) - Community Highlight: Modern TypeScript Packaging by Francois Best</li>
<li>(35:31) - Community Highlight: Runebench Scores AI Agents on How Well They Play Runescape</li>
<li>(38:08) - Community Highlight: How Go Devs See TS 7 by Cup O Go</li>
<li>(39:16) - Bleets of the Week</li>
<li>(40:23) - Cool Link: Calculate Pi from Coin Flips by Stand-up Maths</li>
<li>(41:14) - Cool Link: Pi in the Sky Game by Coding Train</li>
<li>(41:37) - Cool Tool: Overtype, a Hassle-free Markdown Editor</li>
<li>(43:35) - The Minnesota Long Good Night</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://vite.dev/blog/announcing-vite8">Vite 8 is out!</a></li><li><a href="https://youtu.be/AJxH3Gvb-PU?si=s2g3DatT5a4BG3bZ">Vite+ is OPEN SOURCE and FREE!</a></li><li><a href="https://void.cloud/?ref=announcement-yt">VOID Cloud</a></li><li>PSA: <a href="https://nodejs.org/en/blog/vulnerability/march-2026-security-releases">Prep for Node.js March 24 security releases</a></li></ul><p><strong>Library Watch</strong></p><ul><li><a href="https://vitest.dev/blog/vitest-4-1.html">Vitest 4.1 is out</a>: test tags!</li><li><a href="https://videojs.org/blog/videojs-v10-beta-hello-world-again">Video.js v10 Beta: Hello, World (again)</a>: 88% smaller bundle size</li><li><a href="https://effect.website/blog/releases/effect/40-beta/">Effect v4 Beta</a>: 71% smaller bundle size</li><li><a href="https://syncpack.dev/">Syncpack v14</a>:  Dependency sync CLI for monorepos </li><li><a href="https://github.com/antonygiomarxdev/angular-doctor">antonygiomarxdev/angular-doctor</a>: health-checker CLI for Angular apps</li></ul><p><strong>From the Community</strong></p><ul><li>Abid Omar: <a href="https://codeinput.com/blog/typescript-result">Rust-like Error Handling in TypeScript</a></li><li>Web Dev Simplified: <a href="https://youtu.be/S26VdcWQzRQ?si=jznX9rWzDiQ7mUZU">NEW Tanstack Hotkeys Library is Amazing</a> </li><li>Adam Surgenor: <a href="https://bsky.app/profile/adsurg.bsky.social/post/3mgsuyksivs2t">QR Code Generator in TS</a></li><li>François Best: <a href="https://www.youtube.com/watch?v=h5TKlpRZPzI">Modern TypeScript packaging</a> (French Language)</li><li><a href="https://maxbittker.github.io/runebench/">RuneBench</a>: Evaluates AI agents by playing RuneScape</li><li>Cup O’ Go: <a href="https://share.transistor.fm/s/ea3f61f9#t=20m7s">Go Devs Talk About TypeScript 7</a></li><li>Bleets of the Week: <ul><li><a href="https://bsky.app/profile/savannah.dev/post/3mgrca4xbuk24">This is how TypeScript is being ported...</a></li><li><a href="https://bsky.app/profile/ingstudios.dev/post/3mh7o3qb7gc2o">JavaScript is Satan</a></li></ul></li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Update: <a href="https://updates.keeptrackofmygames.com/post/811074385558536192/march-2026-caldera-update">KTOMG Caldera Update adds playthrough and completion tracking</a></li><li>Cool Pi Day: <a href="https://www.youtube.com/watch?v=kahGSss6SsU">Calculating pi from coin flips (without randomness)</a></li><li>Cool Pi Day: <a href="https://youtu.be/_H9JIwWP7HQ?si=Xfh-V-P6sSV6kuNA">Coding Challenge 169: Pi in the Sky Game</a> </li><li>Cool Library: <a href="https://overtype.dev/">OverType</a>, the Markdown editor that's a textarea</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Thu, 19 Mar 2026 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/9e12b228/17aef930.mp3" length="25846297" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>3226</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News for the week of <strong>March 9, 2026</strong>: it's VoidZero all the way down, seriously. From the community: TanStack makes hotkeys simple, plus how good are AI agents at playing Runescape?</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><br><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:53) - News: Vite 8 is Here!</li>
<li>(11:18) - News: Vite+ Alpha is Free and Open Source</li>
<li>(16:12) - News: VoidZero Launches void.cloud to Deploy Your Vite App</li>
<li>(20:17) - PSA: Hold Onto Your Butts for More Node Security Releases</li>
<li>(21:27) - Library Watch: Vitest 4.1 Adds Test Tags</li>
<li>(23:56) - Library Watch: Video.js v10 Beta</li>
<li>(26:06) - Library Watch: Effect v4 Beta</li>
<li>(28:07) - Library Watch: SyncPack v14 Syncs Monorepo Deps</li>
<li>(30:03) - Library Watch: angular-doctor Checks Health of Angular Apps</li>
<li>(30:56) - Community Highlights: Rust-like Error Handling in TS</li>
<li>(32:51) - Community Highlight: TanStack Hotkeys by Web Dev Simplified</li>
<li>(33:59) - Community Highlight: QR Code Engine in TS by Adam Surgenor</li>
<li>(34:44) - Community Highlight: Modern TypeScript Packaging by Francois Best</li>
<li>(35:31) - Community Highlight: Runebench Scores AI Agents on How Well They Play Runescape</li>
<li>(38:08) - Community Highlight: How Go Devs See TS 7 by Cup O Go</li>
<li>(39:16) - Bleets of the Week</li>
<li>(40:23) - Cool Link: Calculate Pi from Coin Flips by Stand-up Maths</li>
<li>(41:14) - Cool Link: Pi in the Sky Game by Coding Train</li>
<li>(41:37) - Cool Tool: Overtype, a Hassle-free Markdown Editor</li>
<li>(43:35) - The Minnesota Long Good Night</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://vite.dev/blog/announcing-vite8">Vite 8 is out!</a></li><li><a href="https://youtu.be/AJxH3Gvb-PU?si=s2g3DatT5a4BG3bZ">Vite+ is OPEN SOURCE and FREE!</a></li><li><a href="https://void.cloud/?ref=announcement-yt">VOID Cloud</a></li><li>PSA: <a href="https://nodejs.org/en/blog/vulnerability/march-2026-security-releases">Prep for Node.js March 24 security releases</a></li></ul><p><strong>Library Watch</strong></p><ul><li><a href="https://vitest.dev/blog/vitest-4-1.html">Vitest 4.1 is out</a>: test tags!</li><li><a href="https://videojs.org/blog/videojs-v10-beta-hello-world-again">Video.js v10 Beta: Hello, World (again)</a>: 88% smaller bundle size</li><li><a href="https://effect.website/blog/releases/effect/40-beta/">Effect v4 Beta</a>: 71% smaller bundle size</li><li><a href="https://syncpack.dev/">Syncpack v14</a>:  Dependency sync CLI for monorepos </li><li><a href="https://github.com/antonygiomarxdev/angular-doctor">antonygiomarxdev/angular-doctor</a>: health-checker CLI for Angular apps</li></ul><p><strong>From the Community</strong></p><ul><li>Abid Omar: <a href="https://codeinput.com/blog/typescript-result">Rust-like Error Handling in TypeScript</a></li><li>Web Dev Simplified: <a href="https://youtu.be/S26VdcWQzRQ?si=jznX9rWzDiQ7mUZU">NEW Tanstack Hotkeys Library is Amazing</a> </li><li>Adam Surgenor: <a href="https://bsky.app/profile/adsurg.bsky.social/post/3mgsuyksivs2t">QR Code Generator in TS</a></li><li>François Best: <a href="https://www.youtube.com/watch?v=h5TKlpRZPzI">Modern TypeScript packaging</a> (French Language)</li><li><a href="https://maxbittker.github.io/runebench/">RuneBench</a>: Evaluates AI agents by playing RuneScape</li><li>Cup O’ Go: <a href="https://share.transistor.fm/s/ea3f61f9#t=20m7s">Go Devs Talk About TypeScript 7</a></li><li>Bleets of the Week: <ul><li><a href="https://bsky.app/profile/savannah.dev/post/3mgrca4xbuk24">This is how TypeScript is being ported...</a></li><li><a href="https://bsky.app/profile/ingstudios.dev/post/3mh7o3qb7gc2o">JavaScript is Satan</a></li></ul></li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Update: <a href="https://updates.keeptrackofmygames.com/post/811074385558536192/march-2026-caldera-update">KTOMG Caldera Update adds playthrough and completion tracking</a></li><li>Cool Pi Day: <a href="https://www.youtube.com/watch?v=kahGSss6SsU">Calculating pi from coin flips (without randomness)</a></li><li>Cool Pi Day: <a href="https://youtu.be/_H9JIwWP7HQ?si=Xfh-V-P6sSV6kuNA">Coding Challenge 169: Pi in the Sky Game</a> </li><li>Cool Library: <a href="https://overtype.dev/">OverType</a>, the Markdown editor that's a textarea</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/9e12b228/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>TS 6 RC, Astro 6, and Web Sanitizer API | News | Ep 58</title>
      <itunes:episode>58</itunes:episode>
      <podcast:episode>58</podcast:episode>
      <itunes:title>TS 6 RC, Astro 6, and Web Sanitizer API | News | Ep 58</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">9d31140b-45ca-462f-ae82-ec6bc9acdb93</guid>
      <link>https://share.transistor.fm/s/9aef8e03</link>
      <description>
        <![CDATA[<p>News for the week of <strong>March 3, 2026</strong>: minor updates in TypeScript 6 Release Candidate, what's new in Astro 6 updates, and latest Chrome revives Sanitizer API. From the community: when to use return types, remembering service workers, and why Patreon took seven years to adopt TypeScript.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><br><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:35) - News: TypeScript 6 Release Candidate</li>
<li>(07:17) - News: TypeScript 7 Buzz</li>
<li>(07:54) - News: TC39 Intl Era Advances to Stage 4</li>
<li>(08:41) - News: TC39 error.prototype.stack Advances to Stage 2.7</li>
<li>(09:04) - News: Node is Switching Up Release Schedule</li>
<li>(09:46) - News: Chrome Moves to Two Week Release Cycle</li>
<li>(10:43) - News: Chrome 146 Re-introduces Web Sanitizer API</li>
<li>(13:27) - News: Astro 6 Brings the Noise</li>
<li>(20:11) - News: Eleventy Will Become Build Awesome in v4</li>
<li>(21:11) - News: What's New in Svelte for March 2026</li>
<li>(21:32) - PSA: Qwik Remote Code Execution Vulnerability</li>
<li>(22:15) - Library Watch: ArkType 2.2 Brings Runtime Validated Functions</li>
<li>(26:00) - Library Watch: std-semver Ports JSR @std/semver to npm</li>
<li>(27:15) - Community Highlight: When to Use Return Types by Web Dev Simplified</li>
<li>(28:21) - Community Highlight: Whatever Happened to Service Workers? by Mauro Bieg</li>
<li>(30:05) - Community Highlight: Mitigating Supply Chain Attacks with pnpm</li>
<li>(33:28) - Community Highlight: F# in TypeScript</li>
<li>(34:11) - Community Highlight: Standardizing Source Maps by Jon Kuperman</li>
<li>(34:42) - Community Highlight: Patreon's Seven Years to TS</li>
<li>(36:01) - Community Highlight: Asana Scales with TypeScript and Scala Using GraalVM</li>
<li>(36:49) - Community Highlight: Josh Goldberg at AspireConf</li>
<li>(37:41) - Community Highlight: Flatten a Sphere with TypeScript</li>
<li>(38:27) - Community Highlight: Practical TypeScript by KCD</li>
<li>(39:26) - Secret of the Handbook: private Keyword vs. #private Syntax</li>
<li>(42:01) - Cool Tip: window.stop() API</li>
<li>(42:47) - Cool Quiz: How Well Do You Know Pokemon?</li>
<li>(43:42) - Cool Video: How Pokemon Stitched Together Maps on Gameboy</li>
<li>(44:41) - Cool Link: Union Types Coming to C#</li>
<li>(45:22) - Cool Game: Resident Evil 9</li>
<li>(46:20) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-6-0-rc/">Announcing TypeScript 6.0 RC</a></li><li><a href="https://bsky.app/profile/connorshea.bsky.social/post/3mgfrlpdcl22z">TypeScript 7 buzz</a></li><li><a href="https://bsky.app/profile/robpalmer.bsky.social/post/3mgprt5gnak2v">TC39: Intl era &amp; monthCode to Stage 4</a></li><li><a href="https://bsky.app/profile/robpalmer.bsky.social/post/3mgps7vmgrs2v">TC39: Error.prototype.stack</a> </li><li>Node: <a href="https://bsky.app/profile/nodejs.org/post/3mgq4blam2623">Reminder 1 major release per year starting with 27</a> </li><li><a href="https://developer.chrome.com/blog/chrome-two-week-release">Get features faster with Chrome's two-week release cycle</a></li><li><a href="https://developer.chrome.com/blog/new-in-chrome-146?hl=en">New in Chrome 146</a> (Stable channel)</li><li><a href="https://astro.build/blog/astro-6/">Astro 6</a></li><li><a href="https://www.11ty.dev/blog/build-awesome/">Eleventy is now Build Awesome</a> </li><li><a href="https://svelte.dev/blog/whats-new-in-svelte-march-2026">What’s new in Svelte: March 2026</a> </li></ul><p><strong>Library Watch</strong></p><ul><li><a href="https://arktype.io/docs/blog/2.2">Announcing ArkType 2.2 Type-safe regex, validated functions, and native Standard Schema definitions</a> </li><li><a href="https://npmx.dev/package/std-semver">Port of Deno @std/semver</a> (via <a href="https://bsky.app/profile/sxzz.dev/post/3mgnbxhm3ik2t">Kevin Deng</a>)</li></ul><p><strong>From the Community</strong></p><ul><li>Web Dev Simplified:  <a href="https://www.youtube.com/watch?v=63m2vvB4wo4">Stop Writing TypeScript Code Like This</a> </li><li>Mauro Bieg: <a href="https://mastrojs.github.io/blog/2026-03-09-whatever-happened-to-js-service-workers/">Whatever happened to JavaScript Service Workers?</a></li><li>pnpm: <a href="https://pnpm.io/supply-chain-security">Mitigating supply chain attacks</a></li><li>Simon Treanor: <a href="https://simontreanor.dev/articles/FunctionalTypeScript.html">The Functional Blueprint: Teaching TypeScript to Speak F#</a></li><li>Jon Kuperman: <a href="https://bloomberg.github.io/js-blog/post/standardizing-source-maps/">Source Maps: Shipping Features Through Standards</a></li><li>Patreon: <a href="https://www.patreon.com/posts/seven-years-to-typescript-152144830">Seven Years to TypeScript: Migrating 11,000 Files</a></li><li>Asana: <a href="https://asana.com/resources/scaling-lunadb">Scaling LunaDb, our in-house declarative data loading system</a></li><li>Josh Goldberg: TypeScript with Aspire at <a href="https://aspire.dev/aspireconf/?cid=aspireconf_bsky">Aspire Conf — March 23, 9:00a PT</a> </li><li>Astronomy with TypeScript: <a href="https://ideable.dev/starplot/03-projections.html">How do you flatten the Sphere</a></li><li>Kent C Dodds: <a href="https://bsky.app/profile/kentcdodds.com/post/3mg3rxdpphc2d">Practical TypeScript: Foundations to Fluency</a></li><li>Discussion: <a href="https://www.reddit.com/r/typescript/comments/1reg5s7/why_doesnt_ts_merge_private_and_syntax_in_the/">Why doesnt TS merge `private` and `#` syntax in the language? : r/typescript</a> </li></ul><p><strong>Cool Links</strong></p><ul><li>Excalibur-based Steam Game: <a href="https://store.steampowered.com/app/3834590/Now_THATS_a_Big_Dragon/">Now THAT's a Big Dragon!</a></li><li><a href="https://bsky.app/profile/stefanjudis.com/post/3mgp6zx5v2k2d">Web Weekly newsletter</a> </li><li><a href="https://pkmnquiz.com/">Pokémon Quiz</a> </li><li><a href="https://benjamin-abt.com/blog/2026/03/09/csharp-15-unions-and-unio/">C# Unions are Finally Here</a> (by Ben Abt)</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News for the week of <strong>March 3, 2026</strong>: minor updates in TypeScript 6 Release Candidate, what's new in Astro 6 updates, and latest Chrome revives Sanitizer API. From the community: when to use return types, remembering service workers, and why Patreon took seven years to adopt TypeScript.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><br><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:35) - News: TypeScript 6 Release Candidate</li>
<li>(07:17) - News: TypeScript 7 Buzz</li>
<li>(07:54) - News: TC39 Intl Era Advances to Stage 4</li>
<li>(08:41) - News: TC39 error.prototype.stack Advances to Stage 2.7</li>
<li>(09:04) - News: Node is Switching Up Release Schedule</li>
<li>(09:46) - News: Chrome Moves to Two Week Release Cycle</li>
<li>(10:43) - News: Chrome 146 Re-introduces Web Sanitizer API</li>
<li>(13:27) - News: Astro 6 Brings the Noise</li>
<li>(20:11) - News: Eleventy Will Become Build Awesome in v4</li>
<li>(21:11) - News: What's New in Svelte for March 2026</li>
<li>(21:32) - PSA: Qwik Remote Code Execution Vulnerability</li>
<li>(22:15) - Library Watch: ArkType 2.2 Brings Runtime Validated Functions</li>
<li>(26:00) - Library Watch: std-semver Ports JSR @std/semver to npm</li>
<li>(27:15) - Community Highlight: When to Use Return Types by Web Dev Simplified</li>
<li>(28:21) - Community Highlight: Whatever Happened to Service Workers? by Mauro Bieg</li>
<li>(30:05) - Community Highlight: Mitigating Supply Chain Attacks with pnpm</li>
<li>(33:28) - Community Highlight: F# in TypeScript</li>
<li>(34:11) - Community Highlight: Standardizing Source Maps by Jon Kuperman</li>
<li>(34:42) - Community Highlight: Patreon's Seven Years to TS</li>
<li>(36:01) - Community Highlight: Asana Scales with TypeScript and Scala Using GraalVM</li>
<li>(36:49) - Community Highlight: Josh Goldberg at AspireConf</li>
<li>(37:41) - Community Highlight: Flatten a Sphere with TypeScript</li>
<li>(38:27) - Community Highlight: Practical TypeScript by KCD</li>
<li>(39:26) - Secret of the Handbook: private Keyword vs. #private Syntax</li>
<li>(42:01) - Cool Tip: window.stop() API</li>
<li>(42:47) - Cool Quiz: How Well Do You Know Pokemon?</li>
<li>(43:42) - Cool Video: How Pokemon Stitched Together Maps on Gameboy</li>
<li>(44:41) - Cool Link: Union Types Coming to C#</li>
<li>(45:22) - Cool Game: Resident Evil 9</li>
<li>(46:20) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-6-0-rc/">Announcing TypeScript 6.0 RC</a></li><li><a href="https://bsky.app/profile/connorshea.bsky.social/post/3mgfrlpdcl22z">TypeScript 7 buzz</a></li><li><a href="https://bsky.app/profile/robpalmer.bsky.social/post/3mgprt5gnak2v">TC39: Intl era &amp; monthCode to Stage 4</a></li><li><a href="https://bsky.app/profile/robpalmer.bsky.social/post/3mgps7vmgrs2v">TC39: Error.prototype.stack</a> </li><li>Node: <a href="https://bsky.app/profile/nodejs.org/post/3mgq4blam2623">Reminder 1 major release per year starting with 27</a> </li><li><a href="https://developer.chrome.com/blog/chrome-two-week-release">Get features faster with Chrome's two-week release cycle</a></li><li><a href="https://developer.chrome.com/blog/new-in-chrome-146?hl=en">New in Chrome 146</a> (Stable channel)</li><li><a href="https://astro.build/blog/astro-6/">Astro 6</a></li><li><a href="https://www.11ty.dev/blog/build-awesome/">Eleventy is now Build Awesome</a> </li><li><a href="https://svelte.dev/blog/whats-new-in-svelte-march-2026">What’s new in Svelte: March 2026</a> </li></ul><p><strong>Library Watch</strong></p><ul><li><a href="https://arktype.io/docs/blog/2.2">Announcing ArkType 2.2 Type-safe regex, validated functions, and native Standard Schema definitions</a> </li><li><a href="https://npmx.dev/package/std-semver">Port of Deno @std/semver</a> (via <a href="https://bsky.app/profile/sxzz.dev/post/3mgnbxhm3ik2t">Kevin Deng</a>)</li></ul><p><strong>From the Community</strong></p><ul><li>Web Dev Simplified:  <a href="https://www.youtube.com/watch?v=63m2vvB4wo4">Stop Writing TypeScript Code Like This</a> </li><li>Mauro Bieg: <a href="https://mastrojs.github.io/blog/2026-03-09-whatever-happened-to-js-service-workers/">Whatever happened to JavaScript Service Workers?</a></li><li>pnpm: <a href="https://pnpm.io/supply-chain-security">Mitigating supply chain attacks</a></li><li>Simon Treanor: <a href="https://simontreanor.dev/articles/FunctionalTypeScript.html">The Functional Blueprint: Teaching TypeScript to Speak F#</a></li><li>Jon Kuperman: <a href="https://bloomberg.github.io/js-blog/post/standardizing-source-maps/">Source Maps: Shipping Features Through Standards</a></li><li>Patreon: <a href="https://www.patreon.com/posts/seven-years-to-typescript-152144830">Seven Years to TypeScript: Migrating 11,000 Files</a></li><li>Asana: <a href="https://asana.com/resources/scaling-lunadb">Scaling LunaDb, our in-house declarative data loading system</a></li><li>Josh Goldberg: TypeScript with Aspire at <a href="https://aspire.dev/aspireconf/?cid=aspireconf_bsky">Aspire Conf — March 23, 9:00a PT</a> </li><li>Astronomy with TypeScript: <a href="https://ideable.dev/starplot/03-projections.html">How do you flatten the Sphere</a></li><li>Kent C Dodds: <a href="https://bsky.app/profile/kentcdodds.com/post/3mg3rxdpphc2d">Practical TypeScript: Foundations to Fluency</a></li><li>Discussion: <a href="https://www.reddit.com/r/typescript/comments/1reg5s7/why_doesnt_ts_merge_private_and_syntax_in_the/">Why doesnt TS merge `private` and `#` syntax in the language? : r/typescript</a> </li></ul><p><strong>Cool Links</strong></p><ul><li>Excalibur-based Steam Game: <a href="https://store.steampowered.com/app/3834590/Now_THATS_a_Big_Dragon/">Now THAT's a Big Dragon!</a></li><li><a href="https://bsky.app/profile/stefanjudis.com/post/3mgp6zx5v2k2d">Web Weekly newsletter</a> </li><li><a href="https://pkmnquiz.com/">Pokémon Quiz</a> </li><li><a href="https://benjamin-abt.com/blog/2026/03/09/csharp-15-unions-and-unio/">C# Unions are Finally Here</a> (by Ben Abt)</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </content:encoded>
      <pubDate>Thu, 12 Mar 2026 22:10:09 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/9aef8e03/12783cfb.mp3" length="25023097" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>3123</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News for the week of <strong>March 3, 2026</strong>: minor updates in TypeScript 6 Release Candidate, what's new in Astro 6 updates, and latest Chrome revives Sanitizer API. From the community: when to use return types, remembering service workers, and why Patreon took seven years to adopt TypeScript.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><br><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:35) - News: TypeScript 6 Release Candidate</li>
<li>(07:17) - News: TypeScript 7 Buzz</li>
<li>(07:54) - News: TC39 Intl Era Advances to Stage 4</li>
<li>(08:41) - News: TC39 error.prototype.stack Advances to Stage 2.7</li>
<li>(09:04) - News: Node is Switching Up Release Schedule</li>
<li>(09:46) - News: Chrome Moves to Two Week Release Cycle</li>
<li>(10:43) - News: Chrome 146 Re-introduces Web Sanitizer API</li>
<li>(13:27) - News: Astro 6 Brings the Noise</li>
<li>(20:11) - News: Eleventy Will Become Build Awesome in v4</li>
<li>(21:11) - News: What's New in Svelte for March 2026</li>
<li>(21:32) - PSA: Qwik Remote Code Execution Vulnerability</li>
<li>(22:15) - Library Watch: ArkType 2.2 Brings Runtime Validated Functions</li>
<li>(26:00) - Library Watch: std-semver Ports JSR @std/semver to npm</li>
<li>(27:15) - Community Highlight: When to Use Return Types by Web Dev Simplified</li>
<li>(28:21) - Community Highlight: Whatever Happened to Service Workers? by Mauro Bieg</li>
<li>(30:05) - Community Highlight: Mitigating Supply Chain Attacks with pnpm</li>
<li>(33:28) - Community Highlight: F# in TypeScript</li>
<li>(34:11) - Community Highlight: Standardizing Source Maps by Jon Kuperman</li>
<li>(34:42) - Community Highlight: Patreon's Seven Years to TS</li>
<li>(36:01) - Community Highlight: Asana Scales with TypeScript and Scala Using GraalVM</li>
<li>(36:49) - Community Highlight: Josh Goldberg at AspireConf</li>
<li>(37:41) - Community Highlight: Flatten a Sphere with TypeScript</li>
<li>(38:27) - Community Highlight: Practical TypeScript by KCD</li>
<li>(39:26) - Secret of the Handbook: private Keyword vs. #private Syntax</li>
<li>(42:01) - Cool Tip: window.stop() API</li>
<li>(42:47) - Cool Quiz: How Well Do You Know Pokemon?</li>
<li>(43:42) - Cool Video: How Pokemon Stitched Together Maps on Gameboy</li>
<li>(44:41) - Cool Link: Union Types Coming to C#</li>
<li>(45:22) - Cool Game: Resident Evil 9</li>
<li>(46:20) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-6-0-rc/">Announcing TypeScript 6.0 RC</a></li><li><a href="https://bsky.app/profile/connorshea.bsky.social/post/3mgfrlpdcl22z">TypeScript 7 buzz</a></li><li><a href="https://bsky.app/profile/robpalmer.bsky.social/post/3mgprt5gnak2v">TC39: Intl era &amp; monthCode to Stage 4</a></li><li><a href="https://bsky.app/profile/robpalmer.bsky.social/post/3mgps7vmgrs2v">TC39: Error.prototype.stack</a> </li><li>Node: <a href="https://bsky.app/profile/nodejs.org/post/3mgq4blam2623">Reminder 1 major release per year starting with 27</a> </li><li><a href="https://developer.chrome.com/blog/chrome-two-week-release">Get features faster with Chrome's two-week release cycle</a></li><li><a href="https://developer.chrome.com/blog/new-in-chrome-146?hl=en">New in Chrome 146</a> (Stable channel)</li><li><a href="https://astro.build/blog/astro-6/">Astro 6</a></li><li><a href="https://www.11ty.dev/blog/build-awesome/">Eleventy is now Build Awesome</a> </li><li><a href="https://svelte.dev/blog/whats-new-in-svelte-march-2026">What’s new in Svelte: March 2026</a> </li></ul><p><strong>Library Watch</strong></p><ul><li><a href="https://arktype.io/docs/blog/2.2">Announcing ArkType 2.2 Type-safe regex, validated functions, and native Standard Schema definitions</a> </li><li><a href="https://npmx.dev/package/std-semver">Port of Deno @std/semver</a> (via <a href="https://bsky.app/profile/sxzz.dev/post/3mgnbxhm3ik2t">Kevin Deng</a>)</li></ul><p><strong>From the Community</strong></p><ul><li>Web Dev Simplified:  <a href="https://www.youtube.com/watch?v=63m2vvB4wo4">Stop Writing TypeScript Code Like This</a> </li><li>Mauro Bieg: <a href="https://mastrojs.github.io/blog/2026-03-09-whatever-happened-to-js-service-workers/">Whatever happened to JavaScript Service Workers?</a></li><li>pnpm: <a href="https://pnpm.io/supply-chain-security">Mitigating supply chain attacks</a></li><li>Simon Treanor: <a href="https://simontreanor.dev/articles/FunctionalTypeScript.html">The Functional Blueprint: Teaching TypeScript to Speak F#</a></li><li>Jon Kuperman: <a href="https://bloomberg.github.io/js-blog/post/standardizing-source-maps/">Source Maps: Shipping Features Through Standards</a></li><li>Patreon: <a href="https://www.patreon.com/posts/seven-years-to-typescript-152144830">Seven Years to TypeScript: Migrating 11,000 Files</a></li><li>Asana: <a href="https://asana.com/resources/scaling-lunadb">Scaling LunaDb, our in-house declarative data loading system</a></li><li>Josh Goldberg: TypeScript with Aspire at <a href="https://aspire.dev/aspireconf/?cid=aspireconf_bsky">Aspire Conf — March 23, 9:00a PT</a> </li><li>Astronomy with TypeScript: <a href="https://ideable.dev/starplot/03-projections.html">How do you flatten the Sphere</a></li><li>Kent C Dodds: <a href="https://bsky.app/profile/kentcdodds.com/post/3mg3rxdpphc2d">Practical TypeScript: Foundations to Fluency</a></li><li>Discussion: <a href="https://www.reddit.com/r/typescript/comments/1reg5s7/why_doesnt_ts_merge_private_and_syntax_in_the/">Why doesnt TS merge `private` and `#` syntax in the language? : r/typescript</a> </li></ul><p><strong>Cool Links</strong></p><ul><li>Excalibur-based Steam Game: <a href="https://store.steampowered.com/app/3834590/Now_THATS_a_Big_Dragon/">Now THAT's a Big Dragon!</a></li><li><a href="https://bsky.app/profile/stefanjudis.com/post/3mgp6zx5v2k2d">Web Weekly newsletter</a> </li><li><a href="https://pkmnquiz.com/">Pokémon Quiz</a> </li><li><a href="https://benjamin-abt.com/blog/2026/03/09/csharp-15-unions-and-unio/">C# Unions are Finally Here</a> (by Ben Abt)</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/9aef8e03/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>State of JS, Node Release Schedule Revisited, and WebMCP | News | Ep 57</title>
      <itunes:episode>57</itunes:episode>
      <podcast:episode>57</podcast:episode>
      <itunes:title>State of JS, Node Release Schedule Revisited, and WebMCP | News | Ep 57</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">4e78f24b-7b35-469b-9558-00fbedf2be91</guid>
      <link>https://share.transistor.fm/s/ccaefe60</link>
      <description>
        <![CDATA[<p>News for the week of <strong>Feb 23, 2026</strong>: highlights from the State of JS survey, Node is revamping its release schedule, and Bun finally gets stage 3 decorator support. From the community: Deno's code-first sandboxes, typesafe `Map.has()`, and Electrobun rendering with WebGPU.</p><p><strong>Support Our Troop</strong><br> 🍪 <a href="https://digitalcookie.girlscouts.org/scout/saira942410"><strong>Buy Girl Scout Cookies</strong></a><strong>!</strong></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><br><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(06:37) - News: State of JS Survey Insights</li>
<li>(16:48) - News: Deno 2.7 Marks Temporal API as Stable</li>
<li>(19:24) - News: Node 24.14.0 and 25.7.0 Releases</li>
<li>(21:13) - News: Node's New Release Schedule in 2027</li>
<li>(25:13) - News: Bun 1.3.10 Ships Stage 3 Decorators and Native REPL</li>
<li>(28:04) - News: WebMCP Becomes a W3C Standard</li>
<li>(33:20) - News: React Foundation Officially Launches</li>
<li>(34:57) - Library Watch: unbash Parses Bash in Pure TypeScript</li>
<li>(36:29) - Library Watch: decoders, a Zod-alternative That Reads Like TS</li>
<li>(37:30) - Community Highlight: What's New in ViteLand February 2026</li>
<li>(38:42) - Community Highlight: Safe Cloud Execution with Dino Sandboxes</li>
<li>(40:00) - Community Highlight: Fixing Map.has() by Typed Rocks</li>
<li>(41:12) - Community Highlight: The React Doctor Is In by Better Stack</li>
<li>(41:59) - Community Highlights: Electrobun with Native Window + WebGPU</li>
<li>(43:55) - Community Highlight: TypeScript Foundations Workshop by KCD</li>
<li>(45:33) - Cool Link: Firefox 148 Ships CSS shape() Support</li>
<li>(46:36) - Cool Link: Hank Green on Why AI Scares Him</li>
<li>(47:47) - Cool Link: Rebuilding Pokemon with OO Programming</li>
<li>(48:52) - Cool Link: MCP is Dead. Long Live the CLI.</li>
<li>(52:36) - Cool Cookies: Support My Girl Scout</li>
<li>(54:44) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://2025.stateofjs.com/en-US/">State of JS 2025</a></li><li><a href="https://deno.com/blog/v2.7">Deno 2.7: Temporal API, Windows ARM, and npm overrides</a></li><li>Node <a href="https://nodejs.org/en/blog/release/v24.14.0">24.14.0</a> and <a href="https://nodejs.org/en/blog/release/v25.7.0">25.7.0</a> releases</li><li>Node 27 release schedule <a href="https://nodejs-org-git-fork-ulisesgascon-release-announcement-openjs.vercel.app/en/blog/announcements/evolving-the-nodejs-release-schedule">sneak peek</a></li><li>Bun <a href="https://bun.sh/blog/bun-v1.3.10">1.3.10</a> introduces native REPL, TC39 Stage 3 decorators</li><li><a href="https://webmcp.link/">WebMCP</a>: Expose your web app as MCP tools (client-side) (see<a href="https://bsky.app/profile/kamranicus.com/post/3mfmuujhoj223"> Kamran's Bsky thread</a>)</li><li><a href="https://react.dev/blog/2026/02/24/the-react-foundation">The React Foundation: A New Home for React Hosted by the Linux Foundation</a></li></ul><p><strong>Library Watch</strong></p><ul><li><a href="https://bsky.app/profile/webpro.nl/post/3mfwpidvqrs23">Unbash</a>: zero dep bash parser written in TS </li><li><a href="https://decoders.cc">decoders</a>: a Zod alternative (via <a href="https://bsky.app/profile/chrisnicholas.dev/post/3mg3qmrkqdu2y">Chris Nicholas</a>)</li></ul><p><strong>From the Community</strong></p><ul><li>VoidZero: <a href="https://bsky.app/profile/voidzero.dev/post/3mg3dfe4clu2o">What's New in ViteLand: February 2026</a></li><li>Deno <a href="https://www.youtube.com/watch?v=mASEjxpuDTM">Safe Cloud Code Execution with Snapshots (Python Pre-Installed, Zero Wait)</a></li><li>TypeRocks: <a href="https://youtu.be/i21l5MSZ3wQ?si=PAzfHMRKdtTQzRTO">I Fixed TypeScript's Map.has() Type Inference (Here's How)</a></li><li>Better Stack: <a href="https://youtu.be/k3vyIIEZfU4?si=u47nRQ-i4pWG7xlb">I thought I was a Senior React Dev... until I ran React Doctor.</a>  </li><li>Electrobun: <a href="https://bsky.app/profile/yoav.codes/post/3mfuzluggx226">Now with Native Window + WebGPU</a> </li><li>KCD <a href="https://bsky.app/profile/kentcdodds.com/post/3mg3rxdpphc2d">has a new workshop, Practical TypeScript</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Tip: <a href="https://bsky.app/profile/webdevs.firefox.com/post/3mg3jtjk62z2f">Firefox 148 and CSS shape()</a> </li><li>Cool Read: <a href="https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html">MCP is dead. Long live the CLI</a> </li><li>Cool Watch: <a href="https://www.youtube.com/watch?v=CyRtTwKeulE">Rebuilding Pokémon with Object Oriented Programming</a></li><li>Cool Watch: Hank Green on AI: <a href="https://youtu.be/8MLbOulrLA0?si=XIVn8X5W7WNOGmNZ">This is Going to be Very Messy</a></li><li>Cool Read: <a href="https://fs.blog/the-red-queen-effect/">Red Queen Effect</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News for the week of <strong>Feb 23, 2026</strong>: highlights from the State of JS survey, Node is revamping its release schedule, and Bun finally gets stage 3 decorator support. From the community: Deno's code-first sandboxes, typesafe `Map.has()`, and Electrobun rendering with WebGPU.</p><p><strong>Support Our Troop</strong><br> 🍪 <a href="https://digitalcookie.girlscouts.org/scout/saira942410"><strong>Buy Girl Scout Cookies</strong></a><strong>!</strong></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><br><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(06:37) - News: State of JS Survey Insights</li>
<li>(16:48) - News: Deno 2.7 Marks Temporal API as Stable</li>
<li>(19:24) - News: Node 24.14.0 and 25.7.0 Releases</li>
<li>(21:13) - News: Node's New Release Schedule in 2027</li>
<li>(25:13) - News: Bun 1.3.10 Ships Stage 3 Decorators and Native REPL</li>
<li>(28:04) - News: WebMCP Becomes a W3C Standard</li>
<li>(33:20) - News: React Foundation Officially Launches</li>
<li>(34:57) - Library Watch: unbash Parses Bash in Pure TypeScript</li>
<li>(36:29) - Library Watch: decoders, a Zod-alternative That Reads Like TS</li>
<li>(37:30) - Community Highlight: What's New in ViteLand February 2026</li>
<li>(38:42) - Community Highlight: Safe Cloud Execution with Dino Sandboxes</li>
<li>(40:00) - Community Highlight: Fixing Map.has() by Typed Rocks</li>
<li>(41:12) - Community Highlight: The React Doctor Is In by Better Stack</li>
<li>(41:59) - Community Highlights: Electrobun with Native Window + WebGPU</li>
<li>(43:55) - Community Highlight: TypeScript Foundations Workshop by KCD</li>
<li>(45:33) - Cool Link: Firefox 148 Ships CSS shape() Support</li>
<li>(46:36) - Cool Link: Hank Green on Why AI Scares Him</li>
<li>(47:47) - Cool Link: Rebuilding Pokemon with OO Programming</li>
<li>(48:52) - Cool Link: MCP is Dead. Long Live the CLI.</li>
<li>(52:36) - Cool Cookies: Support My Girl Scout</li>
<li>(54:44) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://2025.stateofjs.com/en-US/">State of JS 2025</a></li><li><a href="https://deno.com/blog/v2.7">Deno 2.7: Temporal API, Windows ARM, and npm overrides</a></li><li>Node <a href="https://nodejs.org/en/blog/release/v24.14.0">24.14.0</a> and <a href="https://nodejs.org/en/blog/release/v25.7.0">25.7.0</a> releases</li><li>Node 27 release schedule <a href="https://nodejs-org-git-fork-ulisesgascon-release-announcement-openjs.vercel.app/en/blog/announcements/evolving-the-nodejs-release-schedule">sneak peek</a></li><li>Bun <a href="https://bun.sh/blog/bun-v1.3.10">1.3.10</a> introduces native REPL, TC39 Stage 3 decorators</li><li><a href="https://webmcp.link/">WebMCP</a>: Expose your web app as MCP tools (client-side) (see<a href="https://bsky.app/profile/kamranicus.com/post/3mfmuujhoj223"> Kamran's Bsky thread</a>)</li><li><a href="https://react.dev/blog/2026/02/24/the-react-foundation">The React Foundation: A New Home for React Hosted by the Linux Foundation</a></li></ul><p><strong>Library Watch</strong></p><ul><li><a href="https://bsky.app/profile/webpro.nl/post/3mfwpidvqrs23">Unbash</a>: zero dep bash parser written in TS </li><li><a href="https://decoders.cc">decoders</a>: a Zod alternative (via <a href="https://bsky.app/profile/chrisnicholas.dev/post/3mg3qmrkqdu2y">Chris Nicholas</a>)</li></ul><p><strong>From the Community</strong></p><ul><li>VoidZero: <a href="https://bsky.app/profile/voidzero.dev/post/3mg3dfe4clu2o">What's New in ViteLand: February 2026</a></li><li>Deno <a href="https://www.youtube.com/watch?v=mASEjxpuDTM">Safe Cloud Code Execution with Snapshots (Python Pre-Installed, Zero Wait)</a></li><li>TypeRocks: <a href="https://youtu.be/i21l5MSZ3wQ?si=PAzfHMRKdtTQzRTO">I Fixed TypeScript's Map.has() Type Inference (Here's How)</a></li><li>Better Stack: <a href="https://youtu.be/k3vyIIEZfU4?si=u47nRQ-i4pWG7xlb">I thought I was a Senior React Dev... until I ran React Doctor.</a>  </li><li>Electrobun: <a href="https://bsky.app/profile/yoav.codes/post/3mfuzluggx226">Now with Native Window + WebGPU</a> </li><li>KCD <a href="https://bsky.app/profile/kentcdodds.com/post/3mg3rxdpphc2d">has a new workshop, Practical TypeScript</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Tip: <a href="https://bsky.app/profile/webdevs.firefox.com/post/3mg3jtjk62z2f">Firefox 148 and CSS shape()</a> </li><li>Cool Read: <a href="https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html">MCP is dead. Long live the CLI</a> </li><li>Cool Watch: <a href="https://www.youtube.com/watch?v=CyRtTwKeulE">Rebuilding Pokémon with Object Oriented Programming</a></li><li>Cool Watch: Hank Green on AI: <a href="https://youtu.be/8MLbOulrLA0?si=XIVn8X5W7WNOGmNZ">This is Going to be Very Messy</a></li><li>Cool Read: <a href="https://fs.blog/the-red-queen-effect/">Red Queen Effect</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </content:encoded>
      <pubDate>Tue, 03 Mar 2026 23:12:32 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/ccaefe60/5dbc10e5.mp3" length="29438799" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>3675</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News for the week of <strong>Feb 23, 2026</strong>: highlights from the State of JS survey, Node is revamping its release schedule, and Bun finally gets stage 3 decorator support. From the community: Deno's code-first sandboxes, typesafe `Map.has()`, and Electrobun rendering with WebGPU.</p><p><strong>Support Our Troop</strong><br> 🍪 <a href="https://digitalcookie.girlscouts.org/scout/saira942410"><strong>Buy Girl Scout Cookies</strong></a><strong>!</strong></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><br><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(06:37) - News: State of JS Survey Insights</li>
<li>(16:48) - News: Deno 2.7 Marks Temporal API as Stable</li>
<li>(19:24) - News: Node 24.14.0 and 25.7.0 Releases</li>
<li>(21:13) - News: Node's New Release Schedule in 2027</li>
<li>(25:13) - News: Bun 1.3.10 Ships Stage 3 Decorators and Native REPL</li>
<li>(28:04) - News: WebMCP Becomes a W3C Standard</li>
<li>(33:20) - News: React Foundation Officially Launches</li>
<li>(34:57) - Library Watch: unbash Parses Bash in Pure TypeScript</li>
<li>(36:29) - Library Watch: decoders, a Zod-alternative That Reads Like TS</li>
<li>(37:30) - Community Highlight: What's New in ViteLand February 2026</li>
<li>(38:42) - Community Highlight: Safe Cloud Execution with Dino Sandboxes</li>
<li>(40:00) - Community Highlight: Fixing Map.has() by Typed Rocks</li>
<li>(41:12) - Community Highlight: The React Doctor Is In by Better Stack</li>
<li>(41:59) - Community Highlights: Electrobun with Native Window + WebGPU</li>
<li>(43:55) - Community Highlight: TypeScript Foundations Workshop by KCD</li>
<li>(45:33) - Cool Link: Firefox 148 Ships CSS shape() Support</li>
<li>(46:36) - Cool Link: Hank Green on Why AI Scares Him</li>
<li>(47:47) - Cool Link: Rebuilding Pokemon with OO Programming</li>
<li>(48:52) - Cool Link: MCP is Dead. Long Live the CLI.</li>
<li>(52:36) - Cool Cookies: Support My Girl Scout</li>
<li>(54:44) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://2025.stateofjs.com/en-US/">State of JS 2025</a></li><li><a href="https://deno.com/blog/v2.7">Deno 2.7: Temporal API, Windows ARM, and npm overrides</a></li><li>Node <a href="https://nodejs.org/en/blog/release/v24.14.0">24.14.0</a> and <a href="https://nodejs.org/en/blog/release/v25.7.0">25.7.0</a> releases</li><li>Node 27 release schedule <a href="https://nodejs-org-git-fork-ulisesgascon-release-announcement-openjs.vercel.app/en/blog/announcements/evolving-the-nodejs-release-schedule">sneak peek</a></li><li>Bun <a href="https://bun.sh/blog/bun-v1.3.10">1.3.10</a> introduces native REPL, TC39 Stage 3 decorators</li><li><a href="https://webmcp.link/">WebMCP</a>: Expose your web app as MCP tools (client-side) (see<a href="https://bsky.app/profile/kamranicus.com/post/3mfmuujhoj223"> Kamran's Bsky thread</a>)</li><li><a href="https://react.dev/blog/2026/02/24/the-react-foundation">The React Foundation: A New Home for React Hosted by the Linux Foundation</a></li></ul><p><strong>Library Watch</strong></p><ul><li><a href="https://bsky.app/profile/webpro.nl/post/3mfwpidvqrs23">Unbash</a>: zero dep bash parser written in TS </li><li><a href="https://decoders.cc">decoders</a>: a Zod alternative (via <a href="https://bsky.app/profile/chrisnicholas.dev/post/3mg3qmrkqdu2y">Chris Nicholas</a>)</li></ul><p><strong>From the Community</strong></p><ul><li>VoidZero: <a href="https://bsky.app/profile/voidzero.dev/post/3mg3dfe4clu2o">What's New in ViteLand: February 2026</a></li><li>Deno <a href="https://www.youtube.com/watch?v=mASEjxpuDTM">Safe Cloud Code Execution with Snapshots (Python Pre-Installed, Zero Wait)</a></li><li>TypeRocks: <a href="https://youtu.be/i21l5MSZ3wQ?si=PAzfHMRKdtTQzRTO">I Fixed TypeScript's Map.has() Type Inference (Here's How)</a></li><li>Better Stack: <a href="https://youtu.be/k3vyIIEZfU4?si=u47nRQ-i4pWG7xlb">I thought I was a Senior React Dev... until I ran React Doctor.</a>  </li><li>Electrobun: <a href="https://bsky.app/profile/yoav.codes/post/3mfuzluggx226">Now with Native Window + WebGPU</a> </li><li>KCD <a href="https://bsky.app/profile/kentcdodds.com/post/3mg3rxdpphc2d">has a new workshop, Practical TypeScript</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Tip: <a href="https://bsky.app/profile/webdevs.firefox.com/post/3mg3jtjk62z2f">Firefox 148 and CSS shape()</a> </li><li>Cool Read: <a href="https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html">MCP is dead. Long live the CLI</a> </li><li>Cool Watch: <a href="https://www.youtube.com/watch?v=CyRtTwKeulE">Rebuilding Pokémon with Object Oriented Programming</a></li><li>Cool Watch: Hank Green on AI: <a href="https://youtu.be/8MLbOulrLA0?si=XIVn8X5W7WNOGmNZ">This is Going to be Very Messy</a></li><li>Cool Read: <a href="https://fs.blog/the-red-queen-effect/">Red Queen Effect</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/ccaefe60/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>npmx.dev, Chrome 145 Devtools, and K'nipping Yaks | News | Ep 56</title>
      <itunes:episode>56</itunes:episode>
      <podcast:episode>56</podcast:episode>
      <itunes:title>npmx.dev, Chrome 145 Devtools, and K'nipping Yaks | News | Ep 56</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">ae21b749-2b5e-47ec-b1e8-7f41c4aca8c2</guid>
      <link>https://share.transistor.fm/s/c5f65179</link>
      <description>
        <![CDATA[<p>News for the week of <strong>Feb 16, 2026</strong>: npmx.dev is a better frontend for npm, Chrome 145 includes some cool new toys, and we figure out that Knip is pronounced with a hard-K. From the community: fun with generics, Next.js adds an MCP server, and why OSS maintainers need to breaks (as should we all).</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(07:10) - News: We Made Our First Video Podcast Episode</li>
<li>(09:02) - News: TS Native Gets Remote AST Speed-up of 6.4X</li>
<li>(09:59) - News: npmx.dev is a New Frontend for npm Registry</li>
<li>(14:13) - News: Chrome 145 Brings Some Cool New Devtools</li>
<li>(18:41) - News: Safari 26.4 Looks to Improve CSS Grid Support</li>
<li>(19:35) - Library Watch: Knip 5.85.0 Cleans Up Codebase Cruft</li>
<li>(22:30) - Library Watch: @wasmground/emit Builds WASM with TS</li>
<li>(23:58) - Library Watch: Tempest Generates Types from PHP</li>
<li>(25:33) - Library Watch: runner 5.5.0, an All-in-one TS Framework</li>
<li>(28:02) - Community Highlight: Build a Game Series by Deno</li>
<li>(30:02) - Community Highlight: Next.js MCP Server</li>
<li>(33:29) - Community Highlight: What is TC39 by Shop Talk Show</li>
<li>(34:32) - Community Highlight: Open Source Developers Need to Take Breaks</li>
<li>(38:16) - Community Highlight: Fun with TS Generics by Adam Rackis</li>
<li>(39:38) - Bleet of the Week</li>
<li>(39:59) - Cool Link: 400 Car Batteries Wired Together</li>
<li>(40:39) - Cool Link: FragCoord.xyz is a ShaderToy Alternative</li>
<li>(41:37) - Cool Link: Recreating a BBC Micro Game in TypeScript</li>
<li>(43:19) - Cool Link: YootTower, Open Source Code for SimTower</li>
<li>(44:33) - The Minnesota Long Goodbye</li>
</ul><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.<ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><br></p><p><strong>News</strong></p><ul><li><a href="https://youtu.be/l1PAgmFtvcw?si=D7I-eazAegAkw_kK">Watch</a> our TS 6.0 “Read Along” Vodcast!</li><li>TS native preview got a <a href="https://github.com/microsoft/typescript-go/pull/2835">6.4X perf increase</a> for “remote” AST materialization</li><li><a href="https://npmx.dev/about">npmx.dev</a> is not a package manager</li><li>Chrome: <a href="https://developer.chrome.com/blog/new-in-devtools-145">What's new in DevTools (Chrome 145)</a></li><li>Safari: <a href="https://developer.apple.com/documentation/safari-release-notes/safari-26_4-release-notes">26.4 beta improves CSS grid support</a></li></ul><p><strong>Library Watch</strong></p><ul><li>Knip <a href="https://bsky.app/profile/webpro.nl/post/3mfepcjt5k226">includes monorepo memory optimizations</a></li><li><a href="https://bsky.app/profile/wasmgroundup.com/post/3mfk45n3kxc2l">@wasmgroundup/emit</a> lets you build WASM with TypeScript for better learning</li><li>Tempest <a href="https://bsky.app/profile/stitcher.io/post/3mey3fs4hf22k">can generate types from PHP files</a></li><li><a href="https://www.reddit.com/r/typescript/comments/1r9r9bt/runner_i_shaved_the_yak_until_it_got_bald/">runner shaved the yak until it got bald</a>  </li></ul><p><strong>From the Community</strong></p><ul><li>Deno: <a href="https://deno.com/blog/build-a-game-with-deno-6">https://deno.com/blog/build-a-game-with-deno-6</a> </li><li>Next.js: <a href="https://nextjs.org/blog/agentic-future">Building Next.js for an agentic future</a> </li><li>Shop Talk Show: <a href="https://shoptalkshow.com/703/">TC39 and how it works</a> (via Rob Palmer) </li><li>The Register: <a href="https://bsky.app/profile/danielroe.dev/post/3mfjpacoi6k24">OSS Maintainers take a break</a> (via Daniel Roe) </li><li>Frontend Masters: <a href="https://frontendmasters.com/blog/fun-with-typescript-generics/">Fun with TypeScript Generics</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Watch: <a href="https://www.youtube.com/watch?v=OC7sNfNuTNU">400 car batteries wired together!!</a> </li><li>Cool Tool: <a href="https://fragcoord.xyz/">FragCoord is a ShaderToy alternative</a></li><li>Cool Game: <a href="https://www.jamesdrandall.com/projects/thrust/">TypeScript version of BBC Micro game</a></li><li>Cool Code: <a href="https://github.com/YootTowerManagement/YootTower">YootTower is the OG SimTower source code</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News for the week of <strong>Feb 16, 2026</strong>: npmx.dev is a better frontend for npm, Chrome 145 includes some cool new toys, and we figure out that Knip is pronounced with a hard-K. From the community: fun with generics, Next.js adds an MCP server, and why OSS maintainers need to breaks (as should we all).</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(07:10) - News: We Made Our First Video Podcast Episode</li>
<li>(09:02) - News: TS Native Gets Remote AST Speed-up of 6.4X</li>
<li>(09:59) - News: npmx.dev is a New Frontend for npm Registry</li>
<li>(14:13) - News: Chrome 145 Brings Some Cool New Devtools</li>
<li>(18:41) - News: Safari 26.4 Looks to Improve CSS Grid Support</li>
<li>(19:35) - Library Watch: Knip 5.85.0 Cleans Up Codebase Cruft</li>
<li>(22:30) - Library Watch: @wasmground/emit Builds WASM with TS</li>
<li>(23:58) - Library Watch: Tempest Generates Types from PHP</li>
<li>(25:33) - Library Watch: runner 5.5.0, an All-in-one TS Framework</li>
<li>(28:02) - Community Highlight: Build a Game Series by Deno</li>
<li>(30:02) - Community Highlight: Next.js MCP Server</li>
<li>(33:29) - Community Highlight: What is TC39 by Shop Talk Show</li>
<li>(34:32) - Community Highlight: Open Source Developers Need to Take Breaks</li>
<li>(38:16) - Community Highlight: Fun with TS Generics by Adam Rackis</li>
<li>(39:38) - Bleet of the Week</li>
<li>(39:59) - Cool Link: 400 Car Batteries Wired Together</li>
<li>(40:39) - Cool Link: FragCoord.xyz is a ShaderToy Alternative</li>
<li>(41:37) - Cool Link: Recreating a BBC Micro Game in TypeScript</li>
<li>(43:19) - Cool Link: YootTower, Open Source Code for SimTower</li>
<li>(44:33) - The Minnesota Long Goodbye</li>
</ul><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.<ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><br></p><p><strong>News</strong></p><ul><li><a href="https://youtu.be/l1PAgmFtvcw?si=D7I-eazAegAkw_kK">Watch</a> our TS 6.0 “Read Along” Vodcast!</li><li>TS native preview got a <a href="https://github.com/microsoft/typescript-go/pull/2835">6.4X perf increase</a> for “remote” AST materialization</li><li><a href="https://npmx.dev/about">npmx.dev</a> is not a package manager</li><li>Chrome: <a href="https://developer.chrome.com/blog/new-in-devtools-145">What's new in DevTools (Chrome 145)</a></li><li>Safari: <a href="https://developer.apple.com/documentation/safari-release-notes/safari-26_4-release-notes">26.4 beta improves CSS grid support</a></li></ul><p><strong>Library Watch</strong></p><ul><li>Knip <a href="https://bsky.app/profile/webpro.nl/post/3mfepcjt5k226">includes monorepo memory optimizations</a></li><li><a href="https://bsky.app/profile/wasmgroundup.com/post/3mfk45n3kxc2l">@wasmgroundup/emit</a> lets you build WASM with TypeScript for better learning</li><li>Tempest <a href="https://bsky.app/profile/stitcher.io/post/3mey3fs4hf22k">can generate types from PHP files</a></li><li><a href="https://www.reddit.com/r/typescript/comments/1r9r9bt/runner_i_shaved_the_yak_until_it_got_bald/">runner shaved the yak until it got bald</a>  </li></ul><p><strong>From the Community</strong></p><ul><li>Deno: <a href="https://deno.com/blog/build-a-game-with-deno-6">https://deno.com/blog/build-a-game-with-deno-6</a> </li><li>Next.js: <a href="https://nextjs.org/blog/agentic-future">Building Next.js for an agentic future</a> </li><li>Shop Talk Show: <a href="https://shoptalkshow.com/703/">TC39 and how it works</a> (via Rob Palmer) </li><li>The Register: <a href="https://bsky.app/profile/danielroe.dev/post/3mfjpacoi6k24">OSS Maintainers take a break</a> (via Daniel Roe) </li><li>Frontend Masters: <a href="https://frontendmasters.com/blog/fun-with-typescript-generics/">Fun with TypeScript Generics</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Watch: <a href="https://www.youtube.com/watch?v=OC7sNfNuTNU">400 car batteries wired together!!</a> </li><li>Cool Tool: <a href="https://fragcoord.xyz/">FragCoord is a ShaderToy alternative</a></li><li>Cool Game: <a href="https://www.jamesdrandall.com/projects/thrust/">TypeScript version of BBC Micro game</a></li><li>Cool Code: <a href="https://github.com/YootTowerManagement/YootTower">YootTower is the OG SimTower source code</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Tue, 24 Feb 2026 15:06:38 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/c5f65179/c1ee261e.mp3" length="23851573" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2976</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News for the week of <strong>Feb 16, 2026</strong>: npmx.dev is a better frontend for npm, Chrome 145 includes some cool new toys, and we figure out that Knip is pronounced with a hard-K. From the community: fun with generics, Next.js adds an MCP server, and why OSS maintainers need to breaks (as should we all).</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(07:10) - News: We Made Our First Video Podcast Episode</li>
<li>(09:02) - News: TS Native Gets Remote AST Speed-up of 6.4X</li>
<li>(09:59) - News: npmx.dev is a New Frontend for npm Registry</li>
<li>(14:13) - News: Chrome 145 Brings Some Cool New Devtools</li>
<li>(18:41) - News: Safari 26.4 Looks to Improve CSS Grid Support</li>
<li>(19:35) - Library Watch: Knip 5.85.0 Cleans Up Codebase Cruft</li>
<li>(22:30) - Library Watch: @wasmground/emit Builds WASM with TS</li>
<li>(23:58) - Library Watch: Tempest Generates Types from PHP</li>
<li>(25:33) - Library Watch: runner 5.5.0, an All-in-one TS Framework</li>
<li>(28:02) - Community Highlight: Build a Game Series by Deno</li>
<li>(30:02) - Community Highlight: Next.js MCP Server</li>
<li>(33:29) - Community Highlight: What is TC39 by Shop Talk Show</li>
<li>(34:32) - Community Highlight: Open Source Developers Need to Take Breaks</li>
<li>(38:16) - Community Highlight: Fun with TS Generics by Adam Rackis</li>
<li>(39:38) - Bleet of the Week</li>
<li>(39:59) - Cool Link: 400 Car Batteries Wired Together</li>
<li>(40:39) - Cool Link: FragCoord.xyz is a ShaderToy Alternative</li>
<li>(41:37) - Cool Link: Recreating a BBC Micro Game in TypeScript</li>
<li>(43:19) - Cool Link: YootTower, Open Source Code for SimTower</li>
<li>(44:33) - The Minnesota Long Goodbye</li>
</ul><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.<ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><br></p><p><strong>News</strong></p><ul><li><a href="https://youtu.be/l1PAgmFtvcw?si=D7I-eazAegAkw_kK">Watch</a> our TS 6.0 “Read Along” Vodcast!</li><li>TS native preview got a <a href="https://github.com/microsoft/typescript-go/pull/2835">6.4X perf increase</a> for “remote” AST materialization</li><li><a href="https://npmx.dev/about">npmx.dev</a> is not a package manager</li><li>Chrome: <a href="https://developer.chrome.com/blog/new-in-devtools-145">What's new in DevTools (Chrome 145)</a></li><li>Safari: <a href="https://developer.apple.com/documentation/safari-release-notes/safari-26_4-release-notes">26.4 beta improves CSS grid support</a></li></ul><p><strong>Library Watch</strong></p><ul><li>Knip <a href="https://bsky.app/profile/webpro.nl/post/3mfepcjt5k226">includes monorepo memory optimizations</a></li><li><a href="https://bsky.app/profile/wasmgroundup.com/post/3mfk45n3kxc2l">@wasmgroundup/emit</a> lets you build WASM with TypeScript for better learning</li><li>Tempest <a href="https://bsky.app/profile/stitcher.io/post/3mey3fs4hf22k">can generate types from PHP files</a></li><li><a href="https://www.reddit.com/r/typescript/comments/1r9r9bt/runner_i_shaved_the_yak_until_it_got_bald/">runner shaved the yak until it got bald</a>  </li></ul><p><strong>From the Community</strong></p><ul><li>Deno: <a href="https://deno.com/blog/build-a-game-with-deno-6">https://deno.com/blog/build-a-game-with-deno-6</a> </li><li>Next.js: <a href="https://nextjs.org/blog/agentic-future">Building Next.js for an agentic future</a> </li><li>Shop Talk Show: <a href="https://shoptalkshow.com/703/">TC39 and how it works</a> (via Rob Palmer) </li><li>The Register: <a href="https://bsky.app/profile/danielroe.dev/post/3mfjpacoi6k24">OSS Maintainers take a break</a> (via Daniel Roe) </li><li>Frontend Masters: <a href="https://frontendmasters.com/blog/fun-with-typescript-generics/">Fun with TypeScript Generics</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Watch: <a href="https://www.youtube.com/watch?v=OC7sNfNuTNU">400 car batteries wired together!!</a> </li><li>Cool Tool: <a href="https://fragcoord.xyz/">FragCoord is a ShaderToy alternative</a></li><li>Cool Game: <a href="https://www.jamesdrandall.com/projects/thrust/">TypeScript version of BBC Micro game</a></li><li>Cool Code: <a href="https://github.com/YootTowerManagement/YootTower">YootTower is the OG SimTower source code</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/c5f65179/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>TypeScript 6.0 Beta, ESLint 10, and Deno Deploy Goes GA | News | Ep 55</title>
      <itunes:episode>55</itunes:episode>
      <podcast:episode>55</podcast:episode>
      <itunes:title>TypeScript 6.0 Beta, ESLint 10, and Deno Deploy Goes GA | News | Ep 55</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">7d2c3d1c-5c3f-4abd-a0d2-cc0f7404d83f</guid>
      <link>https://share.transistor.fm/s/09a85ecb</link>
      <description>
        <![CDATA[<p>News for the weeks of <strong>Feb 2 and Feb 9, 2026</strong>: TypeScript 6.0 beta drops, ESLint 10 config updates, and Electrobun 1.0 release. From the community: TypeScript types are not a security feature and breaking changes in TS 6.0 you need to know.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(04:53) - News: TypeScript 6.0 Beta</li>
<li>(17:28) - News: ESLint 10 Brings Flat Config Changes</li>
<li>(19:47) - News: Deno Deploy is Now Generally Available</li>
<li>(26:27) - PSA: React Native CLI Metro4Shell Vulnerability</li>
<li>(28:32) - Library Watch: TanStack Query Now Supports Preact</li>
<li>(28:58) - Library Watch: Nuxt Test Utils v4 Supports Vitest 4</li>
<li>(29:18) - Library Watch: Handy, a Desktop App for Speech-to-Text</li>
<li>(30:40) - Library Watch: Colyseus 0.17 for Multiplayer Games</li>
<li>(31:03) - Library Watch: Tabularis, a Minimalist TypeScript-based DBMS</li>
<li>(31:47) - Library Watch: Electrobun 1.0 Release</li>
<li>(32:52) - Community Highlight: What's New in ViteLand January 2026</li>
<li>(33:07) - Community Highlight: n8n RCE in 4 Acts by Fetih Çelik</li>
<li>(36:32) - Community Highlight: TypeScript 6.0 Changes by TypeRocks</li>
<li>(37:01) - Community Highlight: TypeScript Online Game Template</li>
<li>(38:29) - Bleet of the Week</li>
<li>(39:10) - Cool Link: Types in JSDoc</li>
<li>(39:52) - Cool Link: Esoteric Math</li>
<li>(40:49) - Cool Link: Virtual DSLs</li>
<li>(42:32) - Cool Link: Someone Building an NES JRPG</li>
<li>(43:05) - The Minnesota Long Goodbye</li>
</ul><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.<ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>News</strong></p><ul><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-6-0-beta/">Announcing TypeScript 6.0 Beta</a></li><li><a href="https://eslint.org/blog/2026/02/eslint-v10.0.0-released">ESLint v10</a></li><li><a href="https://deno.com/blog/deno-deploy-is-ga">Deno Deploy is GA</a></li><li><a href="https://deno.com/blog/introducing-deno-sandbox">Introducing Deno Sandbox</a></li><li>PSA: <a href="https://thehackernews.com/2026/02/hackers-exploit-metro4shell-rce-flaw-in.html">React Native CLI Metro4Shell Vulnerability</a></li></ul><p><strong>Library Watch</strong></p><ul><li><a href="https://bsky.app/profile/jovidecroock.com/post/3meiyokia2k2s">Preact is added to TanStack Query</a></li><li><a href="https://github.com/nuxt/test-utils/releases/tag/v4.0.0">Nuxt Test Utils v4</a> supports Vitest 4</li><li><a href="https://bsky.app/profile/github-trending-js.bsky.social/post/3me5pfcyijx2j">Handy</a> is a universal speech-to-text app</li><li><a href="https://colyseus.io/blog/colyseus-017-is-here/">Colyseus 0.17</a> lets you build multiplayer games with full-stack TypeScript safety</li><li><a href="https://tabularis.dev/">Tabularis</a>: a lightweight developer-focused database management tool</li><li><a href="https://bsky.app/profile/yoav.codes/post/3mejgnfck722n">Electrobun 1.0 release</a> is the Electron alternative you’ve been waiting for</li></ul><p><strong>From the Community</strong></p><ul><li>VoidZero: <a href="https://voidzero.dev/posts/whats-new-jan-2026">What’s New in ViteLand January 2026</a></li><li>Fatih Çelik: <a href="https://fatihhcelik.github.io/posts/n8n-RCEs-A-Tale-of-4-Acts/">n8n RCE(s): A Tale of 4 Acts (CVE-2025-68613 &amp; CVE-2026-25049)</a></li><li>Typed Rocks: <a href="https://youtu.be/0SEcfK5l944?si=AfhxEBVCygF6I03k">TypeScript 6: Breaking Changes You Need to Know</a> </li><li><a href="https://www.reddit.com/r/typescript/comments/1qyoi06/typescript_online_game_template/">TypeScript Online Game Template</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Types in JSDoc: <a href="https://github.com/excaliburjs/excalibur-extension/blob/main/src/background.js">excalibur.js browser extension</a></li><li>Esoteric Math: <a href="https://en.wikipedia.org/wiki/Happy_number">Happy Numbers</a> and <a href="https://en.wikipedia.org/wiki/Vampire_number">Vampire Numbers</a></li><li><a href="https://puredit.korz.dev/">Virtual DSLs</a> (via Dan Abramov)</li><li>Do you like old-school <a href="https://bsky.app/profile/sebotron.bsky.social/post/3mectf23jas2s">NES JRPGs</a>?</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News for the weeks of <strong>Feb 2 and Feb 9, 2026</strong>: TypeScript 6.0 beta drops, ESLint 10 config updates, and Electrobun 1.0 release. From the community: TypeScript types are not a security feature and breaking changes in TS 6.0 you need to know.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(04:53) - News: TypeScript 6.0 Beta</li>
<li>(17:28) - News: ESLint 10 Brings Flat Config Changes</li>
<li>(19:47) - News: Deno Deploy is Now Generally Available</li>
<li>(26:27) - PSA: React Native CLI Metro4Shell Vulnerability</li>
<li>(28:32) - Library Watch: TanStack Query Now Supports Preact</li>
<li>(28:58) - Library Watch: Nuxt Test Utils v4 Supports Vitest 4</li>
<li>(29:18) - Library Watch: Handy, a Desktop App for Speech-to-Text</li>
<li>(30:40) - Library Watch: Colyseus 0.17 for Multiplayer Games</li>
<li>(31:03) - Library Watch: Tabularis, a Minimalist TypeScript-based DBMS</li>
<li>(31:47) - Library Watch: Electrobun 1.0 Release</li>
<li>(32:52) - Community Highlight: What's New in ViteLand January 2026</li>
<li>(33:07) - Community Highlight: n8n RCE in 4 Acts by Fetih Çelik</li>
<li>(36:32) - Community Highlight: TypeScript 6.0 Changes by TypeRocks</li>
<li>(37:01) - Community Highlight: TypeScript Online Game Template</li>
<li>(38:29) - Bleet of the Week</li>
<li>(39:10) - Cool Link: Types in JSDoc</li>
<li>(39:52) - Cool Link: Esoteric Math</li>
<li>(40:49) - Cool Link: Virtual DSLs</li>
<li>(42:32) - Cool Link: Someone Building an NES JRPG</li>
<li>(43:05) - The Minnesota Long Goodbye</li>
</ul><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.<ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>News</strong></p><ul><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-6-0-beta/">Announcing TypeScript 6.0 Beta</a></li><li><a href="https://eslint.org/blog/2026/02/eslint-v10.0.0-released">ESLint v10</a></li><li><a href="https://deno.com/blog/deno-deploy-is-ga">Deno Deploy is GA</a></li><li><a href="https://deno.com/blog/introducing-deno-sandbox">Introducing Deno Sandbox</a></li><li>PSA: <a href="https://thehackernews.com/2026/02/hackers-exploit-metro4shell-rce-flaw-in.html">React Native CLI Metro4Shell Vulnerability</a></li></ul><p><strong>Library Watch</strong></p><ul><li><a href="https://bsky.app/profile/jovidecroock.com/post/3meiyokia2k2s">Preact is added to TanStack Query</a></li><li><a href="https://github.com/nuxt/test-utils/releases/tag/v4.0.0">Nuxt Test Utils v4</a> supports Vitest 4</li><li><a href="https://bsky.app/profile/github-trending-js.bsky.social/post/3me5pfcyijx2j">Handy</a> is a universal speech-to-text app</li><li><a href="https://colyseus.io/blog/colyseus-017-is-here/">Colyseus 0.17</a> lets you build multiplayer games with full-stack TypeScript safety</li><li><a href="https://tabularis.dev/">Tabularis</a>: a lightweight developer-focused database management tool</li><li><a href="https://bsky.app/profile/yoav.codes/post/3mejgnfck722n">Electrobun 1.0 release</a> is the Electron alternative you’ve been waiting for</li></ul><p><strong>From the Community</strong></p><ul><li>VoidZero: <a href="https://voidzero.dev/posts/whats-new-jan-2026">What’s New in ViteLand January 2026</a></li><li>Fatih Çelik: <a href="https://fatihhcelik.github.io/posts/n8n-RCEs-A-Tale-of-4-Acts/">n8n RCE(s): A Tale of 4 Acts (CVE-2025-68613 &amp; CVE-2026-25049)</a></li><li>Typed Rocks: <a href="https://youtu.be/0SEcfK5l944?si=AfhxEBVCygF6I03k">TypeScript 6: Breaking Changes You Need to Know</a> </li><li><a href="https://www.reddit.com/r/typescript/comments/1qyoi06/typescript_online_game_template/">TypeScript Online Game Template</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Types in JSDoc: <a href="https://github.com/excaliburjs/excalibur-extension/blob/main/src/background.js">excalibur.js browser extension</a></li><li>Esoteric Math: <a href="https://en.wikipedia.org/wiki/Happy_number">Happy Numbers</a> and <a href="https://en.wikipedia.org/wiki/Vampire_number">Vampire Numbers</a></li><li><a href="https://puredit.korz.dev/">Virtual DSLs</a> (via Dan Abramov)</li><li>Do you like old-school <a href="https://bsky.app/profile/sebotron.bsky.social/post/3mectf23jas2s">NES JRPGs</a>?</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Tue, 17 Feb 2026 09:48:29 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/09a85ecb/8fbe71a7.mp3" length="22937897" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2862</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News for the weeks of <strong>Feb 2 and Feb 9, 2026</strong>: TypeScript 6.0 beta drops, ESLint 10 config updates, and Electrobun 1.0 release. From the community: TypeScript types are not a security feature and breaking changes in TS 6.0 you need to know.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(04:53) - News: TypeScript 6.0 Beta</li>
<li>(17:28) - News: ESLint 10 Brings Flat Config Changes</li>
<li>(19:47) - News: Deno Deploy is Now Generally Available</li>
<li>(26:27) - PSA: React Native CLI Metro4Shell Vulnerability</li>
<li>(28:32) - Library Watch: TanStack Query Now Supports Preact</li>
<li>(28:58) - Library Watch: Nuxt Test Utils v4 Supports Vitest 4</li>
<li>(29:18) - Library Watch: Handy, a Desktop App for Speech-to-Text</li>
<li>(30:40) - Library Watch: Colyseus 0.17 for Multiplayer Games</li>
<li>(31:03) - Library Watch: Tabularis, a Minimalist TypeScript-based DBMS</li>
<li>(31:47) - Library Watch: Electrobun 1.0 Release</li>
<li>(32:52) - Community Highlight: What's New in ViteLand January 2026</li>
<li>(33:07) - Community Highlight: n8n RCE in 4 Acts by Fetih Çelik</li>
<li>(36:32) - Community Highlight: TypeScript 6.0 Changes by TypeRocks</li>
<li>(37:01) - Community Highlight: TypeScript Online Game Template</li>
<li>(38:29) - Bleet of the Week</li>
<li>(39:10) - Cool Link: Types in JSDoc</li>
<li>(39:52) - Cool Link: Esoteric Math</li>
<li>(40:49) - Cool Link: Virtual DSLs</li>
<li>(42:32) - Cool Link: Someone Building an NES JRPG</li>
<li>(43:05) - The Minnesota Long Goodbye</li>
</ul><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.<ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>News</strong></p><ul><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-6-0-beta/">Announcing TypeScript 6.0 Beta</a></li><li><a href="https://eslint.org/blog/2026/02/eslint-v10.0.0-released">ESLint v10</a></li><li><a href="https://deno.com/blog/deno-deploy-is-ga">Deno Deploy is GA</a></li><li><a href="https://deno.com/blog/introducing-deno-sandbox">Introducing Deno Sandbox</a></li><li>PSA: <a href="https://thehackernews.com/2026/02/hackers-exploit-metro4shell-rce-flaw-in.html">React Native CLI Metro4Shell Vulnerability</a></li></ul><p><strong>Library Watch</strong></p><ul><li><a href="https://bsky.app/profile/jovidecroock.com/post/3meiyokia2k2s">Preact is added to TanStack Query</a></li><li><a href="https://github.com/nuxt/test-utils/releases/tag/v4.0.0">Nuxt Test Utils v4</a> supports Vitest 4</li><li><a href="https://bsky.app/profile/github-trending-js.bsky.social/post/3me5pfcyijx2j">Handy</a> is a universal speech-to-text app</li><li><a href="https://colyseus.io/blog/colyseus-017-is-here/">Colyseus 0.17</a> lets you build multiplayer games with full-stack TypeScript safety</li><li><a href="https://tabularis.dev/">Tabularis</a>: a lightweight developer-focused database management tool</li><li><a href="https://bsky.app/profile/yoav.codes/post/3mejgnfck722n">Electrobun 1.0 release</a> is the Electron alternative you’ve been waiting for</li></ul><p><strong>From the Community</strong></p><ul><li>VoidZero: <a href="https://voidzero.dev/posts/whats-new-jan-2026">What’s New in ViteLand January 2026</a></li><li>Fatih Çelik: <a href="https://fatihhcelik.github.io/posts/n8n-RCEs-A-Tale-of-4-Acts/">n8n RCE(s): A Tale of 4 Acts (CVE-2025-68613 &amp; CVE-2026-25049)</a></li><li>Typed Rocks: <a href="https://youtu.be/0SEcfK5l944?si=AfhxEBVCygF6I03k">TypeScript 6: Breaking Changes You Need to Know</a> </li><li><a href="https://www.reddit.com/r/typescript/comments/1qyoi06/typescript_online_game_template/">TypeScript Online Game Template</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Types in JSDoc: <a href="https://github.com/excaliburjs/excalibur-extension/blob/main/src/background.js">excalibur.js browser extension</a></li><li>Esoteric Math: <a href="https://en.wikipedia.org/wiki/Happy_number">Happy Numbers</a> and <a href="https://en.wikipedia.org/wiki/Vampire_number">Vampire Numbers</a></li><li><a href="https://puredit.korz.dev/">Virtual DSLs</a> (via Dan Abramov)</li><li>Do you like old-school <a href="https://bsky.app/profile/sebotron.bsky.social/post/3mectf23jas2s">NES JRPGs</a>?</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/09a85ecb/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Mastro.js, the Simplest Web Framework and Site Generator | Mauro Bieg | Ep 54B</title>
      <itunes:episode>54</itunes:episode>
      <podcast:episode>54</podcast:episode>
      <itunes:title>Mastro.js, the Simplest Web Framework and Site Generator | Mauro Bieg | Ep 54B</itunes:title>
      <itunes:episodeType>bonus</itunes:episodeType>
      <guid isPermaLink="false">28e05fa5-c3de-4869-91ca-f68814937439</guid>
      <link>https://share.transistor.fm/s/387c5e24</link>
      <description>
        <![CDATA[<p>Mauro Bieg joins the two fools to talk about Mastro, a simple and minimal web framework and site generator. If 11ty and Astro had a baby, it might look like Mastro! With support for routing, HTML templating, streaming, and even reactive UI, Mastro might be a great fit for your next content-driven website.</p><p><strong>Resources</strong></p><ul><li><a href="https://mastrojs.github.io/">Mastro Website</a></li><li><a href="https://github.com/mastrojs/mastro">Mastro on GitHub</a></li><li><a href="https://bsky.app/profile/mastrojs.bsky.social">Mastro on BlueSky</a></li></ul><p><strong>Where to Follow the Team</strong></p><ul><li><a href="https://github.com/mb21">Mauro on GitHub</a></li><li><a href="https://bsky.app/profile/mb21.bsky.social">Mauro on BlueSky</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introducing Mauro Bieg</li>
<li>(03:12) - What is Mastro.js?</li>
<li>(05:39) - How Mastro Renders HTML</li>
<li>(10:04) - Comparing Mastro.js with Other Frameworks</li>
<li>(14:55) - Handling Server Requests in Mastro</li>
<li>(20:00) - Client and Server Separation</li>
<li>(26:39) - Client-Side Functionality with Reactive Mastro</li>
<li>(32:18) - Leveraging Web Standards and Native Runtime Features</li>
<li>(34:14) - Working with Multiple Runtimes</li>
<li>(40:31) - TypeScript Integration and Type Checking</li>
<li>(41:51) - Support for HTTP Streaming</li>
<li>(47:07) - How Mastro Performs</li>
<li>(49:01) - Getting Started with Mastro</li>
<li>(51:33) - Where to Find Mauro</li>
</ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Mauro Bieg joins the two fools to talk about Mastro, a simple and minimal web framework and site generator. If 11ty and Astro had a baby, it might look like Mastro! With support for routing, HTML templating, streaming, and even reactive UI, Mastro might be a great fit for your next content-driven website.</p><p><strong>Resources</strong></p><ul><li><a href="https://mastrojs.github.io/">Mastro Website</a></li><li><a href="https://github.com/mastrojs/mastro">Mastro on GitHub</a></li><li><a href="https://bsky.app/profile/mastrojs.bsky.social">Mastro on BlueSky</a></li></ul><p><strong>Where to Follow the Team</strong></p><ul><li><a href="https://github.com/mb21">Mauro on GitHub</a></li><li><a href="https://bsky.app/profile/mb21.bsky.social">Mauro on BlueSky</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introducing Mauro Bieg</li>
<li>(03:12) - What is Mastro.js?</li>
<li>(05:39) - How Mastro Renders HTML</li>
<li>(10:04) - Comparing Mastro.js with Other Frameworks</li>
<li>(14:55) - Handling Server Requests in Mastro</li>
<li>(20:00) - Client and Server Separation</li>
<li>(26:39) - Client-Side Functionality with Reactive Mastro</li>
<li>(32:18) - Leveraging Web Standards and Native Runtime Features</li>
<li>(34:14) - Working with Multiple Runtimes</li>
<li>(40:31) - TypeScript Integration and Type Checking</li>
<li>(41:51) - Support for HTTP Streaming</li>
<li>(47:07) - How Mastro Performs</li>
<li>(49:01) - Getting Started with Mastro</li>
<li>(51:33) - Where to Find Mauro</li>
</ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Thu, 05 Feb 2026 06:00:00 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/387c5e24/2b64c362.mp3" length="25617481" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>3197</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Mauro Bieg joins the two fools to talk about Mastro, a simple and minimal web framework and site generator. If 11ty and Astro had a baby, it might look like Mastro! With support for routing, HTML templating, streaming, and even reactive UI, Mastro might be a great fit for your next content-driven website.</p><p><strong>Resources</strong></p><ul><li><a href="https://mastrojs.github.io/">Mastro Website</a></li><li><a href="https://github.com/mastrojs/mastro">Mastro on GitHub</a></li><li><a href="https://bsky.app/profile/mastrojs.bsky.social">Mastro on BlueSky</a></li></ul><p><strong>Where to Follow the Team</strong></p><ul><li><a href="https://github.com/mb21">Mauro on GitHub</a></li><li><a href="https://bsky.app/profile/mb21.bsky.social">Mauro on BlueSky</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introducing Mauro Bieg</li>
<li>(03:12) - What is Mastro.js?</li>
<li>(05:39) - How Mastro Renders HTML</li>
<li>(10:04) - Comparing Mastro.js with Other Frameworks</li>
<li>(14:55) - Handling Server Requests in Mastro</li>
<li>(20:00) - Client and Server Separation</li>
<li>(26:39) - Client-Side Functionality with Reactive Mastro</li>
<li>(32:18) - Leveraging Web Standards and Native Runtime Features</li>
<li>(34:14) - Working with Multiple Runtimes</li>
<li>(40:31) - TypeScript Integration and Type Checking</li>
<li>(41:51) - Support for HTTP Streaming</li>
<li>(47:07) - How Mastro Performs</li>
<li>(49:01) - Getting Started with Mastro</li>
<li>(51:33) - Where to Find Mauro</li>
</ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:person role="Guest" href="https://mastrojs.github.com" img="https://img.transistorcdn.com/mNbu_f8XJVXTkYCn8bTjOw459dp9W6q0VhFQ5c3ZiDA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS8zODBh/MjNkMGQ4MjkwMDEw/ZWU5NTAxNDEyYjJm/MGIxNC5qcGVn.jpg">Mauro Bieg</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/387c5e24/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Yarn Rewritten in Rust, Anders on TypeScript, and Notepad++ Hacked | News | Ep 54</title>
      <itunes:episode>54</itunes:episode>
      <podcast:episode>54</podcast:episode>
      <itunes:title>Yarn Rewritten in Rust, Anders on TypeScript, and Notepad++ Hacked | News | Ep 54</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">8184b934-e810-4aa4-bc4c-ee5bda080c7f</guid>
      <link>https://share.transistor.fm/s/fbd3bd32</link>
      <description>
        <![CDATA[<p>News for the week of <strong>January 26, 2026</strong>: Yarn 6.0 is rewritten in Rust, Anders interviewed on history and future of TypeScript, and a PSA on the Notepad++ update system. From the community: start using the satisfies keyword, learn more about Node Single Executable Applications (SEAs), and a DnD rule engine written in TS.</p><p><strong>Stand With Minnesota</strong><br>We are native Minnesotans. The ICE occupation is affecting our community in so many ways and has disrupted daily life for thousands of us. Families are sheltering in place, fearing to go to work, let their kids walk to school, take the bus, or even attend school at all. It is not just affecting immigrants, it is affecting all of us.</p><p>Go to <a href="https://standwithminnesota.com">StandWithMinnesota.com</a> to learn how you can help.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:11) - News: Removing ES5 Target for TS 6.0</li>
<li>(08:46) - News: Yarn 6.0 is Rewritten in Rust</li>
<li>(13:55) - News: Anders Interviewed on History and Future of TypeScript</li>
<li>(17:56) - News: Astro 5.17</li>
<li>(18:24) - News: 11ty, 2025 Year in Review</li>
<li>(19:33) - PSA: Notepad++ Hacked, Don't Use In-app Updater</li>
<li>(21:09) - PSA: More React Vulnerabilities, Update RSC Packages</li>
<li>(23:08) - Library Watch: ReliCSS, Fix Your Ancient CSS</li>
<li>(24:23) - Library Watch: Clack 1.0, Stylish Prompts for CLI Tools</li>
<li>(25:28) - Library Watch: TypeScript D20 Rule Engine for DnD</li>
<li>(27:02) - Community Highlight: satisfies Keyword is OP</li>
<li>(28:26) - Community Highlight: Does JIT Go Brrr? by Savannah.dev</li>
<li>(29:22) - Community Highlight: Node SEAs by Joyee Cheung</li>
<li>(30:08) - Community Highlight: Node is Getting a Virtual File System</li>
<li>(31:29) - Community Highlight: Deno on Windows ARM?</li>
<li>(32:27) - Community Highlight: Mocha.js Gets a Fresh Website</li>
<li>(32:51) - Community Highlight: In Mastro, Everything is a Route</li>
<li>(33:20) - Community Highlight: Hacking Compiler to Get const-known TemplateStringArray</li>
<li>(35:04) - Community Highlight: Gamedev.js Survey Results Are In</li>
<li>(37:19) - Bleet of the Week</li>
<li>(39:41) - Cool Video: Metroid's 8-bit Gravity by NESHacker</li>
<li>(40:21) - Cool Video: AI LEGO PixelArt Robot</li>
<li>(41:10) - Cool Link: Giantbomb x MinnMax Fundraiser for VEAP</li>
<li>(43:26) - Cool Watch: Planet Earth Series</li>
<li>(44:41) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>TS 6.0: <a href="https://github.com/microsoft/TypeScript/pull/63067">PR to remove ES5 merged!</a> (via <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3mdqnec67l22t">Rob Palmer</a>)</li><li>Yarn: <a href="https://bsky.app/profile/mael.dev/post/3mdikjnqy3c2r">New 6.0 preview, rewritten in Rust</a></li><li>GitHub: <a href="https://github.blog/developer-skills/programming-languages-and-frameworks/7-learnings-from-anders-hejlsberg-the-architect-behind-c-and-typescript/">7 learnings from Anders Hejlsberg: The architect behind C# and TypeScript</a></li><li><a href="https://astro.build/blog/astro-5170/">Astro 5.17</a> release notes </li><li><a href="https://www.11ty.dev/blog/review-2025/">Eleventy, 2025 in Review</a> </li><li>PSA: <a href="https://notepad-plus-plus.org/news/hijacked-incident-info-update/">Notepad++ Update Servers Got Hacked</a>, download 8.9.1 <strong>manually!</strong></li><li>PSA: <a href="https://github.com/facebook/react/security/advisories/GHSA-83fc-fqcc-2hmg">Denial of Service Vulnerabilities in React Server Components</a></li><li>Library Watch: <a href="https://www.alwaystwisted.com/articles/introducing-relicss-a-tool-for-front-end-archaeology">Introducing ReliCSS: A Tool for Front-End Archaeology</a></li><li>Library Watch: <a href="https://bsky.app/profile/bomb.sh/post/3mdilggvacs2b">Clack 1.0</a> lets you build stylish interactive CLI prompts</li><li>Library Watch: <a href="https://bsky.app/profile/shaidev.bsky.social/post/3mdobsbhbr22v">DnD D20 rule engine written in TypeScript</a></li></ul><p><strong>From the Community</strong></p><ul><li>Web Dev Simplified: <a href="https://youtu.be/Xm_VGeTpS2Q?si=LU7TcX54CMfPKIaL">satisfies keyword is awesome</a></li><li>Savannah Ostrowski: <a href="https://savannah.dev/posts/i-run-a-server-farm-in-my-closet/">Does JIT  go brrr?</a> </li><li>Joyee Cheung: <a href="https://joyeecheung.github.io/blog/2026/01/26/improving-single-executable-application-building-for-node-js/">Improving Single Executable Application Building for Node.js</a> </li><li>Matteo Collina: <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3mdlamqlals2z">VFS coming soon</a></li><li>Deno: <a href="https://bsky.app/profile/deno.land/post/3mdvgwgayc22a">Windows ARM BUILD!?</a></li><li>Joshua Goldberg: <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3mdockdovfc2y">Mocha has a new Astro frontend!!</a></li><li>Mastro: <a href="https://mastrojs.github.io/blog/2026-01-29-everything-is-a-route-one-interface-for-servers-static-sites-and-assets/">Everything in Mastro is a Route</a></li><li>Cinny.bun.how: <a href="https://bsky.app/profile/cinny.bun.how/post/3mdflmugqv22f">patching TypeScript compiler</a> to get const-known TemplateStringsArray </li><li><a href="https://gamedevjs.com/survey/report-on-the-current-state-of-web-game-development-in-2025-is-out/">Gamedev.js Survey Results are In</a>: The State of Web Game Dev in 2025</li></ul><p><strong>Cool Links</strong></p><ul><li><a href="https://youtu.be/ult5yLbDPnI?si=DNdNvMPCmIvNEBav">Metroid's 8-Bit Gravity</a>  </li><li><a href="https://youtu.be/ec_BtS97IR8?si=DWA5ZQXBMKMmxD1s">I made an AI LEGO® PixelArt Robot</a> </li><li><a href="https://give.mn/08teaf">GiantBomb and MinnMax fundraiser for VEAP</a></li><li><a href="https://www.hbomax.com/shows/planet-earth/43bcd380-b62e-4c46-a140-e2682c10a3ce">Planet Earth (HBO)</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News for the week of <strong>January 26, 2026</strong>: Yarn 6.0 is rewritten in Rust, Anders interviewed on history and future of TypeScript, and a PSA on the Notepad++ update system. From the community: start using the satisfies keyword, learn more about Node Single Executable Applications (SEAs), and a DnD rule engine written in TS.</p><p><strong>Stand With Minnesota</strong><br>We are native Minnesotans. The ICE occupation is affecting our community in so many ways and has disrupted daily life for thousands of us. Families are sheltering in place, fearing to go to work, let their kids walk to school, take the bus, or even attend school at all. It is not just affecting immigrants, it is affecting all of us.</p><p>Go to <a href="https://standwithminnesota.com">StandWithMinnesota.com</a> to learn how you can help.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:11) - News: Removing ES5 Target for TS 6.0</li>
<li>(08:46) - News: Yarn 6.0 is Rewritten in Rust</li>
<li>(13:55) - News: Anders Interviewed on History and Future of TypeScript</li>
<li>(17:56) - News: Astro 5.17</li>
<li>(18:24) - News: 11ty, 2025 Year in Review</li>
<li>(19:33) - PSA: Notepad++ Hacked, Don't Use In-app Updater</li>
<li>(21:09) - PSA: More React Vulnerabilities, Update RSC Packages</li>
<li>(23:08) - Library Watch: ReliCSS, Fix Your Ancient CSS</li>
<li>(24:23) - Library Watch: Clack 1.0, Stylish Prompts for CLI Tools</li>
<li>(25:28) - Library Watch: TypeScript D20 Rule Engine for DnD</li>
<li>(27:02) - Community Highlight: satisfies Keyword is OP</li>
<li>(28:26) - Community Highlight: Does JIT Go Brrr? by Savannah.dev</li>
<li>(29:22) - Community Highlight: Node SEAs by Joyee Cheung</li>
<li>(30:08) - Community Highlight: Node is Getting a Virtual File System</li>
<li>(31:29) - Community Highlight: Deno on Windows ARM?</li>
<li>(32:27) - Community Highlight: Mocha.js Gets a Fresh Website</li>
<li>(32:51) - Community Highlight: In Mastro, Everything is a Route</li>
<li>(33:20) - Community Highlight: Hacking Compiler to Get const-known TemplateStringArray</li>
<li>(35:04) - Community Highlight: Gamedev.js Survey Results Are In</li>
<li>(37:19) - Bleet of the Week</li>
<li>(39:41) - Cool Video: Metroid's 8-bit Gravity by NESHacker</li>
<li>(40:21) - Cool Video: AI LEGO PixelArt Robot</li>
<li>(41:10) - Cool Link: Giantbomb x MinnMax Fundraiser for VEAP</li>
<li>(43:26) - Cool Watch: Planet Earth Series</li>
<li>(44:41) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>TS 6.0: <a href="https://github.com/microsoft/TypeScript/pull/63067">PR to remove ES5 merged!</a> (via <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3mdqnec67l22t">Rob Palmer</a>)</li><li>Yarn: <a href="https://bsky.app/profile/mael.dev/post/3mdikjnqy3c2r">New 6.0 preview, rewritten in Rust</a></li><li>GitHub: <a href="https://github.blog/developer-skills/programming-languages-and-frameworks/7-learnings-from-anders-hejlsberg-the-architect-behind-c-and-typescript/">7 learnings from Anders Hejlsberg: The architect behind C# and TypeScript</a></li><li><a href="https://astro.build/blog/astro-5170/">Astro 5.17</a> release notes </li><li><a href="https://www.11ty.dev/blog/review-2025/">Eleventy, 2025 in Review</a> </li><li>PSA: <a href="https://notepad-plus-plus.org/news/hijacked-incident-info-update/">Notepad++ Update Servers Got Hacked</a>, download 8.9.1 <strong>manually!</strong></li><li>PSA: <a href="https://github.com/facebook/react/security/advisories/GHSA-83fc-fqcc-2hmg">Denial of Service Vulnerabilities in React Server Components</a></li><li>Library Watch: <a href="https://www.alwaystwisted.com/articles/introducing-relicss-a-tool-for-front-end-archaeology">Introducing ReliCSS: A Tool for Front-End Archaeology</a></li><li>Library Watch: <a href="https://bsky.app/profile/bomb.sh/post/3mdilggvacs2b">Clack 1.0</a> lets you build stylish interactive CLI prompts</li><li>Library Watch: <a href="https://bsky.app/profile/shaidev.bsky.social/post/3mdobsbhbr22v">DnD D20 rule engine written in TypeScript</a></li></ul><p><strong>From the Community</strong></p><ul><li>Web Dev Simplified: <a href="https://youtu.be/Xm_VGeTpS2Q?si=LU7TcX54CMfPKIaL">satisfies keyword is awesome</a></li><li>Savannah Ostrowski: <a href="https://savannah.dev/posts/i-run-a-server-farm-in-my-closet/">Does JIT  go brrr?</a> </li><li>Joyee Cheung: <a href="https://joyeecheung.github.io/blog/2026/01/26/improving-single-executable-application-building-for-node-js/">Improving Single Executable Application Building for Node.js</a> </li><li>Matteo Collina: <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3mdlamqlals2z">VFS coming soon</a></li><li>Deno: <a href="https://bsky.app/profile/deno.land/post/3mdvgwgayc22a">Windows ARM BUILD!?</a></li><li>Joshua Goldberg: <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3mdockdovfc2y">Mocha has a new Astro frontend!!</a></li><li>Mastro: <a href="https://mastrojs.github.io/blog/2026-01-29-everything-is-a-route-one-interface-for-servers-static-sites-and-assets/">Everything in Mastro is a Route</a></li><li>Cinny.bun.how: <a href="https://bsky.app/profile/cinny.bun.how/post/3mdflmugqv22f">patching TypeScript compiler</a> to get const-known TemplateStringsArray </li><li><a href="https://gamedevjs.com/survey/report-on-the-current-state-of-web-game-development-in-2025-is-out/">Gamedev.js Survey Results are In</a>: The State of Web Game Dev in 2025</li></ul><p><strong>Cool Links</strong></p><ul><li><a href="https://youtu.be/ult5yLbDPnI?si=DNdNvMPCmIvNEBav">Metroid's 8-Bit Gravity</a>  </li><li><a href="https://youtu.be/ec_BtS97IR8?si=DWA5ZQXBMKMmxD1s">I made an AI LEGO® PixelArt Robot</a> </li><li><a href="https://give.mn/08teaf">GiantBomb and MinnMax fundraiser for VEAP</a></li><li><a href="https://www.hbomax.com/shows/planet-earth/43bcd380-b62e-4c46-a140-e2682c10a3ce">Planet Earth (HBO)</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Tue, 03 Feb 2026 11:16:48 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/fbd3bd32/b5902c48.mp3" length="23504856" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2933</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News for the week of <strong>January 26, 2026</strong>: Yarn 6.0 is rewritten in Rust, Anders interviewed on history and future of TypeScript, and a PSA on the Notepad++ update system. From the community: start using the satisfies keyword, learn more about Node Single Executable Applications (SEAs), and a DnD rule engine written in TS.</p><p><strong>Stand With Minnesota</strong><br>We are native Minnesotans. The ICE occupation is affecting our community in so many ways and has disrupted daily life for thousands of us. Families are sheltering in place, fearing to go to work, let their kids walk to school, take the bus, or even attend school at all. It is not just affecting immigrants, it is affecting all of us.</p><p>Go to <a href="https://standwithminnesota.com">StandWithMinnesota.com</a> to learn how you can help.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:11) - News: Removing ES5 Target for TS 6.0</li>
<li>(08:46) - News: Yarn 6.0 is Rewritten in Rust</li>
<li>(13:55) - News: Anders Interviewed on History and Future of TypeScript</li>
<li>(17:56) - News: Astro 5.17</li>
<li>(18:24) - News: 11ty, 2025 Year in Review</li>
<li>(19:33) - PSA: Notepad++ Hacked, Don't Use In-app Updater</li>
<li>(21:09) - PSA: More React Vulnerabilities, Update RSC Packages</li>
<li>(23:08) - Library Watch: ReliCSS, Fix Your Ancient CSS</li>
<li>(24:23) - Library Watch: Clack 1.0, Stylish Prompts for CLI Tools</li>
<li>(25:28) - Library Watch: TypeScript D20 Rule Engine for DnD</li>
<li>(27:02) - Community Highlight: satisfies Keyword is OP</li>
<li>(28:26) - Community Highlight: Does JIT Go Brrr? by Savannah.dev</li>
<li>(29:22) - Community Highlight: Node SEAs by Joyee Cheung</li>
<li>(30:08) - Community Highlight: Node is Getting a Virtual File System</li>
<li>(31:29) - Community Highlight: Deno on Windows ARM?</li>
<li>(32:27) - Community Highlight: Mocha.js Gets a Fresh Website</li>
<li>(32:51) - Community Highlight: In Mastro, Everything is a Route</li>
<li>(33:20) - Community Highlight: Hacking Compiler to Get const-known TemplateStringArray</li>
<li>(35:04) - Community Highlight: Gamedev.js Survey Results Are In</li>
<li>(37:19) - Bleet of the Week</li>
<li>(39:41) - Cool Video: Metroid's 8-bit Gravity by NESHacker</li>
<li>(40:21) - Cool Video: AI LEGO PixelArt Robot</li>
<li>(41:10) - Cool Link: Giantbomb x MinnMax Fundraiser for VEAP</li>
<li>(43:26) - Cool Watch: Planet Earth Series</li>
<li>(44:41) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>TS 6.0: <a href="https://github.com/microsoft/TypeScript/pull/63067">PR to remove ES5 merged!</a> (via <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3mdqnec67l22t">Rob Palmer</a>)</li><li>Yarn: <a href="https://bsky.app/profile/mael.dev/post/3mdikjnqy3c2r">New 6.0 preview, rewritten in Rust</a></li><li>GitHub: <a href="https://github.blog/developer-skills/programming-languages-and-frameworks/7-learnings-from-anders-hejlsberg-the-architect-behind-c-and-typescript/">7 learnings from Anders Hejlsberg: The architect behind C# and TypeScript</a></li><li><a href="https://astro.build/blog/astro-5170/">Astro 5.17</a> release notes </li><li><a href="https://www.11ty.dev/blog/review-2025/">Eleventy, 2025 in Review</a> </li><li>PSA: <a href="https://notepad-plus-plus.org/news/hijacked-incident-info-update/">Notepad++ Update Servers Got Hacked</a>, download 8.9.1 <strong>manually!</strong></li><li>PSA: <a href="https://github.com/facebook/react/security/advisories/GHSA-83fc-fqcc-2hmg">Denial of Service Vulnerabilities in React Server Components</a></li><li>Library Watch: <a href="https://www.alwaystwisted.com/articles/introducing-relicss-a-tool-for-front-end-archaeology">Introducing ReliCSS: A Tool for Front-End Archaeology</a></li><li>Library Watch: <a href="https://bsky.app/profile/bomb.sh/post/3mdilggvacs2b">Clack 1.0</a> lets you build stylish interactive CLI prompts</li><li>Library Watch: <a href="https://bsky.app/profile/shaidev.bsky.social/post/3mdobsbhbr22v">DnD D20 rule engine written in TypeScript</a></li></ul><p><strong>From the Community</strong></p><ul><li>Web Dev Simplified: <a href="https://youtu.be/Xm_VGeTpS2Q?si=LU7TcX54CMfPKIaL">satisfies keyword is awesome</a></li><li>Savannah Ostrowski: <a href="https://savannah.dev/posts/i-run-a-server-farm-in-my-closet/">Does JIT  go brrr?</a> </li><li>Joyee Cheung: <a href="https://joyeecheung.github.io/blog/2026/01/26/improving-single-executable-application-building-for-node-js/">Improving Single Executable Application Building for Node.js</a> </li><li>Matteo Collina: <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3mdlamqlals2z">VFS coming soon</a></li><li>Deno: <a href="https://bsky.app/profile/deno.land/post/3mdvgwgayc22a">Windows ARM BUILD!?</a></li><li>Joshua Goldberg: <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3mdockdovfc2y">Mocha has a new Astro frontend!!</a></li><li>Mastro: <a href="https://mastrojs.github.io/blog/2026-01-29-everything-is-a-route-one-interface-for-servers-static-sites-and-assets/">Everything in Mastro is a Route</a></li><li>Cinny.bun.how: <a href="https://bsky.app/profile/cinny.bun.how/post/3mdflmugqv22f">patching TypeScript compiler</a> to get const-known TemplateStringsArray </li><li><a href="https://gamedevjs.com/survey/report-on-the-current-state-of-web-game-development-in-2025-is-out/">Gamedev.js Survey Results are In</a>: The State of Web Game Dev in 2025</li></ul><p><strong>Cool Links</strong></p><ul><li><a href="https://youtu.be/ult5yLbDPnI?si=DNdNvMPCmIvNEBav">Metroid's 8-Bit Gravity</a>  </li><li><a href="https://youtu.be/ec_BtS97IR8?si=DWA5ZQXBMKMmxD1s">I made an AI LEGO® PixelArt Robot</a> </li><li><a href="https://give.mn/08teaf">GiantBomb and MinnMax fundraiser for VEAP</a></li><li><a href="https://www.hbomax.com/shows/planet-earth/43bcd380-b62e-4c46-a140-e2682c10a3ce">Planet Earth (HBO)</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/fbd3bd32/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Rolldown 1.0 RC, a Fully Featured PDF Library, and Lodash Updates | News | Ep 53</title>
      <itunes:episode>53</itunes:episode>
      <podcast:episode>53</podcast:episode>
      <itunes:title>Rolldown 1.0 RC, a Fully Featured PDF Library, and Lodash Updates | News | Ep 53</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">e5bc8cd8-ef26-4134-a371-149add70a258</guid>
      <link>https://share.transistor.fm/s/16226fb6</link>
      <description>
        <![CDATA[<p>News for the week of <strong>January 19, 2026</strong>: Rolldown reaches 1.0 release candidate, and a PDF library we all deserve. <strong>From the community:</strong> a better npm admin experience, supertype safety, and modern package.json targets.</p><p><strong>Stand With Minnesota</strong><br>We are native Minnesotans. The ICE occupation is affecting our community in so many ways and has disrupted daily life for thousands of us. Families are sheltering in place, fearing to go to work, let their kids walk to school, take the bus, or even attend school at all. Adults and children are being abducted from their workplaces, schools, cars, and homes with aggressive tactics and without due process. There have been dozens of well-documented violations of our civil liberties and rights as US citizens, including the illegal detainment of peaceful protestors, constitutional observers, and people of color. ICE has shot and killed two US citizens already in the span of 3 weeks: Renee Good, a mother of three, and Alex Pretti, a VA nurse. They are out of control, they are causing irreparable harm, and we want them out of our cities. </p><p>Go to <a href="https://standwithminnesota.com">StandWithMinnesota.com</a> to learn how you can help.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(06:36) - News: TypeScript PR to Support Import Attributes in d.ts Files</li>
<li>(09:00) - News: Deno 2.6.6 Brings Some QOL Improvements</li>
<li>(10:15) - News: Rolldown 1.0 RC is Here</li>
<li>(14:13) - News: TC39 ECMAScript Proposal Updates</li>
<li>(19:04) - News: Firefox 147 Adds WebGPU on Apple Sillicon and Brotli Compression</li>
<li>(21:04) - News: Nuxt 4.3 Supports Inlining Critical CSS for Webpack and Rspack</li>
<li>(22:33) - PSA: Svelte Ecosystem Vulnerabilities</li>
<li>(24:26) - Library Watch: LibPDF, the PDF Library TypeScript Developers Deserve</li>
<li>(26:17) - Library Watch: ts2rs, Transforms TS Types to Rust Types</li>
<li>(27:38) - Library Watch: Mastra, TS Agent Toolkit, Reaches 1.0</li>
<li>(28:23) - PSA: Lodash Gets a Security Update and Governance from OpenJSF</li>
<li>(29:20) - Community Highlight: Daniel Roe Wants to Hear Your npm Frustrations</li>
<li>(29:57) - Community Highlight: Don't Assign a Map to WeakMap</li>
<li>(30:59) - Community Highlight: Super Monkey Ball on the Web</li>
<li>(31:38) - Community Highlight: Package.json for Modern Targets</li>
<li>(33:18) - Community Highlight: How Next.js Built Turbopack</li>
<li>(33:39) - Bleet of the Week</li>
<li>(34:21) - Cool Link: Crudy, a Postman Alternative</li>
<li>(35:05) - Cool Video: SystemOfLevers on How to Make a Gameboy Game</li>
<li>(35:24) - Cool Video: How to Make a Homebrew GPU</li>
<li>(35:57) - Cool Video: Transforms 101 by Scott</li>
<li>(36:17) - Cool Link: StandWithMinnesota.com</li>
<li>(37:29) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://bsky.app/profile/jonathanneal.bsky.social/post/3mczfveb3w22x">TypeScript PR</a> to add support for import attributes in ambient module declarations. <a href="https://github.com/microsoft/TypeScript/issues/46135">Motivating example</a> (from Vite team) </li><li><a href="https://github.com/denoland/deno/releases/tag/v2.6.6">Deno 2.6.6</a></li><li><a href="https://bsky.app/profile/voidzero.dev/post/3mczfhjnnt724">Rolldown 1.0 RC</a> </li><li>TC39 News <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3mcz334l4ck27">via Rob Palmer</a></li><li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/147">Firefox 147 release notes for developers</a> </li><li><a href="https://nuxt.com/blog/v4-3">Nuxt 4.3</a></li><li><a href="https://svelte.dev/blog/cves-affecting-the-svelte-ecosystem">CVEs affecting the Svelte ecosystem</a> </li><li><a href="https://libpdf.documenso.com/">LibPDF</a>, the PDF library TypeScript developers deserve</li><li><a href="https://github.com/mcmah309/ts2rs">ts2rs</a> for converting TS types to Rust types</li><li><a href="https://mastra.ai/blog/announcing-mastra-1">Announcing Mastra 1.0!</a> </li><li>PSA: <a href="https://openjsf.org/blog/lodash-security-overhaul">Lodash Rolls Out Major Security Overhaul</a></li></ul><p><strong>From the Community</strong></p><ul><li>Daniel Roe <a href="https://bsky.app/profile/danielroe.dev/post/3md3cmrg56k2r">calls out</a> for npm frustrations, creating <a href="https://github.com/npmx-dev/npmx.dev">npmx.dev</a> </li><li>Tip: Supertype safety? <a href="https://bsky.app/profile/sirpepe.bsky.social/post/3mcw5rvhrgc2d">WeakMap is a supertype of Map</a> </li><li><a href="https://bsky.app/profile/nightshade.technology/post/3mdc6y22kklhr">Super MonkeyBall in a browser </a></li><li>Discussion: <a href="https://bsky.app/profile/nicolas.dubien.me/post/3mczq4cs3qs2f">Types, Package.json, and Modules</a> </li><li>Next.js: <a href="https://nextjs.org/blog/turbopack-incremental-computation">Inside Turbopack: Building Faster by Building Less</a></li></ul><p><strong>Cool Links</strong></p><ul><li><a href="https://bsky.app/profile/joshuakgoldberg.com/post/3mcsk7squp22c">Crudy</a> is an alternative to Postman</li><li>Gameboy Games by <a href="https://www.youtube.com/@systemoflevers">@systemoflevers</a> </li><li><a href="https://youtu.be/M8dk0JpkrbY?si=7S2zt1kBTVb5Do57">A Homebrew GPU for a Homebrew CPU</a></li><li><a href="https://www.youtube.com/live/dnGZLyOfm6w">Transforms 101 by Scott</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News for the week of <strong>January 19, 2026</strong>: Rolldown reaches 1.0 release candidate, and a PDF library we all deserve. <strong>From the community:</strong> a better npm admin experience, supertype safety, and modern package.json targets.</p><p><strong>Stand With Minnesota</strong><br>We are native Minnesotans. The ICE occupation is affecting our community in so many ways and has disrupted daily life for thousands of us. Families are sheltering in place, fearing to go to work, let their kids walk to school, take the bus, or even attend school at all. Adults and children are being abducted from their workplaces, schools, cars, and homes with aggressive tactics and without due process. There have been dozens of well-documented violations of our civil liberties and rights as US citizens, including the illegal detainment of peaceful protestors, constitutional observers, and people of color. ICE has shot and killed two US citizens already in the span of 3 weeks: Renee Good, a mother of three, and Alex Pretti, a VA nurse. They are out of control, they are causing irreparable harm, and we want them out of our cities. </p><p>Go to <a href="https://standwithminnesota.com">StandWithMinnesota.com</a> to learn how you can help.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(06:36) - News: TypeScript PR to Support Import Attributes in d.ts Files</li>
<li>(09:00) - News: Deno 2.6.6 Brings Some QOL Improvements</li>
<li>(10:15) - News: Rolldown 1.0 RC is Here</li>
<li>(14:13) - News: TC39 ECMAScript Proposal Updates</li>
<li>(19:04) - News: Firefox 147 Adds WebGPU on Apple Sillicon and Brotli Compression</li>
<li>(21:04) - News: Nuxt 4.3 Supports Inlining Critical CSS for Webpack and Rspack</li>
<li>(22:33) - PSA: Svelte Ecosystem Vulnerabilities</li>
<li>(24:26) - Library Watch: LibPDF, the PDF Library TypeScript Developers Deserve</li>
<li>(26:17) - Library Watch: ts2rs, Transforms TS Types to Rust Types</li>
<li>(27:38) - Library Watch: Mastra, TS Agent Toolkit, Reaches 1.0</li>
<li>(28:23) - PSA: Lodash Gets a Security Update and Governance from OpenJSF</li>
<li>(29:20) - Community Highlight: Daniel Roe Wants to Hear Your npm Frustrations</li>
<li>(29:57) - Community Highlight: Don't Assign a Map to WeakMap</li>
<li>(30:59) - Community Highlight: Super Monkey Ball on the Web</li>
<li>(31:38) - Community Highlight: Package.json for Modern Targets</li>
<li>(33:18) - Community Highlight: How Next.js Built Turbopack</li>
<li>(33:39) - Bleet of the Week</li>
<li>(34:21) - Cool Link: Crudy, a Postman Alternative</li>
<li>(35:05) - Cool Video: SystemOfLevers on How to Make a Gameboy Game</li>
<li>(35:24) - Cool Video: How to Make a Homebrew GPU</li>
<li>(35:57) - Cool Video: Transforms 101 by Scott</li>
<li>(36:17) - Cool Link: StandWithMinnesota.com</li>
<li>(37:29) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://bsky.app/profile/jonathanneal.bsky.social/post/3mczfveb3w22x">TypeScript PR</a> to add support for import attributes in ambient module declarations. <a href="https://github.com/microsoft/TypeScript/issues/46135">Motivating example</a> (from Vite team) </li><li><a href="https://github.com/denoland/deno/releases/tag/v2.6.6">Deno 2.6.6</a></li><li><a href="https://bsky.app/profile/voidzero.dev/post/3mczfhjnnt724">Rolldown 1.0 RC</a> </li><li>TC39 News <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3mcz334l4ck27">via Rob Palmer</a></li><li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/147">Firefox 147 release notes for developers</a> </li><li><a href="https://nuxt.com/blog/v4-3">Nuxt 4.3</a></li><li><a href="https://svelte.dev/blog/cves-affecting-the-svelte-ecosystem">CVEs affecting the Svelte ecosystem</a> </li><li><a href="https://libpdf.documenso.com/">LibPDF</a>, the PDF library TypeScript developers deserve</li><li><a href="https://github.com/mcmah309/ts2rs">ts2rs</a> for converting TS types to Rust types</li><li><a href="https://mastra.ai/blog/announcing-mastra-1">Announcing Mastra 1.0!</a> </li><li>PSA: <a href="https://openjsf.org/blog/lodash-security-overhaul">Lodash Rolls Out Major Security Overhaul</a></li></ul><p><strong>From the Community</strong></p><ul><li>Daniel Roe <a href="https://bsky.app/profile/danielroe.dev/post/3md3cmrg56k2r">calls out</a> for npm frustrations, creating <a href="https://github.com/npmx-dev/npmx.dev">npmx.dev</a> </li><li>Tip: Supertype safety? <a href="https://bsky.app/profile/sirpepe.bsky.social/post/3mcw5rvhrgc2d">WeakMap is a supertype of Map</a> </li><li><a href="https://bsky.app/profile/nightshade.technology/post/3mdc6y22kklhr">Super MonkeyBall in a browser </a></li><li>Discussion: <a href="https://bsky.app/profile/nicolas.dubien.me/post/3mczq4cs3qs2f">Types, Package.json, and Modules</a> </li><li>Next.js: <a href="https://nextjs.org/blog/turbopack-incremental-computation">Inside Turbopack: Building Faster by Building Less</a></li></ul><p><strong>Cool Links</strong></p><ul><li><a href="https://bsky.app/profile/joshuakgoldberg.com/post/3mcsk7squp22c">Crudy</a> is an alternative to Postman</li><li>Gameboy Games by <a href="https://www.youtube.com/@systemoflevers">@systemoflevers</a> </li><li><a href="https://youtu.be/M8dk0JpkrbY?si=7S2zt1kBTVb5Do57">A Homebrew GPU for a Homebrew CPU</a></li><li><a href="https://www.youtube.com/live/dnGZLyOfm6w">Transforms 101 by Scott</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Wed, 28 Jan 2026 00:15:24 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/16226fb6/c7bbcd0e.mp3" length="20087008" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2506</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News for the week of <strong>January 19, 2026</strong>: Rolldown reaches 1.0 release candidate, and a PDF library we all deserve. <strong>From the community:</strong> a better npm admin experience, supertype safety, and modern package.json targets.</p><p><strong>Stand With Minnesota</strong><br>We are native Minnesotans. The ICE occupation is affecting our community in so many ways and has disrupted daily life for thousands of us. Families are sheltering in place, fearing to go to work, let their kids walk to school, take the bus, or even attend school at all. Adults and children are being abducted from their workplaces, schools, cars, and homes with aggressive tactics and without due process. There have been dozens of well-documented violations of our civil liberties and rights as US citizens, including the illegal detainment of peaceful protestors, constitutional observers, and people of color. ICE has shot and killed two US citizens already in the span of 3 weeks: Renee Good, a mother of three, and Alex Pretti, a VA nurse. They are out of control, they are causing irreparable harm, and we want them out of our cities. </p><p>Go to <a href="https://standwithminnesota.com">StandWithMinnesota.com</a> to learn how you can help.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(06:36) - News: TypeScript PR to Support Import Attributes in d.ts Files</li>
<li>(09:00) - News: Deno 2.6.6 Brings Some QOL Improvements</li>
<li>(10:15) - News: Rolldown 1.0 RC is Here</li>
<li>(14:13) - News: TC39 ECMAScript Proposal Updates</li>
<li>(19:04) - News: Firefox 147 Adds WebGPU on Apple Sillicon and Brotli Compression</li>
<li>(21:04) - News: Nuxt 4.3 Supports Inlining Critical CSS for Webpack and Rspack</li>
<li>(22:33) - PSA: Svelte Ecosystem Vulnerabilities</li>
<li>(24:26) - Library Watch: LibPDF, the PDF Library TypeScript Developers Deserve</li>
<li>(26:17) - Library Watch: ts2rs, Transforms TS Types to Rust Types</li>
<li>(27:38) - Library Watch: Mastra, TS Agent Toolkit, Reaches 1.0</li>
<li>(28:23) - PSA: Lodash Gets a Security Update and Governance from OpenJSF</li>
<li>(29:20) - Community Highlight: Daniel Roe Wants to Hear Your npm Frustrations</li>
<li>(29:57) - Community Highlight: Don't Assign a Map to WeakMap</li>
<li>(30:59) - Community Highlight: Super Monkey Ball on the Web</li>
<li>(31:38) - Community Highlight: Package.json for Modern Targets</li>
<li>(33:18) - Community Highlight: How Next.js Built Turbopack</li>
<li>(33:39) - Bleet of the Week</li>
<li>(34:21) - Cool Link: Crudy, a Postman Alternative</li>
<li>(35:05) - Cool Video: SystemOfLevers on How to Make a Gameboy Game</li>
<li>(35:24) - Cool Video: How to Make a Homebrew GPU</li>
<li>(35:57) - Cool Video: Transforms 101 by Scott</li>
<li>(36:17) - Cool Link: StandWithMinnesota.com</li>
<li>(37:29) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://bsky.app/profile/jonathanneal.bsky.social/post/3mczfveb3w22x">TypeScript PR</a> to add support for import attributes in ambient module declarations. <a href="https://github.com/microsoft/TypeScript/issues/46135">Motivating example</a> (from Vite team) </li><li><a href="https://github.com/denoland/deno/releases/tag/v2.6.6">Deno 2.6.6</a></li><li><a href="https://bsky.app/profile/voidzero.dev/post/3mczfhjnnt724">Rolldown 1.0 RC</a> </li><li>TC39 News <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3mcz334l4ck27">via Rob Palmer</a></li><li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/147">Firefox 147 release notes for developers</a> </li><li><a href="https://nuxt.com/blog/v4-3">Nuxt 4.3</a></li><li><a href="https://svelte.dev/blog/cves-affecting-the-svelte-ecosystem">CVEs affecting the Svelte ecosystem</a> </li><li><a href="https://libpdf.documenso.com/">LibPDF</a>, the PDF library TypeScript developers deserve</li><li><a href="https://github.com/mcmah309/ts2rs">ts2rs</a> for converting TS types to Rust types</li><li><a href="https://mastra.ai/blog/announcing-mastra-1">Announcing Mastra 1.0!</a> </li><li>PSA: <a href="https://openjsf.org/blog/lodash-security-overhaul">Lodash Rolls Out Major Security Overhaul</a></li></ul><p><strong>From the Community</strong></p><ul><li>Daniel Roe <a href="https://bsky.app/profile/danielroe.dev/post/3md3cmrg56k2r">calls out</a> for npm frustrations, creating <a href="https://github.com/npmx-dev/npmx.dev">npmx.dev</a> </li><li>Tip: Supertype safety? <a href="https://bsky.app/profile/sirpepe.bsky.social/post/3mcw5rvhrgc2d">WeakMap is a supertype of Map</a> </li><li><a href="https://bsky.app/profile/nightshade.technology/post/3mdc6y22kklhr">Super MonkeyBall in a browser </a></li><li>Discussion: <a href="https://bsky.app/profile/nicolas.dubien.me/post/3mczq4cs3qs2f">Types, Package.json, and Modules</a> </li><li>Next.js: <a href="https://nextjs.org/blog/turbopack-incremental-computation">Inside Turbopack: Building Faster by Building Less</a></li></ul><p><strong>Cool Links</strong></p><ul><li><a href="https://bsky.app/profile/joshuakgoldberg.com/post/3mcsk7squp22c">Crudy</a> is an alternative to Postman</li><li>Gameboy Games by <a href="https://www.youtube.com/@systemoflevers">@systemoflevers</a> </li><li><a href="https://youtu.be/M8dk0JpkrbY?si=7S2zt1kBTVb5Do57">A Homebrew GPU for a Homebrew CPU</a></li><li><a href="https://www.youtube.com/live/dnGZLyOfm6w">Transforms 101 by Scott</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/16226fb6/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Astro is Skyward Bound, Stable require(esm), and Temporal Finally Ships | News | Ep 52</title>
      <itunes:episode>52</itunes:episode>
      <podcast:episode>52</podcast:episode>
      <itunes:title>Astro is Skyward Bound, Stable require(esm), and Temporal Finally Ships | News | Ep 52</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">e1244d50-937d-4e8a-99b7-457b074bee20</guid>
      <link>https://share.transistor.fm/s/fc51d6e6</link>
      <description>
        <![CDATA[<p>News for the week of <strong>January 12, 2026</strong>: Astro finds a new home, Chrome ships Temporal API, and latest Node marks require(esm) as stable. <strong>From the community:</strong> type-safe UI, how TypeScript differs at dev-time vs runtime, and Deno's (impressive) latency under load.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:11) - News: Astro Joins Cloudflare</li>
<li>(06:09) - News: Astro 6 Beta Brings Parity to Dev and Prod Behavior</li>
<li>(07:46) - News: Node 25.4.0 Brings Stable require(esm)</li>
<li>(09:42) - News: Chrome 144 Ships Temporal, Safari... wen?</li>
<li>(12:58) - Library Watch: Ohm Lets You Build Parsers, Interpreters, and Compilers</li>
<li>(14:07) - PSA: Fastify Express Middleware Bypass Vulnerability</li>
<li>(15:09) - Community Highlight: Daniel Rosenwasser Fixes BOM Bug</li>
<li>(15:53) - Community Highlight: Type-safe UI by Andrew Hathaway</li>
<li>(16:51) - Community Highlight: Forcing TS to Be Exhaustive by Carlos Menezes</li>
<li>(18:11) - Community Highlight: Deno's Low Latency Under Load</li>
<li>(19:43) - Community Highlight: Deno 2.6.5 Adds WebP and GIF Support to createImageBitmap</li>
<li>(20:08) - Community Highlight: TypeScript. Runtime. And In-between by Ariel Shulman</li>
<li>(20:48) - Community Highlight: You Should Be Using Dev Containers</li>
<li>(21:42) - Community Highlight: useOptimistic Won't Save You by Colum Kelly</li>
<li>(22:09) - Community Highlight: React Native Best Practices for AI Agents by Callstack</li>
<li>(23:39) - Bleet of the Week</li>
<li>(24:23) - Cool Link: Gameboy LEGO Set</li>
<li>(25:00) - Cool Link: Global Game Jam is Happening Soon</li>
<li>(25:56) - Cool Link: Realistic Terrain with Wave Function Collapse</li>
<li>(27:19) - Cool Link: Complete CSS Course by Andy Bell</li>
<li>(29:13) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>Astro: <a href="https://astro.build/blog/joining-cloudflare/">The Astro Technology Company joins Cloudflare</a> <ul><li>Theo: <a href="https://www.youtube.com/watch?v=X1Gfv7P-XRw">Cloudflare takes on Next.js</a> </li></ul></li><li>Astro: <a href="https://astro.build/blog/astro-6-beta/">Astro 6 Beta</a> </li><li>Node 25.4.0 is out: <a href="https://bsky.app/profile/joyeecheung.bsky.social/post/3mcsca6j5cs2w">Joyee Cheung BSky Thread</a></li><li>Chrome 144: <a href="https://bsky.app/profile/bell.bz/post/3mceogqzab22k">Temporal shipped, Safari its your turn</a> (via Andy Bell)<ul><li>Sarah Gooding: <a href="https://socket.dev/blog/temporal-api-ships-in-chrome-144-major-shift-for-javascript-date-handling">Temporal API Ships in Chrome 144, Marking a Major Shift for JavaScript Date Handling</a> (via Rob Palmer)</li><li><a href="https://www.npmjs.com/package/temporal-polyfill">Temporal Polyfill</a></li><li><a href="https://calendar.perfplanet.com/2018/doing-differential-serving-in-2019/">Differential serving / bundling</a> by Jeremy Wagner</li></ul></li><li>Library Watch: <a href="https://ohmjs.org/">Ohm</a> (via <a href="https://javascriptweekly.com/issues/768">JavaScript Weekly Issue 768: January 13, 2026</a>)</li><li>PSA: <a href="https://cvefeed.io/vuln/detail/CVE-2026-22037">Fastify Express middleware can be bypassed</a></li></ul><p><strong>From the Community</strong></p><ul><li>Daniel Rosenwasser <a href="https://bsky.app/profile/danr.bsky.social/post/3mcg5gqk36c2t">found a latent bug</a> in TS 6.0 with BOMs and strict testing</li><li>Andrew Hathaway: <a href="https://andrewhathaway.net/blog/manifest-pattern/">Type-Safe User Interfaces &amp; the Manifest Pattern</a> </li><li>Carlos Menezes: <a href="https://www.carlos-menezes.com/posts/exhaustive-checking-typescript">Forcing TypeScript to be exhaustive</a> </li><li>Deno: <a href="https://bsky.app/profile/deno.land/post/3mci52qzxgc23">P99 Latency is 72% Lower Than Node.js</a></li><li>Deno: <a href="https://bsky.app/profile/deno.land/post/3mchyxstcxk2k">Deno 2.6.5 Adds WebP and GIF Support to createImageBitmap</a> </li><li>Ariel Shulman: <a href="https://youtu.be/oHGfuZoswO0?si=ssQjMcnRgHUj8I39">Typescript. Runtime. And in Between. - Ariel Shulman - NDC Copenhagen 2025</a></li><li> Syntax/Coding Garden: <a href="https://youtu.be/kPMA9cnpScU?si=7vOshueal8l9hXYl">you should be using dev containers</a></li><li>Colum Kelly: <a href="https://www.columkelly.com/blog/use-optimistic">useOptimistic Won't Save You</a> (via <a href="https://react-weekly.dev/newsletter/3">React Weekly Issue #3</a>) </li><li>Callstack: <a href="https://www.callstack.com/blog/announcing-react-native-best-practices-for-ai-agents">Announcing: React Native Best Practices for AI Agents</a> (via <a href="https://react-weekly.dev/newsletter/3">React Weekly Issue #3</a>)</li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Buy: <a href="https://www.lego.com/en-us/product/game-boy-72046">Game Boy™ 72046</a> LEGO set</li><li>Cool Link: <a href="https://globalgamejam.org/">Global Game Jam</a>  is happening!</li><li>Cool Code: <a href="https://wfc-auth-tool.vercel.app/">Wave Function Collapse</a> by <a href="https://github.com/jyoung4242/Game-Dev-Library">jyoung4242</a> (plus a <a href="https://anim-genv2.vercel.app/">sprite animation creator</a>)</li><li>Cool Course: <a href="https://piccalil.li/complete-css">Complete CSS - Piccalilli</a> by Andy Bell </li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News for the week of <strong>January 12, 2026</strong>: Astro finds a new home, Chrome ships Temporal API, and latest Node marks require(esm) as stable. <strong>From the community:</strong> type-safe UI, how TypeScript differs at dev-time vs runtime, and Deno's (impressive) latency under load.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:11) - News: Astro Joins Cloudflare</li>
<li>(06:09) - News: Astro 6 Beta Brings Parity to Dev and Prod Behavior</li>
<li>(07:46) - News: Node 25.4.0 Brings Stable require(esm)</li>
<li>(09:42) - News: Chrome 144 Ships Temporal, Safari... wen?</li>
<li>(12:58) - Library Watch: Ohm Lets You Build Parsers, Interpreters, and Compilers</li>
<li>(14:07) - PSA: Fastify Express Middleware Bypass Vulnerability</li>
<li>(15:09) - Community Highlight: Daniel Rosenwasser Fixes BOM Bug</li>
<li>(15:53) - Community Highlight: Type-safe UI by Andrew Hathaway</li>
<li>(16:51) - Community Highlight: Forcing TS to Be Exhaustive by Carlos Menezes</li>
<li>(18:11) - Community Highlight: Deno's Low Latency Under Load</li>
<li>(19:43) - Community Highlight: Deno 2.6.5 Adds WebP and GIF Support to createImageBitmap</li>
<li>(20:08) - Community Highlight: TypeScript. Runtime. And In-between by Ariel Shulman</li>
<li>(20:48) - Community Highlight: You Should Be Using Dev Containers</li>
<li>(21:42) - Community Highlight: useOptimistic Won't Save You by Colum Kelly</li>
<li>(22:09) - Community Highlight: React Native Best Practices for AI Agents by Callstack</li>
<li>(23:39) - Bleet of the Week</li>
<li>(24:23) - Cool Link: Gameboy LEGO Set</li>
<li>(25:00) - Cool Link: Global Game Jam is Happening Soon</li>
<li>(25:56) - Cool Link: Realistic Terrain with Wave Function Collapse</li>
<li>(27:19) - Cool Link: Complete CSS Course by Andy Bell</li>
<li>(29:13) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>Astro: <a href="https://astro.build/blog/joining-cloudflare/">The Astro Technology Company joins Cloudflare</a> <ul><li>Theo: <a href="https://www.youtube.com/watch?v=X1Gfv7P-XRw">Cloudflare takes on Next.js</a> </li></ul></li><li>Astro: <a href="https://astro.build/blog/astro-6-beta/">Astro 6 Beta</a> </li><li>Node 25.4.0 is out: <a href="https://bsky.app/profile/joyeecheung.bsky.social/post/3mcsca6j5cs2w">Joyee Cheung BSky Thread</a></li><li>Chrome 144: <a href="https://bsky.app/profile/bell.bz/post/3mceogqzab22k">Temporal shipped, Safari its your turn</a> (via Andy Bell)<ul><li>Sarah Gooding: <a href="https://socket.dev/blog/temporal-api-ships-in-chrome-144-major-shift-for-javascript-date-handling">Temporal API Ships in Chrome 144, Marking a Major Shift for JavaScript Date Handling</a> (via Rob Palmer)</li><li><a href="https://www.npmjs.com/package/temporal-polyfill">Temporal Polyfill</a></li><li><a href="https://calendar.perfplanet.com/2018/doing-differential-serving-in-2019/">Differential serving / bundling</a> by Jeremy Wagner</li></ul></li><li>Library Watch: <a href="https://ohmjs.org/">Ohm</a> (via <a href="https://javascriptweekly.com/issues/768">JavaScript Weekly Issue 768: January 13, 2026</a>)</li><li>PSA: <a href="https://cvefeed.io/vuln/detail/CVE-2026-22037">Fastify Express middleware can be bypassed</a></li></ul><p><strong>From the Community</strong></p><ul><li>Daniel Rosenwasser <a href="https://bsky.app/profile/danr.bsky.social/post/3mcg5gqk36c2t">found a latent bug</a> in TS 6.0 with BOMs and strict testing</li><li>Andrew Hathaway: <a href="https://andrewhathaway.net/blog/manifest-pattern/">Type-Safe User Interfaces &amp; the Manifest Pattern</a> </li><li>Carlos Menezes: <a href="https://www.carlos-menezes.com/posts/exhaustive-checking-typescript">Forcing TypeScript to be exhaustive</a> </li><li>Deno: <a href="https://bsky.app/profile/deno.land/post/3mci52qzxgc23">P99 Latency is 72% Lower Than Node.js</a></li><li>Deno: <a href="https://bsky.app/profile/deno.land/post/3mchyxstcxk2k">Deno 2.6.5 Adds WebP and GIF Support to createImageBitmap</a> </li><li>Ariel Shulman: <a href="https://youtu.be/oHGfuZoswO0?si=ssQjMcnRgHUj8I39">Typescript. Runtime. And in Between. - Ariel Shulman - NDC Copenhagen 2025</a></li><li> Syntax/Coding Garden: <a href="https://youtu.be/kPMA9cnpScU?si=7vOshueal8l9hXYl">you should be using dev containers</a></li><li>Colum Kelly: <a href="https://www.columkelly.com/blog/use-optimistic">useOptimistic Won't Save You</a> (via <a href="https://react-weekly.dev/newsletter/3">React Weekly Issue #3</a>) </li><li>Callstack: <a href="https://www.callstack.com/blog/announcing-react-native-best-practices-for-ai-agents">Announcing: React Native Best Practices for AI Agents</a> (via <a href="https://react-weekly.dev/newsletter/3">React Weekly Issue #3</a>)</li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Buy: <a href="https://www.lego.com/en-us/product/game-boy-72046">Game Boy™ 72046</a> LEGO set</li><li>Cool Link: <a href="https://globalgamejam.org/">Global Game Jam</a>  is happening!</li><li>Cool Code: <a href="https://wfc-auth-tool.vercel.app/">Wave Function Collapse</a> by <a href="https://github.com/jyoung4242/Game-Dev-Library">jyoung4242</a> (plus a <a href="https://anim-genv2.vercel.app/">sprite animation creator</a>)</li><li>Cool Course: <a href="https://piccalil.li/complete-css">Complete CSS - Piccalilli</a> by Andy Bell </li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Tue, 20 Jan 2026 15:17:07 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/fc51d6e6/c0e1440f.mp3" length="15525332" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>1935</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News for the week of <strong>January 12, 2026</strong>: Astro finds a new home, Chrome ships Temporal API, and latest Node marks require(esm) as stable. <strong>From the community:</strong> type-safe UI, how TypeScript differs at dev-time vs runtime, and Deno's (impressive) latency under load.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:11) - News: Astro Joins Cloudflare</li>
<li>(06:09) - News: Astro 6 Beta Brings Parity to Dev and Prod Behavior</li>
<li>(07:46) - News: Node 25.4.0 Brings Stable require(esm)</li>
<li>(09:42) - News: Chrome 144 Ships Temporal, Safari... wen?</li>
<li>(12:58) - Library Watch: Ohm Lets You Build Parsers, Interpreters, and Compilers</li>
<li>(14:07) - PSA: Fastify Express Middleware Bypass Vulnerability</li>
<li>(15:09) - Community Highlight: Daniel Rosenwasser Fixes BOM Bug</li>
<li>(15:53) - Community Highlight: Type-safe UI by Andrew Hathaway</li>
<li>(16:51) - Community Highlight: Forcing TS to Be Exhaustive by Carlos Menezes</li>
<li>(18:11) - Community Highlight: Deno's Low Latency Under Load</li>
<li>(19:43) - Community Highlight: Deno 2.6.5 Adds WebP and GIF Support to createImageBitmap</li>
<li>(20:08) - Community Highlight: TypeScript. Runtime. And In-between by Ariel Shulman</li>
<li>(20:48) - Community Highlight: You Should Be Using Dev Containers</li>
<li>(21:42) - Community Highlight: useOptimistic Won't Save You by Colum Kelly</li>
<li>(22:09) - Community Highlight: React Native Best Practices for AI Agents by Callstack</li>
<li>(23:39) - Bleet of the Week</li>
<li>(24:23) - Cool Link: Gameboy LEGO Set</li>
<li>(25:00) - Cool Link: Global Game Jam is Happening Soon</li>
<li>(25:56) - Cool Link: Realistic Terrain with Wave Function Collapse</li>
<li>(27:19) - Cool Link: Complete CSS Course by Andy Bell</li>
<li>(29:13) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>Astro: <a href="https://astro.build/blog/joining-cloudflare/">The Astro Technology Company joins Cloudflare</a> <ul><li>Theo: <a href="https://www.youtube.com/watch?v=X1Gfv7P-XRw">Cloudflare takes on Next.js</a> </li></ul></li><li>Astro: <a href="https://astro.build/blog/astro-6-beta/">Astro 6 Beta</a> </li><li>Node 25.4.0 is out: <a href="https://bsky.app/profile/joyeecheung.bsky.social/post/3mcsca6j5cs2w">Joyee Cheung BSky Thread</a></li><li>Chrome 144: <a href="https://bsky.app/profile/bell.bz/post/3mceogqzab22k">Temporal shipped, Safari its your turn</a> (via Andy Bell)<ul><li>Sarah Gooding: <a href="https://socket.dev/blog/temporal-api-ships-in-chrome-144-major-shift-for-javascript-date-handling">Temporal API Ships in Chrome 144, Marking a Major Shift for JavaScript Date Handling</a> (via Rob Palmer)</li><li><a href="https://www.npmjs.com/package/temporal-polyfill">Temporal Polyfill</a></li><li><a href="https://calendar.perfplanet.com/2018/doing-differential-serving-in-2019/">Differential serving / bundling</a> by Jeremy Wagner</li></ul></li><li>Library Watch: <a href="https://ohmjs.org/">Ohm</a> (via <a href="https://javascriptweekly.com/issues/768">JavaScript Weekly Issue 768: January 13, 2026</a>)</li><li>PSA: <a href="https://cvefeed.io/vuln/detail/CVE-2026-22037">Fastify Express middleware can be bypassed</a></li></ul><p><strong>From the Community</strong></p><ul><li>Daniel Rosenwasser <a href="https://bsky.app/profile/danr.bsky.social/post/3mcg5gqk36c2t">found a latent bug</a> in TS 6.0 with BOMs and strict testing</li><li>Andrew Hathaway: <a href="https://andrewhathaway.net/blog/manifest-pattern/">Type-Safe User Interfaces &amp; the Manifest Pattern</a> </li><li>Carlos Menezes: <a href="https://www.carlos-menezes.com/posts/exhaustive-checking-typescript">Forcing TypeScript to be exhaustive</a> </li><li>Deno: <a href="https://bsky.app/profile/deno.land/post/3mci52qzxgc23">P99 Latency is 72% Lower Than Node.js</a></li><li>Deno: <a href="https://bsky.app/profile/deno.land/post/3mchyxstcxk2k">Deno 2.6.5 Adds WebP and GIF Support to createImageBitmap</a> </li><li>Ariel Shulman: <a href="https://youtu.be/oHGfuZoswO0?si=ssQjMcnRgHUj8I39">Typescript. Runtime. And in Between. - Ariel Shulman - NDC Copenhagen 2025</a></li><li> Syntax/Coding Garden: <a href="https://youtu.be/kPMA9cnpScU?si=7vOshueal8l9hXYl">you should be using dev containers</a></li><li>Colum Kelly: <a href="https://www.columkelly.com/blog/use-optimistic">useOptimistic Won't Save You</a> (via <a href="https://react-weekly.dev/newsletter/3">React Weekly Issue #3</a>) </li><li>Callstack: <a href="https://www.callstack.com/blog/announcing-react-native-best-practices-for-ai-agents">Announcing: React Native Best Practices for AI Agents</a> (via <a href="https://react-weekly.dev/newsletter/3">React Weekly Issue #3</a>)</li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Buy: <a href="https://www.lego.com/en-us/product/game-boy-72046">Game Boy™ 72046</a> LEGO set</li><li>Cool Link: <a href="https://globalgamejam.org/">Global Game Jam</a>  is happening!</li><li>Cool Code: <a href="https://wfc-auth-tool.vercel.app/">Wave Function Collapse</a> by <a href="https://github.com/jyoung4242/Game-Dev-Library">jyoung4242</a> (plus a <a href="https://anim-genv2.vercel.app/">sprite animation creator</a>)</li><li>Cool Course: <a href="https://piccalil.li/complete-css">Complete CSS - Piccalilli</a> by Andy Bell </li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/fc51d6e6/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Node.js Patch Tuesday, Fix Unused Imports, and Why Logging Sucks | News | Ep 51</title>
      <itunes:episode>51</itunes:episode>
      <podcast:episode>51</podcast:episode>
      <itunes:title>Node.js Patch Tuesday, Fix Unused Imports, and Why Logging Sucks | News | Ep 51</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">d219221c-61c3-4a31-bb7e-c19eb10e98b4</guid>
      <link>https://share.transistor.fm/s/3c080d17</link>
      <description>
        <![CDATA[<p>News for the week of <strong>January 5, 2026</strong>: patch all your Node.js installations! Like now! Plus, a new TypeScript ESLint fixer for unused imports. <strong>From the community:</strong> why we all suck at logging, the concise TypeScript book, and all the JS engines in one page.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:59) - News: Node.js Patch Tuesday</li>
<li>(12:13) - News: Astro 2025 Year in Review</li>
<li>(13:19) - News: What's New in ViteLand, December 2025</li>
<li>(13:41) - News: TypeScript ESLint 8.5.3 Adds Unused Import Fixer</li>
<li>(14:16) - Library Watch: Typique, Bundler Agnostic CSS-in-TS</li>
<li>(19:04) - Community Highlight: JS Engine Zoo by Ivan Krasilnikov</li>
<li>(21:24) - Community Highlight: Logging Sucks by Boris Tane</li>
<li>(24:49) - Community Highlight: Optique Sync/Async Mode Support by Hongmin Lee</li>
<li>(25:44) - Community Highlight: Use Vitest Projects by How to Test Frontend</li>
<li>(26:27) - Community Highlight: The Concise TypeScript Book by Simone Poggiali</li>
<li>(28:08) - Community Highlight: Syntax.fm with Dimitri on Type Slayer</li>
<li>(29:02) - Community Highlight: Jake Bailey's GopherCon Talk Now on YT</li>
<li>(29:47) - Community Highlight: Things-viz, Visualize Your Things 3 Todo Lists</li>
<li>(30:40) - Bleet of the Week</li>
<li>(31:09) - Secret of the Handbook: Decorators</li>
<li>(33:47) - Cool Link: TransparentTextures.com</li>
<li>(34:25) - Cool Link: FreeToUse.com</li>
<li>(35:11) - Cool Product: Mighty-3 Music Player</li>
<li>(37:51) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>Node PSA: <a href="https://nodejs.org/en/blog/vulnerability/december-2025-security-releases">Security Releases for January 13</a></li><li>Astro: <a href="https://astro.build/blog/year-in-review-2025/">2025 Year in Review</a></li><li>VoidZero: <a href="https://voidzero.dev/posts/whats-new-dec-2025">What’s New in ViteLand: December 2025 Recap</a> </li><li>TypeScript ESLint 8.53.0: <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.53.0">Unused Imports</a></li><li>Library Watch: <a href="https://github.com/aleksei-berezkin/typique">aleksei-berezkin/typique: Bundler-agnostic, zero-runtime CSS-in-TS</a></li></ul><p><strong>From the Community</strong></p><ul><li>Ivankra: <a href="https://zoo.js.org/">Javascript Engine Zoo</a></li><li>Boris Tane: <a href="https://loggingsucks.com/">Logging Sucks</a></li><li>Hongmin Lee: <a href="https://hackers.pub/@hongminhee/2026/typescript-sync-async-type-safety">Optique's type-safe sync/async mode support</a></li><li>How to Test Frontend: <a href="https://howtotestfrontend.com/resources/vitest-config-projects">Why you should start using projects in Vitest configuration</a></li><li>Simone Poggiali: <a href="https://github.com/gibbok/typescript-book">The Concise TypeScript Book</a></li><li>Syntax.fm: <a href="https://www.youtube.com/watch?v=0cXD1FGvRdA">How this guy got DOOM running purely in TypeScript Types</a> </li><li>Devtools.fm: <a href="https://youtu.be/BgydLnSwrUg?si=PuBDJy4rSUSebFbM">Storybook Modernization</a></li><li>Jake Bailey: <a href="https://bsky.app/profile/jakebailey.dev/post/3mbshgnbnik24">Porting TS to Go</a> (Gophercon talk)</li><li>David Crespo: <a href="https://github.com/david-crespo/things-viz">Things-viz TypeScript CLI</a></li><li>Secret of the Handbook: <a href="https://medium.com/@aude.lellouche/typescript-decorators-stage-3-technical-challenges-and-tips-for-overcoming-them-8deed94a3de7">TypeScript Decorators Deep Dive</a></li></ul><p><strong>Cool Links</strong></p><ul><li><a href="https://www.transparenttextures.com/">Transparent Textures</a> - Create background tiling images</li><li><a href="https://freetouse.com">Free to Use</a> - Like <a href="https://freetouse.com/music/category/lofi">Lofi music</a></li><li><a href="https://bemighty.com/collections/mighty-3-spotify-music-players?srsltid=AfmBOooqOTCH7r7vunZ4FnKV7BN2yPmk0EGewayM0KQ1DjTIQAupjAwy">Mighty 3 music player</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News for the week of <strong>January 5, 2026</strong>: patch all your Node.js installations! Like now! Plus, a new TypeScript ESLint fixer for unused imports. <strong>From the community:</strong> why we all suck at logging, the concise TypeScript book, and all the JS engines in one page.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:59) - News: Node.js Patch Tuesday</li>
<li>(12:13) - News: Astro 2025 Year in Review</li>
<li>(13:19) - News: What's New in ViteLand, December 2025</li>
<li>(13:41) - News: TypeScript ESLint 8.5.3 Adds Unused Import Fixer</li>
<li>(14:16) - Library Watch: Typique, Bundler Agnostic CSS-in-TS</li>
<li>(19:04) - Community Highlight: JS Engine Zoo by Ivan Krasilnikov</li>
<li>(21:24) - Community Highlight: Logging Sucks by Boris Tane</li>
<li>(24:49) - Community Highlight: Optique Sync/Async Mode Support by Hongmin Lee</li>
<li>(25:44) - Community Highlight: Use Vitest Projects by How to Test Frontend</li>
<li>(26:27) - Community Highlight: The Concise TypeScript Book by Simone Poggiali</li>
<li>(28:08) - Community Highlight: Syntax.fm with Dimitri on Type Slayer</li>
<li>(29:02) - Community Highlight: Jake Bailey's GopherCon Talk Now on YT</li>
<li>(29:47) - Community Highlight: Things-viz, Visualize Your Things 3 Todo Lists</li>
<li>(30:40) - Bleet of the Week</li>
<li>(31:09) - Secret of the Handbook: Decorators</li>
<li>(33:47) - Cool Link: TransparentTextures.com</li>
<li>(34:25) - Cool Link: FreeToUse.com</li>
<li>(35:11) - Cool Product: Mighty-3 Music Player</li>
<li>(37:51) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>Node PSA: <a href="https://nodejs.org/en/blog/vulnerability/december-2025-security-releases">Security Releases for January 13</a></li><li>Astro: <a href="https://astro.build/blog/year-in-review-2025/">2025 Year in Review</a></li><li>VoidZero: <a href="https://voidzero.dev/posts/whats-new-dec-2025">What’s New in ViteLand: December 2025 Recap</a> </li><li>TypeScript ESLint 8.53.0: <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.53.0">Unused Imports</a></li><li>Library Watch: <a href="https://github.com/aleksei-berezkin/typique">aleksei-berezkin/typique: Bundler-agnostic, zero-runtime CSS-in-TS</a></li></ul><p><strong>From the Community</strong></p><ul><li>Ivankra: <a href="https://zoo.js.org/">Javascript Engine Zoo</a></li><li>Boris Tane: <a href="https://loggingsucks.com/">Logging Sucks</a></li><li>Hongmin Lee: <a href="https://hackers.pub/@hongminhee/2026/typescript-sync-async-type-safety">Optique's type-safe sync/async mode support</a></li><li>How to Test Frontend: <a href="https://howtotestfrontend.com/resources/vitest-config-projects">Why you should start using projects in Vitest configuration</a></li><li>Simone Poggiali: <a href="https://github.com/gibbok/typescript-book">The Concise TypeScript Book</a></li><li>Syntax.fm: <a href="https://www.youtube.com/watch?v=0cXD1FGvRdA">How this guy got DOOM running purely in TypeScript Types</a> </li><li>Devtools.fm: <a href="https://youtu.be/BgydLnSwrUg?si=PuBDJy4rSUSebFbM">Storybook Modernization</a></li><li>Jake Bailey: <a href="https://bsky.app/profile/jakebailey.dev/post/3mbshgnbnik24">Porting TS to Go</a> (Gophercon talk)</li><li>David Crespo: <a href="https://github.com/david-crespo/things-viz">Things-viz TypeScript CLI</a></li><li>Secret of the Handbook: <a href="https://medium.com/@aude.lellouche/typescript-decorators-stage-3-technical-challenges-and-tips-for-overcoming-them-8deed94a3de7">TypeScript Decorators Deep Dive</a></li></ul><p><strong>Cool Links</strong></p><ul><li><a href="https://www.transparenttextures.com/">Transparent Textures</a> - Create background tiling images</li><li><a href="https://freetouse.com">Free to Use</a> - Like <a href="https://freetouse.com/music/category/lofi">Lofi music</a></li><li><a href="https://bemighty.com/collections/mighty-3-spotify-music-players?srsltid=AfmBOooqOTCH7r7vunZ4FnKV7BN2yPmk0EGewayM0KQ1DjTIQAupjAwy">Mighty 3 music player</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Wed, 14 Jan 2026 00:07:24 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/3c080d17/7367566c.mp3" length="20811340" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2596</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News for the week of <strong>January 5, 2026</strong>: patch all your Node.js installations! Like now! Plus, a new TypeScript ESLint fixer for unused imports. <strong>From the community:</strong> why we all suck at logging, the concise TypeScript book, and all the JS engines in one page.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:59) - News: Node.js Patch Tuesday</li>
<li>(12:13) - News: Astro 2025 Year in Review</li>
<li>(13:19) - News: What's New in ViteLand, December 2025</li>
<li>(13:41) - News: TypeScript ESLint 8.5.3 Adds Unused Import Fixer</li>
<li>(14:16) - Library Watch: Typique, Bundler Agnostic CSS-in-TS</li>
<li>(19:04) - Community Highlight: JS Engine Zoo by Ivan Krasilnikov</li>
<li>(21:24) - Community Highlight: Logging Sucks by Boris Tane</li>
<li>(24:49) - Community Highlight: Optique Sync/Async Mode Support by Hongmin Lee</li>
<li>(25:44) - Community Highlight: Use Vitest Projects by How to Test Frontend</li>
<li>(26:27) - Community Highlight: The Concise TypeScript Book by Simone Poggiali</li>
<li>(28:08) - Community Highlight: Syntax.fm with Dimitri on Type Slayer</li>
<li>(29:02) - Community Highlight: Jake Bailey's GopherCon Talk Now on YT</li>
<li>(29:47) - Community Highlight: Things-viz, Visualize Your Things 3 Todo Lists</li>
<li>(30:40) - Bleet of the Week</li>
<li>(31:09) - Secret of the Handbook: Decorators</li>
<li>(33:47) - Cool Link: TransparentTextures.com</li>
<li>(34:25) - Cool Link: FreeToUse.com</li>
<li>(35:11) - Cool Product: Mighty-3 Music Player</li>
<li>(37:51) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>Node PSA: <a href="https://nodejs.org/en/blog/vulnerability/december-2025-security-releases">Security Releases for January 13</a></li><li>Astro: <a href="https://astro.build/blog/year-in-review-2025/">2025 Year in Review</a></li><li>VoidZero: <a href="https://voidzero.dev/posts/whats-new-dec-2025">What’s New in ViteLand: December 2025 Recap</a> </li><li>TypeScript ESLint 8.53.0: <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.53.0">Unused Imports</a></li><li>Library Watch: <a href="https://github.com/aleksei-berezkin/typique">aleksei-berezkin/typique: Bundler-agnostic, zero-runtime CSS-in-TS</a></li></ul><p><strong>From the Community</strong></p><ul><li>Ivankra: <a href="https://zoo.js.org/">Javascript Engine Zoo</a></li><li>Boris Tane: <a href="https://loggingsucks.com/">Logging Sucks</a></li><li>Hongmin Lee: <a href="https://hackers.pub/@hongminhee/2026/typescript-sync-async-type-safety">Optique's type-safe sync/async mode support</a></li><li>How to Test Frontend: <a href="https://howtotestfrontend.com/resources/vitest-config-projects">Why you should start using projects in Vitest configuration</a></li><li>Simone Poggiali: <a href="https://github.com/gibbok/typescript-book">The Concise TypeScript Book</a></li><li>Syntax.fm: <a href="https://www.youtube.com/watch?v=0cXD1FGvRdA">How this guy got DOOM running purely in TypeScript Types</a> </li><li>Devtools.fm: <a href="https://youtu.be/BgydLnSwrUg?si=PuBDJy4rSUSebFbM">Storybook Modernization</a></li><li>Jake Bailey: <a href="https://bsky.app/profile/jakebailey.dev/post/3mbshgnbnik24">Porting TS to Go</a> (Gophercon talk)</li><li>David Crespo: <a href="https://github.com/david-crespo/things-viz">Things-viz TypeScript CLI</a></li><li>Secret of the Handbook: <a href="https://medium.com/@aude.lellouche/typescript-decorators-stage-3-technical-challenges-and-tips-for-overcoming-them-8deed94a3de7">TypeScript Decorators Deep Dive</a></li></ul><p><strong>Cool Links</strong></p><ul><li><a href="https://www.transparenttextures.com/">Transparent Textures</a> - Create background tiling images</li><li><a href="https://freetouse.com">Free to Use</a> - Like <a href="https://freetouse.com/music/category/lofi">Lofi music</a></li><li><a href="https://bemighty.com/collections/mighty-3-spotify-music-players?srsltid=AfmBOooqOTCH7r7vunZ4FnKV7BN2yPmk0EGewayM0KQ1DjTIQAupjAwy">Mighty 3 music player</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/3c080d17/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>The Grinch Stole MongoDB, a Backend Library Called Vla, and Strongly-typed Event Emitters | News | Ep 50</title>
      <itunes:episode>50</itunes:episode>
      <podcast:episode>50</podcast:episode>
      <itunes:title>The Grinch Stole MongoDB, a Backend Library Called Vla, and Strongly-typed Event Emitters | News | Ep 50</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">f6ec7673-403b-433e-a969-cadc7c13ebe3</guid>
      <link>https://share.transistor.fm/s/5a349285</link>
      <description>
        <![CDATA[<p>News for the weeks of <strong>December 22 and 29, 2025</strong>: MongoDB exploit drops on Christmas day in true Grinchy fashion, a new backend library called Vla that is far from blah, and starter templates for your next React Native app. <strong>From the community:</strong> NodeTLV keynote, strongly-typed events in gamedev, and a 6-hour deep dive into Doom in TS.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the New Year</li>
<li>(07:52) - News: The Grinch Stole Your Secrets with MongoBleed </li>
<li>(10:39) - News: Node.js Security Release Expected January 7</li>
<li>(11:13) - Library Watch: Vla, the Missing Backend Library for TypeScript</li>
<li>(13:13) - Library Watch: macOS iMessage API SDK for TypeScript</li>
<li>(13:53) - Library Watch: React Native UI Templates</li>
<li>(14:51) - Library Watch: js-draw, a Canvas Drawing Library</li>
<li>(15:48) - Community Highlight: Strongly-typed Events in GameDev by Justin Young</li>
<li>(16:19) - Community Highlight: Flint, a Modern Linting Engine by Josh Goldberg</li>
<li>(16:42) - Community Highlight: Tooling Like It's 2025 by Josh Goldberg</li>
<li>(16:59) - Community Highlight: Major Color.js Update by Lea Verou</li>
<li>(19:18) - Community Highlight: Building Reusable Form Component Library with TanStack Form by Matt Huggins</li>
<li>(19:54) - Community Highlight: Static Hermes is Pretty Cool by Devon Govett</li>
<li>(21:11) - Community Highlight: DOOM in TS Types Stream by MiTS</li>
<li>(22:09) - Community Highlight: Solitaire in TypeScript by Oidoid</li>
<li>(22:57) - Community Highlight: Lo-fi Valley Engine by Leocast</li>
<li>(24:12) - Bleet of the Year</li>
<li>(25:26) - Cool Link: TypeScript Function Inlining</li>
<li>(25:49) - Cool Link: Pass Key Explainer</li>
<li>(29:58) - Cool Game: Outer Worlds 2</li>
<li>(31:26) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>PSA: <a href="https://www.bleepingcomputer.com/news/security/exploited-mongobleed-flaw-leaks-mongodb-secrets-87k-servers-exposed/">Exploited MongoBleed flaw leaks MongoDB secrets, 87K servers exposed</a> </li><li>PSA: <a href="https://nodejs.org/en/blog/vulnerability/december-2025-security-releases">Node.js — Wednesday, January 7, 2026 Security Releases</a> </li><li>Library Watch: <a href="https://bsky.app/profile/timomeh.de/post/3mba3az3lds2v">Vla</a>, a data layer that integrates into any TypeScript framework</li><li>Library Watch: <a href="https://github.com/photon-hq/advanced-imessage-kit/">TypeScript SDK for iMessage automation on macOS</a></li><li>Library Watch: <a href="https://github.com/Aashu-Dubey/React-Native-UI-Templates/">React Native UI Templates</a></li><li>Library Watch: <a href="https://github.com/personalizedrefrigerator/js-draw/">js-draw</a>, pencil/pen drawing utilities for JS and Canvas</li></ul><p><strong>From the Community</strong></p><ul><li>Justin Young: <a href="https://excaliburjs.com/blog/Event%20Driven%20Gameplay%20in%20ExcaliburJS/">Strongly Typed Events in GameDev</a></li><li>Josh Goldberg: NodeTLV Keynote, <a href="https://www.youtube.com/watch?v=1JSE4xfyHZQ">Tooling Like It's 2025</a> </li><li>Josh Goldberg: <a href="https://www.flint.fyi/blog/what-flint-does-differently/">What Flint Does Differently</a></li><li>Lea Verou: <a href="https://bsky.app/profile/lea.verou.me/post/3mavlajf53k2i">ColorJS major release</a></li><li>Matt Huggins: <a href="https://matthuggins.com/blog/posts/building-a-reusable-form-component-library-with-tanstack-form">Building a Reusable Form Component Library with TanStack Form</a></li><li>Devon Govett: <a href="https://bsky.app/profile/devongovett.me/post/3mb5v6qmkzk25">Static Hermes is pretty cool</a></li><li>MiTS: <a href="https://bsky.app/profile/michigantypescript.com/post/3mbkft7iees2w">Doom TS deep dive stream</a></li><li>oidoid: <a href="https://github.com/oidoid/super-patience">Super Patience</a> - Pixelated Solitaire in Typescript</li><li>Leoocast: <a href="https://github.com/Leoocast/lofi-valley-engine">Lofi Valley Engine</a> - Make your dream Stardew Valley clone</li></ul><p><br></p><p><strong>Cool Links</strong></p><ul><li>Cool Watch: <a href="https://youtu.be/xYfiOnufBSk?si=lTameoN8oWp74oK3">How Passkeys Work - Computerphile</a> </li><li>Cool Tool: <a href="https://github.com/JoshuaKGoldberg/ts-function-inliner">JoshuaKGoldberg/ts-function-inliner: TypeScript transformation that inlines calls to small functions</a></li><li>Cool Game: <a href="https://keeptrackofmygames.com/games/396135-a/the-outer-worlds-2">Outer Worlds 2</a>, from the developers of Fallout: New Vegas and Avowed</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News for the weeks of <strong>December 22 and 29, 2025</strong>: MongoDB exploit drops on Christmas day in true Grinchy fashion, a new backend library called Vla that is far from blah, and starter templates for your next React Native app. <strong>From the community:</strong> NodeTLV keynote, strongly-typed events in gamedev, and a 6-hour deep dive into Doom in TS.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the New Year</li>
<li>(07:52) - News: The Grinch Stole Your Secrets with MongoBleed </li>
<li>(10:39) - News: Node.js Security Release Expected January 7</li>
<li>(11:13) - Library Watch: Vla, the Missing Backend Library for TypeScript</li>
<li>(13:13) - Library Watch: macOS iMessage API SDK for TypeScript</li>
<li>(13:53) - Library Watch: React Native UI Templates</li>
<li>(14:51) - Library Watch: js-draw, a Canvas Drawing Library</li>
<li>(15:48) - Community Highlight: Strongly-typed Events in GameDev by Justin Young</li>
<li>(16:19) - Community Highlight: Flint, a Modern Linting Engine by Josh Goldberg</li>
<li>(16:42) - Community Highlight: Tooling Like It's 2025 by Josh Goldberg</li>
<li>(16:59) - Community Highlight: Major Color.js Update by Lea Verou</li>
<li>(19:18) - Community Highlight: Building Reusable Form Component Library with TanStack Form by Matt Huggins</li>
<li>(19:54) - Community Highlight: Static Hermes is Pretty Cool by Devon Govett</li>
<li>(21:11) - Community Highlight: DOOM in TS Types Stream by MiTS</li>
<li>(22:09) - Community Highlight: Solitaire in TypeScript by Oidoid</li>
<li>(22:57) - Community Highlight: Lo-fi Valley Engine by Leocast</li>
<li>(24:12) - Bleet of the Year</li>
<li>(25:26) - Cool Link: TypeScript Function Inlining</li>
<li>(25:49) - Cool Link: Pass Key Explainer</li>
<li>(29:58) - Cool Game: Outer Worlds 2</li>
<li>(31:26) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>PSA: <a href="https://www.bleepingcomputer.com/news/security/exploited-mongobleed-flaw-leaks-mongodb-secrets-87k-servers-exposed/">Exploited MongoBleed flaw leaks MongoDB secrets, 87K servers exposed</a> </li><li>PSA: <a href="https://nodejs.org/en/blog/vulnerability/december-2025-security-releases">Node.js — Wednesday, January 7, 2026 Security Releases</a> </li><li>Library Watch: <a href="https://bsky.app/profile/timomeh.de/post/3mba3az3lds2v">Vla</a>, a data layer that integrates into any TypeScript framework</li><li>Library Watch: <a href="https://github.com/photon-hq/advanced-imessage-kit/">TypeScript SDK for iMessage automation on macOS</a></li><li>Library Watch: <a href="https://github.com/Aashu-Dubey/React-Native-UI-Templates/">React Native UI Templates</a></li><li>Library Watch: <a href="https://github.com/personalizedrefrigerator/js-draw/">js-draw</a>, pencil/pen drawing utilities for JS and Canvas</li></ul><p><strong>From the Community</strong></p><ul><li>Justin Young: <a href="https://excaliburjs.com/blog/Event%20Driven%20Gameplay%20in%20ExcaliburJS/">Strongly Typed Events in GameDev</a></li><li>Josh Goldberg: NodeTLV Keynote, <a href="https://www.youtube.com/watch?v=1JSE4xfyHZQ">Tooling Like It's 2025</a> </li><li>Josh Goldberg: <a href="https://www.flint.fyi/blog/what-flint-does-differently/">What Flint Does Differently</a></li><li>Lea Verou: <a href="https://bsky.app/profile/lea.verou.me/post/3mavlajf53k2i">ColorJS major release</a></li><li>Matt Huggins: <a href="https://matthuggins.com/blog/posts/building-a-reusable-form-component-library-with-tanstack-form">Building a Reusable Form Component Library with TanStack Form</a></li><li>Devon Govett: <a href="https://bsky.app/profile/devongovett.me/post/3mb5v6qmkzk25">Static Hermes is pretty cool</a></li><li>MiTS: <a href="https://bsky.app/profile/michigantypescript.com/post/3mbkft7iees2w">Doom TS deep dive stream</a></li><li>oidoid: <a href="https://github.com/oidoid/super-patience">Super Patience</a> - Pixelated Solitaire in Typescript</li><li>Leoocast: <a href="https://github.com/Leoocast/lofi-valley-engine">Lofi Valley Engine</a> - Make your dream Stardew Valley clone</li></ul><p><br></p><p><strong>Cool Links</strong></p><ul><li>Cool Watch: <a href="https://youtu.be/xYfiOnufBSk?si=lTameoN8oWp74oK3">How Passkeys Work - Computerphile</a> </li><li>Cool Tool: <a href="https://github.com/JoshuaKGoldberg/ts-function-inliner">JoshuaKGoldberg/ts-function-inliner: TypeScript transformation that inlines calls to small functions</a></li><li>Cool Game: <a href="https://keeptrackofmygames.com/games/396135-a/the-outer-worlds-2">Outer Worlds 2</a>, from the developers of Fallout: New Vegas and Avowed</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Tue, 06 Jan 2026 06:00:00 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/5a349285/d20f7d74.mp3" length="16584068" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2068</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News for the weeks of <strong>December 22 and 29, 2025</strong>: MongoDB exploit drops on Christmas day in true Grinchy fashion, a new backend library called Vla that is far from blah, and starter templates for your next React Native app. <strong>From the community:</strong> NodeTLV keynote, strongly-typed events in gamedev, and a 6-hour deep dive into Doom in TS.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the New Year</li>
<li>(07:52) - News: The Grinch Stole Your Secrets with MongoBleed </li>
<li>(10:39) - News: Node.js Security Release Expected January 7</li>
<li>(11:13) - Library Watch: Vla, the Missing Backend Library for TypeScript</li>
<li>(13:13) - Library Watch: macOS iMessage API SDK for TypeScript</li>
<li>(13:53) - Library Watch: React Native UI Templates</li>
<li>(14:51) - Library Watch: js-draw, a Canvas Drawing Library</li>
<li>(15:48) - Community Highlight: Strongly-typed Events in GameDev by Justin Young</li>
<li>(16:19) - Community Highlight: Flint, a Modern Linting Engine by Josh Goldberg</li>
<li>(16:42) - Community Highlight: Tooling Like It's 2025 by Josh Goldberg</li>
<li>(16:59) - Community Highlight: Major Color.js Update by Lea Verou</li>
<li>(19:18) - Community Highlight: Building Reusable Form Component Library with TanStack Form by Matt Huggins</li>
<li>(19:54) - Community Highlight: Static Hermes is Pretty Cool by Devon Govett</li>
<li>(21:11) - Community Highlight: DOOM in TS Types Stream by MiTS</li>
<li>(22:09) - Community Highlight: Solitaire in TypeScript by Oidoid</li>
<li>(22:57) - Community Highlight: Lo-fi Valley Engine by Leocast</li>
<li>(24:12) - Bleet of the Year</li>
<li>(25:26) - Cool Link: TypeScript Function Inlining</li>
<li>(25:49) - Cool Link: Pass Key Explainer</li>
<li>(29:58) - Cool Game: Outer Worlds 2</li>
<li>(31:26) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>PSA: <a href="https://www.bleepingcomputer.com/news/security/exploited-mongobleed-flaw-leaks-mongodb-secrets-87k-servers-exposed/">Exploited MongoBleed flaw leaks MongoDB secrets, 87K servers exposed</a> </li><li>PSA: <a href="https://nodejs.org/en/blog/vulnerability/december-2025-security-releases">Node.js — Wednesday, January 7, 2026 Security Releases</a> </li><li>Library Watch: <a href="https://bsky.app/profile/timomeh.de/post/3mba3az3lds2v">Vla</a>, a data layer that integrates into any TypeScript framework</li><li>Library Watch: <a href="https://github.com/photon-hq/advanced-imessage-kit/">TypeScript SDK for iMessage automation on macOS</a></li><li>Library Watch: <a href="https://github.com/Aashu-Dubey/React-Native-UI-Templates/">React Native UI Templates</a></li><li>Library Watch: <a href="https://github.com/personalizedrefrigerator/js-draw/">js-draw</a>, pencil/pen drawing utilities for JS and Canvas</li></ul><p><strong>From the Community</strong></p><ul><li>Justin Young: <a href="https://excaliburjs.com/blog/Event%20Driven%20Gameplay%20in%20ExcaliburJS/">Strongly Typed Events in GameDev</a></li><li>Josh Goldberg: NodeTLV Keynote, <a href="https://www.youtube.com/watch?v=1JSE4xfyHZQ">Tooling Like It's 2025</a> </li><li>Josh Goldberg: <a href="https://www.flint.fyi/blog/what-flint-does-differently/">What Flint Does Differently</a></li><li>Lea Verou: <a href="https://bsky.app/profile/lea.verou.me/post/3mavlajf53k2i">ColorJS major release</a></li><li>Matt Huggins: <a href="https://matthuggins.com/blog/posts/building-a-reusable-form-component-library-with-tanstack-form">Building a Reusable Form Component Library with TanStack Form</a></li><li>Devon Govett: <a href="https://bsky.app/profile/devongovett.me/post/3mb5v6qmkzk25">Static Hermes is pretty cool</a></li><li>MiTS: <a href="https://bsky.app/profile/michigantypescript.com/post/3mbkft7iees2w">Doom TS deep dive stream</a></li><li>oidoid: <a href="https://github.com/oidoid/super-patience">Super Patience</a> - Pixelated Solitaire in Typescript</li><li>Leoocast: <a href="https://github.com/Leoocast/lofi-valley-engine">Lofi Valley Engine</a> - Make your dream Stardew Valley clone</li></ul><p><br></p><p><strong>Cool Links</strong></p><ul><li>Cool Watch: <a href="https://youtu.be/xYfiOnufBSk?si=lTameoN8oWp74oK3">How Passkeys Work - Computerphile</a> </li><li>Cool Tool: <a href="https://github.com/JoshuaKGoldberg/ts-function-inliner">JoshuaKGoldberg/ts-function-inliner: TypeScript transformation that inlines calls to small functions</a></li><li>Cool Game: <a href="https://keeptrackofmygames.com/games/396135-a/the-outer-worlds-2">Outer Worlds 2</a>, from the developers of Fallout: New Vegas and Avowed</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/5a349285/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Modernization Agents, Standard Schema V1, and Year-end Podcast Wins | News | Ep 49</title>
      <itunes:episode>49</itunes:episode>
      <podcast:episode>49</podcast:episode>
      <itunes:title>Modernization Agents, Standard Schema V1, and Year-end Podcast Wins | News | Ep 49</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">d9c978b6-07ac-4daf-b35b-77d5dfa5601f</guid>
      <link>https://share.transistor.fm/s/bbb2e94c</link>
      <description>
        <![CDATA[<p>Our last episode for 2025, see you in 2026! News for the week of <strong>December 15 2025</strong>: Microsoft's experimental JS/TS modernization agent, new Next.js and Bun releases, and how pnpm is tightening the security screws. <strong>From the community:</strong> when to use types vs. interfaces, actionable tips on securing your local dev environment, and tips on using TypeScript types as a programming language.</p><p><strong>MCP in Practice Course</strong><br><a href="https://bit.ly/PSMCPInPractice">Out now.</a> Kamran shows you how to build a practical enterprise-grade MCP server with .NET, C#, and OAuth, hosted remotely on Azure. (<em>Requires subscription</em>)</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:18) - News: TSGo Now Supports Experimental Decorators</li>
<li>(06:18) - News: JS/TS Modernization Agent for VS Code</li>
<li>(09:47) - News: Next.js 16.1 Brings Turbopack Caching and a Build Analyzer</li>
<li>(10:32) - News: Bun 1.3.5 ft. Terminal Simulator, Compile-time Feature Flags</li>
<li>(12:50) - News: Standard Schema V1 Released</li>
<li>(14:24) - News: pnpm 10.26 Has Stricter Security Defaults</li>
<li>(16:16) - News: Node Security Updates Pushed to Jan 7</li>
<li>(16:52) - Library Watch: numpy-ts, NumPy but in 100% TypeScript</li>
<li>(18:57) - Library Watch: tinypdf and tinydocx, Minimal Document Creation</li>
<li>(20:02) - Community Highlight: npm Security Best Practices by Liran Tal</li>
<li>(23:10) - Community Highlight: TypeScript Types as  a Programming Language by Thiery Michel</li>
<li>(24:46) - Community Highlight: Build a Dino Runner in Deno, pt 3</li>
<li>(25:26) - Community Highlight: Types vs. Interfaces by Yan Sun</li>
<li>(26:31) - Community Highlight: Eleventy's Progress on Zero Config TS</li>
<li>(27:10) - Bleets of the Week</li>
<li>(28:24) - Cool Link: noclip.website Lets You Explore Retro Game Levels</li>
<li>(29:46) - Cool Tool: unplugin-inline-functions for Inlining Functions</li>
<li>(31:48) - Cool Tool: rsdoctor, Analyze Rspack and Webpack Bundles</li>
<li>(33:26) - The Minnesota Year-long Goodbye</li>
</ul><br><p><strong>News</strong></p><p><br></p><ul><li><a href="https://github.com/excaliburjs/Excalibur/releases/tag/v0.32.0">Excalibur.js V0.32.0 holiday release</a></li><li><a href="https://github.com/microsoft/typescript-go/pull/2343">TSGo PR #2343</a> adds experimental decorators support</li><li>Microsoft: <a href="https://developer.microsoft.com/blog/jsts-modernizer-preview">Announcing the JavaScript/TypeScript Modernizer for VS Code</a></li><li><a href="https://nextjs.org/blog/next-16-1">Next.js 16.1</a> adds Turbopack improvements</li><li>Bun: <a href="https://bun.sh/blog/bun-v1.3.5">1.3.5 release</a> terminal simulator (PTY) and compile-time feature flag dead-code elimination</li><li>Standard Schema V1 release (h/t <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3ma6he4pkm22x">ArkType and Josh Goldberg</a>) </li><li>Library Watch: <a href="https://www.npmjs.com/package/numpy-ts">https://www.npmjs.com/package/numpy-ts</a></li><li>Library Watch: <a href="https://github.com/Lulzx/tinydocx">Lulzx/tinydocx: Minimal DOCX/ODT creation library</a></li><li>Library Watch: <a href="https://github.com/Lulzx/tinypdf">Lulzx/tinypdf: Minimal PDF creation library</a></li></ul><p><br></p><p><strong>From the Community</strong></p><ul><li>Liran Tal: <a href="https://snyk.io/articles/npm-security-best-practices-shai-hulud-attack/">NPM Security Best Practices: How to Protect Your Packages After the 2025 Shai Hulud Attack</a></li><li>Thiery Michel via MarmeLab: <a href="https://marmelab.com/blog/2025/12/04/typescript-type-as-a-programming-language.html">TypeScript Types as a Programming Language</a> </li><li>Deno Runner, Part 3: <a href="https://deno.com/blog/build-a-game-with-deno-3">Build a dinosaur runner game with Deno, pt. 3</a> </li><li>Yan Sun via LogRocket: <a href="https://blog.logrocket.com/types-vs-interfaces-typescript/">Types vs. interfaces in TypeScript</a> </li><li>Zach Leatherman: <a href="https://bsky.app/profile/zachleat.com/post/3maetnsjkkk2z">11ty Zero Config TypeScript</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Plugin: <a href="https://github.com/krispya/unplugin-inline-functions">krispya/unplugin-inline-functions</a> - Vite/unplugin for C/C++ style inlining </li><li>Cool Link: <a href="https://noclip.website/">NoClip.website</a> lets you fly around classic game levels like Super Paper Mario, Majora's Mask, and Mario Kart Wii</li><li>Cool Tool: <a href="https://rsdoctor.rs/">rsdoctor</a> is a bundle analyzer for Rspack-family of tools (and webpack!)</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Our last episode for 2025, see you in 2026! News for the week of <strong>December 15 2025</strong>: Microsoft's experimental JS/TS modernization agent, new Next.js and Bun releases, and how pnpm is tightening the security screws. <strong>From the community:</strong> when to use types vs. interfaces, actionable tips on securing your local dev environment, and tips on using TypeScript types as a programming language.</p><p><strong>MCP in Practice Course</strong><br><a href="https://bit.ly/PSMCPInPractice">Out now.</a> Kamran shows you how to build a practical enterprise-grade MCP server with .NET, C#, and OAuth, hosted remotely on Azure. (<em>Requires subscription</em>)</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:18) - News: TSGo Now Supports Experimental Decorators</li>
<li>(06:18) - News: JS/TS Modernization Agent for VS Code</li>
<li>(09:47) - News: Next.js 16.1 Brings Turbopack Caching and a Build Analyzer</li>
<li>(10:32) - News: Bun 1.3.5 ft. Terminal Simulator, Compile-time Feature Flags</li>
<li>(12:50) - News: Standard Schema V1 Released</li>
<li>(14:24) - News: pnpm 10.26 Has Stricter Security Defaults</li>
<li>(16:16) - News: Node Security Updates Pushed to Jan 7</li>
<li>(16:52) - Library Watch: numpy-ts, NumPy but in 100% TypeScript</li>
<li>(18:57) - Library Watch: tinypdf and tinydocx, Minimal Document Creation</li>
<li>(20:02) - Community Highlight: npm Security Best Practices by Liran Tal</li>
<li>(23:10) - Community Highlight: TypeScript Types as  a Programming Language by Thiery Michel</li>
<li>(24:46) - Community Highlight: Build a Dino Runner in Deno, pt 3</li>
<li>(25:26) - Community Highlight: Types vs. Interfaces by Yan Sun</li>
<li>(26:31) - Community Highlight: Eleventy's Progress on Zero Config TS</li>
<li>(27:10) - Bleets of the Week</li>
<li>(28:24) - Cool Link: noclip.website Lets You Explore Retro Game Levels</li>
<li>(29:46) - Cool Tool: unplugin-inline-functions for Inlining Functions</li>
<li>(31:48) - Cool Tool: rsdoctor, Analyze Rspack and Webpack Bundles</li>
<li>(33:26) - The Minnesota Year-long Goodbye</li>
</ul><br><p><strong>News</strong></p><p><br></p><ul><li><a href="https://github.com/excaliburjs/Excalibur/releases/tag/v0.32.0">Excalibur.js V0.32.0 holiday release</a></li><li><a href="https://github.com/microsoft/typescript-go/pull/2343">TSGo PR #2343</a> adds experimental decorators support</li><li>Microsoft: <a href="https://developer.microsoft.com/blog/jsts-modernizer-preview">Announcing the JavaScript/TypeScript Modernizer for VS Code</a></li><li><a href="https://nextjs.org/blog/next-16-1">Next.js 16.1</a> adds Turbopack improvements</li><li>Bun: <a href="https://bun.sh/blog/bun-v1.3.5">1.3.5 release</a> terminal simulator (PTY) and compile-time feature flag dead-code elimination</li><li>Standard Schema V1 release (h/t <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3ma6he4pkm22x">ArkType and Josh Goldberg</a>) </li><li>Library Watch: <a href="https://www.npmjs.com/package/numpy-ts">https://www.npmjs.com/package/numpy-ts</a></li><li>Library Watch: <a href="https://github.com/Lulzx/tinydocx">Lulzx/tinydocx: Minimal DOCX/ODT creation library</a></li><li>Library Watch: <a href="https://github.com/Lulzx/tinypdf">Lulzx/tinypdf: Minimal PDF creation library</a></li></ul><p><br></p><p><strong>From the Community</strong></p><ul><li>Liran Tal: <a href="https://snyk.io/articles/npm-security-best-practices-shai-hulud-attack/">NPM Security Best Practices: How to Protect Your Packages After the 2025 Shai Hulud Attack</a></li><li>Thiery Michel via MarmeLab: <a href="https://marmelab.com/blog/2025/12/04/typescript-type-as-a-programming-language.html">TypeScript Types as a Programming Language</a> </li><li>Deno Runner, Part 3: <a href="https://deno.com/blog/build-a-game-with-deno-3">Build a dinosaur runner game with Deno, pt. 3</a> </li><li>Yan Sun via LogRocket: <a href="https://blog.logrocket.com/types-vs-interfaces-typescript/">Types vs. interfaces in TypeScript</a> </li><li>Zach Leatherman: <a href="https://bsky.app/profile/zachleat.com/post/3maetnsjkkk2z">11ty Zero Config TypeScript</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Plugin: <a href="https://github.com/krispya/unplugin-inline-functions">krispya/unplugin-inline-functions</a> - Vite/unplugin for C/C++ style inlining </li><li>Cool Link: <a href="https://noclip.website/">NoClip.website</a> lets you fly around classic game levels like Super Paper Mario, Majora's Mask, and Mario Kart Wii</li><li>Cool Tool: <a href="https://rsdoctor.rs/">rsdoctor</a> is a bundle analyzer for Rspack-family of tools (and webpack!)</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Tue, 23 Dec 2025 13:43:08 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/bbb2e94c/371ee36e.mp3" length="21886381" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2731</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Our last episode for 2025, see you in 2026! News for the week of <strong>December 15 2025</strong>: Microsoft's experimental JS/TS modernization agent, new Next.js and Bun releases, and how pnpm is tightening the security screws. <strong>From the community:</strong> when to use types vs. interfaces, actionable tips on securing your local dev environment, and tips on using TypeScript types as a programming language.</p><p><strong>MCP in Practice Course</strong><br><a href="https://bit.ly/PSMCPInPractice">Out now.</a> Kamran shows you how to build a practical enterprise-grade MCP server with .NET, C#, and OAuth, hosted remotely on Azure. (<em>Requires subscription</em>)</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:18) - News: TSGo Now Supports Experimental Decorators</li>
<li>(06:18) - News: JS/TS Modernization Agent for VS Code</li>
<li>(09:47) - News: Next.js 16.1 Brings Turbopack Caching and a Build Analyzer</li>
<li>(10:32) - News: Bun 1.3.5 ft. Terminal Simulator, Compile-time Feature Flags</li>
<li>(12:50) - News: Standard Schema V1 Released</li>
<li>(14:24) - News: pnpm 10.26 Has Stricter Security Defaults</li>
<li>(16:16) - News: Node Security Updates Pushed to Jan 7</li>
<li>(16:52) - Library Watch: numpy-ts, NumPy but in 100% TypeScript</li>
<li>(18:57) - Library Watch: tinypdf and tinydocx, Minimal Document Creation</li>
<li>(20:02) - Community Highlight: npm Security Best Practices by Liran Tal</li>
<li>(23:10) - Community Highlight: TypeScript Types as  a Programming Language by Thiery Michel</li>
<li>(24:46) - Community Highlight: Build a Dino Runner in Deno, pt 3</li>
<li>(25:26) - Community Highlight: Types vs. Interfaces by Yan Sun</li>
<li>(26:31) - Community Highlight: Eleventy's Progress on Zero Config TS</li>
<li>(27:10) - Bleets of the Week</li>
<li>(28:24) - Cool Link: noclip.website Lets You Explore Retro Game Levels</li>
<li>(29:46) - Cool Tool: unplugin-inline-functions for Inlining Functions</li>
<li>(31:48) - Cool Tool: rsdoctor, Analyze Rspack and Webpack Bundles</li>
<li>(33:26) - The Minnesota Year-long Goodbye</li>
</ul><br><p><strong>News</strong></p><p><br></p><ul><li><a href="https://github.com/excaliburjs/Excalibur/releases/tag/v0.32.0">Excalibur.js V0.32.0 holiday release</a></li><li><a href="https://github.com/microsoft/typescript-go/pull/2343">TSGo PR #2343</a> adds experimental decorators support</li><li>Microsoft: <a href="https://developer.microsoft.com/blog/jsts-modernizer-preview">Announcing the JavaScript/TypeScript Modernizer for VS Code</a></li><li><a href="https://nextjs.org/blog/next-16-1">Next.js 16.1</a> adds Turbopack improvements</li><li>Bun: <a href="https://bun.sh/blog/bun-v1.3.5">1.3.5 release</a> terminal simulator (PTY) and compile-time feature flag dead-code elimination</li><li>Standard Schema V1 release (h/t <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3ma6he4pkm22x">ArkType and Josh Goldberg</a>) </li><li>Library Watch: <a href="https://www.npmjs.com/package/numpy-ts">https://www.npmjs.com/package/numpy-ts</a></li><li>Library Watch: <a href="https://github.com/Lulzx/tinydocx">Lulzx/tinydocx: Minimal DOCX/ODT creation library</a></li><li>Library Watch: <a href="https://github.com/Lulzx/tinypdf">Lulzx/tinypdf: Minimal PDF creation library</a></li></ul><p><br></p><p><strong>From the Community</strong></p><ul><li>Liran Tal: <a href="https://snyk.io/articles/npm-security-best-practices-shai-hulud-attack/">NPM Security Best Practices: How to Protect Your Packages After the 2025 Shai Hulud Attack</a></li><li>Thiery Michel via MarmeLab: <a href="https://marmelab.com/blog/2025/12/04/typescript-type-as-a-programming-language.html">TypeScript Types as a Programming Language</a> </li><li>Deno Runner, Part 3: <a href="https://deno.com/blog/build-a-game-with-deno-3">Build a dinosaur runner game with Deno, pt. 3</a> </li><li>Yan Sun via LogRocket: <a href="https://blog.logrocket.com/types-vs-interfaces-typescript/">Types vs. interfaces in TypeScript</a> </li><li>Zach Leatherman: <a href="https://bsky.app/profile/zachleat.com/post/3maetnsjkkk2z">11ty Zero Config TypeScript</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Plugin: <a href="https://github.com/krispya/unplugin-inline-functions">krispya/unplugin-inline-functions</a> - Vite/unplugin for C/C++ style inlining </li><li>Cool Link: <a href="https://noclip.website/">NoClip.website</a> lets you fly around classic game levels like Super Paper Mario, Majora's Mask, and Mario Kart Wii</li><li>Cool Tool: <a href="https://rsdoctor.rs/">rsdoctor</a> is a bundle analyzer for Rspack-family of tools (and webpack!)</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/bbb2e94c/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Deno 2.6 Adds dx and TSGo, Temporal API in Chrome 144 Beta, and JSDoc *is* TypeScript | News | Ep 48</title>
      <itunes:episode>48</itunes:episode>
      <podcast:episode>48</podcast:episode>
      <itunes:title>Deno 2.6 Adds dx and TSGo, Temporal API in Chrome 144 Beta, and JSDoc *is* TypeScript | News | Ep 48</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">6a4e6de4-5876-4f55-b0c8-e7d0417f4d0d</guid>
      <link>https://share.transistor.fm/s/c42c6761</link>
      <description>
        <![CDATA[<p>News for the week of <strong>December 8 2025</strong>: Deno 2.6 is packed with some cool features, Node 24 LTS ships stable type stripping, more React CVEs, and some new browser updates. <strong>From the community:</strong> JSDoc love, slay your TS type performance, and Figma's plugin system is built on shadows.</p><p><strong>MCP in Practice Course</strong><br><a href="https://bit.ly/PSMCPInPractice">Out now.</a> Kamran shows you how to build a practical enterprise-grade MCP server with .NET, C#, and OAuth, hosted remotely on Azure. (<em>Requires subscription</em>)</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(06:13) - News: TypeScript 6.0 Will Remove the module Keyword</li>
<li>(07:57) - News: Node 24 LTS Now Has Stable Type Stripping</li>
<li>(08:49) - News: npm Has Revoked Classic Tokens</li>
<li>(09:41) - News: Deno 2.6 Adds dx Command, TSGo Support</li>
<li>(12:42) - News: Follow-up CVEs for React and Next.js</li>
<li>(15:29) - News: Safari 26.2 Updates</li>
<li>(18:36) - News: Chrome 144 Beta Ships Temporal API</li>
<li>(19:17) - Library Watch: Kysera, Type-safe Data Access Toolkit</li>
<li>(20:36) - Library Watch: Elysia, a Backend TS Framework</li>
<li>(22:49) - Library Watch: multithreading.js, the Missing Standard Library for Concurrency</li>
<li>(24:43) - Library Watch: typedriver, for Runtime Type System Integration</li>
<li>(26:53) - Community Highlight: Typeslayer, Debugging Type Performance</li>
<li>(28:32) - Community Highlight: JSDoc *is* TypeScript by culi</li>
<li>(30:24) - Community Highlight: Call to Sponsor ESLint by Nicholas Zakas</li>
<li>(30:47) - Community Highlight: Typing Cypress Aliases by Gleb Bahmutov</li>
<li>(31:54) - Community Highlight: Figma's Plugin System</li>
<li>(34:52) - Community Highlight: Vite 8 Now Reports Slow Plugins</li>
<li>(35:11) - Community Highlight: machine, a TypeScript State Machine Library</li>
<li>(35:54) - Community Highlight: Dino Runner Game in Deno, Part 2</li>
<li>(36:32) - Community Highlight: ArkType and Zod Creators Team Up</li>
<li>(36:57) - Secret of the Handbook: String Literal Template Types</li>
<li>(38:23) - Cool Game: Moomintroll Game on Steam</li>
<li>(39:01) - Cool Link: Slop Detective by Kagi</li>
<li>(39:29) - Cool Conference: NDC Toronto is Announced</li>
<li>(40:11) - Cool Code: Tiny Physics in JS</li>
<li>(41:19) - Cool Tool: Perro Engine Can Transpile C#/TS to Rust</li>
<li>(42:41) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><p><br></p><ul><li>TypeScript: In 6.0, <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3m7oyj3fvd22y">you can’t use</a> `module ns` use `namespace ns`</li><li>Node.js: Type Stripping <a href="https://github.com/nodejs/node/releases/tag/v24.12.0">is marked stable</a> in Node 24 (LTS) release line</li><li>npm has revoked classic tokens but <a href="https://socket.dev/blog/npm-revokes-classic-tokens">there are still risks</a></li><li><a href="https://deno.com/blog/v2.6">Deno 2.6: dx is the new npx</a> </li><li>React Security: <a href="https://react.dev/blog/2025/12/11/denial-of-service-and-source-code-exposure-in-react-server-components">Denial of Service and Source Code Exposure in React Server Components</a> </li><li><a href="https://webkit.org/blog/17640/webkit-features-for-safari-26-2/">WebKit Features for Safari 26.2</a> </li><li>Chrome 144 Beta: <a href="https://bsky.app/profile/developer.chrome.com/post/3m7kzfwkst32a">Getting the Temporal API</a></li><li>Library Watch: <a href="https://kysera.dev/">Kysera</a> – type-safe data access</li><li>Library Watch: <a href="https://elysiajs.com/">ElysiaJS</a> – end-to-end typing web framework built on Bun</li><li>Library Watch: <a href="https://github.com/W4G1/multithreading">multithreading.js</a> – The missing standard library for multithreading in JavaScript (Works in the browser, Node.js, Deno, Bun) </li><li>Library Watch: <a href="https://github.com/sinclairzx81/typedriver">Typedriver</a> – sinclairzx81/typedriver: High Performance Driver for Runtime Type System Integration </li></ul><p><br></p><p><strong>From the Community</strong></p><ul><li>Dimitri and MiTS: <a href="https://youtu.be/IP6EZXzXBzY">TypeSlayer - a TypeScript types performance tool</a>  🤘 </li><li>Culi: <a href="https://culi.bearblog.dev/jsdoc-is-typescript/">JSDoc *is* TypeScript</a></li><li>Nicholas Zakas: <a href="https://bsky.app/profile/humanwhocodes.com/post/3m7lelvnblz2d">ESLint Needs Sponsors</a> </li><li>Gleb Bahmutov: <a href="https://glebbahmutov.com/blog/type-test-context/">How To Type Function Mocha Context With Cypress Aliases</a> </li><li>Figma: <a href="https://www.figma.com/blog/how-we-built-the-figma-plugin-system/">How We Built Figma's Plugin System</a></li><li>Doeixd: <a href="https://github.com/doeixd/machine?tab=readme-ov-file#machine">machine</a> – compile-time safe state machine</li><li>Deno: <a href="https://deno.com/blog/build-a-game-with-deno-2">Build a dinosaur runner game with Deno, pt. 2</a> </li><li>Kobi Hari: <a href="https://medium.com/@kobihari/how-did-i-miss-this-after-5-years-typescripts-string-literal-templates-09d350cfabe9">How Did I Miss This After 5 Years: TypeScript’s String Literal Templates</a></li></ul><p><strong>Cool Links</strong></p><ul><li><a href="https://store.steampowered.com/app/4179690/Moomintroll_Winters_Warmth_Demo/">Moomintroll Winters Warmth</a> </li><li><a href="https://slopdetective.kagi.com/">Slop Detective from Kagi</a></li><li><a href="https://ndctoronto.com/">NDC is coming to Toronto! </a></li><li><a href="https://xem.github.io/2Dphysics/">Tiny JS physics</a> </li><li><a href="https://github.com/PerroEngine/Perro">Perro</a> – a Rust game engine that transpiles C#/TS for game logic</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News for the week of <strong>December 8 2025</strong>: Deno 2.6 is packed with some cool features, Node 24 LTS ships stable type stripping, more React CVEs, and some new browser updates. <strong>From the community:</strong> JSDoc love, slay your TS type performance, and Figma's plugin system is built on shadows.</p><p><strong>MCP in Practice Course</strong><br><a href="https://bit.ly/PSMCPInPractice">Out now.</a> Kamran shows you how to build a practical enterprise-grade MCP server with .NET, C#, and OAuth, hosted remotely on Azure. (<em>Requires subscription</em>)</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(06:13) - News: TypeScript 6.0 Will Remove the module Keyword</li>
<li>(07:57) - News: Node 24 LTS Now Has Stable Type Stripping</li>
<li>(08:49) - News: npm Has Revoked Classic Tokens</li>
<li>(09:41) - News: Deno 2.6 Adds dx Command, TSGo Support</li>
<li>(12:42) - News: Follow-up CVEs for React and Next.js</li>
<li>(15:29) - News: Safari 26.2 Updates</li>
<li>(18:36) - News: Chrome 144 Beta Ships Temporal API</li>
<li>(19:17) - Library Watch: Kysera, Type-safe Data Access Toolkit</li>
<li>(20:36) - Library Watch: Elysia, a Backend TS Framework</li>
<li>(22:49) - Library Watch: multithreading.js, the Missing Standard Library for Concurrency</li>
<li>(24:43) - Library Watch: typedriver, for Runtime Type System Integration</li>
<li>(26:53) - Community Highlight: Typeslayer, Debugging Type Performance</li>
<li>(28:32) - Community Highlight: JSDoc *is* TypeScript by culi</li>
<li>(30:24) - Community Highlight: Call to Sponsor ESLint by Nicholas Zakas</li>
<li>(30:47) - Community Highlight: Typing Cypress Aliases by Gleb Bahmutov</li>
<li>(31:54) - Community Highlight: Figma's Plugin System</li>
<li>(34:52) - Community Highlight: Vite 8 Now Reports Slow Plugins</li>
<li>(35:11) - Community Highlight: machine, a TypeScript State Machine Library</li>
<li>(35:54) - Community Highlight: Dino Runner Game in Deno, Part 2</li>
<li>(36:32) - Community Highlight: ArkType and Zod Creators Team Up</li>
<li>(36:57) - Secret of the Handbook: String Literal Template Types</li>
<li>(38:23) - Cool Game: Moomintroll Game on Steam</li>
<li>(39:01) - Cool Link: Slop Detective by Kagi</li>
<li>(39:29) - Cool Conference: NDC Toronto is Announced</li>
<li>(40:11) - Cool Code: Tiny Physics in JS</li>
<li>(41:19) - Cool Tool: Perro Engine Can Transpile C#/TS to Rust</li>
<li>(42:41) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><p><br></p><ul><li>TypeScript: In 6.0, <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3m7oyj3fvd22y">you can’t use</a> `module ns` use `namespace ns`</li><li>Node.js: Type Stripping <a href="https://github.com/nodejs/node/releases/tag/v24.12.0">is marked stable</a> in Node 24 (LTS) release line</li><li>npm has revoked classic tokens but <a href="https://socket.dev/blog/npm-revokes-classic-tokens">there are still risks</a></li><li><a href="https://deno.com/blog/v2.6">Deno 2.6: dx is the new npx</a> </li><li>React Security: <a href="https://react.dev/blog/2025/12/11/denial-of-service-and-source-code-exposure-in-react-server-components">Denial of Service and Source Code Exposure in React Server Components</a> </li><li><a href="https://webkit.org/blog/17640/webkit-features-for-safari-26-2/">WebKit Features for Safari 26.2</a> </li><li>Chrome 144 Beta: <a href="https://bsky.app/profile/developer.chrome.com/post/3m7kzfwkst32a">Getting the Temporal API</a></li><li>Library Watch: <a href="https://kysera.dev/">Kysera</a> – type-safe data access</li><li>Library Watch: <a href="https://elysiajs.com/">ElysiaJS</a> – end-to-end typing web framework built on Bun</li><li>Library Watch: <a href="https://github.com/W4G1/multithreading">multithreading.js</a> – The missing standard library for multithreading in JavaScript (Works in the browser, Node.js, Deno, Bun) </li><li>Library Watch: <a href="https://github.com/sinclairzx81/typedriver">Typedriver</a> – sinclairzx81/typedriver: High Performance Driver for Runtime Type System Integration </li></ul><p><br></p><p><strong>From the Community</strong></p><ul><li>Dimitri and MiTS: <a href="https://youtu.be/IP6EZXzXBzY">TypeSlayer - a TypeScript types performance tool</a>  🤘 </li><li>Culi: <a href="https://culi.bearblog.dev/jsdoc-is-typescript/">JSDoc *is* TypeScript</a></li><li>Nicholas Zakas: <a href="https://bsky.app/profile/humanwhocodes.com/post/3m7lelvnblz2d">ESLint Needs Sponsors</a> </li><li>Gleb Bahmutov: <a href="https://glebbahmutov.com/blog/type-test-context/">How To Type Function Mocha Context With Cypress Aliases</a> </li><li>Figma: <a href="https://www.figma.com/blog/how-we-built-the-figma-plugin-system/">How We Built Figma's Plugin System</a></li><li>Doeixd: <a href="https://github.com/doeixd/machine?tab=readme-ov-file#machine">machine</a> – compile-time safe state machine</li><li>Deno: <a href="https://deno.com/blog/build-a-game-with-deno-2">Build a dinosaur runner game with Deno, pt. 2</a> </li><li>Kobi Hari: <a href="https://medium.com/@kobihari/how-did-i-miss-this-after-5-years-typescripts-string-literal-templates-09d350cfabe9">How Did I Miss This After 5 Years: TypeScript’s String Literal Templates</a></li></ul><p><strong>Cool Links</strong></p><ul><li><a href="https://store.steampowered.com/app/4179690/Moomintroll_Winters_Warmth_Demo/">Moomintroll Winters Warmth</a> </li><li><a href="https://slopdetective.kagi.com/">Slop Detective from Kagi</a></li><li><a href="https://ndctoronto.com/">NDC is coming to Toronto! </a></li><li><a href="https://xem.github.io/2Dphysics/">Tiny JS physics</a> </li><li><a href="https://github.com/PerroEngine/Perro">Perro</a> – a Rust game engine that transpiles C#/TS for game logic</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Tue, 16 Dec 2025 23:08:09 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/c42c6761/b151a43e.mp3" length="22576956" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2817</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News for the week of <strong>December 8 2025</strong>: Deno 2.6 is packed with some cool features, Node 24 LTS ships stable type stripping, more React CVEs, and some new browser updates. <strong>From the community:</strong> JSDoc love, slay your TS type performance, and Figma's plugin system is built on shadows.</p><p><strong>MCP in Practice Course</strong><br><a href="https://bit.ly/PSMCPInPractice">Out now.</a> Kamran shows you how to build a practical enterprise-grade MCP server with .NET, C#, and OAuth, hosted remotely on Azure. (<em>Requires subscription</em>)</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(06:13) - News: TypeScript 6.0 Will Remove the module Keyword</li>
<li>(07:57) - News: Node 24 LTS Now Has Stable Type Stripping</li>
<li>(08:49) - News: npm Has Revoked Classic Tokens</li>
<li>(09:41) - News: Deno 2.6 Adds dx Command, TSGo Support</li>
<li>(12:42) - News: Follow-up CVEs for React and Next.js</li>
<li>(15:29) - News: Safari 26.2 Updates</li>
<li>(18:36) - News: Chrome 144 Beta Ships Temporal API</li>
<li>(19:17) - Library Watch: Kysera, Type-safe Data Access Toolkit</li>
<li>(20:36) - Library Watch: Elysia, a Backend TS Framework</li>
<li>(22:49) - Library Watch: multithreading.js, the Missing Standard Library for Concurrency</li>
<li>(24:43) - Library Watch: typedriver, for Runtime Type System Integration</li>
<li>(26:53) - Community Highlight: Typeslayer, Debugging Type Performance</li>
<li>(28:32) - Community Highlight: JSDoc *is* TypeScript by culi</li>
<li>(30:24) - Community Highlight: Call to Sponsor ESLint by Nicholas Zakas</li>
<li>(30:47) - Community Highlight: Typing Cypress Aliases by Gleb Bahmutov</li>
<li>(31:54) - Community Highlight: Figma's Plugin System</li>
<li>(34:52) - Community Highlight: Vite 8 Now Reports Slow Plugins</li>
<li>(35:11) - Community Highlight: machine, a TypeScript State Machine Library</li>
<li>(35:54) - Community Highlight: Dino Runner Game in Deno, Part 2</li>
<li>(36:32) - Community Highlight: ArkType and Zod Creators Team Up</li>
<li>(36:57) - Secret of the Handbook: String Literal Template Types</li>
<li>(38:23) - Cool Game: Moomintroll Game on Steam</li>
<li>(39:01) - Cool Link: Slop Detective by Kagi</li>
<li>(39:29) - Cool Conference: NDC Toronto is Announced</li>
<li>(40:11) - Cool Code: Tiny Physics in JS</li>
<li>(41:19) - Cool Tool: Perro Engine Can Transpile C#/TS to Rust</li>
<li>(42:41) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><p><br></p><ul><li>TypeScript: In 6.0, <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3m7oyj3fvd22y">you can’t use</a> `module ns` use `namespace ns`</li><li>Node.js: Type Stripping <a href="https://github.com/nodejs/node/releases/tag/v24.12.0">is marked stable</a> in Node 24 (LTS) release line</li><li>npm has revoked classic tokens but <a href="https://socket.dev/blog/npm-revokes-classic-tokens">there are still risks</a></li><li><a href="https://deno.com/blog/v2.6">Deno 2.6: dx is the new npx</a> </li><li>React Security: <a href="https://react.dev/blog/2025/12/11/denial-of-service-and-source-code-exposure-in-react-server-components">Denial of Service and Source Code Exposure in React Server Components</a> </li><li><a href="https://webkit.org/blog/17640/webkit-features-for-safari-26-2/">WebKit Features for Safari 26.2</a> </li><li>Chrome 144 Beta: <a href="https://bsky.app/profile/developer.chrome.com/post/3m7kzfwkst32a">Getting the Temporal API</a></li><li>Library Watch: <a href="https://kysera.dev/">Kysera</a> – type-safe data access</li><li>Library Watch: <a href="https://elysiajs.com/">ElysiaJS</a> – end-to-end typing web framework built on Bun</li><li>Library Watch: <a href="https://github.com/W4G1/multithreading">multithreading.js</a> – The missing standard library for multithreading in JavaScript (Works in the browser, Node.js, Deno, Bun) </li><li>Library Watch: <a href="https://github.com/sinclairzx81/typedriver">Typedriver</a> – sinclairzx81/typedriver: High Performance Driver for Runtime Type System Integration </li></ul><p><br></p><p><strong>From the Community</strong></p><ul><li>Dimitri and MiTS: <a href="https://youtu.be/IP6EZXzXBzY">TypeSlayer - a TypeScript types performance tool</a>  🤘 </li><li>Culi: <a href="https://culi.bearblog.dev/jsdoc-is-typescript/">JSDoc *is* TypeScript</a></li><li>Nicholas Zakas: <a href="https://bsky.app/profile/humanwhocodes.com/post/3m7lelvnblz2d">ESLint Needs Sponsors</a> </li><li>Gleb Bahmutov: <a href="https://glebbahmutov.com/blog/type-test-context/">How To Type Function Mocha Context With Cypress Aliases</a> </li><li>Figma: <a href="https://www.figma.com/blog/how-we-built-the-figma-plugin-system/">How We Built Figma's Plugin System</a></li><li>Doeixd: <a href="https://github.com/doeixd/machine?tab=readme-ov-file#machine">machine</a> – compile-time safe state machine</li><li>Deno: <a href="https://deno.com/blog/build-a-game-with-deno-2">Build a dinosaur runner game with Deno, pt. 2</a> </li><li>Kobi Hari: <a href="https://medium.com/@kobihari/how-did-i-miss-this-after-5-years-typescripts-string-literal-templates-09d350cfabe9">How Did I Miss This After 5 Years: TypeScript’s String Literal Templates</a></li></ul><p><strong>Cool Links</strong></p><ul><li><a href="https://store.steampowered.com/app/4179690/Moomintroll_Winters_Warmth_Demo/">Moomintroll Winters Warmth</a> </li><li><a href="https://slopdetective.kagi.com/">Slop Detective from Kagi</a></li><li><a href="https://ndctoronto.com/">NDC is coming to Toronto! </a></li><li><a href="https://xem.github.io/2Dphysics/">Tiny JS physics</a> </li><li><a href="https://github.com/PerroEngine/Perro">Perro</a> – a Rust game engine that transpiles C#/TS for game logic</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/c42c6761/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Elide Runs TypeScript Faster Than Node Runs JavaScript | Sam Gammon | Ep 47B</title>
      <itunes:episode>47</itunes:episode>
      <podcast:episode>47</podcast:episode>
      <itunes:title>Elide Runs TypeScript Faster Than Node Runs JavaScript | Sam Gammon | Ep 47B</itunes:title>
      <itunes:episodeType>bonus</itunes:episodeType>
      <guid isPermaLink="false">c99c22fc-cb93-4544-9867-2b02662d5b7e</guid>
      <link>https://share.transistor.fm/s/368cd267</link>
      <description>
        <![CDATA[<p>Sam Gammon joins the two fools to talk about Elide, a batteries-included multi-language runtime. What if you could import Python modules from TypeScript... or Ruby, or Kotlin, or Rust? What if you could consolidate multiple backends to just one that ran all your code end-to-end with a unified DX? And what if doing all that was just as fast (or faster) than your existing backend? That's what we talk about in this episode!</p><p><strong>Resources</strong></p><ul><li><a href="https://github.com/elide-dev/elide">Elide on GitHub</a></li><li><a href="https://docs.elide.dev/index_md.html">Elide docs</a></li><li><a href="https://elide.dev/discord">Join the Elide Discord server</a></li></ul><p><strong>Where to Follow the Team</strong></p><ul><li><a href="https://github.com/sgammon">Sam on GitHub</a></li><li><a href="https://x.com/elide_sg">Sam on X</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introducing Elide, a Multi-language Runtime Built on GraalVM</li>
<li>(03:51) - Why Support Multiple Languages?</li>
<li>(07:42) - What is GraalVM, anyway?</li>
<li>(09:43) - What are the Languages Elide Supports Today?</li>
<li>(10:53) - How Does Elide Interop Between Languages?</li>
<li>(14:03) - What Magic Allows TypeScript to Import a Python Module?</li>
<li>(16:12) - How Does Elide's API Compare to Other Runtimes?</li>
<li>(18:26) - Elide's Embedded Inference Engine and API</li>
<li>(20:11) - How Does Elide Handle Idioms Like Promises?</li>
<li>(22:39) - What About Single- vs. Multi-threading?</li>
<li>(24:41) - What About Concurrency and Isolation?</li>
<li>(28:33) - Does Elide Help with Serverless Cold Starts?</li>
<li>(29:25) - Can Elide Compile Single-file Executables?</li>
<li>(31:06) - How is TypeScript So Fast in Elide?</li>
<li>(33:34) - Can We Start Building with Elide?</li>
<li>(35:14) - How Do You Debug Across Multiple Languages?</li>
<li>(38:13) - Where Does Elide Really Shine?</li>
<li>(40:56) - How is Elide Planning to Win?</li>
<li>(42:53) - Could Elide Support a Native Runtime Type System?</li>
<li>(45:26) - Takeaways and Where to Learn More</li>
</ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sam Gammon joins the two fools to talk about Elide, a batteries-included multi-language runtime. What if you could import Python modules from TypeScript... or Ruby, or Kotlin, or Rust? What if you could consolidate multiple backends to just one that ran all your code end-to-end with a unified DX? And what if doing all that was just as fast (or faster) than your existing backend? That's what we talk about in this episode!</p><p><strong>Resources</strong></p><ul><li><a href="https://github.com/elide-dev/elide">Elide on GitHub</a></li><li><a href="https://docs.elide.dev/index_md.html">Elide docs</a></li><li><a href="https://elide.dev/discord">Join the Elide Discord server</a></li></ul><p><strong>Where to Follow the Team</strong></p><ul><li><a href="https://github.com/sgammon">Sam on GitHub</a></li><li><a href="https://x.com/elide_sg">Sam on X</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introducing Elide, a Multi-language Runtime Built on GraalVM</li>
<li>(03:51) - Why Support Multiple Languages?</li>
<li>(07:42) - What is GraalVM, anyway?</li>
<li>(09:43) - What are the Languages Elide Supports Today?</li>
<li>(10:53) - How Does Elide Interop Between Languages?</li>
<li>(14:03) - What Magic Allows TypeScript to Import a Python Module?</li>
<li>(16:12) - How Does Elide's API Compare to Other Runtimes?</li>
<li>(18:26) - Elide's Embedded Inference Engine and API</li>
<li>(20:11) - How Does Elide Handle Idioms Like Promises?</li>
<li>(22:39) - What About Single- vs. Multi-threading?</li>
<li>(24:41) - What About Concurrency and Isolation?</li>
<li>(28:33) - Does Elide Help with Serverless Cold Starts?</li>
<li>(29:25) - Can Elide Compile Single-file Executables?</li>
<li>(31:06) - How is TypeScript So Fast in Elide?</li>
<li>(33:34) - Can We Start Building with Elide?</li>
<li>(35:14) - How Do You Debug Across Multiple Languages?</li>
<li>(38:13) - Where Does Elide Really Shine?</li>
<li>(40:56) - How is Elide Planning to Win?</li>
<li>(42:53) - Could Elide Support a Native Runtime Type System?</li>
<li>(45:26) - Takeaways and Where to Learn More</li>
</ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Thu, 11 Dec 2025 06:00:00 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/368cd267/8f1cd252.mp3" length="23568457" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2941</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Sam Gammon joins the two fools to talk about Elide, a batteries-included multi-language runtime. What if you could import Python modules from TypeScript... or Ruby, or Kotlin, or Rust? What if you could consolidate multiple backends to just one that ran all your code end-to-end with a unified DX? And what if doing all that was just as fast (or faster) than your existing backend? That's what we talk about in this episode!</p><p><strong>Resources</strong></p><ul><li><a href="https://github.com/elide-dev/elide">Elide on GitHub</a></li><li><a href="https://docs.elide.dev/index_md.html">Elide docs</a></li><li><a href="https://elide.dev/discord">Join the Elide Discord server</a></li></ul><p><strong>Where to Follow the Team</strong></p><ul><li><a href="https://github.com/sgammon">Sam on GitHub</a></li><li><a href="https://x.com/elide_sg">Sam on X</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introducing Elide, a Multi-language Runtime Built on GraalVM</li>
<li>(03:51) - Why Support Multiple Languages?</li>
<li>(07:42) - What is GraalVM, anyway?</li>
<li>(09:43) - What are the Languages Elide Supports Today?</li>
<li>(10:53) - How Does Elide Interop Between Languages?</li>
<li>(14:03) - What Magic Allows TypeScript to Import a Python Module?</li>
<li>(16:12) - How Does Elide's API Compare to Other Runtimes?</li>
<li>(18:26) - Elide's Embedded Inference Engine and API</li>
<li>(20:11) - How Does Elide Handle Idioms Like Promises?</li>
<li>(22:39) - What About Single- vs. Multi-threading?</li>
<li>(24:41) - What About Concurrency and Isolation?</li>
<li>(28:33) - Does Elide Help with Serverless Cold Starts?</li>
<li>(29:25) - Can Elide Compile Single-file Executables?</li>
<li>(31:06) - How is TypeScript So Fast in Elide?</li>
<li>(33:34) - Can We Start Building with Elide?</li>
<li>(35:14) - How Do You Debug Across Multiple Languages?</li>
<li>(38:13) - Where Does Elide Really Shine?</li>
<li>(40:56) - How is Elide Planning to Win?</li>
<li>(42:53) - Could Elide Support a Native Runtime Type System?</li>
<li>(45:26) - Takeaways and Where to Learn More</li>
</ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:person role="Guest" href="https://elide.dev" img="https://img.transistorcdn.com/fBAY0mFs4raxnj9NA0OqlbMCu5uO9dDYyiUp12ERxa0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS82MWYy/YzE5ZDgzNDZiZDAx/ZDdjODc5ZjI4ZjVh/ZmY3Zi5qcGVn.jpg">Sam Gammon</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/368cd267/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Anthropic's Bet on Bun, React2Shell, Vite 8 Beta, and Elves Spam npm | News | Ep 47</title>
      <itunes:episode>47</itunes:episode>
      <podcast:episode>47</podcast:episode>
      <itunes:title>Anthropic's Bet on Bun, React2Shell, Vite 8 Beta, and Elves Spam npm | News | Ep 47</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">166a25e2-9162-416d-b7a4-47d88e56b771</guid>
      <link>https://share.transistor.fm/s/41aa7f70</link>
      <description>
        <![CDATA[<p>News for the week of <strong>December 1, 2025</strong>: Anthrophic acquired Bun, React2Shell is pretty darn bad (and that's not all), plus "elf spam" packages on npm. <strong>From the community:</strong> tRPC vs. oRPC, demystifying TSConfig, and hash-slash (#/) project-relative import support in Node.</p><p><strong>MCP in Practice Course</strong><br><a href="https://bit.ly/PSMCPInPractice">Watch now.</a> Kamran shows you how to build a practical enterprise-grade MCP server with .NET, C#, and OAuth, hosted remotely on Azure. (<em>Requires subscription</em>)</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(04:09) - Kamran's MCP in Practice Course is Now Live on Pluralsight</li>
<li>(08:35) - News: Anthropic Acquires the Bun JavaScript Runtime</li>
<li>(13:41) - News: Vite 8 Beta with Rolldown</li>
<li>(15:40) - News: tsdown 0.17 Release</li>
<li>(17:10) - News: oxlint Brings Type-aware Linting in Alpha</li>
<li>(17:50) - News: oxfmt Alpha is 30X Faster Than Prettier</li>
<li>(18:45) - News: Gird Your Loins for Upcoming Node.js Security Releases</li>
<li>(19:38) - News: React2Shell Remote Code Execution Exploit in RSC</li>
<li>(26:55) - News: React2Shell Causes Yet Another Cloudflare Outage</li>
<li>(28:16) - News: Santa's Elves Flood npm With Naughty "Gifts"</li>
<li>(30:10) - News: SVG Clickjacking Exploit Using Filters</li>
<li>(32:05) - Community Highlight: tRPC vs. oRPC for Your Next TypeScript Project?</li>
<li>(33:15) - Community Highlight: Testing Vue Composables in TypeScript by John Franey</li>
<li>(34:03) - Community Highlight: Formisch for React Quietly Released by Fabian Hillar</li>
<li>(34:53) - Community Highlight: Building a Dinosaur Runner Game in Deno</li>
<li>(36:19) - Community Highlight: Node Will Soon Support Project Root Import Paths</li>
<li>(37:51) - Community Highlight: TSConfig Grimoire by Bjorn Lu</li>
<li>(39:01) - Community Highlight: How is ESM vs. CJS Going? by Titus</li>
<li>(40:45) - Community Highlight: Next Astro Release Supports Vite Environments API</li>
<li>(41:18) - Bleet of the Week by Joke Bailey</li>
<li>(42:10) - Cool Read: Godot Shaders Bible by Fabrizio Espendola</li>
<li>(42:56) - Cool Watch: Cancellation Tokens by Stephen Toub</li>
<li>(43:44) - Cool Game: Classic Game Zork is Released as Open Source</li>
<li>(44:16) - Cool Tool: Helion, a Modern DOOM Engine</li>
<li>(45:18) - Cool Watch: Modern .NET Serialization Attacks by Hampton Paulk</li>
<li>(47:25) - Cool Reads: Architecture for Flow and Domain-driven Transformation</li>
<li>(48:40) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>Bun: <a href="https://bun.sh/blog/bun-joins-anthropic">Bun is joining Anthropic</a> </li><li>ViteLand: <a href="https://vite.dev/blog/announcing-vite8-beta">Vite 8 Beta: The Rolldown-powered Vite</a></li><li>ViteLand: <a href="https://voidzero.dev/posts/announcing-oxlint-type-aware-linting-alpha">Announcing Oxlint Type-Aware Linting Alpha</a></li><li>ViteLand: The<a href="https://voidzero.dev/posts/announcing-oxfmt-alpha"> first Oxfmt alpha was released</a></li><li>ViteLand: <a href="https://bsky.app/profile/sxzz.dev/post/3m6xi7e7d5k2b">tsdown got a new release</a></li><li>Node.js PSA: Prepare for <a href="https://nodejs.org/en/blog/vulnerability/december-2025-security-releases">Monday, December 15, 2025 Security Releases</a></li><li>Cloudflare: <a href="https://blog.cloudflare.com/5-december-2025-outage/">Cloudflare outage on December 5, 2025</a></li><li>Security: <a href="https://socket.dev/blog/elves-on-npm">npm Sees Surge of Auto-Generated “elf-stats” Packages Published Every Two Minutes</a> via (<a href="https://bsky.app/profile/sarahgooding.bsky.social/post/3m73tzb4xw22c">Sarah Gooding</a>)</li><li>Security: <a href="https://lyra.horse/blog/2025/12/svg-clickjacking/">SVG Filters - Clickjacking 2.0 Ʊ lyra's epic blog</a> </li></ul><p><strong>React2Shell Resources</strong></p><ul><li>React2Shell Exploit: <a href="https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components">Critical Security Vulnerability in React Server Components</a></li><li>Deep Dive: <a href="https://react2shell.com/">https://react2shell.com/</a></li><li>Next.js: <a href="https://nextjs.org/blog/CVE-2025-66478">Security Advisory: CVE-2025-66478</a></li><li>Deno Blog: <a href="https://deno.com/blog/react-server-functions-rce">React Server Functions / Next.js Vulnerability: Deno Deploy users protected</a> </li><li>Explainer: <a href="https://youtu.be/s81dVUM-cQM?si=dYFMJh8NNkrZ6KVv">this is the worst case scenario</a> by LowLevelEd</li></ul><p><br></p><p><strong>From the Community</strong></p><ul><li>Temitope Oyedele: <a href="https://blog.logrocket.com/trpc-vs-orpc-type-safe-rpc">tRPC vs oRPC: Which is better for your next TypeScript project, and why?</a></li><li>John Franey: <a href="https://johnfraney.ca/blog/how-to-unit-test-a-vue-composable-with-typescript/">How to test a Vue composable with TypeScript · JohnFraney.ca</a></li><li>Fabian Hiller: <a href="https://bsky.app/profile/fabianhiller.com/post/3m76gx2v3vc27">Formisch for React just released (quietly)</a> – the form library that powers SolidJS </li><li>Deno: <a href="https://bsky.app/profile/deno.land/post/3m7ijg3xyc22v">Build a browser game in Deno </a></li><li>Hybrist: Node support for #/ wildcard (via <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3m7i2n5rank23">Rob Palmer</a>)</li><li>Bjorn Lu: <a href="https://bsky.app/profile/bluwy.me/post/3m6ygze75dk2g">TSConfig Grimoire</a> (via Rob Palmer)</li><li>Wooorm: <a href="https://bsky.app/profile/wooorm.com/post/3m76svmloq222">How is ESM from Common going?</a></li><li>Astro: <a href="https://bsky.app/profile/ematipico.xyz/post/3m76463uslc2w">Next release of Astro will support Vite Environment API</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Read: Godot Shaders Bible and Ghastly in Desmos by <a href="https://bsky.app/profile/fabrizioespindola.bsky.social/post/3m7g2wa5rps2o">Fabrizio Espindola</a></li><li>Cool Watch: <a href="https://youtu.be/h1GvSPaRQ-U?si=3GJsnXkmEoaNgKym">Cancellation Tokens with Stephen Toub</a></li><li>Cool Game: <a href="https://opensource.microsoft.com/blog/2025/11/20/preserving-code-that-shaped-generations-zork-i-ii-and-iii-go-open-source">Preserving code that shaped generations: Zork I, II, and III go Open Source</a> </li><li>Cool Tool: <a href="https://github.com/Helion-Engine/Helion">Helion Engine</a>, a modern DOOM engine in C#</li><li>Cool Watch: <a href="https://www.youtube.com/watch?v=3bCn-_kVtzI&amp;t=1283s">Modern .NET Serialization Attacks by Hampton Paulk</a></li><li>Cool Reads: <a href="https://architectureforflow.com/">Architecture for Flow</a> and <a href="https://domain-driven-transformation.com/">Domain-driven Transformation</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News for the week of <strong>December 1, 2025</strong>: Anthrophic acquired Bun, React2Shell is pretty darn bad (and that's not all), plus "elf spam" packages on npm. <strong>From the community:</strong> tRPC vs. oRPC, demystifying TSConfig, and hash-slash (#/) project-relative import support in Node.</p><p><strong>MCP in Practice Course</strong><br><a href="https://bit.ly/PSMCPInPractice">Watch now.</a> Kamran shows you how to build a practical enterprise-grade MCP server with .NET, C#, and OAuth, hosted remotely on Azure. (<em>Requires subscription</em>)</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(04:09) - Kamran's MCP in Practice Course is Now Live on Pluralsight</li>
<li>(08:35) - News: Anthropic Acquires the Bun JavaScript Runtime</li>
<li>(13:41) - News: Vite 8 Beta with Rolldown</li>
<li>(15:40) - News: tsdown 0.17 Release</li>
<li>(17:10) - News: oxlint Brings Type-aware Linting in Alpha</li>
<li>(17:50) - News: oxfmt Alpha is 30X Faster Than Prettier</li>
<li>(18:45) - News: Gird Your Loins for Upcoming Node.js Security Releases</li>
<li>(19:38) - News: React2Shell Remote Code Execution Exploit in RSC</li>
<li>(26:55) - News: React2Shell Causes Yet Another Cloudflare Outage</li>
<li>(28:16) - News: Santa's Elves Flood npm With Naughty "Gifts"</li>
<li>(30:10) - News: SVG Clickjacking Exploit Using Filters</li>
<li>(32:05) - Community Highlight: tRPC vs. oRPC for Your Next TypeScript Project?</li>
<li>(33:15) - Community Highlight: Testing Vue Composables in TypeScript by John Franey</li>
<li>(34:03) - Community Highlight: Formisch for React Quietly Released by Fabian Hillar</li>
<li>(34:53) - Community Highlight: Building a Dinosaur Runner Game in Deno</li>
<li>(36:19) - Community Highlight: Node Will Soon Support Project Root Import Paths</li>
<li>(37:51) - Community Highlight: TSConfig Grimoire by Bjorn Lu</li>
<li>(39:01) - Community Highlight: How is ESM vs. CJS Going? by Titus</li>
<li>(40:45) - Community Highlight: Next Astro Release Supports Vite Environments API</li>
<li>(41:18) - Bleet of the Week by Joke Bailey</li>
<li>(42:10) - Cool Read: Godot Shaders Bible by Fabrizio Espendola</li>
<li>(42:56) - Cool Watch: Cancellation Tokens by Stephen Toub</li>
<li>(43:44) - Cool Game: Classic Game Zork is Released as Open Source</li>
<li>(44:16) - Cool Tool: Helion, a Modern DOOM Engine</li>
<li>(45:18) - Cool Watch: Modern .NET Serialization Attacks by Hampton Paulk</li>
<li>(47:25) - Cool Reads: Architecture for Flow and Domain-driven Transformation</li>
<li>(48:40) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>Bun: <a href="https://bun.sh/blog/bun-joins-anthropic">Bun is joining Anthropic</a> </li><li>ViteLand: <a href="https://vite.dev/blog/announcing-vite8-beta">Vite 8 Beta: The Rolldown-powered Vite</a></li><li>ViteLand: <a href="https://voidzero.dev/posts/announcing-oxlint-type-aware-linting-alpha">Announcing Oxlint Type-Aware Linting Alpha</a></li><li>ViteLand: The<a href="https://voidzero.dev/posts/announcing-oxfmt-alpha"> first Oxfmt alpha was released</a></li><li>ViteLand: <a href="https://bsky.app/profile/sxzz.dev/post/3m6xi7e7d5k2b">tsdown got a new release</a></li><li>Node.js PSA: Prepare for <a href="https://nodejs.org/en/blog/vulnerability/december-2025-security-releases">Monday, December 15, 2025 Security Releases</a></li><li>Cloudflare: <a href="https://blog.cloudflare.com/5-december-2025-outage/">Cloudflare outage on December 5, 2025</a></li><li>Security: <a href="https://socket.dev/blog/elves-on-npm">npm Sees Surge of Auto-Generated “elf-stats” Packages Published Every Two Minutes</a> via (<a href="https://bsky.app/profile/sarahgooding.bsky.social/post/3m73tzb4xw22c">Sarah Gooding</a>)</li><li>Security: <a href="https://lyra.horse/blog/2025/12/svg-clickjacking/">SVG Filters - Clickjacking 2.0 Ʊ lyra's epic blog</a> </li></ul><p><strong>React2Shell Resources</strong></p><ul><li>React2Shell Exploit: <a href="https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components">Critical Security Vulnerability in React Server Components</a></li><li>Deep Dive: <a href="https://react2shell.com/">https://react2shell.com/</a></li><li>Next.js: <a href="https://nextjs.org/blog/CVE-2025-66478">Security Advisory: CVE-2025-66478</a></li><li>Deno Blog: <a href="https://deno.com/blog/react-server-functions-rce">React Server Functions / Next.js Vulnerability: Deno Deploy users protected</a> </li><li>Explainer: <a href="https://youtu.be/s81dVUM-cQM?si=dYFMJh8NNkrZ6KVv">this is the worst case scenario</a> by LowLevelEd</li></ul><p><br></p><p><strong>From the Community</strong></p><ul><li>Temitope Oyedele: <a href="https://blog.logrocket.com/trpc-vs-orpc-type-safe-rpc">tRPC vs oRPC: Which is better for your next TypeScript project, and why?</a></li><li>John Franey: <a href="https://johnfraney.ca/blog/how-to-unit-test-a-vue-composable-with-typescript/">How to test a Vue composable with TypeScript · JohnFraney.ca</a></li><li>Fabian Hiller: <a href="https://bsky.app/profile/fabianhiller.com/post/3m76gx2v3vc27">Formisch for React just released (quietly)</a> – the form library that powers SolidJS </li><li>Deno: <a href="https://bsky.app/profile/deno.land/post/3m7ijg3xyc22v">Build a browser game in Deno </a></li><li>Hybrist: Node support for #/ wildcard (via <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3m7i2n5rank23">Rob Palmer</a>)</li><li>Bjorn Lu: <a href="https://bsky.app/profile/bluwy.me/post/3m6ygze75dk2g">TSConfig Grimoire</a> (via Rob Palmer)</li><li>Wooorm: <a href="https://bsky.app/profile/wooorm.com/post/3m76svmloq222">How is ESM from Common going?</a></li><li>Astro: <a href="https://bsky.app/profile/ematipico.xyz/post/3m76463uslc2w">Next release of Astro will support Vite Environment API</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Read: Godot Shaders Bible and Ghastly in Desmos by <a href="https://bsky.app/profile/fabrizioespindola.bsky.social/post/3m7g2wa5rps2o">Fabrizio Espindola</a></li><li>Cool Watch: <a href="https://youtu.be/h1GvSPaRQ-U?si=3GJsnXkmEoaNgKym">Cancellation Tokens with Stephen Toub</a></li><li>Cool Game: <a href="https://opensource.microsoft.com/blog/2025/11/20/preserving-code-that-shaped-generations-zork-i-ii-and-iii-go-open-source">Preserving code that shaped generations: Zork I, II, and III go Open Source</a> </li><li>Cool Tool: <a href="https://github.com/Helion-Engine/Helion">Helion Engine</a>, a modern DOOM engine in C#</li><li>Cool Watch: <a href="https://www.youtube.com/watch?v=3bCn-_kVtzI&amp;t=1283s">Modern .NET Serialization Attacks by Hampton Paulk</a></li><li>Cool Reads: <a href="https://architectureforflow.com/">Architecture for Flow</a> and <a href="https://domain-driven-transformation.com/">Domain-driven Transformation</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Tue, 09 Dec 2025 10:40:17 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/41aa7f70/152095c7.mp3" length="26712032" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>3334</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News for the week of <strong>December 1, 2025</strong>: Anthrophic acquired Bun, React2Shell is pretty darn bad (and that's not all), plus "elf spam" packages on npm. <strong>From the community:</strong> tRPC vs. oRPC, demystifying TSConfig, and hash-slash (#/) project-relative import support in Node.</p><p><strong>MCP in Practice Course</strong><br><a href="https://bit.ly/PSMCPInPractice">Watch now.</a> Kamran shows you how to build a practical enterprise-grade MCP server with .NET, C#, and OAuth, hosted remotely on Azure. (<em>Requires subscription</em>)</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(04:09) - Kamran's MCP in Practice Course is Now Live on Pluralsight</li>
<li>(08:35) - News: Anthropic Acquires the Bun JavaScript Runtime</li>
<li>(13:41) - News: Vite 8 Beta with Rolldown</li>
<li>(15:40) - News: tsdown 0.17 Release</li>
<li>(17:10) - News: oxlint Brings Type-aware Linting in Alpha</li>
<li>(17:50) - News: oxfmt Alpha is 30X Faster Than Prettier</li>
<li>(18:45) - News: Gird Your Loins for Upcoming Node.js Security Releases</li>
<li>(19:38) - News: React2Shell Remote Code Execution Exploit in RSC</li>
<li>(26:55) - News: React2Shell Causes Yet Another Cloudflare Outage</li>
<li>(28:16) - News: Santa's Elves Flood npm With Naughty "Gifts"</li>
<li>(30:10) - News: SVG Clickjacking Exploit Using Filters</li>
<li>(32:05) - Community Highlight: tRPC vs. oRPC for Your Next TypeScript Project?</li>
<li>(33:15) - Community Highlight: Testing Vue Composables in TypeScript by John Franey</li>
<li>(34:03) - Community Highlight: Formisch for React Quietly Released by Fabian Hillar</li>
<li>(34:53) - Community Highlight: Building a Dinosaur Runner Game in Deno</li>
<li>(36:19) - Community Highlight: Node Will Soon Support Project Root Import Paths</li>
<li>(37:51) - Community Highlight: TSConfig Grimoire by Bjorn Lu</li>
<li>(39:01) - Community Highlight: How is ESM vs. CJS Going? by Titus</li>
<li>(40:45) - Community Highlight: Next Astro Release Supports Vite Environments API</li>
<li>(41:18) - Bleet of the Week by Joke Bailey</li>
<li>(42:10) - Cool Read: Godot Shaders Bible by Fabrizio Espendola</li>
<li>(42:56) - Cool Watch: Cancellation Tokens by Stephen Toub</li>
<li>(43:44) - Cool Game: Classic Game Zork is Released as Open Source</li>
<li>(44:16) - Cool Tool: Helion, a Modern DOOM Engine</li>
<li>(45:18) - Cool Watch: Modern .NET Serialization Attacks by Hampton Paulk</li>
<li>(47:25) - Cool Reads: Architecture for Flow and Domain-driven Transformation</li>
<li>(48:40) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>Bun: <a href="https://bun.sh/blog/bun-joins-anthropic">Bun is joining Anthropic</a> </li><li>ViteLand: <a href="https://vite.dev/blog/announcing-vite8-beta">Vite 8 Beta: The Rolldown-powered Vite</a></li><li>ViteLand: <a href="https://voidzero.dev/posts/announcing-oxlint-type-aware-linting-alpha">Announcing Oxlint Type-Aware Linting Alpha</a></li><li>ViteLand: The<a href="https://voidzero.dev/posts/announcing-oxfmt-alpha"> first Oxfmt alpha was released</a></li><li>ViteLand: <a href="https://bsky.app/profile/sxzz.dev/post/3m6xi7e7d5k2b">tsdown got a new release</a></li><li>Node.js PSA: Prepare for <a href="https://nodejs.org/en/blog/vulnerability/december-2025-security-releases">Monday, December 15, 2025 Security Releases</a></li><li>Cloudflare: <a href="https://blog.cloudflare.com/5-december-2025-outage/">Cloudflare outage on December 5, 2025</a></li><li>Security: <a href="https://socket.dev/blog/elves-on-npm">npm Sees Surge of Auto-Generated “elf-stats” Packages Published Every Two Minutes</a> via (<a href="https://bsky.app/profile/sarahgooding.bsky.social/post/3m73tzb4xw22c">Sarah Gooding</a>)</li><li>Security: <a href="https://lyra.horse/blog/2025/12/svg-clickjacking/">SVG Filters - Clickjacking 2.0 Ʊ lyra's epic blog</a> </li></ul><p><strong>React2Shell Resources</strong></p><ul><li>React2Shell Exploit: <a href="https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components">Critical Security Vulnerability in React Server Components</a></li><li>Deep Dive: <a href="https://react2shell.com/">https://react2shell.com/</a></li><li>Next.js: <a href="https://nextjs.org/blog/CVE-2025-66478">Security Advisory: CVE-2025-66478</a></li><li>Deno Blog: <a href="https://deno.com/blog/react-server-functions-rce">React Server Functions / Next.js Vulnerability: Deno Deploy users protected</a> </li><li>Explainer: <a href="https://youtu.be/s81dVUM-cQM?si=dYFMJh8NNkrZ6KVv">this is the worst case scenario</a> by LowLevelEd</li></ul><p><br></p><p><strong>From the Community</strong></p><ul><li>Temitope Oyedele: <a href="https://blog.logrocket.com/trpc-vs-orpc-type-safe-rpc">tRPC vs oRPC: Which is better for your next TypeScript project, and why?</a></li><li>John Franey: <a href="https://johnfraney.ca/blog/how-to-unit-test-a-vue-composable-with-typescript/">How to test a Vue composable with TypeScript · JohnFraney.ca</a></li><li>Fabian Hiller: <a href="https://bsky.app/profile/fabianhiller.com/post/3m76gx2v3vc27">Formisch for React just released (quietly)</a> – the form library that powers SolidJS </li><li>Deno: <a href="https://bsky.app/profile/deno.land/post/3m7ijg3xyc22v">Build a browser game in Deno </a></li><li>Hybrist: Node support for #/ wildcard (via <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3m7i2n5rank23">Rob Palmer</a>)</li><li>Bjorn Lu: <a href="https://bsky.app/profile/bluwy.me/post/3m6ygze75dk2g">TSConfig Grimoire</a> (via Rob Palmer)</li><li>Wooorm: <a href="https://bsky.app/profile/wooorm.com/post/3m76svmloq222">How is ESM from Common going?</a></li><li>Astro: <a href="https://bsky.app/profile/ematipico.xyz/post/3m76463uslc2w">Next release of Astro will support Vite Environment API</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Read: Godot Shaders Bible and Ghastly in Desmos by <a href="https://bsky.app/profile/fabrizioespindola.bsky.social/post/3m7g2wa5rps2o">Fabrizio Espindola</a></li><li>Cool Watch: <a href="https://youtu.be/h1GvSPaRQ-U?si=3GJsnXkmEoaNgKym">Cancellation Tokens with Stephen Toub</a></li><li>Cool Game: <a href="https://opensource.microsoft.com/blog/2025/11/20/preserving-code-that-shaped-generations-zork-i-ii-and-iii-go-open-source">Preserving code that shaped generations: Zork I, II, and III go Open Source</a> </li><li>Cool Tool: <a href="https://github.com/Helion-Engine/Helion">Helion Engine</a>, a modern DOOM engine in C#</li><li>Cool Watch: <a href="https://www.youtube.com/watch?v=3bCn-_kVtzI&amp;t=1283s">Modern .NET Serialization Attacks by Hampton Paulk</a></li><li>Cool Reads: <a href="https://architectureforflow.com/">Architecture for Flow</a> and <a href="https://domain-driven-transformation.com/">Domain-driven Transformation</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/41aa7f70/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Progress on TypeScript 7, Advent of Code as an Excuse to Learn Zig, and Type-safe CLIs | News | Ep 46</title>
      <itunes:episode>46</itunes:episode>
      <podcast:episode>46</podcast:episode>
      <itunes:title>Progress on TypeScript 7, Advent of Code as an Excuse to Learn Zig, and Type-safe CLIs | News | Ep 46</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">7ff3c046-0ce5-4e43-b985-2eb307a04d3e</guid>
      <link>https://share.transistor.fm/s/24b97fe8</link>
      <description>
        <![CDATA[<p>News for the week of <strong>November 24, 2025</strong>: TypeScript team discusses progress on TS 7 and upcoming deprecations for TS 6. Plus, Svelte's new hydratable API. <strong>From the community:</strong> creating strongly-typed CLIs with yargs, magic union types to check characters, and how TypedArray can reduce memory usage.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:21) - News: Progress on TypeScript 7 and Upcoming Deprecations</li>
<li>(15:24) - News: Advent of Code is Live for Holiday Coding</li>
<li>(17:07) - News: Svelte 5.44.0 Introduces hydratable API</li>
<li>(19:18) - News: Vite+ FAQ Answers Some Common Questions</li>
<li>(20:21) - News: Zed IDE Adds Better TS Error Messages</li>
<li>(22:01) - News: TypeScript ESLint Will Simplify Redundant Type Unions</li>
<li>(22:24) - Library Watch: Spikard, a Polyglot API Toolkit</li>
<li>(23:31) - Library Watch: Type-safe CLIs with Optique</li>
<li>(24:09) - Community Highlight: The Summer I Shipped Type Stripping by Marco Ippolito</li>
<li>(25:51) - Community Highlight: Building Strongly Typed CLI Applications by John Reilly</li>
<li>(27:10) - Community Highlight: Using Zod and TypeScript by Telerik</li>
<li>(27:45) - Community Highlight:  Lowercase &amp; Uppercase Union by TypedRocks</li>
<li>(28:32) - Community Highlight: Improving Bazel Type Checks with Isolated Declarations by Brad Zacher</li>
<li>(29:28) - Community Highlight: Data-oriented Modeling by Aapo Alasuutari</li>
<li>(32:01) - Community Highlight: Doom in TypeScript Types by Software Engineering Daily</li>
<li>(32:17) - Bleet of the Week</li>
<li>(32:45) - Cool Watch: Human-sized Lego Castle with 3D Printing</li>
<li>(33:42) - Cool Watch: Predators (2010)</li>
<li>(34:24) - Cool Watch: dotnetconf Talks</li>
<li>(37:20) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>TypeScript Blog<em>: </em><a href="https://devblogs.microsoft.com/typescript/progress-on-typescript-7-december-2025/">Progress on TypeScript 7</a></li><li><a href="https://adventofcode.com/">Advent of Code is live!</a></li><li><a href="https://svelte.dev/docs/svelte/hydratable">Svelte 5.44.0 introduces `hydratable` API</a></li><li>Vite+: <a href="https://voidzero.dev/posts/announcing-vite-plus#faqs">New FAQ</a> </li><li>Zed v0.214.0, <a href="https://bsky.app/profile/zed.dev/post/3m6kfexf4kh2k">now with better TS Errors</a></li><li>TypeScript-ESLint 8.48.0 <a href="https://bsky.app/profile/typescript-eslint.io/post/3m6g4fi6wp222">adds type union redundancy check</a></li><li>Library Watch: <a href="https://github.com/Goldziher/spikard">spikard</a>, a polyglot API toolkit</li><li>Library Watch: <a href="https://hackers.pub/@hongminhee/2025/optique-070">Optique 0.7.0</a> (via <a href="https://bsky.app/profile/hongminhee.hollo.social.ap.brid.gy/post/3m6hn2mc7m5h2">Hong Minhee</a>)</li></ul><p><br></p><p><strong>From the Community</strong></p><ul><li>Marco Ippolito: <a href="https://satanacchio.hashnode.dev/the-summer-i-shipped-type-stripping">Summer I Shipped Type Stripping</a></li><li>John Reilly: <a href="https://johnnyreilly.com/yargs-statically-typed-builder-commands">Yargs: statically typed builder commands</a> (via <a href="https://bsky.app/profile/johnnyreilly.com/post/3m6ra2f4xe22x">johnnyreilly</a>)</li><li>Telerik: <a href="https://www.telerik.com/blogs/zod-typescript-schema-validation-made-easy">Zod + TypeScript: Schema Validation Made Easy</a> </li><li>TypedRocks: <a href="https://youtu.be/KSWDznXWnrs?si=9Ou1AIN5wTpLQZGa">The Secret Power of The  Lowercase &amp; Uppercase UNION in TypeScript</a> </li><li>Brad Zacher: <a href="https://bsky.app/profile/brad.zacher.com.au/post/3m5mkjtcvmk24">Improving Bazel TypeScript TypeChecks With IsolatedDeclarations</a> (via <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3m6gyky4l2s2i">Rob Palmer</a>)</li><li>Aapo Alasuutari: <a href="https://trynova.dev/blog/interlude-a-data-oriented-model">Interlude: A data-oriented model</a></li><li>Software Engineering Daily: <a href="https://bsky.app/profile/softwaredaily.bsky.social/post/3m6hfxbiew22q">Josh and Dmitri talk about Doom in TypeScript Types</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Watch: <a href="https://youtu.be/GMk3XcEFxL4?si=otZn0pEgTVF1BLxl">NFTI building a 3D printed castle</a></li><li>Cool Watch: <a href="https://www.imdb.com/title/tt1424381/?ref_=fn_t_1">Predators (2010)</a></li><li>Cool Watch: <a href="https://www.youtube.com/watch?v=kbW7qHMBM6A&amp;list=PLdo4fOcmZ0oXtIlvq1tuORUtZqVG-HdCt">dotnetconf</a></li><li>Cool Link: <a href="https://aspire.dev">Aspire.dev</a>, code-first local dev environments</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News for the week of <strong>November 24, 2025</strong>: TypeScript team discusses progress on TS 7 and upcoming deprecations for TS 6. Plus, Svelte's new hydratable API. <strong>From the community:</strong> creating strongly-typed CLIs with yargs, magic union types to check characters, and how TypedArray can reduce memory usage.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:21) - News: Progress on TypeScript 7 and Upcoming Deprecations</li>
<li>(15:24) - News: Advent of Code is Live for Holiday Coding</li>
<li>(17:07) - News: Svelte 5.44.0 Introduces hydratable API</li>
<li>(19:18) - News: Vite+ FAQ Answers Some Common Questions</li>
<li>(20:21) - News: Zed IDE Adds Better TS Error Messages</li>
<li>(22:01) - News: TypeScript ESLint Will Simplify Redundant Type Unions</li>
<li>(22:24) - Library Watch: Spikard, a Polyglot API Toolkit</li>
<li>(23:31) - Library Watch: Type-safe CLIs with Optique</li>
<li>(24:09) - Community Highlight: The Summer I Shipped Type Stripping by Marco Ippolito</li>
<li>(25:51) - Community Highlight: Building Strongly Typed CLI Applications by John Reilly</li>
<li>(27:10) - Community Highlight: Using Zod and TypeScript by Telerik</li>
<li>(27:45) - Community Highlight:  Lowercase &amp; Uppercase Union by TypedRocks</li>
<li>(28:32) - Community Highlight: Improving Bazel Type Checks with Isolated Declarations by Brad Zacher</li>
<li>(29:28) - Community Highlight: Data-oriented Modeling by Aapo Alasuutari</li>
<li>(32:01) - Community Highlight: Doom in TypeScript Types by Software Engineering Daily</li>
<li>(32:17) - Bleet of the Week</li>
<li>(32:45) - Cool Watch: Human-sized Lego Castle with 3D Printing</li>
<li>(33:42) - Cool Watch: Predators (2010)</li>
<li>(34:24) - Cool Watch: dotnetconf Talks</li>
<li>(37:20) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>TypeScript Blog<em>: </em><a href="https://devblogs.microsoft.com/typescript/progress-on-typescript-7-december-2025/">Progress on TypeScript 7</a></li><li><a href="https://adventofcode.com/">Advent of Code is live!</a></li><li><a href="https://svelte.dev/docs/svelte/hydratable">Svelte 5.44.0 introduces `hydratable` API</a></li><li>Vite+: <a href="https://voidzero.dev/posts/announcing-vite-plus#faqs">New FAQ</a> </li><li>Zed v0.214.0, <a href="https://bsky.app/profile/zed.dev/post/3m6kfexf4kh2k">now with better TS Errors</a></li><li>TypeScript-ESLint 8.48.0 <a href="https://bsky.app/profile/typescript-eslint.io/post/3m6g4fi6wp222">adds type union redundancy check</a></li><li>Library Watch: <a href="https://github.com/Goldziher/spikard">spikard</a>, a polyglot API toolkit</li><li>Library Watch: <a href="https://hackers.pub/@hongminhee/2025/optique-070">Optique 0.7.0</a> (via <a href="https://bsky.app/profile/hongminhee.hollo.social.ap.brid.gy/post/3m6hn2mc7m5h2">Hong Minhee</a>)</li></ul><p><br></p><p><strong>From the Community</strong></p><ul><li>Marco Ippolito: <a href="https://satanacchio.hashnode.dev/the-summer-i-shipped-type-stripping">Summer I Shipped Type Stripping</a></li><li>John Reilly: <a href="https://johnnyreilly.com/yargs-statically-typed-builder-commands">Yargs: statically typed builder commands</a> (via <a href="https://bsky.app/profile/johnnyreilly.com/post/3m6ra2f4xe22x">johnnyreilly</a>)</li><li>Telerik: <a href="https://www.telerik.com/blogs/zod-typescript-schema-validation-made-easy">Zod + TypeScript: Schema Validation Made Easy</a> </li><li>TypedRocks: <a href="https://youtu.be/KSWDznXWnrs?si=9Ou1AIN5wTpLQZGa">The Secret Power of The  Lowercase &amp; Uppercase UNION in TypeScript</a> </li><li>Brad Zacher: <a href="https://bsky.app/profile/brad.zacher.com.au/post/3m5mkjtcvmk24">Improving Bazel TypeScript TypeChecks With IsolatedDeclarations</a> (via <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3m6gyky4l2s2i">Rob Palmer</a>)</li><li>Aapo Alasuutari: <a href="https://trynova.dev/blog/interlude-a-data-oriented-model">Interlude: A data-oriented model</a></li><li>Software Engineering Daily: <a href="https://bsky.app/profile/softwaredaily.bsky.social/post/3m6hfxbiew22q">Josh and Dmitri talk about Doom in TypeScript Types</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Watch: <a href="https://youtu.be/GMk3XcEFxL4?si=otZn0pEgTVF1BLxl">NFTI building a 3D printed castle</a></li><li>Cool Watch: <a href="https://www.imdb.com/title/tt1424381/?ref_=fn_t_1">Predators (2010)</a></li><li>Cool Watch: <a href="https://www.youtube.com/watch?v=kbW7qHMBM6A&amp;list=PLdo4fOcmZ0oXtIlvq1tuORUtZqVG-HdCt">dotnetconf</a></li><li>Cool Link: <a href="https://aspire.dev">Aspire.dev</a>, code-first local dev environments</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Wed, 03 Dec 2025 11:00:48 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/24b97fe8/d899f692.mp3" length="20448726" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2551</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News for the week of <strong>November 24, 2025</strong>: TypeScript team discusses progress on TS 7 and upcoming deprecations for TS 6. Plus, Svelte's new hydratable API. <strong>From the community:</strong> creating strongly-typed CLIs with yargs, magic union types to check characters, and how TypedArray can reduce memory usage.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:21) - News: Progress on TypeScript 7 and Upcoming Deprecations</li>
<li>(15:24) - News: Advent of Code is Live for Holiday Coding</li>
<li>(17:07) - News: Svelte 5.44.0 Introduces hydratable API</li>
<li>(19:18) - News: Vite+ FAQ Answers Some Common Questions</li>
<li>(20:21) - News: Zed IDE Adds Better TS Error Messages</li>
<li>(22:01) - News: TypeScript ESLint Will Simplify Redundant Type Unions</li>
<li>(22:24) - Library Watch: Spikard, a Polyglot API Toolkit</li>
<li>(23:31) - Library Watch: Type-safe CLIs with Optique</li>
<li>(24:09) - Community Highlight: The Summer I Shipped Type Stripping by Marco Ippolito</li>
<li>(25:51) - Community Highlight: Building Strongly Typed CLI Applications by John Reilly</li>
<li>(27:10) - Community Highlight: Using Zod and TypeScript by Telerik</li>
<li>(27:45) - Community Highlight:  Lowercase &amp; Uppercase Union by TypedRocks</li>
<li>(28:32) - Community Highlight: Improving Bazel Type Checks with Isolated Declarations by Brad Zacher</li>
<li>(29:28) - Community Highlight: Data-oriented Modeling by Aapo Alasuutari</li>
<li>(32:01) - Community Highlight: Doom in TypeScript Types by Software Engineering Daily</li>
<li>(32:17) - Bleet of the Week</li>
<li>(32:45) - Cool Watch: Human-sized Lego Castle with 3D Printing</li>
<li>(33:42) - Cool Watch: Predators (2010)</li>
<li>(34:24) - Cool Watch: dotnetconf Talks</li>
<li>(37:20) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>TypeScript Blog<em>: </em><a href="https://devblogs.microsoft.com/typescript/progress-on-typescript-7-december-2025/">Progress on TypeScript 7</a></li><li><a href="https://adventofcode.com/">Advent of Code is live!</a></li><li><a href="https://svelte.dev/docs/svelte/hydratable">Svelte 5.44.0 introduces `hydratable` API</a></li><li>Vite+: <a href="https://voidzero.dev/posts/announcing-vite-plus#faqs">New FAQ</a> </li><li>Zed v0.214.0, <a href="https://bsky.app/profile/zed.dev/post/3m6kfexf4kh2k">now with better TS Errors</a></li><li>TypeScript-ESLint 8.48.0 <a href="https://bsky.app/profile/typescript-eslint.io/post/3m6g4fi6wp222">adds type union redundancy check</a></li><li>Library Watch: <a href="https://github.com/Goldziher/spikard">spikard</a>, a polyglot API toolkit</li><li>Library Watch: <a href="https://hackers.pub/@hongminhee/2025/optique-070">Optique 0.7.0</a> (via <a href="https://bsky.app/profile/hongminhee.hollo.social.ap.brid.gy/post/3m6hn2mc7m5h2">Hong Minhee</a>)</li></ul><p><br></p><p><strong>From the Community</strong></p><ul><li>Marco Ippolito: <a href="https://satanacchio.hashnode.dev/the-summer-i-shipped-type-stripping">Summer I Shipped Type Stripping</a></li><li>John Reilly: <a href="https://johnnyreilly.com/yargs-statically-typed-builder-commands">Yargs: statically typed builder commands</a> (via <a href="https://bsky.app/profile/johnnyreilly.com/post/3m6ra2f4xe22x">johnnyreilly</a>)</li><li>Telerik: <a href="https://www.telerik.com/blogs/zod-typescript-schema-validation-made-easy">Zod + TypeScript: Schema Validation Made Easy</a> </li><li>TypedRocks: <a href="https://youtu.be/KSWDznXWnrs?si=9Ou1AIN5wTpLQZGa">The Secret Power of The  Lowercase &amp; Uppercase UNION in TypeScript</a> </li><li>Brad Zacher: <a href="https://bsky.app/profile/brad.zacher.com.au/post/3m5mkjtcvmk24">Improving Bazel TypeScript TypeChecks With IsolatedDeclarations</a> (via <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3m6gyky4l2s2i">Rob Palmer</a>)</li><li>Aapo Alasuutari: <a href="https://trynova.dev/blog/interlude-a-data-oriented-model">Interlude: A data-oriented model</a></li><li>Software Engineering Daily: <a href="https://bsky.app/profile/softwaredaily.bsky.social/post/3m6hfxbiew22q">Josh and Dmitri talk about Doom in TypeScript Types</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Watch: <a href="https://youtu.be/GMk3XcEFxL4?si=otZn0pEgTVF1BLxl">NFTI building a 3D printed castle</a></li><li>Cool Watch: <a href="https://www.imdb.com/title/tt1424381/?ref_=fn_t_1">Predators (2010)</a></li><li>Cool Watch: <a href="https://www.youtube.com/watch?v=kbW7qHMBM6A&amp;list=PLdo4fOcmZ0oXtIlvq1tuORUtZqVG-HdCt">dotnetconf</a></li><li>Cool Link: <a href="https://aspire.dev">Aspire.dev</a>, code-first local dev environments</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/24b97fe8/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Angular 21, Autofac Meets TS, and Shai Hulud Strikes Again | News | Ep 45</title>
      <itunes:episode>45</itunes:episode>
      <podcast:episode>45</podcast:episode>
      <itunes:title>Angular 21, Autofac Meets TS, and Shai Hulud Strikes Again | News | Ep 45</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">2f395393-27ec-4317-b721-b57107c10c50</guid>
      <link>https://share.transistor.fm/s/19cafed5</link>
      <description>
        <![CDATA[<p>News for the week of <strong>November 17, 2025</strong>: Angular 21 is zoneless by default and adds Vitest support, plus Shai-Hulud worm hits another 500+ npm packages. What's a dev to do??? <strong>From the community:</strong> you basically know C# if you already know TypeScript and a new decorator-free dependency injection library inspired by Autofac.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(03:20) - News: Angular 21 - Zoneless by Default, Supports Vitest</li>
<li>(06:18) - News: Astro 5.16 - SVG Optimization</li>
<li>(07:17) - News: TC39 Proposal Advancements</li>
<li>(09:26) - PSA: Shai-Hulud Worm Strikes Again with 500+ Compromised Packages</li>
<li>(10:34) - Tips: Mitigating npm Supply Chain Risks</li>
<li>(14:03) - Library Watch: NovaDI - Autofac-inspired Dependency Injection</li>
<li>(16:11) - Library Watch: UI5 by SAP (Finally) Gets Typings</li>
<li>(17:08) - Community Highlight: C# for TypeScript Developers</li>
<li>(19:11) - Community Highlight: Omit for Discriminated Unions by Tkdodo</li>
<li>(20:06) - Community Highlight: Convert Go Structs into TS Interfaces</li>
<li>(20:26) - Community Highlight: NotNite Adds Function Hooking in Deno</li>
<li>(21:12) - Bleet of the Week</li>
<li>(22:07) - Cool Play: Outer Worlds 2</li>
<li>(22:43) - Cool Link: Xbox Unlocks Access to Game Publishing Docs</li>
<li>(23:21) - Cool Watch: JSLegend Builds a RPG in TypeScript</li>
<li>(23:57) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://blog.angular.dev/announcing-angular-v21-57946c34f14b">Announcing Angular v21</a>  – zoneless by default, adds signal forms, and has Vitest support in CLI</li><li><a href="https://astro.build/blog/astro-5160/">Astro 5.16</a> – introduced a utility type to get action schema</li><li>TC39 Proposals Advance (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3m62djhwj3k2i">@robpalmer</a>)</li><li>Socket.dev: <a href="https://socket.dev/blog/shai-hulud-strikes-again-v2">Shai Hulud Strikes Again (v2)</a></li><li>Tip: <a href="https://bsky.app/profile/benmccann.com/post/3m6fcjax7ec2h">Replace fast-glob with tinyglobby</a></li><li>Tip: <a href="https://www.nodejs-security.com/blog/npm-ignore-scripts-best-practices-as-security-mitigation-for-malicious-packages">NPM Ignore Scripts Best Practices as Security Mitigation for Malicious Packages</a></li><li>Library Watch: <a href="https://janus007.github.io/novadi/">NovaDI - Decorator-free Dependency Injection for TypeScript</a> </li><li>Library Watch: <a href="https://bsky.app/profile/akudev.bsky.social/post/3m63gvqdods22">UI5 SAP</a> gets typings</li></ul><p><br></p><p><strong>From the Community</strong></p><ul><li>Charles Chen:<em> </em><a href="https://typescript-is-like-csharp.chrlschn.dev/">TypeScript is Like C#</a></li><li>Dominik: <a href="https://bsky.app/profile/tkdodo.eu/post/3m6f6i4i2222h">Omit for Discriminated Unions in TypeScript</a></li><li>Karl Beuer: <a href="https://bsky.app/profile/golangch.bsky.social/post/3m6cm6zclgn2l">VSCode Extension to convert Go structs to TS interfaces</a> </li><li>NotNite: <a href="https://bsky.app/profile/notnite.com/post/3m6723trfps2j">function hooking in Deno</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Read: <a href="https://developer.microsoft.com/en-us/games/articles/2025/11/unlocking-access-to-game-publishing-documentation-for-all-developers/">Unlocking Access to Game Publishing Documentation for All Developers</a> by Xbox</li><li>Cool Watch: <a href="https://youtu.be/5uyqbhPgDAc?si=AIyQDg-MSh7_SLKF">Making a Small RPG</a> by JSLegend</li><li>Cool Game: <a href="https://keeptrackofmygames.com/games/396135-a/the-outer-worlds-2?context=2&amp;contextparam=outer%20worlds%202&amp;utm_source=typescriptfm">Outer Worlds 2</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News for the week of <strong>November 17, 2025</strong>: Angular 21 is zoneless by default and adds Vitest support, plus Shai-Hulud worm hits another 500+ npm packages. What's a dev to do??? <strong>From the community:</strong> you basically know C# if you already know TypeScript and a new decorator-free dependency injection library inspired by Autofac.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(03:20) - News: Angular 21 - Zoneless by Default, Supports Vitest</li>
<li>(06:18) - News: Astro 5.16 - SVG Optimization</li>
<li>(07:17) - News: TC39 Proposal Advancements</li>
<li>(09:26) - PSA: Shai-Hulud Worm Strikes Again with 500+ Compromised Packages</li>
<li>(10:34) - Tips: Mitigating npm Supply Chain Risks</li>
<li>(14:03) - Library Watch: NovaDI - Autofac-inspired Dependency Injection</li>
<li>(16:11) - Library Watch: UI5 by SAP (Finally) Gets Typings</li>
<li>(17:08) - Community Highlight: C# for TypeScript Developers</li>
<li>(19:11) - Community Highlight: Omit for Discriminated Unions by Tkdodo</li>
<li>(20:06) - Community Highlight: Convert Go Structs into TS Interfaces</li>
<li>(20:26) - Community Highlight: NotNite Adds Function Hooking in Deno</li>
<li>(21:12) - Bleet of the Week</li>
<li>(22:07) - Cool Play: Outer Worlds 2</li>
<li>(22:43) - Cool Link: Xbox Unlocks Access to Game Publishing Docs</li>
<li>(23:21) - Cool Watch: JSLegend Builds a RPG in TypeScript</li>
<li>(23:57) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://blog.angular.dev/announcing-angular-v21-57946c34f14b">Announcing Angular v21</a>  – zoneless by default, adds signal forms, and has Vitest support in CLI</li><li><a href="https://astro.build/blog/astro-5160/">Astro 5.16</a> – introduced a utility type to get action schema</li><li>TC39 Proposals Advance (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3m62djhwj3k2i">@robpalmer</a>)</li><li>Socket.dev: <a href="https://socket.dev/blog/shai-hulud-strikes-again-v2">Shai Hulud Strikes Again (v2)</a></li><li>Tip: <a href="https://bsky.app/profile/benmccann.com/post/3m6fcjax7ec2h">Replace fast-glob with tinyglobby</a></li><li>Tip: <a href="https://www.nodejs-security.com/blog/npm-ignore-scripts-best-practices-as-security-mitigation-for-malicious-packages">NPM Ignore Scripts Best Practices as Security Mitigation for Malicious Packages</a></li><li>Library Watch: <a href="https://janus007.github.io/novadi/">NovaDI - Decorator-free Dependency Injection for TypeScript</a> </li><li>Library Watch: <a href="https://bsky.app/profile/akudev.bsky.social/post/3m63gvqdods22">UI5 SAP</a> gets typings</li></ul><p><br></p><p><strong>From the Community</strong></p><ul><li>Charles Chen:<em> </em><a href="https://typescript-is-like-csharp.chrlschn.dev/">TypeScript is Like C#</a></li><li>Dominik: <a href="https://bsky.app/profile/tkdodo.eu/post/3m6f6i4i2222h">Omit for Discriminated Unions in TypeScript</a></li><li>Karl Beuer: <a href="https://bsky.app/profile/golangch.bsky.social/post/3m6cm6zclgn2l">VSCode Extension to convert Go structs to TS interfaces</a> </li><li>NotNite: <a href="https://bsky.app/profile/notnite.com/post/3m6723trfps2j">function hooking in Deno</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Read: <a href="https://developer.microsoft.com/en-us/games/articles/2025/11/unlocking-access-to-game-publishing-documentation-for-all-developers/">Unlocking Access to Game Publishing Documentation for All Developers</a> by Xbox</li><li>Cool Watch: <a href="https://youtu.be/5uyqbhPgDAc?si=AIyQDg-MSh7_SLKF">Making a Small RPG</a> by JSLegend</li><li>Cool Game: <a href="https://keeptrackofmygames.com/games/396135-a/the-outer-worlds-2?context=2&amp;contextparam=outer%20worlds%202&amp;utm_source=typescriptfm">Outer Worlds 2</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Tue, 25 Nov 2025 06:00:00 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/19cafed5/5475bbf3.mp3" length="13404238" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>1670</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News for the week of <strong>November 17, 2025</strong>: Angular 21 is zoneless by default and adds Vitest support, plus Shai-Hulud worm hits another 500+ npm packages. What's a dev to do??? <strong>From the community:</strong> you basically know C# if you already know TypeScript and a new decorator-free dependency injection library inspired by Autofac.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(03:20) - News: Angular 21 - Zoneless by Default, Supports Vitest</li>
<li>(06:18) - News: Astro 5.16 - SVG Optimization</li>
<li>(07:17) - News: TC39 Proposal Advancements</li>
<li>(09:26) - PSA: Shai-Hulud Worm Strikes Again with 500+ Compromised Packages</li>
<li>(10:34) - Tips: Mitigating npm Supply Chain Risks</li>
<li>(14:03) - Library Watch: NovaDI - Autofac-inspired Dependency Injection</li>
<li>(16:11) - Library Watch: UI5 by SAP (Finally) Gets Typings</li>
<li>(17:08) - Community Highlight: C# for TypeScript Developers</li>
<li>(19:11) - Community Highlight: Omit for Discriminated Unions by Tkdodo</li>
<li>(20:06) - Community Highlight: Convert Go Structs into TS Interfaces</li>
<li>(20:26) - Community Highlight: NotNite Adds Function Hooking in Deno</li>
<li>(21:12) - Bleet of the Week</li>
<li>(22:07) - Cool Play: Outer Worlds 2</li>
<li>(22:43) - Cool Link: Xbox Unlocks Access to Game Publishing Docs</li>
<li>(23:21) - Cool Watch: JSLegend Builds a RPG in TypeScript</li>
<li>(23:57) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://blog.angular.dev/announcing-angular-v21-57946c34f14b">Announcing Angular v21</a>  – zoneless by default, adds signal forms, and has Vitest support in CLI</li><li><a href="https://astro.build/blog/astro-5160/">Astro 5.16</a> – introduced a utility type to get action schema</li><li>TC39 Proposals Advance (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3m62djhwj3k2i">@robpalmer</a>)</li><li>Socket.dev: <a href="https://socket.dev/blog/shai-hulud-strikes-again-v2">Shai Hulud Strikes Again (v2)</a></li><li>Tip: <a href="https://bsky.app/profile/benmccann.com/post/3m6fcjax7ec2h">Replace fast-glob with tinyglobby</a></li><li>Tip: <a href="https://www.nodejs-security.com/blog/npm-ignore-scripts-best-practices-as-security-mitigation-for-malicious-packages">NPM Ignore Scripts Best Practices as Security Mitigation for Malicious Packages</a></li><li>Library Watch: <a href="https://janus007.github.io/novadi/">NovaDI - Decorator-free Dependency Injection for TypeScript</a> </li><li>Library Watch: <a href="https://bsky.app/profile/akudev.bsky.social/post/3m63gvqdods22">UI5 SAP</a> gets typings</li></ul><p><br></p><p><strong>From the Community</strong></p><ul><li>Charles Chen:<em> </em><a href="https://typescript-is-like-csharp.chrlschn.dev/">TypeScript is Like C#</a></li><li>Dominik: <a href="https://bsky.app/profile/tkdodo.eu/post/3m6f6i4i2222h">Omit for Discriminated Unions in TypeScript</a></li><li>Karl Beuer: <a href="https://bsky.app/profile/golangch.bsky.social/post/3m6cm6zclgn2l">VSCode Extension to convert Go structs to TS interfaces</a> </li><li>NotNite: <a href="https://bsky.app/profile/notnite.com/post/3m6723trfps2j">function hooking in Deno</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Read: <a href="https://developer.microsoft.com/en-us/games/articles/2025/11/unlocking-access-to-game-publishing-documentation-for-all-developers/">Unlocking Access to Game Publishing Documentation for All Developers</a> by Xbox</li><li>Cool Watch: <a href="https://youtu.be/5uyqbhPgDAc?si=AIyQDg-MSh7_SLKF">Making a Small RPG</a> by JSLegend</li><li>Cool Game: <a href="https://keeptrackofmygames.com/games/396135-a/the-outer-worlds-2?context=2&amp;contextparam=outer%20worlds%202&amp;utm_source=typescriptfm">Outer Worlds 2</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/19cafed5/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Type Stripping is Stable, Type-safe Music, and Rust Engines Enter the Chat | News | Ep 44</title>
      <itunes:episode>44</itunes:episode>
      <podcast:episode>44</podcast:episode>
      <itunes:title>Type Stripping is Stable, Type-safe Music, and Rust Engines Enter the Chat | News | Ep 44</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">2f7146d2-2f9c-41e3-9461-67620d574170</guid>
      <link>https://share.transistor.fm/s/e3c57f6b</link>
      <description>
        <![CDATA[<p>News for the week of <strong>November 10, 2025</strong>: Node 25 marks type stripping as stable, the downlow on some new Rust-based JavaScript and TypeScript engines, and a new browser for keyboard lovers. <strong>From the community:</strong> visualize how types work, using .NET Aspire without .NET, type-safe SQL, and an experimental Rust-based type checker.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(04:36) - News: TypeScript 6 Scheduled for Early 2026</li>
<li>(05:26) - News: Node 25.2.0 Marks Type Stripping as Stable</li>
<li>(07:51) - News: Andromeda, a New TypeScript-native Runtime</li>
<li>(09:15) - News: Brimstone, a New Rust-based JavaScript Engine</li>
<li>(11:24) - News: Glide, a Browser for Neovim Dandies</li>
<li>(15:26) - Community Highlight: Ludum Dare Creator is Open for Business</li>
<li>(16:18) - Community Highlight: Visual Types by Kit Langton</li>
<li>(18:34) - Community Highlight: Taking the .NET Out of Aspire by David Gardiner</li>
<li>(19:58) - Community Highlight: We Could Have Been Rad Developers</li>
<li>(21:08) - Library Watch: squeeel, a Type-safe SQL Builder</li>
<li>(22:16) - Library Watch: DomoActorsTS, an Actor Model Framework</li>
<li>(24:35) - Library Watch: Contour 2.0, Type-safe Music</li>
<li>(26:02) - Library Watch: Hashery, Efficient Object Hashing</li>
<li>(28:33) - Tool Watch: Ezno, a Rust-Based Type Checker</li>
<li>(31:13) - Bleet of the Week</li>
<li>(31:41) - Cool Tool: Debug Your Docker Build Context</li>
<li>(34:47) - Cool Read: Nuxt MCP Server</li>
<li>(35:19) - Cool Tool: WXT, a Modern Web Extension Framework</li>
<li>(35:51) - Cool Watch: PolyMatt Made a Floppy Disk from Scratch</li>
<li>(36:44) - Cool Tool: Quicker Neovim Extension</li>
<li>(37:49) - Cool Tool: GemShell, a Way to Package Up Games</li>
<li>(38:53) - Cool App: xelly.games, a Game-sharing Social Network</li>
<li>(39:38) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://bsky.app/profile/danr.bsky.social/post/3m5fz3vw2z22s">TS 6.0 Expected in Early 2026</a></li><li><a href="https://github.com/nodejs/node/releases/tag/v25.2.0">Node 25.2.0 (Current)</a> marks type stripping as stable!</li><li><a href="https://tryandromeda.dev/">Andromeda</a>, a native TypeScript runtime alternative to Deno (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3m5pttek2w22h">Rob Palmer</a>)</li><li><a href="https://github.com/Hans-Halverson/brimstone">Brimstone</a>, a JavaScript engine written from scratch in Rust</li><li><a href="https://blog.craigie.dev/introducing-glide/">Glide</a>, a Firefox-based browser for neovim dandies</li></ul><p><strong>From the Community</strong></p><ul><li>Kit Langton: <a href="https://types.kitlangton.com/">Visual Types — A Set of Animated TypeScript Concepts</a> (h/t Reddit)</li><li>David Gardiner: <a href="https://david.gardiner.net.au/2025/11/aspire-without-dotnet">Aspire with Python, React, Rust and Node apps</a></li><li>Rob Palmer: <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3m5poj5du5s2h">Alternative names for ECMAScript that were originally considered</a></li><li>Library Watch: <a href="https://github.com/SorenHolstHansen/squeeel">squeeel</a>, a type-safe SQL builder</li><li>Library Watch: <a href="https://github.com/VaughnVernon/DomoActors-TS">DomoActors-TS</a>, a TypeScript library for the actor model</li><li>Library Watch: <a href="https://esoltys.github.io/contour-2.0/">Contour 2.0</a> “Music Composition as Code” (h/t <a href="https://bsky.app/profile/kootenay-eric.bsky.social/post/3m5mjfq5ba22r">kootenay-eric</a>)</li><li>Library Watch: <a href="https://www.npmjs.com/package/hashery">Hashery</a> (h/t <a href="https://bsky.app/profile/jaredwray.com/post/3m5m22uokw52z">jaredwray.com</a>)</li><li>Tool Watch: <a href="https://crates.io/crates/ezno">Ezno</a>, a Rust TypeScript type checker (h/t <a href="https://bsky.app/profile/fasterthanli.me/post/3m5lq5fxx4s2l">fasterthanli.me</a>)</li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Watch: <a href="https://www.youtube.com/watch?v=TBiFGhnXsh8">PolyMatt on YouTube</a> makes a floppy disk from scratch</li><li>Cool Tool: <a href="https://github.com/stevearc/quicker.nvim">Quicker.nvim</a>, a better quickfix list</li><li>Cool Tool: <a href="https://l0om.itch.io/gemshell">gemshell</a>, a tool to package up web games</li><li>Cool Tool: <a href="https://gist.github.com/kamranayub/576c946cd0fff4af39cd91e2cc74e310">Debug your Docker build context</a></li><li>Cool Read: <a href="https://nuxt.com/blog/building-nuxt-mcp">Building an MCP Server for Nuxt</a></li><li>Cool Tool: <a href="https://wxt.dev/">WXT</a> – a modern web extensions framework</li><li>Cool App: <a href="https://xelly.games">xelly.games</a>  - a game-sharing social network</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p><p><br></p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News for the week of <strong>November 10, 2025</strong>: Node 25 marks type stripping as stable, the downlow on some new Rust-based JavaScript and TypeScript engines, and a new browser for keyboard lovers. <strong>From the community:</strong> visualize how types work, using .NET Aspire without .NET, type-safe SQL, and an experimental Rust-based type checker.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(04:36) - News: TypeScript 6 Scheduled for Early 2026</li>
<li>(05:26) - News: Node 25.2.0 Marks Type Stripping as Stable</li>
<li>(07:51) - News: Andromeda, a New TypeScript-native Runtime</li>
<li>(09:15) - News: Brimstone, a New Rust-based JavaScript Engine</li>
<li>(11:24) - News: Glide, a Browser for Neovim Dandies</li>
<li>(15:26) - Community Highlight: Ludum Dare Creator is Open for Business</li>
<li>(16:18) - Community Highlight: Visual Types by Kit Langton</li>
<li>(18:34) - Community Highlight: Taking the .NET Out of Aspire by David Gardiner</li>
<li>(19:58) - Community Highlight: We Could Have Been Rad Developers</li>
<li>(21:08) - Library Watch: squeeel, a Type-safe SQL Builder</li>
<li>(22:16) - Library Watch: DomoActorsTS, an Actor Model Framework</li>
<li>(24:35) - Library Watch: Contour 2.0, Type-safe Music</li>
<li>(26:02) - Library Watch: Hashery, Efficient Object Hashing</li>
<li>(28:33) - Tool Watch: Ezno, a Rust-Based Type Checker</li>
<li>(31:13) - Bleet of the Week</li>
<li>(31:41) - Cool Tool: Debug Your Docker Build Context</li>
<li>(34:47) - Cool Read: Nuxt MCP Server</li>
<li>(35:19) - Cool Tool: WXT, a Modern Web Extension Framework</li>
<li>(35:51) - Cool Watch: PolyMatt Made a Floppy Disk from Scratch</li>
<li>(36:44) - Cool Tool: Quicker Neovim Extension</li>
<li>(37:49) - Cool Tool: GemShell, a Way to Package Up Games</li>
<li>(38:53) - Cool App: xelly.games, a Game-sharing Social Network</li>
<li>(39:38) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://bsky.app/profile/danr.bsky.social/post/3m5fz3vw2z22s">TS 6.0 Expected in Early 2026</a></li><li><a href="https://github.com/nodejs/node/releases/tag/v25.2.0">Node 25.2.0 (Current)</a> marks type stripping as stable!</li><li><a href="https://tryandromeda.dev/">Andromeda</a>, a native TypeScript runtime alternative to Deno (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3m5pttek2w22h">Rob Palmer</a>)</li><li><a href="https://github.com/Hans-Halverson/brimstone">Brimstone</a>, a JavaScript engine written from scratch in Rust</li><li><a href="https://blog.craigie.dev/introducing-glide/">Glide</a>, a Firefox-based browser for neovim dandies</li></ul><p><strong>From the Community</strong></p><ul><li>Kit Langton: <a href="https://types.kitlangton.com/">Visual Types — A Set of Animated TypeScript Concepts</a> (h/t Reddit)</li><li>David Gardiner: <a href="https://david.gardiner.net.au/2025/11/aspire-without-dotnet">Aspire with Python, React, Rust and Node apps</a></li><li>Rob Palmer: <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3m5poj5du5s2h">Alternative names for ECMAScript that were originally considered</a></li><li>Library Watch: <a href="https://github.com/SorenHolstHansen/squeeel">squeeel</a>, a type-safe SQL builder</li><li>Library Watch: <a href="https://github.com/VaughnVernon/DomoActors-TS">DomoActors-TS</a>, a TypeScript library for the actor model</li><li>Library Watch: <a href="https://esoltys.github.io/contour-2.0/">Contour 2.0</a> “Music Composition as Code” (h/t <a href="https://bsky.app/profile/kootenay-eric.bsky.social/post/3m5mjfq5ba22r">kootenay-eric</a>)</li><li>Library Watch: <a href="https://www.npmjs.com/package/hashery">Hashery</a> (h/t <a href="https://bsky.app/profile/jaredwray.com/post/3m5m22uokw52z">jaredwray.com</a>)</li><li>Tool Watch: <a href="https://crates.io/crates/ezno">Ezno</a>, a Rust TypeScript type checker (h/t <a href="https://bsky.app/profile/fasterthanli.me/post/3m5lq5fxx4s2l">fasterthanli.me</a>)</li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Watch: <a href="https://www.youtube.com/watch?v=TBiFGhnXsh8">PolyMatt on YouTube</a> makes a floppy disk from scratch</li><li>Cool Tool: <a href="https://github.com/stevearc/quicker.nvim">Quicker.nvim</a>, a better quickfix list</li><li>Cool Tool: <a href="https://l0om.itch.io/gemshell">gemshell</a>, a tool to package up web games</li><li>Cool Tool: <a href="https://gist.github.com/kamranayub/576c946cd0fff4af39cd91e2cc74e310">Debug your Docker build context</a></li><li>Cool Read: <a href="https://nuxt.com/blog/building-nuxt-mcp">Building an MCP Server for Nuxt</a></li><li>Cool Tool: <a href="https://wxt.dev/">WXT</a> – a modern web extensions framework</li><li>Cool App: <a href="https://xelly.games">xelly.games</a>  - a game-sharing social network</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p><p><br></p>]]>
      </content:encoded>
      <pubDate>Tue, 18 Nov 2025 22:53:50 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/e3c57f6b/af5eba43.mp3" length="20770313" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2591</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News for the week of <strong>November 10, 2025</strong>: Node 25 marks type stripping as stable, the downlow on some new Rust-based JavaScript and TypeScript engines, and a new browser for keyboard lovers. <strong>From the community:</strong> visualize how types work, using .NET Aspire without .NET, type-safe SQL, and an experimental Rust-based type checker.</p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(04:36) - News: TypeScript 6 Scheduled for Early 2026</li>
<li>(05:26) - News: Node 25.2.0 Marks Type Stripping as Stable</li>
<li>(07:51) - News: Andromeda, a New TypeScript-native Runtime</li>
<li>(09:15) - News: Brimstone, a New Rust-based JavaScript Engine</li>
<li>(11:24) - News: Glide, a Browser for Neovim Dandies</li>
<li>(15:26) - Community Highlight: Ludum Dare Creator is Open for Business</li>
<li>(16:18) - Community Highlight: Visual Types by Kit Langton</li>
<li>(18:34) - Community Highlight: Taking the .NET Out of Aspire by David Gardiner</li>
<li>(19:58) - Community Highlight: We Could Have Been Rad Developers</li>
<li>(21:08) - Library Watch: squeeel, a Type-safe SQL Builder</li>
<li>(22:16) - Library Watch: DomoActorsTS, an Actor Model Framework</li>
<li>(24:35) - Library Watch: Contour 2.0, Type-safe Music</li>
<li>(26:02) - Library Watch: Hashery, Efficient Object Hashing</li>
<li>(28:33) - Tool Watch: Ezno, a Rust-Based Type Checker</li>
<li>(31:13) - Bleet of the Week</li>
<li>(31:41) - Cool Tool: Debug Your Docker Build Context</li>
<li>(34:47) - Cool Read: Nuxt MCP Server</li>
<li>(35:19) - Cool Tool: WXT, a Modern Web Extension Framework</li>
<li>(35:51) - Cool Watch: PolyMatt Made a Floppy Disk from Scratch</li>
<li>(36:44) - Cool Tool: Quicker Neovim Extension</li>
<li>(37:49) - Cool Tool: GemShell, a Way to Package Up Games</li>
<li>(38:53) - Cool App: xelly.games, a Game-sharing Social Network</li>
<li>(39:38) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://bsky.app/profile/danr.bsky.social/post/3m5fz3vw2z22s">TS 6.0 Expected in Early 2026</a></li><li><a href="https://github.com/nodejs/node/releases/tag/v25.2.0">Node 25.2.0 (Current)</a> marks type stripping as stable!</li><li><a href="https://tryandromeda.dev/">Andromeda</a>, a native TypeScript runtime alternative to Deno (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3m5pttek2w22h">Rob Palmer</a>)</li><li><a href="https://github.com/Hans-Halverson/brimstone">Brimstone</a>, a JavaScript engine written from scratch in Rust</li><li><a href="https://blog.craigie.dev/introducing-glide/">Glide</a>, a Firefox-based browser for neovim dandies</li></ul><p><strong>From the Community</strong></p><ul><li>Kit Langton: <a href="https://types.kitlangton.com/">Visual Types — A Set of Animated TypeScript Concepts</a> (h/t Reddit)</li><li>David Gardiner: <a href="https://david.gardiner.net.au/2025/11/aspire-without-dotnet">Aspire with Python, React, Rust and Node apps</a></li><li>Rob Palmer: <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3m5poj5du5s2h">Alternative names for ECMAScript that were originally considered</a></li><li>Library Watch: <a href="https://github.com/SorenHolstHansen/squeeel">squeeel</a>, a type-safe SQL builder</li><li>Library Watch: <a href="https://github.com/VaughnVernon/DomoActors-TS">DomoActors-TS</a>, a TypeScript library for the actor model</li><li>Library Watch: <a href="https://esoltys.github.io/contour-2.0/">Contour 2.0</a> “Music Composition as Code” (h/t <a href="https://bsky.app/profile/kootenay-eric.bsky.social/post/3m5mjfq5ba22r">kootenay-eric</a>)</li><li>Library Watch: <a href="https://www.npmjs.com/package/hashery">Hashery</a> (h/t <a href="https://bsky.app/profile/jaredwray.com/post/3m5m22uokw52z">jaredwray.com</a>)</li><li>Tool Watch: <a href="https://crates.io/crates/ezno">Ezno</a>, a Rust TypeScript type checker (h/t <a href="https://bsky.app/profile/fasterthanli.me/post/3m5lq5fxx4s2l">fasterthanli.me</a>)</li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Watch: <a href="https://www.youtube.com/watch?v=TBiFGhnXsh8">PolyMatt on YouTube</a> makes a floppy disk from scratch</li><li>Cool Tool: <a href="https://github.com/stevearc/quicker.nvim">Quicker.nvim</a>, a better quickfix list</li><li>Cool Tool: <a href="https://l0om.itch.io/gemshell">gemshell</a>, a tool to package up web games</li><li>Cool Tool: <a href="https://gist.github.com/kamranayub/576c946cd0fff4af39cd91e2cc74e310">Debug your Docker build context</a></li><li>Cool Read: <a href="https://nuxt.com/blog/building-nuxt-mcp">Building an MCP Server for Nuxt</a></li><li>Cool Tool: <a href="https://wxt.dev/">WXT</a> – a modern web extensions framework</li><li>Cool App: <a href="https://xelly.games">xelly.games</a>  - a game-sharing social network</li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p><p><br></p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/e3c57f6b/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>What's Coming in TypeScript 6/7 | Daniel Rosenwasser | Jake Bailey | Ep 43B</title>
      <itunes:episode>43</itunes:episode>
      <podcast:episode>43</podcast:episode>
      <itunes:title>What's Coming in TypeScript 6/7 | Daniel Rosenwasser | Jake Bailey | Ep 43B</itunes:title>
      <itunes:episodeType>bonus</itunes:episodeType>
      <guid isPermaLink="false">50f20fad-e77b-43d8-b171-f9c28f823e06</guid>
      <link>https://share.transistor.fm/s/ad05eae6</link>
      <description>
        <![CDATA[<p>Daniel Rosenwasser and Jake Bailey join the two fools to talk about what's coming soon in TypeScript 6 and 7. What changes should developers expect? What might the new compiler API look like? How is the Go port progressing? We talk about smarter (and stricter) defaults, ES targets, module resolution, and why it's hard to emulate JavaScript floating point semantics in Go.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introducing Daniel and Jake</li>
<li>(02:56) - What's Coming in TypeScript 6.0</li>
<li>(05:31) - TypeScript 6: ES2024 Targeted by Default</li>
<li>(10:05) - Aside: How the Team Reconciles the Spec in TypeScript 7</li>
<li>(12:05) - TypeScript 6: Pay Attention to Your Target Config</li>
<li>(13:49) - TypeScript 6: How Targeting Works with Build Tools</li>
<li>(15:21) - TypeScript 6: Deprecating ES5 as an Output Target</li>
<li>(16:26) - Aside: Handling Modern Module Resolution</li>
<li>(21:25) - TypeScript 6: DOM Typings Are Smarter</li>
<li>(26:02) - TypeScript 6: No Compiler API Changes</li>
<li>(27:56) - TypeScript 7: Transitioning to a New Compiler API</li>
<li>(29:33) - TypeScript 7: You Can Start Using It Now</li>
<li>(32:33) - TypeScript 7: How Fast Is It, Really?</li>
<li>(36:54) - TypeScript 7: Collaboration with Golang Community</li>
<li>(39:35) - Aside: Compiling to WASM?</li>
<li>(46:12) - TypeScript 7: What Was the Go/No-Go Threshold?</li>
<li>(47:40) - TypeScript 7: Performance Profiling with pprof</li>
<li>(51:21) - TypeScript 7: Embedding Into Web Apps</li>
<li>(57:47) - Future of TypeScript: Compiler API, AI-assisted Coding</li>
<li>(01:07:10) - Takeaways and Goodbyes</li>
</ul><p><br></p><p><strong>Resources</strong></p><ul><li><a href="https://typescriptlang.org">TypeScript Homepage</a></li><li><a href="https://github.com/microsoft/typescript-go">TypeScript Native Go Port</a></li></ul><p><strong>Where to Follow the Team</strong></p><ul><li><a href="https://bsky.app/profile/jakebailey.dev">Jake on BlueSky</a></li><li><a href="https://bsky.app/profile/danr.bsky.social">Daniel on BlueSky</a></li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Daniel Rosenwasser and Jake Bailey join the two fools to talk about what's coming soon in TypeScript 6 and 7. What changes should developers expect? What might the new compiler API look like? How is the Go port progressing? We talk about smarter (and stricter) defaults, ES targets, module resolution, and why it's hard to emulate JavaScript floating point semantics in Go.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introducing Daniel and Jake</li>
<li>(02:56) - What's Coming in TypeScript 6.0</li>
<li>(05:31) - TypeScript 6: ES2024 Targeted by Default</li>
<li>(10:05) - Aside: How the Team Reconciles the Spec in TypeScript 7</li>
<li>(12:05) - TypeScript 6: Pay Attention to Your Target Config</li>
<li>(13:49) - TypeScript 6: How Targeting Works with Build Tools</li>
<li>(15:21) - TypeScript 6: Deprecating ES5 as an Output Target</li>
<li>(16:26) - Aside: Handling Modern Module Resolution</li>
<li>(21:25) - TypeScript 6: DOM Typings Are Smarter</li>
<li>(26:02) - TypeScript 6: No Compiler API Changes</li>
<li>(27:56) - TypeScript 7: Transitioning to a New Compiler API</li>
<li>(29:33) - TypeScript 7: You Can Start Using It Now</li>
<li>(32:33) - TypeScript 7: How Fast Is It, Really?</li>
<li>(36:54) - TypeScript 7: Collaboration with Golang Community</li>
<li>(39:35) - Aside: Compiling to WASM?</li>
<li>(46:12) - TypeScript 7: What Was the Go/No-Go Threshold?</li>
<li>(47:40) - TypeScript 7: Performance Profiling with pprof</li>
<li>(51:21) - TypeScript 7: Embedding Into Web Apps</li>
<li>(57:47) - Future of TypeScript: Compiler API, AI-assisted Coding</li>
<li>(01:07:10) - Takeaways and Goodbyes</li>
</ul><p><br></p><p><strong>Resources</strong></p><ul><li><a href="https://typescriptlang.org">TypeScript Homepage</a></li><li><a href="https://github.com/microsoft/typescript-go">TypeScript Native Go Port</a></li></ul><p><strong>Where to Follow the Team</strong></p><ul><li><a href="https://bsky.app/profile/jakebailey.dev">Jake on BlueSky</a></li><li><a href="https://bsky.app/profile/danr.bsky.social">Daniel on BlueSky</a></li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Thu, 13 Nov 2025 06:00:00 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/ad05eae6/26672828.mp3" length="33169824" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>4141</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Daniel Rosenwasser and Jake Bailey join the two fools to talk about what's coming soon in TypeScript 6 and 7. What changes should developers expect? What might the new compiler API look like? How is the Go port progressing? We talk about smarter (and stricter) defaults, ES targets, module resolution, and why it's hard to emulate JavaScript floating point semantics in Go.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introducing Daniel and Jake</li>
<li>(02:56) - What's Coming in TypeScript 6.0</li>
<li>(05:31) - TypeScript 6: ES2024 Targeted by Default</li>
<li>(10:05) - Aside: How the Team Reconciles the Spec in TypeScript 7</li>
<li>(12:05) - TypeScript 6: Pay Attention to Your Target Config</li>
<li>(13:49) - TypeScript 6: How Targeting Works with Build Tools</li>
<li>(15:21) - TypeScript 6: Deprecating ES5 as an Output Target</li>
<li>(16:26) - Aside: Handling Modern Module Resolution</li>
<li>(21:25) - TypeScript 6: DOM Typings Are Smarter</li>
<li>(26:02) - TypeScript 6: No Compiler API Changes</li>
<li>(27:56) - TypeScript 7: Transitioning to a New Compiler API</li>
<li>(29:33) - TypeScript 7: You Can Start Using It Now</li>
<li>(32:33) - TypeScript 7: How Fast Is It, Really?</li>
<li>(36:54) - TypeScript 7: Collaboration with Golang Community</li>
<li>(39:35) - Aside: Compiling to WASM?</li>
<li>(46:12) - TypeScript 7: What Was the Go/No-Go Threshold?</li>
<li>(47:40) - TypeScript 7: Performance Profiling with pprof</li>
<li>(51:21) - TypeScript 7: Embedding Into Web Apps</li>
<li>(57:47) - Future of TypeScript: Compiler API, AI-assisted Coding</li>
<li>(01:07:10) - Takeaways and Goodbyes</li>
</ul><p><br></p><p><strong>Resources</strong></p><ul><li><a href="https://typescriptlang.org">TypeScript Homepage</a></li><li><a href="https://github.com/microsoft/typescript-go">TypeScript Native Go Port</a></li></ul><p><strong>Where to Follow the Team</strong></p><ul><li><a href="https://bsky.app/profile/jakebailey.dev">Jake on BlueSky</a></li><li><a href="https://bsky.app/profile/danr.bsky.social">Daniel on BlueSky</a></li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:person role="Guest" href="https://typescript.fm/people/jake-bailey" img="https://img.transistorcdn.com/P5nFAY3wcJ7uwzDdhsTmAdtTjVys4XSoBW7ElwN7BRs/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9hOWEx/YWIyOGI3NjllZWI2/YWYwM2FiYjY0NmE5/MTRhZC5qcGVn.jpg">Jake Bailey</podcast:person>
      <podcast:person role="Guest" href="https://typescript.fm/people/daniel-rosenwasser" img="https://img.transistorcdn.com/jpK9gb2O5yonUC--8FlOEUnihRB0SHAAMvVktxUcAR4/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS8zYTBj/YWE2ZDkxMzIyODNh/NGEyMzdlNDI5MjU2/NWRmOC5qcGVn.jpg">Daniel Rosenwasser</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/ad05eae6/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Nuxt Image Loves TypeScript, Node 24 Goes LTS, and a Satisfying Use of satisfies | News | Ep 43</title>
      <itunes:episode>43</itunes:episode>
      <podcast:episode>43</podcast:episode>
      <itunes:title>Nuxt Image Loves TypeScript, Node 24 Goes LTS, and a Satisfying Use of satisfies | News | Ep 43</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">3b61ab6b-4d4d-4d40-9d14-88f9b8e9c94e</guid>
      <link>https://share.transistor.fm/s/b87c759b</link>
      <description>
        <![CDATA[<p>News for the week of <strong>November 3, 2025</strong>: Node 24 promoted to LTS, Nuxt Image V2 is full of TS goodies, and Anders is humbled by TypeScript's rise. <strong>From the community:</strong> TypeScript is not a substitute for good engineering, why codemods are helpful, and examples of using the satisfies keyword.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:24) - Announcement: We're Now On YouTube!</li>
<li>(07:31) - News: TSGo is Working on LSP, JSDoc Improvements</li>
<li>(07:58) - News: Node 24 is Now the Active LTS Until April 2028</li>
<li>(08:44) - News: Anders' Take on the TypeScript Zeitgeist</li>
<li>(10:07) - News: Nuxt Image V2 Upgrades TS Support</li>
<li>(10:44) - PSA: React Native CLI Allowed Remote Code Execution</li>
<li>(12:31) - Community Highlights: Why Everyone is Using TypeScript</li>
<li>(14:55) - Community Highlight: Why TypeScript Won't Save You</li>
<li>(20:36) - Community Highlight: Detecting Flash Floods with TypeScript</li>
<li>(22:02) - Community Highlight: Node Userland Migrations Deserves Your GitHub Star</li>
<li>(24:37) - Community Highlight: Sortable Trees by Marc Dahmen</li>
<li>(26:13) - Community Highlight: Type Stripping is Going to Be Unflagged Soon</li>
<li>(26:59) - Community Highlight: Immutable By Default by Marek Honzal</li>
<li>(30:59) - Library Watch: Valdi is Snap's New Cross-platform UI Framework</li>
<li>(33:04) - Library Watch: Dependency Injection with Izumi Chibi</li>
<li>(35:40) - Library Watch: Framework Agnostic Design Tokens with Tokiforge</li>
<li>(38:22) - Library Watch: Mastro, the No-BS Web Framework</li>
<li>(40:43) - Cool Watch: CSS Battles by SyntaxFM</li>
<li>(41:25) - Cool Watch: Beehive Desk</li>
<li>(42:17) - Cool Watch: Svelte's New MCP Server</li>
<li>(43:28) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>Housekeeping: <a href="https://www.youtube.com/channel/UCuAbyKXKHOiTMikdRM-UyRA">Follow and subscribe to TypeScript.fm on YouTube/Music!</a></li><li>Node.js PSA: <a href="https://github.com/nodejs/node/releases/tag/v24.11.0">24.x Release Line is now the Active LTS</a></li><li>GitHub: <a href="https://github.blog/company/typescripts-rise-in-the-ai-era-insights-from-lead-architect-anders-hejlsberg">TypeScript’s rise in the AI era: Insights from Lead Architect, Anders Hejlsberg</a></li><li><a href="https://nuxt.com/blog/nuxt-image-v2">Nuxt Image v2</a> is full of TypeScript goodies</li><li>PSA: <a href="https://www.infoworld.com/article/4085812/rce-in-react-native-cli-opens-dev-servers-to-attacks-2.html">Flaw in React Native CLI opens dev servers to attacks</a></li></ul><p><strong>From the Community</strong></p><ul><li>Codecademy: <a href="https://www.codecademy.com/resources/blog/typescript-most-used-language-on-github">TypeScript is the Most-Used Language on GitHub — Here’s Why</a></li><li>Christian Ekrem: <a href="https://cekrem.github.io/posts/why-typescript-wont-save-you/">Why TypeScript Won't Save You</a></li><li>David A. Lee: <a href="https://bsky.app/profile/davidalee.bsky.social/post/3m55l4grfc22b">What do flash floods and Typescript have in common?</a></li><li>Node.js: <a href="https://nodejs.org/en/learn/getting-started/userland-migrations">What is Userland Migrations</a>?</li><li>Marc Dahmen: <a href="https://dev.to/marcantondahmen/building-sortable-tree-a-lightweight-drag-drop-tree-in-vanilla-typescript-f7l">Building Sortable Tree — A Lightweight Drag &amp; Drop Tree in Vanilla TypeScript</a></li><li>Marco Ippolito: <a href="https://bsky.app/profile/marcoippolito.dev/post/3m4xsmft6z22e">Type Stripping is Going to Be Unflagged Soon</a>!</li><li>Marek Honzal: <a href="https://marekhonzal.com/blog/immutable-by-default-typescript">Immutable by Default: Practical TypeScript Patterns</a></li><li>Snap: <a href="https://github.com/Snapchat/Valdi">Valdi</a>, a TypeScript-based cross-platform UI framework</li><li>Library Watch: <a href="https://github.com/7mind/izumi-chibi-ts">Izumi Chibi</a>, a port of Scala's DIStage phased dependency injection</li><li>Library Watch: <a href="https://tokiforge.github.io/tokiforge/">Tokiforge</a>, a modern framework-agnostic design token and theming engine</li><li>Library Watch: <a href="https://bsky.app/profile/mastrojs.bsky.social">Mastro.{js,ts}</a>, the simplest web framework and site generator</li></ul><p><strong>Cool Links</strong></p><ul><li><a href="https://www.allrecipes.com/recipe/68461/buffalo-chicken-dip/">Erik's Buffalo Chicken Dip Recipe</a></li><li><a href="http://syntax.fm">Syntax.fm</a> CSS battles</li><li><a href="https://youtu.be/gZvzyCj3N_o?si=tHhJ_4vCb2ZZEUq5">The Hive: Building a beehive simulation desk</a></li><li><a href="https://www.youtube.com/watch?v=V-j4w6j8OB4">This Week in Svelte, Ep. 121 — Changelog, Svelte MCP Server</a></li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News for the week of <strong>November 3, 2025</strong>: Node 24 promoted to LTS, Nuxt Image V2 is full of TS goodies, and Anders is humbled by TypeScript's rise. <strong>From the community:</strong> TypeScript is not a substitute for good engineering, why codemods are helpful, and examples of using the satisfies keyword.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:24) - Announcement: We're Now On YouTube!</li>
<li>(07:31) - News: TSGo is Working on LSP, JSDoc Improvements</li>
<li>(07:58) - News: Node 24 is Now the Active LTS Until April 2028</li>
<li>(08:44) - News: Anders' Take on the TypeScript Zeitgeist</li>
<li>(10:07) - News: Nuxt Image V2 Upgrades TS Support</li>
<li>(10:44) - PSA: React Native CLI Allowed Remote Code Execution</li>
<li>(12:31) - Community Highlights: Why Everyone is Using TypeScript</li>
<li>(14:55) - Community Highlight: Why TypeScript Won't Save You</li>
<li>(20:36) - Community Highlight: Detecting Flash Floods with TypeScript</li>
<li>(22:02) - Community Highlight: Node Userland Migrations Deserves Your GitHub Star</li>
<li>(24:37) - Community Highlight: Sortable Trees by Marc Dahmen</li>
<li>(26:13) - Community Highlight: Type Stripping is Going to Be Unflagged Soon</li>
<li>(26:59) - Community Highlight: Immutable By Default by Marek Honzal</li>
<li>(30:59) - Library Watch: Valdi is Snap's New Cross-platform UI Framework</li>
<li>(33:04) - Library Watch: Dependency Injection with Izumi Chibi</li>
<li>(35:40) - Library Watch: Framework Agnostic Design Tokens with Tokiforge</li>
<li>(38:22) - Library Watch: Mastro, the No-BS Web Framework</li>
<li>(40:43) - Cool Watch: CSS Battles by SyntaxFM</li>
<li>(41:25) - Cool Watch: Beehive Desk</li>
<li>(42:17) - Cool Watch: Svelte's New MCP Server</li>
<li>(43:28) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>Housekeeping: <a href="https://www.youtube.com/channel/UCuAbyKXKHOiTMikdRM-UyRA">Follow and subscribe to TypeScript.fm on YouTube/Music!</a></li><li>Node.js PSA: <a href="https://github.com/nodejs/node/releases/tag/v24.11.0">24.x Release Line is now the Active LTS</a></li><li>GitHub: <a href="https://github.blog/company/typescripts-rise-in-the-ai-era-insights-from-lead-architect-anders-hejlsberg">TypeScript’s rise in the AI era: Insights from Lead Architect, Anders Hejlsberg</a></li><li><a href="https://nuxt.com/blog/nuxt-image-v2">Nuxt Image v2</a> is full of TypeScript goodies</li><li>PSA: <a href="https://www.infoworld.com/article/4085812/rce-in-react-native-cli-opens-dev-servers-to-attacks-2.html">Flaw in React Native CLI opens dev servers to attacks</a></li></ul><p><strong>From the Community</strong></p><ul><li>Codecademy: <a href="https://www.codecademy.com/resources/blog/typescript-most-used-language-on-github">TypeScript is the Most-Used Language on GitHub — Here’s Why</a></li><li>Christian Ekrem: <a href="https://cekrem.github.io/posts/why-typescript-wont-save-you/">Why TypeScript Won't Save You</a></li><li>David A. Lee: <a href="https://bsky.app/profile/davidalee.bsky.social/post/3m55l4grfc22b">What do flash floods and Typescript have in common?</a></li><li>Node.js: <a href="https://nodejs.org/en/learn/getting-started/userland-migrations">What is Userland Migrations</a>?</li><li>Marc Dahmen: <a href="https://dev.to/marcantondahmen/building-sortable-tree-a-lightweight-drag-drop-tree-in-vanilla-typescript-f7l">Building Sortable Tree — A Lightweight Drag &amp; Drop Tree in Vanilla TypeScript</a></li><li>Marco Ippolito: <a href="https://bsky.app/profile/marcoippolito.dev/post/3m4xsmft6z22e">Type Stripping is Going to Be Unflagged Soon</a>!</li><li>Marek Honzal: <a href="https://marekhonzal.com/blog/immutable-by-default-typescript">Immutable by Default: Practical TypeScript Patterns</a></li><li>Snap: <a href="https://github.com/Snapchat/Valdi">Valdi</a>, a TypeScript-based cross-platform UI framework</li><li>Library Watch: <a href="https://github.com/7mind/izumi-chibi-ts">Izumi Chibi</a>, a port of Scala's DIStage phased dependency injection</li><li>Library Watch: <a href="https://tokiforge.github.io/tokiforge/">Tokiforge</a>, a modern framework-agnostic design token and theming engine</li><li>Library Watch: <a href="https://bsky.app/profile/mastrojs.bsky.social">Mastro.{js,ts}</a>, the simplest web framework and site generator</li></ul><p><strong>Cool Links</strong></p><ul><li><a href="https://www.allrecipes.com/recipe/68461/buffalo-chicken-dip/">Erik's Buffalo Chicken Dip Recipe</a></li><li><a href="http://syntax.fm">Syntax.fm</a> CSS battles</li><li><a href="https://youtu.be/gZvzyCj3N_o?si=tHhJ_4vCb2ZZEUq5">The Hive: Building a beehive simulation desk</a></li><li><a href="https://www.youtube.com/watch?v=V-j4w6j8OB4">This Week in Svelte, Ep. 121 — Changelog, Svelte MCP Server</a></li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </content:encoded>
      <pubDate>Tue, 11 Nov 2025 23:28:47 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/b87c759b/0b599824.mp3" length="23669252" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2953</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News for the week of <strong>November 3, 2025</strong>: Node 24 promoted to LTS, Nuxt Image V2 is full of TS goodies, and Anders is humbled by TypeScript's rise. <strong>From the community:</strong> TypeScript is not a substitute for good engineering, why codemods are helpful, and examples of using the satisfies keyword.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:24) - Announcement: We're Now On YouTube!</li>
<li>(07:31) - News: TSGo is Working on LSP, JSDoc Improvements</li>
<li>(07:58) - News: Node 24 is Now the Active LTS Until April 2028</li>
<li>(08:44) - News: Anders' Take on the TypeScript Zeitgeist</li>
<li>(10:07) - News: Nuxt Image V2 Upgrades TS Support</li>
<li>(10:44) - PSA: React Native CLI Allowed Remote Code Execution</li>
<li>(12:31) - Community Highlights: Why Everyone is Using TypeScript</li>
<li>(14:55) - Community Highlight: Why TypeScript Won't Save You</li>
<li>(20:36) - Community Highlight: Detecting Flash Floods with TypeScript</li>
<li>(22:02) - Community Highlight: Node Userland Migrations Deserves Your GitHub Star</li>
<li>(24:37) - Community Highlight: Sortable Trees by Marc Dahmen</li>
<li>(26:13) - Community Highlight: Type Stripping is Going to Be Unflagged Soon</li>
<li>(26:59) - Community Highlight: Immutable By Default by Marek Honzal</li>
<li>(30:59) - Library Watch: Valdi is Snap's New Cross-platform UI Framework</li>
<li>(33:04) - Library Watch: Dependency Injection with Izumi Chibi</li>
<li>(35:40) - Library Watch: Framework Agnostic Design Tokens with Tokiforge</li>
<li>(38:22) - Library Watch: Mastro, the No-BS Web Framework</li>
<li>(40:43) - Cool Watch: CSS Battles by SyntaxFM</li>
<li>(41:25) - Cool Watch: Beehive Desk</li>
<li>(42:17) - Cool Watch: Svelte's New MCP Server</li>
<li>(43:28) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>Housekeeping: <a href="https://www.youtube.com/channel/UCuAbyKXKHOiTMikdRM-UyRA">Follow and subscribe to TypeScript.fm on YouTube/Music!</a></li><li>Node.js PSA: <a href="https://github.com/nodejs/node/releases/tag/v24.11.0">24.x Release Line is now the Active LTS</a></li><li>GitHub: <a href="https://github.blog/company/typescripts-rise-in-the-ai-era-insights-from-lead-architect-anders-hejlsberg">TypeScript’s rise in the AI era: Insights from Lead Architect, Anders Hejlsberg</a></li><li><a href="https://nuxt.com/blog/nuxt-image-v2">Nuxt Image v2</a> is full of TypeScript goodies</li><li>PSA: <a href="https://www.infoworld.com/article/4085812/rce-in-react-native-cli-opens-dev-servers-to-attacks-2.html">Flaw in React Native CLI opens dev servers to attacks</a></li></ul><p><strong>From the Community</strong></p><ul><li>Codecademy: <a href="https://www.codecademy.com/resources/blog/typescript-most-used-language-on-github">TypeScript is the Most-Used Language on GitHub — Here’s Why</a></li><li>Christian Ekrem: <a href="https://cekrem.github.io/posts/why-typescript-wont-save-you/">Why TypeScript Won't Save You</a></li><li>David A. Lee: <a href="https://bsky.app/profile/davidalee.bsky.social/post/3m55l4grfc22b">What do flash floods and Typescript have in common?</a></li><li>Node.js: <a href="https://nodejs.org/en/learn/getting-started/userland-migrations">What is Userland Migrations</a>?</li><li>Marc Dahmen: <a href="https://dev.to/marcantondahmen/building-sortable-tree-a-lightweight-drag-drop-tree-in-vanilla-typescript-f7l">Building Sortable Tree — A Lightweight Drag &amp; Drop Tree in Vanilla TypeScript</a></li><li>Marco Ippolito: <a href="https://bsky.app/profile/marcoippolito.dev/post/3m4xsmft6z22e">Type Stripping is Going to Be Unflagged Soon</a>!</li><li>Marek Honzal: <a href="https://marekhonzal.com/blog/immutable-by-default-typescript">Immutable by Default: Practical TypeScript Patterns</a></li><li>Snap: <a href="https://github.com/Snapchat/Valdi">Valdi</a>, a TypeScript-based cross-platform UI framework</li><li>Library Watch: <a href="https://github.com/7mind/izumi-chibi-ts">Izumi Chibi</a>, a port of Scala's DIStage phased dependency injection</li><li>Library Watch: <a href="https://tokiforge.github.io/tokiforge/">Tokiforge</a>, a modern framework-agnostic design token and theming engine</li><li>Library Watch: <a href="https://bsky.app/profile/mastrojs.bsky.social">Mastro.{js,ts}</a>, the simplest web framework and site generator</li></ul><p><strong>Cool Links</strong></p><ul><li><a href="https://www.allrecipes.com/recipe/68461/buffalo-chicken-dip/">Erik's Buffalo Chicken Dip Recipe</a></li><li><a href="http://syntax.fm">Syntax.fm</a> CSS battles</li><li><a href="https://youtu.be/gZvzyCj3N_o?si=tHhJ_4vCb2ZZEUq5">The Hive: Building a beehive simulation desk</a></li><li><a href="https://www.youtube.com/watch?v=V-j4w6j8OB4">This Week in Svelte, Ep. 121 — Changelog, Svelte MCP Server</a></li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/b87c759b/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>TypeScript Won, Type-safe Regex, and Import from... Python? | News | Ep 42</title>
      <itunes:episode>42</itunes:episode>
      <podcast:episode>42</podcast:episode>
      <itunes:title>TypeScript Won, Type-safe Regex, and Import from... Python? | News | Ep 42</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">971ae634-252a-4919-aa49-8c2b2d6383a9</guid>
      <link>https://share.transistor.fm/s/2cd63947</link>
      <description>
        <![CDATA[<p>News for the week of <strong>October 27, 2025</strong>: TypeScript is the #1 language on GitHub, making your Regex type-safe, and Biome adds support for three new metaframeworks. <strong>From the community:</strong> a metaframework for Angular, PHP in JS, and a polyglot runtime that will blow your mind.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:36) - News: TypeScript Won in 2025</li>
<li>(12:43) - News: Vercel Now Supports the Bun Runtime</li>
<li>(12:59) - News: Announcing ArkRegex for Typing Regex</li>
<li>(16:37) - News: Safe Chain Can Proxy Your npm Installs</li>
<li>(17:48) - News: Biome 2.3 Adds Support for Vue, Svelte, and Astro</li>
<li>(19:05) - News: What's New in ViteLand?</li>
<li>(22:58) - Community Highlight: Hire Josh Goldberg!</li>
<li>(23:52) - Community Highlight: AnalogJS is a Meta Framework for Angular</li>
<li>(25:00) - Community Highlight: Rendu, a JS Hypertext Preprocessor</li>
<li>(27:24) - Runtime Watch: Elide, a Polyglot Runtime for JS, TS, Python, and More</li>
<li>(31:29) - Tool Watch: dpdm, to Fix Circular Dependencies</li>
<li>(32:57) - Library Watch: flowcraft, a Lightweight Workflow Engine</li>
<li>(34:52) - Tool Watch: Trigger.dev, a Hosted Workflow Engine</li>
<li>(37:07) - Bleet of the Week</li>
<li>(37:32) - Secrets of the Handbook: ?? and infer</li>
<li>(41:28) - Cool Watch: 10 Useful CLI Apps You've Never Heard Of</li>
<li>(42:38) - Cool Watch: Porffor, an Ahead-of-Time Compiler for JS</li>
<li>(46:31) - Cool Watch: Ladybird Browser October Update</li>
<li>(47:00) - Cool Tool: Gimli Tailwind, a Browser Devtools Extension</li>
<li>(48:07) - Cool Tool: PowerSync, a Local-first Sync Engine</li>
<li>(50:28) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>Octoverse: TypeScript is the <a href="https://bsky.app/profile/typescriptlang.org/post/3m4blsxrtx22y">most used language on GitHub</a> 🎉</li><li>Bun: <a href="https://bun.com/blog/vercel-adds-native-bun-support">Vercel now supports the Bun Runtime</a> </li><li>ArkType: Introducing ArkRegex (<a href="https://www.reddit.com/r/typescript/s/yhalCofnHu">Reddit</a>, <a href="https://discord.com/channels/957797212103016458/1029933931090423828/1432774838287601664">Discord</a>, <a href="https://bsky.app/profile/arktype.io/post/3m4benl2ips2o">Bluesky</a>)</li><li>Aikaido: <a href="https://www.aikido.dev/blog/introducing-safe-chain">Introducing Safe Chain: Stopping Malicious npm Packages Before They Wreck Your Project</a></li><li><a href="https://biomejs.dev/blog/biome-v2-3/">Biome 2.3</a> supports Vue, Svelte, Astro, and more. </li><li>VoidZero: <a href="https://voidzero.dev/posts/whats-new-oct-2025">What’s New in ViteLand: October 2025 Recap</a></li></ul><p><strong>From the Community</strong></p><ul><li>Friend of the Show Josh Goldberg is <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3m4g6xmdouk2a">looking for a full time position</a> 👀</li><li><a href="https://dev.to/analogjs/announcing-analogjs-20-348d">AnalogJS 2.0</a> is a metaframework for Angular with SSR/SSG and file-based routing</li><li>Alexander Lichter: <a href="https://www.youtube.com/watch?v=Qk2oNBRw2Y8">Wait - PHP IN JS!? What is rendu</a></li><li><a href="https://elide.dev">Elide</a> is a polyglot runtime, think: import Python modules from TypeScript</li><li>Tool Watch: <a href="https://github.com/acrazing/dpdm#readme">acrazing/dpdm: Detect circular dependencies in your TypeScript projects</a></li><li>Library Watch: <a href="https://github.com/gorango/flowcraft">gorango/flowcraft: A lightweight workflow engine</a> </li><li>Tool Watch: <a href="https://trigger.dev/">Trigger.dev</a>, a hosted agentic workflow engine</li><li>Fabi.dev quick tip: <a href="https://bsky.app/profile/fabidev.net/post/3m4qawkte3s22">Do you know the difference between || and ??</a></li><li><a href="https://bsky.app/profile/muszynov.bsky.social/post/3m3nj3dq7o222">muszynov</a>: <a href="https://www.geodev.me/blog/how-to-use-the-infer-keyword-in-typescript">How to use the infer keyword in Typescript</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Watch: <a href="https://youtu.be/VGtxARciwDM?si=hftAMJyZMptKd24y">10 useful CLI apps I'm guessing you've not heard of</a></li><li>Cool Watch: <a href="https://youtu.be/TPYMqiv9hhM?si=YPCaSo9SkWhXG1-y">Oliver Medhurst - Porffor - JavaScript Ahead of Time Compiler</a> </li><li>Cool Watch: <a href="https://youtu.be/ZO_PZJ6Ekao?si=pyiayzfa9QQ7fLqC">Ladybird browser update (October 2025)</a> </li><li>Cool Tool: <a href="https://gimli.app/tailwind">Gimli Tailwind</a> – a super hot looking TailwindCSS dev extension</li><li>Cool Tool: <a href="https://www.powersync.com/">PowerSync</a> – local-first sync engine that works with Postgres, MySQL, and MongoDB</li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News for the week of <strong>October 27, 2025</strong>: TypeScript is the #1 language on GitHub, making your Regex type-safe, and Biome adds support for three new metaframeworks. <strong>From the community:</strong> a metaframework for Angular, PHP in JS, and a polyglot runtime that will blow your mind.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:36) - News: TypeScript Won in 2025</li>
<li>(12:43) - News: Vercel Now Supports the Bun Runtime</li>
<li>(12:59) - News: Announcing ArkRegex for Typing Regex</li>
<li>(16:37) - News: Safe Chain Can Proxy Your npm Installs</li>
<li>(17:48) - News: Biome 2.3 Adds Support for Vue, Svelte, and Astro</li>
<li>(19:05) - News: What's New in ViteLand?</li>
<li>(22:58) - Community Highlight: Hire Josh Goldberg!</li>
<li>(23:52) - Community Highlight: AnalogJS is a Meta Framework for Angular</li>
<li>(25:00) - Community Highlight: Rendu, a JS Hypertext Preprocessor</li>
<li>(27:24) - Runtime Watch: Elide, a Polyglot Runtime for JS, TS, Python, and More</li>
<li>(31:29) - Tool Watch: dpdm, to Fix Circular Dependencies</li>
<li>(32:57) - Library Watch: flowcraft, a Lightweight Workflow Engine</li>
<li>(34:52) - Tool Watch: Trigger.dev, a Hosted Workflow Engine</li>
<li>(37:07) - Bleet of the Week</li>
<li>(37:32) - Secrets of the Handbook: ?? and infer</li>
<li>(41:28) - Cool Watch: 10 Useful CLI Apps You've Never Heard Of</li>
<li>(42:38) - Cool Watch: Porffor, an Ahead-of-Time Compiler for JS</li>
<li>(46:31) - Cool Watch: Ladybird Browser October Update</li>
<li>(47:00) - Cool Tool: Gimli Tailwind, a Browser Devtools Extension</li>
<li>(48:07) - Cool Tool: PowerSync, a Local-first Sync Engine</li>
<li>(50:28) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>Octoverse: TypeScript is the <a href="https://bsky.app/profile/typescriptlang.org/post/3m4blsxrtx22y">most used language on GitHub</a> 🎉</li><li>Bun: <a href="https://bun.com/blog/vercel-adds-native-bun-support">Vercel now supports the Bun Runtime</a> </li><li>ArkType: Introducing ArkRegex (<a href="https://www.reddit.com/r/typescript/s/yhalCofnHu">Reddit</a>, <a href="https://discord.com/channels/957797212103016458/1029933931090423828/1432774838287601664">Discord</a>, <a href="https://bsky.app/profile/arktype.io/post/3m4benl2ips2o">Bluesky</a>)</li><li>Aikaido: <a href="https://www.aikido.dev/blog/introducing-safe-chain">Introducing Safe Chain: Stopping Malicious npm Packages Before They Wreck Your Project</a></li><li><a href="https://biomejs.dev/blog/biome-v2-3/">Biome 2.3</a> supports Vue, Svelte, Astro, and more. </li><li>VoidZero: <a href="https://voidzero.dev/posts/whats-new-oct-2025">What’s New in ViteLand: October 2025 Recap</a></li></ul><p><strong>From the Community</strong></p><ul><li>Friend of the Show Josh Goldberg is <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3m4g6xmdouk2a">looking for a full time position</a> 👀</li><li><a href="https://dev.to/analogjs/announcing-analogjs-20-348d">AnalogJS 2.0</a> is a metaframework for Angular with SSR/SSG and file-based routing</li><li>Alexander Lichter: <a href="https://www.youtube.com/watch?v=Qk2oNBRw2Y8">Wait - PHP IN JS!? What is rendu</a></li><li><a href="https://elide.dev">Elide</a> is a polyglot runtime, think: import Python modules from TypeScript</li><li>Tool Watch: <a href="https://github.com/acrazing/dpdm#readme">acrazing/dpdm: Detect circular dependencies in your TypeScript projects</a></li><li>Library Watch: <a href="https://github.com/gorango/flowcraft">gorango/flowcraft: A lightweight workflow engine</a> </li><li>Tool Watch: <a href="https://trigger.dev/">Trigger.dev</a>, a hosted agentic workflow engine</li><li>Fabi.dev quick tip: <a href="https://bsky.app/profile/fabidev.net/post/3m4qawkte3s22">Do you know the difference between || and ??</a></li><li><a href="https://bsky.app/profile/muszynov.bsky.social/post/3m3nj3dq7o222">muszynov</a>: <a href="https://www.geodev.me/blog/how-to-use-the-infer-keyword-in-typescript">How to use the infer keyword in Typescript</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Watch: <a href="https://youtu.be/VGtxARciwDM?si=hftAMJyZMptKd24y">10 useful CLI apps I'm guessing you've not heard of</a></li><li>Cool Watch: <a href="https://youtu.be/TPYMqiv9hhM?si=YPCaSo9SkWhXG1-y">Oliver Medhurst - Porffor - JavaScript Ahead of Time Compiler</a> </li><li>Cool Watch: <a href="https://youtu.be/ZO_PZJ6Ekao?si=pyiayzfa9QQ7fLqC">Ladybird browser update (October 2025)</a> </li><li>Cool Tool: <a href="https://gimli.app/tailwind">Gimli Tailwind</a> – a super hot looking TailwindCSS dev extension</li><li>Cool Tool: <a href="https://www.powersync.com/">PowerSync</a> – local-first sync engine that works with Postgres, MySQL, and MongoDB</li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Tue, 04 Nov 2025 13:16:56 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/2cd63947/90494860.mp3" length="25951013" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>3239</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News for the week of <strong>October 27, 2025</strong>: TypeScript is the #1 language on GitHub, making your Regex type-safe, and Biome adds support for three new metaframeworks. <strong>From the community:</strong> a metaframework for Angular, PHP in JS, and a polyglot runtime that will blow your mind.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:36) - News: TypeScript Won in 2025</li>
<li>(12:43) - News: Vercel Now Supports the Bun Runtime</li>
<li>(12:59) - News: Announcing ArkRegex for Typing Regex</li>
<li>(16:37) - News: Safe Chain Can Proxy Your npm Installs</li>
<li>(17:48) - News: Biome 2.3 Adds Support for Vue, Svelte, and Astro</li>
<li>(19:05) - News: What's New in ViteLand?</li>
<li>(22:58) - Community Highlight: Hire Josh Goldberg!</li>
<li>(23:52) - Community Highlight: AnalogJS is a Meta Framework for Angular</li>
<li>(25:00) - Community Highlight: Rendu, a JS Hypertext Preprocessor</li>
<li>(27:24) - Runtime Watch: Elide, a Polyglot Runtime for JS, TS, Python, and More</li>
<li>(31:29) - Tool Watch: dpdm, to Fix Circular Dependencies</li>
<li>(32:57) - Library Watch: flowcraft, a Lightweight Workflow Engine</li>
<li>(34:52) - Tool Watch: Trigger.dev, a Hosted Workflow Engine</li>
<li>(37:07) - Bleet of the Week</li>
<li>(37:32) - Secrets of the Handbook: ?? and infer</li>
<li>(41:28) - Cool Watch: 10 Useful CLI Apps You've Never Heard Of</li>
<li>(42:38) - Cool Watch: Porffor, an Ahead-of-Time Compiler for JS</li>
<li>(46:31) - Cool Watch: Ladybird Browser October Update</li>
<li>(47:00) - Cool Tool: Gimli Tailwind, a Browser Devtools Extension</li>
<li>(48:07) - Cool Tool: PowerSync, a Local-first Sync Engine</li>
<li>(50:28) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>Octoverse: TypeScript is the <a href="https://bsky.app/profile/typescriptlang.org/post/3m4blsxrtx22y">most used language on GitHub</a> 🎉</li><li>Bun: <a href="https://bun.com/blog/vercel-adds-native-bun-support">Vercel now supports the Bun Runtime</a> </li><li>ArkType: Introducing ArkRegex (<a href="https://www.reddit.com/r/typescript/s/yhalCofnHu">Reddit</a>, <a href="https://discord.com/channels/957797212103016458/1029933931090423828/1432774838287601664">Discord</a>, <a href="https://bsky.app/profile/arktype.io/post/3m4benl2ips2o">Bluesky</a>)</li><li>Aikaido: <a href="https://www.aikido.dev/blog/introducing-safe-chain">Introducing Safe Chain: Stopping Malicious npm Packages Before They Wreck Your Project</a></li><li><a href="https://biomejs.dev/blog/biome-v2-3/">Biome 2.3</a> supports Vue, Svelte, Astro, and more. </li><li>VoidZero: <a href="https://voidzero.dev/posts/whats-new-oct-2025">What’s New in ViteLand: October 2025 Recap</a></li></ul><p><strong>From the Community</strong></p><ul><li>Friend of the Show Josh Goldberg is <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3m4g6xmdouk2a">looking for a full time position</a> 👀</li><li><a href="https://dev.to/analogjs/announcing-analogjs-20-348d">AnalogJS 2.0</a> is a metaframework for Angular with SSR/SSG and file-based routing</li><li>Alexander Lichter: <a href="https://www.youtube.com/watch?v=Qk2oNBRw2Y8">Wait - PHP IN JS!? What is rendu</a></li><li><a href="https://elide.dev">Elide</a> is a polyglot runtime, think: import Python modules from TypeScript</li><li>Tool Watch: <a href="https://github.com/acrazing/dpdm#readme">acrazing/dpdm: Detect circular dependencies in your TypeScript projects</a></li><li>Library Watch: <a href="https://github.com/gorango/flowcraft">gorango/flowcraft: A lightweight workflow engine</a> </li><li>Tool Watch: <a href="https://trigger.dev/">Trigger.dev</a>, a hosted agentic workflow engine</li><li>Fabi.dev quick tip: <a href="https://bsky.app/profile/fabidev.net/post/3m4qawkte3s22">Do you know the difference between || and ??</a></li><li><a href="https://bsky.app/profile/muszynov.bsky.social/post/3m3nj3dq7o222">muszynov</a>: <a href="https://www.geodev.me/blog/how-to-use-the-infer-keyword-in-typescript">How to use the infer keyword in Typescript</a></li></ul><p><strong>Cool Links</strong></p><ul><li>Cool Watch: <a href="https://youtu.be/VGtxARciwDM?si=hftAMJyZMptKd24y">10 useful CLI apps I'm guessing you've not heard of</a></li><li>Cool Watch: <a href="https://youtu.be/TPYMqiv9hhM?si=YPCaSo9SkWhXG1-y">Oliver Medhurst - Porffor - JavaScript Ahead of Time Compiler</a> </li><li>Cool Watch: <a href="https://youtu.be/ZO_PZJ6Ekao?si=pyiayzfa9QQ7fLqC">Ladybird browser update (October 2025)</a> </li><li>Cool Tool: <a href="https://gimli.app/tailwind">Gimli Tailwind</a> – a super hot looking TailwindCSS dev extension</li><li>Cool Tool: <a href="https://www.powersync.com/">PowerSync</a> – local-first sync engine that works with Postgres, MySQL, and MongoDB</li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/2cd63947/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Deno Deploy Makeover, Vitest 4, Nuxt 4.2, and Next.js 16 (Oh, and React Native 0.82) | News | Ep 41</title>
      <itunes:episode>41</itunes:episode>
      <podcast:episode>41</podcast:episode>
      <itunes:title>Deno Deploy Makeover, Vitest 4, Nuxt 4.2, and Next.js 16 (Oh, and React Native 0.82) | News | Ep 41</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">0b256701-3da9-4ce3-bb0d-05c7ed940679</guid>
      <link>https://share.transistor.fm/s/e0ee2a5f</link>
      <description>
        <![CDATA[<p>News for the week of <strong>October 20, 2025</strong>: Deno Deploy revamp, Vitest 4, Nuxt 4.2, and Next.js 16, all in a single week. <strong>From the community:</strong> 4 weird ways to cast in TypeScript (+2 to Arcana rolls), type-safe API clients, and the hottest JS REPL around.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:04) - News: Deno Deployed a Brand Spankin' New Deno Deploy</li>
<li>(11:44) - News: Vitest 4 is Out and Browser Mode is Stable</li>
<li>(14:54) - News: Nuxt 4.2 Brings Integrated TypeScript DX Plugins</li>
<li>(18:55) - News: Next.js 16 Sets TurboPack As the Default</li>
<li>(21:59) - News: React Native 0.82, New Architecture, Who Dis?</li>
<li>(25:26) - News: Node.js LTS 22 Has Better HTTP Proxy Handling</li>
<li>(27:05) - News: AshTypeScript 0.6.0</li>
<li>(28:00) - News: Heroic PR to DefinitelyTyped Updates 1,839 Files</li>
<li>(29:23) - PSA: Critical Account Takeover Vulnerability in Better-Auth</li>
<li>(32:37) - Community Highlight: Maybe Don't Use Top-level Await Yet</li>
<li>(33:36) - Community Highlight: You Don't Need the Dependency</li>
<li>(33:59) - Community Highlight: react-window Fixes a TypeScript Issue for React 18</li>
<li>(34:29) - Community Highlight: 4 Unconventional Ways to Cast in TypeScript</li>
<li>(35:15) - Community Highlight: How to Create Type-safe API Clients</li>
<li>(35:50) - Community Highlight: Build a TypeScript MCP Server with Auth, DB, and Billing</li>
<li>(36:41) - Community Highlight: A JS REPL... with Types!</li>
<li>(37:49) - Community Highlight: Transforming Your OLTP ORM into a Type-safe OLTP Data Model</li>
<li>(38:42) - Library Watch: FTA, Fast TypeScript Analyzer</li>
<li>(39:09) - Community Highlight: Bleet of the Week</li>
</ul><br><p><strong>News</strong></p><ul><li>Deno: <a href="https://deno.com/blog/deno-deploy-highlights">My highlights from the new Deno Deploy</a></li><li><a href="https://vitest.dev/blog/vitest-4">Vitest 4.0</a> is out!</li><li><a href="https://nuxt.com/blog/v4-2">Nuxt 4.2</a> is out!</li><li><a href="https://nextjs.org/blog/next-16">Next.js 16</a> is out!</li><li><a href="https://reactnative.dev/blog/2025/10/08/react-native-0.82">React Native 0.82 - A New Era</a> (h/t <a href="https://thenewstack.io/react-native-rolls-out-its-latest-version-on-new-architecture/">TheNewStack</a>)</li><li><a href="https://github.com/nodejs/node/releases/tag/v22.21.0">Node 22.21 LTS</a> features native HTTP proxy support</li><li><a href="https://hexdocs.pm/ash_typescript/0.6.2/readme.html">AshTypeScript 0.6.0</a> (<a href="https://bsky.app/profile/torkan.bsky.social/post/3m3qhd6jgtk24">bsky summary</a>)</li><li>A <a href="https://bsky.app/profile/johnnyreilly.com/post/3m3w7zt3jcs23">heroic update</a> to DefinitelyTyped to prepare for TypeScript 6</li><li>PSA: <a href="https://zeropath.com/blog/breaking-authentication-unauthenticated-api-key-creation-in-better-auth-cve-2025-61928">Critical Account Takeover in better-auth</a></li></ul><p><strong>From the Community</strong></p><ul><li>Jake Archibald: PSA, <a href="https://bsky.app/profile/jakearchibald.com/post/3m44pxdhpn22v">don’t use top-level await right now in browsers</a></li><li>Brian Muenzenmeyer: <a href="https://bsky.app/profile/brianmuenzenmeyer.com/post/3m3wtzyplk225">You Don’t Need a Dependency talk</a> from JSConf is now live</li><li>Brian Vaughn: <a href="https://bsky.app/profile/brian.blue/post/3m44ri6ubp226">react-window got a small TS compatibility fix for React 18-18.2</a></li><li>Wolf Girl: <a href="https://bsky.app/profile/wolf.girl.technology/post/3m3tdnsakys2m">4 Unconventional Ways to Cast In TypeScript</a></li><li>Matteo Collina: <a href="https://blog.platformatic.dev/from-curl-commands-to-type-safe-api-clients-a-complete-workflow">From curl Commands to Type-Safe API Clients: A Complete Workflow</a> </li><li>Shola Jegede: <a href="https://www.freecodecamp.org/news/how-to-build-a-to-do-list-mcp-server-using-typescript">How to Build a To-Do List MCP Server Using TypeScript – with Auth, Database, and Billing</a> </li><li>Ge Gao: <a href="https://repl.js.org/">JS REPL with Types</a>! (h/t <a href="https://www.reddit.com/r/typescript/comments/1oeo153/an_online_typescriptjavascript_repl_with/">Reddit</a>)</li><li>Moosestack (FiveOneFour): <a href="https://www.fiveonefour.com/blog/derive-an-olap-data-model-from-your-oltp-orm">Just OLAP It: Transform Your OLTP ORM into a Type-Safe OLAP Data Model</a></li><li>Library Watch: <a href="https://ftaproject.dev/">FTA Fast TypeScript Analyzer</a></li><li>Bleet of the Week: “<a href="https://bsky.app/profile/ed3d.net/post/3m3uibjsqw22x">Anyone who writes bare JavaScript in 2025… is a maniac you shouldn’t trust</a>”</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News for the week of <strong>October 20, 2025</strong>: Deno Deploy revamp, Vitest 4, Nuxt 4.2, and Next.js 16, all in a single week. <strong>From the community:</strong> 4 weird ways to cast in TypeScript (+2 to Arcana rolls), type-safe API clients, and the hottest JS REPL around.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:04) - News: Deno Deployed a Brand Spankin' New Deno Deploy</li>
<li>(11:44) - News: Vitest 4 is Out and Browser Mode is Stable</li>
<li>(14:54) - News: Nuxt 4.2 Brings Integrated TypeScript DX Plugins</li>
<li>(18:55) - News: Next.js 16 Sets TurboPack As the Default</li>
<li>(21:59) - News: React Native 0.82, New Architecture, Who Dis?</li>
<li>(25:26) - News: Node.js LTS 22 Has Better HTTP Proxy Handling</li>
<li>(27:05) - News: AshTypeScript 0.6.0</li>
<li>(28:00) - News: Heroic PR to DefinitelyTyped Updates 1,839 Files</li>
<li>(29:23) - PSA: Critical Account Takeover Vulnerability in Better-Auth</li>
<li>(32:37) - Community Highlight: Maybe Don't Use Top-level Await Yet</li>
<li>(33:36) - Community Highlight: You Don't Need the Dependency</li>
<li>(33:59) - Community Highlight: react-window Fixes a TypeScript Issue for React 18</li>
<li>(34:29) - Community Highlight: 4 Unconventional Ways to Cast in TypeScript</li>
<li>(35:15) - Community Highlight: How to Create Type-safe API Clients</li>
<li>(35:50) - Community Highlight: Build a TypeScript MCP Server with Auth, DB, and Billing</li>
<li>(36:41) - Community Highlight: A JS REPL... with Types!</li>
<li>(37:49) - Community Highlight: Transforming Your OLTP ORM into a Type-safe OLTP Data Model</li>
<li>(38:42) - Library Watch: FTA, Fast TypeScript Analyzer</li>
<li>(39:09) - Community Highlight: Bleet of the Week</li>
</ul><br><p><strong>News</strong></p><ul><li>Deno: <a href="https://deno.com/blog/deno-deploy-highlights">My highlights from the new Deno Deploy</a></li><li><a href="https://vitest.dev/blog/vitest-4">Vitest 4.0</a> is out!</li><li><a href="https://nuxt.com/blog/v4-2">Nuxt 4.2</a> is out!</li><li><a href="https://nextjs.org/blog/next-16">Next.js 16</a> is out!</li><li><a href="https://reactnative.dev/blog/2025/10/08/react-native-0.82">React Native 0.82 - A New Era</a> (h/t <a href="https://thenewstack.io/react-native-rolls-out-its-latest-version-on-new-architecture/">TheNewStack</a>)</li><li><a href="https://github.com/nodejs/node/releases/tag/v22.21.0">Node 22.21 LTS</a> features native HTTP proxy support</li><li><a href="https://hexdocs.pm/ash_typescript/0.6.2/readme.html">AshTypeScript 0.6.0</a> (<a href="https://bsky.app/profile/torkan.bsky.social/post/3m3qhd6jgtk24">bsky summary</a>)</li><li>A <a href="https://bsky.app/profile/johnnyreilly.com/post/3m3w7zt3jcs23">heroic update</a> to DefinitelyTyped to prepare for TypeScript 6</li><li>PSA: <a href="https://zeropath.com/blog/breaking-authentication-unauthenticated-api-key-creation-in-better-auth-cve-2025-61928">Critical Account Takeover in better-auth</a></li></ul><p><strong>From the Community</strong></p><ul><li>Jake Archibald: PSA, <a href="https://bsky.app/profile/jakearchibald.com/post/3m44pxdhpn22v">don’t use top-level await right now in browsers</a></li><li>Brian Muenzenmeyer: <a href="https://bsky.app/profile/brianmuenzenmeyer.com/post/3m3wtzyplk225">You Don’t Need a Dependency talk</a> from JSConf is now live</li><li>Brian Vaughn: <a href="https://bsky.app/profile/brian.blue/post/3m44ri6ubp226">react-window got a small TS compatibility fix for React 18-18.2</a></li><li>Wolf Girl: <a href="https://bsky.app/profile/wolf.girl.technology/post/3m3tdnsakys2m">4 Unconventional Ways to Cast In TypeScript</a></li><li>Matteo Collina: <a href="https://blog.platformatic.dev/from-curl-commands-to-type-safe-api-clients-a-complete-workflow">From curl Commands to Type-Safe API Clients: A Complete Workflow</a> </li><li>Shola Jegede: <a href="https://www.freecodecamp.org/news/how-to-build-a-to-do-list-mcp-server-using-typescript">How to Build a To-Do List MCP Server Using TypeScript – with Auth, Database, and Billing</a> </li><li>Ge Gao: <a href="https://repl.js.org/">JS REPL with Types</a>! (h/t <a href="https://www.reddit.com/r/typescript/comments/1oeo153/an_online_typescriptjavascript_repl_with/">Reddit</a>)</li><li>Moosestack (FiveOneFour): <a href="https://www.fiveonefour.com/blog/derive-an-olap-data-model-from-your-oltp-orm">Just OLAP It: Transform Your OLTP ORM into a Type-Safe OLAP Data Model</a></li><li>Library Watch: <a href="https://ftaproject.dev/">FTA Fast TypeScript Analyzer</a></li><li>Bleet of the Week: “<a href="https://bsky.app/profile/ed3d.net/post/3m3uibjsqw22x">Anyone who writes bare JavaScript in 2025… is a maniac you shouldn’t trust</a>”</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </content:encoded>
      <pubDate>Tue, 28 Oct 2025 22:16:15 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/e0ee2a5f/a3eb4fa2.mp3" length="19558524" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2440</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News for the week of <strong>October 20, 2025</strong>: Deno Deploy revamp, Vitest 4, Nuxt 4.2, and Next.js 16, all in a single week. <strong>From the community:</strong> 4 weird ways to cast in TypeScript (+2 to Arcana rolls), type-safe API clients, and the hottest JS REPL around.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:04) - News: Deno Deployed a Brand Spankin' New Deno Deploy</li>
<li>(11:44) - News: Vitest 4 is Out and Browser Mode is Stable</li>
<li>(14:54) - News: Nuxt 4.2 Brings Integrated TypeScript DX Plugins</li>
<li>(18:55) - News: Next.js 16 Sets TurboPack As the Default</li>
<li>(21:59) - News: React Native 0.82, New Architecture, Who Dis?</li>
<li>(25:26) - News: Node.js LTS 22 Has Better HTTP Proxy Handling</li>
<li>(27:05) - News: AshTypeScript 0.6.0</li>
<li>(28:00) - News: Heroic PR to DefinitelyTyped Updates 1,839 Files</li>
<li>(29:23) - PSA: Critical Account Takeover Vulnerability in Better-Auth</li>
<li>(32:37) - Community Highlight: Maybe Don't Use Top-level Await Yet</li>
<li>(33:36) - Community Highlight: You Don't Need the Dependency</li>
<li>(33:59) - Community Highlight: react-window Fixes a TypeScript Issue for React 18</li>
<li>(34:29) - Community Highlight: 4 Unconventional Ways to Cast in TypeScript</li>
<li>(35:15) - Community Highlight: How to Create Type-safe API Clients</li>
<li>(35:50) - Community Highlight: Build a TypeScript MCP Server with Auth, DB, and Billing</li>
<li>(36:41) - Community Highlight: A JS REPL... with Types!</li>
<li>(37:49) - Community Highlight: Transforming Your OLTP ORM into a Type-safe OLTP Data Model</li>
<li>(38:42) - Library Watch: FTA, Fast TypeScript Analyzer</li>
<li>(39:09) - Community Highlight: Bleet of the Week</li>
</ul><br><p><strong>News</strong></p><ul><li>Deno: <a href="https://deno.com/blog/deno-deploy-highlights">My highlights from the new Deno Deploy</a></li><li><a href="https://vitest.dev/blog/vitest-4">Vitest 4.0</a> is out!</li><li><a href="https://nuxt.com/blog/v4-2">Nuxt 4.2</a> is out!</li><li><a href="https://nextjs.org/blog/next-16">Next.js 16</a> is out!</li><li><a href="https://reactnative.dev/blog/2025/10/08/react-native-0.82">React Native 0.82 - A New Era</a> (h/t <a href="https://thenewstack.io/react-native-rolls-out-its-latest-version-on-new-architecture/">TheNewStack</a>)</li><li><a href="https://github.com/nodejs/node/releases/tag/v22.21.0">Node 22.21 LTS</a> features native HTTP proxy support</li><li><a href="https://hexdocs.pm/ash_typescript/0.6.2/readme.html">AshTypeScript 0.6.0</a> (<a href="https://bsky.app/profile/torkan.bsky.social/post/3m3qhd6jgtk24">bsky summary</a>)</li><li>A <a href="https://bsky.app/profile/johnnyreilly.com/post/3m3w7zt3jcs23">heroic update</a> to DefinitelyTyped to prepare for TypeScript 6</li><li>PSA: <a href="https://zeropath.com/blog/breaking-authentication-unauthenticated-api-key-creation-in-better-auth-cve-2025-61928">Critical Account Takeover in better-auth</a></li></ul><p><strong>From the Community</strong></p><ul><li>Jake Archibald: PSA, <a href="https://bsky.app/profile/jakearchibald.com/post/3m44pxdhpn22v">don’t use top-level await right now in browsers</a></li><li>Brian Muenzenmeyer: <a href="https://bsky.app/profile/brianmuenzenmeyer.com/post/3m3wtzyplk225">You Don’t Need a Dependency talk</a> from JSConf is now live</li><li>Brian Vaughn: <a href="https://bsky.app/profile/brian.blue/post/3m44ri6ubp226">react-window got a small TS compatibility fix for React 18-18.2</a></li><li>Wolf Girl: <a href="https://bsky.app/profile/wolf.girl.technology/post/3m3tdnsakys2m">4 Unconventional Ways to Cast In TypeScript</a></li><li>Matteo Collina: <a href="https://blog.platformatic.dev/from-curl-commands-to-type-safe-api-clients-a-complete-workflow">From curl Commands to Type-Safe API Clients: A Complete Workflow</a> </li><li>Shola Jegede: <a href="https://www.freecodecamp.org/news/how-to-build-a-to-do-list-mcp-server-using-typescript">How to Build a To-Do List MCP Server Using TypeScript – with Auth, Database, and Billing</a> </li><li>Ge Gao: <a href="https://repl.js.org/">JS REPL with Types</a>! (h/t <a href="https://www.reddit.com/r/typescript/comments/1oeo153/an_online_typescriptjavascript_repl_with/">Reddit</a>)</li><li>Moosestack (FiveOneFour): <a href="https://www.fiveonefour.com/blog/derive-an-olap-data-model-from-your-oltp-orm">Just OLAP It: Transform Your OLTP ORM into a Type-Safe OLAP Data Model</a></li><li>Library Watch: <a href="https://ftaproject.dev/">FTA Fast TypeScript Analyzer</a></li><li>Bleet of the Week: “<a href="https://bsky.app/profile/ed3d.net/post/3m3uibjsqw22x">Anyone who writes bare JavaScript in 2025… is a maniac you shouldn’t trust</a>”</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/e0ee2a5f/transcription.vtt" type="text/vtt" rel="captions"/>
      <podcast:transcript url="https://share.transistor.fm/s/e0ee2a5f/transcription.srt" type="application/x-subrip" rel="captions"/>
      <podcast:transcript url="https://share.transistor.fm/s/e0ee2a5f/transcription.json" type="application/json" rel="captions"/>
      <podcast:transcript url="https://share.transistor.fm/s/e0ee2a5f/transcription.txt" type="text/plain"/>
      <podcast:transcript url="https://share.transistor.fm/s/e0ee2a5f/transcription" type="text/html"/>
      <podcast:chapters url="https://share.transistor.fm/s/e0ee2a5f/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>15 npm Deps to Replace (Axe 'em), Remix Remixed (Again), and TS in Space (Not Really) | News | Ep 40</title>
      <itunes:episode>40</itunes:episode>
      <podcast:episode>40</podcast:episode>
      <itunes:title>15 npm Deps to Replace (Axe 'em), Remix Remixed (Again), and TS in Space (Not Really) | News | Ep 40</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">8774eda1-53ce-4771-bbcf-df3db7b1d479</guid>
      <link>https://share.transistor.fm/s/1ee81010</link>
      <description>
        <![CDATA[<p>News of the week of October 13, 2025: Node 25 brings V8 perf update, Remix reinvents itself once again, TypeScript in your DB, and why Map upsertions will be celebrated by TS devs. From the community: 15 npm packages you no longer need, Deno's side projects, Snoop L. O. Double G., and how to write architecture assertions. </p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(04:50) - News: Happy National AWS Outage Day!</li>
<li>(06:00) - News: Remix Has Remixed Itself Once Again Into V3</li>
<li>(08:59) - News: TypeScript in Space! ... TimeDB</li>
<li>(12:06) - News: Node 25 Brings New V8 Updates and Network Permissions</li>
<li>(14:30) - News: Lit HTML Joins Open JS Foundation</li>
<li>(16:05) - News:  Announcing Vite+ Blog Post</li>
<li>(20:44) - News: ECMAScript Upsert Proposal and ESBuild Can Now Import Raw Bytes</li>
<li>(22:57) - Community Highlight: 15 Recent Node Features That Replace npm Packages</li>
<li>(31:07) - Community Highlight: Deno's Other Open Source Projects</li>
<li>(33:29) - Library Watch: SnoopLogg for CLI Logging Across Runtimes</li>
<li>(34:41) - Library Watch: ArchUnitTS, an Architecture Testing Library</li>
<li>(37:40) - Community Highlight: oxfmt is 2-3X Faster Than Biome and 45X Faster Than Prettier</li>
<li>(38:46) - Discussion: Got the Nx Blues? Try Moonrepo</li>
<li>(40:48) - Community Highlight: Enforcing Strict Object Properties in TypeScript</li>
<li>(42:18) - Community Highlight: Watch Web Dev Simplified Struggle Through Type Challenges</li>
<li>(43:10) - Community Highlight: TypeScript's Coding Guidelines Are Not For Us</li>
<li>(44:37) - Cool Watches: Rolldown Internals and Beyond Signals</li>
<li>(45:21) - Cool Tip: Don't Forget About AbortController</li>
<li>(46:01) - Cool Tool: SpriteFusion Tile Map Editor</li>
<li>(46:47) - Cool Product: Stylish Solar Shingles</li>
<li>(49:15) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>Happy <a href="https://www.cnn.com/business/live-news/amazon-tech-outage-10-20-25-intl">National AWS Outage Day!</a></li><li>Remix: <a href="https://www.youtube.com/watch?v=xt_iEOn2a6Y">Remix Jam 2025 (4 hours) </a>announced V3, built on Preact (<a href="https://www.youtube.com/watch?v=bRKWwjQ8re4">3min</a> and <a href="https://www.youtube.com/watch?v=TtPwgNX7eeM">20min</a> summaries, plus <a href="https://www.reddit.com/r/reactjs/comments/1o3eu80/remix_jam_2025_introducing_remix_3/">reddit discussion</a>)</li><li>SpacetimeDB 1.6 <a href="https://github.com/clockworklabs/SpacetimeDB/releases/tag/v1.6.0">adds beta support for TS modules</a></li><li>Node 25 is out (<a href="https://bsky.app/profile/rafaelgss.dev/post/3m3aqzy7hik2u">bsky summary</a> by Rafael)</li><li><a href="https://bsky.app/profile/lit.dev/post/3m35ttuws4224">Lit joins</a> Open JS Foundation</li><li>VoidZero: New blog post with details <a href="https://voidzero.dev/posts/announcing-vite-plus">around Vite+</a></li><li>ECMAScript News: <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3m36gdwckqk2x">Map Upsert proposal</a> heralded by TS devs (h/t Rob Palmer)  </li><li>ECMAScript News: <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3m37tqmq5es22">Import bytes lands in ESBuild</a> (+ Deno, Bun, and webpack) (h/t Rob Palmer)</li></ul><p><strong>From the Community</strong></p><ul><li>NodeSource: <a href="https://nodesource.com/blog/nodejs-features-replacing-npm-packages">15 Recent Node.js Features that Replace Popular npm Packages</a></li><li>Deno: <a href="https://deno.com/blog/open-source">Deno's Other Open Source Projects</a></li><li>Library Watch: <a href="https://bsky.app/profile/chrisbarber.dev/post/3m3kr5ia4s22r">SnoopLogg v6.0.4</a>, a CLI logging library</li><li>Library Watch: <a href="https://github.com/LukasNiessen/ArchUnitTS">LukasNiessen/ArchUnitTS</a>, an architecture testing library</li><li>Evan You: <a href="https://xcancel.com/youyuxi/status/1979839137323864073">oxfmt is 2-3X faster than Biome and 45X faster than Prettier</a></li><li>Reddit: <a href="https://www.reddit.com/r/typescript/comments/1o9bmvu/what_happened_to_nx/">What Happened to Nx?</a> and an alternative hidden gem, <a href="https://moonrepo.dev/moon">Moonrepo</a></li><li>TypedRocks: <a href="https://youtu.be/2hqlrFrHoEs?si=ppWi2TbaWPt6S5pz">This New TypeScript Utility Type Prevents Hard-To-Find Bugs!</a></li><li>WebDevSimplified: <a href="https://youtu.be/dyiVsjLTFv0?si=fTW3NevR1bDqqRph">Will I Survive These Advanced TypeScript Challenges?</a></li></ul><p><br></p><p><strong>Cool Stuff</strong></p><ul><li>Cool Watch: <a href="https://youtu.be/3PFLeteDuyQ?si=Vh65C0TpyMDB8N96">Alexander Lichter on Rolldown: How Vite bundles at the speed of Rust</a></li><li>Cool Watch: <a href="https://youtu.be/DZPSAOBnBAM?si=9gu3x5EV3HB4lH1O">Beyond Signals by Ryan Carniato</a> (Solid.js creator)</li><li>Cool Tip: Stefan <a href="https://bsky.app/profile/stefanjudis.com/post/3m3mshwfewy23">reminds us that AbortController is a thing</a></li><li>Cool Product: <a href="https://www.sunstyle.com/">SunStyle </a>solar shingles actually look nice</li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News of the week of October 13, 2025: Node 25 brings V8 perf update, Remix reinvents itself once again, TypeScript in your DB, and why Map upsertions will be celebrated by TS devs. From the community: 15 npm packages you no longer need, Deno's side projects, Snoop L. O. Double G., and how to write architecture assertions. </p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(04:50) - News: Happy National AWS Outage Day!</li>
<li>(06:00) - News: Remix Has Remixed Itself Once Again Into V3</li>
<li>(08:59) - News: TypeScript in Space! ... TimeDB</li>
<li>(12:06) - News: Node 25 Brings New V8 Updates and Network Permissions</li>
<li>(14:30) - News: Lit HTML Joins Open JS Foundation</li>
<li>(16:05) - News:  Announcing Vite+ Blog Post</li>
<li>(20:44) - News: ECMAScript Upsert Proposal and ESBuild Can Now Import Raw Bytes</li>
<li>(22:57) - Community Highlight: 15 Recent Node Features That Replace npm Packages</li>
<li>(31:07) - Community Highlight: Deno's Other Open Source Projects</li>
<li>(33:29) - Library Watch: SnoopLogg for CLI Logging Across Runtimes</li>
<li>(34:41) - Library Watch: ArchUnitTS, an Architecture Testing Library</li>
<li>(37:40) - Community Highlight: oxfmt is 2-3X Faster Than Biome and 45X Faster Than Prettier</li>
<li>(38:46) - Discussion: Got the Nx Blues? Try Moonrepo</li>
<li>(40:48) - Community Highlight: Enforcing Strict Object Properties in TypeScript</li>
<li>(42:18) - Community Highlight: Watch Web Dev Simplified Struggle Through Type Challenges</li>
<li>(43:10) - Community Highlight: TypeScript's Coding Guidelines Are Not For Us</li>
<li>(44:37) - Cool Watches: Rolldown Internals and Beyond Signals</li>
<li>(45:21) - Cool Tip: Don't Forget About AbortController</li>
<li>(46:01) - Cool Tool: SpriteFusion Tile Map Editor</li>
<li>(46:47) - Cool Product: Stylish Solar Shingles</li>
<li>(49:15) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>Happy <a href="https://www.cnn.com/business/live-news/amazon-tech-outage-10-20-25-intl">National AWS Outage Day!</a></li><li>Remix: <a href="https://www.youtube.com/watch?v=xt_iEOn2a6Y">Remix Jam 2025 (4 hours) </a>announced V3, built on Preact (<a href="https://www.youtube.com/watch?v=bRKWwjQ8re4">3min</a> and <a href="https://www.youtube.com/watch?v=TtPwgNX7eeM">20min</a> summaries, plus <a href="https://www.reddit.com/r/reactjs/comments/1o3eu80/remix_jam_2025_introducing_remix_3/">reddit discussion</a>)</li><li>SpacetimeDB 1.6 <a href="https://github.com/clockworklabs/SpacetimeDB/releases/tag/v1.6.0">adds beta support for TS modules</a></li><li>Node 25 is out (<a href="https://bsky.app/profile/rafaelgss.dev/post/3m3aqzy7hik2u">bsky summary</a> by Rafael)</li><li><a href="https://bsky.app/profile/lit.dev/post/3m35ttuws4224">Lit joins</a> Open JS Foundation</li><li>VoidZero: New blog post with details <a href="https://voidzero.dev/posts/announcing-vite-plus">around Vite+</a></li><li>ECMAScript News: <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3m36gdwckqk2x">Map Upsert proposal</a> heralded by TS devs (h/t Rob Palmer)  </li><li>ECMAScript News: <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3m37tqmq5es22">Import bytes lands in ESBuild</a> (+ Deno, Bun, and webpack) (h/t Rob Palmer)</li></ul><p><strong>From the Community</strong></p><ul><li>NodeSource: <a href="https://nodesource.com/blog/nodejs-features-replacing-npm-packages">15 Recent Node.js Features that Replace Popular npm Packages</a></li><li>Deno: <a href="https://deno.com/blog/open-source">Deno's Other Open Source Projects</a></li><li>Library Watch: <a href="https://bsky.app/profile/chrisbarber.dev/post/3m3kr5ia4s22r">SnoopLogg v6.0.4</a>, a CLI logging library</li><li>Library Watch: <a href="https://github.com/LukasNiessen/ArchUnitTS">LukasNiessen/ArchUnitTS</a>, an architecture testing library</li><li>Evan You: <a href="https://xcancel.com/youyuxi/status/1979839137323864073">oxfmt is 2-3X faster than Biome and 45X faster than Prettier</a></li><li>Reddit: <a href="https://www.reddit.com/r/typescript/comments/1o9bmvu/what_happened_to_nx/">What Happened to Nx?</a> and an alternative hidden gem, <a href="https://moonrepo.dev/moon">Moonrepo</a></li><li>TypedRocks: <a href="https://youtu.be/2hqlrFrHoEs?si=ppWi2TbaWPt6S5pz">This New TypeScript Utility Type Prevents Hard-To-Find Bugs!</a></li><li>WebDevSimplified: <a href="https://youtu.be/dyiVsjLTFv0?si=fTW3NevR1bDqqRph">Will I Survive These Advanced TypeScript Challenges?</a></li></ul><p><br></p><p><strong>Cool Stuff</strong></p><ul><li>Cool Watch: <a href="https://youtu.be/3PFLeteDuyQ?si=Vh65C0TpyMDB8N96">Alexander Lichter on Rolldown: How Vite bundles at the speed of Rust</a></li><li>Cool Watch: <a href="https://youtu.be/DZPSAOBnBAM?si=9gu3x5EV3HB4lH1O">Beyond Signals by Ryan Carniato</a> (Solid.js creator)</li><li>Cool Tip: Stefan <a href="https://bsky.app/profile/stefanjudis.com/post/3m3mshwfewy23">reminds us that AbortController is a thing</a></li><li>Cool Product: <a href="https://www.sunstyle.com/">SunStyle </a>solar shingles actually look nice</li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Tue, 21 Oct 2025 14:54:48 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/1ee81010/eb3ffd64.mp3" length="27662900" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>3453</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News of the week of October 13, 2025: Node 25 brings V8 perf update, Remix reinvents itself once again, TypeScript in your DB, and why Map upsertions will be celebrated by TS devs. From the community: 15 npm packages you no longer need, Deno's side projects, Snoop L. O. Double G., and how to write architecture assertions. </p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(04:50) - News: Happy National AWS Outage Day!</li>
<li>(06:00) - News: Remix Has Remixed Itself Once Again Into V3</li>
<li>(08:59) - News: TypeScript in Space! ... TimeDB</li>
<li>(12:06) - News: Node 25 Brings New V8 Updates and Network Permissions</li>
<li>(14:30) - News: Lit HTML Joins Open JS Foundation</li>
<li>(16:05) - News:  Announcing Vite+ Blog Post</li>
<li>(20:44) - News: ECMAScript Upsert Proposal and ESBuild Can Now Import Raw Bytes</li>
<li>(22:57) - Community Highlight: 15 Recent Node Features That Replace npm Packages</li>
<li>(31:07) - Community Highlight: Deno's Other Open Source Projects</li>
<li>(33:29) - Library Watch: SnoopLogg for CLI Logging Across Runtimes</li>
<li>(34:41) - Library Watch: ArchUnitTS, an Architecture Testing Library</li>
<li>(37:40) - Community Highlight: oxfmt is 2-3X Faster Than Biome and 45X Faster Than Prettier</li>
<li>(38:46) - Discussion: Got the Nx Blues? Try Moonrepo</li>
<li>(40:48) - Community Highlight: Enforcing Strict Object Properties in TypeScript</li>
<li>(42:18) - Community Highlight: Watch Web Dev Simplified Struggle Through Type Challenges</li>
<li>(43:10) - Community Highlight: TypeScript's Coding Guidelines Are Not For Us</li>
<li>(44:37) - Cool Watches: Rolldown Internals and Beyond Signals</li>
<li>(45:21) - Cool Tip: Don't Forget About AbortController</li>
<li>(46:01) - Cool Tool: SpriteFusion Tile Map Editor</li>
<li>(46:47) - Cool Product: Stylish Solar Shingles</li>
<li>(49:15) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>Happy <a href="https://www.cnn.com/business/live-news/amazon-tech-outage-10-20-25-intl">National AWS Outage Day!</a></li><li>Remix: <a href="https://www.youtube.com/watch?v=xt_iEOn2a6Y">Remix Jam 2025 (4 hours) </a>announced V3, built on Preact (<a href="https://www.youtube.com/watch?v=bRKWwjQ8re4">3min</a> and <a href="https://www.youtube.com/watch?v=TtPwgNX7eeM">20min</a> summaries, plus <a href="https://www.reddit.com/r/reactjs/comments/1o3eu80/remix_jam_2025_introducing_remix_3/">reddit discussion</a>)</li><li>SpacetimeDB 1.6 <a href="https://github.com/clockworklabs/SpacetimeDB/releases/tag/v1.6.0">adds beta support for TS modules</a></li><li>Node 25 is out (<a href="https://bsky.app/profile/rafaelgss.dev/post/3m3aqzy7hik2u">bsky summary</a> by Rafael)</li><li><a href="https://bsky.app/profile/lit.dev/post/3m35ttuws4224">Lit joins</a> Open JS Foundation</li><li>VoidZero: New blog post with details <a href="https://voidzero.dev/posts/announcing-vite-plus">around Vite+</a></li><li>ECMAScript News: <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3m36gdwckqk2x">Map Upsert proposal</a> heralded by TS devs (h/t Rob Palmer)  </li><li>ECMAScript News: <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3m37tqmq5es22">Import bytes lands in ESBuild</a> (+ Deno, Bun, and webpack) (h/t Rob Palmer)</li></ul><p><strong>From the Community</strong></p><ul><li>NodeSource: <a href="https://nodesource.com/blog/nodejs-features-replacing-npm-packages">15 Recent Node.js Features that Replace Popular npm Packages</a></li><li>Deno: <a href="https://deno.com/blog/open-source">Deno's Other Open Source Projects</a></li><li>Library Watch: <a href="https://bsky.app/profile/chrisbarber.dev/post/3m3kr5ia4s22r">SnoopLogg v6.0.4</a>, a CLI logging library</li><li>Library Watch: <a href="https://github.com/LukasNiessen/ArchUnitTS">LukasNiessen/ArchUnitTS</a>, an architecture testing library</li><li>Evan You: <a href="https://xcancel.com/youyuxi/status/1979839137323864073">oxfmt is 2-3X faster than Biome and 45X faster than Prettier</a></li><li>Reddit: <a href="https://www.reddit.com/r/typescript/comments/1o9bmvu/what_happened_to_nx/">What Happened to Nx?</a> and an alternative hidden gem, <a href="https://moonrepo.dev/moon">Moonrepo</a></li><li>TypedRocks: <a href="https://youtu.be/2hqlrFrHoEs?si=ppWi2TbaWPt6S5pz">This New TypeScript Utility Type Prevents Hard-To-Find Bugs!</a></li><li>WebDevSimplified: <a href="https://youtu.be/dyiVsjLTFv0?si=fTW3NevR1bDqqRph">Will I Survive These Advanced TypeScript Challenges?</a></li></ul><p><br></p><p><strong>Cool Stuff</strong></p><ul><li>Cool Watch: <a href="https://youtu.be/3PFLeteDuyQ?si=Vh65C0TpyMDB8N96">Alexander Lichter on Rolldown: How Vite bundles at the speed of Rust</a></li><li>Cool Watch: <a href="https://youtu.be/DZPSAOBnBAM?si=9gu3x5EV3HB4lH1O">Beyond Signals by Ryan Carniato</a> (Solid.js creator)</li><li>Cool Tip: Stefan <a href="https://bsky.app/profile/stefanjudis.com/post/3m3mshwfewy23">reminds us that AbortController is a thing</a></li><li>Cool Product: <a href="https://www.sunstyle.com/">SunStyle </a>solar shingles actually look nice</li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript 2D game engine for the web. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, tile maps, particles, and more.</p><ul><li><strong>Homepage and Docs:</strong> <a href="https://excaliburjs.com/">https://excaliburjs.com</a></li><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird"><strong>Make Your First Game</strong></a><strong> </strong>in 10 Minutes</li><li><strong>Join the Discord:</strong> <a href="https://discord.gg/9UemP985Uy">https://discord.gg/9UemP985Uy</a></li></ul><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/1ee81010/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>ReactConf 2025 Highlights, Bun 1.3's Security Scanner API, and Malware-as-a-Service | News | Ep 39</title>
      <itunes:episode>39</itunes:episode>
      <podcast:episode>39</podcast:episode>
      <itunes:title>ReactConf 2025 Highlights, Bun 1.3's Security Scanner API, and Malware-as-a-Service | News | Ep 39</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">a67de297-1408-4faf-97ea-7dacb68365e2</guid>
      <link>https://share.transistor.fm/s/ddce3e87</link>
      <description>
        <![CDATA[<p>News of the week of October 6, 2025: Highlights from ReactConf 2025, Bun 1.3's (delicious) security lede got buried, and how to buy lifetime access to someone's webcam for $500. From the community: CSS is cool again, Immer.js perf improvements, and why typed linting is blocked by ESLint core.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:52) - News: ReactConf 2025 Highlights</li>
<li>(15:53) - News: Bun 1.3 Highlights</li>
<li>(20:59) - News: VS 2026 Now Includes TypeScript 7 Native Preview</li>
<li>(21:33) - News: TC39 Async Context</li>
<li>(22:51) - News: TC39 Module Declarations</li>
<li>(24:40) - News: TC39 Defer Import Evaluation Moves to Stage 3</li>
<li>(25:11) - News: Vite+ Announcement</li>
<li>(27:43) - PSA: StealIt Malware Uses Node SEAs to Bypass Scanners</li>
<li>(30:26) - Community Highlight: Dr. Axel's Schools Us in CSS</li>
<li>(32:07) - Community Highlight: Why Typed Linting is Blocked by ESLint Core</li>
<li>(32:30) - Community Highlight: Immer.js Perf Improvements Landing Soon</li>
<li>(33:25) - Community Highlight: Unofficial 1Password TS Library</li>
<li>(35:02) - Community Highlight: Joke of the Week</li>
<li>(35:21) - Cool Link: Kagi, the Premium Search Engine</li>
<li>(39:19) - Cool Videos: Mojo, Simulating Smoke, and How UTF-8 Works</li>
<li>(40:54) - Cool Link: Twoslash Provides Rich Type Metadata for Docs</li>
<li>(41:51) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>ReactConf: <a href="https://react.dev/blog/2025/10/01/react-19-2">React 19.2 dropped</a></li><li>ReactConf: <a href="https://react.dev/blog/2025/10/07/react-compiler-1">React Compiler 1.0 dropped</a> (reminded Erik of <a href="https://youtu.be/Dkc2vYUEA9w?si=qnyCeeCOkiE-TPNb">this</a> old ditty)</li><li>ReactConf: <a href="https://react.dev/blog/2025/10/07/introducing-the-react-foundation">React Foundation</a></li><li><a href="https://bun.com/blog/bun-v1.3">Bun 1.3</a> </li><li>VS 2026 <a href="https://bsky.app/profile/visualstudio.com/post/3m2pwifeeyl2a">has TS 7 preview</a></li><li>TC39: <a href="https://github.com/tc39/proposal-module-declarations">Module Declarations</a> </li><li>TC39: <a href="https://github.com/tc39/proposal-defer-import-eval">Defer Import Eval</a> advances to stage 3 </li><li><a href="https://viteplus.dev/">Vite+</a> unifies enterprise JS tooling</li><li>PSA: <a href="https://thehackernews.com/2025/10/stealit-malware-abuses-nodejs-single.html">Stealit Malware Abuses Node.js Single Executable Feature via Game and VPN Installers</a></li></ul><p><strong>From the Community</strong></p><ul><li>Dr. Axel: <a href="https://2ality.com/2025/10/css-basics.html">CSS: Learn the essentials quickly</a></li><li>Josh Goldberg: <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3m2tlevk23222">Why typed linting optimization blocked by ESLint core</a> </li><li>Library Watch: <a href="https://bsky.app/profile/acemarke.dev/post/3m2xmnncgds2b">Immer.js perf improvements on the horizon</a></li><li>Blog Post: <a href="https://medium.branie.it/stopping-bad-actors-inside-1passwords-security-model-8c65c6acb9ff">Stopping Bad Actors: Inside 1Password’s Security Model</a> </li></ul><p><strong>Cool Stuff</strong></p><ul><li>Cool Product: <a href="https://kagi.com/">Kagi Search</a>, the premium search engine you pay for</li><li>Cool Video: <a href="https://youtu.be/ah9Tfebk7JA?si=FbWmnzwwQBIPpFUj">GPU Programming and Language Design with Chris Lattner</a> </li><li>Cool Video: <a href="https://youtu.be/Q78wvrQ9xsU?si=dmaYcbEjyOqOQwm8">Coding Adventure: Simulating Smoke</a></li><li>Cool Video: <a href="https://youtu.be/vpSkBV5vydg?si=IMHOT_GXSU3vWVCM">UTF-8, Explained Simply</a></li><li>Cool Library: <a href="https://github.com/twoslashes/twoslash">Twoslash</a>, generate TS metadata for interactive docs snippets</li><li>Cool Read: <a href="https://frontendmasters.com/blog/the-coyier-css-starter/">Chris Coyier’s CSS starter</a></li><li>Cool Read: <a href="https://www.wardleymaps.com/glossary/ilc">Innovate, Leverage, Commoditize (ILC model) strategic gameplay</a></li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News of the week of October 6, 2025: Highlights from ReactConf 2025, Bun 1.3's (delicious) security lede got buried, and how to buy lifetime access to someone's webcam for $500. From the community: CSS is cool again, Immer.js perf improvements, and why typed linting is blocked by ESLint core.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:52) - News: ReactConf 2025 Highlights</li>
<li>(15:53) - News: Bun 1.3 Highlights</li>
<li>(20:59) - News: VS 2026 Now Includes TypeScript 7 Native Preview</li>
<li>(21:33) - News: TC39 Async Context</li>
<li>(22:51) - News: TC39 Module Declarations</li>
<li>(24:40) - News: TC39 Defer Import Evaluation Moves to Stage 3</li>
<li>(25:11) - News: Vite+ Announcement</li>
<li>(27:43) - PSA: StealIt Malware Uses Node SEAs to Bypass Scanners</li>
<li>(30:26) - Community Highlight: Dr. Axel's Schools Us in CSS</li>
<li>(32:07) - Community Highlight: Why Typed Linting is Blocked by ESLint Core</li>
<li>(32:30) - Community Highlight: Immer.js Perf Improvements Landing Soon</li>
<li>(33:25) - Community Highlight: Unofficial 1Password TS Library</li>
<li>(35:02) - Community Highlight: Joke of the Week</li>
<li>(35:21) - Cool Link: Kagi, the Premium Search Engine</li>
<li>(39:19) - Cool Videos: Mojo, Simulating Smoke, and How UTF-8 Works</li>
<li>(40:54) - Cool Link: Twoslash Provides Rich Type Metadata for Docs</li>
<li>(41:51) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>ReactConf: <a href="https://react.dev/blog/2025/10/01/react-19-2">React 19.2 dropped</a></li><li>ReactConf: <a href="https://react.dev/blog/2025/10/07/react-compiler-1">React Compiler 1.0 dropped</a> (reminded Erik of <a href="https://youtu.be/Dkc2vYUEA9w?si=qnyCeeCOkiE-TPNb">this</a> old ditty)</li><li>ReactConf: <a href="https://react.dev/blog/2025/10/07/introducing-the-react-foundation">React Foundation</a></li><li><a href="https://bun.com/blog/bun-v1.3">Bun 1.3</a> </li><li>VS 2026 <a href="https://bsky.app/profile/visualstudio.com/post/3m2pwifeeyl2a">has TS 7 preview</a></li><li>TC39: <a href="https://github.com/tc39/proposal-module-declarations">Module Declarations</a> </li><li>TC39: <a href="https://github.com/tc39/proposal-defer-import-eval">Defer Import Eval</a> advances to stage 3 </li><li><a href="https://viteplus.dev/">Vite+</a> unifies enterprise JS tooling</li><li>PSA: <a href="https://thehackernews.com/2025/10/stealit-malware-abuses-nodejs-single.html">Stealit Malware Abuses Node.js Single Executable Feature via Game and VPN Installers</a></li></ul><p><strong>From the Community</strong></p><ul><li>Dr. Axel: <a href="https://2ality.com/2025/10/css-basics.html">CSS: Learn the essentials quickly</a></li><li>Josh Goldberg: <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3m2tlevk23222">Why typed linting optimization blocked by ESLint core</a> </li><li>Library Watch: <a href="https://bsky.app/profile/acemarke.dev/post/3m2xmnncgds2b">Immer.js perf improvements on the horizon</a></li><li>Blog Post: <a href="https://medium.branie.it/stopping-bad-actors-inside-1passwords-security-model-8c65c6acb9ff">Stopping Bad Actors: Inside 1Password’s Security Model</a> </li></ul><p><strong>Cool Stuff</strong></p><ul><li>Cool Product: <a href="https://kagi.com/">Kagi Search</a>, the premium search engine you pay for</li><li>Cool Video: <a href="https://youtu.be/ah9Tfebk7JA?si=FbWmnzwwQBIPpFUj">GPU Programming and Language Design with Chris Lattner</a> </li><li>Cool Video: <a href="https://youtu.be/Q78wvrQ9xsU?si=dmaYcbEjyOqOQwm8">Coding Adventure: Simulating Smoke</a></li><li>Cool Video: <a href="https://youtu.be/vpSkBV5vydg?si=IMHOT_GXSU3vWVCM">UTF-8, Explained Simply</a></li><li>Cool Library: <a href="https://github.com/twoslashes/twoslash">Twoslash</a>, generate TS metadata for interactive docs snippets</li><li>Cool Read: <a href="https://frontendmasters.com/blog/the-coyier-css-starter/">Chris Coyier’s CSS starter</a></li><li>Cool Read: <a href="https://www.wardleymaps.com/glossary/ilc">Innovate, Leverage, Commoditize (ILC model) strategic gameplay</a></li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </content:encoded>
      <pubDate>Tue, 14 Oct 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/ddce3e87/e4606f20.mp3" length="23279019" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2905</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News of the week of October 6, 2025: Highlights from ReactConf 2025, Bun 1.3's (delicious) security lede got buried, and how to buy lifetime access to someone's webcam for $500. From the community: CSS is cool again, Immer.js perf improvements, and why typed linting is blocked by ESLint core.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:52) - News: ReactConf 2025 Highlights</li>
<li>(15:53) - News: Bun 1.3 Highlights</li>
<li>(20:59) - News: VS 2026 Now Includes TypeScript 7 Native Preview</li>
<li>(21:33) - News: TC39 Async Context</li>
<li>(22:51) - News: TC39 Module Declarations</li>
<li>(24:40) - News: TC39 Defer Import Evaluation Moves to Stage 3</li>
<li>(25:11) - News: Vite+ Announcement</li>
<li>(27:43) - PSA: StealIt Malware Uses Node SEAs to Bypass Scanners</li>
<li>(30:26) - Community Highlight: Dr. Axel's Schools Us in CSS</li>
<li>(32:07) - Community Highlight: Why Typed Linting is Blocked by ESLint Core</li>
<li>(32:30) - Community Highlight: Immer.js Perf Improvements Landing Soon</li>
<li>(33:25) - Community Highlight: Unofficial 1Password TS Library</li>
<li>(35:02) - Community Highlight: Joke of the Week</li>
<li>(35:21) - Cool Link: Kagi, the Premium Search Engine</li>
<li>(39:19) - Cool Videos: Mojo, Simulating Smoke, and How UTF-8 Works</li>
<li>(40:54) - Cool Link: Twoslash Provides Rich Type Metadata for Docs</li>
<li>(41:51) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>ReactConf: <a href="https://react.dev/blog/2025/10/01/react-19-2">React 19.2 dropped</a></li><li>ReactConf: <a href="https://react.dev/blog/2025/10/07/react-compiler-1">React Compiler 1.0 dropped</a> (reminded Erik of <a href="https://youtu.be/Dkc2vYUEA9w?si=qnyCeeCOkiE-TPNb">this</a> old ditty)</li><li>ReactConf: <a href="https://react.dev/blog/2025/10/07/introducing-the-react-foundation">React Foundation</a></li><li><a href="https://bun.com/blog/bun-v1.3">Bun 1.3</a> </li><li>VS 2026 <a href="https://bsky.app/profile/visualstudio.com/post/3m2pwifeeyl2a">has TS 7 preview</a></li><li>TC39: <a href="https://github.com/tc39/proposal-module-declarations">Module Declarations</a> </li><li>TC39: <a href="https://github.com/tc39/proposal-defer-import-eval">Defer Import Eval</a> advances to stage 3 </li><li><a href="https://viteplus.dev/">Vite+</a> unifies enterprise JS tooling</li><li>PSA: <a href="https://thehackernews.com/2025/10/stealit-malware-abuses-nodejs-single.html">Stealit Malware Abuses Node.js Single Executable Feature via Game and VPN Installers</a></li></ul><p><strong>From the Community</strong></p><ul><li>Dr. Axel: <a href="https://2ality.com/2025/10/css-basics.html">CSS: Learn the essentials quickly</a></li><li>Josh Goldberg: <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3m2tlevk23222">Why typed linting optimization blocked by ESLint core</a> </li><li>Library Watch: <a href="https://bsky.app/profile/acemarke.dev/post/3m2xmnncgds2b">Immer.js perf improvements on the horizon</a></li><li>Blog Post: <a href="https://medium.branie.it/stopping-bad-actors-inside-1passwords-security-model-8c65c6acb9ff">Stopping Bad Actors: Inside 1Password’s Security Model</a> </li></ul><p><strong>Cool Stuff</strong></p><ul><li>Cool Product: <a href="https://kagi.com/">Kagi Search</a>, the premium search engine you pay for</li><li>Cool Video: <a href="https://youtu.be/ah9Tfebk7JA?si=FbWmnzwwQBIPpFUj">GPU Programming and Language Design with Chris Lattner</a> </li><li>Cool Video: <a href="https://youtu.be/Q78wvrQ9xsU?si=dmaYcbEjyOqOQwm8">Coding Adventure: Simulating Smoke</a></li><li>Cool Video: <a href="https://youtu.be/vpSkBV5vydg?si=IMHOT_GXSU3vWVCM">UTF-8, Explained Simply</a></li><li>Cool Library: <a href="https://github.com/twoslashes/twoslash">Twoslash</a>, generate TS metadata for interactive docs snippets</li><li>Cool Read: <a href="https://frontendmasters.com/blog/the-coyier-css-starter/">Chris Coyier’s CSS starter</a></li><li>Cool Read: <a href="https://www.wardleymaps.com/glossary/ilc">Innovate, Leverage, Commoditize (ILC model) strategic gameplay</a></li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/ddce3e87/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Deno Might be npm's Saving Throw, Temporal Dead Zones, and SSR Under .NET?! | News | Ep 38</title>
      <itunes:episode>38</itunes:episode>
      <podcast:episode>38</podcast:episode>
      <itunes:title>Deno Might be npm's Saving Throw, Temporal Dead Zones, and SSR Under .NET?! | News | Ep 38</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">5f20a43c-f309-4cc5-9e52-1680dba0a0ba</guid>
      <link>https://share.transistor.fm/s/e9fb98d1</link>
      <description>
        <![CDATA[<p>News of the week of September 29, 2025: Is Deno the answer to npm's security issues? From the community: replacing .env files with 1Password, stepping outside of TypeScript's padded room, and temporal dead zones. Plus, Kamran fell into a rabbit hole and defeated the Red Queen: SSR with .NET.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(07:39) - News: TSGo Got a Lil Bit Faster (Still)</li>
<li>(08:56) - News: How Deno Protects Against npm Exploits</li>
<li>(13:28) - News: DBOSS Adds Better JS and TS Support for Durable Workflows</li>
<li>(15:44) - News: Astro Got a New Sponsor</li>
<li>(16:49) - Community Highlight: Liran Tal on Mitigating Supply Chain Security for Node.js Local Dev</li>
<li>(21:11) - Community Highlight: Why is the TypeScript Codebase Littered with var Statements?</li>
<li>(23:36) - Community Highlight: When Type Safety Can Be Tricky</li>
<li>(27:40) - Community Highlight: Theo.gg on Life After TypeScript</li>
<li>(29:10) - Community Highlight: Kamran Got React SSR Working Under .NET!</li>
<li>(40:12) - Cool Link: En*bleep*ification by Cory Doctorow</li>
<li>(40:32) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>TSGO News: <a href="https://github.com/microsoft/typescript-go/pull/1732">PR #1732</a>: Improves source file parse time by ~10%</li><li><a href="https://deno.com/blog/deno-protects-npm-exploits">How Deno protects against npm exploits</a></li><li><a href="https://www.linkedin.com/posts/peter-kraft-dbos_really-excited-to-release-the-next-major-activity-7356350177382699010-McV_/?rcm=ACoAAAiQFpcBZzNv06asuFQAG5RpgLM2kC1zQyE">DBOS 2.0</a> adds JS support with a decoratorless API. (<a href="https://docs.dbos.dev/typescript/programming-guide">docs</a>)</li><li><a href="https://astro.build/blog/whats-new-september-2025/">What’s new in Astro - September 2025</a></li></ul><p><strong>From the Community</strong></p><ul><li>Liran Tal: <a href="https://www.nodejs-security.com/blog/mitigate-supply-chain-security-with-devcontainers-and-1password-for-nodejs-local-development">Mitigate Supply Chain Security with DevContainers and 1Password for Node.js Local Development</a></li><li>Vincent Rolf: <a href="https://vincentrolfs.dev/blog/ts-var">The Temporal Dead Zone, or why the TypeScript codebase is littered with var statements</a></li><li>Paul Schmeing: <a href="https://medium.com/@veenixdev/typescript-and-the-illusion-of-type-safety-72de07417324">TypeScript and the Illusion of Type-Safety</a></li><li>Theo: <a href="https://youtu.be/w4gqOWUw230?si=k0y2eEbDs9Axfmdu">Life after TypeScript</a></li><li>Kamran: <a href="https://github.com/kamranayub/dotnet-ssr">dotnet-ssr</a>, an (<em>experimental!</em>) .NET SSR host</li></ul><p><strong>Cool Stuff</strong></p><ul><li>Erik's LD58 Game Jam: <a href="https://ldjam.com/events/ludum-dare/58/gem-jam">Play the Gem Jam Game</a></li><li>Video: <a href="https://www.youtube.com/watch?v=_u2ia16_dEw">Kamran on rendering React Router using a .NET SSR host</a></li><li>Book: <a href="https://craphound.com/category/enshittification/">Ensh*ttification with Cory Doctorow</a> (plus, <a href="https://www.youtube.com/watch?v=P1EKQidRooc">Interview with Adam Conover</a>)</li><li>Kamran's Course: <a href="https://bit.ly/PSPomodoroIn5Mins">Staying on Task with the Pomodoro Technique</a></li><li>Kamran's Course: <a href="https://bit.ly/PSRocksPebblesAndSand">Prioritizing Work with Rocks, Pebbles, and Sand</a></li><li>Library: <a href="https://github.com/microsoft/node-api-dotnet">microsoft/node-api-dotnet</a>, advanced interoperability between .NET and JavaScript in the same process.</li><li>Library: <a href="https://github.com/agracio/edge-js">agracio/edge-js</a>, run .NET and Node.js code in-process on Windows, MacOS, and Linux</li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News of the week of September 29, 2025: Is Deno the answer to npm's security issues? From the community: replacing .env files with 1Password, stepping outside of TypeScript's padded room, and temporal dead zones. Plus, Kamran fell into a rabbit hole and defeated the Red Queen: SSR with .NET.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(07:39) - News: TSGo Got a Lil Bit Faster (Still)</li>
<li>(08:56) - News: How Deno Protects Against npm Exploits</li>
<li>(13:28) - News: DBOSS Adds Better JS and TS Support for Durable Workflows</li>
<li>(15:44) - News: Astro Got a New Sponsor</li>
<li>(16:49) - Community Highlight: Liran Tal on Mitigating Supply Chain Security for Node.js Local Dev</li>
<li>(21:11) - Community Highlight: Why is the TypeScript Codebase Littered with var Statements?</li>
<li>(23:36) - Community Highlight: When Type Safety Can Be Tricky</li>
<li>(27:40) - Community Highlight: Theo.gg on Life After TypeScript</li>
<li>(29:10) - Community Highlight: Kamran Got React SSR Working Under .NET!</li>
<li>(40:12) - Cool Link: En*bleep*ification by Cory Doctorow</li>
<li>(40:32) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>TSGO News: <a href="https://github.com/microsoft/typescript-go/pull/1732">PR #1732</a>: Improves source file parse time by ~10%</li><li><a href="https://deno.com/blog/deno-protects-npm-exploits">How Deno protects against npm exploits</a></li><li><a href="https://www.linkedin.com/posts/peter-kraft-dbos_really-excited-to-release-the-next-major-activity-7356350177382699010-McV_/?rcm=ACoAAAiQFpcBZzNv06asuFQAG5RpgLM2kC1zQyE">DBOS 2.0</a> adds JS support with a decoratorless API. (<a href="https://docs.dbos.dev/typescript/programming-guide">docs</a>)</li><li><a href="https://astro.build/blog/whats-new-september-2025/">What’s new in Astro - September 2025</a></li></ul><p><strong>From the Community</strong></p><ul><li>Liran Tal: <a href="https://www.nodejs-security.com/blog/mitigate-supply-chain-security-with-devcontainers-and-1password-for-nodejs-local-development">Mitigate Supply Chain Security with DevContainers and 1Password for Node.js Local Development</a></li><li>Vincent Rolf: <a href="https://vincentrolfs.dev/blog/ts-var">The Temporal Dead Zone, or why the TypeScript codebase is littered with var statements</a></li><li>Paul Schmeing: <a href="https://medium.com/@veenixdev/typescript-and-the-illusion-of-type-safety-72de07417324">TypeScript and the Illusion of Type-Safety</a></li><li>Theo: <a href="https://youtu.be/w4gqOWUw230?si=k0y2eEbDs9Axfmdu">Life after TypeScript</a></li><li>Kamran: <a href="https://github.com/kamranayub/dotnet-ssr">dotnet-ssr</a>, an (<em>experimental!</em>) .NET SSR host</li></ul><p><strong>Cool Stuff</strong></p><ul><li>Erik's LD58 Game Jam: <a href="https://ldjam.com/events/ludum-dare/58/gem-jam">Play the Gem Jam Game</a></li><li>Video: <a href="https://www.youtube.com/watch?v=_u2ia16_dEw">Kamran on rendering React Router using a .NET SSR host</a></li><li>Book: <a href="https://craphound.com/category/enshittification/">Ensh*ttification with Cory Doctorow</a> (plus, <a href="https://www.youtube.com/watch?v=P1EKQidRooc">Interview with Adam Conover</a>)</li><li>Kamran's Course: <a href="https://bit.ly/PSPomodoroIn5Mins">Staying on Task with the Pomodoro Technique</a></li><li>Kamran's Course: <a href="https://bit.ly/PSRocksPebblesAndSand">Prioritizing Work with Rocks, Pebbles, and Sand</a></li><li>Library: <a href="https://github.com/microsoft/node-api-dotnet">microsoft/node-api-dotnet</a>, advanced interoperability between .NET and JavaScript in the same process.</li><li>Library: <a href="https://github.com/agracio/edge-js">agracio/edge-js</a>, run .NET and Node.js code in-process on Windows, MacOS, and Linux</li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Thu, 09 Oct 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/e9fb98d1/136c5a83.mp3" length="22998986" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2870</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News of the week of September 29, 2025: Is Deno the answer to npm's security issues? From the community: replacing .env files with 1Password, stepping outside of TypeScript's padded room, and temporal dead zones. Plus, Kamran fell into a rabbit hole and defeated the Red Queen: SSR with .NET.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(07:39) - News: TSGo Got a Lil Bit Faster (Still)</li>
<li>(08:56) - News: How Deno Protects Against npm Exploits</li>
<li>(13:28) - News: DBOSS Adds Better JS and TS Support for Durable Workflows</li>
<li>(15:44) - News: Astro Got a New Sponsor</li>
<li>(16:49) - Community Highlight: Liran Tal on Mitigating Supply Chain Security for Node.js Local Dev</li>
<li>(21:11) - Community Highlight: Why is the TypeScript Codebase Littered with var Statements?</li>
<li>(23:36) - Community Highlight: When Type Safety Can Be Tricky</li>
<li>(27:40) - Community Highlight: Theo.gg on Life After TypeScript</li>
<li>(29:10) - Community Highlight: Kamran Got React SSR Working Under .NET!</li>
<li>(40:12) - Cool Link: En*bleep*ification by Cory Doctorow</li>
<li>(40:32) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>TSGO News: <a href="https://github.com/microsoft/typescript-go/pull/1732">PR #1732</a>: Improves source file parse time by ~10%</li><li><a href="https://deno.com/blog/deno-protects-npm-exploits">How Deno protects against npm exploits</a></li><li><a href="https://www.linkedin.com/posts/peter-kraft-dbos_really-excited-to-release-the-next-major-activity-7356350177382699010-McV_/?rcm=ACoAAAiQFpcBZzNv06asuFQAG5RpgLM2kC1zQyE">DBOS 2.0</a> adds JS support with a decoratorless API. (<a href="https://docs.dbos.dev/typescript/programming-guide">docs</a>)</li><li><a href="https://astro.build/blog/whats-new-september-2025/">What’s new in Astro - September 2025</a></li></ul><p><strong>From the Community</strong></p><ul><li>Liran Tal: <a href="https://www.nodejs-security.com/blog/mitigate-supply-chain-security-with-devcontainers-and-1password-for-nodejs-local-development">Mitigate Supply Chain Security with DevContainers and 1Password for Node.js Local Development</a></li><li>Vincent Rolf: <a href="https://vincentrolfs.dev/blog/ts-var">The Temporal Dead Zone, or why the TypeScript codebase is littered with var statements</a></li><li>Paul Schmeing: <a href="https://medium.com/@veenixdev/typescript-and-the-illusion-of-type-safety-72de07417324">TypeScript and the Illusion of Type-Safety</a></li><li>Theo: <a href="https://youtu.be/w4gqOWUw230?si=k0y2eEbDs9Axfmdu">Life after TypeScript</a></li><li>Kamran: <a href="https://github.com/kamranayub/dotnet-ssr">dotnet-ssr</a>, an (<em>experimental!</em>) .NET SSR host</li></ul><p><strong>Cool Stuff</strong></p><ul><li>Erik's LD58 Game Jam: <a href="https://ldjam.com/events/ludum-dare/58/gem-jam">Play the Gem Jam Game</a></li><li>Video: <a href="https://www.youtube.com/watch?v=_u2ia16_dEw">Kamran on rendering React Router using a .NET SSR host</a></li><li>Book: <a href="https://craphound.com/category/enshittification/">Ensh*ttification with Cory Doctorow</a> (plus, <a href="https://www.youtube.com/watch?v=P1EKQidRooc">Interview with Adam Conover</a>)</li><li>Kamran's Course: <a href="https://bit.ly/PSPomodoroIn5Mins">Staying on Task with the Pomodoro Technique</a></li><li>Kamran's Course: <a href="https://bit.ly/PSRocksPebblesAndSand">Prioritizing Work with Rocks, Pebbles, and Sand</a></li><li>Library: <a href="https://github.com/microsoft/node-api-dotnet">microsoft/node-api-dotnet</a>, advanced interoperability between .NET and JavaScript in the same process.</li><li>Library: <a href="https://github.com/agracio/edge-js">agracio/edge-js</a>, run .NET and Node.js code in-process on Windows, MacOS, and Linux</li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/e9fb98d1/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>New ECMAScript Proposals, Cap'n Web, and TS on DOS/PlayStation | News | Ep 37</title>
      <itunes:episode>37</itunes:episode>
      <podcast:episode>37</podcast:episode>
      <itunes:title>New ECMAScript Proposals, Cap'n Web, and TS on DOS/PlayStation | News | Ep 37</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">e3167008-60ca-4402-9a1f-567dd674e441</guid>
      <link>https://share.transistor.fm/s/db6f3035</link>
      <description>
        <![CDATA[<p>News of the week of September 22, 2025: new default option in TS 6.0, Jiti upgrade, and Cloudflare's on a tear. Plus, npm's security roadmap. From the community: Python-style kwargs, running TS on MS-DOS, and running JS on PlayStation.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(07:42) - News: Take the State of JS Survey 2025</li>
<li>(08:25) - News: TS 6.0 Will Enable noUncheckedSideEffectImports by Default</li>
<li>(09:09) - News: Jiti 2.6 is Faster Thanks to RSPack</li>
<li>(11:14) - News: ECMAScript Proposal for Non-extensibility Applying to Private Fields</li>
<li>(13:06) - News: ECMAScript Proposal for Array.prototype.pushAll</li>
<li>(15:00) - News: ECMAScript Proposal for Iterator Chunking</li>
<li>(16:04) - News: Introducing Cap'n Web, a New RPC System for the Web</li>
<li>(20:20) - News: Code Mode, Generating TypeScript Clients for MCP Servers</li>
<li>(25:57) - News: Cloudflare Workers Have Improved Node Compatibility</li>
<li>(28:24) - News: GitHub's Plan for a Secure NPM Supply Chain</li>
<li>(33:22) - News: Astro 5.14 Adds Svelte Async Rendering and React 19 Actions</li>
<li>(34:05) - Community Highlights: Scrimba's Free TS Course</li>
<li>(34:28) - Community Highlight: Python-style kwargs in TypeScript</li>
<li>(37:24) - Community Highlight: Porting TypeScript to Run on DOS</li>
<li>(39:44) - Community Highlight: Running JavaScript on PlayStation</li>
<li>(41:28) - Community Highlight: Is effect-ts Really Good, Or is it Just Hype?</li>
<li>(44:19) - Cool Links: Tiny Helpers</li>
<li>(45:17) - Cool Read: Itch Game Shout-outs</li>
<li>(45:58) - Cool Tool: Autogenerate HTTPS Domains for Vite Dev Servers</li>
<li>(47:23) - Cool Link: Find Out If You Have Unclaimed Money or Property</li>
<li>(49:31) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>PSA: <a href="https://survey.devographics.com/en-US/survey/state-of-js/2025">State of JavaScript 2025</a></li><li>TS 6.0 will enable "noUncheckedSideEffectImports" by default 🎉 (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lzh7p4oq722e">Rob Palmer</a>)</li><li><a href="https://bsky.app/profile/pi0.io/post/3lzghdqbygc2u">Jiti 2.6</a> – runtime for TS/ESM in <a href="http://node.js">Node.js</a> is now using SWC/RSPack</li><li><a href="https://github.com/tc39/proposal-nonextensible-applies-to-private">tc39/proposal-nonextensible-applies-to-private</a> (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lzhbysazjc2e">Rob Palmer</a>)<ul><li>“This breaking change means that if you seal/freeze an object, it cannot later have private fields stamped upon it ❄️”</li></ul></li><li><a href="https://github.com/DanielRosenwasser/proposal-array-push-all/">DanielRosenwasser/proposal-array-push-all</a> (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lzhbgshjck2e">Rob Palmer</a>)<ul><li>“It lets you append many items into an existing array without running out of stack memory 👍”</li></ul></li><li><a href="https://github.com/tc39/proposal-iterator-chunking/">tc39/proposal-iterator-chunking</a> (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lzhaxdvycs2e">Rob Palmer</a>)<ul><li>“It lets you make iterators that can chunk &amp; window content”</li></ul></li><li>Cloudflare: <a href="https://blog.cloudflare.com/capnweb-javascript-rpc-library/">Cap'n Web: a new RPC system for browsers and web servers</a></li><li>Cloudflare: <a href="https://blog.cloudflare.com/code-mode/">Code Mode: the better way to use MCP</a></li><li>Cloudflare: <a href="https://blog.cloudflare.com/nodejs-workers-2025/">A year of improving Node.js compatibility in Cloudflare Workers</a> (h/t <a href="https://bsky.app/profile/jasnell.me/post/3lznzoik4ms2m">James Snell</a>)</li><li>GitHub: <a href="https://github.blog/security/supply-chain-security/our-plan-for-a-more-secure-npm-supply-chain/">Our plan for a more secure npm supply chain</a></li><li>Metaframeworks: <a href="https://astro.build/blog/astro-5140/">Astro 5.14</a></li></ul><p><strong>From the Community</strong></p><ul><li>Course: <a href="https://scrimba.com/learn-typescript-c03c">Free TypeScript tutorial</a> (Scrimba) </li><li><a href="https://bsky.app/profile/xavd.id">David Brownman</a>: <a href="https://xavd.id/blog/post/python-kwargs-in-typescript/">Python-style kwargs in TypeScript</a></li><li>Jimbly: <a href="https://jimb.ly/2025/09/23/qauntumpulse-from-steam-to-floppy/">From Steam to Floppy: Porting Modern TypeScript to Run on DOS</a></li><li>JSLegendWeb: <a href="https://youtu.be/QN8JmOpc9cE?si=uHu5BF6lHezwmnD6">You Can Now Make PS2 Games in JavaScript</a> </li><li>Discussion: <a href="https://www.reddit.com/r/typescript/comments/1ns6vma/is_effectts_really_good_or_is_it_just_hype/">Is Effect-Ts really good or is it just hype? : r/typescript</a></li></ul><p><br></p><p><strong>Cool Stuff</strong></p><ul><li>Cool Tools: <a href="https://tiny-helpers.dev/">https://tiny-helpers.dev/</a> (by <a href="https://bsky.app/profile/stefanjudis.com/post/3lzge3wq7xk2t">Stefan Judis</a>) </li><li>Cool Games: <a href="https://itch.io/c/25218/minnesota-made-twin-cities-represent">Minnesota-made games</a> (by Martin Grider)</li><li>Cool Game: <a href="https://andre-lima.itch.io/now-thats-a-big-dragon">https://andre-lima.itch.io/now-thats-a-big-dragon</a> </li><li>Cool Game: <a href="https://mookie4242.itch.io/escape-the-well">https://mookie4242.itch.io/escape-the-well</a> </li><li>Cool Tools: <a href="https://caddyserver.com/">Caddy</a> and <a href="https://www.npmjs.com/package/vite-plugin-domain">Vite plugin</a> (h/t <a href="https://bsky.app/profile/nuqayah.bsky.social/post/3lzyfb7y6322l">nuqayah</a>)</li><li>PSA: <a href="https://mn.gov/commerce/money/unclaimed-property/">Find Missing Money &amp; Unclaimed Property</a> (mn.gov / Go find your state)</li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News of the week of September 22, 2025: new default option in TS 6.0, Jiti upgrade, and Cloudflare's on a tear. Plus, npm's security roadmap. From the community: Python-style kwargs, running TS on MS-DOS, and running JS on PlayStation.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(07:42) - News: Take the State of JS Survey 2025</li>
<li>(08:25) - News: TS 6.0 Will Enable noUncheckedSideEffectImports by Default</li>
<li>(09:09) - News: Jiti 2.6 is Faster Thanks to RSPack</li>
<li>(11:14) - News: ECMAScript Proposal for Non-extensibility Applying to Private Fields</li>
<li>(13:06) - News: ECMAScript Proposal for Array.prototype.pushAll</li>
<li>(15:00) - News: ECMAScript Proposal for Iterator Chunking</li>
<li>(16:04) - News: Introducing Cap'n Web, a New RPC System for the Web</li>
<li>(20:20) - News: Code Mode, Generating TypeScript Clients for MCP Servers</li>
<li>(25:57) - News: Cloudflare Workers Have Improved Node Compatibility</li>
<li>(28:24) - News: GitHub's Plan for a Secure NPM Supply Chain</li>
<li>(33:22) - News: Astro 5.14 Adds Svelte Async Rendering and React 19 Actions</li>
<li>(34:05) - Community Highlights: Scrimba's Free TS Course</li>
<li>(34:28) - Community Highlight: Python-style kwargs in TypeScript</li>
<li>(37:24) - Community Highlight: Porting TypeScript to Run on DOS</li>
<li>(39:44) - Community Highlight: Running JavaScript on PlayStation</li>
<li>(41:28) - Community Highlight: Is effect-ts Really Good, Or is it Just Hype?</li>
<li>(44:19) - Cool Links: Tiny Helpers</li>
<li>(45:17) - Cool Read: Itch Game Shout-outs</li>
<li>(45:58) - Cool Tool: Autogenerate HTTPS Domains for Vite Dev Servers</li>
<li>(47:23) - Cool Link: Find Out If You Have Unclaimed Money or Property</li>
<li>(49:31) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>PSA: <a href="https://survey.devographics.com/en-US/survey/state-of-js/2025">State of JavaScript 2025</a></li><li>TS 6.0 will enable "noUncheckedSideEffectImports" by default 🎉 (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lzh7p4oq722e">Rob Palmer</a>)</li><li><a href="https://bsky.app/profile/pi0.io/post/3lzghdqbygc2u">Jiti 2.6</a> – runtime for TS/ESM in <a href="http://node.js">Node.js</a> is now using SWC/RSPack</li><li><a href="https://github.com/tc39/proposal-nonextensible-applies-to-private">tc39/proposal-nonextensible-applies-to-private</a> (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lzhbysazjc2e">Rob Palmer</a>)<ul><li>“This breaking change means that if you seal/freeze an object, it cannot later have private fields stamped upon it ❄️”</li></ul></li><li><a href="https://github.com/DanielRosenwasser/proposal-array-push-all/">DanielRosenwasser/proposal-array-push-all</a> (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lzhbgshjck2e">Rob Palmer</a>)<ul><li>“It lets you append many items into an existing array without running out of stack memory 👍”</li></ul></li><li><a href="https://github.com/tc39/proposal-iterator-chunking/">tc39/proposal-iterator-chunking</a> (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lzhaxdvycs2e">Rob Palmer</a>)<ul><li>“It lets you make iterators that can chunk &amp; window content”</li></ul></li><li>Cloudflare: <a href="https://blog.cloudflare.com/capnweb-javascript-rpc-library/">Cap'n Web: a new RPC system for browsers and web servers</a></li><li>Cloudflare: <a href="https://blog.cloudflare.com/code-mode/">Code Mode: the better way to use MCP</a></li><li>Cloudflare: <a href="https://blog.cloudflare.com/nodejs-workers-2025/">A year of improving Node.js compatibility in Cloudflare Workers</a> (h/t <a href="https://bsky.app/profile/jasnell.me/post/3lznzoik4ms2m">James Snell</a>)</li><li>GitHub: <a href="https://github.blog/security/supply-chain-security/our-plan-for-a-more-secure-npm-supply-chain/">Our plan for a more secure npm supply chain</a></li><li>Metaframeworks: <a href="https://astro.build/blog/astro-5140/">Astro 5.14</a></li></ul><p><strong>From the Community</strong></p><ul><li>Course: <a href="https://scrimba.com/learn-typescript-c03c">Free TypeScript tutorial</a> (Scrimba) </li><li><a href="https://bsky.app/profile/xavd.id">David Brownman</a>: <a href="https://xavd.id/blog/post/python-kwargs-in-typescript/">Python-style kwargs in TypeScript</a></li><li>Jimbly: <a href="https://jimb.ly/2025/09/23/qauntumpulse-from-steam-to-floppy/">From Steam to Floppy: Porting Modern TypeScript to Run on DOS</a></li><li>JSLegendWeb: <a href="https://youtu.be/QN8JmOpc9cE?si=uHu5BF6lHezwmnD6">You Can Now Make PS2 Games in JavaScript</a> </li><li>Discussion: <a href="https://www.reddit.com/r/typescript/comments/1ns6vma/is_effectts_really_good_or_is_it_just_hype/">Is Effect-Ts really good or is it just hype? : r/typescript</a></li></ul><p><br></p><p><strong>Cool Stuff</strong></p><ul><li>Cool Tools: <a href="https://tiny-helpers.dev/">https://tiny-helpers.dev/</a> (by <a href="https://bsky.app/profile/stefanjudis.com/post/3lzge3wq7xk2t">Stefan Judis</a>) </li><li>Cool Games: <a href="https://itch.io/c/25218/minnesota-made-twin-cities-represent">Minnesota-made games</a> (by Martin Grider)</li><li>Cool Game: <a href="https://andre-lima.itch.io/now-thats-a-big-dragon">https://andre-lima.itch.io/now-thats-a-big-dragon</a> </li><li>Cool Game: <a href="https://mookie4242.itch.io/escape-the-well">https://mookie4242.itch.io/escape-the-well</a> </li><li>Cool Tools: <a href="https://caddyserver.com/">Caddy</a> and <a href="https://www.npmjs.com/package/vite-plugin-domain">Vite plugin</a> (h/t <a href="https://bsky.app/profile/nuqayah.bsky.social/post/3lzyfb7y6322l">nuqayah</a>)</li><li>PSA: <a href="https://mn.gov/commerce/money/unclaimed-property/">Find Missing Money &amp; Unclaimed Property</a> (mn.gov / Go find your state)</li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </content:encoded>
      <pubDate>Tue, 30 Sep 2025 16:18:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/db6f3035/9d84d530.mp3" length="28417887" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>3547</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News of the week of September 22, 2025: new default option in TS 6.0, Jiti upgrade, and Cloudflare's on a tear. Plus, npm's security roadmap. From the community: Python-style kwargs, running TS on MS-DOS, and running JS on PlayStation.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(07:42) - News: Take the State of JS Survey 2025</li>
<li>(08:25) - News: TS 6.0 Will Enable noUncheckedSideEffectImports by Default</li>
<li>(09:09) - News: Jiti 2.6 is Faster Thanks to RSPack</li>
<li>(11:14) - News: ECMAScript Proposal for Non-extensibility Applying to Private Fields</li>
<li>(13:06) - News: ECMAScript Proposal for Array.prototype.pushAll</li>
<li>(15:00) - News: ECMAScript Proposal for Iterator Chunking</li>
<li>(16:04) - News: Introducing Cap'n Web, a New RPC System for the Web</li>
<li>(20:20) - News: Code Mode, Generating TypeScript Clients for MCP Servers</li>
<li>(25:57) - News: Cloudflare Workers Have Improved Node Compatibility</li>
<li>(28:24) - News: GitHub's Plan for a Secure NPM Supply Chain</li>
<li>(33:22) - News: Astro 5.14 Adds Svelte Async Rendering and React 19 Actions</li>
<li>(34:05) - Community Highlights: Scrimba's Free TS Course</li>
<li>(34:28) - Community Highlight: Python-style kwargs in TypeScript</li>
<li>(37:24) - Community Highlight: Porting TypeScript to Run on DOS</li>
<li>(39:44) - Community Highlight: Running JavaScript on PlayStation</li>
<li>(41:28) - Community Highlight: Is effect-ts Really Good, Or is it Just Hype?</li>
<li>(44:19) - Cool Links: Tiny Helpers</li>
<li>(45:17) - Cool Read: Itch Game Shout-outs</li>
<li>(45:58) - Cool Tool: Autogenerate HTTPS Domains for Vite Dev Servers</li>
<li>(47:23) - Cool Link: Find Out If You Have Unclaimed Money or Property</li>
<li>(49:31) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>PSA: <a href="https://survey.devographics.com/en-US/survey/state-of-js/2025">State of JavaScript 2025</a></li><li>TS 6.0 will enable "noUncheckedSideEffectImports" by default 🎉 (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lzh7p4oq722e">Rob Palmer</a>)</li><li><a href="https://bsky.app/profile/pi0.io/post/3lzghdqbygc2u">Jiti 2.6</a> – runtime for TS/ESM in <a href="http://node.js">Node.js</a> is now using SWC/RSPack</li><li><a href="https://github.com/tc39/proposal-nonextensible-applies-to-private">tc39/proposal-nonextensible-applies-to-private</a> (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lzhbysazjc2e">Rob Palmer</a>)<ul><li>“This breaking change means that if you seal/freeze an object, it cannot later have private fields stamped upon it ❄️”</li></ul></li><li><a href="https://github.com/DanielRosenwasser/proposal-array-push-all/">DanielRosenwasser/proposal-array-push-all</a> (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lzhbgshjck2e">Rob Palmer</a>)<ul><li>“It lets you append many items into an existing array without running out of stack memory 👍”</li></ul></li><li><a href="https://github.com/tc39/proposal-iterator-chunking/">tc39/proposal-iterator-chunking</a> (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lzhaxdvycs2e">Rob Palmer</a>)<ul><li>“It lets you make iterators that can chunk &amp; window content”</li></ul></li><li>Cloudflare: <a href="https://blog.cloudflare.com/capnweb-javascript-rpc-library/">Cap'n Web: a new RPC system for browsers and web servers</a></li><li>Cloudflare: <a href="https://blog.cloudflare.com/code-mode/">Code Mode: the better way to use MCP</a></li><li>Cloudflare: <a href="https://blog.cloudflare.com/nodejs-workers-2025/">A year of improving Node.js compatibility in Cloudflare Workers</a> (h/t <a href="https://bsky.app/profile/jasnell.me/post/3lznzoik4ms2m">James Snell</a>)</li><li>GitHub: <a href="https://github.blog/security/supply-chain-security/our-plan-for-a-more-secure-npm-supply-chain/">Our plan for a more secure npm supply chain</a></li><li>Metaframeworks: <a href="https://astro.build/blog/astro-5140/">Astro 5.14</a></li></ul><p><strong>From the Community</strong></p><ul><li>Course: <a href="https://scrimba.com/learn-typescript-c03c">Free TypeScript tutorial</a> (Scrimba) </li><li><a href="https://bsky.app/profile/xavd.id">David Brownman</a>: <a href="https://xavd.id/blog/post/python-kwargs-in-typescript/">Python-style kwargs in TypeScript</a></li><li>Jimbly: <a href="https://jimb.ly/2025/09/23/qauntumpulse-from-steam-to-floppy/">From Steam to Floppy: Porting Modern TypeScript to Run on DOS</a></li><li>JSLegendWeb: <a href="https://youtu.be/QN8JmOpc9cE?si=uHu5BF6lHezwmnD6">You Can Now Make PS2 Games in JavaScript</a> </li><li>Discussion: <a href="https://www.reddit.com/r/typescript/comments/1ns6vma/is_effectts_really_good_or_is_it_just_hype/">Is Effect-Ts really good or is it just hype? : r/typescript</a></li></ul><p><br></p><p><strong>Cool Stuff</strong></p><ul><li>Cool Tools: <a href="https://tiny-helpers.dev/">https://tiny-helpers.dev/</a> (by <a href="https://bsky.app/profile/stefanjudis.com/post/3lzge3wq7xk2t">Stefan Judis</a>) </li><li>Cool Games: <a href="https://itch.io/c/25218/minnesota-made-twin-cities-represent">Minnesota-made games</a> (by Martin Grider)</li><li>Cool Game: <a href="https://andre-lima.itch.io/now-thats-a-big-dragon">https://andre-lima.itch.io/now-thats-a-big-dragon</a> </li><li>Cool Game: <a href="https://mookie4242.itch.io/escape-the-well">https://mookie4242.itch.io/escape-the-well</a> </li><li>Cool Tools: <a href="https://caddyserver.com/">Caddy</a> and <a href="https://www.npmjs.com/package/vite-plugin-domain">Vite plugin</a> (h/t <a href="https://bsky.app/profile/nuqayah.bsky.social/post/3lzyfb7y6322l">nuqayah</a>)</li><li>PSA: <a href="https://mn.gov/commerce/money/unclaimed-property/">Find Missing Money &amp; Unclaimed Property</a> (mn.gov / Go find your state)</li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/db6f3035/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Let the Spicy Takes Flow: Shai-Hulud Hits npm, Motion's TS Exodus | News | Ep 36</title>
      <itunes:episode>36</itunes:episode>
      <podcast:episode>36</podcast:episode>
      <itunes:title>Let the Spicy Takes Flow: Shai-Hulud Hits npm, Motion's TS Exodus | News | Ep 36</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">108a4051-b1cf-4c02-8144-b7454f39d699</guid>
      <link>https://share.transistor.fm/s/47197c83</link>
      <description>
        <![CDATA[<p>News of the week of September 15, 2025: Shai-Hulud worm hits npm supply chain, WebAssembly 3 spec is ratified, and Elixir fans finally get their time in the spotlight. From the community: SquiggleConf was awesome, type branding and tuples, local-first app dev, and why @ts-ignore is almost always the worst option.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(04:36) - News: Shai-Hulud Worm Attacks Over 500 npm Packages</li>
<li>(12:31) - News: WebAssembly 3 Spec is Done</li>
<li>(14:05) - News: Ash Framework Announces AshTypeScript</li>
<li>(15:08) - News: ts-to-zod Now Supports Zod 4</li>
<li>(15:36) - News: Typebox 1.0 Release</li>
<li>(17:26) - Community Highlight: SquiggleConf 2025 Happened!</li>
<li>(20:51) - Community Highlight: Type Branding in TypeScript by AzraelSec</li>
<li>(21:35) - Community Highlight: TypeScript Tuple Length Hacks</li>
<li>(22:24) - Community Highlight: TypeScript Developer Roadmap</li>
<li>(23:15) - Community Highlight: GitHub Actions Can Now Run Pure TypeScript</li>
<li>(23:59) - Community Highlight: Why @ts-ignore is Almost Always the Worst Option</li>
<li>(24:55) - Community Highlight: Using Node's Test Runner with TS and React</li>
<li>(26:05) - Library Watch: Combinatorial CLI Options Parsing</li>
<li>(27:53) - Library Watch: Valibot Helper Utilities</li>
<li>(29:03) - Tool Watch: Local-first Development with FullStacked</li>
<li>(31:15) - Tool Watch: Retro 3D Engine with TS Scripting API</li>
<li>(32:09) - Discuss: Moving Off of TypeScript by Motion</li>
<li>(41:34) - Funny Read: Is Your Son a Computer Hacker?</li>
<li>(43:03) - Cool Library: Render a DOM Element as an Image</li>
<li>(45:04) - Cool Tool: Pages CMS Runs on Top of Your Git Repo</li>
<li>(47:08) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>Socket.dev covers Shai-Hulud: <ul><li><a href="https://socket.dev/blog/ongoing-supply-chain-attack-targets-crowdstrike-npm-packages">Updated and Ongoing Supply Chain Attack Targets CrowdStrike npm Packages</a> </li><li><a href="https://socket.dev/blog/tinycolor-supply-chain-attack-affects-40-packages">Popular Tinycolor npm Package Compromised in Supply Chain Attack</a> </li><li><a href="https://youtu.be/7ND23NBdzM4?si=pnl6WDzh5jJdVD-6">What the npm package attacks mean for us developers</a></li></ul></li><li><a href="https://webassembly.org/news/2025-09-17-wasm-3.0/">Wasm 3.0 spec completed</a></li><li><a href="https://open.substack.com/pub/ashweekly/p/ash-weekly-issue-24">Announcing AshTypeScript, part of the Ash Framework</a> (Phoenix/Elixir)</li><li><a href="https://github.com/fabien0102/ts-to-zod">ts-to-zod</a> now supports Zod 4.0</li><li><a href="https://github.com/sinclairzx81/typebox">Typebox 1.0 release</a></li></ul><p><strong>From the Community</strong></p><ul><li>SquiggleConf Happened! Check out the streams (separate videos to come)<ul><li>Day 1: <a href="https://www.youtube.com/live/C_ePbVZqXrw?si=MpRiE8n4xLNpfbV0">https://www.youtube.com/live/C_ePbVZqXrw?si=MpRiE8n4xLNpfbV0</a></li><li>Day 2: <a href="https://www.youtube.com/live/vSXLDvvIpYE?si=cWKQTjZCx91HWJN9">https://www.youtube.com/live/vSXLDvvIpYE?si=cWKQTjZCx91HWJN9</a></li></ul></li><li>Federico (AzraelSec): <a href="https://azraelsec.sh/2025/09/06/Typescript-Branding/">Type Branding in Typescript</a> </li><li>Renato: <a href="https://rena.to/blog/17-typescript-tuple-length">TypeScript Tuple Length</a> </li><li>Evan Hahn: <a href="https://evanhahn.com/ts-ignore-is-almost-always-the-worst-option/">@ts-ignore is almost always the worst option</a></li><li>Roadmap.sh: <a href="https://roadmap.sh/typescript">Everything You Need to Learn to be a TS Dev</a></li><li><a href="https://bsky.app/profile/brianmuenzenmeyer.com/post/3lz34wnsq722n">GitHub Actions can now run pure TS on Node 22/24 runners without a build step</a> (h/t Brian Muenzenmeyer)</li><li>Mathew Brown: <a href="https://bsky.app/profile/frontenddogma.com/post/3lzecvptxps2o">Using Node's Test Runner with Typescript &amp; React</a> </li><li>Library Watch: <a href="https://bsky.app/profile/mary.my.id/post/3lyxjjs27jkqg">Combinatorial CLI opt parsing</a></li><li>Library Watch: <a href="https://dev.to/ahrjarrett/introducing-traversablevalibot-j3d">Introducing: @traversable/valibot</a> (h/t Andrew Jarret)</li><li>Tool watch: <a href="https://docs.fullstacked.org/">FullStacked</a>, a local-first app development environment</li><li>Tool watch: <a href="https://github.com/Roguestrad/Roguestrad">Roguestrad</a>, a Retro 3D Game engine forked from DOOM-3-BFG with TypeScript scripting support</li></ul><p><br></p><p><strong>Cool Stuff</strong></p><ul><li>Funny Read: <a href="https://bsky.app/profile/jakebailey.dev/post/3lzestz6zbs26">Is your son a computer hacker?</a></li><li>Cool Lib: <a href="https://www.npmjs.com/package/dom-to-image-more">dom-to-image-more</a> – render DOM elements as images</li><li>Cool Tool:  <a href="https://pagescms.org/">Pages CMS</a> - Hassle-free CMS for static sites powered by Git </li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News of the week of September 15, 2025: Shai-Hulud worm hits npm supply chain, WebAssembly 3 spec is ratified, and Elixir fans finally get their time in the spotlight. From the community: SquiggleConf was awesome, type branding and tuples, local-first app dev, and why @ts-ignore is almost always the worst option.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(04:36) - News: Shai-Hulud Worm Attacks Over 500 npm Packages</li>
<li>(12:31) - News: WebAssembly 3 Spec is Done</li>
<li>(14:05) - News: Ash Framework Announces AshTypeScript</li>
<li>(15:08) - News: ts-to-zod Now Supports Zod 4</li>
<li>(15:36) - News: Typebox 1.0 Release</li>
<li>(17:26) - Community Highlight: SquiggleConf 2025 Happened!</li>
<li>(20:51) - Community Highlight: Type Branding in TypeScript by AzraelSec</li>
<li>(21:35) - Community Highlight: TypeScript Tuple Length Hacks</li>
<li>(22:24) - Community Highlight: TypeScript Developer Roadmap</li>
<li>(23:15) - Community Highlight: GitHub Actions Can Now Run Pure TypeScript</li>
<li>(23:59) - Community Highlight: Why @ts-ignore is Almost Always the Worst Option</li>
<li>(24:55) - Community Highlight: Using Node's Test Runner with TS and React</li>
<li>(26:05) - Library Watch: Combinatorial CLI Options Parsing</li>
<li>(27:53) - Library Watch: Valibot Helper Utilities</li>
<li>(29:03) - Tool Watch: Local-first Development with FullStacked</li>
<li>(31:15) - Tool Watch: Retro 3D Engine with TS Scripting API</li>
<li>(32:09) - Discuss: Moving Off of TypeScript by Motion</li>
<li>(41:34) - Funny Read: Is Your Son a Computer Hacker?</li>
<li>(43:03) - Cool Library: Render a DOM Element as an Image</li>
<li>(45:04) - Cool Tool: Pages CMS Runs on Top of Your Git Repo</li>
<li>(47:08) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>Socket.dev covers Shai-Hulud: <ul><li><a href="https://socket.dev/blog/ongoing-supply-chain-attack-targets-crowdstrike-npm-packages">Updated and Ongoing Supply Chain Attack Targets CrowdStrike npm Packages</a> </li><li><a href="https://socket.dev/blog/tinycolor-supply-chain-attack-affects-40-packages">Popular Tinycolor npm Package Compromised in Supply Chain Attack</a> </li><li><a href="https://youtu.be/7ND23NBdzM4?si=pnl6WDzh5jJdVD-6">What the npm package attacks mean for us developers</a></li></ul></li><li><a href="https://webassembly.org/news/2025-09-17-wasm-3.0/">Wasm 3.0 spec completed</a></li><li><a href="https://open.substack.com/pub/ashweekly/p/ash-weekly-issue-24">Announcing AshTypeScript, part of the Ash Framework</a> (Phoenix/Elixir)</li><li><a href="https://github.com/fabien0102/ts-to-zod">ts-to-zod</a> now supports Zod 4.0</li><li><a href="https://github.com/sinclairzx81/typebox">Typebox 1.0 release</a></li></ul><p><strong>From the Community</strong></p><ul><li>SquiggleConf Happened! Check out the streams (separate videos to come)<ul><li>Day 1: <a href="https://www.youtube.com/live/C_ePbVZqXrw?si=MpRiE8n4xLNpfbV0">https://www.youtube.com/live/C_ePbVZqXrw?si=MpRiE8n4xLNpfbV0</a></li><li>Day 2: <a href="https://www.youtube.com/live/vSXLDvvIpYE?si=cWKQTjZCx91HWJN9">https://www.youtube.com/live/vSXLDvvIpYE?si=cWKQTjZCx91HWJN9</a></li></ul></li><li>Federico (AzraelSec): <a href="https://azraelsec.sh/2025/09/06/Typescript-Branding/">Type Branding in Typescript</a> </li><li>Renato: <a href="https://rena.to/blog/17-typescript-tuple-length">TypeScript Tuple Length</a> </li><li>Evan Hahn: <a href="https://evanhahn.com/ts-ignore-is-almost-always-the-worst-option/">@ts-ignore is almost always the worst option</a></li><li>Roadmap.sh: <a href="https://roadmap.sh/typescript">Everything You Need to Learn to be a TS Dev</a></li><li><a href="https://bsky.app/profile/brianmuenzenmeyer.com/post/3lz34wnsq722n">GitHub Actions can now run pure TS on Node 22/24 runners without a build step</a> (h/t Brian Muenzenmeyer)</li><li>Mathew Brown: <a href="https://bsky.app/profile/frontenddogma.com/post/3lzecvptxps2o">Using Node's Test Runner with Typescript &amp; React</a> </li><li>Library Watch: <a href="https://bsky.app/profile/mary.my.id/post/3lyxjjs27jkqg">Combinatorial CLI opt parsing</a></li><li>Library Watch: <a href="https://dev.to/ahrjarrett/introducing-traversablevalibot-j3d">Introducing: @traversable/valibot</a> (h/t Andrew Jarret)</li><li>Tool watch: <a href="https://docs.fullstacked.org/">FullStacked</a>, a local-first app development environment</li><li>Tool watch: <a href="https://github.com/Roguestrad/Roguestrad">Roguestrad</a>, a Retro 3D Game engine forked from DOOM-3-BFG with TypeScript scripting support</li></ul><p><br></p><p><strong>Cool Stuff</strong></p><ul><li>Funny Read: <a href="https://bsky.app/profile/jakebailey.dev/post/3lzestz6zbs26">Is your son a computer hacker?</a></li><li>Cool Lib: <a href="https://www.npmjs.com/package/dom-to-image-more">dom-to-image-more</a> – render DOM elements as images</li><li>Cool Tool:  <a href="https://pagescms.org/">Pages CMS</a> - Hassle-free CMS for static sites powered by Git </li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Tue, 23 Sep 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/47197c83/8ff927d1.mp3" length="24840579" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>3100</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News of the week of September 15, 2025: Shai-Hulud worm hits npm supply chain, WebAssembly 3 spec is ratified, and Elixir fans finally get their time in the spotlight. From the community: SquiggleConf was awesome, type branding and tuples, local-first app dev, and why @ts-ignore is almost always the worst option.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(04:36) - News: Shai-Hulud Worm Attacks Over 500 npm Packages</li>
<li>(12:31) - News: WebAssembly 3 Spec is Done</li>
<li>(14:05) - News: Ash Framework Announces AshTypeScript</li>
<li>(15:08) - News: ts-to-zod Now Supports Zod 4</li>
<li>(15:36) - News: Typebox 1.0 Release</li>
<li>(17:26) - Community Highlight: SquiggleConf 2025 Happened!</li>
<li>(20:51) - Community Highlight: Type Branding in TypeScript by AzraelSec</li>
<li>(21:35) - Community Highlight: TypeScript Tuple Length Hacks</li>
<li>(22:24) - Community Highlight: TypeScript Developer Roadmap</li>
<li>(23:15) - Community Highlight: GitHub Actions Can Now Run Pure TypeScript</li>
<li>(23:59) - Community Highlight: Why @ts-ignore is Almost Always the Worst Option</li>
<li>(24:55) - Community Highlight: Using Node's Test Runner with TS and React</li>
<li>(26:05) - Library Watch: Combinatorial CLI Options Parsing</li>
<li>(27:53) - Library Watch: Valibot Helper Utilities</li>
<li>(29:03) - Tool Watch: Local-first Development with FullStacked</li>
<li>(31:15) - Tool Watch: Retro 3D Engine with TS Scripting API</li>
<li>(32:09) - Discuss: Moving Off of TypeScript by Motion</li>
<li>(41:34) - Funny Read: Is Your Son a Computer Hacker?</li>
<li>(43:03) - Cool Library: Render a DOM Element as an Image</li>
<li>(45:04) - Cool Tool: Pages CMS Runs on Top of Your Git Repo</li>
<li>(47:08) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>Socket.dev covers Shai-Hulud: <ul><li><a href="https://socket.dev/blog/ongoing-supply-chain-attack-targets-crowdstrike-npm-packages">Updated and Ongoing Supply Chain Attack Targets CrowdStrike npm Packages</a> </li><li><a href="https://socket.dev/blog/tinycolor-supply-chain-attack-affects-40-packages">Popular Tinycolor npm Package Compromised in Supply Chain Attack</a> </li><li><a href="https://youtu.be/7ND23NBdzM4?si=pnl6WDzh5jJdVD-6">What the npm package attacks mean for us developers</a></li></ul></li><li><a href="https://webassembly.org/news/2025-09-17-wasm-3.0/">Wasm 3.0 spec completed</a></li><li><a href="https://open.substack.com/pub/ashweekly/p/ash-weekly-issue-24">Announcing AshTypeScript, part of the Ash Framework</a> (Phoenix/Elixir)</li><li><a href="https://github.com/fabien0102/ts-to-zod">ts-to-zod</a> now supports Zod 4.0</li><li><a href="https://github.com/sinclairzx81/typebox">Typebox 1.0 release</a></li></ul><p><strong>From the Community</strong></p><ul><li>SquiggleConf Happened! Check out the streams (separate videos to come)<ul><li>Day 1: <a href="https://www.youtube.com/live/C_ePbVZqXrw?si=MpRiE8n4xLNpfbV0">https://www.youtube.com/live/C_ePbVZqXrw?si=MpRiE8n4xLNpfbV0</a></li><li>Day 2: <a href="https://www.youtube.com/live/vSXLDvvIpYE?si=cWKQTjZCx91HWJN9">https://www.youtube.com/live/vSXLDvvIpYE?si=cWKQTjZCx91HWJN9</a></li></ul></li><li>Federico (AzraelSec): <a href="https://azraelsec.sh/2025/09/06/Typescript-Branding/">Type Branding in Typescript</a> </li><li>Renato: <a href="https://rena.to/blog/17-typescript-tuple-length">TypeScript Tuple Length</a> </li><li>Evan Hahn: <a href="https://evanhahn.com/ts-ignore-is-almost-always-the-worst-option/">@ts-ignore is almost always the worst option</a></li><li>Roadmap.sh: <a href="https://roadmap.sh/typescript">Everything You Need to Learn to be a TS Dev</a></li><li><a href="https://bsky.app/profile/brianmuenzenmeyer.com/post/3lz34wnsq722n">GitHub Actions can now run pure TS on Node 22/24 runners without a build step</a> (h/t Brian Muenzenmeyer)</li><li>Mathew Brown: <a href="https://bsky.app/profile/frontenddogma.com/post/3lzecvptxps2o">Using Node's Test Runner with Typescript &amp; React</a> </li><li>Library Watch: <a href="https://bsky.app/profile/mary.my.id/post/3lyxjjs27jkqg">Combinatorial CLI opt parsing</a></li><li>Library Watch: <a href="https://dev.to/ahrjarrett/introducing-traversablevalibot-j3d">Introducing: @traversable/valibot</a> (h/t Andrew Jarret)</li><li>Tool watch: <a href="https://docs.fullstacked.org/">FullStacked</a>, a local-first app development environment</li><li>Tool watch: <a href="https://github.com/Roguestrad/Roguestrad">Roguestrad</a>, a Retro 3D Game engine forked from DOOM-3-BFG with TypeScript scripting support</li></ul><p><br></p><p><strong>Cool Stuff</strong></p><ul><li>Funny Read: <a href="https://bsky.app/profile/jakebailey.dev/post/3lzestz6zbs26">Is your son a computer hacker?</a></li><li>Cool Lib: <a href="https://www.npmjs.com/package/dom-to-image-more">dom-to-image-more</a> – render DOM elements as images</li><li>Cool Tool:  <a href="https://pagescms.org/">Pages CMS</a> - Hassle-free CMS for static sites powered by Git </li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/47197c83/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>ArkType is TypeScript's 1:1 Validator | David Blass | Ep 35B</title>
      <itunes:episode>35</itunes:episode>
      <podcast:episode>35</podcast:episode>
      <itunes:title>ArkType is TypeScript's 1:1 Validator | David Blass | Ep 35B</itunes:title>
      <itunes:episodeType>bonus</itunes:episodeType>
      <guid isPermaLink="false">72a8f659-7837-48c0-a249-bcbd59998ff7</guid>
      <link>https://share.transistor.fm/s/8f206643</link>
      <description>
        <![CDATA[<p>David Blass (<a href="https://bsky.app/profile/ssalbdivad.dev">@ssalbdivad.dev</a>) 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. <em>*waves hand*</em> These are the array intersections you're looking for.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introducing David Blass</li>
<li>(02:39) - ArkType vs. Zod</li>
<li>(04:28) - ArkType's Differences</li>
<li>(06:21) - Defining ArkType Types</li>
<li>(10:33) - Matching TypeScript's Syntax</li>
<li>(14:24) - Detailed Editor-time Errors</li>
<li>(17:14) - Type-level Testing with attest</li>
<li>(18:26) - Runtime Error Checking</li>
<li>(21:05) - Generating JIT-optimized Code</li>
<li>(27:27) - Benchmarking ArkType's Performance</li>
<li>(29:41) - Optimizing the Parser for ArkType Types</li>
<li>(32:13) - Tips for Optimizing TypeScript Types</li>
<li>(38:12) - Type Mapping API</li>
<li>(40:20) - Set-based APIs</li>
<li>(43:15) - Typing Array and Tuple Intersections</li>
<li>(45:57) - ArkType's Internal Type System</li>
<li>(49:01) - Serializing Types to JSON</li>
<li>(50:09) - Porting Enhancements to TypeScript</li>
<li>(51:55) - Compatibility with Standard Schema Spec</li>
<li>(57:15) - Introspecting ArkType Types</li>
<li>(01:00:10) - Use Cases for ArkType</li>
<li>(01:03:34) - What's Next for ArkType?</li>
<li>(01:05:59) - Getting Started with ArkType</li>
<li>(01:07:56) - Where to Follow David</li>
</ul><p><br></p><p><strong>Resources</strong></p><ul><li><a href="https://arktype.io">ArkType.io</a></li><li><a href="https://arktype.io/discord">ArkType Discord</a></li><li><a href="https://github.com/arktypeio/arktype">ArkType GitHub</a></li><li><a href="https://github.com/arktypeio/arktype/tree/main/ark/attest">@ark/attest testing library</a></li></ul><p><strong>Where to Follow David</strong></p><ul><li><a href="https://bsky.app/profile/ssalbdivad.dev">David on BlueSky</a></li><li><a href="https://bsky.app/profile/did:plc:gkp2kvued5btjctbpg4nsfw7">ArkType on BlueSky</a></li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>David Blass (<a href="https://bsky.app/profile/ssalbdivad.dev">@ssalbdivad.dev</a>) 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. <em>*waves hand*</em> These are the array intersections you're looking for.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introducing David Blass</li>
<li>(02:39) - ArkType vs. Zod</li>
<li>(04:28) - ArkType's Differences</li>
<li>(06:21) - Defining ArkType Types</li>
<li>(10:33) - Matching TypeScript's Syntax</li>
<li>(14:24) - Detailed Editor-time Errors</li>
<li>(17:14) - Type-level Testing with attest</li>
<li>(18:26) - Runtime Error Checking</li>
<li>(21:05) - Generating JIT-optimized Code</li>
<li>(27:27) - Benchmarking ArkType's Performance</li>
<li>(29:41) - Optimizing the Parser for ArkType Types</li>
<li>(32:13) - Tips for Optimizing TypeScript Types</li>
<li>(38:12) - Type Mapping API</li>
<li>(40:20) - Set-based APIs</li>
<li>(43:15) - Typing Array and Tuple Intersections</li>
<li>(45:57) - ArkType's Internal Type System</li>
<li>(49:01) - Serializing Types to JSON</li>
<li>(50:09) - Porting Enhancements to TypeScript</li>
<li>(51:55) - Compatibility with Standard Schema Spec</li>
<li>(57:15) - Introspecting ArkType Types</li>
<li>(01:00:10) - Use Cases for ArkType</li>
<li>(01:03:34) - What's Next for ArkType?</li>
<li>(01:05:59) - Getting Started with ArkType</li>
<li>(01:07:56) - Where to Follow David</li>
</ul><p><br></p><p><strong>Resources</strong></p><ul><li><a href="https://arktype.io">ArkType.io</a></li><li><a href="https://arktype.io/discord">ArkType Discord</a></li><li><a href="https://github.com/arktypeio/arktype">ArkType GitHub</a></li><li><a href="https://github.com/arktypeio/arktype/tree/main/ark/attest">@ark/attest testing library</a></li></ul><p><strong>Where to Follow David</strong></p><ul><li><a href="https://bsky.app/profile/ssalbdivad.dev">David on BlueSky</a></li><li><a href="https://bsky.app/profile/did:plc:gkp2kvued5btjctbpg4nsfw7">ArkType on BlueSky</a></li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Thu, 18 Sep 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/8f206643/d1bf74dc.mp3" length="33585702" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>4193</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>David Blass (<a href="https://bsky.app/profile/ssalbdivad.dev">@ssalbdivad.dev</a>) 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. <em>*waves hand*</em> These are the array intersections you're looking for.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introducing David Blass</li>
<li>(02:39) - ArkType vs. Zod</li>
<li>(04:28) - ArkType's Differences</li>
<li>(06:21) - Defining ArkType Types</li>
<li>(10:33) - Matching TypeScript's Syntax</li>
<li>(14:24) - Detailed Editor-time Errors</li>
<li>(17:14) - Type-level Testing with attest</li>
<li>(18:26) - Runtime Error Checking</li>
<li>(21:05) - Generating JIT-optimized Code</li>
<li>(27:27) - Benchmarking ArkType's Performance</li>
<li>(29:41) - Optimizing the Parser for ArkType Types</li>
<li>(32:13) - Tips for Optimizing TypeScript Types</li>
<li>(38:12) - Type Mapping API</li>
<li>(40:20) - Set-based APIs</li>
<li>(43:15) - Typing Array and Tuple Intersections</li>
<li>(45:57) - ArkType's Internal Type System</li>
<li>(49:01) - Serializing Types to JSON</li>
<li>(50:09) - Porting Enhancements to TypeScript</li>
<li>(51:55) - Compatibility with Standard Schema Spec</li>
<li>(57:15) - Introspecting ArkType Types</li>
<li>(01:00:10) - Use Cases for ArkType</li>
<li>(01:03:34) - What's Next for ArkType?</li>
<li>(01:05:59) - Getting Started with ArkType</li>
<li>(01:07:56) - Where to Follow David</li>
</ul><p><br></p><p><strong>Resources</strong></p><ul><li><a href="https://arktype.io">ArkType.io</a></li><li><a href="https://arktype.io/discord">ArkType Discord</a></li><li><a href="https://github.com/arktypeio/arktype">ArkType GitHub</a></li><li><a href="https://github.com/arktypeio/arktype/tree/main/ark/attest">@ark/attest testing library</a></li></ul><p><strong>Where to Follow David</strong></p><ul><li><a href="https://bsky.app/profile/ssalbdivad.dev">David on BlueSky</a></li><li><a href="https://bsky.app/profile/did:plc:gkp2kvued5btjctbpg4nsfw7">ArkType on BlueSky</a></li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:person role="Guest" href="https://typescript.fm/people/david-blass" img="https://img.transistorcdn.com/MAVmGaM69MC14r7JN2eolJgBHB7nHKl36YVguVU0OK4/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lMjU3/ZmYxMmVmNGFlZTY3/MTEwZGIwN2EzNTc0/MzcyOC5qcGVn.jpg">David Blass</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/8f206643/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Deno 2.5, Type-safe Configs and Forms, and Underrated TS Features | News | Ep 35</title>
      <itunes:episode>35</itunes:episode>
      <podcast:episode>35</podcast:episode>
      <itunes:title>Deno 2.5, Type-safe Configs and Forms, and Underrated TS Features | News | Ep 35</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">851e69c4-08c4-400f-8df8-acad67635604</guid>
      <link>https://share.transistor.fm/s/5caca6b3</link>
      <description>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:46) - News: TSGo Adds JSDoc Support to LSP</li>
<li>(07:08) - News: Deno 2.5 Released</li>
<li>(15:05) - News: Deno Fresh 2.0 is Now Out of Beta</li>
<li>(15:28) - News: rspack and webpack Add Dynamic Import Tree Shaking</li>
<li>(16:26) - News: pnpm 10.16 adds minimumReleaseAge Config Option</li>
<li>(18:10) - Community Highlight: Dr. Axel's Corner</li>
<li>(18:51) - Community Highlight: Lessons from npm Security Failures</li>
<li>(23:47) - Community Highlight: Val Town's Open Source TS Editor</li>
<li>(26:12) - Community Highlight: Lint Rules Spreadsheet by Josh Goldberg</li>
<li>(28:16) - Community Highlight: Most Underrated Features in TS?</li>
<li>(31:48) - Tool Watch: confkit Provides Type-safe Config and Secrets</li>
<li>(32:46) - Library Watch: taxum, a TypeScript-first HTTP Framework</li>
<li>(33:35) - Library Watch: conformal is a Type-safe FormData and Submissions Library</li>
<li>(34:31) - Community Highlight: Why Using Bun in Production (Maybe) Isn't the Best Idea</li>
<li>(39:14) - Secret of the Handbook: Analyze Trace Tool</li>
<li>(40:37) - Cool Watch: Restoring Old GameBoys and Game Systems</li>
<li>(42:04) - Cool Game: Assassin's Creed Mirage</li>
<li>(44:37) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>TSGo<ul><li>Full JSDoc Support in LSP (<a href="https://github.com/microsoft/typescript-go/pull/1702">#1702</a>) by Anders</li><li>TypeScript Build Watch Mode (<a href="https://github.com/microsoft/typescript-go/pull/1684">#1684</a>) by Sheetal</li></ul></li><li><a href="https://deno.com/blog/v2.5">Deno 2.5</a> + <a href="https://github.com/denoland/fresh/releases/tag/2.0.0">Fresh 2.0</a></li><li><a href="https://github.com/web-infra-dev/rspack/releases/tag/v1.5.3">Rspack 1.5.3</a> features advanced tree shaking for dynamic import members</li><li><a href="https://bsky.app/profile/jviide.iki.fi/post/3lyoduw4lvc2q">Pnpm 10.16 adds “minimumReleaseAge”</a> to help mitigate supply chain attacks</li></ul><p><strong>From the Community</strong></p><ul><li>Dr. Axel’s Corner<ul><li><a href="https://2ality.com/2025/09/implementing-web-servers.html">Learning web development: Implementing web servers</a> </li><li><a href="https://2ality.com/2025/09/authenticating-users-nodejs.html">Learning web development: Authenticating users with plain Node.js</a></li></ul></li><li>OneUpTime: <a href="https://oneuptime.com/blog/post/2025-09-09-lessons-from-npm-security-failures/view">Lessons from npm's Security Failures</a> </li><li>Wojciech Maj:<strong> </strong><a href="https://dev.to/wojtekmaj/why-using-bun-in-production-maybe-isnt-the-best-idea-3deb">Why using Bun in production (maybe) isn't the best idea</a></li><li><a href="https://blog.val.town/vtlsp">Val Town’s open source TS editor</a> was rewritten from scratch</li><li>Josh Goldberg is <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3lyfy3cyxgs25">tracking common rules across linters</a> for Flint</li><li>Reddit discussion: <a href="https://www.reddit.com/r/typescript/comments/1nd7jyt/name_underrated_things_in_typescript/">Name underrated things in Typescript</a></li><li>Tool watch: <a href="https://www.confkit.dev/">https://www.confkit.dev/</a> (h/t HackerNews) -- Type-safe config and schemas that work across all runtimes</li><li>Library watch: <a href="https://taxum.js.org/">https://taxum.js.org/</a> (h/t <a href="https://bsky.app/profile/daspr.id">DASPRiD</a>) -- TypeScript-first HTTP framework</li><li>Library watch: <a href="https://github.com/marcomuser/conformal">https://github.com/marcomuser/conformal</a> -- Type-safe FormData and submissions</li></ul><p><br></p><p><strong>Cool Stuff</strong></p><ul><li>Cool Tool: <a href="https://github.com/microsoft/typescript-analyze-trace#readme">https://github.com/microsoft/typescript-analyze-trace</a></li><li>Cool Watch: <a href="https://youtu.be/1LX9DtisWnk?si=bqP689avUGkVNWkr">Retrofitting a broken Game Boy with modern upgrades</a></li><li>Now playing: <a href="https://keeptrackofmygames.com/games/473426-a/assassins-creed-mirage?context=1&amp;contextparam=6&amp;contextsort=2&amp;">AC: Mirage</a></li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:46) - News: TSGo Adds JSDoc Support to LSP</li>
<li>(07:08) - News: Deno 2.5 Released</li>
<li>(15:05) - News: Deno Fresh 2.0 is Now Out of Beta</li>
<li>(15:28) - News: rspack and webpack Add Dynamic Import Tree Shaking</li>
<li>(16:26) - News: pnpm 10.16 adds minimumReleaseAge Config Option</li>
<li>(18:10) - Community Highlight: Dr. Axel's Corner</li>
<li>(18:51) - Community Highlight: Lessons from npm Security Failures</li>
<li>(23:47) - Community Highlight: Val Town's Open Source TS Editor</li>
<li>(26:12) - Community Highlight: Lint Rules Spreadsheet by Josh Goldberg</li>
<li>(28:16) - Community Highlight: Most Underrated Features in TS?</li>
<li>(31:48) - Tool Watch: confkit Provides Type-safe Config and Secrets</li>
<li>(32:46) - Library Watch: taxum, a TypeScript-first HTTP Framework</li>
<li>(33:35) - Library Watch: conformal is a Type-safe FormData and Submissions Library</li>
<li>(34:31) - Community Highlight: Why Using Bun in Production (Maybe) Isn't the Best Idea</li>
<li>(39:14) - Secret of the Handbook: Analyze Trace Tool</li>
<li>(40:37) - Cool Watch: Restoring Old GameBoys and Game Systems</li>
<li>(42:04) - Cool Game: Assassin's Creed Mirage</li>
<li>(44:37) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>TSGo<ul><li>Full JSDoc Support in LSP (<a href="https://github.com/microsoft/typescript-go/pull/1702">#1702</a>) by Anders</li><li>TypeScript Build Watch Mode (<a href="https://github.com/microsoft/typescript-go/pull/1684">#1684</a>) by Sheetal</li></ul></li><li><a href="https://deno.com/blog/v2.5">Deno 2.5</a> + <a href="https://github.com/denoland/fresh/releases/tag/2.0.0">Fresh 2.0</a></li><li><a href="https://github.com/web-infra-dev/rspack/releases/tag/v1.5.3">Rspack 1.5.3</a> features advanced tree shaking for dynamic import members</li><li><a href="https://bsky.app/profile/jviide.iki.fi/post/3lyoduw4lvc2q">Pnpm 10.16 adds “minimumReleaseAge”</a> to help mitigate supply chain attacks</li></ul><p><strong>From the Community</strong></p><ul><li>Dr. Axel’s Corner<ul><li><a href="https://2ality.com/2025/09/implementing-web-servers.html">Learning web development: Implementing web servers</a> </li><li><a href="https://2ality.com/2025/09/authenticating-users-nodejs.html">Learning web development: Authenticating users with plain Node.js</a></li></ul></li><li>OneUpTime: <a href="https://oneuptime.com/blog/post/2025-09-09-lessons-from-npm-security-failures/view">Lessons from npm's Security Failures</a> </li><li>Wojciech Maj:<strong> </strong><a href="https://dev.to/wojtekmaj/why-using-bun-in-production-maybe-isnt-the-best-idea-3deb">Why using Bun in production (maybe) isn't the best idea</a></li><li><a href="https://blog.val.town/vtlsp">Val Town’s open source TS editor</a> was rewritten from scratch</li><li>Josh Goldberg is <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3lyfy3cyxgs25">tracking common rules across linters</a> for Flint</li><li>Reddit discussion: <a href="https://www.reddit.com/r/typescript/comments/1nd7jyt/name_underrated_things_in_typescript/">Name underrated things in Typescript</a></li><li>Tool watch: <a href="https://www.confkit.dev/">https://www.confkit.dev/</a> (h/t HackerNews) -- Type-safe config and schemas that work across all runtimes</li><li>Library watch: <a href="https://taxum.js.org/">https://taxum.js.org/</a> (h/t <a href="https://bsky.app/profile/daspr.id">DASPRiD</a>) -- TypeScript-first HTTP framework</li><li>Library watch: <a href="https://github.com/marcomuser/conformal">https://github.com/marcomuser/conformal</a> -- Type-safe FormData and submissions</li></ul><p><br></p><p><strong>Cool Stuff</strong></p><ul><li>Cool Tool: <a href="https://github.com/microsoft/typescript-analyze-trace#readme">https://github.com/microsoft/typescript-analyze-trace</a></li><li>Cool Watch: <a href="https://youtu.be/1LX9DtisWnk?si=bqP689avUGkVNWkr">Retrofitting a broken Game Boy with modern upgrades</a></li><li>Now playing: <a href="https://keeptrackofmygames.com/games/473426-a/assassins-creed-mirage?context=1&amp;contextparam=6&amp;contextsort=2&amp;">AC: Mirage</a></li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </content:encoded>
      <pubDate>Tue, 16 Sep 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/5caca6b3/71d77316.mp3" length="23656968" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2952</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:46) - News: TSGo Adds JSDoc Support to LSP</li>
<li>(07:08) - News: Deno 2.5 Released</li>
<li>(15:05) - News: Deno Fresh 2.0 is Now Out of Beta</li>
<li>(15:28) - News: rspack and webpack Add Dynamic Import Tree Shaking</li>
<li>(16:26) - News: pnpm 10.16 adds minimumReleaseAge Config Option</li>
<li>(18:10) - Community Highlight: Dr. Axel's Corner</li>
<li>(18:51) - Community Highlight: Lessons from npm Security Failures</li>
<li>(23:47) - Community Highlight: Val Town's Open Source TS Editor</li>
<li>(26:12) - Community Highlight: Lint Rules Spreadsheet by Josh Goldberg</li>
<li>(28:16) - Community Highlight: Most Underrated Features in TS?</li>
<li>(31:48) - Tool Watch: confkit Provides Type-safe Config and Secrets</li>
<li>(32:46) - Library Watch: taxum, a TypeScript-first HTTP Framework</li>
<li>(33:35) - Library Watch: conformal is a Type-safe FormData and Submissions Library</li>
<li>(34:31) - Community Highlight: Why Using Bun in Production (Maybe) Isn't the Best Idea</li>
<li>(39:14) - Secret of the Handbook: Analyze Trace Tool</li>
<li>(40:37) - Cool Watch: Restoring Old GameBoys and Game Systems</li>
<li>(42:04) - Cool Game: Assassin's Creed Mirage</li>
<li>(44:37) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li>TSGo<ul><li>Full JSDoc Support in LSP (<a href="https://github.com/microsoft/typescript-go/pull/1702">#1702</a>) by Anders</li><li>TypeScript Build Watch Mode (<a href="https://github.com/microsoft/typescript-go/pull/1684">#1684</a>) by Sheetal</li></ul></li><li><a href="https://deno.com/blog/v2.5">Deno 2.5</a> + <a href="https://github.com/denoland/fresh/releases/tag/2.0.0">Fresh 2.0</a></li><li><a href="https://github.com/web-infra-dev/rspack/releases/tag/v1.5.3">Rspack 1.5.3</a> features advanced tree shaking for dynamic import members</li><li><a href="https://bsky.app/profile/jviide.iki.fi/post/3lyoduw4lvc2q">Pnpm 10.16 adds “minimumReleaseAge”</a> to help mitigate supply chain attacks</li></ul><p><strong>From the Community</strong></p><ul><li>Dr. Axel’s Corner<ul><li><a href="https://2ality.com/2025/09/implementing-web-servers.html">Learning web development: Implementing web servers</a> </li><li><a href="https://2ality.com/2025/09/authenticating-users-nodejs.html">Learning web development: Authenticating users with plain Node.js</a></li></ul></li><li>OneUpTime: <a href="https://oneuptime.com/blog/post/2025-09-09-lessons-from-npm-security-failures/view">Lessons from npm's Security Failures</a> </li><li>Wojciech Maj:<strong> </strong><a href="https://dev.to/wojtekmaj/why-using-bun-in-production-maybe-isnt-the-best-idea-3deb">Why using Bun in production (maybe) isn't the best idea</a></li><li><a href="https://blog.val.town/vtlsp">Val Town’s open source TS editor</a> was rewritten from scratch</li><li>Josh Goldberg is <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3lyfy3cyxgs25">tracking common rules across linters</a> for Flint</li><li>Reddit discussion: <a href="https://www.reddit.com/r/typescript/comments/1nd7jyt/name_underrated_things_in_typescript/">Name underrated things in Typescript</a></li><li>Tool watch: <a href="https://www.confkit.dev/">https://www.confkit.dev/</a> (h/t HackerNews) -- Type-safe config and schemas that work across all runtimes</li><li>Library watch: <a href="https://taxum.js.org/">https://taxum.js.org/</a> (h/t <a href="https://bsky.app/profile/daspr.id">DASPRiD</a>) -- TypeScript-first HTTP framework</li><li>Library watch: <a href="https://github.com/marcomuser/conformal">https://github.com/marcomuser/conformal</a> -- Type-safe FormData and submissions</li></ul><p><br></p><p><strong>Cool Stuff</strong></p><ul><li>Cool Tool: <a href="https://github.com/microsoft/typescript-analyze-trace#readme">https://github.com/microsoft/typescript-analyze-trace</a></li><li>Cool Watch: <a href="https://youtu.be/1LX9DtisWnk?si=bqP689avUGkVNWkr">Retrofitting a broken Game Boy with modern upgrades</a></li><li>Now playing: <a href="https://keeptrackofmygames.com/games/473426-a/assassins-creed-mirage?context=1&amp;contextparam=6&amp;contextsort=2&amp;">AC: Mirage</a></li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/5caca6b3/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Fresh 2.0 Beta, TS Nostalgia, and Spear Phishing the Supply Chain | News | Ep 34</title>
      <itunes:episode>34</itunes:episode>
      <podcast:episode>34</podcast:episode>
      <itunes:title>Fresh 2.0 Beta, TS Nostalgia, and Spear Phishing the Supply Chain | News | Ep 34</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">bbbb0154-151f-4785-a5bd-8729a26f9d50</guid>
      <link>https://share.transistor.fm/s/b22f3f27</link>
      <description>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:20) - News: New ESLint Rule to Prevent Empty Type Argument Lists</li>
<li>(06:43) - News: Deno Fresh 2.0 Graduates to Beta with Vite Support</li>
<li>(09:17) - News: Rolldown Will Ship as ESM-only</li>
<li>(10:55) - News: Swift 6.2 Adds WASM Support</li>
<li>(12:17) - Reminder: TypeScript AI Conf in San Francisco on Nov 6</li>
<li>(12:42) - PSA: Upgrade Your Vite Packages</li>
<li>(14:53) - PSA: Massive npm Supply Chain Attack</li>
<li>(22:05) - News: GhostAction Attack Exfiltrated Secrets from GitHub Actions</li>
<li>(24:42) - Community Highlight: TypeScript 1.5 Was 10 Years Ago</li>
<li>(25:54) - Community Highlight: Dr. Axel's Corner</li>
<li>(27:38) - Community Highlight: Perf Improvements Coming to Immer.js</li>
<li>(28:40) - Community Highlight: Meta AI Piracy Case Might Owe Authors Money</li>
<li>(29:26) - Library Watch: Easily Create Wi-Fi Share Links</li>
<li>(30:58) - Library Watch: Type-safe State Machines</li>
<li>(32:37) - Library Watch: Eclipse Modeling Framework for TypeScript</li>
<li>(34:33) - Library Watch: A Tiny Translate Utility for TypeScript</li>
<li>(35:13) - Community Highlight: Azat's OSS Tools</li>
<li>(38:09) - This Week's TypeScript Joke</li>
<li>(38:33) - Cool Library: 2D Geometry and Math Utilities</li>
<li>(39:11) - Cool Watch: The Business Side of Digital Goods</li>
<li>(40:18) - Cool Read: A New Way to Think by Roger Martin</li>
<li>(43:47) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.43.0">typescript-eslint v8.43.0</a> introduces a new rule to disallow empty type arguments</li><li><a href="https://deno.com/blog/fresh-and-vite">Fresh 2.0 Graduates to Beta, Adds Vite Support</a> (<a href="https://bsky.app/profile/deno.land/post/3lxuhnyj3h222">h/t deno</a>)</li><li>Rolldown will only be shipping as ESM, dropping their CJS bundle (<a href="https://bsky.app/profile/voidzero.dev/post/3lyd7zr7mn22j">h/t VoidZero</a>)<ul><li>Clarification: It will still <em>bundle your code</em> as CJS; this applies only to Rolldown itself.</li></ul></li><li><a href="https://forums.swift.org/t/swift-for-wasm-q3-2025-updates/81956">Swift for Wasm: Q3 2025 Updates</a> (<a href="https://bsky.app/profile/maxdesiatov.bsky.social/post/3lxyvo7sswk2x">h/t maxdesiatov</a>)</li><li>Reminder: <a href="http://tsconf.ai">TypeScript AI Conf</a> is Nov 6</li><li>PSA: <a href="https://bsky.app/profile/vite.dev/post/3lycrogy7es26">Vite CVEs</a>. Upgrade your packages!<ul><li><a href="https://public.govdelivery.com/accounts/USDHSCISA/subscriber/new?topic_id=USDHSCISA_138">CISA mailing list</a> for cybersecurity incidents</li></ul></li><li>PSA: <a href="https://www.bleepingcomputer.com/news/security/hackers-hijack-npm-packages-with-2-billion-weekly-downloads-in-supply-chain-attack/">Hackers hijack npm packages with 2 billion weekly downloads in supply chain attack</a></li><li>PSA: <a href="https://www.bleepingcomputer.com/news/security/hackers-steal-3-325-secrets-in-ghostaction-github-supply-chain-attack/">Hackers steal 3,325 secrets in GhostAction GitHub supply chain attack</a></li></ul><p><strong>From the Community</strong></p><ul><li>TS 1.5 nostalgia (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lxxnnr34622f">rob palmer</a>)</li><li>Dr. Axel’s Corner<ul><li><a href="https://2ality.com/2025/09/frontend-frameworks.html">Learning web development: Frontend frameworks</a> </li><li><a href="https://2ality.com/2025/09/npm-packages-bundling.html">Learning web development: Installing npm packages and bundling</a> </li></ul></li><li><a href="https://bsky.app/profile/acemarke.dev/post/3lyccijowps2y">Immer.js optimizations coming</a></li><li>Meta Piracy Case You might be owed $$$<ul><li><a href="https://www.theatlantic.com/technology/archive/2025/03/search-libgen-data-set/682094/">Search LibGen, the Pirated-Books Database That Meta Used to Train AI</a> </li><li>It has affected <a href="https://bsky.app/profile/danabra.mov/post/3ly73vpikgc2e">Dan Abramov</a> and <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3ly6lvivgqk25">Josh Goldberg </a></li></ul></li><li>Library watch: <a href="https://github.com/JoshuaKGoldberg/wifi-share-link">wifi-share-link</a>: Create shareable links over Wi-Fi with QR codes (h/t <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3lxzksy6i4k25">Joshua Goldberg</a>)</li><li>Library watch: <a href="https://jsr.io/@machinist/core">@machinist/core</a> for type-safe finite state machines </li><li>Library watch: <a href="https://www.reddit.com/r/typescript/comments/1n6mu35/initial_release_of_tmf_modeldriven_development/">TMF: Model-driven development for TypeScript</a> </li><li>Library watch: <a href="https://github.com/pixltd-dev/ts-mini-translate">pixltd-dev/ts-mini-translate</a>, a simple TypeScript translation utility</li><li><a href="https://github.com/azat-io">Check out Azat’s work!</a> Including Josh Goldberg’s favorite ESLint plugin, perfectionist.</li><li><a href="https://bsky.app/profile/silvereagle.dev/post/3lxzcxpaj6c2s">This week's TS joke</a></li></ul><p><strong>Cool Stuff</strong></p><ul><li>2D math utilities: <a href="https://github.com/romgrk/2d-geometry">https://github.com/romgrk/2d-geometry</a> </li><li>Video: <a href="https://youtu.be/vcKi5KD7OT8?si=fK77kF8M4CQGnLaO">A Complete Guide To The Business Side Of Indie Gamedev</a></li><li>Book: A New Way to Think by Roger Martin (<a href="https://www.thriftbooks.com/w/a-new-way-to-think-your-guide-to-superior-management-effectiveness_roger-l-martin/38783027/?resultid=94900425-1391-49fd-8db2-a9193551658d#edition=60824629&amp;idiq=47289495">Thriftbooks</a>)</li><li>Game: <a href="https://keeptrackofmygames.com/games/284252-A/hollow-knight-silksong">Hollow Knight: Silksong</a></li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:20) - News: New ESLint Rule to Prevent Empty Type Argument Lists</li>
<li>(06:43) - News: Deno Fresh 2.0 Graduates to Beta with Vite Support</li>
<li>(09:17) - News: Rolldown Will Ship as ESM-only</li>
<li>(10:55) - News: Swift 6.2 Adds WASM Support</li>
<li>(12:17) - Reminder: TypeScript AI Conf in San Francisco on Nov 6</li>
<li>(12:42) - PSA: Upgrade Your Vite Packages</li>
<li>(14:53) - PSA: Massive npm Supply Chain Attack</li>
<li>(22:05) - News: GhostAction Attack Exfiltrated Secrets from GitHub Actions</li>
<li>(24:42) - Community Highlight: TypeScript 1.5 Was 10 Years Ago</li>
<li>(25:54) - Community Highlight: Dr. Axel's Corner</li>
<li>(27:38) - Community Highlight: Perf Improvements Coming to Immer.js</li>
<li>(28:40) - Community Highlight: Meta AI Piracy Case Might Owe Authors Money</li>
<li>(29:26) - Library Watch: Easily Create Wi-Fi Share Links</li>
<li>(30:58) - Library Watch: Type-safe State Machines</li>
<li>(32:37) - Library Watch: Eclipse Modeling Framework for TypeScript</li>
<li>(34:33) - Library Watch: A Tiny Translate Utility for TypeScript</li>
<li>(35:13) - Community Highlight: Azat's OSS Tools</li>
<li>(38:09) - This Week's TypeScript Joke</li>
<li>(38:33) - Cool Library: 2D Geometry and Math Utilities</li>
<li>(39:11) - Cool Watch: The Business Side of Digital Goods</li>
<li>(40:18) - Cool Read: A New Way to Think by Roger Martin</li>
<li>(43:47) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.43.0">typescript-eslint v8.43.0</a> introduces a new rule to disallow empty type arguments</li><li><a href="https://deno.com/blog/fresh-and-vite">Fresh 2.0 Graduates to Beta, Adds Vite Support</a> (<a href="https://bsky.app/profile/deno.land/post/3lxuhnyj3h222">h/t deno</a>)</li><li>Rolldown will only be shipping as ESM, dropping their CJS bundle (<a href="https://bsky.app/profile/voidzero.dev/post/3lyd7zr7mn22j">h/t VoidZero</a>)<ul><li>Clarification: It will still <em>bundle your code</em> as CJS; this applies only to Rolldown itself.</li></ul></li><li><a href="https://forums.swift.org/t/swift-for-wasm-q3-2025-updates/81956">Swift for Wasm: Q3 2025 Updates</a> (<a href="https://bsky.app/profile/maxdesiatov.bsky.social/post/3lxyvo7sswk2x">h/t maxdesiatov</a>)</li><li>Reminder: <a href="http://tsconf.ai">TypeScript AI Conf</a> is Nov 6</li><li>PSA: <a href="https://bsky.app/profile/vite.dev/post/3lycrogy7es26">Vite CVEs</a>. Upgrade your packages!<ul><li><a href="https://public.govdelivery.com/accounts/USDHSCISA/subscriber/new?topic_id=USDHSCISA_138">CISA mailing list</a> for cybersecurity incidents</li></ul></li><li>PSA: <a href="https://www.bleepingcomputer.com/news/security/hackers-hijack-npm-packages-with-2-billion-weekly-downloads-in-supply-chain-attack/">Hackers hijack npm packages with 2 billion weekly downloads in supply chain attack</a></li><li>PSA: <a href="https://www.bleepingcomputer.com/news/security/hackers-steal-3-325-secrets-in-ghostaction-github-supply-chain-attack/">Hackers steal 3,325 secrets in GhostAction GitHub supply chain attack</a></li></ul><p><strong>From the Community</strong></p><ul><li>TS 1.5 nostalgia (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lxxnnr34622f">rob palmer</a>)</li><li>Dr. Axel’s Corner<ul><li><a href="https://2ality.com/2025/09/frontend-frameworks.html">Learning web development: Frontend frameworks</a> </li><li><a href="https://2ality.com/2025/09/npm-packages-bundling.html">Learning web development: Installing npm packages and bundling</a> </li></ul></li><li><a href="https://bsky.app/profile/acemarke.dev/post/3lyccijowps2y">Immer.js optimizations coming</a></li><li>Meta Piracy Case You might be owed $$$<ul><li><a href="https://www.theatlantic.com/technology/archive/2025/03/search-libgen-data-set/682094/">Search LibGen, the Pirated-Books Database That Meta Used to Train AI</a> </li><li>It has affected <a href="https://bsky.app/profile/danabra.mov/post/3ly73vpikgc2e">Dan Abramov</a> and <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3ly6lvivgqk25">Josh Goldberg </a></li></ul></li><li>Library watch: <a href="https://github.com/JoshuaKGoldberg/wifi-share-link">wifi-share-link</a>: Create shareable links over Wi-Fi with QR codes (h/t <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3lxzksy6i4k25">Joshua Goldberg</a>)</li><li>Library watch: <a href="https://jsr.io/@machinist/core">@machinist/core</a> for type-safe finite state machines </li><li>Library watch: <a href="https://www.reddit.com/r/typescript/comments/1n6mu35/initial_release_of_tmf_modeldriven_development/">TMF: Model-driven development for TypeScript</a> </li><li>Library watch: <a href="https://github.com/pixltd-dev/ts-mini-translate">pixltd-dev/ts-mini-translate</a>, a simple TypeScript translation utility</li><li><a href="https://github.com/azat-io">Check out Azat’s work!</a> Including Josh Goldberg’s favorite ESLint plugin, perfectionist.</li><li><a href="https://bsky.app/profile/silvereagle.dev/post/3lxzcxpaj6c2s">This week's TS joke</a></li></ul><p><strong>Cool Stuff</strong></p><ul><li>2D math utilities: <a href="https://github.com/romgrk/2d-geometry">https://github.com/romgrk/2d-geometry</a> </li><li>Video: <a href="https://youtu.be/vcKi5KD7OT8?si=fK77kF8M4CQGnLaO">A Complete Guide To The Business Side Of Indie Gamedev</a></li><li>Book: A New Way to Think by Roger Martin (<a href="https://www.thriftbooks.com/w/a-new-way-to-think-your-guide-to-superior-management-effectiveness_roger-l-martin/38783027/?resultid=94900425-1391-49fd-8db2-a9193551658d#edition=60824629&amp;idiq=47289495">Thriftbooks</a>)</li><li>Game: <a href="https://keeptrackofmygames.com/games/284252-A/hollow-knight-silksong">Hollow Knight: Silksong</a></li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </content:encoded>
      <pubDate>Thu, 11 Sep 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/b22f3f27/2ba01daf.mp3" length="23976118" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2992</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:20) - News: New ESLint Rule to Prevent Empty Type Argument Lists</li>
<li>(06:43) - News: Deno Fresh 2.0 Graduates to Beta with Vite Support</li>
<li>(09:17) - News: Rolldown Will Ship as ESM-only</li>
<li>(10:55) - News: Swift 6.2 Adds WASM Support</li>
<li>(12:17) - Reminder: TypeScript AI Conf in San Francisco on Nov 6</li>
<li>(12:42) - PSA: Upgrade Your Vite Packages</li>
<li>(14:53) - PSA: Massive npm Supply Chain Attack</li>
<li>(22:05) - News: GhostAction Attack Exfiltrated Secrets from GitHub Actions</li>
<li>(24:42) - Community Highlight: TypeScript 1.5 Was 10 Years Ago</li>
<li>(25:54) - Community Highlight: Dr. Axel's Corner</li>
<li>(27:38) - Community Highlight: Perf Improvements Coming to Immer.js</li>
<li>(28:40) - Community Highlight: Meta AI Piracy Case Might Owe Authors Money</li>
<li>(29:26) - Library Watch: Easily Create Wi-Fi Share Links</li>
<li>(30:58) - Library Watch: Type-safe State Machines</li>
<li>(32:37) - Library Watch: Eclipse Modeling Framework for TypeScript</li>
<li>(34:33) - Library Watch: A Tiny Translate Utility for TypeScript</li>
<li>(35:13) - Community Highlight: Azat's OSS Tools</li>
<li>(38:09) - This Week's TypeScript Joke</li>
<li>(38:33) - Cool Library: 2D Geometry and Math Utilities</li>
<li>(39:11) - Cool Watch: The Business Side of Digital Goods</li>
<li>(40:18) - Cool Read: A New Way to Think by Roger Martin</li>
<li>(43:47) - The Minnesota Long Goodbye</li>
</ul><br><p><strong>News</strong></p><ul><li><a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.43.0">typescript-eslint v8.43.0</a> introduces a new rule to disallow empty type arguments</li><li><a href="https://deno.com/blog/fresh-and-vite">Fresh 2.0 Graduates to Beta, Adds Vite Support</a> (<a href="https://bsky.app/profile/deno.land/post/3lxuhnyj3h222">h/t deno</a>)</li><li>Rolldown will only be shipping as ESM, dropping their CJS bundle (<a href="https://bsky.app/profile/voidzero.dev/post/3lyd7zr7mn22j">h/t VoidZero</a>)<ul><li>Clarification: It will still <em>bundle your code</em> as CJS; this applies only to Rolldown itself.</li></ul></li><li><a href="https://forums.swift.org/t/swift-for-wasm-q3-2025-updates/81956">Swift for Wasm: Q3 2025 Updates</a> (<a href="https://bsky.app/profile/maxdesiatov.bsky.social/post/3lxyvo7sswk2x">h/t maxdesiatov</a>)</li><li>Reminder: <a href="http://tsconf.ai">TypeScript AI Conf</a> is Nov 6</li><li>PSA: <a href="https://bsky.app/profile/vite.dev/post/3lycrogy7es26">Vite CVEs</a>. Upgrade your packages!<ul><li><a href="https://public.govdelivery.com/accounts/USDHSCISA/subscriber/new?topic_id=USDHSCISA_138">CISA mailing list</a> for cybersecurity incidents</li></ul></li><li>PSA: <a href="https://www.bleepingcomputer.com/news/security/hackers-hijack-npm-packages-with-2-billion-weekly-downloads-in-supply-chain-attack/">Hackers hijack npm packages with 2 billion weekly downloads in supply chain attack</a></li><li>PSA: <a href="https://www.bleepingcomputer.com/news/security/hackers-steal-3-325-secrets-in-ghostaction-github-supply-chain-attack/">Hackers steal 3,325 secrets in GhostAction GitHub supply chain attack</a></li></ul><p><strong>From the Community</strong></p><ul><li>TS 1.5 nostalgia (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lxxnnr34622f">rob palmer</a>)</li><li>Dr. Axel’s Corner<ul><li><a href="https://2ality.com/2025/09/frontend-frameworks.html">Learning web development: Frontend frameworks</a> </li><li><a href="https://2ality.com/2025/09/npm-packages-bundling.html">Learning web development: Installing npm packages and bundling</a> </li></ul></li><li><a href="https://bsky.app/profile/acemarke.dev/post/3lyccijowps2y">Immer.js optimizations coming</a></li><li>Meta Piracy Case You might be owed $$$<ul><li><a href="https://www.theatlantic.com/technology/archive/2025/03/search-libgen-data-set/682094/">Search LibGen, the Pirated-Books Database That Meta Used to Train AI</a> </li><li>It has affected <a href="https://bsky.app/profile/danabra.mov/post/3ly73vpikgc2e">Dan Abramov</a> and <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3ly6lvivgqk25">Josh Goldberg </a></li></ul></li><li>Library watch: <a href="https://github.com/JoshuaKGoldberg/wifi-share-link">wifi-share-link</a>: Create shareable links over Wi-Fi with QR codes (h/t <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3lxzksy6i4k25">Joshua Goldberg</a>)</li><li>Library watch: <a href="https://jsr.io/@machinist/core">@machinist/core</a> for type-safe finite state machines </li><li>Library watch: <a href="https://www.reddit.com/r/typescript/comments/1n6mu35/initial_release_of_tmf_modeldriven_development/">TMF: Model-driven development for TypeScript</a> </li><li>Library watch: <a href="https://github.com/pixltd-dev/ts-mini-translate">pixltd-dev/ts-mini-translate</a>, a simple TypeScript translation utility</li><li><a href="https://github.com/azat-io">Check out Azat’s work!</a> Including Josh Goldberg’s favorite ESLint plugin, perfectionist.</li><li><a href="https://bsky.app/profile/silvereagle.dev/post/3lxzcxpaj6c2s">This week's TS joke</a></li></ul><p><strong>Cool Stuff</strong></p><ul><li>2D math utilities: <a href="https://github.com/romgrk/2d-geometry">https://github.com/romgrk/2d-geometry</a> </li><li>Video: <a href="https://youtu.be/vcKi5KD7OT8?si=fK77kF8M4CQGnLaO">A Complete Guide To The Business Side Of Indie Gamedev</a></li><li>Book: A New Way to Think by Roger Martin (<a href="https://www.thriftbooks.com/w/a-new-way-to-think-your-guide-to-superior-management-effectiveness_roger-l-martin/38783027/?resultid=94900425-1391-49fd-8db2-a9193551658d#edition=60824629&amp;idiq=47289495">Thriftbooks</a>)</li><li>Game: <a href="https://keeptrackofmygames.com/games/284252-A/hollow-knight-silksong">Hollow Knight: Silksong</a></li></ul><p><br></p><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/b22f3f27/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Breaking Changes in TS 6, a Calm Migration to Type Stripping, and Deno's #FreeJavaScript Campaign | News | Ep 33</title>
      <itunes:episode>33</itunes:episode>
      <podcast:episode>33</podcast:episode>
      <itunes:title>Breaking Changes in TS 6, a Calm Migration to Type Stripping, and Deno's #FreeJavaScript Campaign | News | Ep 33</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">d712362f-b168-4729-9011-3974e5606ed7</guid>
      <link>https://share.transistor.fm/s/56804839</link>
      <description>
        <![CDATA[<p>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. </p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(06:46) - News: TSGo Refactoring and Find Reference Enhancements</li>
<li>(07:54) - News: Expect Some (Good) Breaking Changes in TS 6.0</li>
<li>(12:26) - News: Node.js 22.19.0 LTS Notable Changes</li>
<li>(18:13) - News: RsPack 1.5 Features Type Re-export Analysis</li>
<li>(21:27) - News: Deno's GoFundMe to #FreeJavaScript</li>
<li>(22:38) - PSA: Supply Chain Attack Against Nx Packages</li>
<li>(25:49) - Community Highlight: Attend SquiggleConf 2025</li>
<li>(26:43) - Case Study: How Calm.com Migrated to Node Type Stripping</li>
<li>(30:13) - Community Highlight: Dr. Axel's Corner</li>
<li>(33:01) - Community Highlight: Vitest 4 Sneak Peek</li>
<li>(34:28) - Community Highlight: Zod 4.1 Codecs</li>
<li>(36:39) - Community Highlight: Shout-out to Remco for Fixing JSX Typing Bugs</li>
<li>(37:24) - Community Highlight: TypedRocks Shows You How to Refactor Type Definitions</li>
<li>(38:27) - Community Highlight: Neovim Support for TSGo Spotted in the Wild</li>
<li>(39:09) - Library Watch: csv-utils Helps You Deal with CSV Files</li>
<li>(39:39) - Library Watch: contrastrast Provides WCAG-compliant Color Manipulation</li>
<li>(41:16) - Case Study: Plaid Cut Build Time by 97% with Rolldown</li>
<li>(42:17) - Framework Watch: Runner V4 Released</li>
<li>(43:53) - Framework Watch: Ripple, a TypeScript UI Framework</li>
<li>(45:20) - Community Highlight: Joke of the Week</li>
<li>(45:48) - Secret of the Handbook: declarationMap</li>
<li>(47:17) - Cool Link: MuJS for Embedding Scripting into C/C++</li>
<li>(48:57) - Cool Link: Cory Doctorow is Kickstarting a Book</li>
<li>(50:44) - Cool Watch: Learn Game Dev from a Nintendo Game Designer</li>
<li>(52:29) - The Minnesota Long Goodbye</li>
</ul><br><strong>Personal News</strong><ul><li>Kamran's new <a href="https://www.pluralsight.com/courses/qwik-city-foundations">Qwik City Foundations course</a> (requires subscription)</li><li>Affected by the Verizon outage? <a href="https://www.phonearena.com/news/verizon-outage-compensation-credit_id173700">Get some monies</a> (or try visiting the Transfer Phone/PIN page in your account)</li><li>Alternatively, <a href="http://fbuy.me/vdDZ4">switch to Mint</a> and save some cheddar (that's Kamran's referral link :-)</li></ul><p><br><strong>News</strong></p><ul><li><a href="https://github.com/microsoft/TypeScript/issues/54500">TS 6.0 proposed deprecations and breaking changes</a></li><li>Node 22.19.0 LTS notable changes include a <a href="https://github.com/nodejs/node/pull/58822">new CA certificate API</a> and <a href="https://github.com/nodejs/node/pull/57038">unflagging WASM modules</a> (see: <a href="https://github.com/tc39/proposal-source-phase-imports">source-phase imports</a>)</li><li><a href="https://bsky.app/profile/rspack.dev/post/3lxcewr3mzc2w">Rspack 1.5 release</a> features type re-export analysis</li><li><a href="https://bsky.app/profile/deno.land/post/3lxgow467gc2c">Deno's GoFundMe</a> for #FreeJavaScript</li><li>PSA: Nx supply chain attack (write-ups from <a href="https://bsky.app/profile/sarahgooding.bsky.social/post/3lxfudzs4322q">Socket.dev</a> and <a href="https://thehackernews.com/2025/08/malicious-nx-packages-in-s1ngularity.html">TheHackerNews</a>)</li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://squiggleconf.com/">SquiggleConf</a>: September 18-19</li><li>Calm.com: <a href="https://blog.calm.com/engineering/how-we-migrated-our-rushjs-monorepo-to-node-type-stripping">How we migrated our Rush.js monorepo to Node type stripping</a></li><li>Dr. Axel<ul><li><a href="https://2ality.com/2025/08/javascript-trademark.html">JavaScript’s trademark problem</a> </li><li><a href="https://2ality.com/2025/08/web-servers.html">Learning web development: Web servers</a> </li><li><a href="https://2ality.com/2025/08/javascript-exceptions.html">Learning web development: JavaScript exceptions</a></li><li><a href="https://2ality.com/2025/08/javascript-json-processing-files.html">Learning web development: JSON and processing files in Node.js</a> </li><li><a href="https://2ality.com/2025/08/javascript-maps.html">Learning web development: JavaScript Maps</a></li></ul></li><li>Vitest 4 <a href="https://bsky.app/profile/erus.dev/post/3lxfduh47vs2x">will be faster</a>!</li><li>Zod creator <a href="https://bsky.app/profile/colinhacks.com/post/3lxbbw6ncac2n">explains </a>4.1's new codecs feature</li><li>Uppy issue <a href="https://bsky.app/profile/merlijn.bsky.social/post/3lxhfm6tit52v">reveals a bug in JSX typing</a> across ecosystem</li><li>TypedRocks: <a href="https://youtu.be/OcJel4BjFL4?si=ioIqPu6xmTHcTLFj">Let’s Replace 100+ React Types with 3 Lines Of Code (Same Type Safety!)</a> </li><li><a href="https://bsky.app/profile/43081j.com/post/3lxpodb22ms2m">Possible sighting</a> of neovim TSGo support</li><li>Library watch: <a href="https://github.com/doeixd/csv-utils">doeixd/csv-utils: Helpful utils for working with csv files or arrays of objects</a></li><li>Library watch: <a href="https://github.com/ammuench/contrastrast">ammuench/contrastrast: A library to determine text contrast based on WCAG Standards</a> </li><li>VoidZero: <a href="https://voidzero.dev/posts/case-study-plaid-rolldown">How PLAID Cut Build Times by 97% Migrating From Rollup To Rolldown</a></li><li>Framework watch: <a href="https://github.com/bluelibs/runner">Runner V4 released</a></li><li>Framework watch: <a href="https://github.com/trueadm/ripple">trueadm/ripple: the elegant UI framework for the web</a></li><li><a href="https://bsky.app/profile/phylan.website/post/3lxar6ungys2r">This week's TS Joke</a></li></ul><p><strong>Secret of the Handbook</strong></p><p>The <a href="https://www.typescriptlang.org/tsconfig/#declarationMap">declarationMap</a> config option <em>significantly </em>speeds up Project References performance in IDEs.</p><p> </p><p><strong>Cool Stuff</strong></p><ul><li><a href="https://mujs.com/introduction.html">MuJS: Introduction</a> </li><li><a href="https://www.kickstarter.com/projects/doctorow/enshittification-the-drm-free-audiobook/">Cory Doctorow’s Kickstarter</a></li><li><a href="https://youtube.com/@sora_sakurai_en">Legendary Nintendo game designer published 200+ videos on gamedev</a> for free.</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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. </p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(06:46) - News: TSGo Refactoring and Find Reference Enhancements</li>
<li>(07:54) - News: Expect Some (Good) Breaking Changes in TS 6.0</li>
<li>(12:26) - News: Node.js 22.19.0 LTS Notable Changes</li>
<li>(18:13) - News: RsPack 1.5 Features Type Re-export Analysis</li>
<li>(21:27) - News: Deno's GoFundMe to #FreeJavaScript</li>
<li>(22:38) - PSA: Supply Chain Attack Against Nx Packages</li>
<li>(25:49) - Community Highlight: Attend SquiggleConf 2025</li>
<li>(26:43) - Case Study: How Calm.com Migrated to Node Type Stripping</li>
<li>(30:13) - Community Highlight: Dr. Axel's Corner</li>
<li>(33:01) - Community Highlight: Vitest 4 Sneak Peek</li>
<li>(34:28) - Community Highlight: Zod 4.1 Codecs</li>
<li>(36:39) - Community Highlight: Shout-out to Remco for Fixing JSX Typing Bugs</li>
<li>(37:24) - Community Highlight: TypedRocks Shows You How to Refactor Type Definitions</li>
<li>(38:27) - Community Highlight: Neovim Support for TSGo Spotted in the Wild</li>
<li>(39:09) - Library Watch: csv-utils Helps You Deal with CSV Files</li>
<li>(39:39) - Library Watch: contrastrast Provides WCAG-compliant Color Manipulation</li>
<li>(41:16) - Case Study: Plaid Cut Build Time by 97% with Rolldown</li>
<li>(42:17) - Framework Watch: Runner V4 Released</li>
<li>(43:53) - Framework Watch: Ripple, a TypeScript UI Framework</li>
<li>(45:20) - Community Highlight: Joke of the Week</li>
<li>(45:48) - Secret of the Handbook: declarationMap</li>
<li>(47:17) - Cool Link: MuJS for Embedding Scripting into C/C++</li>
<li>(48:57) - Cool Link: Cory Doctorow is Kickstarting a Book</li>
<li>(50:44) - Cool Watch: Learn Game Dev from a Nintendo Game Designer</li>
<li>(52:29) - The Minnesota Long Goodbye</li>
</ul><br><strong>Personal News</strong><ul><li>Kamran's new <a href="https://www.pluralsight.com/courses/qwik-city-foundations">Qwik City Foundations course</a> (requires subscription)</li><li>Affected by the Verizon outage? <a href="https://www.phonearena.com/news/verizon-outage-compensation-credit_id173700">Get some monies</a> (or try visiting the Transfer Phone/PIN page in your account)</li><li>Alternatively, <a href="http://fbuy.me/vdDZ4">switch to Mint</a> and save some cheddar (that's Kamran's referral link :-)</li></ul><p><br><strong>News</strong></p><ul><li><a href="https://github.com/microsoft/TypeScript/issues/54500">TS 6.0 proposed deprecations and breaking changes</a></li><li>Node 22.19.0 LTS notable changes include a <a href="https://github.com/nodejs/node/pull/58822">new CA certificate API</a> and <a href="https://github.com/nodejs/node/pull/57038">unflagging WASM modules</a> (see: <a href="https://github.com/tc39/proposal-source-phase-imports">source-phase imports</a>)</li><li><a href="https://bsky.app/profile/rspack.dev/post/3lxcewr3mzc2w">Rspack 1.5 release</a> features type re-export analysis</li><li><a href="https://bsky.app/profile/deno.land/post/3lxgow467gc2c">Deno's GoFundMe</a> for #FreeJavaScript</li><li>PSA: Nx supply chain attack (write-ups from <a href="https://bsky.app/profile/sarahgooding.bsky.social/post/3lxfudzs4322q">Socket.dev</a> and <a href="https://thehackernews.com/2025/08/malicious-nx-packages-in-s1ngularity.html">TheHackerNews</a>)</li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://squiggleconf.com/">SquiggleConf</a>: September 18-19</li><li>Calm.com: <a href="https://blog.calm.com/engineering/how-we-migrated-our-rushjs-monorepo-to-node-type-stripping">How we migrated our Rush.js monorepo to Node type stripping</a></li><li>Dr. Axel<ul><li><a href="https://2ality.com/2025/08/javascript-trademark.html">JavaScript’s trademark problem</a> </li><li><a href="https://2ality.com/2025/08/web-servers.html">Learning web development: Web servers</a> </li><li><a href="https://2ality.com/2025/08/javascript-exceptions.html">Learning web development: JavaScript exceptions</a></li><li><a href="https://2ality.com/2025/08/javascript-json-processing-files.html">Learning web development: JSON and processing files in Node.js</a> </li><li><a href="https://2ality.com/2025/08/javascript-maps.html">Learning web development: JavaScript Maps</a></li></ul></li><li>Vitest 4 <a href="https://bsky.app/profile/erus.dev/post/3lxfduh47vs2x">will be faster</a>!</li><li>Zod creator <a href="https://bsky.app/profile/colinhacks.com/post/3lxbbw6ncac2n">explains </a>4.1's new codecs feature</li><li>Uppy issue <a href="https://bsky.app/profile/merlijn.bsky.social/post/3lxhfm6tit52v">reveals a bug in JSX typing</a> across ecosystem</li><li>TypedRocks: <a href="https://youtu.be/OcJel4BjFL4?si=ioIqPu6xmTHcTLFj">Let’s Replace 100+ React Types with 3 Lines Of Code (Same Type Safety!)</a> </li><li><a href="https://bsky.app/profile/43081j.com/post/3lxpodb22ms2m">Possible sighting</a> of neovim TSGo support</li><li>Library watch: <a href="https://github.com/doeixd/csv-utils">doeixd/csv-utils: Helpful utils for working with csv files or arrays of objects</a></li><li>Library watch: <a href="https://github.com/ammuench/contrastrast">ammuench/contrastrast: A library to determine text contrast based on WCAG Standards</a> </li><li>VoidZero: <a href="https://voidzero.dev/posts/case-study-plaid-rolldown">How PLAID Cut Build Times by 97% Migrating From Rollup To Rolldown</a></li><li>Framework watch: <a href="https://github.com/bluelibs/runner">Runner V4 released</a></li><li>Framework watch: <a href="https://github.com/trueadm/ripple">trueadm/ripple: the elegant UI framework for the web</a></li><li><a href="https://bsky.app/profile/phylan.website/post/3lxar6ungys2r">This week's TS Joke</a></li></ul><p><strong>Secret of the Handbook</strong></p><p>The <a href="https://www.typescriptlang.org/tsconfig/#declarationMap">declarationMap</a> config option <em>significantly </em>speeds up Project References performance in IDEs.</p><p> </p><p><strong>Cool Stuff</strong></p><ul><li><a href="https://mujs.com/introduction.html">MuJS: Introduction</a> </li><li><a href="https://www.kickstarter.com/projects/doctorow/enshittification-the-drm-free-audiobook/">Cory Doctorow’s Kickstarter</a></li><li><a href="https://youtube.com/@sora_sakurai_en">Legendary Nintendo game designer published 200+ videos on gamedev</a> for free.</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </content:encoded>
      <pubDate>Tue, 02 Sep 2025 23:30:48 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/56804839/fd4fbc89.mp3" length="26977472" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>3367</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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. </p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(06:46) - News: TSGo Refactoring and Find Reference Enhancements</li>
<li>(07:54) - News: Expect Some (Good) Breaking Changes in TS 6.0</li>
<li>(12:26) - News: Node.js 22.19.0 LTS Notable Changes</li>
<li>(18:13) - News: RsPack 1.5 Features Type Re-export Analysis</li>
<li>(21:27) - News: Deno's GoFundMe to #FreeJavaScript</li>
<li>(22:38) - PSA: Supply Chain Attack Against Nx Packages</li>
<li>(25:49) - Community Highlight: Attend SquiggleConf 2025</li>
<li>(26:43) - Case Study: How Calm.com Migrated to Node Type Stripping</li>
<li>(30:13) - Community Highlight: Dr. Axel's Corner</li>
<li>(33:01) - Community Highlight: Vitest 4 Sneak Peek</li>
<li>(34:28) - Community Highlight: Zod 4.1 Codecs</li>
<li>(36:39) - Community Highlight: Shout-out to Remco for Fixing JSX Typing Bugs</li>
<li>(37:24) - Community Highlight: TypedRocks Shows You How to Refactor Type Definitions</li>
<li>(38:27) - Community Highlight: Neovim Support for TSGo Spotted in the Wild</li>
<li>(39:09) - Library Watch: csv-utils Helps You Deal with CSV Files</li>
<li>(39:39) - Library Watch: contrastrast Provides WCAG-compliant Color Manipulation</li>
<li>(41:16) - Case Study: Plaid Cut Build Time by 97% with Rolldown</li>
<li>(42:17) - Framework Watch: Runner V4 Released</li>
<li>(43:53) - Framework Watch: Ripple, a TypeScript UI Framework</li>
<li>(45:20) - Community Highlight: Joke of the Week</li>
<li>(45:48) - Secret of the Handbook: declarationMap</li>
<li>(47:17) - Cool Link: MuJS for Embedding Scripting into C/C++</li>
<li>(48:57) - Cool Link: Cory Doctorow is Kickstarting a Book</li>
<li>(50:44) - Cool Watch: Learn Game Dev from a Nintendo Game Designer</li>
<li>(52:29) - The Minnesota Long Goodbye</li>
</ul><br><strong>Personal News</strong><ul><li>Kamran's new <a href="https://www.pluralsight.com/courses/qwik-city-foundations">Qwik City Foundations course</a> (requires subscription)</li><li>Affected by the Verizon outage? <a href="https://www.phonearena.com/news/verizon-outage-compensation-credit_id173700">Get some monies</a> (or try visiting the Transfer Phone/PIN page in your account)</li><li>Alternatively, <a href="http://fbuy.me/vdDZ4">switch to Mint</a> and save some cheddar (that's Kamran's referral link :-)</li></ul><p><br><strong>News</strong></p><ul><li><a href="https://github.com/microsoft/TypeScript/issues/54500">TS 6.0 proposed deprecations and breaking changes</a></li><li>Node 22.19.0 LTS notable changes include a <a href="https://github.com/nodejs/node/pull/58822">new CA certificate API</a> and <a href="https://github.com/nodejs/node/pull/57038">unflagging WASM modules</a> (see: <a href="https://github.com/tc39/proposal-source-phase-imports">source-phase imports</a>)</li><li><a href="https://bsky.app/profile/rspack.dev/post/3lxcewr3mzc2w">Rspack 1.5 release</a> features type re-export analysis</li><li><a href="https://bsky.app/profile/deno.land/post/3lxgow467gc2c">Deno's GoFundMe</a> for #FreeJavaScript</li><li>PSA: Nx supply chain attack (write-ups from <a href="https://bsky.app/profile/sarahgooding.bsky.social/post/3lxfudzs4322q">Socket.dev</a> and <a href="https://thehackernews.com/2025/08/malicious-nx-packages-in-s1ngularity.html">TheHackerNews</a>)</li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://squiggleconf.com/">SquiggleConf</a>: September 18-19</li><li>Calm.com: <a href="https://blog.calm.com/engineering/how-we-migrated-our-rushjs-monorepo-to-node-type-stripping">How we migrated our Rush.js monorepo to Node type stripping</a></li><li>Dr. Axel<ul><li><a href="https://2ality.com/2025/08/javascript-trademark.html">JavaScript’s trademark problem</a> </li><li><a href="https://2ality.com/2025/08/web-servers.html">Learning web development: Web servers</a> </li><li><a href="https://2ality.com/2025/08/javascript-exceptions.html">Learning web development: JavaScript exceptions</a></li><li><a href="https://2ality.com/2025/08/javascript-json-processing-files.html">Learning web development: JSON and processing files in Node.js</a> </li><li><a href="https://2ality.com/2025/08/javascript-maps.html">Learning web development: JavaScript Maps</a></li></ul></li><li>Vitest 4 <a href="https://bsky.app/profile/erus.dev/post/3lxfduh47vs2x">will be faster</a>!</li><li>Zod creator <a href="https://bsky.app/profile/colinhacks.com/post/3lxbbw6ncac2n">explains </a>4.1's new codecs feature</li><li>Uppy issue <a href="https://bsky.app/profile/merlijn.bsky.social/post/3lxhfm6tit52v">reveals a bug in JSX typing</a> across ecosystem</li><li>TypedRocks: <a href="https://youtu.be/OcJel4BjFL4?si=ioIqPu6xmTHcTLFj">Let’s Replace 100+ React Types with 3 Lines Of Code (Same Type Safety!)</a> </li><li><a href="https://bsky.app/profile/43081j.com/post/3lxpodb22ms2m">Possible sighting</a> of neovim TSGo support</li><li>Library watch: <a href="https://github.com/doeixd/csv-utils">doeixd/csv-utils: Helpful utils for working with csv files or arrays of objects</a></li><li>Library watch: <a href="https://github.com/ammuench/contrastrast">ammuench/contrastrast: A library to determine text contrast based on WCAG Standards</a> </li><li>VoidZero: <a href="https://voidzero.dev/posts/case-study-plaid-rolldown">How PLAID Cut Build Times by 97% Migrating From Rollup To Rolldown</a></li><li>Framework watch: <a href="https://github.com/bluelibs/runner">Runner V4 released</a></li><li>Framework watch: <a href="https://github.com/trueadm/ripple">trueadm/ripple: the elegant UI framework for the web</a></li><li><a href="https://bsky.app/profile/phylan.website/post/3lxar6ungys2r">This week's TS Joke</a></li></ul><p><strong>Secret of the Handbook</strong></p><p>The <a href="https://www.typescriptlang.org/tsconfig/#declarationMap">declarationMap</a> config option <em>significantly </em>speeds up Project References performance in IDEs.</p><p> </p><p><strong>Cool Stuff</strong></p><ul><li><a href="https://mujs.com/introduction.html">MuJS: Introduction</a> </li><li><a href="https://www.kickstarter.com/projects/doctorow/enshittification-the-drm-free-audiobook/">Cory Doctorow’s Kickstarter</a></li><li><a href="https://youtube.com/@sora_sakurai_en">Legendary Nintendo game designer published 200+ videos on gamedev</a> for free.</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/56804839/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>TypeScript Go Nightly Improvements, Rslint Announced, and Big Bun Updates | News | Ep 32</title>
      <itunes:episode>32</itunes:episode>
      <podcast:episode>32</podcast:episode>
      <itunes:title>TypeScript Go Nightly Improvements, Rslint Announced, and Big Bun Updates | News | Ep 32</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">f6b68e41-6637-4b57-94f9-f1ec4494e81a</guid>
      <link>https://share.transistor.fm/s/0304855f</link>
      <description>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(06:32) - News: TypeScript Go Got a Big Nightly Update</li>
<li>(10:01) - News: Rspack Introduces Rslint</li>
<li>(13:08) - News: Bun 1.2.21 Got Some Major Upgrades</li>
<li>(18:10) - News: Deno 2.4.4 Improves Structured Clone Performance</li>
<li>(19:21) - News: Next.js 15.5 Features Type-safe Routing</li>
<li>(20:55) - News: Preact 11 Beta is Even Faster with Better Hydration</li>
<li>(21:27) - News: Angular 20.2 Goes Zoneless</li>
<li>(23:25) - Community Highlight: Dr. Axel's Learning Web Dev Series</li>
<li>(25:08) - Community Highlight: A Hopeful PR to Enable --strict By Default</li>
<li>(26:38) - Library Watch: valleys, Lightweight Runtime Data Validation</li>
<li>(28:05) - Community Highlight: Hangman Written in TypeScript Types</li>
<li>(28:59) - Community Highlight: Exhaustive Switch Expressions by Replo</li>
<li>(31:42) - Discussion: How to Protect Code and Assets in the Browser</li>
<li>(36:59) - Cool Game: Now THAT'S a Big Dragon!</li>
<li>(38:05) - Cool Read: Auto-tiling with the Dual Tile Map Technique</li>
<li>(38:33) - Cool Tip: Using IIFEs for Scratch Variables to Avoid Allocations</li>
<li>(40:43) - Cool Vid: A Million Blades of Grass Written in LOVR and TypeScript</li>
<li>(42:31) - The Minnesota Long Goodbye</li>
</ul><br><strong>News</strong><ul><li>Jake Bailey: <a href="https://bsky.app/profile/jakebailey.dev/post/3lwx4gqn7nc2w">TSGO had a big nightly update</a></li><li>Socket.dev: <a href="https://socket.dev/blog/rspack-introduces-rslint-a-typescript-first-linter-written-in-go">Rspack Introduces Rslint, a TypeScript-First Linter Written in Go</a> (powered by TS Go) (<a href="https://github.com/web-infra-dev/rslint">repo</a>)</li><li><a href="https://bun.sh/blog/bun-v1.2.21">Bun 1.2.21 release notes</a> plus blog post on how they achieved a <a href="https://bun.com/blog/how-we-made-postMessage-string-500x-faster">500x faster postMessage(string)</a></li><li>Deno 2.4.4 <a href="https://github.com/denoland/deno/pull/30258">structured clone perf improvement</a> </li><li><a href="https://nextjs.org/blog/next-15-5">Next.js 15.5</a> release notes (<a href="https://bsky.app/profile/nextjs.org/post/3lwsa3b7iop25">summary thread</a>)</li><li><a href="https://bsky.app/profile/jovidecroock.com/post/3lwym7xutac2h">Preact 11 sneaks in a beta</a></li><li><a href="https://bsky.app/profile/simonaco.bsky.social/post/3lwylhxvd7s2n">Angular 20.2.0 features a stable zoneless API </a></li></ul><p><strong>From the Community</strong></p><ul><li>Dr. Axel: <ul><li><a href="https://2ality.com/2025/08/javascript-booleans-comparisons-if.html">Learning web development: Booleans, comparisons and `if` statements</a></li><li><a href="https://2ality.com/2025/08/javascript-loops.html">Learning web development: Loops in JavaScript</a></li><li><a href="https://2ality.com/2025/08/shells-nodejs.html">Learning web development: Shells and </a><a href="http://node.js">Node.js</a></li></ul></li><li>Daniel Rosenwasser <a href="https://bsky.app/profile/danr.bsky.social/post/3lxag6h3zwc2i">proposed</a> to turn `--strict` on by default <ul><li><em>Correction:</em> It was an issue, not a PR :-)</li></ul></li><li>Lib watch: <a href="https://github.com/nimeshnayaju/valleys">valleys</a> (ht HN) –  Lightweight, zero-dependency library for validating arbitrary runtime data in TypeScript.</li><li><a href="https://bsky.app/profile/sandroroth.com/post/3lx3tah3qg22f">Hangman in TypeScript types</a></li><li>Discussion: <a href="https://www.reddit.com/r/typescript/comments/1my4pei/protect_code_assets/">Protect code &amp; assets? : r/typescript</a></li><li>Replo.computer: <a href="https://replo.computer/posts/exhaustive-switch">Exhaustive Switch Expressions in Typescript</a></li></ul><p> </p><p><strong>Cool Stuff</strong></p><ul><li>Blog post: <a href="https://excaliburjs.com/blog/Dual%20Tilemap%20Autotiling%20Technique">Dual Tilemap Auto Tiling</a> </li><li>Steam Game: <a href="https://store.steampowered.com/app/3834590/Now_THATS_a_Big_Dragon/">Now THAT’S a Big Dragon</a></li><li>Video: <a href="https://bsky.app/profile/snowkittykira.bsky.social/post/3lxa4wsrlvk2f">A million blades of grass in LOVR + TypeScript</a><ul><li><a href="https://lovr.org/">LÖVR</a> - VR version of LOVE 2D</li><li><a href="https://typescripttolua.github.io/">TypeScriptToLua</a></li></ul></li><li>Join the <a href="https://discord.michigantypescript.com/">Michigan TS Discord</a>!</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(06:32) - News: TypeScript Go Got a Big Nightly Update</li>
<li>(10:01) - News: Rspack Introduces Rslint</li>
<li>(13:08) - News: Bun 1.2.21 Got Some Major Upgrades</li>
<li>(18:10) - News: Deno 2.4.4 Improves Structured Clone Performance</li>
<li>(19:21) - News: Next.js 15.5 Features Type-safe Routing</li>
<li>(20:55) - News: Preact 11 Beta is Even Faster with Better Hydration</li>
<li>(21:27) - News: Angular 20.2 Goes Zoneless</li>
<li>(23:25) - Community Highlight: Dr. Axel's Learning Web Dev Series</li>
<li>(25:08) - Community Highlight: A Hopeful PR to Enable --strict By Default</li>
<li>(26:38) - Library Watch: valleys, Lightweight Runtime Data Validation</li>
<li>(28:05) - Community Highlight: Hangman Written in TypeScript Types</li>
<li>(28:59) - Community Highlight: Exhaustive Switch Expressions by Replo</li>
<li>(31:42) - Discussion: How to Protect Code and Assets in the Browser</li>
<li>(36:59) - Cool Game: Now THAT'S a Big Dragon!</li>
<li>(38:05) - Cool Read: Auto-tiling with the Dual Tile Map Technique</li>
<li>(38:33) - Cool Tip: Using IIFEs for Scratch Variables to Avoid Allocations</li>
<li>(40:43) - Cool Vid: A Million Blades of Grass Written in LOVR and TypeScript</li>
<li>(42:31) - The Minnesota Long Goodbye</li>
</ul><br><strong>News</strong><ul><li>Jake Bailey: <a href="https://bsky.app/profile/jakebailey.dev/post/3lwx4gqn7nc2w">TSGO had a big nightly update</a></li><li>Socket.dev: <a href="https://socket.dev/blog/rspack-introduces-rslint-a-typescript-first-linter-written-in-go">Rspack Introduces Rslint, a TypeScript-First Linter Written in Go</a> (powered by TS Go) (<a href="https://github.com/web-infra-dev/rslint">repo</a>)</li><li><a href="https://bun.sh/blog/bun-v1.2.21">Bun 1.2.21 release notes</a> plus blog post on how they achieved a <a href="https://bun.com/blog/how-we-made-postMessage-string-500x-faster">500x faster postMessage(string)</a></li><li>Deno 2.4.4 <a href="https://github.com/denoland/deno/pull/30258">structured clone perf improvement</a> </li><li><a href="https://nextjs.org/blog/next-15-5">Next.js 15.5</a> release notes (<a href="https://bsky.app/profile/nextjs.org/post/3lwsa3b7iop25">summary thread</a>)</li><li><a href="https://bsky.app/profile/jovidecroock.com/post/3lwym7xutac2h">Preact 11 sneaks in a beta</a></li><li><a href="https://bsky.app/profile/simonaco.bsky.social/post/3lwylhxvd7s2n">Angular 20.2.0 features a stable zoneless API </a></li></ul><p><strong>From the Community</strong></p><ul><li>Dr. Axel: <ul><li><a href="https://2ality.com/2025/08/javascript-booleans-comparisons-if.html">Learning web development: Booleans, comparisons and `if` statements</a></li><li><a href="https://2ality.com/2025/08/javascript-loops.html">Learning web development: Loops in JavaScript</a></li><li><a href="https://2ality.com/2025/08/shells-nodejs.html">Learning web development: Shells and </a><a href="http://node.js">Node.js</a></li></ul></li><li>Daniel Rosenwasser <a href="https://bsky.app/profile/danr.bsky.social/post/3lxag6h3zwc2i">proposed</a> to turn `--strict` on by default <ul><li><em>Correction:</em> It was an issue, not a PR :-)</li></ul></li><li>Lib watch: <a href="https://github.com/nimeshnayaju/valleys">valleys</a> (ht HN) –  Lightweight, zero-dependency library for validating arbitrary runtime data in TypeScript.</li><li><a href="https://bsky.app/profile/sandroroth.com/post/3lx3tah3qg22f">Hangman in TypeScript types</a></li><li>Discussion: <a href="https://www.reddit.com/r/typescript/comments/1my4pei/protect_code_assets/">Protect code &amp; assets? : r/typescript</a></li><li>Replo.computer: <a href="https://replo.computer/posts/exhaustive-switch">Exhaustive Switch Expressions in Typescript</a></li></ul><p> </p><p><strong>Cool Stuff</strong></p><ul><li>Blog post: <a href="https://excaliburjs.com/blog/Dual%20Tilemap%20Autotiling%20Technique">Dual Tilemap Auto Tiling</a> </li><li>Steam Game: <a href="https://store.steampowered.com/app/3834590/Now_THATS_a_Big_Dragon/">Now THAT’S a Big Dragon</a></li><li>Video: <a href="https://bsky.app/profile/snowkittykira.bsky.social/post/3lxa4wsrlvk2f">A million blades of grass in LOVR + TypeScript</a><ul><li><a href="https://lovr.org/">LÖVR</a> - VR version of LOVE 2D</li><li><a href="https://typescripttolua.github.io/">TypeScriptToLua</a></li></ul></li><li>Join the <a href="https://discord.michigantypescript.com/">Michigan TS Discord</a>!</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </content:encoded>
      <pubDate>Tue, 26 Aug 2025 12:42:05 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/0304855f/6c638c55.mp3" length="24589690" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>3069</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(06:32) - News: TypeScript Go Got a Big Nightly Update</li>
<li>(10:01) - News: Rspack Introduces Rslint</li>
<li>(13:08) - News: Bun 1.2.21 Got Some Major Upgrades</li>
<li>(18:10) - News: Deno 2.4.4 Improves Structured Clone Performance</li>
<li>(19:21) - News: Next.js 15.5 Features Type-safe Routing</li>
<li>(20:55) - News: Preact 11 Beta is Even Faster with Better Hydration</li>
<li>(21:27) - News: Angular 20.2 Goes Zoneless</li>
<li>(23:25) - Community Highlight: Dr. Axel's Learning Web Dev Series</li>
<li>(25:08) - Community Highlight: A Hopeful PR to Enable --strict By Default</li>
<li>(26:38) - Library Watch: valleys, Lightweight Runtime Data Validation</li>
<li>(28:05) - Community Highlight: Hangman Written in TypeScript Types</li>
<li>(28:59) - Community Highlight: Exhaustive Switch Expressions by Replo</li>
<li>(31:42) - Discussion: How to Protect Code and Assets in the Browser</li>
<li>(36:59) - Cool Game: Now THAT'S a Big Dragon!</li>
<li>(38:05) - Cool Read: Auto-tiling with the Dual Tile Map Technique</li>
<li>(38:33) - Cool Tip: Using IIFEs for Scratch Variables to Avoid Allocations</li>
<li>(40:43) - Cool Vid: A Million Blades of Grass Written in LOVR and TypeScript</li>
<li>(42:31) - The Minnesota Long Goodbye</li>
</ul><br><strong>News</strong><ul><li>Jake Bailey: <a href="https://bsky.app/profile/jakebailey.dev/post/3lwx4gqn7nc2w">TSGO had a big nightly update</a></li><li>Socket.dev: <a href="https://socket.dev/blog/rspack-introduces-rslint-a-typescript-first-linter-written-in-go">Rspack Introduces Rslint, a TypeScript-First Linter Written in Go</a> (powered by TS Go) (<a href="https://github.com/web-infra-dev/rslint">repo</a>)</li><li><a href="https://bun.sh/blog/bun-v1.2.21">Bun 1.2.21 release notes</a> plus blog post on how they achieved a <a href="https://bun.com/blog/how-we-made-postMessage-string-500x-faster">500x faster postMessage(string)</a></li><li>Deno 2.4.4 <a href="https://github.com/denoland/deno/pull/30258">structured clone perf improvement</a> </li><li><a href="https://nextjs.org/blog/next-15-5">Next.js 15.5</a> release notes (<a href="https://bsky.app/profile/nextjs.org/post/3lwsa3b7iop25">summary thread</a>)</li><li><a href="https://bsky.app/profile/jovidecroock.com/post/3lwym7xutac2h">Preact 11 sneaks in a beta</a></li><li><a href="https://bsky.app/profile/simonaco.bsky.social/post/3lwylhxvd7s2n">Angular 20.2.0 features a stable zoneless API </a></li></ul><p><strong>From the Community</strong></p><ul><li>Dr. Axel: <ul><li><a href="https://2ality.com/2025/08/javascript-booleans-comparisons-if.html">Learning web development: Booleans, comparisons and `if` statements</a></li><li><a href="https://2ality.com/2025/08/javascript-loops.html">Learning web development: Loops in JavaScript</a></li><li><a href="https://2ality.com/2025/08/shells-nodejs.html">Learning web development: Shells and </a><a href="http://node.js">Node.js</a></li></ul></li><li>Daniel Rosenwasser <a href="https://bsky.app/profile/danr.bsky.social/post/3lxag6h3zwc2i">proposed</a> to turn `--strict` on by default <ul><li><em>Correction:</em> It was an issue, not a PR :-)</li></ul></li><li>Lib watch: <a href="https://github.com/nimeshnayaju/valleys">valleys</a> (ht HN) –  Lightweight, zero-dependency library for validating arbitrary runtime data in TypeScript.</li><li><a href="https://bsky.app/profile/sandroroth.com/post/3lx3tah3qg22f">Hangman in TypeScript types</a></li><li>Discussion: <a href="https://www.reddit.com/r/typescript/comments/1my4pei/protect_code_assets/">Protect code &amp; assets? : r/typescript</a></li><li>Replo.computer: <a href="https://replo.computer/posts/exhaustive-switch">Exhaustive Switch Expressions in Typescript</a></li></ul><p> </p><p><strong>Cool Stuff</strong></p><ul><li>Blog post: <a href="https://excaliburjs.com/blog/Dual%20Tilemap%20Autotiling%20Technique">Dual Tilemap Auto Tiling</a> </li><li>Steam Game: <a href="https://store.steampowered.com/app/3834590/Now_THATS_a_Big_Dragon/">Now THAT’S a Big Dragon</a></li><li>Video: <a href="https://bsky.app/profile/snowkittykira.bsky.social/post/3lxa4wsrlvk2f">A million blades of grass in LOVR + TypeScript</a><ul><li><a href="https://lovr.org/">LÖVR</a> - VR version of LOVE 2D</li><li><a href="https://typescripttolua.github.io/">TypeScriptToLua</a></li></ul></li><li>Join the <a href="https://discord.michigantypescript.com/">Michigan TS Discord</a>!</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/0304855f/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Astro DB Gets Enum Support, Type-safe Data Flow in Next.js, and a Moose-y ORM | News | Ep 31</title>
      <itunes:episode>31</itunes:episode>
      <podcast:episode>31</podcast:episode>
      <itunes:title>Astro DB Gets Enum Support, Type-safe Data Flow in Next.js, and a Moose-y ORM | News | Ep 31</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">2840ffef-4b34-4d50-88fa-eda1bf86c97c</guid>
      <link>https://share.transistor.fm/s/0e3613a4</link>
      <description>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:07) - News: Astro 5.13 Adds import.meta.env and Astro DB Enum Support</li>
<li>(06:47) - Community Highlight: Dr. Axel's Learning Web Dev Series</li>
<li>(07:47) - Community Highlight: Type-safe Data Flow Between Client and Server in Next.js by Nahuel Scotti</li>
<li>(08:45) - Community Highlight: Clickhouse Made an OLAP ORM with TS</li>
<li>(11:25) - Cool Link: nextra, a Next.js Static Site Generator</li>
<li>(11:50) - Cool Link: editly, Non-linear Video Editing in Node.js and ffmpeg</li>
<li>(12:33) - Cool Links: A Bunch of Excalibur Games!</li>
<li>(14:36) - The Minnesota Long Goodbye</li>
</ul><br><strong>News</strong><ul><li><a href="https://astro.build/blog/astro-5130/">Astro 5.13</a> </li></ul><p><strong>From the Community</strong></p><ul><li>Dr. Axel’s Blog <a href="https://2ality.com/2025/08/learning-web-dev-toc.html">Series on Learning Web Dev</a></li><li>Nahuel Scotti: <a href="https://blog.singuerinc.com/2025-08-13-the-result-data-type">Type-Safe data flow between client &amp; server in Next.js applications</a></li><li>Clickhouse: <a href="https://clickhouse.com/blog/moosestack-does-olap-need-an-orm">Does OLAP need an ORM?</a> <ul><li>Plus, listen to our <a href="https://typescript.fm/7">ORMed and Dangerous</a> (Ep 7) deep dive episode!</li></ul></li></ul><p> </p><p><strong>Cool Stuff</strong></p><p><br></p><ul><li>More Excalibur Games!<ul><li><a href="https://daviderisaliti.itch.io/spookytruth">https://daviderisaliti.itch.io/spookytruth</a> </li><li><a href="https://daviderisaliti.itch.io/quadrush">https://daviderisaliti.itch.io/quadrush</a> </li><li><a href="https://mookie4242.itch.io/zombie-shooter-clone">https://mookie4242.itch.io/zombie-shooter-clone</a> </li></ul></li><li><a href="https://nextra.site">Nextra</a> – a Next.js static site generator with some built-in gizmos </li><li><a href="https://www.npmjs.com/package/editly">editly</a> – non-linear video editing with Node.js and ffmpeg</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:07) - News: Astro 5.13 Adds import.meta.env and Astro DB Enum Support</li>
<li>(06:47) - Community Highlight: Dr. Axel's Learning Web Dev Series</li>
<li>(07:47) - Community Highlight: Type-safe Data Flow Between Client and Server in Next.js by Nahuel Scotti</li>
<li>(08:45) - Community Highlight: Clickhouse Made an OLAP ORM with TS</li>
<li>(11:25) - Cool Link: nextra, a Next.js Static Site Generator</li>
<li>(11:50) - Cool Link: editly, Non-linear Video Editing in Node.js and ffmpeg</li>
<li>(12:33) - Cool Links: A Bunch of Excalibur Games!</li>
<li>(14:36) - The Minnesota Long Goodbye</li>
</ul><br><strong>News</strong><ul><li><a href="https://astro.build/blog/astro-5130/">Astro 5.13</a> </li></ul><p><strong>From the Community</strong></p><ul><li>Dr. Axel’s Blog <a href="https://2ality.com/2025/08/learning-web-dev-toc.html">Series on Learning Web Dev</a></li><li>Nahuel Scotti: <a href="https://blog.singuerinc.com/2025-08-13-the-result-data-type">Type-Safe data flow between client &amp; server in Next.js applications</a></li><li>Clickhouse: <a href="https://clickhouse.com/blog/moosestack-does-olap-need-an-orm">Does OLAP need an ORM?</a> <ul><li>Plus, listen to our <a href="https://typescript.fm/7">ORMed and Dangerous</a> (Ep 7) deep dive episode!</li></ul></li></ul><p> </p><p><strong>Cool Stuff</strong></p><p><br></p><ul><li>More Excalibur Games!<ul><li><a href="https://daviderisaliti.itch.io/spookytruth">https://daviderisaliti.itch.io/spookytruth</a> </li><li><a href="https://daviderisaliti.itch.io/quadrush">https://daviderisaliti.itch.io/quadrush</a> </li><li><a href="https://mookie4242.itch.io/zombie-shooter-clone">https://mookie4242.itch.io/zombie-shooter-clone</a> </li></ul></li><li><a href="https://nextra.site">Nextra</a> – a Next.js static site generator with some built-in gizmos </li><li><a href="https://www.npmjs.com/package/editly">editly</a> – non-linear video editing with Node.js and ffmpeg</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </content:encoded>
      <pubDate>Tue, 19 Aug 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/0e3613a4/576c8d96.mp3" length="8535918" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>1062</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(05:07) - News: Astro 5.13 Adds import.meta.env and Astro DB Enum Support</li>
<li>(06:47) - Community Highlight: Dr. Axel's Learning Web Dev Series</li>
<li>(07:47) - Community Highlight: Type-safe Data Flow Between Client and Server in Next.js by Nahuel Scotti</li>
<li>(08:45) - Community Highlight: Clickhouse Made an OLAP ORM with TS</li>
<li>(11:25) - Cool Link: nextra, a Next.js Static Site Generator</li>
<li>(11:50) - Cool Link: editly, Non-linear Video Editing in Node.js and ffmpeg</li>
<li>(12:33) - Cool Links: A Bunch of Excalibur Games!</li>
<li>(14:36) - The Minnesota Long Goodbye</li>
</ul><br><strong>News</strong><ul><li><a href="https://astro.build/blog/astro-5130/">Astro 5.13</a> </li></ul><p><strong>From the Community</strong></p><ul><li>Dr. Axel’s Blog <a href="https://2ality.com/2025/08/learning-web-dev-toc.html">Series on Learning Web Dev</a></li><li>Nahuel Scotti: <a href="https://blog.singuerinc.com/2025-08-13-the-result-data-type">Type-Safe data flow between client &amp; server in Next.js applications</a></li><li>Clickhouse: <a href="https://clickhouse.com/blog/moosestack-does-olap-need-an-orm">Does OLAP need an ORM?</a> <ul><li>Plus, listen to our <a href="https://typescript.fm/7">ORMed and Dangerous</a> (Ep 7) deep dive episode!</li></ul></li></ul><p> </p><p><strong>Cool Stuff</strong></p><p><br></p><ul><li>More Excalibur Games!<ul><li><a href="https://daviderisaliti.itch.io/spookytruth">https://daviderisaliti.itch.io/spookytruth</a> </li><li><a href="https://daviderisaliti.itch.io/quadrush">https://daviderisaliti.itch.io/quadrush</a> </li><li><a href="https://mookie4242.itch.io/zombie-shooter-clone">https://mookie4242.itch.io/zombie-shooter-clone</a> </li></ul></li><li><a href="https://nextra.site">Nextra</a> – a Next.js static site generator with some built-in gizmos </li><li><a href="https://www.npmjs.com/package/editly">editly</a> – non-linear video editing with Node.js and ffmpeg</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/0e3613a4/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>WebStorm Supports TS Go, V8 Stringifies JSON 2X Faster, and a TypeScript AI Conference | News | Ep 30</title>
      <itunes:episode>30</itunes:episode>
      <podcast:episode>30</podcast:episode>
      <itunes:title>WebStorm Supports TS Go, V8 Stringifies JSON 2X Faster, and a TypeScript AI Conference | News | Ep 30</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">ad1d2805-2246-41a9-93ef-19ee1e0c7407</guid>
      <link>https://share.transistor.fm/s/0c4f280f</link>
      <description>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(04:52) - News: Erik's High Performance JavaScript Talk is OUT!</li>
<li>(06:02) - News: WebStorm 2025.2 Features TypeScript Go Language Server Support</li>
<li>(06:57) - News: V8 Improved JSON Stringify Perf by More than 2X</li>
<li>(10:54) - News: Bun 1.2.20 Includes Type-level Assertions and TS 5.9 Support</li>
<li>(12:24) - News: Mastra is Hosting a TypeScript AI Conference</li>
<li>(19:58) - Community Highlight: How I Built CSS' light-dark() Function in TypeScript by Robert Hameetman</li>
<li>(21:32) - Community Highlight: Type-Aware Linting with Oxlint</li>
<li>(22:39) - Tool Watch: Prevent ReDOS Attacks with regolith</li>
<li>(24:20) - Tool Watch: Filter tsc Errors by File or Folder Using tsef</li>
<li>(25:57) - Community Highlight: Tools or Libraries That Make Your Life Easier With TypeScript</li>
<li>(30:16) - Community Highlight: A Fast-paced Lumberjack Game Built with Excalibur.js</li>
<li>(30:51) - Community Highlight: Daniel Ehrenberg on How JavaScript Evolves by Weekly DevBrew</li>
<li>(31:10) - Community Highlight: Joke Bailey</li>
<li>(31:51) - Secret of the Handbook: Indexed Types</li>
<li>(36:20) - Cool Link: Speeding Up the semver Package</li>
<li>(38:36) - Cool Link: Enhance.dev, an HTML-first Full Stack Web Framework</li>
<li>(39:37) - Cool Link: mitata, a Benchmarking Tool That Loves You</li>
<li>(40:44) - Cool Link: Why contenteditable on Android is the Absolute Worst</li>
<li>(41:56) - Cool Link: Creating Legal Documents with Markdown</li>
<li>(43:18) - The Minnesota Long Goodbye</li>
</ul><br><strong>News</strong><ul><li>Erik’s talk is live! <a href="https://www.youtube.com/watch?v=xCB9cB9YZL8">JavaScript Blazingly FAST! Lessons from a Game Engine</a></li><li><a href="https://blog.jetbrains.com/webstorm/2025/08/webstorm-2025-2/">WebStorm 2025.2: TypeScript-Go Language Server Support</a></li><li>V8 engine: <a href="https://v8.dev/blog/json-stringify">How we made JSON.stringify more than twice as fast</a></li><li><a href="https://bun.com/blog/bun-v1.2.20">Bun v1.2.20</a> includes type-level assertions and @bun/types fixes for TS 5.9</li><li><a href="https://mastra.ai/conf">Mastra announces TypeScript AI conference</a></li></ul><p><strong>From the Community</strong></p><ul><li>Robert Hameetman: <a href="https://blog.robhameetman.com/p/how-i-built-csss-light-dark-in-typescript">How I Built CSS's light-dark() in TypeScript</a> </li><li>Boshen: <a href="https://bsky.app/profile/boshen.github.io/post/3lvt3u7sr722e">Oxlint working on type-aware linting with TSGo</a> (experimental)</li><li><a href="https://github.com/JakeRoggenbuck/regolith">JakeRoggenbuck/regolith</a>: Safely write RegExp that are ReDOS-proof<ul><li>PS. Listen to the <a href="https://typescript.fm/bonus28">TypeScript Security episode with Liran Tal</a></li></ul></li><li><a href="https://github.com/iostreamer-X/tsef">iostreamer-X/tsef</a>: CLI tool to filter tsc output and only show errors for specific files and directories<ul><li>Could be a good companion to <a href="https://dev.to/ycmjason/introducing-ts-migrating-the-best-way-to-upgrade-your-tsconfig-2jmn">ts-migrating</a> by Jason Yu</li></ul></li><li>Reddit: <a href="https://www.reddit.com/r/typescript/s/WzZI5WpCvH">What tools and libraries do you use with TypeScript to make your dev life easier?</a><ul><li><a href="https://github.com/gvergnaud/ts-pattern">ts-pattern</a></li><li><a href="https://zod.dev/">Zod</a></li><li><a href="https://github.com/evilmartians/lefthook">Lefthook</a></li><li><a href="https://effect.website/">Effect.ts</a> and <a href="https://xstate.js.org/">Xstate</a></li><li><a href="https://www.npmjs.com/package/neverthrow">neverthrow</a></li></ul></li><li><a href="https://mookie4242.itch.io/timber-clone">Timber Clone</a>: An Excalibur game (written in TS!)<ul><li>Source code: <a href="https://github.com/jyoung4242/TimberEx">jyoung4242/TimberEx</a> </li></ul></li><li><a href="https://bsky.app/profile/weeklybrew.dev/post/3lvktfetgte25">Weekly Dev Brew with Daniel Ehrenberg</a> (President of Ecma International &amp; TC39 veteran)</li><li><a href="https://bsky.app/profile/jakebailey.dev/post/3lvwxhouau22m">Joke Bailey</a> on Why is TS is so slow?!</li></ul><p><strong>Secret of the Handbook</strong></p><ul><li>Typescript Indexed Types<ul><li><a href="https://github.com/excaliburjs/Excalibur/blob/main/src/engine/Util/StateMachine.ts#L15">Example 1</a></li><li><a href="https://github.com/excaliburjs/Excalibur/pull/3472/files#diff-e2f873de3f2b93e8fa91109234ff4acc156a19b1bd890285cbd09f65021dd987">Example 2</a></li></ul></li></ul><p> </p><p><strong>Cool Stuff</strong></p><ul><li>MarvinH: <a href="https://marvinh.dev/blog/speeding-up-javascript-ecosystem-part-12/">Speeding up the JavaScript ecosystem - Semver</a> <ul><li>Plus a cool profiling viewer, <a href="https://discoveryjs.github.io/cpupro/">cpupro</a></li></ul></li><li><a href="https://enhance.dev/">Enhance</a>, an HTML-first full stack web dev framework</li><li><a href="https://github.com/evanwashere/mitata">evanwashere/mitata: benchmark tooling that loves you ❤️</a> </li><li><a href="https://discuss.prosemirror.net/t/contenteditable-on-android-is-the-absolute-worst/3810">Contenteditable on Android is the Absolute Worst</a> (But, <a href="https://prosemirror.net/">ProseMirror</a> looks really cool) </li><li><a href="https://github.com/petalo/legal-markdown-js">petalo/legal-markdown-js</a>: Write legal docs in Markdown and TS</li><li><a href="https://supabase.com">Supabase</a>, hosted Postgres</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(04:52) - News: Erik's High Performance JavaScript Talk is OUT!</li>
<li>(06:02) - News: WebStorm 2025.2 Features TypeScript Go Language Server Support</li>
<li>(06:57) - News: V8 Improved JSON Stringify Perf by More than 2X</li>
<li>(10:54) - News: Bun 1.2.20 Includes Type-level Assertions and TS 5.9 Support</li>
<li>(12:24) - News: Mastra is Hosting a TypeScript AI Conference</li>
<li>(19:58) - Community Highlight: How I Built CSS' light-dark() Function in TypeScript by Robert Hameetman</li>
<li>(21:32) - Community Highlight: Type-Aware Linting with Oxlint</li>
<li>(22:39) - Tool Watch: Prevent ReDOS Attacks with regolith</li>
<li>(24:20) - Tool Watch: Filter tsc Errors by File or Folder Using tsef</li>
<li>(25:57) - Community Highlight: Tools or Libraries That Make Your Life Easier With TypeScript</li>
<li>(30:16) - Community Highlight: A Fast-paced Lumberjack Game Built with Excalibur.js</li>
<li>(30:51) - Community Highlight: Daniel Ehrenberg on How JavaScript Evolves by Weekly DevBrew</li>
<li>(31:10) - Community Highlight: Joke Bailey</li>
<li>(31:51) - Secret of the Handbook: Indexed Types</li>
<li>(36:20) - Cool Link: Speeding Up the semver Package</li>
<li>(38:36) - Cool Link: Enhance.dev, an HTML-first Full Stack Web Framework</li>
<li>(39:37) - Cool Link: mitata, a Benchmarking Tool That Loves You</li>
<li>(40:44) - Cool Link: Why contenteditable on Android is the Absolute Worst</li>
<li>(41:56) - Cool Link: Creating Legal Documents with Markdown</li>
<li>(43:18) - The Minnesota Long Goodbye</li>
</ul><br><strong>News</strong><ul><li>Erik’s talk is live! <a href="https://www.youtube.com/watch?v=xCB9cB9YZL8">JavaScript Blazingly FAST! Lessons from a Game Engine</a></li><li><a href="https://blog.jetbrains.com/webstorm/2025/08/webstorm-2025-2/">WebStorm 2025.2: TypeScript-Go Language Server Support</a></li><li>V8 engine: <a href="https://v8.dev/blog/json-stringify">How we made JSON.stringify more than twice as fast</a></li><li><a href="https://bun.com/blog/bun-v1.2.20">Bun v1.2.20</a> includes type-level assertions and @bun/types fixes for TS 5.9</li><li><a href="https://mastra.ai/conf">Mastra announces TypeScript AI conference</a></li></ul><p><strong>From the Community</strong></p><ul><li>Robert Hameetman: <a href="https://blog.robhameetman.com/p/how-i-built-csss-light-dark-in-typescript">How I Built CSS's light-dark() in TypeScript</a> </li><li>Boshen: <a href="https://bsky.app/profile/boshen.github.io/post/3lvt3u7sr722e">Oxlint working on type-aware linting with TSGo</a> (experimental)</li><li><a href="https://github.com/JakeRoggenbuck/regolith">JakeRoggenbuck/regolith</a>: Safely write RegExp that are ReDOS-proof<ul><li>PS. Listen to the <a href="https://typescript.fm/bonus28">TypeScript Security episode with Liran Tal</a></li></ul></li><li><a href="https://github.com/iostreamer-X/tsef">iostreamer-X/tsef</a>: CLI tool to filter tsc output and only show errors for specific files and directories<ul><li>Could be a good companion to <a href="https://dev.to/ycmjason/introducing-ts-migrating-the-best-way-to-upgrade-your-tsconfig-2jmn">ts-migrating</a> by Jason Yu</li></ul></li><li>Reddit: <a href="https://www.reddit.com/r/typescript/s/WzZI5WpCvH">What tools and libraries do you use with TypeScript to make your dev life easier?</a><ul><li><a href="https://github.com/gvergnaud/ts-pattern">ts-pattern</a></li><li><a href="https://zod.dev/">Zod</a></li><li><a href="https://github.com/evilmartians/lefthook">Lefthook</a></li><li><a href="https://effect.website/">Effect.ts</a> and <a href="https://xstate.js.org/">Xstate</a></li><li><a href="https://www.npmjs.com/package/neverthrow">neverthrow</a></li></ul></li><li><a href="https://mookie4242.itch.io/timber-clone">Timber Clone</a>: An Excalibur game (written in TS!)<ul><li>Source code: <a href="https://github.com/jyoung4242/TimberEx">jyoung4242/TimberEx</a> </li></ul></li><li><a href="https://bsky.app/profile/weeklybrew.dev/post/3lvktfetgte25">Weekly Dev Brew with Daniel Ehrenberg</a> (President of Ecma International &amp; TC39 veteran)</li><li><a href="https://bsky.app/profile/jakebailey.dev/post/3lvwxhouau22m">Joke Bailey</a> on Why is TS is so slow?!</li></ul><p><strong>Secret of the Handbook</strong></p><ul><li>Typescript Indexed Types<ul><li><a href="https://github.com/excaliburjs/Excalibur/blob/main/src/engine/Util/StateMachine.ts#L15">Example 1</a></li><li><a href="https://github.com/excaliburjs/Excalibur/pull/3472/files#diff-e2f873de3f2b93e8fa91109234ff4acc156a19b1bd890285cbd09f65021dd987">Example 2</a></li></ul></li></ul><p> </p><p><strong>Cool Stuff</strong></p><ul><li>MarvinH: <a href="https://marvinh.dev/blog/speeding-up-javascript-ecosystem-part-12/">Speeding up the JavaScript ecosystem - Semver</a> <ul><li>Plus a cool profiling viewer, <a href="https://discoveryjs.github.io/cpupro/">cpupro</a></li></ul></li><li><a href="https://enhance.dev/">Enhance</a>, an HTML-first full stack web dev framework</li><li><a href="https://github.com/evanwashere/mitata">evanwashere/mitata: benchmark tooling that loves you ❤️</a> </li><li><a href="https://discuss.prosemirror.net/t/contenteditable-on-android-is-the-absolute-worst/3810">Contenteditable on Android is the Absolute Worst</a> (But, <a href="https://prosemirror.net/">ProseMirror</a> looks really cool) </li><li><a href="https://github.com/petalo/legal-markdown-js">petalo/legal-markdown-js</a>: Write legal docs in Markdown and TS</li><li><a href="https://supabase.com">Supabase</a>, hosted Postgres</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Tue, 12 Aug 2025 13:08:07 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/0c4f280f/ec982bb2.mp3" length="23495656" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2932</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Welcome to the Show</li>
<li>(04:52) - News: Erik's High Performance JavaScript Talk is OUT!</li>
<li>(06:02) - News: WebStorm 2025.2 Features TypeScript Go Language Server Support</li>
<li>(06:57) - News: V8 Improved JSON Stringify Perf by More than 2X</li>
<li>(10:54) - News: Bun 1.2.20 Includes Type-level Assertions and TS 5.9 Support</li>
<li>(12:24) - News: Mastra is Hosting a TypeScript AI Conference</li>
<li>(19:58) - Community Highlight: How I Built CSS' light-dark() Function in TypeScript by Robert Hameetman</li>
<li>(21:32) - Community Highlight: Type-Aware Linting with Oxlint</li>
<li>(22:39) - Tool Watch: Prevent ReDOS Attacks with regolith</li>
<li>(24:20) - Tool Watch: Filter tsc Errors by File or Folder Using tsef</li>
<li>(25:57) - Community Highlight: Tools or Libraries That Make Your Life Easier With TypeScript</li>
<li>(30:16) - Community Highlight: A Fast-paced Lumberjack Game Built with Excalibur.js</li>
<li>(30:51) - Community Highlight: Daniel Ehrenberg on How JavaScript Evolves by Weekly DevBrew</li>
<li>(31:10) - Community Highlight: Joke Bailey</li>
<li>(31:51) - Secret of the Handbook: Indexed Types</li>
<li>(36:20) - Cool Link: Speeding Up the semver Package</li>
<li>(38:36) - Cool Link: Enhance.dev, an HTML-first Full Stack Web Framework</li>
<li>(39:37) - Cool Link: mitata, a Benchmarking Tool That Loves You</li>
<li>(40:44) - Cool Link: Why contenteditable on Android is the Absolute Worst</li>
<li>(41:56) - Cool Link: Creating Legal Documents with Markdown</li>
<li>(43:18) - The Minnesota Long Goodbye</li>
</ul><br><strong>News</strong><ul><li>Erik’s talk is live! <a href="https://www.youtube.com/watch?v=xCB9cB9YZL8">JavaScript Blazingly FAST! Lessons from a Game Engine</a></li><li><a href="https://blog.jetbrains.com/webstorm/2025/08/webstorm-2025-2/">WebStorm 2025.2: TypeScript-Go Language Server Support</a></li><li>V8 engine: <a href="https://v8.dev/blog/json-stringify">How we made JSON.stringify more than twice as fast</a></li><li><a href="https://bun.com/blog/bun-v1.2.20">Bun v1.2.20</a> includes type-level assertions and @bun/types fixes for TS 5.9</li><li><a href="https://mastra.ai/conf">Mastra announces TypeScript AI conference</a></li></ul><p><strong>From the Community</strong></p><ul><li>Robert Hameetman: <a href="https://blog.robhameetman.com/p/how-i-built-csss-light-dark-in-typescript">How I Built CSS's light-dark() in TypeScript</a> </li><li>Boshen: <a href="https://bsky.app/profile/boshen.github.io/post/3lvt3u7sr722e">Oxlint working on type-aware linting with TSGo</a> (experimental)</li><li><a href="https://github.com/JakeRoggenbuck/regolith">JakeRoggenbuck/regolith</a>: Safely write RegExp that are ReDOS-proof<ul><li>PS. Listen to the <a href="https://typescript.fm/bonus28">TypeScript Security episode with Liran Tal</a></li></ul></li><li><a href="https://github.com/iostreamer-X/tsef">iostreamer-X/tsef</a>: CLI tool to filter tsc output and only show errors for specific files and directories<ul><li>Could be a good companion to <a href="https://dev.to/ycmjason/introducing-ts-migrating-the-best-way-to-upgrade-your-tsconfig-2jmn">ts-migrating</a> by Jason Yu</li></ul></li><li>Reddit: <a href="https://www.reddit.com/r/typescript/s/WzZI5WpCvH">What tools and libraries do you use with TypeScript to make your dev life easier?</a><ul><li><a href="https://github.com/gvergnaud/ts-pattern">ts-pattern</a></li><li><a href="https://zod.dev/">Zod</a></li><li><a href="https://github.com/evilmartians/lefthook">Lefthook</a></li><li><a href="https://effect.website/">Effect.ts</a> and <a href="https://xstate.js.org/">Xstate</a></li><li><a href="https://www.npmjs.com/package/neverthrow">neverthrow</a></li></ul></li><li><a href="https://mookie4242.itch.io/timber-clone">Timber Clone</a>: An Excalibur game (written in TS!)<ul><li>Source code: <a href="https://github.com/jyoung4242/TimberEx">jyoung4242/TimberEx</a> </li></ul></li><li><a href="https://bsky.app/profile/weeklybrew.dev/post/3lvktfetgte25">Weekly Dev Brew with Daniel Ehrenberg</a> (President of Ecma International &amp; TC39 veteran)</li><li><a href="https://bsky.app/profile/jakebailey.dev/post/3lvwxhouau22m">Joke Bailey</a> on Why is TS is so slow?!</li></ul><p><strong>Secret of the Handbook</strong></p><ul><li>Typescript Indexed Types<ul><li><a href="https://github.com/excaliburjs/Excalibur/blob/main/src/engine/Util/StateMachine.ts#L15">Example 1</a></li><li><a href="https://github.com/excaliburjs/Excalibur/pull/3472/files#diff-e2f873de3f2b93e8fa91109234ff4acc156a19b1bd890285cbd09f65021dd987">Example 2</a></li></ul></li></ul><p> </p><p><strong>Cool Stuff</strong></p><ul><li>MarvinH: <a href="https://marvinh.dev/blog/speeding-up-javascript-ecosystem-part-12/">Speeding up the JavaScript ecosystem - Semver</a> <ul><li>Plus a cool profiling viewer, <a href="https://discoveryjs.github.io/cpupro/">cpupro</a></li></ul></li><li><a href="https://enhance.dev/">Enhance</a>, an HTML-first full stack web dev framework</li><li><a href="https://github.com/evanwashere/mitata">evanwashere/mitata: benchmark tooling that loves you ❤️</a> </li><li><a href="https://discuss.prosemirror.net/t/contenteditable-on-android-is-the-absolute-worst/3810">Contenteditable on Android is the Absolute Worst</a> (But, <a href="https://prosemirror.net/">ProseMirror</a> looks really cool) </li><li><a href="https://github.com/petalo/legal-markdown-js">petalo/legal-markdown-js</a>: Write legal docs in Markdown and TS</li><li><a href="https://supabase.com">Supabase</a>, hosted Postgres</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/0c4f280f/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>State of TypeScript Linting 2025 | Joshua Goldberg | Ep 29B</title>
      <itunes:episode>29</itunes:episode>
      <podcast:episode>29</podcast:episode>
      <itunes:title>State of TypeScript Linting 2025 | Joshua Goldberg | Ep 29B</itunes:title>
      <itunes:episodeType>bonus</itunes:episodeType>
      <guid isPermaLink="false">b870e376-e331-40f1-ba29-36b20c043ed2</guid>
      <link>https://share.transistor.fm/s/6dba5159</link>
      <description>
        <![CDATA[<p>Joshua Goldberg (<a href="https://joshuakgoldberg.com/">JoshuaKGoldberg.com</a>), 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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introducing Josh Goldberg</li>
<li>(02:10) - Why Are There So Many Linters?</li>
<li>(02:48) - Why Do I Need a Linter With TypeScript, Anyway?</li>
<li>(04:13) - Landscape of Linters in 2025</li>
<li>(06:56) - How Does TypeScript Linting Actually Work?</li>
<li>(08:15) - Creating Type-aware Native Speed Linters</li>
<li>(11:06) - What Would the Ideal Linter Look Like?</li>
<li>(12:48) - Where is the Bottleneck in Type-aware Linting?</li>
<li>(15:15) - Are Native Speed Linters the Answer?</li>
<li>(21:03) - Okay, So Which Linter Should I Use?</li>
<li>(23:33) - Are There Some Golden Type-aware Rules to Use?</li>
<li>(24:44) - Customizing Your Linting Setup</li>
<li>(27:05) - Writing Your Own Custom Lint Rules</li>
<li>(31:08) - Josh's Recommended ESLint Plugins</li>
<li>(34:15) - Future of Linting with Flint</li>
<li>(36:37) - Attend SquiggleConf 2025 in Boston</li>
</ul><br><strong>Linters</strong><ul><li><a href="https://typescript-eslint.io/">typescript-eslint</a> (stable) – TypeScript, most type-aware lint rules</li><li><a href="https://oxc.rs/docs/guide/usage/linter">oxlint</a> (stable) – Rust, no type-aware lint rules</li><li><a href="https://biomejs.dev/">Biome</a> (stable) – Rust, limited type-aware lint rules in V2</li><li><a href="https://github.com/johnsoncodehk/tsslint">tsslint</a> (stable) – TypeScript, integrates with tsserver, custom rules with TS compiler API</li><li><a href="https://www.npmjs.com/package/tsl">tsl</a> (new) – tsc plugin that ports a selection of typescript-eslint type-aware lint rules</li><li><a href="https://docs.deno.com/runtime/reference/cli/lint/">Deno lint</a> (stable) – Rust, subset of ESLint rules, no type-aware lint rules</li><li><a href="https://github.com/JoshuaKGoldberg/flint">Flint</a> (unstable) – TypeScript, Josh’s fast, friendly linter, still in development</li><li><a href="https://github.com/typescript-eslint/tsgolint">tsgolint</a> (prototype) – Go, proof-of-concept experimental TypeScript Native integration</li></ul><p><br></p><p><strong>Resources</strong></p><ul><li>Learn: <a href="https://typescript.fm/10">Vanilla TypeScript Experience</a></li><li>Learn: <a href="https://typescript-eslint.io/blog/asts-and-typescript-eslint/">ASTs and typescript-eslint</a></li><li>Learn: <a href="https://www.joshuakgoldberg.com/blog/if-i-wrote-a-linter-part-4-summary/">If I Wrote a Linter, Part 4: Summary</a> </li><li>Learn: <a href="https://youtu.be/9lBj_gqzeec?si=IgyblJxwMuEzhY9N">TypedRocks Builds a Type-aware ESLint Plugin</a></li><li><a href="https://github.com/dustinspecker/awesome-eslint">DustinSpecker/awesome-eslint</a> – a list of awesome ESLint plugins and resources</li><li><a href="https://github.com/JoshuaKGoldberg/create-typescript-app">JoshuaKGoldberg/create-typescript-app</a> – pick and choose the rules you like</li><li>ESLint now supports linting for <a href="https://eslint.org/blog/2024/10/eslint-json-markdown-support/">Markdown</a> and <a href="https://eslint.org/blog/2025/02/eslint-css-support/">CSS</a></li><li>Josh’s Favorite Rules and Plugins:<ul><li><a href="https://typescript-eslint.io/rules/no-floating-promises/">typescript-eslint/no-floating-promises</a> – to avoid non-awaited Promises</li><li><a href="https://typescript-eslint.io/rules/no-deprecated/">typescript-eslint/no-deprecated</a> – to avoid calling deprecated APIs</li><li><a href="https://www.npmjs.com/package/eslint-plugin-regex">eslint-plugin-regex</a> – to catch ReDOS vulnerabilities</li><li><a href="https://www.npmjs.com/package/eslint-plugin-n">eslint-plugin-n</a> – for <a href="http://node.js">Node.js</a> projects</li><li><a href="https://www.npmjs.com/package/eslint-plugin-jsdoc">eslint-plugin-jsdoc</a> – for the “informative docs” rule</li><li><a href="http://npmjs.com/package/eslint-plugin-erasable-syntax-only">eslint-plugin-erasable-syntax-only</a> – to enforce erasable syntax in your TS project (prior to TS 5.8)</li><li><a href="https://www.npmjs.com/package/eslint-plugin-package-json">eslint-plugin-package-json</a> – lint your package.json file</li></ul></li></ul><p><br></p><p><strong>Where to Find Josh</strong></p><ul><li><a href="https://joshuakgoldberg.com">JoshuaKGoldberg.com</a></li><li><a href="https://discord.gg/rdC2XPCmn5">Flint Discord</a></li><li><a href="https://bsky.app/profile/joshuakgoldberg.com">Josh on BlueSky</a></li><li><a href="https://fosstodon.org/@JoshuaKGoldberg">Josh on Fosstodon</a></li><li><a href="https://github.com/joshuakgoldberg">Josh on GitHub</a></li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Joshua Goldberg (<a href="https://joshuakgoldberg.com/">JoshuaKGoldberg.com</a>), 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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introducing Josh Goldberg</li>
<li>(02:10) - Why Are There So Many Linters?</li>
<li>(02:48) - Why Do I Need a Linter With TypeScript, Anyway?</li>
<li>(04:13) - Landscape of Linters in 2025</li>
<li>(06:56) - How Does TypeScript Linting Actually Work?</li>
<li>(08:15) - Creating Type-aware Native Speed Linters</li>
<li>(11:06) - What Would the Ideal Linter Look Like?</li>
<li>(12:48) - Where is the Bottleneck in Type-aware Linting?</li>
<li>(15:15) - Are Native Speed Linters the Answer?</li>
<li>(21:03) - Okay, So Which Linter Should I Use?</li>
<li>(23:33) - Are There Some Golden Type-aware Rules to Use?</li>
<li>(24:44) - Customizing Your Linting Setup</li>
<li>(27:05) - Writing Your Own Custom Lint Rules</li>
<li>(31:08) - Josh's Recommended ESLint Plugins</li>
<li>(34:15) - Future of Linting with Flint</li>
<li>(36:37) - Attend SquiggleConf 2025 in Boston</li>
</ul><br><strong>Linters</strong><ul><li><a href="https://typescript-eslint.io/">typescript-eslint</a> (stable) – TypeScript, most type-aware lint rules</li><li><a href="https://oxc.rs/docs/guide/usage/linter">oxlint</a> (stable) – Rust, no type-aware lint rules</li><li><a href="https://biomejs.dev/">Biome</a> (stable) – Rust, limited type-aware lint rules in V2</li><li><a href="https://github.com/johnsoncodehk/tsslint">tsslint</a> (stable) – TypeScript, integrates with tsserver, custom rules with TS compiler API</li><li><a href="https://www.npmjs.com/package/tsl">tsl</a> (new) – tsc plugin that ports a selection of typescript-eslint type-aware lint rules</li><li><a href="https://docs.deno.com/runtime/reference/cli/lint/">Deno lint</a> (stable) – Rust, subset of ESLint rules, no type-aware lint rules</li><li><a href="https://github.com/JoshuaKGoldberg/flint">Flint</a> (unstable) – TypeScript, Josh’s fast, friendly linter, still in development</li><li><a href="https://github.com/typescript-eslint/tsgolint">tsgolint</a> (prototype) – Go, proof-of-concept experimental TypeScript Native integration</li></ul><p><br></p><p><strong>Resources</strong></p><ul><li>Learn: <a href="https://typescript.fm/10">Vanilla TypeScript Experience</a></li><li>Learn: <a href="https://typescript-eslint.io/blog/asts-and-typescript-eslint/">ASTs and typescript-eslint</a></li><li>Learn: <a href="https://www.joshuakgoldberg.com/blog/if-i-wrote-a-linter-part-4-summary/">If I Wrote a Linter, Part 4: Summary</a> </li><li>Learn: <a href="https://youtu.be/9lBj_gqzeec?si=IgyblJxwMuEzhY9N">TypedRocks Builds a Type-aware ESLint Plugin</a></li><li><a href="https://github.com/dustinspecker/awesome-eslint">DustinSpecker/awesome-eslint</a> – a list of awesome ESLint plugins and resources</li><li><a href="https://github.com/JoshuaKGoldberg/create-typescript-app">JoshuaKGoldberg/create-typescript-app</a> – pick and choose the rules you like</li><li>ESLint now supports linting for <a href="https://eslint.org/blog/2024/10/eslint-json-markdown-support/">Markdown</a> and <a href="https://eslint.org/blog/2025/02/eslint-css-support/">CSS</a></li><li>Josh’s Favorite Rules and Plugins:<ul><li><a href="https://typescript-eslint.io/rules/no-floating-promises/">typescript-eslint/no-floating-promises</a> – to avoid non-awaited Promises</li><li><a href="https://typescript-eslint.io/rules/no-deprecated/">typescript-eslint/no-deprecated</a> – to avoid calling deprecated APIs</li><li><a href="https://www.npmjs.com/package/eslint-plugin-regex">eslint-plugin-regex</a> – to catch ReDOS vulnerabilities</li><li><a href="https://www.npmjs.com/package/eslint-plugin-n">eslint-plugin-n</a> – for <a href="http://node.js">Node.js</a> projects</li><li><a href="https://www.npmjs.com/package/eslint-plugin-jsdoc">eslint-plugin-jsdoc</a> – for the “informative docs” rule</li><li><a href="http://npmjs.com/package/eslint-plugin-erasable-syntax-only">eslint-plugin-erasable-syntax-only</a> – to enforce erasable syntax in your TS project (prior to TS 5.8)</li><li><a href="https://www.npmjs.com/package/eslint-plugin-package-json">eslint-plugin-package-json</a> – lint your package.json file</li></ul></li></ul><p><br></p><p><strong>Where to Find Josh</strong></p><ul><li><a href="https://joshuakgoldberg.com">JoshuaKGoldberg.com</a></li><li><a href="https://discord.gg/rdC2XPCmn5">Flint Discord</a></li><li><a href="https://bsky.app/profile/joshuakgoldberg.com">Josh on BlueSky</a></li><li><a href="https://fosstodon.org/@JoshuaKGoldberg">Josh on Fosstodon</a></li><li><a href="https://github.com/joshuakgoldberg">Josh on GitHub</a></li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Thu, 07 Aug 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/6dba5159/797af303.mp3" length="20142564" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2513</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Joshua Goldberg (<a href="https://joshuakgoldberg.com/">JoshuaKGoldberg.com</a>), 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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introducing Josh Goldberg</li>
<li>(02:10) - Why Are There So Many Linters?</li>
<li>(02:48) - Why Do I Need a Linter With TypeScript, Anyway?</li>
<li>(04:13) - Landscape of Linters in 2025</li>
<li>(06:56) - How Does TypeScript Linting Actually Work?</li>
<li>(08:15) - Creating Type-aware Native Speed Linters</li>
<li>(11:06) - What Would the Ideal Linter Look Like?</li>
<li>(12:48) - Where is the Bottleneck in Type-aware Linting?</li>
<li>(15:15) - Are Native Speed Linters the Answer?</li>
<li>(21:03) - Okay, So Which Linter Should I Use?</li>
<li>(23:33) - Are There Some Golden Type-aware Rules to Use?</li>
<li>(24:44) - Customizing Your Linting Setup</li>
<li>(27:05) - Writing Your Own Custom Lint Rules</li>
<li>(31:08) - Josh's Recommended ESLint Plugins</li>
<li>(34:15) - Future of Linting with Flint</li>
<li>(36:37) - Attend SquiggleConf 2025 in Boston</li>
</ul><br><strong>Linters</strong><ul><li><a href="https://typescript-eslint.io/">typescript-eslint</a> (stable) – TypeScript, most type-aware lint rules</li><li><a href="https://oxc.rs/docs/guide/usage/linter">oxlint</a> (stable) – Rust, no type-aware lint rules</li><li><a href="https://biomejs.dev/">Biome</a> (stable) – Rust, limited type-aware lint rules in V2</li><li><a href="https://github.com/johnsoncodehk/tsslint">tsslint</a> (stable) – TypeScript, integrates with tsserver, custom rules with TS compiler API</li><li><a href="https://www.npmjs.com/package/tsl">tsl</a> (new) – tsc plugin that ports a selection of typescript-eslint type-aware lint rules</li><li><a href="https://docs.deno.com/runtime/reference/cli/lint/">Deno lint</a> (stable) – Rust, subset of ESLint rules, no type-aware lint rules</li><li><a href="https://github.com/JoshuaKGoldberg/flint">Flint</a> (unstable) – TypeScript, Josh’s fast, friendly linter, still in development</li><li><a href="https://github.com/typescript-eslint/tsgolint">tsgolint</a> (prototype) – Go, proof-of-concept experimental TypeScript Native integration</li></ul><p><br></p><p><strong>Resources</strong></p><ul><li>Learn: <a href="https://typescript.fm/10">Vanilla TypeScript Experience</a></li><li>Learn: <a href="https://typescript-eslint.io/blog/asts-and-typescript-eslint/">ASTs and typescript-eslint</a></li><li>Learn: <a href="https://www.joshuakgoldberg.com/blog/if-i-wrote-a-linter-part-4-summary/">If I Wrote a Linter, Part 4: Summary</a> </li><li>Learn: <a href="https://youtu.be/9lBj_gqzeec?si=IgyblJxwMuEzhY9N">TypedRocks Builds a Type-aware ESLint Plugin</a></li><li><a href="https://github.com/dustinspecker/awesome-eslint">DustinSpecker/awesome-eslint</a> – a list of awesome ESLint plugins and resources</li><li><a href="https://github.com/JoshuaKGoldberg/create-typescript-app">JoshuaKGoldberg/create-typescript-app</a> – pick and choose the rules you like</li><li>ESLint now supports linting for <a href="https://eslint.org/blog/2024/10/eslint-json-markdown-support/">Markdown</a> and <a href="https://eslint.org/blog/2025/02/eslint-css-support/">CSS</a></li><li>Josh’s Favorite Rules and Plugins:<ul><li><a href="https://typescript-eslint.io/rules/no-floating-promises/">typescript-eslint/no-floating-promises</a> – to avoid non-awaited Promises</li><li><a href="https://typescript-eslint.io/rules/no-deprecated/">typescript-eslint/no-deprecated</a> – to avoid calling deprecated APIs</li><li><a href="https://www.npmjs.com/package/eslint-plugin-regex">eslint-plugin-regex</a> – to catch ReDOS vulnerabilities</li><li><a href="https://www.npmjs.com/package/eslint-plugin-n">eslint-plugin-n</a> – for <a href="http://node.js">Node.js</a> projects</li><li><a href="https://www.npmjs.com/package/eslint-plugin-jsdoc">eslint-plugin-jsdoc</a> – for the “informative docs” rule</li><li><a href="http://npmjs.com/package/eslint-plugin-erasable-syntax-only">eslint-plugin-erasable-syntax-only</a> – to enforce erasable syntax in your TS project (prior to TS 5.8)</li><li><a href="https://www.npmjs.com/package/eslint-plugin-package-json">eslint-plugin-package-json</a> – lint your package.json file</li></ul></li></ul><p><br></p><p><strong>Where to Find Josh</strong></p><ul><li><a href="https://joshuakgoldberg.com">JoshuaKGoldberg.com</a></li><li><a href="https://discord.gg/rdC2XPCmn5">Flint Discord</a></li><li><a href="https://bsky.app/profile/joshuakgoldberg.com">Josh on BlueSky</a></li><li><a href="https://fosstodon.org/@JoshuaKGoldberg">Josh on Fosstodon</a></li><li><a href="https://github.com/joshuakgoldberg">Josh on GitHub</a></li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:person role="Guest" href="https://www.joshuakgoldberg.com/" img="https://img.transistorcdn.com/ZjGsQJKoUK_k2Mf3yigbJ_7WXCQvaBPOG1eWbYVmfG8/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS82NTQz/YzJhYzJkOTM0YmI3/YmNhOTMzYWUzYTQ3/NTNiNy5qcGVn.jpg">Josh Goldberg 💖</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/6dba5159/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Node 22.18 LTS Green Lights TypeScript for Orgs | News | Ep 29</title>
      <itunes:episode>29</itunes:episode>
      <podcast:episode>29</podcast:episode>
      <itunes:title>Node 22.18 LTS Green Lights TypeScript for Orgs | News | Ep 29</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">aa013f62-5b57-4a45-ab6b-0a8f04ee37d7</guid>
      <link>https://share.transistor.fm/s/5216ca1c</link>
      <description>
        <![CDATA[<p>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 <em>so good</em>, a deal with the TypeScript devil, and did you know you can render motion graphics with TypeScript.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal News</li>
<li>(05:18) - News: TypeScript 5.9 Release Highlights</li>
<li>(08:32) - News: Node 22.18 is the First LTS to Unflag Type Stripping</li>
<li>(12:12) - News: Deno Drops New Next.js and SvelteKit Templates</li>
<li>(13:41) - News: pnpm Adds Support for Deno and Bun to package.json Engines</li>
<li>(14:06) - News: A Bunch of ECMAScript Proposals Go Bonkers</li>
<li>(16:37) - News: Laravel Wayfinder Generates Types and Is Now Stable</li>
<li>(18:54) - News: Trusted Publishing in npm with OIDC</li>
<li>(19:35) - PSA: Security Vulnerability in form-data Library</li>
<li>(21:10) - Community Highlight: Adding Checked Exceptions to TypeScript</li>
<li>(22:57) - Community Highlight: New ESLint Max Depth Plugin by TypedRocks</li>
<li>(24:00) - Community Highlight: Zod vs. Valibot by Jack Harrington</li>
<li>(24:20) - Community Highlight: Better Auth is a TypeScript Auth Framework</li>
<li>(26:09) - Community Highlight: Understanding Effect.ts with Maxwell Brown</li>
<li>(26:52) - Community Highlight: The Many, Many, Many JavaScript Runtimes by Jamie Birch</li>
<li>(27:37) - Community Highlight: Auditing NPM Packages with NPQ</li>
<li>(28:06) - Community Highlight: TypeScript Performance Podcast Episode by Mike Hartington</li>
<li>(28:56) - Community Highlight: Learn TypeScript While Building a Game in Construct</li>
<li>(29:56) - Community Highlight: Parse TypeScript Types  from Strings... with TypeScript Types by easrng</li>
<li>(30:55) - Secret of the Handbook: InstanceType</li>
<li>(33:17) - Cool Link: Create Video Motion Graphics in TS with MotionCanvas</li>
<li>(34:01) - Cool Link: Create Terminal UIs in TS with opentui</li>
<li>(34:40) - Weird Link: Running Windows 95 in Electron</li>
<li>(36:01) - Cool Library: Compile Time Expressions in TypeScript</li>
<li>(38:51) - The Minnesota Long Goodbye</li>
</ul><br><strong>News</strong><ul><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-9/">Announcing TypeScript 5.9</a> official stable release. No changes since the RC. (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lve5ydlrfs2q">Rob Palmer summary</a>)</li><li><a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lvcwi7r2p22q">Node 22.18 Unflagged TS support</a>, TypeScript is now in LTS</li><li><a href="https://ryanskinner.com/posts/how-i-built-a-full-stack-react-framework-4x-faster-than-nextjs-with-4x-more-throughput">Introducing Rari by Ryan Skinner</a> – a full stack React runtime 4X faster than Next.js (<a href="https://bsky.app/profile/malstrom.me/post/3lv5hkqwquk2s">BlueSky thread with more details</a>)</li><li><a href="https://bsky.app/profile/deno.land/post/3luscdj34d22z">Next.js &amp; SvelteKit Templates on Deno</a></li><li><a href="https://bsky.app/profile/pnpm.io/post/3lvbdyh23tk2g">pnpm adds support</a> for Deno and Bun runtime engine enforcement</li><li><a href="https://blog.laravel.com/everything-we-announced-at-laracon-us-2025">Laravel announced</a> the stable release of Wayfinder, which generates backend types and routes for TypeScript<ul><li>Video: <a href="https://youtu.be/UMqSDRe2oH8?si=e6cw57DJVkS40yv8">https://youtu.be/UMqSDRe2oH8?si=e6cw57DJVkS40yv8</a></li><li>Laracon 2025 Day 1: <a href="https://www.youtube.com/live/_eMBogMlShs?si=pXU8zIiG-bJIJvLp&amp;t=22572">Keynote Segment by Joe Tannenbaum</a> (@ 06:16:12)</li></ul></li><li>GitHub: <a href="https://github.blog/changelog/2025-07-31-npm-trusted-publishing-with-oidc-is-generally-available/">npm trusted publishing with OIDC is generally available</a></li><li>PSA: <a href="https://cybersecuritynews.com/javascript-library-vulnerability/">Critical Vulnerability in form-data JavaScript Library Exposes Millions of Apps to Code Execution Attacks</a> </li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://github.com/nxjosh/TypeScript">Checked exceptions</a> in personal TypeScript fork by nxjosh <ul><li>Also: <a href="https://medium.com/@jbyj/fork-typescript-you-can-just-do-things-4948eb39b270">Fork Typescript: You Can Just Do Things</a></li></ul></li><li>TypedRocks:  <a href="https://youtu.be/9lBj_gqzeec?si=IgyblJxwMuEzhY9N">This New ESLint Plugin Fixes Your Nested Unreadable Types in TypeScript</a></li><li>Jack Harrington: <a href="https://youtu.be/6P-2urhScwk?si=DsXGmqb5OuIMJCBc">Zod VS Valibot: JS/TS Validator Battle!</a></li><li>Dreams of Code: <a href="https://youtu.be/dNY4FKXwTsM?si=-kcGnZtR1wa7cnZ5">Better Auth is so good that I **almost** switched programming languages</a> </li><li>Maxwell Brown: <a href="https://www.youtube.com/watch?v=qYohvLtApmM">Effect.ts and Effectful Technologies</a> (<a href="http://devtools.fm">devtools.fm</a>)</li><li>Jamie Birch: <a href="https://buttondown.com/whatever_jamie/archive/the-many-many-many-javascript-runtimes-of-the-last-decade/">The many, many, many JavaScript runtimes of the last decade</a></li><li>Trevor Lasn: <a href="https://www.trevorlasn.com/blog/npq-protects-npm-installs-from-malicious-packages?utm_source=ECMAScript.news&amp;utm_medium=Weekly+Newsletter&amp;utm_campaign=2025-07-30">NPQ: Open source CLI tool that audits and protects your n...</a> (by our friend Liran Tal)</li><li>Mike Hartington: <a href="https://bsky.app/profile/mhartington.io/post/3lvbb4qtzic2b">TypeScript is So Slow… Or Is It? LogRocket podcast</a> </li><li>Construct: <a href="https://www.construct.net/en/courses/learn-typescript-construct-222">Learn TypeScript in Construct</a></li><li>Funny post about <a href="https://bsky.app/profile/purl.org/post/3lvhybfd7g22t">parsing TS types from string literals using... TS types</a> by easrng</li></ul><p><strong>Secret of the Handbook</strong></p><ul><li>Utility type `InstanceType&lt;T&gt;`<ul><li><a href="https://github.com/excaliburjs/Excalibur/pull/3493/files">https://github.com/excaliburjs/Excalibur/pull/3493/files</a> </li><li><a href="https://www.typescriptlang.org/docs/handbook/utility-types.html#instancetypetype">https://www.typescriptlang.org/docs/handbook/utility-types.html#instancetypetype</a></li></ul></li></ul><p> </p><p><strong>Cool Stuff</strong></p><ul><li><a href="https://motioncanvas.io/">MotionCanvas </a>makes cool animations in TypeScript</li><li><a href="https://github.com/sst/opentui">https://github.com/sst/opentui</a> – A terminal UI library</li><li><a href="https://github.com/felixrieseberg/windows95">💩🚀 Windows 95 in Electron. Runs on macOS, Linux, and Windows.</a><ul><li>I was playing Space Cadet pinball. They also have DOOM and Wolfenstein pre-installed.</li></ul></li><li><a href="https://github.com/feathers-studio/comptime.ts">comptime.ts</a> – A Zig-style comptime equivalent for TypeScript projects (Vite/Bun supported)</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a></p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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 <em>so good</em>, a deal with the TypeScript devil, and did you know you can render motion graphics with TypeScript.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal News</li>
<li>(05:18) - News: TypeScript 5.9 Release Highlights</li>
<li>(08:32) - News: Node 22.18 is the First LTS to Unflag Type Stripping</li>
<li>(12:12) - News: Deno Drops New Next.js and SvelteKit Templates</li>
<li>(13:41) - News: pnpm Adds Support for Deno and Bun to package.json Engines</li>
<li>(14:06) - News: A Bunch of ECMAScript Proposals Go Bonkers</li>
<li>(16:37) - News: Laravel Wayfinder Generates Types and Is Now Stable</li>
<li>(18:54) - News: Trusted Publishing in npm with OIDC</li>
<li>(19:35) - PSA: Security Vulnerability in form-data Library</li>
<li>(21:10) - Community Highlight: Adding Checked Exceptions to TypeScript</li>
<li>(22:57) - Community Highlight: New ESLint Max Depth Plugin by TypedRocks</li>
<li>(24:00) - Community Highlight: Zod vs. Valibot by Jack Harrington</li>
<li>(24:20) - Community Highlight: Better Auth is a TypeScript Auth Framework</li>
<li>(26:09) - Community Highlight: Understanding Effect.ts with Maxwell Brown</li>
<li>(26:52) - Community Highlight: The Many, Many, Many JavaScript Runtimes by Jamie Birch</li>
<li>(27:37) - Community Highlight: Auditing NPM Packages with NPQ</li>
<li>(28:06) - Community Highlight: TypeScript Performance Podcast Episode by Mike Hartington</li>
<li>(28:56) - Community Highlight: Learn TypeScript While Building a Game in Construct</li>
<li>(29:56) - Community Highlight: Parse TypeScript Types  from Strings... with TypeScript Types by easrng</li>
<li>(30:55) - Secret of the Handbook: InstanceType</li>
<li>(33:17) - Cool Link: Create Video Motion Graphics in TS with MotionCanvas</li>
<li>(34:01) - Cool Link: Create Terminal UIs in TS with opentui</li>
<li>(34:40) - Weird Link: Running Windows 95 in Electron</li>
<li>(36:01) - Cool Library: Compile Time Expressions in TypeScript</li>
<li>(38:51) - The Minnesota Long Goodbye</li>
</ul><br><strong>News</strong><ul><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-9/">Announcing TypeScript 5.9</a> official stable release. No changes since the RC. (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lve5ydlrfs2q">Rob Palmer summary</a>)</li><li><a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lvcwi7r2p22q">Node 22.18 Unflagged TS support</a>, TypeScript is now in LTS</li><li><a href="https://ryanskinner.com/posts/how-i-built-a-full-stack-react-framework-4x-faster-than-nextjs-with-4x-more-throughput">Introducing Rari by Ryan Skinner</a> – a full stack React runtime 4X faster than Next.js (<a href="https://bsky.app/profile/malstrom.me/post/3lv5hkqwquk2s">BlueSky thread with more details</a>)</li><li><a href="https://bsky.app/profile/deno.land/post/3luscdj34d22z">Next.js &amp; SvelteKit Templates on Deno</a></li><li><a href="https://bsky.app/profile/pnpm.io/post/3lvbdyh23tk2g">pnpm adds support</a> for Deno and Bun runtime engine enforcement</li><li><a href="https://blog.laravel.com/everything-we-announced-at-laracon-us-2025">Laravel announced</a> the stable release of Wayfinder, which generates backend types and routes for TypeScript<ul><li>Video: <a href="https://youtu.be/UMqSDRe2oH8?si=e6cw57DJVkS40yv8">https://youtu.be/UMqSDRe2oH8?si=e6cw57DJVkS40yv8</a></li><li>Laracon 2025 Day 1: <a href="https://www.youtube.com/live/_eMBogMlShs?si=pXU8zIiG-bJIJvLp&amp;t=22572">Keynote Segment by Joe Tannenbaum</a> (@ 06:16:12)</li></ul></li><li>GitHub: <a href="https://github.blog/changelog/2025-07-31-npm-trusted-publishing-with-oidc-is-generally-available/">npm trusted publishing with OIDC is generally available</a></li><li>PSA: <a href="https://cybersecuritynews.com/javascript-library-vulnerability/">Critical Vulnerability in form-data JavaScript Library Exposes Millions of Apps to Code Execution Attacks</a> </li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://github.com/nxjosh/TypeScript">Checked exceptions</a> in personal TypeScript fork by nxjosh <ul><li>Also: <a href="https://medium.com/@jbyj/fork-typescript-you-can-just-do-things-4948eb39b270">Fork Typescript: You Can Just Do Things</a></li></ul></li><li>TypedRocks:  <a href="https://youtu.be/9lBj_gqzeec?si=IgyblJxwMuEzhY9N">This New ESLint Plugin Fixes Your Nested Unreadable Types in TypeScript</a></li><li>Jack Harrington: <a href="https://youtu.be/6P-2urhScwk?si=DsXGmqb5OuIMJCBc">Zod VS Valibot: JS/TS Validator Battle!</a></li><li>Dreams of Code: <a href="https://youtu.be/dNY4FKXwTsM?si=-kcGnZtR1wa7cnZ5">Better Auth is so good that I **almost** switched programming languages</a> </li><li>Maxwell Brown: <a href="https://www.youtube.com/watch?v=qYohvLtApmM">Effect.ts and Effectful Technologies</a> (<a href="http://devtools.fm">devtools.fm</a>)</li><li>Jamie Birch: <a href="https://buttondown.com/whatever_jamie/archive/the-many-many-many-javascript-runtimes-of-the-last-decade/">The many, many, many JavaScript runtimes of the last decade</a></li><li>Trevor Lasn: <a href="https://www.trevorlasn.com/blog/npq-protects-npm-installs-from-malicious-packages?utm_source=ECMAScript.news&amp;utm_medium=Weekly+Newsletter&amp;utm_campaign=2025-07-30">NPQ: Open source CLI tool that audits and protects your n...</a> (by our friend Liran Tal)</li><li>Mike Hartington: <a href="https://bsky.app/profile/mhartington.io/post/3lvbb4qtzic2b">TypeScript is So Slow… Or Is It? LogRocket podcast</a> </li><li>Construct: <a href="https://www.construct.net/en/courses/learn-typescript-construct-222">Learn TypeScript in Construct</a></li><li>Funny post about <a href="https://bsky.app/profile/purl.org/post/3lvhybfd7g22t">parsing TS types from string literals using... TS types</a> by easrng</li></ul><p><strong>Secret of the Handbook</strong></p><ul><li>Utility type `InstanceType&lt;T&gt;`<ul><li><a href="https://github.com/excaliburjs/Excalibur/pull/3493/files">https://github.com/excaliburjs/Excalibur/pull/3493/files</a> </li><li><a href="https://www.typescriptlang.org/docs/handbook/utility-types.html#instancetypetype">https://www.typescriptlang.org/docs/handbook/utility-types.html#instancetypetype</a></li></ul></li></ul><p> </p><p><strong>Cool Stuff</strong></p><ul><li><a href="https://motioncanvas.io/">MotionCanvas </a>makes cool animations in TypeScript</li><li><a href="https://github.com/sst/opentui">https://github.com/sst/opentui</a> – A terminal UI library</li><li><a href="https://github.com/felixrieseberg/windows95">💩🚀 Windows 95 in Electron. Runs on macOS, Linux, and Windows.</a><ul><li>I was playing Space Cadet pinball. They also have DOOM and Wolfenstein pre-installed.</li></ul></li><li><a href="https://github.com/feathers-studio/comptime.ts">comptime.ts</a> – A Zig-style comptime equivalent for TypeScript projects (Vite/Bun supported)</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a></p>]]>
      </content:encoded>
      <pubDate>Tue, 05 Aug 2025 15:20:20 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/5216ca1c/ee9f0f69.mp3" length="20365963" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2540</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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 <em>so good</em>, a deal with the TypeScript devil, and did you know you can render motion graphics with TypeScript.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal News</li>
<li>(05:18) - News: TypeScript 5.9 Release Highlights</li>
<li>(08:32) - News: Node 22.18 is the First LTS to Unflag Type Stripping</li>
<li>(12:12) - News: Deno Drops New Next.js and SvelteKit Templates</li>
<li>(13:41) - News: pnpm Adds Support for Deno and Bun to package.json Engines</li>
<li>(14:06) - News: A Bunch of ECMAScript Proposals Go Bonkers</li>
<li>(16:37) - News: Laravel Wayfinder Generates Types and Is Now Stable</li>
<li>(18:54) - News: Trusted Publishing in npm with OIDC</li>
<li>(19:35) - PSA: Security Vulnerability in form-data Library</li>
<li>(21:10) - Community Highlight: Adding Checked Exceptions to TypeScript</li>
<li>(22:57) - Community Highlight: New ESLint Max Depth Plugin by TypedRocks</li>
<li>(24:00) - Community Highlight: Zod vs. Valibot by Jack Harrington</li>
<li>(24:20) - Community Highlight: Better Auth is a TypeScript Auth Framework</li>
<li>(26:09) - Community Highlight: Understanding Effect.ts with Maxwell Brown</li>
<li>(26:52) - Community Highlight: The Many, Many, Many JavaScript Runtimes by Jamie Birch</li>
<li>(27:37) - Community Highlight: Auditing NPM Packages with NPQ</li>
<li>(28:06) - Community Highlight: TypeScript Performance Podcast Episode by Mike Hartington</li>
<li>(28:56) - Community Highlight: Learn TypeScript While Building a Game in Construct</li>
<li>(29:56) - Community Highlight: Parse TypeScript Types  from Strings... with TypeScript Types by easrng</li>
<li>(30:55) - Secret of the Handbook: InstanceType</li>
<li>(33:17) - Cool Link: Create Video Motion Graphics in TS with MotionCanvas</li>
<li>(34:01) - Cool Link: Create Terminal UIs in TS with opentui</li>
<li>(34:40) - Weird Link: Running Windows 95 in Electron</li>
<li>(36:01) - Cool Library: Compile Time Expressions in TypeScript</li>
<li>(38:51) - The Minnesota Long Goodbye</li>
</ul><br><strong>News</strong><ul><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-9/">Announcing TypeScript 5.9</a> official stable release. No changes since the RC. (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lve5ydlrfs2q">Rob Palmer summary</a>)</li><li><a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lvcwi7r2p22q">Node 22.18 Unflagged TS support</a>, TypeScript is now in LTS</li><li><a href="https://ryanskinner.com/posts/how-i-built-a-full-stack-react-framework-4x-faster-than-nextjs-with-4x-more-throughput">Introducing Rari by Ryan Skinner</a> – a full stack React runtime 4X faster than Next.js (<a href="https://bsky.app/profile/malstrom.me/post/3lv5hkqwquk2s">BlueSky thread with more details</a>)</li><li><a href="https://bsky.app/profile/deno.land/post/3luscdj34d22z">Next.js &amp; SvelteKit Templates on Deno</a></li><li><a href="https://bsky.app/profile/pnpm.io/post/3lvbdyh23tk2g">pnpm adds support</a> for Deno and Bun runtime engine enforcement</li><li><a href="https://blog.laravel.com/everything-we-announced-at-laracon-us-2025">Laravel announced</a> the stable release of Wayfinder, which generates backend types and routes for TypeScript<ul><li>Video: <a href="https://youtu.be/UMqSDRe2oH8?si=e6cw57DJVkS40yv8">https://youtu.be/UMqSDRe2oH8?si=e6cw57DJVkS40yv8</a></li><li>Laracon 2025 Day 1: <a href="https://www.youtube.com/live/_eMBogMlShs?si=pXU8zIiG-bJIJvLp&amp;t=22572">Keynote Segment by Joe Tannenbaum</a> (@ 06:16:12)</li></ul></li><li>GitHub: <a href="https://github.blog/changelog/2025-07-31-npm-trusted-publishing-with-oidc-is-generally-available/">npm trusted publishing with OIDC is generally available</a></li><li>PSA: <a href="https://cybersecuritynews.com/javascript-library-vulnerability/">Critical Vulnerability in form-data JavaScript Library Exposes Millions of Apps to Code Execution Attacks</a> </li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://github.com/nxjosh/TypeScript">Checked exceptions</a> in personal TypeScript fork by nxjosh <ul><li>Also: <a href="https://medium.com/@jbyj/fork-typescript-you-can-just-do-things-4948eb39b270">Fork Typescript: You Can Just Do Things</a></li></ul></li><li>TypedRocks:  <a href="https://youtu.be/9lBj_gqzeec?si=IgyblJxwMuEzhY9N">This New ESLint Plugin Fixes Your Nested Unreadable Types in TypeScript</a></li><li>Jack Harrington: <a href="https://youtu.be/6P-2urhScwk?si=DsXGmqb5OuIMJCBc">Zod VS Valibot: JS/TS Validator Battle!</a></li><li>Dreams of Code: <a href="https://youtu.be/dNY4FKXwTsM?si=-kcGnZtR1wa7cnZ5">Better Auth is so good that I **almost** switched programming languages</a> </li><li>Maxwell Brown: <a href="https://www.youtube.com/watch?v=qYohvLtApmM">Effect.ts and Effectful Technologies</a> (<a href="http://devtools.fm">devtools.fm</a>)</li><li>Jamie Birch: <a href="https://buttondown.com/whatever_jamie/archive/the-many-many-many-javascript-runtimes-of-the-last-decade/">The many, many, many JavaScript runtimes of the last decade</a></li><li>Trevor Lasn: <a href="https://www.trevorlasn.com/blog/npq-protects-npm-installs-from-malicious-packages?utm_source=ECMAScript.news&amp;utm_medium=Weekly+Newsletter&amp;utm_campaign=2025-07-30">NPQ: Open source CLI tool that audits and protects your n...</a> (by our friend Liran Tal)</li><li>Mike Hartington: <a href="https://bsky.app/profile/mhartington.io/post/3lvbb4qtzic2b">TypeScript is So Slow… Or Is It? LogRocket podcast</a> </li><li>Construct: <a href="https://www.construct.net/en/courses/learn-typescript-construct-222">Learn TypeScript in Construct</a></li><li>Funny post about <a href="https://bsky.app/profile/purl.org/post/3lvhybfd7g22t">parsing TS types from string literals using... TS types</a> by easrng</li></ul><p><strong>Secret of the Handbook</strong></p><ul><li>Utility type `InstanceType&lt;T&gt;`<ul><li><a href="https://github.com/excaliburjs/Excalibur/pull/3493/files">https://github.com/excaliburjs/Excalibur/pull/3493/files</a> </li><li><a href="https://www.typescriptlang.org/docs/handbook/utility-types.html#instancetypetype">https://www.typescriptlang.org/docs/handbook/utility-types.html#instancetypetype</a></li></ul></li></ul><p> </p><p><strong>Cool Stuff</strong></p><ul><li><a href="https://motioncanvas.io/">MotionCanvas </a>makes cool animations in TypeScript</li><li><a href="https://github.com/sst/opentui">https://github.com/sst/opentui</a> – A terminal UI library</li><li><a href="https://github.com/felixrieseberg/windows95">💩🚀 Windows 95 in Electron. Runs on macOS, Linux, and Windows.</a><ul><li>I was playing Space Cadet pinball. They also have DOOM and Wolfenstein pre-installed.</li></ul></li><li><a href="https://github.com/feathers-studio/comptime.ts">comptime.ts</a> – A Zig-style comptime equivalent for TypeScript projects (Vite/Bun supported)</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a></p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/5216ca1c/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Building Secure TypeScript Applications | Liran Tal | Ep 28B</title>
      <itunes:episode>28</itunes:episode>
      <podcast:episode>28</podcast:episode>
      <itunes:title>Building Secure TypeScript Applications | Liran Tal | Ep 28B</itunes:title>
      <itunes:episodeType>bonus</itunes:episodeType>
      <guid isPermaLink="false">fb129f0e-d5f4-4b21-af9d-e158e59ac3ec</guid>
      <link>https://share.transistor.fm/s/c587816d</link>
      <description>
        <![CDATA[<p>Liran Tal (<a href="https://lirantal.com">lirantal.com</a>) 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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introducing Liran Tal</li>
<li>(02:56) - What's Special About TypeScript Security vs. JavaScript Security?</li>
<li>(04:23) - Misplacing Trust in Types</li>
<li>(05:49) - Practical Examples of TypeScript Security Issues</li>
<li>(08:43) - Why Does TypeScript Security Matter?</li>
<li>(10:23) - TypeScript is Not a Security Tool</li>
<li>(11:14) - How Does HTTP Parameter Pollution Work?</li>
<li>(12:45) - Ways to Mitigate Parameter Pollution</li>
<li>(15:44) - Schema Validators Won't Always Save You</li>
<li>(16:51) - How Prototype Pollution Works</li>
<li>(18:23) - Exploiting Schema Validators Through Prototype Pollution</li>
<li>(21:50) - Mitigating Prototype Pollution Risks</li>
<li>(25:21) - Consequences of Prototype Pollution</li>
<li>(27:23) - Ways to Safely Merge Objects</li>
<li>(30:03) - How Can TypeScript Developers Improve Their Security Posture?</li>
<li>(33:17) - How Do LLMs Impact Secure Coding?</li>
<li>(39:11) - Misplacing Trust in AI-Generated Code</li>
<li>(41:10) - Can LLMs Review and Fix Secure Code?</li>
<li>(45:57) - So We're All Doomed, Right?</li>
<li>(48:31) - Bonus: Game Development as a Teaching Tool</li>
<li>(54:48) - Where to Find Liran</li>
</ul><br><strong>Links</strong><ul><li><a href="https://lirantal.com">Liran's website and blog</a></li><li>Talk: <a href="https://www.youtube.com/watch?v=YbQhSgB5iMM">Friend or Foe? TypeScript Security Fallacies</a></li><li>Course: <a href="https://www.nodejs-security.com/">Node.js Security Course</a></li><li>Book: <a href="https://leanpub.com/essential-nodejs-security">Essential Node.js Security</a></li><li>Book: <a href="https://www.oreilly.com/library/view/serverless-security/9781492082538/">Serverless Security</a></li><li>Tool: <a href="https://github.com/lirantal/npq">npq </a>(welcoming contributions!)</li><li><a href="https://github.com/lirantal/is-website-vulnerable">https://github.com/lirantal/is-website-vulnerable</a></li><li>Game: <a href="https://github.com/lirantal/Dependency-Frost">Dependency Frost</a></li><li>Paper: <a href="https://arxiv.org/html/2507.02976v2">Are AI-generated fixes secure?</a> (July 2025)</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Liran Tal (<a href="https://lirantal.com">lirantal.com</a>) 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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introducing Liran Tal</li>
<li>(02:56) - What's Special About TypeScript Security vs. JavaScript Security?</li>
<li>(04:23) - Misplacing Trust in Types</li>
<li>(05:49) - Practical Examples of TypeScript Security Issues</li>
<li>(08:43) - Why Does TypeScript Security Matter?</li>
<li>(10:23) - TypeScript is Not a Security Tool</li>
<li>(11:14) - How Does HTTP Parameter Pollution Work?</li>
<li>(12:45) - Ways to Mitigate Parameter Pollution</li>
<li>(15:44) - Schema Validators Won't Always Save You</li>
<li>(16:51) - How Prototype Pollution Works</li>
<li>(18:23) - Exploiting Schema Validators Through Prototype Pollution</li>
<li>(21:50) - Mitigating Prototype Pollution Risks</li>
<li>(25:21) - Consequences of Prototype Pollution</li>
<li>(27:23) - Ways to Safely Merge Objects</li>
<li>(30:03) - How Can TypeScript Developers Improve Their Security Posture?</li>
<li>(33:17) - How Do LLMs Impact Secure Coding?</li>
<li>(39:11) - Misplacing Trust in AI-Generated Code</li>
<li>(41:10) - Can LLMs Review and Fix Secure Code?</li>
<li>(45:57) - So We're All Doomed, Right?</li>
<li>(48:31) - Bonus: Game Development as a Teaching Tool</li>
<li>(54:48) - Where to Find Liran</li>
</ul><br><strong>Links</strong><ul><li><a href="https://lirantal.com">Liran's website and blog</a></li><li>Talk: <a href="https://www.youtube.com/watch?v=YbQhSgB5iMM">Friend or Foe? TypeScript Security Fallacies</a></li><li>Course: <a href="https://www.nodejs-security.com/">Node.js Security Course</a></li><li>Book: <a href="https://leanpub.com/essential-nodejs-security">Essential Node.js Security</a></li><li>Book: <a href="https://www.oreilly.com/library/view/serverless-security/9781492082538/">Serverless Security</a></li><li>Tool: <a href="https://github.com/lirantal/npq">npq </a>(welcoming contributions!)</li><li><a href="https://github.com/lirantal/is-website-vulnerable">https://github.com/lirantal/is-website-vulnerable</a></li><li>Game: <a href="https://github.com/lirantal/Dependency-Frost">Dependency Frost</a></li><li>Paper: <a href="https://arxiv.org/html/2507.02976v2">Are AI-generated fixes secure?</a> (July 2025)</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Thu, 31 Jul 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/c587816d/8d674587.mp3" length="27419479" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>3422</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Liran Tal (<a href="https://lirantal.com">lirantal.com</a>) 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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introducing Liran Tal</li>
<li>(02:56) - What's Special About TypeScript Security vs. JavaScript Security?</li>
<li>(04:23) - Misplacing Trust in Types</li>
<li>(05:49) - Practical Examples of TypeScript Security Issues</li>
<li>(08:43) - Why Does TypeScript Security Matter?</li>
<li>(10:23) - TypeScript is Not a Security Tool</li>
<li>(11:14) - How Does HTTP Parameter Pollution Work?</li>
<li>(12:45) - Ways to Mitigate Parameter Pollution</li>
<li>(15:44) - Schema Validators Won't Always Save You</li>
<li>(16:51) - How Prototype Pollution Works</li>
<li>(18:23) - Exploiting Schema Validators Through Prototype Pollution</li>
<li>(21:50) - Mitigating Prototype Pollution Risks</li>
<li>(25:21) - Consequences of Prototype Pollution</li>
<li>(27:23) - Ways to Safely Merge Objects</li>
<li>(30:03) - How Can TypeScript Developers Improve Their Security Posture?</li>
<li>(33:17) - How Do LLMs Impact Secure Coding?</li>
<li>(39:11) - Misplacing Trust in AI-Generated Code</li>
<li>(41:10) - Can LLMs Review and Fix Secure Code?</li>
<li>(45:57) - So We're All Doomed, Right?</li>
<li>(48:31) - Bonus: Game Development as a Teaching Tool</li>
<li>(54:48) - Where to Find Liran</li>
</ul><br><strong>Links</strong><ul><li><a href="https://lirantal.com">Liran's website and blog</a></li><li>Talk: <a href="https://www.youtube.com/watch?v=YbQhSgB5iMM">Friend or Foe? TypeScript Security Fallacies</a></li><li>Course: <a href="https://www.nodejs-security.com/">Node.js Security Course</a></li><li>Book: <a href="https://leanpub.com/essential-nodejs-security">Essential Node.js Security</a></li><li>Book: <a href="https://www.oreilly.com/library/view/serverless-security/9781492082538/">Serverless Security</a></li><li>Tool: <a href="https://github.com/lirantal/npq">npq </a>(welcoming contributions!)</li><li><a href="https://github.com/lirantal/is-website-vulnerable">https://github.com/lirantal/is-website-vulnerable</a></li><li>Game: <a href="https://github.com/lirantal/Dependency-Frost">Dependency Frost</a></li><li>Paper: <a href="https://arxiv.org/html/2507.02976v2">Are AI-generated fixes secure?</a> (July 2025)</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:person role="Guest" href="https://lirantal.com" img="https://img.transistorcdn.com/FUYFcMvxlbRyaGCuEmsbzQVumHGlFtSSh-EoHSvXT20/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9mZDEw/MDc1OWU5NmZiNDY5/OWVlYThiOTJjNWU0/NGIzZi5qcGVn.jpg">Liran Tal</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/c587816d/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Deno Fresh 2.0 Alpha, a BigInt Trick, and Learn TS in One Hour | News | Ep 28</title>
      <itunes:episode>28</itunes:episode>
      <podcast:episode>28</podcast:episode>
      <itunes:title>Deno Fresh 2.0 Alpha, a BigInt Trick, and Learn TS in One Hour | News | Ep 28</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">959b9f80-0f63-4aeb-99a7-83487b43fce4</guid>
      <link>https://share.transistor.fm/s/857c045a</link>
      <description>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal News</li>
<li>(07:14) - News: Try Out the Deno Fresh 2.0 Alpha</li>
<li>(08:32) - News: TypeScript 5.9 RC Includes Some Small Fixes</li>
<li>(09:22) - News: TSGo Adds @satisfies Support for JSDoc</li>
<li>(09:44) - PSA: eslint-config-prettier Supply Chain Attack</li>
<li>(10:35) - Correction: tsgolint and TSL Clarifications</li>
<li>(12:25) - Community Highlight: Learn TS in One Hour by freeCodeCamp</li>
<li>(12:53) - Community Highlight: Mastering TypeScript Mysteries by Sweta Tanwar</li>
<li>(13:37) - Community Highlight: Using BigInt to Make Sure a String is a Well-formed Integer</li>
<li>(14:38) - Community Highlight: tsbro Runs TypeScript in the Browser</li>
<li>(16:28) - Community Highlight: pure-ts-mock is a Standalone Mocking Library</li>
<li>(17:31) - Community Highlight: Custom SSR for Lit Web Components Using Deno Emit</li>
<li>(19:33) - Community Highlight: Mastering TypeScript Types by Laxman Rathod</li>
<li>(20:19) - Community Highlight: Building TypeScript Apps with Bun and Electron with electrobun</li>
<li>(21:08) - Secret of the Handbook: const Generics</li>
<li>(23:06) - Cool API: navigator.sendBeacon for Analytics</li>
<li>(24:43) - Cool Lib: es-toolkit, A Modern JavaScript Utility Library</li>
<li>(25:26) - Cool Lib: di-wise, a Zero Deps Dependency Injection Library for TS</li>
<li>(26:29) - Cool Read: NIH is Far Cheaper Than the Wrong Dependency</li>
</ul><br><strong>News</strong><ul><li><a href="https://bsky.app/profile/deno.land/post/3luq2ts7sws2m">Deno Fresh 2.0 is an alpha</a></li><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-9-rc/">Announcing TypeScript 5.9 RC</a> </li><li><a href="https://www.bleepingcomputer.com/news/security/popular-npm-linter-packages-hijacked-via-phishing-to-drop-malware/">Popular npm linter packages hijacked via phishing to drop malware</a> </li></ul><p><strong>From the Community</strong></p><ul><li>freeCodeCamp: <a href="https://youtu.be/ZvZ7gvcmPmI">Learn TypeScript – Crash Course for Beginners</a> (1 hour free course)</li><li>City.js Conf: <a href="https://youtu.be/AOdbyshEGGE?si=kyGvC2njWLV19_LV">Sweta Tanwar - Mastering TypeScript Mysteries</a></li><li><a href="https://bsky.app/profile/raganwald.social.bau-ha.us.ap.brid.gy/post/3luptwotedxh2">Interesting Type Inference Post using BigInts</a> (<a href="https://www.typescriptlang.org/play/#code/PTAEFpK7QcwJwKYEMAupEA8AOiDGqaAlgPYB2AzhNDQFC2oCeuoAojvqgDwAqGmqRGQAmVVPACuiAHygAvKB4BuBs0RsAjhOQAbLgA0ANKACashQApe0iwEp5svlkEiq+0AH5QARlAAuUAAme2chUVBrOwdFfhdwk08ffyDaUETxKVTkgDNdCkQVJhZ2OIouAEFjACFzUHLYsKoq9Ml1ANydfJVaEGoaKFA8EgBbbGR4IjJYUDIJYYAjRHhQVBJQeaJYSfR+6Hoi9QB9QQpUQ4AGeTYOAi4Sxq4AIm9AgGYAFgBWR+MAAwASADeswWSwAvr9pNJCmpQMdEKdDr4FOxcLd7q4ni8Pt8-kCNlsyKgIVCYSx4YjAldUZw7gIHs83l8AHQANgA7D9QADgXNFvASdCemAAAKoCjgLBo1CS+DwEjLAnbKjDCSndbqZWqcknM6vak3bgY0RYpmfNmcvGApVEwUqIA">Playground Link</a>)</li><li><a href="https://github.com/stagas/tsbro">stagas/tsbro: TypeScript for the Browser</a></li><li><a href="https://github.com/alessiocoser/pure-ts-mock">pure-ts-mock</a> (<a href="https://bsky.app/profile/alessiocoser.com/post/3lusu3jabxs2q">bweet</a>) is a minimalist, type-safe mocking library</li><li>Matt Jennings pointed out a neat way to do SSR with Web Components (Lit) using <a href="https://github.com/denoland/deno_emit/blob/main/js/README.md">Deno Emit</a> and <a href="https://deno.com/blog/v2.4#deno-bundle">Deno Bundle</a> </li><li>Laxman Rathod: <a href="https://dev.to/lra8dev/mastering-typescript-types-a-practical-guide-from-basics-to-advanced-12c6">Mastering TypeScript Types: A Practical Guide from Basics to Advanced</a> (h/t <a href="https://bsky.app/profile/wildermuth.com/post/3lusht2ovni2b">Shawn Wildermuth</a>)</li><li><a href="https://github.com/blackboardsh/electrobun">Electrobun</a> aims to be a complete <strong>solution-in-a-box</strong> for building, updating, and shipping ultra fast, tiny, and cross-platform desktop applications written in Typescript. Under the hood it uses <a href="https://bun.sh/">bun</a> to execute the main process and to bundle webview typescript, and has native bindings written in <a href="https://ziglang.org/">zig</a>.</li><li>Secret of the Handbook: Const Generics (<a href="https://www.typescriptlang.org/play/?#code/FDCmA8AcHsCcBcAEAzArgOwMbwJbXYgO6w7ygDC+AzvADybVIAqAfABTwAWO6A5gFyImASkFNEAb2CIZiBuirQANqAB0S6Lw7c+wgNzTZsUPFSwCXHrwMBfEBBgIUGbHgLFSoAHL5KCuqzaVmKiQpKGMvKKKuqaQboGsojGpuaIlny2IFFIhACMiAC8RCRkfjRsANoARBm81QA0iLU6vABMjc11AMzVALr6iAD0Q8mgAIYAJvhKAJ6INXWdLVYdTSt8vX3AOURtRSWePujl8FUb9et1a12tW4MjiDQkfJXbIEA">playground link</a>) (h/t <a href="https://bsky.app/profile/sirpepe.bsky.social/post/3luoymm6pc22l">sirpepe</a>) </li></ul><p><strong>Cool Stuff</strong></p><ul><li><a href="https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon">Navigator: sendBeacon() method</a></li><li><a href="https://github.com/toss/es-toolkit">toss/es-toolkit: A modern JavaScript utility library that's 2-3 times faster and up to 97% smaller—a major upgrade to lodash</a></li><li><a href="https://github.com/exuanbo/di-wise">exuanbo/di-wise: Lightweight and flexible dependency injection library for JavaScript and TypeScript, w/wo ECMAScript decorators</a></li><li><a href="https://blog.aotoki.me/posts/2025/07/25/clean-architecture-in-ts-tsyringe-package/">Clean Architecture in TypeScript | 弦而時習之</a> </li><li>Lewis Campbell: <a href="https://lewiscampbell.tech/blog/250718.html">NIH Is Far Cheaper Than The Wrong Dependency</a> </li><li><a href="https://learnwardleymapping.com">Learn Wardley Mapping</a></li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal News</li>
<li>(07:14) - News: Try Out the Deno Fresh 2.0 Alpha</li>
<li>(08:32) - News: TypeScript 5.9 RC Includes Some Small Fixes</li>
<li>(09:22) - News: TSGo Adds @satisfies Support for JSDoc</li>
<li>(09:44) - PSA: eslint-config-prettier Supply Chain Attack</li>
<li>(10:35) - Correction: tsgolint and TSL Clarifications</li>
<li>(12:25) - Community Highlight: Learn TS in One Hour by freeCodeCamp</li>
<li>(12:53) - Community Highlight: Mastering TypeScript Mysteries by Sweta Tanwar</li>
<li>(13:37) - Community Highlight: Using BigInt to Make Sure a String is a Well-formed Integer</li>
<li>(14:38) - Community Highlight: tsbro Runs TypeScript in the Browser</li>
<li>(16:28) - Community Highlight: pure-ts-mock is a Standalone Mocking Library</li>
<li>(17:31) - Community Highlight: Custom SSR for Lit Web Components Using Deno Emit</li>
<li>(19:33) - Community Highlight: Mastering TypeScript Types by Laxman Rathod</li>
<li>(20:19) - Community Highlight: Building TypeScript Apps with Bun and Electron with electrobun</li>
<li>(21:08) - Secret of the Handbook: const Generics</li>
<li>(23:06) - Cool API: navigator.sendBeacon for Analytics</li>
<li>(24:43) - Cool Lib: es-toolkit, A Modern JavaScript Utility Library</li>
<li>(25:26) - Cool Lib: di-wise, a Zero Deps Dependency Injection Library for TS</li>
<li>(26:29) - Cool Read: NIH is Far Cheaper Than the Wrong Dependency</li>
</ul><br><strong>News</strong><ul><li><a href="https://bsky.app/profile/deno.land/post/3luq2ts7sws2m">Deno Fresh 2.0 is an alpha</a></li><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-9-rc/">Announcing TypeScript 5.9 RC</a> </li><li><a href="https://www.bleepingcomputer.com/news/security/popular-npm-linter-packages-hijacked-via-phishing-to-drop-malware/">Popular npm linter packages hijacked via phishing to drop malware</a> </li></ul><p><strong>From the Community</strong></p><ul><li>freeCodeCamp: <a href="https://youtu.be/ZvZ7gvcmPmI">Learn TypeScript – Crash Course for Beginners</a> (1 hour free course)</li><li>City.js Conf: <a href="https://youtu.be/AOdbyshEGGE?si=kyGvC2njWLV19_LV">Sweta Tanwar - Mastering TypeScript Mysteries</a></li><li><a href="https://bsky.app/profile/raganwald.social.bau-ha.us.ap.brid.gy/post/3luptwotedxh2">Interesting Type Inference Post using BigInts</a> (<a href="https://www.typescriptlang.org/play/#code/PTAEFpK7QcwJwKYEMAupEA8AOiDGqaAlgPYB2AzhNDQFC2oCeuoAojvqgDwAqGmqRGQAmVVPACuiAHygAvKB4BuBs0RsAjhOQAbLgA0ANKACashQApe0iwEp5svlkEiq+0AH5QARlAAuUAAme2chUVBrOwdFfhdwk08ffyDaUETxKVTkgDNdCkQVJhZ2OIouAEFjACFzUHLYsKoq9Ml1ANydfJVaEGoaKFA8EgBbbGR4IjJYUDIJYYAjRHhQVBJQeaJYSfR+6Hoi9QB9QQpUQ4AGeTYOAi4Sxq4AIm9AgGYAFgBWR+MAAwASADeswWSwAvr9pNJCmpQMdEKdDr4FOxcLd7q4ni8Pt8-kCNlsyKgIVCYSx4YjAldUZw7gIHs83l8AHQANgA7D9QADgXNFvASdCemAAAKoCjgLBo1CS+DwEjLAnbKjDCSndbqZWqcknM6vak3bgY0RYpmfNmcvGApVEwUqIA">Playground Link</a>)</li><li><a href="https://github.com/stagas/tsbro">stagas/tsbro: TypeScript for the Browser</a></li><li><a href="https://github.com/alessiocoser/pure-ts-mock">pure-ts-mock</a> (<a href="https://bsky.app/profile/alessiocoser.com/post/3lusu3jabxs2q">bweet</a>) is a minimalist, type-safe mocking library</li><li>Matt Jennings pointed out a neat way to do SSR with Web Components (Lit) using <a href="https://github.com/denoland/deno_emit/blob/main/js/README.md">Deno Emit</a> and <a href="https://deno.com/blog/v2.4#deno-bundle">Deno Bundle</a> </li><li>Laxman Rathod: <a href="https://dev.to/lra8dev/mastering-typescript-types-a-practical-guide-from-basics-to-advanced-12c6">Mastering TypeScript Types: A Practical Guide from Basics to Advanced</a> (h/t <a href="https://bsky.app/profile/wildermuth.com/post/3lusht2ovni2b">Shawn Wildermuth</a>)</li><li><a href="https://github.com/blackboardsh/electrobun">Electrobun</a> aims to be a complete <strong>solution-in-a-box</strong> for building, updating, and shipping ultra fast, tiny, and cross-platform desktop applications written in Typescript. Under the hood it uses <a href="https://bun.sh/">bun</a> to execute the main process and to bundle webview typescript, and has native bindings written in <a href="https://ziglang.org/">zig</a>.</li><li>Secret of the Handbook: Const Generics (<a href="https://www.typescriptlang.org/play/?#code/FDCmA8AcHsCcBcAEAzArgOwMbwJbXYgO6w7ygDC+AzvADybVIAqAfABTwAWO6A5gFyImASkFNEAb2CIZiBuirQANqAB0S6Lw7c+wgNzTZsUPFSwCXHrwMBfEBBgIUGbHgLFSoAHL5KCuqzaVmKiQpKGMvKKKuqaQboGsojGpuaIlny2IFFIhACMiAC8RCRkfjRsANoARBm81QA0iLU6vABMjc11AMzVALr6iAD0Q8mgAIYAJvhKAJ6INXWdLVYdTSt8vX3AOURtRSWePujl8FUb9et1a12tW4MjiDQkfJXbIEA">playground link</a>) (h/t <a href="https://bsky.app/profile/sirpepe.bsky.social/post/3luoymm6pc22l">sirpepe</a>) </li></ul><p><strong>Cool Stuff</strong></p><ul><li><a href="https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon">Navigator: sendBeacon() method</a></li><li><a href="https://github.com/toss/es-toolkit">toss/es-toolkit: A modern JavaScript utility library that's 2-3 times faster and up to 97% smaller—a major upgrade to lodash</a></li><li><a href="https://github.com/exuanbo/di-wise">exuanbo/di-wise: Lightweight and flexible dependency injection library for JavaScript and TypeScript, w/wo ECMAScript decorators</a></li><li><a href="https://blog.aotoki.me/posts/2025/07/25/clean-architecture-in-ts-tsyringe-package/">Clean Architecture in TypeScript | 弦而時習之</a> </li><li>Lewis Campbell: <a href="https://lewiscampbell.tech/blog/250718.html">NIH Is Far Cheaper Than The Wrong Dependency</a> </li><li><a href="https://learnwardleymapping.com">Learn Wardley Mapping</a></li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Tue, 29 Jul 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/857c045a/27e7b056.mp3" length="15860041" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>1977</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal News</li>
<li>(07:14) - News: Try Out the Deno Fresh 2.0 Alpha</li>
<li>(08:32) - News: TypeScript 5.9 RC Includes Some Small Fixes</li>
<li>(09:22) - News: TSGo Adds @satisfies Support for JSDoc</li>
<li>(09:44) - PSA: eslint-config-prettier Supply Chain Attack</li>
<li>(10:35) - Correction: tsgolint and TSL Clarifications</li>
<li>(12:25) - Community Highlight: Learn TS in One Hour by freeCodeCamp</li>
<li>(12:53) - Community Highlight: Mastering TypeScript Mysteries by Sweta Tanwar</li>
<li>(13:37) - Community Highlight: Using BigInt to Make Sure a String is a Well-formed Integer</li>
<li>(14:38) - Community Highlight: tsbro Runs TypeScript in the Browser</li>
<li>(16:28) - Community Highlight: pure-ts-mock is a Standalone Mocking Library</li>
<li>(17:31) - Community Highlight: Custom SSR for Lit Web Components Using Deno Emit</li>
<li>(19:33) - Community Highlight: Mastering TypeScript Types by Laxman Rathod</li>
<li>(20:19) - Community Highlight: Building TypeScript Apps with Bun and Electron with electrobun</li>
<li>(21:08) - Secret of the Handbook: const Generics</li>
<li>(23:06) - Cool API: navigator.sendBeacon for Analytics</li>
<li>(24:43) - Cool Lib: es-toolkit, A Modern JavaScript Utility Library</li>
<li>(25:26) - Cool Lib: di-wise, a Zero Deps Dependency Injection Library for TS</li>
<li>(26:29) - Cool Read: NIH is Far Cheaper Than the Wrong Dependency</li>
</ul><br><strong>News</strong><ul><li><a href="https://bsky.app/profile/deno.land/post/3luq2ts7sws2m">Deno Fresh 2.0 is an alpha</a></li><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-9-rc/">Announcing TypeScript 5.9 RC</a> </li><li><a href="https://www.bleepingcomputer.com/news/security/popular-npm-linter-packages-hijacked-via-phishing-to-drop-malware/">Popular npm linter packages hijacked via phishing to drop malware</a> </li></ul><p><strong>From the Community</strong></p><ul><li>freeCodeCamp: <a href="https://youtu.be/ZvZ7gvcmPmI">Learn TypeScript – Crash Course for Beginners</a> (1 hour free course)</li><li>City.js Conf: <a href="https://youtu.be/AOdbyshEGGE?si=kyGvC2njWLV19_LV">Sweta Tanwar - Mastering TypeScript Mysteries</a></li><li><a href="https://bsky.app/profile/raganwald.social.bau-ha.us.ap.brid.gy/post/3luptwotedxh2">Interesting Type Inference Post using BigInts</a> (<a href="https://www.typescriptlang.org/play/#code/PTAEFpK7QcwJwKYEMAupEA8AOiDGqaAlgPYB2AzhNDQFC2oCeuoAojvqgDwAqGmqRGQAmVVPACuiAHygAvKB4BuBs0RsAjhOQAbLgA0ANKACashQApe0iwEp5svlkEiq+0AH5QARlAAuUAAme2chUVBrOwdFfhdwk08ffyDaUETxKVTkgDNdCkQVJhZ2OIouAEFjACFzUHLYsKoq9Ml1ANydfJVaEGoaKFA8EgBbbGR4IjJYUDIJYYAjRHhQVBJQeaJYSfR+6Hoi9QB9QQpUQ4AGeTYOAi4Sxq4AIm9AgGYAFgBWR+MAAwASADeswWSwAvr9pNJCmpQMdEKdDr4FOxcLd7q4ni8Pt8-kCNlsyKgIVCYSx4YjAldUZw7gIHs83l8AHQANgA7D9QADgXNFvASdCemAAAKoCjgLBo1CS+DwEjLAnbKjDCSndbqZWqcknM6vak3bgY0RYpmfNmcvGApVEwUqIA">Playground Link</a>)</li><li><a href="https://github.com/stagas/tsbro">stagas/tsbro: TypeScript for the Browser</a></li><li><a href="https://github.com/alessiocoser/pure-ts-mock">pure-ts-mock</a> (<a href="https://bsky.app/profile/alessiocoser.com/post/3lusu3jabxs2q">bweet</a>) is a minimalist, type-safe mocking library</li><li>Matt Jennings pointed out a neat way to do SSR with Web Components (Lit) using <a href="https://github.com/denoland/deno_emit/blob/main/js/README.md">Deno Emit</a> and <a href="https://deno.com/blog/v2.4#deno-bundle">Deno Bundle</a> </li><li>Laxman Rathod: <a href="https://dev.to/lra8dev/mastering-typescript-types-a-practical-guide-from-basics-to-advanced-12c6">Mastering TypeScript Types: A Practical Guide from Basics to Advanced</a> (h/t <a href="https://bsky.app/profile/wildermuth.com/post/3lusht2ovni2b">Shawn Wildermuth</a>)</li><li><a href="https://github.com/blackboardsh/electrobun">Electrobun</a> aims to be a complete <strong>solution-in-a-box</strong> for building, updating, and shipping ultra fast, tiny, and cross-platform desktop applications written in Typescript. Under the hood it uses <a href="https://bun.sh/">bun</a> to execute the main process and to bundle webview typescript, and has native bindings written in <a href="https://ziglang.org/">zig</a>.</li><li>Secret of the Handbook: Const Generics (<a href="https://www.typescriptlang.org/play/?#code/FDCmA8AcHsCcBcAEAzArgOwMbwJbXYgO6w7ygDC+AzvADybVIAqAfABTwAWO6A5gFyImASkFNEAb2CIZiBuirQANqAB0S6Lw7c+wgNzTZsUPFSwCXHrwMBfEBBgIUGbHgLFSoAHL5KCuqzaVmKiQpKGMvKKKuqaQboGsojGpuaIlny2IFFIhACMiAC8RCRkfjRsANoARBm81QA0iLU6vABMjc11AMzVALr6iAD0Q8mgAIYAJvhKAJ6INXWdLVYdTSt8vX3AOURtRSWePujl8FUb9et1a12tW4MjiDQkfJXbIEA">playground link</a>) (h/t <a href="https://bsky.app/profile/sirpepe.bsky.social/post/3luoymm6pc22l">sirpepe</a>) </li></ul><p><strong>Cool Stuff</strong></p><ul><li><a href="https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon">Navigator: sendBeacon() method</a></li><li><a href="https://github.com/toss/es-toolkit">toss/es-toolkit: A modern JavaScript utility library that's 2-3 times faster and up to 97% smaller—a major upgrade to lodash</a></li><li><a href="https://github.com/exuanbo/di-wise">exuanbo/di-wise: Lightweight and flexible dependency injection library for JavaScript and TypeScript, w/wo ECMAScript decorators</a></li><li><a href="https://blog.aotoki.me/posts/2025/07/25/clean-architecture-in-ts-tsyringe-package/">Clean Architecture in TypeScript | 弦而時習之</a> </li><li>Lewis Campbell: <a href="https://lewiscampbell.tech/blog/250718.html">NIH Is Far Cheaper Than The Wrong Dependency</a> </li><li><a href="https://learnwardleymapping.com">Learn Wardley Mapping</a></li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/857c045a/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Nuxt 4.0, Bun's Smarter Types, and Testing Type Completions | News | Ep 27</title>
      <itunes:episode>27</itunes:episode>
      <podcast:episode>27</podcast:episode>
      <itunes:title>Nuxt 4.0, Bun's Smarter Types, and Testing Type Completions | News | Ep 27</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">ed517867-c350-41d8-8988-24a0b473c2b0</guid>
      <link>https://share.transistor.fm/s/b8dbe1a6</link>
      <description>
        <![CDATA[<p>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. </p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal News</li>
<li>(06:02) - News: Nuxt 4.0 Release and NuxtLabs Joins Vercel</li>
<li>(09:57) - News: TSGO Adds Go-to-type Definition Support</li>
<li>(10:33) - News: Node 24.4.1 Security Patches</li>
<li>(12:12) - News: Bun 1.2.19 Ships Smarter Types</li>
<li>(13:21) - News: SvelteKit Now Supports Vite 7 and Rolldown</li>
<li>(13:52) - Community Highlight: oxlint + tsgolint = no slowdown!</li>
<li>(16:01) - Community Highlight: Type-safe Event Emitters by Artem</li>
<li>(17:13) - Community Highlight: Understanding TypeScript's Type Inference by SharpCoderBlog</li>
<li>(17:46) - Community Highlight: Testing Type Completions in TypeScript by Arktype</li>
<li>(19:17) - Community Highlight: Type-safe Persistence and Auto-theming in Svelte 5 by Puru Vijay</li>
<li>(19:59) - Community Highlight: Your GPU is a JavaScript Runtime by Iwo Plaza</li>
<li>(20:54) - Community Highlight: DHH Hates TypeScript</li>
<li>(22:15) - Community Highlight: Node and Deno Permissions Discussion by Dr. Axel</li>
<li>(25:29) - Community Highlight: Treating Types as Values with Type-level Maps by Gregros</li>
<li>(27:08) - Community Highlight: Return Types on Functions, Yay or Nay? by Kyle Shevlin</li>
<li>(28:15) - Community Highlight: Jake and Josh Interview on Software Engineering Daily Podcast</li>
<li>(28:34) - Cool Link: Dokploy is an OSS Alternative to Vercel, Netlify, and Heroku</li>
<li>(30:07) - Cool Link: Turning a Toy Into a Cyberdeck by Attoparsec</li>
<li>(30:52) - Cool Link: What's New in Vite by Evan You</li>
<li>(31:38) - Cool Link: Add Windows to Your App with winbox.js</li>
<li>(33:21) - Cool Link: Marginal Utility of Money by The Happy Philosopher</li>
<li>(37:42) - Post-credits Banter</li>
</ul><br><strong>Personal</strong> <strong>News</strong><ul><li>Sorry for the delay, Kamran just got back from vacation!</li><li><a href="https://www.instagram.com/kamranicus/">Follow Kamran's trip on Insta</a></li></ul><p><strong>News</strong></p><ul><li><a href="https://nuxt.com/blog/v4">Nuxt 4.0</a> is released and <a href="https://vercel.com/blog/nuxtlabs-joins-vercel">NuxtLabs joins Vercel</a></li><li>typescript-go: Implement go-to-type-definition (PR <a href="https://github.com/microsoft/typescript-go/pull/1405">#1405</a>)</li><li><a href="https://nodejs.org/en/blog/release/v24.4.0">Node.js 24.4.0</a> and <a href="https://nodejs.org/en/blog/release/v24.4.1">24.4.1</a> include high-severity CVE fixes (as well as 20.x, and 22.x release lines)</li><li><a href="https://bun.com/blog/bun-v1.2.19">Bun 1.2.19</a> is smarter when you are not using `dom` lib types</li><li><a href="https://svelte.dev/blog/whats-new-in-svelte-july-2025">What’s new in Svelte: July 2025</a></li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://bsky.app/profile/boshen.github.io/post/3luc3siy2tk2d">Boshen: oxlint + tsgolint = no slowdown!</a> no-floating-promises completes 4.4k files in 3.2 seconds, in the vscode repo.</li><li><a href="https://bsky.app/profile/kettanaito.com/post/3lukajgl6rx27">Artem: rettime, a type-safe event emitter</a></li><li><a href="https://www.sharpcoderblog.com/blog/deep-dive-into-typescripts-type-inference-system">SharpCoderBlog: Deep Dive into TS Type Inference</a></li><li><a href="https://github.com/arktypeio/arktype/tree/main/ark/attest#readme">Arktype: Testing Type Completions with @ark/attest</a> (<a href="https://bsky.app/profile/ssalbdivad.dev/post/3luniidgrkk2g">bsky thread</a>)</li><li>Puru Vijay: <a href="https://www.puruvj.dev/blog/svelte-5-runic-persist-theming">Type-Safe Persistence and Auto-Theming in Svelte 5</a></li><li><a href="https://www.youtube.com/watch?v=pBRLqJaG4kk">Iwo Plaza: Your GPU is a JavaScript runtime* (TypeGPU deep-dive)</a> </li><li><a href="https://www.youtube.com/watch?v=tyjUH5TLSTM">DHH: I hate TypeScript</a></li><li><a href="https://bsky.app/profile/dr-axel.de/post/3luabdstcyk2a">Discussion: Per-module or Per-dependency Permissions?</a></li><li>Greg Rosenbaum: <a href="https://gregros.dev/typescript/treating-types-as-values-with-type-level-maps">Treating types as values with type-level maps</a></li><li>Kyle Shevlin: <a href="https://bsky.app/profile/kyleshevl.in/post/3lulcull7zk2j">Return types on functions, yay or nay?</a></li><li>Software Engineering Daily Podcast: <a href="https://softwareengineeringdaily.com/2025/07/15/typescript-with-jake-bailey/">TypeScript with Jake Bailey</a></li></ul><p><strong>Cool Stuff</strong></p><ul><li>Tool: <a href="https://github.com/Dokploy/dokploy">dokploy is an OSS alternative to Netlify</a> </li><li>Video: <a href="https://www.youtube.com/watch?v=XewX68F0JDg">Turning a toy into a cyberdeck</a></li><li>Video: <a href="https://www.youtube.com/watch?v=cXiy8jtgfmM">What's New in Vite Explained by Its Creator</a> </li><li>Library: <a href="https://thathtml.blog/2025/07/put-windows-in-your-web-app-with-winbox/">Put Windows in Your Web App with WinBox.js</a></li><li>Blog: <a href="https://thehappyphilosopher.com/how-understanding-the-marginal-utility-of-money-will-make-you-happier/">How Understanding the Marginal Utility of Money Will Make you Happier</a> </li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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. </p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal News</li>
<li>(06:02) - News: Nuxt 4.0 Release and NuxtLabs Joins Vercel</li>
<li>(09:57) - News: TSGO Adds Go-to-type Definition Support</li>
<li>(10:33) - News: Node 24.4.1 Security Patches</li>
<li>(12:12) - News: Bun 1.2.19 Ships Smarter Types</li>
<li>(13:21) - News: SvelteKit Now Supports Vite 7 and Rolldown</li>
<li>(13:52) - Community Highlight: oxlint + tsgolint = no slowdown!</li>
<li>(16:01) - Community Highlight: Type-safe Event Emitters by Artem</li>
<li>(17:13) - Community Highlight: Understanding TypeScript's Type Inference by SharpCoderBlog</li>
<li>(17:46) - Community Highlight: Testing Type Completions in TypeScript by Arktype</li>
<li>(19:17) - Community Highlight: Type-safe Persistence and Auto-theming in Svelte 5 by Puru Vijay</li>
<li>(19:59) - Community Highlight: Your GPU is a JavaScript Runtime by Iwo Plaza</li>
<li>(20:54) - Community Highlight: DHH Hates TypeScript</li>
<li>(22:15) - Community Highlight: Node and Deno Permissions Discussion by Dr. Axel</li>
<li>(25:29) - Community Highlight: Treating Types as Values with Type-level Maps by Gregros</li>
<li>(27:08) - Community Highlight: Return Types on Functions, Yay or Nay? by Kyle Shevlin</li>
<li>(28:15) - Community Highlight: Jake and Josh Interview on Software Engineering Daily Podcast</li>
<li>(28:34) - Cool Link: Dokploy is an OSS Alternative to Vercel, Netlify, and Heroku</li>
<li>(30:07) - Cool Link: Turning a Toy Into a Cyberdeck by Attoparsec</li>
<li>(30:52) - Cool Link: What's New in Vite by Evan You</li>
<li>(31:38) - Cool Link: Add Windows to Your App with winbox.js</li>
<li>(33:21) - Cool Link: Marginal Utility of Money by The Happy Philosopher</li>
<li>(37:42) - Post-credits Banter</li>
</ul><br><strong>Personal</strong> <strong>News</strong><ul><li>Sorry for the delay, Kamran just got back from vacation!</li><li><a href="https://www.instagram.com/kamranicus/">Follow Kamran's trip on Insta</a></li></ul><p><strong>News</strong></p><ul><li><a href="https://nuxt.com/blog/v4">Nuxt 4.0</a> is released and <a href="https://vercel.com/blog/nuxtlabs-joins-vercel">NuxtLabs joins Vercel</a></li><li>typescript-go: Implement go-to-type-definition (PR <a href="https://github.com/microsoft/typescript-go/pull/1405">#1405</a>)</li><li><a href="https://nodejs.org/en/blog/release/v24.4.0">Node.js 24.4.0</a> and <a href="https://nodejs.org/en/blog/release/v24.4.1">24.4.1</a> include high-severity CVE fixes (as well as 20.x, and 22.x release lines)</li><li><a href="https://bun.com/blog/bun-v1.2.19">Bun 1.2.19</a> is smarter when you are not using `dom` lib types</li><li><a href="https://svelte.dev/blog/whats-new-in-svelte-july-2025">What’s new in Svelte: July 2025</a></li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://bsky.app/profile/boshen.github.io/post/3luc3siy2tk2d">Boshen: oxlint + tsgolint = no slowdown!</a> no-floating-promises completes 4.4k files in 3.2 seconds, in the vscode repo.</li><li><a href="https://bsky.app/profile/kettanaito.com/post/3lukajgl6rx27">Artem: rettime, a type-safe event emitter</a></li><li><a href="https://www.sharpcoderblog.com/blog/deep-dive-into-typescripts-type-inference-system">SharpCoderBlog: Deep Dive into TS Type Inference</a></li><li><a href="https://github.com/arktypeio/arktype/tree/main/ark/attest#readme">Arktype: Testing Type Completions with @ark/attest</a> (<a href="https://bsky.app/profile/ssalbdivad.dev/post/3luniidgrkk2g">bsky thread</a>)</li><li>Puru Vijay: <a href="https://www.puruvj.dev/blog/svelte-5-runic-persist-theming">Type-Safe Persistence and Auto-Theming in Svelte 5</a></li><li><a href="https://www.youtube.com/watch?v=pBRLqJaG4kk">Iwo Plaza: Your GPU is a JavaScript runtime* (TypeGPU deep-dive)</a> </li><li><a href="https://www.youtube.com/watch?v=tyjUH5TLSTM">DHH: I hate TypeScript</a></li><li><a href="https://bsky.app/profile/dr-axel.de/post/3luabdstcyk2a">Discussion: Per-module or Per-dependency Permissions?</a></li><li>Greg Rosenbaum: <a href="https://gregros.dev/typescript/treating-types-as-values-with-type-level-maps">Treating types as values with type-level maps</a></li><li>Kyle Shevlin: <a href="https://bsky.app/profile/kyleshevl.in/post/3lulcull7zk2j">Return types on functions, yay or nay?</a></li><li>Software Engineering Daily Podcast: <a href="https://softwareengineeringdaily.com/2025/07/15/typescript-with-jake-bailey/">TypeScript with Jake Bailey</a></li></ul><p><strong>Cool Stuff</strong></p><ul><li>Tool: <a href="https://github.com/Dokploy/dokploy">dokploy is an OSS alternative to Netlify</a> </li><li>Video: <a href="https://www.youtube.com/watch?v=XewX68F0JDg">Turning a toy into a cyberdeck</a></li><li>Video: <a href="https://www.youtube.com/watch?v=cXiy8jtgfmM">What's New in Vite Explained by Its Creator</a> </li><li>Library: <a href="https://thathtml.blog/2025/07/put-windows-in-your-web-app-with-winbox/">Put Windows in Your Web App with WinBox.js</a></li><li>Blog: <a href="https://thehappyphilosopher.com/how-understanding-the-marginal-utility-of-money-will-make-you-happier/">How Understanding the Marginal Utility of Money Will Make you Happier</a> </li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </content:encoded>
      <pubDate>Tue, 22 Jul 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/b8dbe1a6/740e2b01.mp3" length="18449559" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2301</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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. </p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal News</li>
<li>(06:02) - News: Nuxt 4.0 Release and NuxtLabs Joins Vercel</li>
<li>(09:57) - News: TSGO Adds Go-to-type Definition Support</li>
<li>(10:33) - News: Node 24.4.1 Security Patches</li>
<li>(12:12) - News: Bun 1.2.19 Ships Smarter Types</li>
<li>(13:21) - News: SvelteKit Now Supports Vite 7 and Rolldown</li>
<li>(13:52) - Community Highlight: oxlint + tsgolint = no slowdown!</li>
<li>(16:01) - Community Highlight: Type-safe Event Emitters by Artem</li>
<li>(17:13) - Community Highlight: Understanding TypeScript's Type Inference by SharpCoderBlog</li>
<li>(17:46) - Community Highlight: Testing Type Completions in TypeScript by Arktype</li>
<li>(19:17) - Community Highlight: Type-safe Persistence and Auto-theming in Svelte 5 by Puru Vijay</li>
<li>(19:59) - Community Highlight: Your GPU is a JavaScript Runtime by Iwo Plaza</li>
<li>(20:54) - Community Highlight: DHH Hates TypeScript</li>
<li>(22:15) - Community Highlight: Node and Deno Permissions Discussion by Dr. Axel</li>
<li>(25:29) - Community Highlight: Treating Types as Values with Type-level Maps by Gregros</li>
<li>(27:08) - Community Highlight: Return Types on Functions, Yay or Nay? by Kyle Shevlin</li>
<li>(28:15) - Community Highlight: Jake and Josh Interview on Software Engineering Daily Podcast</li>
<li>(28:34) - Cool Link: Dokploy is an OSS Alternative to Vercel, Netlify, and Heroku</li>
<li>(30:07) - Cool Link: Turning a Toy Into a Cyberdeck by Attoparsec</li>
<li>(30:52) - Cool Link: What's New in Vite by Evan You</li>
<li>(31:38) - Cool Link: Add Windows to Your App with winbox.js</li>
<li>(33:21) - Cool Link: Marginal Utility of Money by The Happy Philosopher</li>
<li>(37:42) - Post-credits Banter</li>
</ul><br><strong>Personal</strong> <strong>News</strong><ul><li>Sorry for the delay, Kamran just got back from vacation!</li><li><a href="https://www.instagram.com/kamranicus/">Follow Kamran's trip on Insta</a></li></ul><p><strong>News</strong></p><ul><li><a href="https://nuxt.com/blog/v4">Nuxt 4.0</a> is released and <a href="https://vercel.com/blog/nuxtlabs-joins-vercel">NuxtLabs joins Vercel</a></li><li>typescript-go: Implement go-to-type-definition (PR <a href="https://github.com/microsoft/typescript-go/pull/1405">#1405</a>)</li><li><a href="https://nodejs.org/en/blog/release/v24.4.0">Node.js 24.4.0</a> and <a href="https://nodejs.org/en/blog/release/v24.4.1">24.4.1</a> include high-severity CVE fixes (as well as 20.x, and 22.x release lines)</li><li><a href="https://bun.com/blog/bun-v1.2.19">Bun 1.2.19</a> is smarter when you are not using `dom` lib types</li><li><a href="https://svelte.dev/blog/whats-new-in-svelte-july-2025">What’s new in Svelte: July 2025</a></li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://bsky.app/profile/boshen.github.io/post/3luc3siy2tk2d">Boshen: oxlint + tsgolint = no slowdown!</a> no-floating-promises completes 4.4k files in 3.2 seconds, in the vscode repo.</li><li><a href="https://bsky.app/profile/kettanaito.com/post/3lukajgl6rx27">Artem: rettime, a type-safe event emitter</a></li><li><a href="https://www.sharpcoderblog.com/blog/deep-dive-into-typescripts-type-inference-system">SharpCoderBlog: Deep Dive into TS Type Inference</a></li><li><a href="https://github.com/arktypeio/arktype/tree/main/ark/attest#readme">Arktype: Testing Type Completions with @ark/attest</a> (<a href="https://bsky.app/profile/ssalbdivad.dev/post/3luniidgrkk2g">bsky thread</a>)</li><li>Puru Vijay: <a href="https://www.puruvj.dev/blog/svelte-5-runic-persist-theming">Type-Safe Persistence and Auto-Theming in Svelte 5</a></li><li><a href="https://www.youtube.com/watch?v=pBRLqJaG4kk">Iwo Plaza: Your GPU is a JavaScript runtime* (TypeGPU deep-dive)</a> </li><li><a href="https://www.youtube.com/watch?v=tyjUH5TLSTM">DHH: I hate TypeScript</a></li><li><a href="https://bsky.app/profile/dr-axel.de/post/3luabdstcyk2a">Discussion: Per-module or Per-dependency Permissions?</a></li><li>Greg Rosenbaum: <a href="https://gregros.dev/typescript/treating-types-as-values-with-type-level-maps">Treating types as values with type-level maps</a></li><li>Kyle Shevlin: <a href="https://bsky.app/profile/kyleshevl.in/post/3lulcull7zk2j">Return types on functions, yay or nay?</a></li><li>Software Engineering Daily Podcast: <a href="https://softwareengineeringdaily.com/2025/07/15/typescript-with-jake-bailey/">TypeScript with Jake Bailey</a></li></ul><p><strong>Cool Stuff</strong></p><ul><li>Tool: <a href="https://github.com/Dokploy/dokploy">dokploy is an OSS alternative to Netlify</a> </li><li>Video: <a href="https://www.youtube.com/watch?v=XewX68F0JDg">Turning a toy into a cyberdeck</a></li><li>Video: <a href="https://www.youtube.com/watch?v=cXiy8jtgfmM">What's New in Vite Explained by Its Creator</a> </li><li>Library: <a href="https://thathtml.blog/2025/07/put-windows-in-your-web-app-with-winbox/">Put Windows in Your Web App with WinBox.js</a></li><li>Blog: <a href="https://thehappyphilosopher.com/how-understanding-the-marginal-utility-of-money-will-make-you-happier/">How Understanding the Marginal Utility of Money Will Make you Happier</a> </li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><br></p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/b8dbe1a6/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>TypeScript 5.9 Beta, Redonkulous Linting, and a Community Enum Syntax Proposal | News | Ep 26</title>
      <itunes:episode>26</itunes:episode>
      <podcast:episode>26</podcast:episode>
      <itunes:title>TypeScript 5.9 Beta, Redonkulous Linting, and a Community Enum Syntax Proposal | News | Ep 26</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">b758501f-08cd-4eae-9049-ff59ce13c22d</guid>
      <link>https://share.transistor.fm/s/d40c5049</link>
      <description>
        <![CDATA[<p>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?</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal News</li>
<li>(07:10) - News: TypeScript 5.9 Beta</li>
<li>(19:42) - News: tsgolint, an Experimental JS/TS Native Linter</li>
<li>(21:56) - PSA: Upgrade Your Node.js 20.x, 22.x, and 24.x Installations</li>
<li>(22:46) - Community Highlight: TSL, a New Type-aware Linter</li>
<li>(25:00) - Community Highlight: New typescript-eslint Homepage Preview</li>
<li>(26:04) - Community Highlight: New Enum Syntax Proposal by Naman</li>
<li>(29:53) - Community Highlight: WTF TypeScript by trashh_dev</li>
<li>(31:27) - Community Highlight: Migrating MorphKit to NativeScript with LLMs</li>
<li>(33:47) - Community Highlight: ariadne-ts Brings Rust-style Diagnostic Messages to TS</li>
<li>(35:20) - Cool Link: Get Current Weather in Your Terminal</li>
<li>(36:12) - Cool Link: JSON Repair</li>
<li>(37:09) - Cool Link: aws/jsii Lets You Consume TS Libs from Python, Java, and C#</li>
<li>(39:38) - Cool Link: Check Road Conditions in Colorado with cotrip.org</li>
</ul><br><strong>Personal</strong> <strong>News</strong><ul><li>Sorry for the delay, Kamran's on vacation!</li><li><a href="https://www.instagram.com/kamranicus/">Follow Kamran's trip on Insta</a></li></ul><p><strong>News</strong></p><ul><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-9-beta/">Announcing TypeScript 5.9 Beta</a> </li><li><a href="https://github.com/typescript-eslint/tsgolint">tsgolint, an experimental proof-of-concept typescript-go powered JS/TS linter written in Go</a></li><li>PSA: <a href="https://nodejs.org/en/blog/vulnerability/july-2025-security-releases">High-severity security patches</a> coming to <a href="http://node.js">Node.js</a> on Patch Tuesday for 24.x, 22.x, and 20.x release lines!</li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://bsky.app/profile/arnaud-barre.bsky.social/post/3ltkrf2lb2k2h">Arnaud Barré: Introducing tsl, an extension of tsc for type-aware linting!</a></li><li><a href="https://bsky.app/profile/joshuakgoldberg.com/post/3lsy7khdcxk2i">Joshua Goldberg: New TypeScript Eslint homepage</a></li><li><a href="https://nmn.sh/blog/2025-03-09-new-enum-syntax">Naman: New enum syntax for TypeScript</a> </li><li><a href="https://youtu.be/dh6BCSzaF6g?si=vzDeEspm4YnU3_Du">Chris Batiste (trashh_dev): WTF Typescript</a> </li><li><a href="https://nstudio.io/blog/morphing-swift-to-nativescript">nStudio: Morphing Swift to 100% TypeScript with NativeScript + AI</a></li><li><a href="https://github.com/Duroktar/ariadne-ts">Ariadne-ts v0.3.0: Beautiful Diagnostics in TypeScript</a> (h/t <a href="https://www.reddit.com/r/typescript/comments/1lr8bnh/ariadnets_v030_beautiful_diagnostics_in_typescript/">Reddit</a>)</li><li><br></li></ul><p><strong>Cool Stuff</strong></p><ul><li><a href="https://github.com/aws/jsii">aws/jsii allows code in any language to naturally interact with JavaScript classes</a></li><li><a href="https://cotrip.org/">COtrip.org</a> – get road conditions in Colorado</li><li>`curl <a href="http://wttr.in">wttr.in</a>` -- Weather from the terminal</li><li><a href="https://github.com/josdejong/jsonrepair">josdejong/jsonrepair: Repair invalid JSON documents</a> </li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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?</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal News</li>
<li>(07:10) - News: TypeScript 5.9 Beta</li>
<li>(19:42) - News: tsgolint, an Experimental JS/TS Native Linter</li>
<li>(21:56) - PSA: Upgrade Your Node.js 20.x, 22.x, and 24.x Installations</li>
<li>(22:46) - Community Highlight: TSL, a New Type-aware Linter</li>
<li>(25:00) - Community Highlight: New typescript-eslint Homepage Preview</li>
<li>(26:04) - Community Highlight: New Enum Syntax Proposal by Naman</li>
<li>(29:53) - Community Highlight: WTF TypeScript by trashh_dev</li>
<li>(31:27) - Community Highlight: Migrating MorphKit to NativeScript with LLMs</li>
<li>(33:47) - Community Highlight: ariadne-ts Brings Rust-style Diagnostic Messages to TS</li>
<li>(35:20) - Cool Link: Get Current Weather in Your Terminal</li>
<li>(36:12) - Cool Link: JSON Repair</li>
<li>(37:09) - Cool Link: aws/jsii Lets You Consume TS Libs from Python, Java, and C#</li>
<li>(39:38) - Cool Link: Check Road Conditions in Colorado with cotrip.org</li>
</ul><br><strong>Personal</strong> <strong>News</strong><ul><li>Sorry for the delay, Kamran's on vacation!</li><li><a href="https://www.instagram.com/kamranicus/">Follow Kamran's trip on Insta</a></li></ul><p><strong>News</strong></p><ul><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-9-beta/">Announcing TypeScript 5.9 Beta</a> </li><li><a href="https://github.com/typescript-eslint/tsgolint">tsgolint, an experimental proof-of-concept typescript-go powered JS/TS linter written in Go</a></li><li>PSA: <a href="https://nodejs.org/en/blog/vulnerability/july-2025-security-releases">High-severity security patches</a> coming to <a href="http://node.js">Node.js</a> on Patch Tuesday for 24.x, 22.x, and 20.x release lines!</li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://bsky.app/profile/arnaud-barre.bsky.social/post/3ltkrf2lb2k2h">Arnaud Barré: Introducing tsl, an extension of tsc for type-aware linting!</a></li><li><a href="https://bsky.app/profile/joshuakgoldberg.com/post/3lsy7khdcxk2i">Joshua Goldberg: New TypeScript Eslint homepage</a></li><li><a href="https://nmn.sh/blog/2025-03-09-new-enum-syntax">Naman: New enum syntax for TypeScript</a> </li><li><a href="https://youtu.be/dh6BCSzaF6g?si=vzDeEspm4YnU3_Du">Chris Batiste (trashh_dev): WTF Typescript</a> </li><li><a href="https://nstudio.io/blog/morphing-swift-to-nativescript">nStudio: Morphing Swift to 100% TypeScript with NativeScript + AI</a></li><li><a href="https://github.com/Duroktar/ariadne-ts">Ariadne-ts v0.3.0: Beautiful Diagnostics in TypeScript</a> (h/t <a href="https://www.reddit.com/r/typescript/comments/1lr8bnh/ariadnets_v030_beautiful_diagnostics_in_typescript/">Reddit</a>)</li><li><br></li></ul><p><strong>Cool Stuff</strong></p><ul><li><a href="https://github.com/aws/jsii">aws/jsii allows code in any language to naturally interact with JavaScript classes</a></li><li><a href="https://cotrip.org/">COtrip.org</a> – get road conditions in Colorado</li><li>`curl <a href="http://wttr.in">wttr.in</a>` -- Weather from the terminal</li><li><a href="https://github.com/josdejong/jsonrepair">josdejong/jsonrepair: Repair invalid JSON documents</a> </li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Tue, 15 Jul 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/d40c5049/e00f4bd6.mp3" length="20105790" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2508</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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?</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal News</li>
<li>(07:10) - News: TypeScript 5.9 Beta</li>
<li>(19:42) - News: tsgolint, an Experimental JS/TS Native Linter</li>
<li>(21:56) - PSA: Upgrade Your Node.js 20.x, 22.x, and 24.x Installations</li>
<li>(22:46) - Community Highlight: TSL, a New Type-aware Linter</li>
<li>(25:00) - Community Highlight: New typescript-eslint Homepage Preview</li>
<li>(26:04) - Community Highlight: New Enum Syntax Proposal by Naman</li>
<li>(29:53) - Community Highlight: WTF TypeScript by trashh_dev</li>
<li>(31:27) - Community Highlight: Migrating MorphKit to NativeScript with LLMs</li>
<li>(33:47) - Community Highlight: ariadne-ts Brings Rust-style Diagnostic Messages to TS</li>
<li>(35:20) - Cool Link: Get Current Weather in Your Terminal</li>
<li>(36:12) - Cool Link: JSON Repair</li>
<li>(37:09) - Cool Link: aws/jsii Lets You Consume TS Libs from Python, Java, and C#</li>
<li>(39:38) - Cool Link: Check Road Conditions in Colorado with cotrip.org</li>
</ul><br><strong>Personal</strong> <strong>News</strong><ul><li>Sorry for the delay, Kamran's on vacation!</li><li><a href="https://www.instagram.com/kamranicus/">Follow Kamran's trip on Insta</a></li></ul><p><strong>News</strong></p><ul><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-9-beta/">Announcing TypeScript 5.9 Beta</a> </li><li><a href="https://github.com/typescript-eslint/tsgolint">tsgolint, an experimental proof-of-concept typescript-go powered JS/TS linter written in Go</a></li><li>PSA: <a href="https://nodejs.org/en/blog/vulnerability/july-2025-security-releases">High-severity security patches</a> coming to <a href="http://node.js">Node.js</a> on Patch Tuesday for 24.x, 22.x, and 20.x release lines!</li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://bsky.app/profile/arnaud-barre.bsky.social/post/3ltkrf2lb2k2h">Arnaud Barré: Introducing tsl, an extension of tsc for type-aware linting!</a></li><li><a href="https://bsky.app/profile/joshuakgoldberg.com/post/3lsy7khdcxk2i">Joshua Goldberg: New TypeScript Eslint homepage</a></li><li><a href="https://nmn.sh/blog/2025-03-09-new-enum-syntax">Naman: New enum syntax for TypeScript</a> </li><li><a href="https://youtu.be/dh6BCSzaF6g?si=vzDeEspm4YnU3_Du">Chris Batiste (trashh_dev): WTF Typescript</a> </li><li><a href="https://nstudio.io/blog/morphing-swift-to-nativescript">nStudio: Morphing Swift to 100% TypeScript with NativeScript + AI</a></li><li><a href="https://github.com/Duroktar/ariadne-ts">Ariadne-ts v0.3.0: Beautiful Diagnostics in TypeScript</a> (h/t <a href="https://www.reddit.com/r/typescript/comments/1lr8bnh/ariadnets_v030_beautiful_diagnostics_in_typescript/">Reddit</a>)</li><li><br></li></ul><p><strong>Cool Stuff</strong></p><ul><li><a href="https://github.com/aws/jsii">aws/jsii allows code in any language to naturally interact with JavaScript classes</a></li><li><a href="https://cotrip.org/">COtrip.org</a> – get road conditions in Colorado</li><li>`curl <a href="http://wttr.in">wttr.in</a>` -- Weather from the terminal</li><li><a href="https://github.com/josdejong/jsonrepair">josdejong/jsonrepair: Repair invalid JSON documents</a> </li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/d40c5049/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Deno 2.4 Bweets, Next.js Vuln Alert, Modern Node, and Typed Mongo | News | Ep 25</title>
      <itunes:episode>25</itunes:episode>
      <podcast:episode>25</podcast:episode>
      <itunes:title>Deno 2.4 Bweets, Next.js Vuln Alert, Modern Node, and Typed Mongo | News | Ep 25</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">2c3d490b-ab45-4147-beef-34274364b953</guid>
      <link>https://share.transistor.fm/s/cee76c97</link>
      <description>
        <![CDATA[<p>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!</p><p><strong>Chapters</strong></p><p><strong>Personal</strong> <strong>News</strong></p><ul><li><a href="https://www.shure.com/en-US/products/microphones/mv7?variant=MV7%2B-K">Shure MV7+ Microphone</a></li><li><a href="https://excaliburjs.com/excalibur-playground/?code=JYWwDg9gTgLgBAKjgQwM5wKYA84DMoQhwBE2AxsgDbABGArlMQNwBQLZEAdqvAObIgMcALxxOGAO6YsAOgCinXsHEAKAN4s4cCpwBuaOZQyDOMAJIATAFwkwUDLuCSAtDv2piAGk1wLwVGCUyACeALIQFhg22DIAIv6BIeGRMgBiwDAAwlwwyMoYUN5aEsAWMAAWNgBsAAw1RXDlGMC85TA2ACx1DTTIZADWvAR0nBbZlNDRsuPQMgBCQQPeAL4AlKzsXDxwRrgwAArIFhZGImKS0jIAgmQw0Oo+kKhTMroYZCoATPVw-IIyFigyAkAAlmq14AB6OCfVYNEplSow+o+JotNo2ACM3R8HAmUBeMygMgA6uUMhgVusWLsDkcThgZDQIsEZHjqKhgFwACrBMBCUQxcYcrmcXn8tLALAYCwbDjceBQdF046nUTiKQxG53KAPLRPF5vD5-RmA4Ek0oVODOZGeX4CU1A0HgtpwaGw+GWpHfBpoiFYnFaPGTS5E0nkmCUlhrVhKiGHVWM5kWVns-yi8UC0MQSginl8xnpaWytjy7a9XNnDWXbX3DT6iDPS5GlQmgFOi2It0wu1ts3O5Xdj0+BEVGw+1Eu9q23E5kNCufEskUqmsCuUV4YShnGIt74-ffU9dMlknkZkfKodCiTFrqgb5OpnN5sUFnfTZ-p-MS7XAN4bXBzxgUU4HsVAMBgOZ7xUVY4HrOBjyed9N2NB123NL0h17ND+zBQd3WpIMtngZBFDVOBQmQCoZCBUZCBgxAKKo8oZH2MxGM+VgtGPN5t0FWQ9zqRjKOojhUBUUjeCMOFkRqYTmJkTlOAksiMFWalljYNt6RUWkEwZaltOOFQ4zafTpNYIyLBUddqRYNsuBUYg7AwOgwAsKiMC8OAVAcGBYOEAA+ODZwVOB+hoM422UMA6BgGR+gwYJmWQKASy0YBcB8iKZH8MFKGsmIAGkktQUl1JCrQtD0+kjBkJ4ZGCa1RBUABmISkD8mQt2QMBwIsWDoWxOouLgZZMEocC4Ey7KaFy1B8sK2QSuCMqAGUKvg6qMD2czGQapqAGoWvauTOt0eKer6mVBrgYaalGzSfBmlQcryrclpkFayoAVTATafC0UyVQZerG0a5qfNOxiuqu-rbvux6Jqml63oWj7fOW0q4ggCROABqrQOVPawbKo6To6zALu6oJroG7tEZ8TSYy0tDHOcxsYDcjzI28higsq6asps+9SYhgAeURviHOAAB9ZYQ0WDrgQLRD7J08Iha1kSHWCtsV3NNw3JqEFEZxbyZtgMuFxDwZwSW4BqPXAdAjBwMg6DCLG5GhBe22ypwVX7X+ftOwqZ3CbAiCoNzGDHujOzj3ZtNOWI1KYD5vyAuC+CXq6iAKgKGRcfEKARGEUQasTCOqp4rcZBwG8OJGl3-YbuBjuRJGtxR4X88L4kS4KcvRGBvaa+40XePbs3MWbh7W6Vu3Ie+eOWfstCeHTuOWCAA">Excalibur Playground Prototype is Live</a> (Thanks for the Pong Game Chris K!)</li><li>Playing with<a href="https://microsoft.github.io/monaco-editor/"> Monaco code Editor</a></li><li><a href="https://archlinux.org/">Arch Linux</a> and "<a href="https://www.youtube.com/watch?v=jFz5gLqv-FM">Ricing</a>"</li></ul><p><strong>News</strong></p><ul><li><a href="https://deno.com/blog/v2.4">Deno 2.4</a> is released and it's JAM PACKED!</li><li>PSA: For Next.js users: <a href="https://vercel.com/changelog/cve-2025-49826">CVE-2025-49826 - Vercel</a></li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://nodejs.org/en/blog/community/2025-06-28-Emelia-Smith">Node.js LGBTQIA+ Stories: Emelia Smith</a><ul><li>“The largest change I made to Node.js was splitting up the <a href="https://github.com/nodejs/node/commit/e190c9616ed0b05eb66e1ae6681a8bb4a5f5f3e5">documentation into multiple files and pages</a>, prior to this change, all the documentation had been on a single large page only.”</li></ul></li><li><a href="https://kashw1n.com/blog/nodejs-2025/">Modern Node.js Patterns for 2025</a> (kashw1n)<ul><li><a href="https://undici.nodejs.org/#/">Undici Docs</a></li><li><a href="https://blog.disintegrator.dev/posts/http2-support-in-js-runtimes/">Undici Blog Post</a></li></ul></li><li>NDC Oslo 2025 Talks are Rolling out<ul><li>A<a href="https://youtu.be/ce7G2qlWtFo?si=I_LlkuB3ofKyT_Z6"> Deep Dive into Advanced TypeScript: A Live Coding Expedition Christian Woerz</a></li><li><a href="https://youtu.be/6UGgP8l7TA4?si=g1N2LFAgEdI8W5S9">Keynote CTRL+SHIFT+(BUILD) PAUSE - Laila Bougria</a></li></ul></li><li><a href="https://www.youtube.com/watch?v=AAA4cOgBNKY">NPM Specifiers in Node</a> (Deno YouTube)</li><li><a href="https://bsky.app/profile/literat.dev/post/3lteomsztos2w">Trace Resolution is very handy about type check errors in libraries</a> (@literat.dev)<ul><li>“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 😅”</li></ul></li><li><a href="https://danielpza.xyz/blog/mongodb-collections-typescript/">Typing MongoDB Collections in TypeScript</a> (<a href="https://bsky.app/profile/danielpza.xyz">Daniel Perez</a>) </li><li>From the vault, Feb 2025: <a href="https://benhowdle.im/migrating-js-to-ts-zero-downtime.html">Migrating 160,000 Lines of Production Banking JavaScript to TypeScript with Zero Downtime</a> (Ben Howdle)</li></ul><p><strong>Cool Stuff</strong></p><ul><li>All things NeoVim, Arch, Hyprland, and tech goodness <a href="https://www.youtube.com/@typecraft_dev">YouTube Channel Typecraft</a></li><li><a href="https://simonwillison.net/2025/Jul/5/cgi-bin-performance/">CGI Today</a></li><li><a href="https://www.inkandswitch.com/essay/local-first/">Local-first software: You own your data, in spite of the cloud</a></li><li><a href="https://www.youtube.com/@localfirstconf">LocalFirstConf</a></li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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!</p><p><strong>Chapters</strong></p><p><strong>Personal</strong> <strong>News</strong></p><ul><li><a href="https://www.shure.com/en-US/products/microphones/mv7?variant=MV7%2B-K">Shure MV7+ Microphone</a></li><li><a href="https://excaliburjs.com/excalibur-playground/?code=JYWwDg9gTgLgBAKjgQwM5wKYA84DMoQhwBE2AxsgDbABGArlMQNwBQLZEAdqvAObIgMcALxxOGAO6YsAOgCinXsHEAKAN4s4cCpwBuaOZQyDOMAJIATAFwkwUDLuCSAtDv2piAGk1wLwVGCUyACeALIQFhg22DIAIv6BIeGRMgBiwDAAwlwwyMoYUN5aEsAWMAAWNgBsAAw1RXDlGMC85TA2ACx1DTTIZADWvAR0nBbZlNDRsuPQMgBCQQPeAL4AlKzsXDxwRrgwAArIFhZGImKS0jIAgmQw0Oo+kKhTMroYZCoATPVw-IIyFigyAkAAlmq14AB6OCfVYNEplSow+o+JotNo2ACM3R8HAmUBeMygMgA6uUMhgVusWLsDkcThgZDQIsEZHjqKhgFwACrBMBCUQxcYcrmcXn8tLALAYCwbDjceBQdF046nUTiKQxG53KAPLRPF5vD5-RmA4Ek0oVODOZGeX4CU1A0HgtpwaGw+GWpHfBpoiFYnFaPGTS5E0nkmCUlhrVhKiGHVWM5kWVns-yi8UC0MQSginl8xnpaWytjy7a9XNnDWXbX3DT6iDPS5GlQmgFOi2It0wu1ts3O5Xdj0+BEVGw+1Eu9q23E5kNCufEskUqmsCuUV4YShnGIt74-ffU9dMlknkZkfKodCiTFrqgb5OpnN5sUFnfTZ-p-MS7XAN4bXBzxgUU4HsVAMBgOZ7xUVY4HrOBjyed9N2NB123NL0h17ND+zBQd3WpIMtngZBFDVOBQmQCoZCBUZCBgxAKKo8oZH2MxGM+VgtGPN5t0FWQ9zqRjKOojhUBUUjeCMOFkRqYTmJkTlOAksiMFWalljYNt6RUWkEwZaltOOFQ4zafTpNYIyLBUddqRYNsuBUYg7AwOgwAsKiMC8OAVAcGBYOEAA+ODZwVOB+hoM422UMA6BgGR+gwYJmWQKASy0YBcB8iKZH8MFKGsmIAGkktQUl1JCrQtD0+kjBkJ4ZGCa1RBUABmISkD8mQt2QMBwIsWDoWxOouLgZZMEocC4Ey7KaFy1B8sK2QSuCMqAGUKvg6qMD2czGQapqAGoWvauTOt0eKer6mVBrgYaalGzSfBmlQcryrclpkFayoAVTATafC0UyVQZerG0a5qfNOxiuqu-rbvux6Jqml63oWj7fOW0q4ggCROABqrQOVPawbKo6To6zALu6oJroG7tEZ8TSYy0tDHOcxsYDcjzI28higsq6asps+9SYhgAeURviHOAAB9ZYQ0WDrgQLRD7J08Iha1kSHWCtsV3NNw3JqEFEZxbyZtgMuFxDwZwSW4BqPXAdAjBwMg6DCLG5GhBe22ypwVX7X+ftOwqZ3CbAiCoNzGDHujOzj3ZtNOWI1KYD5vyAuC+CXq6iAKgKGRcfEKARGEUQasTCOqp4rcZBwG8OJGl3-YbuBjuRJGtxR4X88L4kS4KcvRGBvaa+40XePbs3MWbh7W6Vu3Ie+eOWfstCeHTuOWCAA">Excalibur Playground Prototype is Live</a> (Thanks for the Pong Game Chris K!)</li><li>Playing with<a href="https://microsoft.github.io/monaco-editor/"> Monaco code Editor</a></li><li><a href="https://archlinux.org/">Arch Linux</a> and "<a href="https://www.youtube.com/watch?v=jFz5gLqv-FM">Ricing</a>"</li></ul><p><strong>News</strong></p><ul><li><a href="https://deno.com/blog/v2.4">Deno 2.4</a> is released and it's JAM PACKED!</li><li>PSA: For Next.js users: <a href="https://vercel.com/changelog/cve-2025-49826">CVE-2025-49826 - Vercel</a></li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://nodejs.org/en/blog/community/2025-06-28-Emelia-Smith">Node.js LGBTQIA+ Stories: Emelia Smith</a><ul><li>“The largest change I made to Node.js was splitting up the <a href="https://github.com/nodejs/node/commit/e190c9616ed0b05eb66e1ae6681a8bb4a5f5f3e5">documentation into multiple files and pages</a>, prior to this change, all the documentation had been on a single large page only.”</li></ul></li><li><a href="https://kashw1n.com/blog/nodejs-2025/">Modern Node.js Patterns for 2025</a> (kashw1n)<ul><li><a href="https://undici.nodejs.org/#/">Undici Docs</a></li><li><a href="https://blog.disintegrator.dev/posts/http2-support-in-js-runtimes/">Undici Blog Post</a></li></ul></li><li>NDC Oslo 2025 Talks are Rolling out<ul><li>A<a href="https://youtu.be/ce7G2qlWtFo?si=I_LlkuB3ofKyT_Z6"> Deep Dive into Advanced TypeScript: A Live Coding Expedition Christian Woerz</a></li><li><a href="https://youtu.be/6UGgP8l7TA4?si=g1N2LFAgEdI8W5S9">Keynote CTRL+SHIFT+(BUILD) PAUSE - Laila Bougria</a></li></ul></li><li><a href="https://www.youtube.com/watch?v=AAA4cOgBNKY">NPM Specifiers in Node</a> (Deno YouTube)</li><li><a href="https://bsky.app/profile/literat.dev/post/3lteomsztos2w">Trace Resolution is very handy about type check errors in libraries</a> (@literat.dev)<ul><li>“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 😅”</li></ul></li><li><a href="https://danielpza.xyz/blog/mongodb-collections-typescript/">Typing MongoDB Collections in TypeScript</a> (<a href="https://bsky.app/profile/danielpza.xyz">Daniel Perez</a>) </li><li>From the vault, Feb 2025: <a href="https://benhowdle.im/migrating-js-to-ts-zero-downtime.html">Migrating 160,000 Lines of Production Banking JavaScript to TypeScript with Zero Downtime</a> (Ben Howdle)</li></ul><p><strong>Cool Stuff</strong></p><ul><li>All things NeoVim, Arch, Hyprland, and tech goodness <a href="https://www.youtube.com/@typecraft_dev">YouTube Channel Typecraft</a></li><li><a href="https://simonwillison.net/2025/Jul/5/cgi-bin-performance/">CGI Today</a></li><li><a href="https://www.inkandswitch.com/essay/local-first/">Local-first software: You own your data, in spite of the cloud</a></li><li><a href="https://www.youtube.com/@localfirstconf">LocalFirstConf</a></li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Wed, 09 Jul 2025 10:30:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/cee76c97/7b750733.mp3" length="19486068" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2431</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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!</p><p><strong>Chapters</strong></p><p><strong>Personal</strong> <strong>News</strong></p><ul><li><a href="https://www.shure.com/en-US/products/microphones/mv7?variant=MV7%2B-K">Shure MV7+ Microphone</a></li><li><a href="https://excaliburjs.com/excalibur-playground/?code=JYWwDg9gTgLgBAKjgQwM5wKYA84DMoQhwBE2AxsgDbABGArlMQNwBQLZEAdqvAObIgMcALxxOGAO6YsAOgCinXsHEAKAN4s4cCpwBuaOZQyDOMAJIATAFwkwUDLuCSAtDv2piAGk1wLwVGCUyACeALIQFhg22DIAIv6BIeGRMgBiwDAAwlwwyMoYUN5aEsAWMAAWNgBsAAw1RXDlGMC85TA2ACx1DTTIZADWvAR0nBbZlNDRsuPQMgBCQQPeAL4AlKzsXDxwRrgwAArIFhZGImKS0jIAgmQw0Oo+kKhTMroYZCoATPVw-IIyFigyAkAAlmq14AB6OCfVYNEplSow+o+JotNo2ACM3R8HAmUBeMygMgA6uUMhgVusWLsDkcThgZDQIsEZHjqKhgFwACrBMBCUQxcYcrmcXn8tLALAYCwbDjceBQdF046nUTiKQxG53KAPLRPF5vD5-RmA4Ek0oVODOZGeX4CU1A0HgtpwaGw+GWpHfBpoiFYnFaPGTS5E0nkmCUlhrVhKiGHVWM5kWVns-yi8UC0MQSginl8xnpaWytjy7a9XNnDWXbX3DT6iDPS5GlQmgFOi2It0wu1ts3O5Xdj0+BEVGw+1Eu9q23E5kNCufEskUqmsCuUV4YShnGIt74-ffU9dMlknkZkfKodCiTFrqgb5OpnN5sUFnfTZ-p-MS7XAN4bXBzxgUU4HsVAMBgOZ7xUVY4HrOBjyed9N2NB123NL0h17ND+zBQd3WpIMtngZBFDVOBQmQCoZCBUZCBgxAKKo8oZH2MxGM+VgtGPN5t0FWQ9zqRjKOojhUBUUjeCMOFkRqYTmJkTlOAksiMFWalljYNt6RUWkEwZaltOOFQ4zafTpNYIyLBUddqRYNsuBUYg7AwOgwAsKiMC8OAVAcGBYOEAA+ODZwVOB+hoM422UMA6BgGR+gwYJmWQKASy0YBcB8iKZH8MFKGsmIAGkktQUl1JCrQtD0+kjBkJ4ZGCa1RBUABmISkD8mQt2QMBwIsWDoWxOouLgZZMEocC4Ey7KaFy1B8sK2QSuCMqAGUKvg6qMD2czGQapqAGoWvauTOt0eKer6mVBrgYaalGzSfBmlQcryrclpkFayoAVTATafC0UyVQZerG0a5qfNOxiuqu-rbvux6Jqml63oWj7fOW0q4ggCROABqrQOVPawbKo6To6zALu6oJroG7tEZ8TSYy0tDHOcxsYDcjzI28higsq6asps+9SYhgAeURviHOAAB9ZYQ0WDrgQLRD7J08Iha1kSHWCtsV3NNw3JqEFEZxbyZtgMuFxDwZwSW4BqPXAdAjBwMg6DCLG5GhBe22ypwVX7X+ftOwqZ3CbAiCoNzGDHujOzj3ZtNOWI1KYD5vyAuC+CXq6iAKgKGRcfEKARGEUQasTCOqp4rcZBwG8OJGl3-YbuBjuRJGtxR4X88L4kS4KcvRGBvaa+40XePbs3MWbh7W6Vu3Ie+eOWfstCeHTuOWCAA">Excalibur Playground Prototype is Live</a> (Thanks for the Pong Game Chris K!)</li><li>Playing with<a href="https://microsoft.github.io/monaco-editor/"> Monaco code Editor</a></li><li><a href="https://archlinux.org/">Arch Linux</a> and "<a href="https://www.youtube.com/watch?v=jFz5gLqv-FM">Ricing</a>"</li></ul><p><strong>News</strong></p><ul><li><a href="https://deno.com/blog/v2.4">Deno 2.4</a> is released and it's JAM PACKED!</li><li>PSA: For Next.js users: <a href="https://vercel.com/changelog/cve-2025-49826">CVE-2025-49826 - Vercel</a></li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://nodejs.org/en/blog/community/2025-06-28-Emelia-Smith">Node.js LGBTQIA+ Stories: Emelia Smith</a><ul><li>“The largest change I made to Node.js was splitting up the <a href="https://github.com/nodejs/node/commit/e190c9616ed0b05eb66e1ae6681a8bb4a5f5f3e5">documentation into multiple files and pages</a>, prior to this change, all the documentation had been on a single large page only.”</li></ul></li><li><a href="https://kashw1n.com/blog/nodejs-2025/">Modern Node.js Patterns for 2025</a> (kashw1n)<ul><li><a href="https://undici.nodejs.org/#/">Undici Docs</a></li><li><a href="https://blog.disintegrator.dev/posts/http2-support-in-js-runtimes/">Undici Blog Post</a></li></ul></li><li>NDC Oslo 2025 Talks are Rolling out<ul><li>A<a href="https://youtu.be/ce7G2qlWtFo?si=I_LlkuB3ofKyT_Z6"> Deep Dive into Advanced TypeScript: A Live Coding Expedition Christian Woerz</a></li><li><a href="https://youtu.be/6UGgP8l7TA4?si=g1N2LFAgEdI8W5S9">Keynote CTRL+SHIFT+(BUILD) PAUSE - Laila Bougria</a></li></ul></li><li><a href="https://www.youtube.com/watch?v=AAA4cOgBNKY">NPM Specifiers in Node</a> (Deno YouTube)</li><li><a href="https://bsky.app/profile/literat.dev/post/3lteomsztos2w">Trace Resolution is very handy about type check errors in libraries</a> (@literat.dev)<ul><li>“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 😅”</li></ul></li><li><a href="https://danielpza.xyz/blog/mongodb-collections-typescript/">Typing MongoDB Collections in TypeScript</a> (<a href="https://bsky.app/profile/danielpza.xyz">Daniel Perez</a>) </li><li>From the vault, Feb 2025: <a href="https://benhowdle.im/migrating-js-to-ts-zero-downtime.html">Migrating 160,000 Lines of Production Banking JavaScript to TypeScript with Zero Downtime</a> (Ben Howdle)</li></ul><p><strong>Cool Stuff</strong></p><ul><li>All things NeoVim, Arch, Hyprland, and tech goodness <a href="https://www.youtube.com/@typecraft_dev">YouTube Channel Typecraft</a></li><li><a href="https://simonwillison.net/2025/Jul/5/cgi-bin-performance/">CGI Today</a></li><li><a href="https://www.inkandswitch.com/essay/local-first/">Local-first software: You own your data, in spite of the cloud</a></li><li><a href="https://www.youtube.com/@localfirstconf">LocalFirstConf</a></li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
    </item>
    <item>
      <title>ECMAScript 2025 is Ratified, Vite 7, and 6 Advanced TS Tricks | News | Ep 24</title>
      <itunes:episode>24</itunes:episode>
      <podcast:episode>24</podcast:episode>
      <itunes:title>ECMAScript 2025 is Ratified, Vite 7, and 6 Advanced TS Tricks | News | Ep 24</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">96ffd10a-2d5e-43e2-a692-f263a7b23e1e</guid>
      <link>https://share.transistor.fm/s/9502cc66</link>
      <description>
        <![CDATA[<p>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. </p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal News</li>
<li>(04:59) - News: ECMAScript 2025 is Here</li>
<li>(07:06) - News: Vite 7.0 is Out</li>
<li>(10:15) - News: Node 24.3.0 and 22.17.0 LTS Releases</li>
<li>(10:39) - News: Oracle v Deno Trademark Fraud Claim is Dismissed</li>
<li>(12:04) - News: Astro 5.10 Introduces Experimental Live Content Collections</li>
<li>(12:34) - Community Highlight: 6 Advanced TS Tricks by OlegWock</li>
<li>(15:54) - Community Highlight: TypeScript Stuff I Wish I  Knew Earlier</li>
<li>(19:52) - Community Highlight: zap-socket Offers a TypeScript-first WebSocket API</li>
<li>(20:42) - Community Highlight: Dr. Axel Shares Tips for Making Regular Expressions Better in JS</li>
<li>(22:01) - Community Highlight: Functional Programming Examples in TS</li>
<li>(22:50) - Community Highlight: Exhaustiveness Checking with never</li>
<li>(24:12) - Community Highlight: Deno Adding Support for Import Type Text and Bytes</li>
<li>(24:39) - Community Highlight: Importing JSON as const</li>
<li>(26:37) - Community Highlight: Branded Types Example with ArkType</li>
<li>(27:21) - Cool API: Promise.try Nuances Erik Realized After the Fact</li>
<li>(29:48) - Cool Watch: Mitchell Hashimoto's Talk on Testing</li>
<li>(30:44) - Cool Listen: Jake Archibald on Why We Don't Have HTML Imports</li>
<li>(31:25) - Cool Link: PNG 3.0 Spec</li>
<li>(32:41) - Cool Link: Invite an Eagle to Your Zoom Meeting</li>
<li>(33:41) - Cool Read: Node.js Celebrates Pride Month</li>
</ul><br><strong>News</strong><ul><li><a href="https://2ality.com/2025/06/ecmascript-2025.html">Ecma International approves ECMAScript 2025: What’s new?</a> </li><li><a href="https://vite.dev/blog/announcing-vite7">Vite 7.0 is out</a> and deprecates a bunch of stuff</li><li>Oracle fraud claim is dismissed in the latest <a href="https://deno.com/blog/deno-v-oracle4">JavaScript™ Trademark Update from Deno</a></li><li><a href="https://astro.build/blog/astro-5100/">Astro 5.10</a> brings experimental <a href="https://astro.build/blog/live-content-collections-deep-dive/">Live Content Collections</a></li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://sinja.io/blog/advanced-typescript">6 advanced TypeScript tricks · OlegWock</a> (h/t Reddit)</li><li><a href="https://www.reddit.com/r/typescript/comments/1lgckvd/typescript_stuff_i_wish_i_knew_earlier/">TypeScript stuff I Wish I Knew Earlier</a> (h/t Reddit)</li><li>Use <a href="https://github.com/type-challenges/type-challenges">https://github.com/type-challenges/type-challenges</a> to become a generic God</li><li><a href="https://zap-socket-control-center.vercel.app/">zap-socket</a> – A Typescript-first abstraction over WebSockets (h/t Reddit)<ul><li>Blog post: <a href="https://www.atharvp.tech/posts/fixing-websockets">My attempt at fixing websockets</a> </li></ul></li><li>Dr. Axel's <a href="https://2ality.com/2025/06/javascript-regexp-tips.html">tips for making regular expressions easier to use in JavaScript</a> </li><li>Functional Programming tips in TypeScript by Kanishka Naik<ul><li><a href="https://bsky.app/profile/kanishkanaik.dev/post/3lsje6etlrk2m">Algebraic Data Types</a></li><li><a href="https://bsky.app/profile/kanishkanaik.dev/post/3lsjdymfilk2m">Monoids and Semigroups</a> </li><li><a href="https://bsky.app/profile/kanishkanaik.dev/post/3lsjekfiw7k2m">Pattern Matching</a> </li><li><a href="https://bsky.app/profile/kanishkanaik.dev/post/3lsjdix5dgk2m">Lazy Evaluation</a> </li></ul></li><li><a href="https://bsky.app/profile/ntorresdev.bsky.social/post/3lsjg6bss4c2j">Exhaustive Checks with never</a> by Nico</li><li><a href="https://bsky.app/profile/dsherret.bsky.social/post/3lsh6pzpg7s2n">Import types text and bytes coming to Deno 2.4</a> via David Sherret</li><li><a href="https://bsky.app/profile/cinny.bun.how/post/3lsnad66ttc26">Importing JSON config as const</a> via cinny.bun.how (+ <a href="https://github.com/microsoft/TypeScript/issues/32063#issuecomment-2615440930">tracking TS issue</a>)</li><li>Example of <a href="https://bsky.app/profile/arktype.io/post/3lsm2ajcwxc2w">using branded (nominal) types</a> in ArkType</li></ul><p><br></p><p><strong>Cool Stuff</strong></p><ul><li>Erik's <a href="https://github.com/eonarheim/nvim-config">neovim config is open source</a> (one of us! one of us!)</li><li>API: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/try">Promise.try</a></li><li>Talk: <a href="https://youtu.be/MqC3tudPH6w?si=Nj-W3po2HczW_ItX">Can we test it? Yes, was can! - Mitchell Hashimoto</a> (co-founder of Hashicorp)</li><li>Listen: <a href="https://shoptalkshow.com/668/">Jake Archibald on Native HTML Includes</a> (ShopTalk)</li><li>Read: <a href="https://www.programmax.net/articles/png-is-back/">PNG is back!</a> by Chris Blume who chairs the PNG working group</li><li>Read: <a href="https://coywolf.com/news/web-development/new-version-of-png-to-challenge-avif-and-webp-for-image-dominance-on-the-web/">New version of PNG to challenge AVIF and WebP for image dominance on the web</a></li><li>Invite: <a href="https://raptor.umn.edu/programs-and-events/online-programs">Pay to have an eagle, owl or falcon join your Zoom meeting</a></li><li>Read: <a href="https://nodejs.org/en/blog/community/2025-pride">Node.js series to celebrate Pride Month</a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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. </p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal News</li>
<li>(04:59) - News: ECMAScript 2025 is Here</li>
<li>(07:06) - News: Vite 7.0 is Out</li>
<li>(10:15) - News: Node 24.3.0 and 22.17.0 LTS Releases</li>
<li>(10:39) - News: Oracle v Deno Trademark Fraud Claim is Dismissed</li>
<li>(12:04) - News: Astro 5.10 Introduces Experimental Live Content Collections</li>
<li>(12:34) - Community Highlight: 6 Advanced TS Tricks by OlegWock</li>
<li>(15:54) - Community Highlight: TypeScript Stuff I Wish I  Knew Earlier</li>
<li>(19:52) - Community Highlight: zap-socket Offers a TypeScript-first WebSocket API</li>
<li>(20:42) - Community Highlight: Dr. Axel Shares Tips for Making Regular Expressions Better in JS</li>
<li>(22:01) - Community Highlight: Functional Programming Examples in TS</li>
<li>(22:50) - Community Highlight: Exhaustiveness Checking with never</li>
<li>(24:12) - Community Highlight: Deno Adding Support for Import Type Text and Bytes</li>
<li>(24:39) - Community Highlight: Importing JSON as const</li>
<li>(26:37) - Community Highlight: Branded Types Example with ArkType</li>
<li>(27:21) - Cool API: Promise.try Nuances Erik Realized After the Fact</li>
<li>(29:48) - Cool Watch: Mitchell Hashimoto's Talk on Testing</li>
<li>(30:44) - Cool Listen: Jake Archibald on Why We Don't Have HTML Imports</li>
<li>(31:25) - Cool Link: PNG 3.0 Spec</li>
<li>(32:41) - Cool Link: Invite an Eagle to Your Zoom Meeting</li>
<li>(33:41) - Cool Read: Node.js Celebrates Pride Month</li>
</ul><br><strong>News</strong><ul><li><a href="https://2ality.com/2025/06/ecmascript-2025.html">Ecma International approves ECMAScript 2025: What’s new?</a> </li><li><a href="https://vite.dev/blog/announcing-vite7">Vite 7.0 is out</a> and deprecates a bunch of stuff</li><li>Oracle fraud claim is dismissed in the latest <a href="https://deno.com/blog/deno-v-oracle4">JavaScript™ Trademark Update from Deno</a></li><li><a href="https://astro.build/blog/astro-5100/">Astro 5.10</a> brings experimental <a href="https://astro.build/blog/live-content-collections-deep-dive/">Live Content Collections</a></li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://sinja.io/blog/advanced-typescript">6 advanced TypeScript tricks · OlegWock</a> (h/t Reddit)</li><li><a href="https://www.reddit.com/r/typescript/comments/1lgckvd/typescript_stuff_i_wish_i_knew_earlier/">TypeScript stuff I Wish I Knew Earlier</a> (h/t Reddit)</li><li>Use <a href="https://github.com/type-challenges/type-challenges">https://github.com/type-challenges/type-challenges</a> to become a generic God</li><li><a href="https://zap-socket-control-center.vercel.app/">zap-socket</a> – A Typescript-first abstraction over WebSockets (h/t Reddit)<ul><li>Blog post: <a href="https://www.atharvp.tech/posts/fixing-websockets">My attempt at fixing websockets</a> </li></ul></li><li>Dr. Axel's <a href="https://2ality.com/2025/06/javascript-regexp-tips.html">tips for making regular expressions easier to use in JavaScript</a> </li><li>Functional Programming tips in TypeScript by Kanishka Naik<ul><li><a href="https://bsky.app/profile/kanishkanaik.dev/post/3lsje6etlrk2m">Algebraic Data Types</a></li><li><a href="https://bsky.app/profile/kanishkanaik.dev/post/3lsjdymfilk2m">Monoids and Semigroups</a> </li><li><a href="https://bsky.app/profile/kanishkanaik.dev/post/3lsjekfiw7k2m">Pattern Matching</a> </li><li><a href="https://bsky.app/profile/kanishkanaik.dev/post/3lsjdix5dgk2m">Lazy Evaluation</a> </li></ul></li><li><a href="https://bsky.app/profile/ntorresdev.bsky.social/post/3lsjg6bss4c2j">Exhaustive Checks with never</a> by Nico</li><li><a href="https://bsky.app/profile/dsherret.bsky.social/post/3lsh6pzpg7s2n">Import types text and bytes coming to Deno 2.4</a> via David Sherret</li><li><a href="https://bsky.app/profile/cinny.bun.how/post/3lsnad66ttc26">Importing JSON config as const</a> via cinny.bun.how (+ <a href="https://github.com/microsoft/TypeScript/issues/32063#issuecomment-2615440930">tracking TS issue</a>)</li><li>Example of <a href="https://bsky.app/profile/arktype.io/post/3lsm2ajcwxc2w">using branded (nominal) types</a> in ArkType</li></ul><p><br></p><p><strong>Cool Stuff</strong></p><ul><li>Erik's <a href="https://github.com/eonarheim/nvim-config">neovim config is open source</a> (one of us! one of us!)</li><li>API: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/try">Promise.try</a></li><li>Talk: <a href="https://youtu.be/MqC3tudPH6w?si=Nj-W3po2HczW_ItX">Can we test it? Yes, was can! - Mitchell Hashimoto</a> (co-founder of Hashicorp)</li><li>Listen: <a href="https://shoptalkshow.com/668/">Jake Archibald on Native HTML Includes</a> (ShopTalk)</li><li>Read: <a href="https://www.programmax.net/articles/png-is-back/">PNG is back!</a> by Chris Blume who chairs the PNG working group</li><li>Read: <a href="https://coywolf.com/news/web-development/new-version-of-png-to-challenge-avif-and-webp-for-image-dominance-on-the-web/">New version of PNG to challenge AVIF and WebP for image dominance on the web</a></li><li>Invite: <a href="https://raptor.umn.edu/programs-and-events/online-programs">Pay to have an eagle, owl or falcon join your Zoom meeting</a></li><li>Read: <a href="https://nodejs.org/en/blog/community/2025-pride">Node.js series to celebrate Pride Month</a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Tue, 01 Jul 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/9502cc66/8e86a519.mp3" length="17015421" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2122</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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. </p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal News</li>
<li>(04:59) - News: ECMAScript 2025 is Here</li>
<li>(07:06) - News: Vite 7.0 is Out</li>
<li>(10:15) - News: Node 24.3.0 and 22.17.0 LTS Releases</li>
<li>(10:39) - News: Oracle v Deno Trademark Fraud Claim is Dismissed</li>
<li>(12:04) - News: Astro 5.10 Introduces Experimental Live Content Collections</li>
<li>(12:34) - Community Highlight: 6 Advanced TS Tricks by OlegWock</li>
<li>(15:54) - Community Highlight: TypeScript Stuff I Wish I  Knew Earlier</li>
<li>(19:52) - Community Highlight: zap-socket Offers a TypeScript-first WebSocket API</li>
<li>(20:42) - Community Highlight: Dr. Axel Shares Tips for Making Regular Expressions Better in JS</li>
<li>(22:01) - Community Highlight: Functional Programming Examples in TS</li>
<li>(22:50) - Community Highlight: Exhaustiveness Checking with never</li>
<li>(24:12) - Community Highlight: Deno Adding Support for Import Type Text and Bytes</li>
<li>(24:39) - Community Highlight: Importing JSON as const</li>
<li>(26:37) - Community Highlight: Branded Types Example with ArkType</li>
<li>(27:21) - Cool API: Promise.try Nuances Erik Realized After the Fact</li>
<li>(29:48) - Cool Watch: Mitchell Hashimoto's Talk on Testing</li>
<li>(30:44) - Cool Listen: Jake Archibald on Why We Don't Have HTML Imports</li>
<li>(31:25) - Cool Link: PNG 3.0 Spec</li>
<li>(32:41) - Cool Link: Invite an Eagle to Your Zoom Meeting</li>
<li>(33:41) - Cool Read: Node.js Celebrates Pride Month</li>
</ul><br><strong>News</strong><ul><li><a href="https://2ality.com/2025/06/ecmascript-2025.html">Ecma International approves ECMAScript 2025: What’s new?</a> </li><li><a href="https://vite.dev/blog/announcing-vite7">Vite 7.0 is out</a> and deprecates a bunch of stuff</li><li>Oracle fraud claim is dismissed in the latest <a href="https://deno.com/blog/deno-v-oracle4">JavaScript™ Trademark Update from Deno</a></li><li><a href="https://astro.build/blog/astro-5100/">Astro 5.10</a> brings experimental <a href="https://astro.build/blog/live-content-collections-deep-dive/">Live Content Collections</a></li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://sinja.io/blog/advanced-typescript">6 advanced TypeScript tricks · OlegWock</a> (h/t Reddit)</li><li><a href="https://www.reddit.com/r/typescript/comments/1lgckvd/typescript_stuff_i_wish_i_knew_earlier/">TypeScript stuff I Wish I Knew Earlier</a> (h/t Reddit)</li><li>Use <a href="https://github.com/type-challenges/type-challenges">https://github.com/type-challenges/type-challenges</a> to become a generic God</li><li><a href="https://zap-socket-control-center.vercel.app/">zap-socket</a> – A Typescript-first abstraction over WebSockets (h/t Reddit)<ul><li>Blog post: <a href="https://www.atharvp.tech/posts/fixing-websockets">My attempt at fixing websockets</a> </li></ul></li><li>Dr. Axel's <a href="https://2ality.com/2025/06/javascript-regexp-tips.html">tips for making regular expressions easier to use in JavaScript</a> </li><li>Functional Programming tips in TypeScript by Kanishka Naik<ul><li><a href="https://bsky.app/profile/kanishkanaik.dev/post/3lsje6etlrk2m">Algebraic Data Types</a></li><li><a href="https://bsky.app/profile/kanishkanaik.dev/post/3lsjdymfilk2m">Monoids and Semigroups</a> </li><li><a href="https://bsky.app/profile/kanishkanaik.dev/post/3lsjekfiw7k2m">Pattern Matching</a> </li><li><a href="https://bsky.app/profile/kanishkanaik.dev/post/3lsjdix5dgk2m">Lazy Evaluation</a> </li></ul></li><li><a href="https://bsky.app/profile/ntorresdev.bsky.social/post/3lsjg6bss4c2j">Exhaustive Checks with never</a> by Nico</li><li><a href="https://bsky.app/profile/dsherret.bsky.social/post/3lsh6pzpg7s2n">Import types text and bytes coming to Deno 2.4</a> via David Sherret</li><li><a href="https://bsky.app/profile/cinny.bun.how/post/3lsnad66ttc26">Importing JSON config as const</a> via cinny.bun.how (+ <a href="https://github.com/microsoft/TypeScript/issues/32063#issuecomment-2615440930">tracking TS issue</a>)</li><li>Example of <a href="https://bsky.app/profile/arktype.io/post/3lsm2ajcwxc2w">using branded (nominal) types</a> in ArkType</li></ul><p><br></p><p><strong>Cool Stuff</strong></p><ul><li>Erik's <a href="https://github.com/eonarheim/nvim-config">neovim config is open source</a> (one of us! one of us!)</li><li>API: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/try">Promise.try</a></li><li>Talk: <a href="https://youtu.be/MqC3tudPH6w?si=Nj-W3po2HczW_ItX">Can we test it? Yes, was can! - Mitchell Hashimoto</a> (co-founder of Hashicorp)</li><li>Listen: <a href="https://shoptalkshow.com/668/">Jake Archibald on Native HTML Includes</a> (ShopTalk)</li><li>Read: <a href="https://www.programmax.net/articles/png-is-back/">PNG is back!</a> by Chris Blume who chairs the PNG working group</li><li>Read: <a href="https://coywolf.com/news/web-development/new-version-of-png-to-challenge-avif-and-webp-for-image-dominance-on-the-web/">New version of PNG to challenge AVIF and WebP for image dominance on the web</a></li><li>Invite: <a href="https://raptor.umn.edu/programs-and-events/online-programs">Pay to have an eagle, owl or falcon join your Zoom meeting</a></li><li>Read: <a href="https://nodejs.org/en/blog/community/2025-pride">Node.js series to celebrate Pride Month</a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/9502cc66/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>New Biome, Mocha, Jest, and k6 Releases All Kissed by TypeScript | News | Ep 23</title>
      <itunes:episode>23</itunes:episode>
      <podcast:episode>23</podcast:episode>
      <itunes:title>New Biome, Mocha, Jest, and k6 Releases All Kissed by TypeScript | News | Ep 23</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">83d86ea4-c5e6-4379-9486-3970147881cd</guid>
      <link>https://share.transistor.fm/s/48085fcd</link>
      <description>
        <![CDATA[<p>News for the week of June 16, 2025: Biome v2 features type-aware linting <em>without</em> 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. </p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal News</li>
<li>(05:02) - News: Biome v2 Features Type-aware Linting Without TSC</li>
<li>(08:25) - News: Mocha 11.7.0 Adds Support for Native ESM and TypeScript</li>
<li>(09:35) - News: Jest 30 Also Adds Native ESM and TypeScript Support</li>
<li>(11:12) - News: Grafana k6 Celebrates 1.0 Release with TS Support</li>
<li>(13:30) - News: WebGPU is (Finally) Coming to All Major Browsers</li>
<li>(14:36) - News: Astro 5.9 Adds Support for Content Security Policy</li>
<li>(15:47) - PSA: Deno's Homebrew Release is Behind Other Versions</li>
<li>(16:34) - Community Highlight: Bridging ESM and CommonJS by Joyee Cheung</li>
<li>(18:16) - Community Highlight: How Queues Work in TypeScript</li>
<li>(19:00) - Community Highlight: Dr. Axel's Corner</li>
<li>(21:11) - Community Highlight: Better Import Maps from Shopify Engineering</li>
<li>(24:32) - Community Highlight: VoidZero Discusses Vite+ Plans</li>
<li>(28:22) - Community Highlight: TypeScript Native Port Speeds Up Slack's CI Builds</li>
<li>(29:09) - Community Highlight: TypeGPU Lets You Write WGPU Code in a Type-safe Way</li>
<li>(33:21) - Community Highlight: Remembering Mikael Rogers</li>
<li>(35:08) - Cool API: Promise.try</li>
<li>(36:52) - Cool Read: The Dying Art We All Depend On by Raptitude</li>
<li>(38:16) - Cool Watch: The Story of Rollup with Rich Harris</li>
</ul><br><strong>News</strong><ul><li><a href="https://biomejs.dev/blog/biome-v2/">Biome v2 codename Biotype</a> brings type-aware linting without TSC!<ul><li>You can check out <a href="https://github.com/biomejs/biome/pull/4911">what the noFloatingPromises rule looks like</a> to write type-aware rules</li></ul></li><li>Mocha 11.7.0 is now compatible with Node’s require(ESM) &amp; type stripping (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lrunlxiqu22b">Rob Palmer</a>)</li><li>After 3 years, <a href="https://jestjs.io/blog/2025/06/04/jest-30">Jest 30</a> is a massive release which includes native ESM and TS support<ul><li>Fun fact: Christoph Nakazawa open sourced his game: <a href="https://github.com/nkzw-tech/athena-crisis">https://github.com/nkzw-tech/athena-crisis</a> </li></ul></li><li><a href="https://github.com/grafana/k6/releases/tag/v1.0.0">Grafana k6 celebrates a 1.0 release</a> with native support for TypeScript tests</li><li>Firefox will unflag WebGPU in v141 (<a href="https://whattrainisitnow.com/calendar/">Firefox Release Calendar</a>), bringing WGPU support to <a href="https://caniuse.com/webgpu">all major browsers</a> for iOS, Windows, and macOS in the next year or so.</li><li><a href="https://astro.build/blog/astro-590/">Astro 5.9</a> brings Content Security Policy (CSP) support for more secure web app development</li><li>PSA: Deno Homebrew version is behind <a href="http://youtube.com/post/UgkxMk8QRDjLyUXNfzb-MP3tuQEzir7xI1Af?si=qpykDfsYvKC2wPxk">because of a bug in Rust</a></li></ul><p><strong>From the Community</strong></p><ul><li>Joyee Cheung (Node TSC) talk on <a href="https://www.youtube.com/watch?v=YRueCer2kig">Bridging CommonJS and ESM in Node.js</a></li><li>freeCodeCamp Blog: <a href="https://www.freecodecamp.org/news/how-to-work-with-queues-in-typescript/">How Queues Work in TypeScript</a> by Yazdun</li><li>Dr. Axel's Corner: <ul><li><a href="https://2ality.com/2025/06/typescript-iterator-types.html">How TypeScript solved its global `Iterator` name clash</a></li><li><a href="https://2ality.com/2025/06/checking-map-keys-array-indices-typescript.html">TypeScript: checking Map keys and Array indices</a> </li></ul></li><li><a href="https://shopify.engineering/resilient-import-maps">Resilient Import Maps - Better Theme Development and Beyond (2025) - Shopify</a> </li><li><a href="https://thenewstack.io/vites-creator-on-a-unified-javascript-toolchain-and-vite/">Vite’s Creator on a Unified JavaScript Toolchain and Vite+ - The New Stack</a></li><li><a href="https://bsky.app/profile/slack.engineering/post/3lry3ml3qok2f">@slack.engineering on Bluesky</a> shares CI improvements by migrating to TSGO</li><li>TypeGPU 0.5.9 release <a href="https://bsky.app/profile/iwoplaza.bsky.social/post/3lrsuzeq5zk2x">by Iwo Plaza</a> <ul><li>Video: <a href="https://www.youtube.com/watch?v=DysmnC1D2gQ">Iwo Plaza – The Road to Type-Safety on the GPU | RNCK #15</a></li><li>Video: Erik's <a href="https://www.youtube.com/watch?v=adS3gVi_lnU">Stream: Learning WebGPU Together</a> </li></ul></li></ul><p><strong>In Memoriam: Mikeal Rogers<br></strong><br>Via <a href="https://bsky.app/profile/nodejs.org/post/3ls2gpdhdcc2x">Node.js foundation</a>: </p>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:<a href="https://github.com/nodejs/mikeal"> github.com/nodejs/mikeal</a><p>💚 Thank you, Mikeal.</p><p><br></p><p>Via Linux Foundation: <a href="https://www.linuxfoundation.org/blog/in-memory-of-mikeal-rogers">In Memory of Mikeal Rogers: A Builder of Communities</a></p><p><strong>Cool Stuff</strong></p><ul><li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/try">Promise.try</a> - wrap a function in a promise or execute immediately, avoiding a microtask when not needed</li><li><a href="https://www.raptitude.com/2025/06/the-dying-art-we-all-depend-on/">The Dying Art We All Depend On</a> by David from Raptitude</li><li><a href="https://youtu.be/azk-GuGiy3E?si=cSq0xNc0ebogdV3M">The Story of Rollup with Rich Harris</a> (via Matt Jennings) </li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News for the week of June 16, 2025: Biome v2 features type-aware linting <em>without</em> 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. </p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal News</li>
<li>(05:02) - News: Biome v2 Features Type-aware Linting Without TSC</li>
<li>(08:25) - News: Mocha 11.7.0 Adds Support for Native ESM and TypeScript</li>
<li>(09:35) - News: Jest 30 Also Adds Native ESM and TypeScript Support</li>
<li>(11:12) - News: Grafana k6 Celebrates 1.0 Release with TS Support</li>
<li>(13:30) - News: WebGPU is (Finally) Coming to All Major Browsers</li>
<li>(14:36) - News: Astro 5.9 Adds Support for Content Security Policy</li>
<li>(15:47) - PSA: Deno's Homebrew Release is Behind Other Versions</li>
<li>(16:34) - Community Highlight: Bridging ESM and CommonJS by Joyee Cheung</li>
<li>(18:16) - Community Highlight: How Queues Work in TypeScript</li>
<li>(19:00) - Community Highlight: Dr. Axel's Corner</li>
<li>(21:11) - Community Highlight: Better Import Maps from Shopify Engineering</li>
<li>(24:32) - Community Highlight: VoidZero Discusses Vite+ Plans</li>
<li>(28:22) - Community Highlight: TypeScript Native Port Speeds Up Slack's CI Builds</li>
<li>(29:09) - Community Highlight: TypeGPU Lets You Write WGPU Code in a Type-safe Way</li>
<li>(33:21) - Community Highlight: Remembering Mikael Rogers</li>
<li>(35:08) - Cool API: Promise.try</li>
<li>(36:52) - Cool Read: The Dying Art We All Depend On by Raptitude</li>
<li>(38:16) - Cool Watch: The Story of Rollup with Rich Harris</li>
</ul><br><strong>News</strong><ul><li><a href="https://biomejs.dev/blog/biome-v2/">Biome v2 codename Biotype</a> brings type-aware linting without TSC!<ul><li>You can check out <a href="https://github.com/biomejs/biome/pull/4911">what the noFloatingPromises rule looks like</a> to write type-aware rules</li></ul></li><li>Mocha 11.7.0 is now compatible with Node’s require(ESM) &amp; type stripping (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lrunlxiqu22b">Rob Palmer</a>)</li><li>After 3 years, <a href="https://jestjs.io/blog/2025/06/04/jest-30">Jest 30</a> is a massive release which includes native ESM and TS support<ul><li>Fun fact: Christoph Nakazawa open sourced his game: <a href="https://github.com/nkzw-tech/athena-crisis">https://github.com/nkzw-tech/athena-crisis</a> </li></ul></li><li><a href="https://github.com/grafana/k6/releases/tag/v1.0.0">Grafana k6 celebrates a 1.0 release</a> with native support for TypeScript tests</li><li>Firefox will unflag WebGPU in v141 (<a href="https://whattrainisitnow.com/calendar/">Firefox Release Calendar</a>), bringing WGPU support to <a href="https://caniuse.com/webgpu">all major browsers</a> for iOS, Windows, and macOS in the next year or so.</li><li><a href="https://astro.build/blog/astro-590/">Astro 5.9</a> brings Content Security Policy (CSP) support for more secure web app development</li><li>PSA: Deno Homebrew version is behind <a href="http://youtube.com/post/UgkxMk8QRDjLyUXNfzb-MP3tuQEzir7xI1Af?si=qpykDfsYvKC2wPxk">because of a bug in Rust</a></li></ul><p><strong>From the Community</strong></p><ul><li>Joyee Cheung (Node TSC) talk on <a href="https://www.youtube.com/watch?v=YRueCer2kig">Bridging CommonJS and ESM in Node.js</a></li><li>freeCodeCamp Blog: <a href="https://www.freecodecamp.org/news/how-to-work-with-queues-in-typescript/">How Queues Work in TypeScript</a> by Yazdun</li><li>Dr. Axel's Corner: <ul><li><a href="https://2ality.com/2025/06/typescript-iterator-types.html">How TypeScript solved its global `Iterator` name clash</a></li><li><a href="https://2ality.com/2025/06/checking-map-keys-array-indices-typescript.html">TypeScript: checking Map keys and Array indices</a> </li></ul></li><li><a href="https://shopify.engineering/resilient-import-maps">Resilient Import Maps - Better Theme Development and Beyond (2025) - Shopify</a> </li><li><a href="https://thenewstack.io/vites-creator-on-a-unified-javascript-toolchain-and-vite/">Vite’s Creator on a Unified JavaScript Toolchain and Vite+ - The New Stack</a></li><li><a href="https://bsky.app/profile/slack.engineering/post/3lry3ml3qok2f">@slack.engineering on Bluesky</a> shares CI improvements by migrating to TSGO</li><li>TypeGPU 0.5.9 release <a href="https://bsky.app/profile/iwoplaza.bsky.social/post/3lrsuzeq5zk2x">by Iwo Plaza</a> <ul><li>Video: <a href="https://www.youtube.com/watch?v=DysmnC1D2gQ">Iwo Plaza – The Road to Type-Safety on the GPU | RNCK #15</a></li><li>Video: Erik's <a href="https://www.youtube.com/watch?v=adS3gVi_lnU">Stream: Learning WebGPU Together</a> </li></ul></li></ul><p><strong>In Memoriam: Mikeal Rogers<br></strong><br>Via <a href="https://bsky.app/profile/nodejs.org/post/3ls2gpdhdcc2x">Node.js foundation</a>: </p>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:<a href="https://github.com/nodejs/mikeal"> github.com/nodejs/mikeal</a><p>💚 Thank you, Mikeal.</p><p><br></p><p>Via Linux Foundation: <a href="https://www.linuxfoundation.org/blog/in-memory-of-mikeal-rogers">In Memory of Mikeal Rogers: A Builder of Communities</a></p><p><strong>Cool Stuff</strong></p><ul><li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/try">Promise.try</a> - wrap a function in a promise or execute immediately, avoiding a microtask when not needed</li><li><a href="https://www.raptitude.com/2025/06/the-dying-art-we-all-depend-on/">The Dying Art We All Depend On</a> by David from Raptitude</li><li><a href="https://youtu.be/azk-GuGiy3E?si=cSq0xNc0ebogdV3M">The Story of Rollup with Rich Harris</a> (via Matt Jennings) </li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Tue, 24 Jun 2025 09:35:49 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/48085fcd/e999ae8e.mp3" length="19176779" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2392</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News for the week of June 16, 2025: Biome v2 features type-aware linting <em>without</em> 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. </p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal News</li>
<li>(05:02) - News: Biome v2 Features Type-aware Linting Without TSC</li>
<li>(08:25) - News: Mocha 11.7.0 Adds Support for Native ESM and TypeScript</li>
<li>(09:35) - News: Jest 30 Also Adds Native ESM and TypeScript Support</li>
<li>(11:12) - News: Grafana k6 Celebrates 1.0 Release with TS Support</li>
<li>(13:30) - News: WebGPU is (Finally) Coming to All Major Browsers</li>
<li>(14:36) - News: Astro 5.9 Adds Support for Content Security Policy</li>
<li>(15:47) - PSA: Deno's Homebrew Release is Behind Other Versions</li>
<li>(16:34) - Community Highlight: Bridging ESM and CommonJS by Joyee Cheung</li>
<li>(18:16) - Community Highlight: How Queues Work in TypeScript</li>
<li>(19:00) - Community Highlight: Dr. Axel's Corner</li>
<li>(21:11) - Community Highlight: Better Import Maps from Shopify Engineering</li>
<li>(24:32) - Community Highlight: VoidZero Discusses Vite+ Plans</li>
<li>(28:22) - Community Highlight: TypeScript Native Port Speeds Up Slack's CI Builds</li>
<li>(29:09) - Community Highlight: TypeGPU Lets You Write WGPU Code in a Type-safe Way</li>
<li>(33:21) - Community Highlight: Remembering Mikael Rogers</li>
<li>(35:08) - Cool API: Promise.try</li>
<li>(36:52) - Cool Read: The Dying Art We All Depend On by Raptitude</li>
<li>(38:16) - Cool Watch: The Story of Rollup with Rich Harris</li>
</ul><br><strong>News</strong><ul><li><a href="https://biomejs.dev/blog/biome-v2/">Biome v2 codename Biotype</a> brings type-aware linting without TSC!<ul><li>You can check out <a href="https://github.com/biomejs/biome/pull/4911">what the noFloatingPromises rule looks like</a> to write type-aware rules</li></ul></li><li>Mocha 11.7.0 is now compatible with Node’s require(ESM) &amp; type stripping (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lrunlxiqu22b">Rob Palmer</a>)</li><li>After 3 years, <a href="https://jestjs.io/blog/2025/06/04/jest-30">Jest 30</a> is a massive release which includes native ESM and TS support<ul><li>Fun fact: Christoph Nakazawa open sourced his game: <a href="https://github.com/nkzw-tech/athena-crisis">https://github.com/nkzw-tech/athena-crisis</a> </li></ul></li><li><a href="https://github.com/grafana/k6/releases/tag/v1.0.0">Grafana k6 celebrates a 1.0 release</a> with native support for TypeScript tests</li><li>Firefox will unflag WebGPU in v141 (<a href="https://whattrainisitnow.com/calendar/">Firefox Release Calendar</a>), bringing WGPU support to <a href="https://caniuse.com/webgpu">all major browsers</a> for iOS, Windows, and macOS in the next year or so.</li><li><a href="https://astro.build/blog/astro-590/">Astro 5.9</a> brings Content Security Policy (CSP) support for more secure web app development</li><li>PSA: Deno Homebrew version is behind <a href="http://youtube.com/post/UgkxMk8QRDjLyUXNfzb-MP3tuQEzir7xI1Af?si=qpykDfsYvKC2wPxk">because of a bug in Rust</a></li></ul><p><strong>From the Community</strong></p><ul><li>Joyee Cheung (Node TSC) talk on <a href="https://www.youtube.com/watch?v=YRueCer2kig">Bridging CommonJS and ESM in Node.js</a></li><li>freeCodeCamp Blog: <a href="https://www.freecodecamp.org/news/how-to-work-with-queues-in-typescript/">How Queues Work in TypeScript</a> by Yazdun</li><li>Dr. Axel's Corner: <ul><li><a href="https://2ality.com/2025/06/typescript-iterator-types.html">How TypeScript solved its global `Iterator` name clash</a></li><li><a href="https://2ality.com/2025/06/checking-map-keys-array-indices-typescript.html">TypeScript: checking Map keys and Array indices</a> </li></ul></li><li><a href="https://shopify.engineering/resilient-import-maps">Resilient Import Maps - Better Theme Development and Beyond (2025) - Shopify</a> </li><li><a href="https://thenewstack.io/vites-creator-on-a-unified-javascript-toolchain-and-vite/">Vite’s Creator on a Unified JavaScript Toolchain and Vite+ - The New Stack</a></li><li><a href="https://bsky.app/profile/slack.engineering/post/3lry3ml3qok2f">@slack.engineering on Bluesky</a> shares CI improvements by migrating to TSGO</li><li>TypeGPU 0.5.9 release <a href="https://bsky.app/profile/iwoplaza.bsky.social/post/3lrsuzeq5zk2x">by Iwo Plaza</a> <ul><li>Video: <a href="https://www.youtube.com/watch?v=DysmnC1D2gQ">Iwo Plaza – The Road to Type-Safety on the GPU | RNCK #15</a></li><li>Video: Erik's <a href="https://www.youtube.com/watch?v=adS3gVi_lnU">Stream: Learning WebGPU Together</a> </li></ul></li></ul><p><strong>In Memoriam: Mikeal Rogers<br></strong><br>Via <a href="https://bsky.app/profile/nodejs.org/post/3ls2gpdhdcc2x">Node.js foundation</a>: </p>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:<a href="https://github.com/nodejs/mikeal"> github.com/nodejs/mikeal</a><p>💚 Thank you, Mikeal.</p><p><br></p><p>Via Linux Foundation: <a href="https://www.linuxfoundation.org/blog/in-memory-of-mikeal-rogers">In Memory of Mikeal Rogers: A Builder of Communities</a></p><p><strong>Cool Stuff</strong></p><ul><li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/try">Promise.try</a> - wrap a function in a promise or execute immediately, avoiding a microtask when not needed</li><li><a href="https://www.raptitude.com/2025/06/the-dying-art-we-all-depend-on/">The Dying Art We All Depend On</a> by David from Raptitude</li><li><a href="https://youtu.be/azk-GuGiy3E?si=cSq0xNc0ebogdV3M">The Story of Rollup with Rich Harris</a> (via Matt Jennings) </li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/48085fcd/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Strip Your Own Types, New Rust-based Linter, and #ROLP is Trending | News | Ep 22</title>
      <itunes:episode>22</itunes:episode>
      <podcast:episode>22</podcast:episode>
      <itunes:title>Strip Your Own Types, New Rust-based Linter, and #ROLP is Trending | News | Ep 22</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">586982af-e4f0-4402-b80d-fe82e44d40d7</guid>
      <link>https://share.transistor.fm/s/e55fe2aa</link>
      <description>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal News</li>
<li>(05:34) - News: Amaro, the Node.js Type Stripping Wrapper,  Has 1.0 Release</li>
<li>(06:39) - News: New Oxlint 1.0  Release is 50-100x Faster Than ESLint</li>
<li>(08:37) - News: pnpm 10.12 Introduces Experimental Global Virtual Store</li>
<li>(10:14) - News: TypeFire is a New Meta Programming Framework for TS</li>
<li>(14:37) - News: Go 1.25 Promises Better GC Performance</li>
<li>(16:01) - News: Apple Announces Safari 26 Enhancements at WWDC</li>
<li>(18:52) - Community Highlight: Liran Tal's TypeScript Security Talk</li>
<li>(21:16) - Community Highlight: justin, a JIT Schema Validation Library by cinny.bun.how</li>
<li>(24:13) - Community Highlight: React Final Form Migrates to TS</li>
<li>(26:32) - Community Highlight: Flint, Josh Goldberg's New Type-aware Linting Project</li>
<li>(27:33) - Community Highlight: New Edition of the 'Exploring JavaScript' Book by Dr. Axel</li>
<li>(28:23) - Community Highlight: Rule of Least Power by Jason Yu</li>
<li>(29:34) - Cool Tool: Type Buddy Helps Translate Complex Typings</li>
<li>(30:58) - Cool Tool: node-email-verifier Library for Verifying Emails</li>
<li>(31:39) - Cool Listen: Bootstrapped Founder and Nathan Barry Podcasts</li>
<li>(32:55) - Cool Listen: From Microsoft to Full-time OSS Maintainer</li>
<li>(33:47) - Cool Listen: Alex Lichter on Vite, Rolldown, and oxc</li>
<li>(34:21) - Cool Listen: Nic Barker's Flexbox-style Layout Library Written in C</li>
</ul><br><strong>News</strong><ul><li><a href="https://github.com/nodejs/amaro/releases/tag/v1.0.0">Amaro 1.0 release</a> (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lr5vf3jnqs2w">Rob Palmer</a>) – Node's type stripping wrapper</li><li><a href="https://voidzero.dev/posts/announcing-oxlint-1-stable">Oxlint 1.0 release</a> – TypeScript/JS linter written in Rust from VoidZero</li><li><a href="https://github.com/pnpm/pnpm/releases/tag/v10.12.1">pnpm 10.12</a> (h/t <a href="https://bsky.app/profile/socket.dev/post/3lre2jtamsk2z">socket.dev</a>) </li><li><a href="https://typefire.dev/">TypeFire</a> - a meta programming framework for TS (h/t <a href="https://bsky.app/profile/nxjosh.bsky.social/post/3lrlh6gxtbk2v">nxjosh</a>)</li><li><a href="https://tip.golang.org/doc/go1.25">Go 1.25</a> promises more speed! Good news for TSGO? (Video: <a href="https://www.youtube.com/watch?v=B5855afkIaQ">Go just got faster..</a> )</li><li><a href="https://webkit.org/blog/16993/news-from-wwdc25-web-technology-coming-this-fall-in-safari-26-beta/">Apple’s WWDC</a> featured Safari 26 Beta improvements, including WebGPU</li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://www.youtube.com/watch?v=YbQhSgB5iMM">Liran Tal - Friend or Foe? TypeScript Security Fallacies</a> </li><li><a href="https://github.com/char/justin">Justin</a>: a typescript data validation library utilizing just-in-time function compilation. (h/t Charlotte / <a href="https://bsky.app/profile/cinny.bun.how/post/3lra7k65q2c2l">cinny.bun.how</a>)</li><li><a href="https://erikras.com/blog/final-form-to-typescript">🏁 Final Form goes to TypeScript</a></li><li>Josh Goldberg's <a href="https://www.joshuakgoldberg.com/blog/if-i-wrote-a-linter-part-4-summary/">If I Wrote a Linter, Part 4: Summary</a></li><li><a href="https://www.youtube.com/watch?v=f3RiI9VRohs">Your code: powerful, but not clean. Here's why</a> (Jason Yu)</li><li><a href="https://bsky.app/profile/dr-axel.de/post/3lrijbaacmk2r">Dr. Axel announces release</a> of ES2025 Edition for <a href="https://exploringjs.com/js/"><em>Exploring JavaScript</em></a></li></ul><p><strong>Cool Stuff</strong></p><ul><li><a href="https://github.com/typed-rocks/type-buddy">Type Buddy</a> (h/t <a href="https://bsky.app/profile/sebastienlorber.com/post/3lrfp43egnk2v">Seb</a>)</li><li><a href="https://github.com/jesselpalmer/node-email-verifier">jesselpalmer/node-email-verifier: A Node.js module for verifying email addresses</a></li><li>Arvid Kahl's <a href="https://thebootstrappedfounder.com/podcast/">Bootstrapped Founder podcast</a></li><li><a href="https://nathanbarry.com/how-i-built-a-million-dollar-company-using-my-personal-brand-081/">The Nathan Barry Show</a> podcast</li><li><a href="https://www.youtube.com/watch?v=8ZlN07IvoPI">Why Use C for UI Library? | Nic Barker</a> </li><li><a href="https://github.com/vadimdemedes/ink">Ink, build CLI apps in React</a></li><li><a href="https://music.amazon.com/podcasts/e54d2379-8085-4d4c-a650-5c6a2d03aaed/episodes/a06cd51f-1f58-4b34-8574-368d3a175e05/the-weekly-dev's-brew-oss-typescript-linting-and-everything-in-between-with-josh-goldberg">Josh Goldberg interview</a> on Weekly Devs Brew Podcast</li><li><a href="https://tej.as/podcast/ep/alexander-lichter-voidzero-vite-rolldown-oxc">Alex Lichter of VoidZero on ConTejas Code podcast </a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal News</li>
<li>(05:34) - News: Amaro, the Node.js Type Stripping Wrapper,  Has 1.0 Release</li>
<li>(06:39) - News: New Oxlint 1.0  Release is 50-100x Faster Than ESLint</li>
<li>(08:37) - News: pnpm 10.12 Introduces Experimental Global Virtual Store</li>
<li>(10:14) - News: TypeFire is a New Meta Programming Framework for TS</li>
<li>(14:37) - News: Go 1.25 Promises Better GC Performance</li>
<li>(16:01) - News: Apple Announces Safari 26 Enhancements at WWDC</li>
<li>(18:52) - Community Highlight: Liran Tal's TypeScript Security Talk</li>
<li>(21:16) - Community Highlight: justin, a JIT Schema Validation Library by cinny.bun.how</li>
<li>(24:13) - Community Highlight: React Final Form Migrates to TS</li>
<li>(26:32) - Community Highlight: Flint, Josh Goldberg's New Type-aware Linting Project</li>
<li>(27:33) - Community Highlight: New Edition of the 'Exploring JavaScript' Book by Dr. Axel</li>
<li>(28:23) - Community Highlight: Rule of Least Power by Jason Yu</li>
<li>(29:34) - Cool Tool: Type Buddy Helps Translate Complex Typings</li>
<li>(30:58) - Cool Tool: node-email-verifier Library for Verifying Emails</li>
<li>(31:39) - Cool Listen: Bootstrapped Founder and Nathan Barry Podcasts</li>
<li>(32:55) - Cool Listen: From Microsoft to Full-time OSS Maintainer</li>
<li>(33:47) - Cool Listen: Alex Lichter on Vite, Rolldown, and oxc</li>
<li>(34:21) - Cool Listen: Nic Barker's Flexbox-style Layout Library Written in C</li>
</ul><br><strong>News</strong><ul><li><a href="https://github.com/nodejs/amaro/releases/tag/v1.0.0">Amaro 1.0 release</a> (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lr5vf3jnqs2w">Rob Palmer</a>) – Node's type stripping wrapper</li><li><a href="https://voidzero.dev/posts/announcing-oxlint-1-stable">Oxlint 1.0 release</a> – TypeScript/JS linter written in Rust from VoidZero</li><li><a href="https://github.com/pnpm/pnpm/releases/tag/v10.12.1">pnpm 10.12</a> (h/t <a href="https://bsky.app/profile/socket.dev/post/3lre2jtamsk2z">socket.dev</a>) </li><li><a href="https://typefire.dev/">TypeFire</a> - a meta programming framework for TS (h/t <a href="https://bsky.app/profile/nxjosh.bsky.social/post/3lrlh6gxtbk2v">nxjosh</a>)</li><li><a href="https://tip.golang.org/doc/go1.25">Go 1.25</a> promises more speed! Good news for TSGO? (Video: <a href="https://www.youtube.com/watch?v=B5855afkIaQ">Go just got faster..</a> )</li><li><a href="https://webkit.org/blog/16993/news-from-wwdc25-web-technology-coming-this-fall-in-safari-26-beta/">Apple’s WWDC</a> featured Safari 26 Beta improvements, including WebGPU</li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://www.youtube.com/watch?v=YbQhSgB5iMM">Liran Tal - Friend or Foe? TypeScript Security Fallacies</a> </li><li><a href="https://github.com/char/justin">Justin</a>: a typescript data validation library utilizing just-in-time function compilation. (h/t Charlotte / <a href="https://bsky.app/profile/cinny.bun.how/post/3lra7k65q2c2l">cinny.bun.how</a>)</li><li><a href="https://erikras.com/blog/final-form-to-typescript">🏁 Final Form goes to TypeScript</a></li><li>Josh Goldberg's <a href="https://www.joshuakgoldberg.com/blog/if-i-wrote-a-linter-part-4-summary/">If I Wrote a Linter, Part 4: Summary</a></li><li><a href="https://www.youtube.com/watch?v=f3RiI9VRohs">Your code: powerful, but not clean. Here's why</a> (Jason Yu)</li><li><a href="https://bsky.app/profile/dr-axel.de/post/3lrijbaacmk2r">Dr. Axel announces release</a> of ES2025 Edition for <a href="https://exploringjs.com/js/"><em>Exploring JavaScript</em></a></li></ul><p><strong>Cool Stuff</strong></p><ul><li><a href="https://github.com/typed-rocks/type-buddy">Type Buddy</a> (h/t <a href="https://bsky.app/profile/sebastienlorber.com/post/3lrfp43egnk2v">Seb</a>)</li><li><a href="https://github.com/jesselpalmer/node-email-verifier">jesselpalmer/node-email-verifier: A Node.js module for verifying email addresses</a></li><li>Arvid Kahl's <a href="https://thebootstrappedfounder.com/podcast/">Bootstrapped Founder podcast</a></li><li><a href="https://nathanbarry.com/how-i-built-a-million-dollar-company-using-my-personal-brand-081/">The Nathan Barry Show</a> podcast</li><li><a href="https://www.youtube.com/watch?v=8ZlN07IvoPI">Why Use C for UI Library? | Nic Barker</a> </li><li><a href="https://github.com/vadimdemedes/ink">Ink, build CLI apps in React</a></li><li><a href="https://music.amazon.com/podcasts/e54d2379-8085-4d4c-a650-5c6a2d03aaed/episodes/a06cd51f-1f58-4b34-8574-368d3a175e05/the-weekly-dev's-brew-oss-typescript-linting-and-everything-in-between-with-josh-goldberg">Josh Goldberg interview</a> on Weekly Devs Brew Podcast</li><li><a href="https://tej.as/podcast/ep/alexander-lichter-voidzero-vite-rolldown-oxc">Alex Lichter of VoidZero on ConTejas Code podcast </a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Tue, 17 Jun 2025 09:18:13 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/e55fe2aa/9817cf82.mp3" length="18491540" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2306</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal News</li>
<li>(05:34) - News: Amaro, the Node.js Type Stripping Wrapper,  Has 1.0 Release</li>
<li>(06:39) - News: New Oxlint 1.0  Release is 50-100x Faster Than ESLint</li>
<li>(08:37) - News: pnpm 10.12 Introduces Experimental Global Virtual Store</li>
<li>(10:14) - News: TypeFire is a New Meta Programming Framework for TS</li>
<li>(14:37) - News: Go 1.25 Promises Better GC Performance</li>
<li>(16:01) - News: Apple Announces Safari 26 Enhancements at WWDC</li>
<li>(18:52) - Community Highlight: Liran Tal's TypeScript Security Talk</li>
<li>(21:16) - Community Highlight: justin, a JIT Schema Validation Library by cinny.bun.how</li>
<li>(24:13) - Community Highlight: React Final Form Migrates to TS</li>
<li>(26:32) - Community Highlight: Flint, Josh Goldberg's New Type-aware Linting Project</li>
<li>(27:33) - Community Highlight: New Edition of the 'Exploring JavaScript' Book by Dr. Axel</li>
<li>(28:23) - Community Highlight: Rule of Least Power by Jason Yu</li>
<li>(29:34) - Cool Tool: Type Buddy Helps Translate Complex Typings</li>
<li>(30:58) - Cool Tool: node-email-verifier Library for Verifying Emails</li>
<li>(31:39) - Cool Listen: Bootstrapped Founder and Nathan Barry Podcasts</li>
<li>(32:55) - Cool Listen: From Microsoft to Full-time OSS Maintainer</li>
<li>(33:47) - Cool Listen: Alex Lichter on Vite, Rolldown, and oxc</li>
<li>(34:21) - Cool Listen: Nic Barker's Flexbox-style Layout Library Written in C</li>
</ul><br><strong>News</strong><ul><li><a href="https://github.com/nodejs/amaro/releases/tag/v1.0.0">Amaro 1.0 release</a> (h/t <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lr5vf3jnqs2w">Rob Palmer</a>) – Node's type stripping wrapper</li><li><a href="https://voidzero.dev/posts/announcing-oxlint-1-stable">Oxlint 1.0 release</a> – TypeScript/JS linter written in Rust from VoidZero</li><li><a href="https://github.com/pnpm/pnpm/releases/tag/v10.12.1">pnpm 10.12</a> (h/t <a href="https://bsky.app/profile/socket.dev/post/3lre2jtamsk2z">socket.dev</a>) </li><li><a href="https://typefire.dev/">TypeFire</a> - a meta programming framework for TS (h/t <a href="https://bsky.app/profile/nxjosh.bsky.social/post/3lrlh6gxtbk2v">nxjosh</a>)</li><li><a href="https://tip.golang.org/doc/go1.25">Go 1.25</a> promises more speed! Good news for TSGO? (Video: <a href="https://www.youtube.com/watch?v=B5855afkIaQ">Go just got faster..</a> )</li><li><a href="https://webkit.org/blog/16993/news-from-wwdc25-web-technology-coming-this-fall-in-safari-26-beta/">Apple’s WWDC</a> featured Safari 26 Beta improvements, including WebGPU</li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://www.youtube.com/watch?v=YbQhSgB5iMM">Liran Tal - Friend or Foe? TypeScript Security Fallacies</a> </li><li><a href="https://github.com/char/justin">Justin</a>: a typescript data validation library utilizing just-in-time function compilation. (h/t Charlotte / <a href="https://bsky.app/profile/cinny.bun.how/post/3lra7k65q2c2l">cinny.bun.how</a>)</li><li><a href="https://erikras.com/blog/final-form-to-typescript">🏁 Final Form goes to TypeScript</a></li><li>Josh Goldberg's <a href="https://www.joshuakgoldberg.com/blog/if-i-wrote-a-linter-part-4-summary/">If I Wrote a Linter, Part 4: Summary</a></li><li><a href="https://www.youtube.com/watch?v=f3RiI9VRohs">Your code: powerful, but not clean. Here's why</a> (Jason Yu)</li><li><a href="https://bsky.app/profile/dr-axel.de/post/3lrijbaacmk2r">Dr. Axel announces release</a> of ES2025 Edition for <a href="https://exploringjs.com/js/"><em>Exploring JavaScript</em></a></li></ul><p><strong>Cool Stuff</strong></p><ul><li><a href="https://github.com/typed-rocks/type-buddy">Type Buddy</a> (h/t <a href="https://bsky.app/profile/sebastienlorber.com/post/3lrfp43egnk2v">Seb</a>)</li><li><a href="https://github.com/jesselpalmer/node-email-verifier">jesselpalmer/node-email-verifier: A Node.js module for verifying email addresses</a></li><li>Arvid Kahl's <a href="https://thebootstrappedfounder.com/podcast/">Bootstrapped Founder podcast</a></li><li><a href="https://nathanbarry.com/how-i-built-a-million-dollar-company-using-my-personal-brand-081/">The Nathan Barry Show</a> podcast</li><li><a href="https://www.youtube.com/watch?v=8ZlN07IvoPI">Why Use C for UI Library? | Nic Barker</a> </li><li><a href="https://github.com/vadimdemedes/ink">Ink, build CLI apps in React</a></li><li><a href="https://music.amazon.com/podcasts/e54d2379-8085-4d4c-a650-5c6a2d03aaed/episodes/a06cd51f-1f58-4b34-8574-368d3a175e05/the-weekly-dev's-brew-oss-typescript-linting-and-everything-in-between-with-josh-goldberg">Josh Goldberg interview</a> on Weekly Devs Brew Podcast</li><li><a href="https://tej.as/podcast/ep/alexander-lichter-voidzero-vite-rolldown-oxc">Alex Lichter of VoidZero on ConTejas Code podcast </a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/e55fe2aa/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>TSC Init New Defaults, Who Dis? Plus Vite 7, Babel 8 Betas  | News | Ep 21</title>
      <itunes:episode>21</itunes:episode>
      <podcast:episode>21</podcast:episode>
      <itunes:title>TSC Init New Defaults, Who Dis? Plus Vite 7, Babel 8 Betas  | News | Ep 21</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">d9160850-d0bb-4b07-b7ec-5a626663e8e0</guid>
      <link>https://share.transistor.fm/s/ed088fd9</link>
      <description>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal Updates</li>
<li>(02:26) - News: tsc --init Finally Has New Defaults</li>
<li>(04:39) - News: Deferred Imports Syntax Will Land in TS 5.9</li>
<li>(06:38) - News: Vitest 3.2 Brings Annotations, Better TS Support</li>
<li>(08:21) - News: Vite 7 Beta</li>
<li>(09:17) - News: Babel 8 Beta</li>
<li>(10:49) - News: Storybook 9 Adds Interaction Tests, A11y Improvements</li>
<li>(11:54) - News: TC39 Proposal Advancements</li>
<li>(14:54) - News: IRS Uses TypeScript and React</li>
<li>(16:50) - Community Highlight: The M.I.N.T. Principle by Sean Maxwell</li>
<li>(22:07) - Community Highlight: Advanced TS by Web Dev Simplified</li>
<li>(22:32) - Community Highlight: TS Monorepo Tips by Mike Hartington and Colin Hacks</li>
<li>(24:30) - Community Highlight: Learn How Signals Work in TypeScript by Jon Kuperman</li>
<li>(25:32) - Community Highlight: Your Feedback!</li>
<li>(27:07) - Cool Stuff: Reverse-Engineering Linear's Sync Engine</li>
<li>(28:09) - Cool Stuff: Chrome Performance Profiler Gets a Facelift</li>
</ul><br><strong>News</strong><ul><li><a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lqz2dyfjsc2c">tsc --init gets new defaults</a> (h/t Rob Palmer)</li><li><a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lqxp24myjc2r">TypeScript 5.9 gets import deferred</a> (h/t Rob Palmer)</li><li><a href="https://vitest.dev/blog/vitest-3-2.html">Vitest 3.2 is out!</a></li><li><a href="https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md#700-beta0-2025-06-02">Vite 7 beta changelog entry</a></li><li><a href="https://babeljs.io/blog/2025/05/30/babel-8-beta">Announcing Babel 8 Beta</a> </li><li><a href="https://bsky.app/profile/storybook.js.org/post/3lqprkrffn22q">Storybook 9 Bluesky breakdown thread</a></li><li><a href="https://bsky.app/profile/tc39.es/post/3lqfkpgmtae2e">TC39 proposals advance</a></li><li><a href="https://www.404media.co/directfile-open-source-irs-tax-filing-software-turbotax-is-trying-to-kil/">The IRS Tax Filing Software TurboTax Is Trying to Kill Just Got Open Sourced</a></li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://levelup.gitconnected.com/the-m-i-n-t-principal-a-new-guideline-for-when-to-use-object-oriented-programming-in-typescript-39d355e35374">The MINT Principle</a> – When to use object-oriented programming in TypeScript (h/t <a href="https://www.reddit.com/r/typescript/comments/1l1kjko/the_mint_principal_a_new_guideline_for_when_to/?utm_source=share&amp;utm_medium=web3x&amp;utm_name=web3xcss&amp;utm_term=1&amp;utm_content=share_button">Reddit</a>)</li><li><a href="https://youtu.be/bnTAOB3P6nM?si=cb92DHaDijzkIVY-">Learn Advanced TypeScript In 25 Minutes (infer, extends, ternaries)</a> </li><li><a href="https://bsky.app/profile/mhartington.io/post/3lqwywpad5s2q">Mike Hartington gave a talk</a> on TypeScript performance</li><li><a href="https://colinhacks.com/essays/live-types-typescript-monorepo">Live types in a TypeScript monorepo</a> (Colin Hacks)</li><li><a href="https://github.com/jkup/learn-signals">Learn Signals by reading TypeScript</a> (Jon Kuperman)</li></ul><p><strong>Cool Stuff</strong></p><ul><li><a href="https://github.com/wzhudev/reverse-linear-sync-engine">Reverse-engineering Linear's sync engine</a></li><li><a href="https://bsky.app/profile/paul.irish/post/3lqaqmhtd6k2h">Chrome personal profiler changes</a> (Paul Irish)</li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal Updates</li>
<li>(02:26) - News: tsc --init Finally Has New Defaults</li>
<li>(04:39) - News: Deferred Imports Syntax Will Land in TS 5.9</li>
<li>(06:38) - News: Vitest 3.2 Brings Annotations, Better TS Support</li>
<li>(08:21) - News: Vite 7 Beta</li>
<li>(09:17) - News: Babel 8 Beta</li>
<li>(10:49) - News: Storybook 9 Adds Interaction Tests, A11y Improvements</li>
<li>(11:54) - News: TC39 Proposal Advancements</li>
<li>(14:54) - News: IRS Uses TypeScript and React</li>
<li>(16:50) - Community Highlight: The M.I.N.T. Principle by Sean Maxwell</li>
<li>(22:07) - Community Highlight: Advanced TS by Web Dev Simplified</li>
<li>(22:32) - Community Highlight: TS Monorepo Tips by Mike Hartington and Colin Hacks</li>
<li>(24:30) - Community Highlight: Learn How Signals Work in TypeScript by Jon Kuperman</li>
<li>(25:32) - Community Highlight: Your Feedback!</li>
<li>(27:07) - Cool Stuff: Reverse-Engineering Linear's Sync Engine</li>
<li>(28:09) - Cool Stuff: Chrome Performance Profiler Gets a Facelift</li>
</ul><br><strong>News</strong><ul><li><a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lqz2dyfjsc2c">tsc --init gets new defaults</a> (h/t Rob Palmer)</li><li><a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lqxp24myjc2r">TypeScript 5.9 gets import deferred</a> (h/t Rob Palmer)</li><li><a href="https://vitest.dev/blog/vitest-3-2.html">Vitest 3.2 is out!</a></li><li><a href="https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md#700-beta0-2025-06-02">Vite 7 beta changelog entry</a></li><li><a href="https://babeljs.io/blog/2025/05/30/babel-8-beta">Announcing Babel 8 Beta</a> </li><li><a href="https://bsky.app/profile/storybook.js.org/post/3lqprkrffn22q">Storybook 9 Bluesky breakdown thread</a></li><li><a href="https://bsky.app/profile/tc39.es/post/3lqfkpgmtae2e">TC39 proposals advance</a></li><li><a href="https://www.404media.co/directfile-open-source-irs-tax-filing-software-turbotax-is-trying-to-kil/">The IRS Tax Filing Software TurboTax Is Trying to Kill Just Got Open Sourced</a></li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://levelup.gitconnected.com/the-m-i-n-t-principal-a-new-guideline-for-when-to-use-object-oriented-programming-in-typescript-39d355e35374">The MINT Principle</a> – When to use object-oriented programming in TypeScript (h/t <a href="https://www.reddit.com/r/typescript/comments/1l1kjko/the_mint_principal_a_new_guideline_for_when_to/?utm_source=share&amp;utm_medium=web3x&amp;utm_name=web3xcss&amp;utm_term=1&amp;utm_content=share_button">Reddit</a>)</li><li><a href="https://youtu.be/bnTAOB3P6nM?si=cb92DHaDijzkIVY-">Learn Advanced TypeScript In 25 Minutes (infer, extends, ternaries)</a> </li><li><a href="https://bsky.app/profile/mhartington.io/post/3lqwywpad5s2q">Mike Hartington gave a talk</a> on TypeScript performance</li><li><a href="https://colinhacks.com/essays/live-types-typescript-monorepo">Live types in a TypeScript monorepo</a> (Colin Hacks)</li><li><a href="https://github.com/jkup/learn-signals">Learn Signals by reading TypeScript</a> (Jon Kuperman)</li></ul><p><strong>Cool Stuff</strong></p><ul><li><a href="https://github.com/wzhudev/reverse-linear-sync-engine">Reverse-engineering Linear's sync engine</a></li><li><a href="https://bsky.app/profile/paul.irish/post/3lqaqmhtd6k2h">Chrome personal profiler changes</a> (Paul Irish)</li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Tue, 10 Jun 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/ed088fd9/8552669b.mp3" length="14831485" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>1849</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal Updates</li>
<li>(02:26) - News: tsc --init Finally Has New Defaults</li>
<li>(04:39) - News: Deferred Imports Syntax Will Land in TS 5.9</li>
<li>(06:38) - News: Vitest 3.2 Brings Annotations, Better TS Support</li>
<li>(08:21) - News: Vite 7 Beta</li>
<li>(09:17) - News: Babel 8 Beta</li>
<li>(10:49) - News: Storybook 9 Adds Interaction Tests, A11y Improvements</li>
<li>(11:54) - News: TC39 Proposal Advancements</li>
<li>(14:54) - News: IRS Uses TypeScript and React</li>
<li>(16:50) - Community Highlight: The M.I.N.T. Principle by Sean Maxwell</li>
<li>(22:07) - Community Highlight: Advanced TS by Web Dev Simplified</li>
<li>(22:32) - Community Highlight: TS Monorepo Tips by Mike Hartington and Colin Hacks</li>
<li>(24:30) - Community Highlight: Learn How Signals Work in TypeScript by Jon Kuperman</li>
<li>(25:32) - Community Highlight: Your Feedback!</li>
<li>(27:07) - Cool Stuff: Reverse-Engineering Linear's Sync Engine</li>
<li>(28:09) - Cool Stuff: Chrome Performance Profiler Gets a Facelift</li>
</ul><br><strong>News</strong><ul><li><a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lqz2dyfjsc2c">tsc --init gets new defaults</a> (h/t Rob Palmer)</li><li><a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lqxp24myjc2r">TypeScript 5.9 gets import deferred</a> (h/t Rob Palmer)</li><li><a href="https://vitest.dev/blog/vitest-3-2.html">Vitest 3.2 is out!</a></li><li><a href="https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md#700-beta0-2025-06-02">Vite 7 beta changelog entry</a></li><li><a href="https://babeljs.io/blog/2025/05/30/babel-8-beta">Announcing Babel 8 Beta</a> </li><li><a href="https://bsky.app/profile/storybook.js.org/post/3lqprkrffn22q">Storybook 9 Bluesky breakdown thread</a></li><li><a href="https://bsky.app/profile/tc39.es/post/3lqfkpgmtae2e">TC39 proposals advance</a></li><li><a href="https://www.404media.co/directfile-open-source-irs-tax-filing-software-turbotax-is-trying-to-kil/">The IRS Tax Filing Software TurboTax Is Trying to Kill Just Got Open Sourced</a></li></ul><p><strong>From the Community</strong></p><ul><li><a href="https://levelup.gitconnected.com/the-m-i-n-t-principal-a-new-guideline-for-when-to-use-object-oriented-programming-in-typescript-39d355e35374">The MINT Principle</a> – When to use object-oriented programming in TypeScript (h/t <a href="https://www.reddit.com/r/typescript/comments/1l1kjko/the_mint_principal_a_new_guideline_for_when_to/?utm_source=share&amp;utm_medium=web3x&amp;utm_name=web3xcss&amp;utm_term=1&amp;utm_content=share_button">Reddit</a>)</li><li><a href="https://youtu.be/bnTAOB3P6nM?si=cb92DHaDijzkIVY-">Learn Advanced TypeScript In 25 Minutes (infer, extends, ternaries)</a> </li><li><a href="https://bsky.app/profile/mhartington.io/post/3lqwywpad5s2q">Mike Hartington gave a talk</a> on TypeScript performance</li><li><a href="https://colinhacks.com/essays/live-types-typescript-monorepo">Live types in a TypeScript monorepo</a> (Colin Hacks)</li><li><a href="https://github.com/jkup/learn-signals">Learn Signals by reading TypeScript</a> (Jon Kuperman)</li></ul><p><strong>Cool Stuff</strong></p><ul><li><a href="https://github.com/wzhudev/reverse-linear-sync-engine">Reverse-engineering Linear's sync engine</a></li><li><a href="https://bsky.app/profile/paul.irish/post/3lqaqmhtd6k2h">Chrome personal profiler changes</a> (Paul Irish)</li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/ed088fd9/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Painless TSConfig Migrations | Jason Yu | 20B</title>
      <itunes:episode>20</itunes:episode>
      <podcast:episode>20</podcast:episode>
      <itunes:title>Painless TSConfig Migrations | Jason Yu | 20B</itunes:title>
      <itunes:episodeType>bonus</itunes:episodeType>
      <guid isPermaLink="false">7e6b9c0c-8943-4f3c-add5-6eb84f6118e8</guid>
      <link>https://share.transistor.fm/s/cd59a068</link>
      <description>
        <![CDATA[<p>Jason Yu (<a href="https://ycmjason.codes">ycmjason.codes</a>) 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!</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Meet Jason Yu</li>
<li>(03:27) - Challenges of Migrating Legacy TypeScript</li>
<li>(05:44) - What is ts-migrating?</li>
<li>(07:01) - How Does ts-migrating Help Migrate TSConfig?</li>
<li>(09:05) - What Does the ts-migrating CLI Do?</li>
<li>(10:02) - How Do You Migrate Incrementally?</li>
<li>(11:16) - How Do You Get Started with ts-migrating?</li>
<li>(12:06) - Tackling the Migration in Small Chunks</li>
<li>(13:12) - How Does This Compare to Using Folder-based TSConfig?</li>
<li>(14:12) - What About ts-expect-error and ts-ignore Directives?</li>
<li>(16:25) - What About Multiple TSConfigs?</li>
<li>(17:34) - Are There Any Unsupported Compiler Options?</li>
<li>(19:28) - How Do You Build a TypeScript LSP Plugin?</li>
<li>(22:18) - How Will This Work with TS 7 (Go Native Port)?</li>
<li>(23:57) - Advice for Teams Migrating TSConfig</li>
<li>(25:52) - Jason's Favorite Coding Principles</li>
<li>(32:42) - Where to Follow Jason Online</li>
</ul><br><strong>Links<br></strong><br><ul><li>Jason’s Links: <a href="https://ycmjason.codes">https://ycmjason.codes</a> </li><li>Migrate your TSConfig incrementally: <a href="https://github.com/ycmjason/ts-migrating">https://github.com/ycmjason/ts-migrating</a> </li><li>Blog / Video: <a href="https://dev.to/ycmjason/7-modern-use-cases-of-iife-50ej">7 Modern Use Cases of IIFE</a> </li><li>ts-migrating Inspiration: <a href="https://github.com/allegro/typescript-strict-plugin">https://github.com/allegro/typescript-strict-plugin</a></li><li>MS Docs: <a href="https://github.com/microsoft/TypeScript/wiki/Writing-a-Language-Service-Plugin">Writing a Language Service Plugin</a></li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Jason Yu (<a href="https://ycmjason.codes">ycmjason.codes</a>) 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!</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Meet Jason Yu</li>
<li>(03:27) - Challenges of Migrating Legacy TypeScript</li>
<li>(05:44) - What is ts-migrating?</li>
<li>(07:01) - How Does ts-migrating Help Migrate TSConfig?</li>
<li>(09:05) - What Does the ts-migrating CLI Do?</li>
<li>(10:02) - How Do You Migrate Incrementally?</li>
<li>(11:16) - How Do You Get Started with ts-migrating?</li>
<li>(12:06) - Tackling the Migration in Small Chunks</li>
<li>(13:12) - How Does This Compare to Using Folder-based TSConfig?</li>
<li>(14:12) - What About ts-expect-error and ts-ignore Directives?</li>
<li>(16:25) - What About Multiple TSConfigs?</li>
<li>(17:34) - Are There Any Unsupported Compiler Options?</li>
<li>(19:28) - How Do You Build a TypeScript LSP Plugin?</li>
<li>(22:18) - How Will This Work with TS 7 (Go Native Port)?</li>
<li>(23:57) - Advice for Teams Migrating TSConfig</li>
<li>(25:52) - Jason's Favorite Coding Principles</li>
<li>(32:42) - Where to Follow Jason Online</li>
</ul><br><strong>Links<br></strong><br><ul><li>Jason’s Links: <a href="https://ycmjason.codes">https://ycmjason.codes</a> </li><li>Migrate your TSConfig incrementally: <a href="https://github.com/ycmjason/ts-migrating">https://github.com/ycmjason/ts-migrating</a> </li><li>Blog / Video: <a href="https://dev.to/ycmjason/7-modern-use-cases-of-iife-50ej">7 Modern Use Cases of IIFE</a> </li><li>ts-migrating Inspiration: <a href="https://github.com/allegro/typescript-strict-plugin">https://github.com/allegro/typescript-strict-plugin</a></li><li>MS Docs: <a href="https://github.com/microsoft/TypeScript/wiki/Writing-a-Language-Service-Plugin">Writing a Language Service Plugin</a></li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </content:encoded>
      <pubDate>Thu, 05 Jun 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/cd59a068/7b7ca432.mp3" length="16552861" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2064</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Jason Yu (<a href="https://ycmjason.codes">ycmjason.codes</a>) 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!</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Meet Jason Yu</li>
<li>(03:27) - Challenges of Migrating Legacy TypeScript</li>
<li>(05:44) - What is ts-migrating?</li>
<li>(07:01) - How Does ts-migrating Help Migrate TSConfig?</li>
<li>(09:05) - What Does the ts-migrating CLI Do?</li>
<li>(10:02) - How Do You Migrate Incrementally?</li>
<li>(11:16) - How Do You Get Started with ts-migrating?</li>
<li>(12:06) - Tackling the Migration in Small Chunks</li>
<li>(13:12) - How Does This Compare to Using Folder-based TSConfig?</li>
<li>(14:12) - What About ts-expect-error and ts-ignore Directives?</li>
<li>(16:25) - What About Multiple TSConfigs?</li>
<li>(17:34) - Are There Any Unsupported Compiler Options?</li>
<li>(19:28) - How Do You Build a TypeScript LSP Plugin?</li>
<li>(22:18) - How Will This Work with TS 7 (Go Native Port)?</li>
<li>(23:57) - Advice for Teams Migrating TSConfig</li>
<li>(25:52) - Jason's Favorite Coding Principles</li>
<li>(32:42) - Where to Follow Jason Online</li>
</ul><br><strong>Links<br></strong><br><ul><li>Jason’s Links: <a href="https://ycmjason.codes">https://ycmjason.codes</a> </li><li>Migrate your TSConfig incrementally: <a href="https://github.com/ycmjason/ts-migrating">https://github.com/ycmjason/ts-migrating</a> </li><li>Blog / Video: <a href="https://dev.to/ycmjason/7-modern-use-cases-of-iife-50ej">7 Modern Use Cases of IIFE</a> </li><li>ts-migrating Inspiration: <a href="https://github.com/allegro/typescript-strict-plugin">https://github.com/allegro/typescript-strict-plugin</a></li><li>MS Docs: <a href="https://github.com/microsoft/TypeScript/wiki/Writing-a-Language-Service-Plugin">Writing a Language Service Plugin</a></li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:person role="Guest" href="https://ycmjason.codes" img="https://img.transistorcdn.com/p4rE3fJKHVucG01m9GMyFlC8PMmMyhU9lTmaMCOb2kU/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS8zOTNh/YTYzNjNiOGM5MTk3/ZWUyYTBhYTIyZGRi/MTZlZi5qcGVn.jpg">Jason Yu</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/cd59a068/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Angular Turns 20, Remix Revived, and Hurricane André Hits Firefox | News | Ep 20</title>
      <itunes:episode>20</itunes:episode>
      <podcast:episode>20</podcast:episode>
      <itunes:title>Angular Turns 20, Remix Revived, and Hurricane André Hits Firefox | News | Ep 20</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">268744cd-372c-465c-b5ea-1e36418c1028</guid>
      <link>https://share.transistor.fm/s/a8f236c7</link>
      <description>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Personal News and Updates</li>
<li>(04:46) - News: Angular 20 is Out and It's Boring (But in a Good Way)</li>
<li>(08:39) - News: Remix Receives Revival</li>
<li>(10:03) - News: Vite with Rolldown is in Preview</li>
<li>(11:32) - News: What's New with Astro in May 2025</li>
<li>(12:05) - News: Temporal API Finally Hits Browsers with Firefox 139</li>
<li>(16:52) - PSA: Take the StackOverflow 2025 Developer Survey!</li>
<li>(17:40) - Community Highlight: Josh Goldberg's Types Beyond TypeScript Talk</li>
<li>(18:27) - Community Highlight: sirhamy on the Cost of  Throwing Errors in JS/TS</li>
<li>(19:16) - Community Library Watch: ts-migrating for Migrating Your TSConfig Incrementally</li>
<li>(20:26) - Community Library Watch: jsonv-ts, a JSON Schema Validator</li>
<li>(21:08) - Community Library Watch: tsargparse, a Type-safe CLI Parser</li>
<li>(21:28) - Community Highlight: TypeScripting the Technical Interview by Richard Tower</li>
<li>(22:02) - Community Highlight: CanIUse... for Angular by angular.courses</li>
<li>(22:25) - Community Highlight: Type-safe Internationalization by Web Dev Simplified</li>
<li>(23:13) - Community Highlight: Deno Might Have the Features You're Missing</li>
<li>(23:41) - Community Highlight: skeary.me Wrote a Programming Language... in TypeScript Types</li>
<li>(24:30) - Discuss: Competition Between Node.js, Deno, and Bun</li>
<li>(29:51) - Cool Links: David Macaulay is a National Treasure</li>
<li>(32:05) - Cool Links: Progressive JSON by Dan Abramov</li>
<li>(33:24) - Cool Stuff: Curated List of Data Grids by Ian Langworth</li>
<li>(33:54) - Cool Stuff: Hack Into React Internals with bippy</li>
<li>(34:43) - Cool Stuff: Wookash Interview with Inigo Quilez</li>
<li>(35:29) - Cool Stuff: Building a Software Rasterizer with Sebastian Lague</li>
</ul><br><strong>News</strong><ul><li><a href="https://blog.angular.dev/announcing-angular-v20-b5c9c06cf301">Angular 20 is out</a>! (And <a href="https://youtu.be/Fj7FK6nD65I?si=BxYVVKmkHc_CG6lZ">it's boring</a>)</li><li><a href="https://remix.run/blog/wake-up-remix">Remix gets revived</a></li><li><a href="https://voidzero.dev/posts/announcing-rolldown-vite">Announcing Rolldown-Vite</a></li><li><a href="https://astro.build/blog/whats-new-may-2025/">What’s New in Astro – May 2025</a></li><li><a href="https://spidermonkey.dev/blog/2025/04/11/shipping-temporal.html">Shipping Temporal </a>(<a href="https://youtu.be/Q72K5BJlXRU?si=MEgv9t8R7VYDRIqZ">Matt Pocock video</a>, <a href="https://x.com/wesbos/status/1927731328436289897">Wes Bos tweet</a>)</li><li>PSA: <a href="https://stackoverflow.az1.qualtrics.com/jfe/form/SV_1MNG2CYTY2AzkAm">Stack Overflow Survey 2025 is Open</a></li></ul><p><strong>From the Community</strong></p><ul><li>Josh Goldberg gives <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3lq5jcqqnas2d">Types Beyond TypeScript talk</a> at JS Nation 2025</li><li>Hamilton <a href="https://hamy.xyz/blog/2025-05_typescript-errors-vs-exceptions-benchmarks">teaches us about errors as values</a> and how they're 335x faster than throwing new errors (<a href="https://bsky.app/profile/sirhamy.bsky.social/post/3lqah4nzjol27">sirhamy</a>)</li><li><a href="https://www.richard-towers.com/2023/03/11/typescripting-the-technical-interview.html">Typescripting the technical interview</a> (Richard Towers)</li><li><a href="https://www.angular.courses/caniuse?from=19&amp;to=20&amp;hasStatusChange=true">Angular CanIUse</a> </li><li><a href="https://www.youtube.com/watch?v=VbZVx13b2oY">How To Handle Internationalization Like A Senior Dev</a> (Web Dev Simplified)</li><li><a href="https://youtu.be/QWLdKLiiirM?si=mYvYR4q_NS8v6t9X">Deno Might Have the Exact Tools You’re Missing…</a> </li><li>TLTSS: a language written in TS types (by <a href="https://bsky.app/profile/skeary.me">skeary.me</a>)</li><li>Library watch: Jason Yu’s <a href="https://github.com/ycmjason/ts-migrating">ts-migrating tool</a> helps teams migrate their codebase to modern TSConfig settings incrementally!</li><li>Library watch: <a href="https://github.com/dswbx/jsonv-ts">jsonv-ts</a> validates and produces clean JSON schemas with a Zod-like API (h/t <a href="https://www.reddit.com/r/typescript/comments/1kzy2yy/jsonvts_a_simple_and_lightweight_typescript/">Reddit</a>)</li><li>Library watch: <a href="https://github.com/mikeyhew/tsargparse">tsargparse</a> is a simple type-safe CLI args parser (h/t <a href="https://www.reddit.com/r/typescript/comments/1kz9vn6/tsargparse_a_cli_arg_parser_for_typescript_with_a/">Reddit</a>)</li><li>Discuss: Are Deno, Bun, and Node.js competing? (via <a href="https://bsky.app/profile/jasnell.me/post/3lqgrfelmss2z">James Snell</a>)</li></ul><p><strong>Cool Stuff</strong></p><ul><li>Kamran<ul><li><a href="https://classicreload.com/win3x-the-way-things-work.html">The Way Things Work</a> (1994) on Classic Reload</li><li>David Macauley’s book, <a href="https://www.goodreads.com/book/show/108831.Motel_of_the_Mysteries">Motel of the Mysteries</a> (1979)</li></ul></li><li>Erik<ul><li>Dan Abramov - <a href="https://youtu.be/MaMQLNBZz64?si=Iwttotld7XehlpY5">Progressive JSON</a></li><li><a href="https://jsgrids.statico.io/">Curated List of JS Grids</a> by <a href="https://bsky.app/profile/statico.bsky.social/post/3lq6fk24iuc22">Ian Langworth</a></li><li><a href="https://github.com/aidenybai/bippy">Bippy</a> - Hack into React: </li><li>Wookash: <a href="https://youtu.be/F1ax1iJTHFs?si=xoHDidfMgiwJIbmB">Painting with Math | Inigo Quilez</a> </li><li><a href="https://youtu.be/yyJ-hdISgnw?si=XGV1vmhcW7p-Yfjt">Coding Adventure: Software Rasterizer</a> with Sebastian Lague</li></ul></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Personal News and Updates</li>
<li>(04:46) - News: Angular 20 is Out and It's Boring (But in a Good Way)</li>
<li>(08:39) - News: Remix Receives Revival</li>
<li>(10:03) - News: Vite with Rolldown is in Preview</li>
<li>(11:32) - News: What's New with Astro in May 2025</li>
<li>(12:05) - News: Temporal API Finally Hits Browsers with Firefox 139</li>
<li>(16:52) - PSA: Take the StackOverflow 2025 Developer Survey!</li>
<li>(17:40) - Community Highlight: Josh Goldberg's Types Beyond TypeScript Talk</li>
<li>(18:27) - Community Highlight: sirhamy on the Cost of  Throwing Errors in JS/TS</li>
<li>(19:16) - Community Library Watch: ts-migrating for Migrating Your TSConfig Incrementally</li>
<li>(20:26) - Community Library Watch: jsonv-ts, a JSON Schema Validator</li>
<li>(21:08) - Community Library Watch: tsargparse, a Type-safe CLI Parser</li>
<li>(21:28) - Community Highlight: TypeScripting the Technical Interview by Richard Tower</li>
<li>(22:02) - Community Highlight: CanIUse... for Angular by angular.courses</li>
<li>(22:25) - Community Highlight: Type-safe Internationalization by Web Dev Simplified</li>
<li>(23:13) - Community Highlight: Deno Might Have the Features You're Missing</li>
<li>(23:41) - Community Highlight: skeary.me Wrote a Programming Language... in TypeScript Types</li>
<li>(24:30) - Discuss: Competition Between Node.js, Deno, and Bun</li>
<li>(29:51) - Cool Links: David Macaulay is a National Treasure</li>
<li>(32:05) - Cool Links: Progressive JSON by Dan Abramov</li>
<li>(33:24) - Cool Stuff: Curated List of Data Grids by Ian Langworth</li>
<li>(33:54) - Cool Stuff: Hack Into React Internals with bippy</li>
<li>(34:43) - Cool Stuff: Wookash Interview with Inigo Quilez</li>
<li>(35:29) - Cool Stuff: Building a Software Rasterizer with Sebastian Lague</li>
</ul><br><strong>News</strong><ul><li><a href="https://blog.angular.dev/announcing-angular-v20-b5c9c06cf301">Angular 20 is out</a>! (And <a href="https://youtu.be/Fj7FK6nD65I?si=BxYVVKmkHc_CG6lZ">it's boring</a>)</li><li><a href="https://remix.run/blog/wake-up-remix">Remix gets revived</a></li><li><a href="https://voidzero.dev/posts/announcing-rolldown-vite">Announcing Rolldown-Vite</a></li><li><a href="https://astro.build/blog/whats-new-may-2025/">What’s New in Astro – May 2025</a></li><li><a href="https://spidermonkey.dev/blog/2025/04/11/shipping-temporal.html">Shipping Temporal </a>(<a href="https://youtu.be/Q72K5BJlXRU?si=MEgv9t8R7VYDRIqZ">Matt Pocock video</a>, <a href="https://x.com/wesbos/status/1927731328436289897">Wes Bos tweet</a>)</li><li>PSA: <a href="https://stackoverflow.az1.qualtrics.com/jfe/form/SV_1MNG2CYTY2AzkAm">Stack Overflow Survey 2025 is Open</a></li></ul><p><strong>From the Community</strong></p><ul><li>Josh Goldberg gives <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3lq5jcqqnas2d">Types Beyond TypeScript talk</a> at JS Nation 2025</li><li>Hamilton <a href="https://hamy.xyz/blog/2025-05_typescript-errors-vs-exceptions-benchmarks">teaches us about errors as values</a> and how they're 335x faster than throwing new errors (<a href="https://bsky.app/profile/sirhamy.bsky.social/post/3lqah4nzjol27">sirhamy</a>)</li><li><a href="https://www.richard-towers.com/2023/03/11/typescripting-the-technical-interview.html">Typescripting the technical interview</a> (Richard Towers)</li><li><a href="https://www.angular.courses/caniuse?from=19&amp;to=20&amp;hasStatusChange=true">Angular CanIUse</a> </li><li><a href="https://www.youtube.com/watch?v=VbZVx13b2oY">How To Handle Internationalization Like A Senior Dev</a> (Web Dev Simplified)</li><li><a href="https://youtu.be/QWLdKLiiirM?si=mYvYR4q_NS8v6t9X">Deno Might Have the Exact Tools You’re Missing…</a> </li><li>TLTSS: a language written in TS types (by <a href="https://bsky.app/profile/skeary.me">skeary.me</a>)</li><li>Library watch: Jason Yu’s <a href="https://github.com/ycmjason/ts-migrating">ts-migrating tool</a> helps teams migrate their codebase to modern TSConfig settings incrementally!</li><li>Library watch: <a href="https://github.com/dswbx/jsonv-ts">jsonv-ts</a> validates and produces clean JSON schemas with a Zod-like API (h/t <a href="https://www.reddit.com/r/typescript/comments/1kzy2yy/jsonvts_a_simple_and_lightweight_typescript/">Reddit</a>)</li><li>Library watch: <a href="https://github.com/mikeyhew/tsargparse">tsargparse</a> is a simple type-safe CLI args parser (h/t <a href="https://www.reddit.com/r/typescript/comments/1kz9vn6/tsargparse_a_cli_arg_parser_for_typescript_with_a/">Reddit</a>)</li><li>Discuss: Are Deno, Bun, and Node.js competing? (via <a href="https://bsky.app/profile/jasnell.me/post/3lqgrfelmss2z">James Snell</a>)</li></ul><p><strong>Cool Stuff</strong></p><ul><li>Kamran<ul><li><a href="https://classicreload.com/win3x-the-way-things-work.html">The Way Things Work</a> (1994) on Classic Reload</li><li>David Macauley’s book, <a href="https://www.goodreads.com/book/show/108831.Motel_of_the_Mysteries">Motel of the Mysteries</a> (1979)</li></ul></li><li>Erik<ul><li>Dan Abramov - <a href="https://youtu.be/MaMQLNBZz64?si=Iwttotld7XehlpY5">Progressive JSON</a></li><li><a href="https://jsgrids.statico.io/">Curated List of JS Grids</a> by <a href="https://bsky.app/profile/statico.bsky.social/post/3lq6fk24iuc22">Ian Langworth</a></li><li><a href="https://github.com/aidenybai/bippy">Bippy</a> - Hack into React: </li><li>Wookash: <a href="https://youtu.be/F1ax1iJTHFs?si=xoHDidfMgiwJIbmB">Painting with Math | Inigo Quilez</a> </li><li><a href="https://youtu.be/yyJ-hdISgnw?si=XGV1vmhcW7p-Yfjt">Coding Adventure: Software Rasterizer</a> with Sebastian Lague</li></ul></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </content:encoded>
      <pubDate>Tue, 03 Jun 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/a8f236c7/2dcd5ac9.mp3" length="18138549" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2262</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Personal News and Updates</li>
<li>(04:46) - News: Angular 20 is Out and It's Boring (But in a Good Way)</li>
<li>(08:39) - News: Remix Receives Revival</li>
<li>(10:03) - News: Vite with Rolldown is in Preview</li>
<li>(11:32) - News: What's New with Astro in May 2025</li>
<li>(12:05) - News: Temporal API Finally Hits Browsers with Firefox 139</li>
<li>(16:52) - PSA: Take the StackOverflow 2025 Developer Survey!</li>
<li>(17:40) - Community Highlight: Josh Goldberg's Types Beyond TypeScript Talk</li>
<li>(18:27) - Community Highlight: sirhamy on the Cost of  Throwing Errors in JS/TS</li>
<li>(19:16) - Community Library Watch: ts-migrating for Migrating Your TSConfig Incrementally</li>
<li>(20:26) - Community Library Watch: jsonv-ts, a JSON Schema Validator</li>
<li>(21:08) - Community Library Watch: tsargparse, a Type-safe CLI Parser</li>
<li>(21:28) - Community Highlight: TypeScripting the Technical Interview by Richard Tower</li>
<li>(22:02) - Community Highlight: CanIUse... for Angular by angular.courses</li>
<li>(22:25) - Community Highlight: Type-safe Internationalization by Web Dev Simplified</li>
<li>(23:13) - Community Highlight: Deno Might Have the Features You're Missing</li>
<li>(23:41) - Community Highlight: skeary.me Wrote a Programming Language... in TypeScript Types</li>
<li>(24:30) - Discuss: Competition Between Node.js, Deno, and Bun</li>
<li>(29:51) - Cool Links: David Macaulay is a National Treasure</li>
<li>(32:05) - Cool Links: Progressive JSON by Dan Abramov</li>
<li>(33:24) - Cool Stuff: Curated List of Data Grids by Ian Langworth</li>
<li>(33:54) - Cool Stuff: Hack Into React Internals with bippy</li>
<li>(34:43) - Cool Stuff: Wookash Interview with Inigo Quilez</li>
<li>(35:29) - Cool Stuff: Building a Software Rasterizer with Sebastian Lague</li>
</ul><br><strong>News</strong><ul><li><a href="https://blog.angular.dev/announcing-angular-v20-b5c9c06cf301">Angular 20 is out</a>! (And <a href="https://youtu.be/Fj7FK6nD65I?si=BxYVVKmkHc_CG6lZ">it's boring</a>)</li><li><a href="https://remix.run/blog/wake-up-remix">Remix gets revived</a></li><li><a href="https://voidzero.dev/posts/announcing-rolldown-vite">Announcing Rolldown-Vite</a></li><li><a href="https://astro.build/blog/whats-new-may-2025/">What’s New in Astro – May 2025</a></li><li><a href="https://spidermonkey.dev/blog/2025/04/11/shipping-temporal.html">Shipping Temporal </a>(<a href="https://youtu.be/Q72K5BJlXRU?si=MEgv9t8R7VYDRIqZ">Matt Pocock video</a>, <a href="https://x.com/wesbos/status/1927731328436289897">Wes Bos tweet</a>)</li><li>PSA: <a href="https://stackoverflow.az1.qualtrics.com/jfe/form/SV_1MNG2CYTY2AzkAm">Stack Overflow Survey 2025 is Open</a></li></ul><p><strong>From the Community</strong></p><ul><li>Josh Goldberg gives <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3lq5jcqqnas2d">Types Beyond TypeScript talk</a> at JS Nation 2025</li><li>Hamilton <a href="https://hamy.xyz/blog/2025-05_typescript-errors-vs-exceptions-benchmarks">teaches us about errors as values</a> and how they're 335x faster than throwing new errors (<a href="https://bsky.app/profile/sirhamy.bsky.social/post/3lqah4nzjol27">sirhamy</a>)</li><li><a href="https://www.richard-towers.com/2023/03/11/typescripting-the-technical-interview.html">Typescripting the technical interview</a> (Richard Towers)</li><li><a href="https://www.angular.courses/caniuse?from=19&amp;to=20&amp;hasStatusChange=true">Angular CanIUse</a> </li><li><a href="https://www.youtube.com/watch?v=VbZVx13b2oY">How To Handle Internationalization Like A Senior Dev</a> (Web Dev Simplified)</li><li><a href="https://youtu.be/QWLdKLiiirM?si=mYvYR4q_NS8v6t9X">Deno Might Have the Exact Tools You’re Missing…</a> </li><li>TLTSS: a language written in TS types (by <a href="https://bsky.app/profile/skeary.me">skeary.me</a>)</li><li>Library watch: Jason Yu’s <a href="https://github.com/ycmjason/ts-migrating">ts-migrating tool</a> helps teams migrate their codebase to modern TSConfig settings incrementally!</li><li>Library watch: <a href="https://github.com/dswbx/jsonv-ts">jsonv-ts</a> validates and produces clean JSON schemas with a Zod-like API (h/t <a href="https://www.reddit.com/r/typescript/comments/1kzy2yy/jsonvts_a_simple_and_lightweight_typescript/">Reddit</a>)</li><li>Library watch: <a href="https://github.com/mikeyhew/tsargparse">tsargparse</a> is a simple type-safe CLI args parser (h/t <a href="https://www.reddit.com/r/typescript/comments/1kz9vn6/tsargparse_a_cli_arg_parser_for_typescript_with_a/">Reddit</a>)</li><li>Discuss: Are Deno, Bun, and Node.js competing? (via <a href="https://bsky.app/profile/jasnell.me/post/3lqgrfelmss2z">James Snell</a>)</li></ul><p><strong>Cool Stuff</strong></p><ul><li>Kamran<ul><li><a href="https://classicreload.com/win3x-the-way-things-work.html">The Way Things Work</a> (1994) on Classic Reload</li><li>David Macauley’s book, <a href="https://www.goodreads.com/book/show/108831.Motel_of_the_Mysteries">Motel of the Mysteries</a> (1979)</li></ul></li><li>Erik<ul><li>Dan Abramov - <a href="https://youtu.be/MaMQLNBZz64?si=Iwttotld7XehlpY5">Progressive JSON</a></li><li><a href="https://jsgrids.statico.io/">Curated List of JS Grids</a> by <a href="https://bsky.app/profile/statico.bsky.social/post/3lq6fk24iuc22">Ian Langworth</a></li><li><a href="https://github.com/aidenybai/bippy">Bippy</a> - Hack into React: </li><li>Wookash: <a href="https://youtu.be/F1ax1iJTHFs?si=xoHDidfMgiwJIbmB">Painting with Math | Inigo Quilez</a> </li><li><a href="https://youtu.be/yyJ-hdISgnw?si=XGV1vmhcW7p-Yfjt">Coding Adventure: Software Rasterizer</a> with Sebastian Lague</li></ul></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/a8f236c7/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>TypeScript Native is Now in Preview | News | Ep 19</title>
      <itunes:episode>19</itunes:episode>
      <podcast:episode>19</podcast:episode>
      <itunes:title>TypeScript Native is Now in Preview | News | Ep 19</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">b9769493-b083-4388-b0f6-4636b2194356</guid>
      <link>https://share.transistor.fm/s/996acd99</link>
      <description>
        <![CDATA[<p>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. </p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal News</li>
<li>(05:12) - News: TypeScript Native is in Preview!</li>
<li>(10:12) - News: Anders' Talk About TS Native at MS Build</li>
<li>(12:58) - News: Zod 4 is Officially Released</li>
<li>(15:51) - News: Reports of Deno's Demise Are Greatly Exaggerated</li>
<li>(17:23) - News: Importing JSON Across Major Browsers</li>
<li>(20:13) - News: Experimental node.config.json Support</li>
<li>(24:43) - Community Highlight: A Brief History of JavaScript by Deno.land</li>
<li>(25:40) - Community Highlight: tsdown Now Supports Transpile-only Unbundle Mode</li>
<li>(27:21) - Community Highlight: Vite's Rolldown Preview is Here</li>
<li>(28:19) - Community Highlight: Go Attend Jake Bailey's Gophercon TS Talk</li>
<li>(28:41) - Community Highlight: super-utils-plus, a Modern Lodash Alternative That's TypeScript-first</li>
<li>(29:17) - Community Highlight: tsc.run, a TypeScript  Serverless Framework</li>
<li>(29:58) - Community Highlight: How to Create a TS Library That Runs Everywhere in 2025</li>
<li>(30:45) - Community Highlight: TypeScript.jobs Board is Looking for Feedback</li>
<li>(31:28) - Cool Stuff: Markdown Presentation Frameworks</li>
<li>(33:21) - Cool Stuff: Wookash Interview with Andreas Kling</li>
<li>(34:31) - Cool Stuff: Computers &amp; Prime Numbers by Purple Mind</li>
<li>(34:51) - Cool Stuff: Playwright Testing Talk from MS Build</li>
<li>(35:15) - Cool Stuff: Reporting on AI's Energy Usage</li>
<li>(35:51) - Cool Stuff: Six Ways to Make Your Electron App Faster</li>
<li>(36:56) - Fun Stuff: My New Favorite Hobby is Watching Microsoft Employees Being Slowly Driven Insane by AI Copilot</li>
</ul><br><strong>Links</strong><ul><li>Microsoft <a href="https://devblogs.microsoft.com/typescript/announcing-typescript-native-previews/">Announces TypeScript Native Previews</a></li><li>Zod 4 is <a href="https://zod.dev/v4">officially released</a> 🎉</li><li>Reports of Denos Demise are <a href="https://bsky.app/profile/deno.land/post/3lply6obuqc2f">greatly exaggerated</a></li><li>You can now import json files across browsers (h/t <a href="https://bsky.app/profile/stefanjudis.com/post/3lp7dkjai7s2o">stefanjudis.com</a>)</li><li>Experimental node.config.json support in Node 24.1.0 minor release (h/t <a href="https://bsky.app/profile/aduh95.bsky.social/post/3lpoxd54qzc2i">aduh95</a>)</li><li>Deno’s<a href="https://deno.com/blog/history-of-javascript"> brief history of JavaScript</a></li><li>Tsdown now has unbundle support (h/t <a href="https://bsky.app/profile/sxzz.dev/post/3lpvo64kh3c2c">sxzz.dev</a>)</li><li>Vite now <a href="https://vite.dev/guide/rolldown#why-vite-is-migrating-to-rolldown">has a Rolldown preview</a> too</li><li>MS Build: Anders <a href="https://youtu.be/UJfF3-13aFo?si=Mrx1eP6HA4w8EqxI">gave a talk on TypeScript native port</a></li><li>Jake Bailey built a tool called <a href="https://github.com/jakebailey/ts-to-go">ts-to-go</a></li><li><a href="https://bsky.app/profile/jakebailey.dev/post/3lpmkukc2ks2g">Jake Bailey will also be speaking</a> about TS Go at Gophercon</li><li><a href="https://github.com/Dhaxor/super-utils-plus">super-utils-plus</a>: modern lodash alternative that's TypeScript-first by Dhaxor (Gain John)</li><li><a href="https://youtu.be/E7Dvkx_Xr2k?si=w0SW1bXkF9t59FK3">How To Create a Simple TypeScript Library That Runs Everywhere (2025)</a> </li><li><a href="https://www.reddit.com/r/typescript/comments/1kulvgl/alpha_release_tscrun_a_typescriptfirst_serverless/">Tsc.run</a> – A TypeScript-first serverless framework (via Reddit)</li><li>Looking for a TS job? The <a href="http://typescript.jobs">TypeScript.jobs</a> board folks are <a href="https://www.reddit.com/r/typescript/comments/1ksmps7/feedback_wanted_what_do_you_think_of/">looking for feedback</a> (via Reddit)</li><li>MIT Technology Review has an <a href="https://www.technologyreview.com/supertopic/ai-energy-package/">absolute banger of a series</a> on AI energy usage</li><li><a href="https://palette.dev/blog/improving-performance-of-electron-apps">Improve Electron app performance</a> by Amila over at palette.dev, the maintainer of electron-react-boilerplate</li><li>Reddit: <a href="https://www.reddit.com/r/ExperiencedDevs/s/2KKZz7v9Wm">My new favorite hobby is watching Microsoft employees being slowly driven insane by AI copilot</a> </li><li><a href="https://mfontanini.github.io/presenterm/">presenterm</a>, a Markdown presentation tool that runs in your terminal</li><li>Via <a href="https://www.linkedin.com/in/raneland/">Daniel Raniz</a>: <a href="https://sli.dev">https://sli.dev</a>, another Markdown presentation tool</li><li>MS Build: <a href="https://youtu.be/zyOJfGtJ3Rw?si=VzDaGZQjUruUaCje">Advanced Playwright Debugging and Test Resilience | DEM499</a> </li><li>MS Build: <a href="https://www.youtube.com/watch?v=gieL0bxyTUU">How Microsoft Developers Use AI in Real-World Coding | BRK103</a> </li><li><a href="https://youtu.be/D2i2NzguWj0?si=wVQNZsGCbCV3OG_F">Can You Build a Web Browser? | Andreas Kling</a> </li><li><a href="https://youtu.be/tBzaMfV94uA?si=ttxbcGP3-c4cMgpy">How Computers Generate Massive Primes In Seconds</a></li><li><a href="https://romannurik.github.io/SlidesCodeHighlighter">Google Slides Code Highlighter</a> (from <a href="https://bsky.app/profile/roman.nurik.net">Roman Nurik</a>)</li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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. </p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal News</li>
<li>(05:12) - News: TypeScript Native is in Preview!</li>
<li>(10:12) - News: Anders' Talk About TS Native at MS Build</li>
<li>(12:58) - News: Zod 4 is Officially Released</li>
<li>(15:51) - News: Reports of Deno's Demise Are Greatly Exaggerated</li>
<li>(17:23) - News: Importing JSON Across Major Browsers</li>
<li>(20:13) - News: Experimental node.config.json Support</li>
<li>(24:43) - Community Highlight: A Brief History of JavaScript by Deno.land</li>
<li>(25:40) - Community Highlight: tsdown Now Supports Transpile-only Unbundle Mode</li>
<li>(27:21) - Community Highlight: Vite's Rolldown Preview is Here</li>
<li>(28:19) - Community Highlight: Go Attend Jake Bailey's Gophercon TS Talk</li>
<li>(28:41) - Community Highlight: super-utils-plus, a Modern Lodash Alternative That's TypeScript-first</li>
<li>(29:17) - Community Highlight: tsc.run, a TypeScript  Serverless Framework</li>
<li>(29:58) - Community Highlight: How to Create a TS Library That Runs Everywhere in 2025</li>
<li>(30:45) - Community Highlight: TypeScript.jobs Board is Looking for Feedback</li>
<li>(31:28) - Cool Stuff: Markdown Presentation Frameworks</li>
<li>(33:21) - Cool Stuff: Wookash Interview with Andreas Kling</li>
<li>(34:31) - Cool Stuff: Computers &amp; Prime Numbers by Purple Mind</li>
<li>(34:51) - Cool Stuff: Playwright Testing Talk from MS Build</li>
<li>(35:15) - Cool Stuff: Reporting on AI's Energy Usage</li>
<li>(35:51) - Cool Stuff: Six Ways to Make Your Electron App Faster</li>
<li>(36:56) - Fun Stuff: My New Favorite Hobby is Watching Microsoft Employees Being Slowly Driven Insane by AI Copilot</li>
</ul><br><strong>Links</strong><ul><li>Microsoft <a href="https://devblogs.microsoft.com/typescript/announcing-typescript-native-previews/">Announces TypeScript Native Previews</a></li><li>Zod 4 is <a href="https://zod.dev/v4">officially released</a> 🎉</li><li>Reports of Denos Demise are <a href="https://bsky.app/profile/deno.land/post/3lply6obuqc2f">greatly exaggerated</a></li><li>You can now import json files across browsers (h/t <a href="https://bsky.app/profile/stefanjudis.com/post/3lp7dkjai7s2o">stefanjudis.com</a>)</li><li>Experimental node.config.json support in Node 24.1.0 minor release (h/t <a href="https://bsky.app/profile/aduh95.bsky.social/post/3lpoxd54qzc2i">aduh95</a>)</li><li>Deno’s<a href="https://deno.com/blog/history-of-javascript"> brief history of JavaScript</a></li><li>Tsdown now has unbundle support (h/t <a href="https://bsky.app/profile/sxzz.dev/post/3lpvo64kh3c2c">sxzz.dev</a>)</li><li>Vite now <a href="https://vite.dev/guide/rolldown#why-vite-is-migrating-to-rolldown">has a Rolldown preview</a> too</li><li>MS Build: Anders <a href="https://youtu.be/UJfF3-13aFo?si=Mrx1eP6HA4w8EqxI">gave a talk on TypeScript native port</a></li><li>Jake Bailey built a tool called <a href="https://github.com/jakebailey/ts-to-go">ts-to-go</a></li><li><a href="https://bsky.app/profile/jakebailey.dev/post/3lpmkukc2ks2g">Jake Bailey will also be speaking</a> about TS Go at Gophercon</li><li><a href="https://github.com/Dhaxor/super-utils-plus">super-utils-plus</a>: modern lodash alternative that's TypeScript-first by Dhaxor (Gain John)</li><li><a href="https://youtu.be/E7Dvkx_Xr2k?si=w0SW1bXkF9t59FK3">How To Create a Simple TypeScript Library That Runs Everywhere (2025)</a> </li><li><a href="https://www.reddit.com/r/typescript/comments/1kulvgl/alpha_release_tscrun_a_typescriptfirst_serverless/">Tsc.run</a> – A TypeScript-first serverless framework (via Reddit)</li><li>Looking for a TS job? The <a href="http://typescript.jobs">TypeScript.jobs</a> board folks are <a href="https://www.reddit.com/r/typescript/comments/1ksmps7/feedback_wanted_what_do_you_think_of/">looking for feedback</a> (via Reddit)</li><li>MIT Technology Review has an <a href="https://www.technologyreview.com/supertopic/ai-energy-package/">absolute banger of a series</a> on AI energy usage</li><li><a href="https://palette.dev/blog/improving-performance-of-electron-apps">Improve Electron app performance</a> by Amila over at palette.dev, the maintainer of electron-react-boilerplate</li><li>Reddit: <a href="https://www.reddit.com/r/ExperiencedDevs/s/2KKZz7v9Wm">My new favorite hobby is watching Microsoft employees being slowly driven insane by AI copilot</a> </li><li><a href="https://mfontanini.github.io/presenterm/">presenterm</a>, a Markdown presentation tool that runs in your terminal</li><li>Via <a href="https://www.linkedin.com/in/raneland/">Daniel Raniz</a>: <a href="https://sli.dev">https://sli.dev</a>, another Markdown presentation tool</li><li>MS Build: <a href="https://youtu.be/zyOJfGtJ3Rw?si=VzDaGZQjUruUaCje">Advanced Playwright Debugging and Test Resilience | DEM499</a> </li><li>MS Build: <a href="https://www.youtube.com/watch?v=gieL0bxyTUU">How Microsoft Developers Use AI in Real-World Coding | BRK103</a> </li><li><a href="https://youtu.be/D2i2NzguWj0?si=wVQNZsGCbCV3OG_F">Can You Build a Web Browser? | Andreas Kling</a> </li><li><a href="https://youtu.be/tBzaMfV94uA?si=ttxbcGP3-c4cMgpy">How Computers Generate Massive Primes In Seconds</a></li><li><a href="https://romannurik.github.io/SlidesCodeHighlighter">Google Slides Code Highlighter</a> (from <a href="https://bsky.app/profile/roman.nurik.net">Roman Nurik</a>)</li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </content:encoded>
      <pubDate>Tue, 27 May 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/996acd99/a97fbfe6.mp3" length="18958005" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2365</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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. </p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction and Personal News</li>
<li>(05:12) - News: TypeScript Native is in Preview!</li>
<li>(10:12) - News: Anders' Talk About TS Native at MS Build</li>
<li>(12:58) - News: Zod 4 is Officially Released</li>
<li>(15:51) - News: Reports of Deno's Demise Are Greatly Exaggerated</li>
<li>(17:23) - News: Importing JSON Across Major Browsers</li>
<li>(20:13) - News: Experimental node.config.json Support</li>
<li>(24:43) - Community Highlight: A Brief History of JavaScript by Deno.land</li>
<li>(25:40) - Community Highlight: tsdown Now Supports Transpile-only Unbundle Mode</li>
<li>(27:21) - Community Highlight: Vite's Rolldown Preview is Here</li>
<li>(28:19) - Community Highlight: Go Attend Jake Bailey's Gophercon TS Talk</li>
<li>(28:41) - Community Highlight: super-utils-plus, a Modern Lodash Alternative That's TypeScript-first</li>
<li>(29:17) - Community Highlight: tsc.run, a TypeScript  Serverless Framework</li>
<li>(29:58) - Community Highlight: How to Create a TS Library That Runs Everywhere in 2025</li>
<li>(30:45) - Community Highlight: TypeScript.jobs Board is Looking for Feedback</li>
<li>(31:28) - Cool Stuff: Markdown Presentation Frameworks</li>
<li>(33:21) - Cool Stuff: Wookash Interview with Andreas Kling</li>
<li>(34:31) - Cool Stuff: Computers &amp; Prime Numbers by Purple Mind</li>
<li>(34:51) - Cool Stuff: Playwright Testing Talk from MS Build</li>
<li>(35:15) - Cool Stuff: Reporting on AI's Energy Usage</li>
<li>(35:51) - Cool Stuff: Six Ways to Make Your Electron App Faster</li>
<li>(36:56) - Fun Stuff: My New Favorite Hobby is Watching Microsoft Employees Being Slowly Driven Insane by AI Copilot</li>
</ul><br><strong>Links</strong><ul><li>Microsoft <a href="https://devblogs.microsoft.com/typescript/announcing-typescript-native-previews/">Announces TypeScript Native Previews</a></li><li>Zod 4 is <a href="https://zod.dev/v4">officially released</a> 🎉</li><li>Reports of Denos Demise are <a href="https://bsky.app/profile/deno.land/post/3lply6obuqc2f">greatly exaggerated</a></li><li>You can now import json files across browsers (h/t <a href="https://bsky.app/profile/stefanjudis.com/post/3lp7dkjai7s2o">stefanjudis.com</a>)</li><li>Experimental node.config.json support in Node 24.1.0 minor release (h/t <a href="https://bsky.app/profile/aduh95.bsky.social/post/3lpoxd54qzc2i">aduh95</a>)</li><li>Deno’s<a href="https://deno.com/blog/history-of-javascript"> brief history of JavaScript</a></li><li>Tsdown now has unbundle support (h/t <a href="https://bsky.app/profile/sxzz.dev/post/3lpvo64kh3c2c">sxzz.dev</a>)</li><li>Vite now <a href="https://vite.dev/guide/rolldown#why-vite-is-migrating-to-rolldown">has a Rolldown preview</a> too</li><li>MS Build: Anders <a href="https://youtu.be/UJfF3-13aFo?si=Mrx1eP6HA4w8EqxI">gave a talk on TypeScript native port</a></li><li>Jake Bailey built a tool called <a href="https://github.com/jakebailey/ts-to-go">ts-to-go</a></li><li><a href="https://bsky.app/profile/jakebailey.dev/post/3lpmkukc2ks2g">Jake Bailey will also be speaking</a> about TS Go at Gophercon</li><li><a href="https://github.com/Dhaxor/super-utils-plus">super-utils-plus</a>: modern lodash alternative that's TypeScript-first by Dhaxor (Gain John)</li><li><a href="https://youtu.be/E7Dvkx_Xr2k?si=w0SW1bXkF9t59FK3">How To Create a Simple TypeScript Library That Runs Everywhere (2025)</a> </li><li><a href="https://www.reddit.com/r/typescript/comments/1kulvgl/alpha_release_tscrun_a_typescriptfirst_serverless/">Tsc.run</a> – A TypeScript-first serverless framework (via Reddit)</li><li>Looking for a TS job? The <a href="http://typescript.jobs">TypeScript.jobs</a> board folks are <a href="https://www.reddit.com/r/typescript/comments/1ksmps7/feedback_wanted_what_do_you_think_of/">looking for feedback</a> (via Reddit)</li><li>MIT Technology Review has an <a href="https://www.technologyreview.com/supertopic/ai-energy-package/">absolute banger of a series</a> on AI energy usage</li><li><a href="https://palette.dev/blog/improving-performance-of-electron-apps">Improve Electron app performance</a> by Amila over at palette.dev, the maintainer of electron-react-boilerplate</li><li>Reddit: <a href="https://www.reddit.com/r/ExperiencedDevs/s/2KKZz7v9Wm">My new favorite hobby is watching Microsoft employees being slowly driven insane by AI copilot</a> </li><li><a href="https://mfontanini.github.io/presenterm/">presenterm</a>, a Markdown presentation tool that runs in your terminal</li><li>Via <a href="https://www.linkedin.com/in/raneland/">Daniel Raniz</a>: <a href="https://sli.dev">https://sli.dev</a>, another Markdown presentation tool</li><li>MS Build: <a href="https://youtu.be/zyOJfGtJ3Rw?si=VzDaGZQjUruUaCje">Advanced Playwright Debugging and Test Resilience | DEM499</a> </li><li>MS Build: <a href="https://www.youtube.com/watch?v=gieL0bxyTUU">How Microsoft Developers Use AI in Real-World Coding | BRK103</a> </li><li><a href="https://youtu.be/D2i2NzguWj0?si=wVQNZsGCbCV3OG_F">Can You Build a Web Browser? | Andreas Kling</a> </li><li><a href="https://youtu.be/tBzaMfV94uA?si=ttxbcGP3-c4cMgpy">How Computers Generate Massive Primes In Seconds</a></li><li><a href="https://romannurik.github.io/SlidesCodeHighlighter">Google Slides Code Highlighter</a> (from <a href="https://bsky.app/profile/roman.nurik.net">Roman Nurik</a>)</li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/996acd99/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Microsoft Layoffs Impact TypeScript Team | News | Ep 18</title>
      <itunes:episode>18</itunes:episode>
      <podcast:episode>18</podcast:episode>
      <itunes:title>Microsoft Layoffs Impact TypeScript Team | News | Ep 18</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">49920df1-59a4-40db-bbb8-61cfa64083cb</guid>
      <link>https://share.transistor.fm/s/4dfb8044</link>
      <description>
        <![CDATA[<p>News for the week of May 12, 2025: Microsoft layoffs impact TypeScript team, and Deno explains the radio silence on Fresh 2.0.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Personal News</li>
<li>(06:25) - Correction: Node 24's Security Model</li>
<li>(07:22) - News: Microsoft Lay-offs Impacting TypeScript Team</li>
<li>(11:32) - News: Deno Posts an Update on Fresh 2.0</li>
<li>(13:27) - News: TSGo Gets LSP Concurrency</li>
<li>(16:19) - Community Highlights: String Split Typing Quirks by kramer.run</li>
<li>(18:21) - Community Highlights: Shawn Wildermuth on "Just Enough TypeScript"</li>
<li>(18:57) - Community Highlights: Reminder for Migrating TS Import Paths in Node 24</li>
<li>(20:24) - Community Highlights: Reddit on What Was the Hardest Thing to Learn About TS?</li>
<li>(23:43) - Community Highlights: Increasing Memory Limit for eslint and TS Server</li>
<li>(24:02) - Community Highlights: Type Assertions: Trust Me Bro by chrisk-7777</li>
<li>(24:36) - Community Highlights: TypedRocks on the Secret 'this' Parameter</li>
<li>(26:58) - Cool Stuff: Typing your dotenv variables</li>
<li>(27:41) - Cool Stuff: Escape the City</li>
<li>(28:54) - Cool Stuff: Pirate Sea Shanties Meet Pop Rock</li>
<li>(30:07) - Cool Stuff: Open 5e for D&amp;D Nerds</li>
<li>(31:17) - Cool Stuff: Run JavaScript in Godot</li>
</ul><br><strong>Links</strong><ul><li>News: <a href="https://www.reuters.com/business/world-at-work/microsoft-lay-off-3-workforce-cnbc-reports-2025-05-13/">Microsoft Layoffs</a></li><li>News: <a href="https://deno.com/blog/an-update-on-fresh">Deno Fresh – An Update on 2.0</a> (h/t <a href="https://bsky.app/profile/deno.land/post/3lp7stjikrc2u">deno.land</a>)</li><li>Let <a href="https://bsky.app/profile/chronicles.org/post/3lp35xdbqj22s">Ron Buckton</a> know how much you appreciate his work</li><li>Bluesky: String split quirk (h/t <a href="https://bsky.app/profile/kramer.run/post/3lpctskfnag2x">kramer.run</a>)</li><li>Video: Oldie but a goodie (2023), “just enough TS" by <a href="https://bsky.app/profile/wildermuth.com/post/3lpcq7amkvr24">Shawn Wildermuth</a></li><li>Tip: Don't forget about TS import migration for Node 24 (h/t <a href="https://bsky.app/profile/jakob.jingleheimer.dev/post/3lpcp4rkkwc26">jakob.jingleheimer.dev</a>)</li><li>Reddit Discussion: <a href="https://www.reddit.com/r/typescript/comments/1kl9p87/what_was_the_hardest_part_of_learning_typescript/">what was the hardest part of learning TypeScript?</a></li><li>Reddit tip: <a href="https://www.reddit.com/r/typescript/comments/1kkykyg/protip_if_you_constantly_need_to_restart/">increasing memory limit for eslint and TS server</a></li><li>Blog: <a href="https://www.totaltypescript.com/tsconfig-cheat-sheet">The TSConfig Cheat Sheet</a> (<a href="https://bsky.app/profile/mattpocock.com">Matt Pocock</a>)</li><li>Blog: A Guide to tsconfig.json (<a href="https://2ality.com/2025/01/tsconfig-json.html">Dr. Axel / 2ality</a>)</li><li>Blog: <a href="https://chrisk-7777.com/blog/typescript-as-foo">Type Assertions and the as keyword</a> (chrisk-7777)</li><li>Video: <a href="https://youtu.be/wueQKy86aSY?si=_lZ9jDuB6VtQBnO6">The Secret THIS Parameter: TypeScript’s overlooked Superpower Explained!</a> (Typed Rocks)</li><li>Video: <a href="https://youtu.be/lraHlXpuhKs?si=AA_RgscIf4kAyUsb">6 TypeScript tips to turn you into a WIZARD</a> (<a href="https://bsky.app/profile/mattpocock.com">Matt Pocock</a>)</li><li>Tip: strongly type process.env so you can enforce your dotenv files (h/t <a href="https://bsky.app/profile/aaronmcadam.com/post/3lph2mlyqzs2z">aaronmcadam.com</a>)</li><li>Cool stuff: Escape the City outdoor game</li><li>Cool stuff: <a href="https://open.spotify.com/artist/0Gtv3Wi6jj0lW1Po5QbIGS">Sail North</a> – pirate sea shanties meets pop/rock</li><li>Cool stuff: <a href="https://open5e.com/">Open5e</a> for D&amp;D nerds</li><li>Cool stuff: <a href="https://github.com/godotjs/GodotJS">Add TypeScript/JavaScript Support for Godot 4</a> </li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>News for the week of May 12, 2025: Microsoft layoffs impact TypeScript team, and Deno explains the radio silence on Fresh 2.0.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Personal News</li>
<li>(06:25) - Correction: Node 24's Security Model</li>
<li>(07:22) - News: Microsoft Lay-offs Impacting TypeScript Team</li>
<li>(11:32) - News: Deno Posts an Update on Fresh 2.0</li>
<li>(13:27) - News: TSGo Gets LSP Concurrency</li>
<li>(16:19) - Community Highlights: String Split Typing Quirks by kramer.run</li>
<li>(18:21) - Community Highlights: Shawn Wildermuth on "Just Enough TypeScript"</li>
<li>(18:57) - Community Highlights: Reminder for Migrating TS Import Paths in Node 24</li>
<li>(20:24) - Community Highlights: Reddit on What Was the Hardest Thing to Learn About TS?</li>
<li>(23:43) - Community Highlights: Increasing Memory Limit for eslint and TS Server</li>
<li>(24:02) - Community Highlights: Type Assertions: Trust Me Bro by chrisk-7777</li>
<li>(24:36) - Community Highlights: TypedRocks on the Secret 'this' Parameter</li>
<li>(26:58) - Cool Stuff: Typing your dotenv variables</li>
<li>(27:41) - Cool Stuff: Escape the City</li>
<li>(28:54) - Cool Stuff: Pirate Sea Shanties Meet Pop Rock</li>
<li>(30:07) - Cool Stuff: Open 5e for D&amp;D Nerds</li>
<li>(31:17) - Cool Stuff: Run JavaScript in Godot</li>
</ul><br><strong>Links</strong><ul><li>News: <a href="https://www.reuters.com/business/world-at-work/microsoft-lay-off-3-workforce-cnbc-reports-2025-05-13/">Microsoft Layoffs</a></li><li>News: <a href="https://deno.com/blog/an-update-on-fresh">Deno Fresh – An Update on 2.0</a> (h/t <a href="https://bsky.app/profile/deno.land/post/3lp7stjikrc2u">deno.land</a>)</li><li>Let <a href="https://bsky.app/profile/chronicles.org/post/3lp35xdbqj22s">Ron Buckton</a> know how much you appreciate his work</li><li>Bluesky: String split quirk (h/t <a href="https://bsky.app/profile/kramer.run/post/3lpctskfnag2x">kramer.run</a>)</li><li>Video: Oldie but a goodie (2023), “just enough TS" by <a href="https://bsky.app/profile/wildermuth.com/post/3lpcq7amkvr24">Shawn Wildermuth</a></li><li>Tip: Don't forget about TS import migration for Node 24 (h/t <a href="https://bsky.app/profile/jakob.jingleheimer.dev/post/3lpcp4rkkwc26">jakob.jingleheimer.dev</a>)</li><li>Reddit Discussion: <a href="https://www.reddit.com/r/typescript/comments/1kl9p87/what_was_the_hardest_part_of_learning_typescript/">what was the hardest part of learning TypeScript?</a></li><li>Reddit tip: <a href="https://www.reddit.com/r/typescript/comments/1kkykyg/protip_if_you_constantly_need_to_restart/">increasing memory limit for eslint and TS server</a></li><li>Blog: <a href="https://www.totaltypescript.com/tsconfig-cheat-sheet">The TSConfig Cheat Sheet</a> (<a href="https://bsky.app/profile/mattpocock.com">Matt Pocock</a>)</li><li>Blog: A Guide to tsconfig.json (<a href="https://2ality.com/2025/01/tsconfig-json.html">Dr. Axel / 2ality</a>)</li><li>Blog: <a href="https://chrisk-7777.com/blog/typescript-as-foo">Type Assertions and the as keyword</a> (chrisk-7777)</li><li>Video: <a href="https://youtu.be/wueQKy86aSY?si=_lZ9jDuB6VtQBnO6">The Secret THIS Parameter: TypeScript’s overlooked Superpower Explained!</a> (Typed Rocks)</li><li>Video: <a href="https://youtu.be/lraHlXpuhKs?si=AA_RgscIf4kAyUsb">6 TypeScript tips to turn you into a WIZARD</a> (<a href="https://bsky.app/profile/mattpocock.com">Matt Pocock</a>)</li><li>Tip: strongly type process.env so you can enforce your dotenv files (h/t <a href="https://bsky.app/profile/aaronmcadam.com/post/3lph2mlyqzs2z">aaronmcadam.com</a>)</li><li>Cool stuff: Escape the City outdoor game</li><li>Cool stuff: <a href="https://open.spotify.com/artist/0Gtv3Wi6jj0lW1Po5QbIGS">Sail North</a> – pirate sea shanties meets pop/rock</li><li>Cool stuff: <a href="https://open5e.com/">Open5e</a> for D&amp;D nerds</li><li>Cool stuff: <a href="https://github.com/godotjs/GodotJS">Add TypeScript/JavaScript Support for Godot 4</a> </li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </content:encoded>
      <pubDate>Tue, 20 May 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/4dfb8044/717c5fb0.mp3" length="30084471" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2003</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>News for the week of May 12, 2025: Microsoft layoffs impact TypeScript team, and Deno explains the radio silence on Fresh 2.0.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Personal News</li>
<li>(06:25) - Correction: Node 24's Security Model</li>
<li>(07:22) - News: Microsoft Lay-offs Impacting TypeScript Team</li>
<li>(11:32) - News: Deno Posts an Update on Fresh 2.0</li>
<li>(13:27) - News: TSGo Gets LSP Concurrency</li>
<li>(16:19) - Community Highlights: String Split Typing Quirks by kramer.run</li>
<li>(18:21) - Community Highlights: Shawn Wildermuth on "Just Enough TypeScript"</li>
<li>(18:57) - Community Highlights: Reminder for Migrating TS Import Paths in Node 24</li>
<li>(20:24) - Community Highlights: Reddit on What Was the Hardest Thing to Learn About TS?</li>
<li>(23:43) - Community Highlights: Increasing Memory Limit for eslint and TS Server</li>
<li>(24:02) - Community Highlights: Type Assertions: Trust Me Bro by chrisk-7777</li>
<li>(24:36) - Community Highlights: TypedRocks on the Secret 'this' Parameter</li>
<li>(26:58) - Cool Stuff: Typing your dotenv variables</li>
<li>(27:41) - Cool Stuff: Escape the City</li>
<li>(28:54) - Cool Stuff: Pirate Sea Shanties Meet Pop Rock</li>
<li>(30:07) - Cool Stuff: Open 5e for D&amp;D Nerds</li>
<li>(31:17) - Cool Stuff: Run JavaScript in Godot</li>
</ul><br><strong>Links</strong><ul><li>News: <a href="https://www.reuters.com/business/world-at-work/microsoft-lay-off-3-workforce-cnbc-reports-2025-05-13/">Microsoft Layoffs</a></li><li>News: <a href="https://deno.com/blog/an-update-on-fresh">Deno Fresh – An Update on 2.0</a> (h/t <a href="https://bsky.app/profile/deno.land/post/3lp7stjikrc2u">deno.land</a>)</li><li>Let <a href="https://bsky.app/profile/chronicles.org/post/3lp35xdbqj22s">Ron Buckton</a> know how much you appreciate his work</li><li>Bluesky: String split quirk (h/t <a href="https://bsky.app/profile/kramer.run/post/3lpctskfnag2x">kramer.run</a>)</li><li>Video: Oldie but a goodie (2023), “just enough TS" by <a href="https://bsky.app/profile/wildermuth.com/post/3lpcq7amkvr24">Shawn Wildermuth</a></li><li>Tip: Don't forget about TS import migration for Node 24 (h/t <a href="https://bsky.app/profile/jakob.jingleheimer.dev/post/3lpcp4rkkwc26">jakob.jingleheimer.dev</a>)</li><li>Reddit Discussion: <a href="https://www.reddit.com/r/typescript/comments/1kl9p87/what_was_the_hardest_part_of_learning_typescript/">what was the hardest part of learning TypeScript?</a></li><li>Reddit tip: <a href="https://www.reddit.com/r/typescript/comments/1kkykyg/protip_if_you_constantly_need_to_restart/">increasing memory limit for eslint and TS server</a></li><li>Blog: <a href="https://www.totaltypescript.com/tsconfig-cheat-sheet">The TSConfig Cheat Sheet</a> (<a href="https://bsky.app/profile/mattpocock.com">Matt Pocock</a>)</li><li>Blog: A Guide to tsconfig.json (<a href="https://2ality.com/2025/01/tsconfig-json.html">Dr. Axel / 2ality</a>)</li><li>Blog: <a href="https://chrisk-7777.com/blog/typescript-as-foo">Type Assertions and the as keyword</a> (chrisk-7777)</li><li>Video: <a href="https://youtu.be/wueQKy86aSY?si=_lZ9jDuB6VtQBnO6">The Secret THIS Parameter: TypeScript’s overlooked Superpower Explained!</a> (Typed Rocks)</li><li>Video: <a href="https://youtu.be/lraHlXpuhKs?si=AA_RgscIf4kAyUsb">6 TypeScript tips to turn you into a WIZARD</a> (<a href="https://bsky.app/profile/mattpocock.com">Matt Pocock</a>)</li><li>Tip: strongly type process.env so you can enforce your dotenv files (h/t <a href="https://bsky.app/profile/aaronmcadam.com/post/3lph2mlyqzs2z">aaronmcadam.com</a>)</li><li>Cool stuff: Escape the City outdoor game</li><li>Cool stuff: <a href="https://open.spotify.com/artist/0Gtv3Wi6jj0lW1Po5QbIGS">Sail North</a> – pirate sea shanties meets pop/rock</li><li>Cool stuff: <a href="https://open5e.com/">Open5e</a> for D&amp;D nerds</li><li>Cool stuff: <a href="https://github.com/godotjs/GodotJS">Add TypeScript/JavaScript Support for Godot 4</a> </li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/4dfb8044/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>What's New in Node 24 | Deep Dive | Ep 17B</title>
      <itunes:episode>17</itunes:episode>
      <podcast:episode>17</podcast:episode>
      <itunes:title>What's New in Node 24 | Deep Dive | Ep 17B</itunes:title>
      <itunes:episodeType>bonus</itunes:episodeType>
      <guid isPermaLink="false">93a2b7cd-ca4d-4549-8404-cc99bd32c6ef</guid>
      <link>https://share.transistor.fm/s/b20b6d9d</link>
      <description>
        <![CDATA[<p>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!</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction to Node 24 and TypeScript Support</li>
<li>(02:49) - Type Stripping and Experimental Transform Types</li>
<li>(05:53) - Stable Permission Flag Security Model</li>
<li>(09:38) - V8 13.6 Brings New Language Features</li>
<li>(10:04) - API: CPU Hinting Micro-waits with Atomics.pause</li>
<li>(12:35) - API: Reduce Memory Using Float16Array</li>
<li>(14:56) - API: Format Time Durations with Intl.DurationFormat</li>
<li>(16:33) - API: Explicit Resource Management with using</li>
<li>(17:07) - API: What's Really an Error with Error.isError</li>
<li>(18:48) - API: Parse Routes with URLPattern API</li>
<li>(20:51) - API: Sanitize Input with RegExp.escape</li>
<li>(21:39) - API: RegExp Modifiers in Sub-expressions</li>
<li>(23:05) - API: RegExp Duplicate Named Capture Groups</li>
<li>(24:07) - PSA: Node 24 Typings Are Still a WIP</li>
<li>(25:14) - Deprecations and Removals</li>
<li>(29:17) - npm 11: Changes to Lifecycle Scripts</li>
<li>(30:41) - Undici 7 Brings HTTP Performance Enhancements</li>
<li>(31:11) - Test Runner Now Waits for Sub-tests</li>
<li>(31:45) - next-10 and the Future of Node.js</li>
</ul><br><strong>Links</strong><ul><li>Repo: <a href="https://github.com/typescript-fm/shows/tree/main/ep-017-node-24">Node 24 Examples</a> in TypeScript (by Kamran)</li><li><a href="https://nodejs.org/en/blog/release/v24.0.0">Node 24 Release Blog</a></li><li><a href="https://github.com/DefinitelyTyped/DefinitelyTyped/pull/72589">Node 24 typings PR</a></li><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-8/">TypeScript 5.8 Release Notes</a></li><li>Docs: <a href="https://nodejs.org/api/typescript.html#typescript-features">Typescript support</a></li><li>Docs: <a href="https://nodejs.org/api/permissions.html">Permissions</a></li><li><a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lol72hidvk2h">Rob Palmer's quick Bluesky thread on Node 24</a></li><li><a href="https://pavel-romanov.com/multithreading-in-nodejs-using-atomics-for-safe-shared-memory-operations">Multithreading in Node.js: Using Atomics for Safe Shared Memory Operations</a> (<a href="https://bsky.app/profile/pavl-ro.bsky.social">Pavel Romanov</a>)</li><li><a href="https://satanacchio.hashnode.dev/everything-you-need-to-know-about-nodejs-type-stripping">Everything You Need to Know About Node.js Type Stripping</a> (<a href="https://bsky.app/profile/marcoippolito.dev">Marco Ippolito</a>)</li><li><a href="https://github.com/tc39/proposal-regexp-modifiers">tc39/proposal-regexp-modifiers</a></li><li><a href="https://github.com/tc39/proposal-duplicate-named-capturing-groups">tc39/proposal-duplicate-named-capturing-groups</a> </li><li><a href="https://github.com/nodejs/node/blob/main/doc/contributing/technical-priorities.md">next-10 technical priorities</a></li><li><a href="https://github.com/nodejs/node/blob/main/doc/contributing/security-model-strategy.md">next-10 security model</a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul><p><br></p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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!</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction to Node 24 and TypeScript Support</li>
<li>(02:49) - Type Stripping and Experimental Transform Types</li>
<li>(05:53) - Stable Permission Flag Security Model</li>
<li>(09:38) - V8 13.6 Brings New Language Features</li>
<li>(10:04) - API: CPU Hinting Micro-waits with Atomics.pause</li>
<li>(12:35) - API: Reduce Memory Using Float16Array</li>
<li>(14:56) - API: Format Time Durations with Intl.DurationFormat</li>
<li>(16:33) - API: Explicit Resource Management with using</li>
<li>(17:07) - API: What's Really an Error with Error.isError</li>
<li>(18:48) - API: Parse Routes with URLPattern API</li>
<li>(20:51) - API: Sanitize Input with RegExp.escape</li>
<li>(21:39) - API: RegExp Modifiers in Sub-expressions</li>
<li>(23:05) - API: RegExp Duplicate Named Capture Groups</li>
<li>(24:07) - PSA: Node 24 Typings Are Still a WIP</li>
<li>(25:14) - Deprecations and Removals</li>
<li>(29:17) - npm 11: Changes to Lifecycle Scripts</li>
<li>(30:41) - Undici 7 Brings HTTP Performance Enhancements</li>
<li>(31:11) - Test Runner Now Waits for Sub-tests</li>
<li>(31:45) - next-10 and the Future of Node.js</li>
</ul><br><strong>Links</strong><ul><li>Repo: <a href="https://github.com/typescript-fm/shows/tree/main/ep-017-node-24">Node 24 Examples</a> in TypeScript (by Kamran)</li><li><a href="https://nodejs.org/en/blog/release/v24.0.0">Node 24 Release Blog</a></li><li><a href="https://github.com/DefinitelyTyped/DefinitelyTyped/pull/72589">Node 24 typings PR</a></li><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-8/">TypeScript 5.8 Release Notes</a></li><li>Docs: <a href="https://nodejs.org/api/typescript.html#typescript-features">Typescript support</a></li><li>Docs: <a href="https://nodejs.org/api/permissions.html">Permissions</a></li><li><a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lol72hidvk2h">Rob Palmer's quick Bluesky thread on Node 24</a></li><li><a href="https://pavel-romanov.com/multithreading-in-nodejs-using-atomics-for-safe-shared-memory-operations">Multithreading in Node.js: Using Atomics for Safe Shared Memory Operations</a> (<a href="https://bsky.app/profile/pavl-ro.bsky.social">Pavel Romanov</a>)</li><li><a href="https://satanacchio.hashnode.dev/everything-you-need-to-know-about-nodejs-type-stripping">Everything You Need to Know About Node.js Type Stripping</a> (<a href="https://bsky.app/profile/marcoippolito.dev">Marco Ippolito</a>)</li><li><a href="https://github.com/tc39/proposal-regexp-modifiers">tc39/proposal-regexp-modifiers</a></li><li><a href="https://github.com/tc39/proposal-duplicate-named-capturing-groups">tc39/proposal-duplicate-named-capturing-groups</a> </li><li><a href="https://github.com/nodejs/node/blob/main/doc/contributing/technical-priorities.md">next-10 technical priorities</a></li><li><a href="https://github.com/nodejs/node/blob/main/doc/contributing/security-model-strategy.md">next-10 security model</a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul><p><br></p>]]>
      </content:encoded>
      <pubDate>Thu, 15 May 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/b20b6d9d/4b8fa17a.mp3" length="18117016" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2260</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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!</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction to Node 24 and TypeScript Support</li>
<li>(02:49) - Type Stripping and Experimental Transform Types</li>
<li>(05:53) - Stable Permission Flag Security Model</li>
<li>(09:38) - V8 13.6 Brings New Language Features</li>
<li>(10:04) - API: CPU Hinting Micro-waits with Atomics.pause</li>
<li>(12:35) - API: Reduce Memory Using Float16Array</li>
<li>(14:56) - API: Format Time Durations with Intl.DurationFormat</li>
<li>(16:33) - API: Explicit Resource Management with using</li>
<li>(17:07) - API: What's Really an Error with Error.isError</li>
<li>(18:48) - API: Parse Routes with URLPattern API</li>
<li>(20:51) - API: Sanitize Input with RegExp.escape</li>
<li>(21:39) - API: RegExp Modifiers in Sub-expressions</li>
<li>(23:05) - API: RegExp Duplicate Named Capture Groups</li>
<li>(24:07) - PSA: Node 24 Typings Are Still a WIP</li>
<li>(25:14) - Deprecations and Removals</li>
<li>(29:17) - npm 11: Changes to Lifecycle Scripts</li>
<li>(30:41) - Undici 7 Brings HTTP Performance Enhancements</li>
<li>(31:11) - Test Runner Now Waits for Sub-tests</li>
<li>(31:45) - next-10 and the Future of Node.js</li>
</ul><br><strong>Links</strong><ul><li>Repo: <a href="https://github.com/typescript-fm/shows/tree/main/ep-017-node-24">Node 24 Examples</a> in TypeScript (by Kamran)</li><li><a href="https://nodejs.org/en/blog/release/v24.0.0">Node 24 Release Blog</a></li><li><a href="https://github.com/DefinitelyTyped/DefinitelyTyped/pull/72589">Node 24 typings PR</a></li><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-8/">TypeScript 5.8 Release Notes</a></li><li>Docs: <a href="https://nodejs.org/api/typescript.html#typescript-features">Typescript support</a></li><li>Docs: <a href="https://nodejs.org/api/permissions.html">Permissions</a></li><li><a href="https://bsky.app/profile/robpalmer.bsky.social/post/3lol72hidvk2h">Rob Palmer's quick Bluesky thread on Node 24</a></li><li><a href="https://pavel-romanov.com/multithreading-in-nodejs-using-atomics-for-safe-shared-memory-operations">Multithreading in Node.js: Using Atomics for Safe Shared Memory Operations</a> (<a href="https://bsky.app/profile/pavl-ro.bsky.social">Pavel Romanov</a>)</li><li><a href="https://satanacchio.hashnode.dev/everything-you-need-to-know-about-nodejs-type-stripping">Everything You Need to Know About Node.js Type Stripping</a> (<a href="https://bsky.app/profile/marcoippolito.dev">Marco Ippolito</a>)</li><li><a href="https://github.com/tc39/proposal-regexp-modifiers">tc39/proposal-regexp-modifiers</a></li><li><a href="https://github.com/tc39/proposal-duplicate-named-capturing-groups">tc39/proposal-duplicate-named-capturing-groups</a> </li><li><a href="https://github.com/nodejs/node/blob/main/doc/contributing/technical-priorities.md">next-10 technical priorities</a></li><li><a href="https://github.com/nodejs/node/blob/main/doc/contributing/security-model-strategy.md">next-10 security model</a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul><p><br></p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/b20b6d9d/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Node 24 Officially Brings TS Support to the Masses | News | Ep 17</title>
      <itunes:episode>17</itunes:episode>
      <podcast:episode>17</podcast:episode>
      <itunes:title>Node 24 Officially Brings TS Support to the Masses | News | Ep 17</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">ac77e38c-7bbd-4d74-a2ef-b3a3df1af5b8</guid>
      <link>https://share.transistor.fm/s/14fbaf5b</link>
      <description>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction</li>
<li>(04:07) - News: Node 24 Release Highlights</li>
<li>(08:09) - News: What's New in TSGo?</li>
<li>(09:05) - News: TC39 Records and Tuples Proposal Has Been Withdrawn</li>
<li>(11:45) - News: Parcel Bundler Introduces Support for RSC</li>
<li>(13:15) - Community Highlight: Why Was Node 24 Delayed?</li>
<li>(15:52) - Community Highlight: Type-safe Theming in Tailwind CSS</li>
<li>(16:52) - Community Highlight: TypeScript Gotchas via Reddit</li>
<li>(20:48) - Community Highlight: Trick for Error Handling in TypeScript</li>
<li>(22:46) - Cool Stuff: V8 Compile Hints</li>
<li>(25:40) - Cool Stuff: Bare, a Minimal JavaScript Runtime</li>
<li>(26:16) - Cool Stuff: AwesomeDev's Node 24 Rundown</li>
<li>(26:27) - Cool Stuff: Build System in C for C</li>
<li>(27:01) - Cool Stuff: Typecraft's Vim Challenges</li>
</ul><br><strong>Links</strong><ul><li>Event: <a href="https://discord.gg/Z8sY3kSU?event=1361804367547732208">IGDATC Game.wav</a></li><li>Article: <a href="https://www.redhat.com/en/blog/introduction-nodejs-24-from-red-hat">An introduction to Node.js 24 from Red Hat</a></li><li>Video: <a href="https://www.youtube.com/watch?v=IYdSzihYwkU">Awesome on Node.js 24</a></li><li>Repo: <a href="https://github.com/tc39/proposal-record-tuple">Records and Tuples Proposal</a> replaced with <a href="https://github.com/tc39/proposal-composites">tc39/proposal-composites</a></li><li>Video: <a href="https://www.youtube.com/watch?v=hFenspfGLTk&amp;pp=0gcJCYsJAYcqIYzv">Arrays, objects... now ‘composites’?</a> </li><li>Docs: <a href="https://parceljs.org/blog/v2-14-0/">Parcel 2.14</a> introduces React Server Components </li><li>Bluesky: <a href="https://bsky.app/profile/joyeecheung.bsky.social/post/3lo7gdvvbo22a">Interesting thread</a> on why Node 24 was delayed</li><li>Article: <a href="https://dev.to/abtahitajwar/type-safe-theming-in-tailwind-css-using-css-variables-and-typescript-1e6j">Type-Safe Theming in Tailwind CSS Using CSS Variables and TypeScript</a></li><li>Redditors <a href="https://www.reddit.com/r/typescript/comments/1kikhsa/typescript_gotchas/">share TypeScript Gotchas</a></li><li>Article: <a href="https://v8.dev/blog/explicit-compile-hints">Giving V8 a Heads-Up: Faster JavaScript Startup with Explicit Compile Hints</a></li><li>Video: Jason Yu shares <a href="https://bsky.app/profile/ycmjason.codes/post/3loz3cbwzrc2a">his way of doing try..catch in TS</a></li><li>Video: <a href="https://www.youtube.com/watch?v=4r7860IR7-o&amp;pp=ygUXQnVpbGQgU3lzdGVtIGluIEMgZm9yIEM%3D">Build System For C in C</a> </li><li>Learn: Typecraft's <a href="https://typecraft.dev/vim/challenges">Vim Challenges</a> </li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction</li>
<li>(04:07) - News: Node 24 Release Highlights</li>
<li>(08:09) - News: What's New in TSGo?</li>
<li>(09:05) - News: TC39 Records and Tuples Proposal Has Been Withdrawn</li>
<li>(11:45) - News: Parcel Bundler Introduces Support for RSC</li>
<li>(13:15) - Community Highlight: Why Was Node 24 Delayed?</li>
<li>(15:52) - Community Highlight: Type-safe Theming in Tailwind CSS</li>
<li>(16:52) - Community Highlight: TypeScript Gotchas via Reddit</li>
<li>(20:48) - Community Highlight: Trick for Error Handling in TypeScript</li>
<li>(22:46) - Cool Stuff: V8 Compile Hints</li>
<li>(25:40) - Cool Stuff: Bare, a Minimal JavaScript Runtime</li>
<li>(26:16) - Cool Stuff: AwesomeDev's Node 24 Rundown</li>
<li>(26:27) - Cool Stuff: Build System in C for C</li>
<li>(27:01) - Cool Stuff: Typecraft's Vim Challenges</li>
</ul><br><strong>Links</strong><ul><li>Event: <a href="https://discord.gg/Z8sY3kSU?event=1361804367547732208">IGDATC Game.wav</a></li><li>Article: <a href="https://www.redhat.com/en/blog/introduction-nodejs-24-from-red-hat">An introduction to Node.js 24 from Red Hat</a></li><li>Video: <a href="https://www.youtube.com/watch?v=IYdSzihYwkU">Awesome on Node.js 24</a></li><li>Repo: <a href="https://github.com/tc39/proposal-record-tuple">Records and Tuples Proposal</a> replaced with <a href="https://github.com/tc39/proposal-composites">tc39/proposal-composites</a></li><li>Video: <a href="https://www.youtube.com/watch?v=hFenspfGLTk&amp;pp=0gcJCYsJAYcqIYzv">Arrays, objects... now ‘composites’?</a> </li><li>Docs: <a href="https://parceljs.org/blog/v2-14-0/">Parcel 2.14</a> introduces React Server Components </li><li>Bluesky: <a href="https://bsky.app/profile/joyeecheung.bsky.social/post/3lo7gdvvbo22a">Interesting thread</a> on why Node 24 was delayed</li><li>Article: <a href="https://dev.to/abtahitajwar/type-safe-theming-in-tailwind-css-using-css-variables-and-typescript-1e6j">Type-Safe Theming in Tailwind CSS Using CSS Variables and TypeScript</a></li><li>Redditors <a href="https://www.reddit.com/r/typescript/comments/1kikhsa/typescript_gotchas/">share TypeScript Gotchas</a></li><li>Article: <a href="https://v8.dev/blog/explicit-compile-hints">Giving V8 a Heads-Up: Faster JavaScript Startup with Explicit Compile Hints</a></li><li>Video: Jason Yu shares <a href="https://bsky.app/profile/ycmjason.codes/post/3loz3cbwzrc2a">his way of doing try..catch in TS</a></li><li>Video: <a href="https://www.youtube.com/watch?v=4r7860IR7-o&amp;pp=ygUXQnVpbGQgU3lzdGVtIGluIEMgZm9yIEM%3D">Build System For C in C</a> </li><li>Learn: Typecraft's <a href="https://typecraft.dev/vim/challenges">Vim Challenges</a> </li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </content:encoded>
      <pubDate>Tue, 13 May 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/14fbaf5b/864ab944.mp3" length="13800077" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>1720</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction</li>
<li>(04:07) - News: Node 24 Release Highlights</li>
<li>(08:09) - News: What's New in TSGo?</li>
<li>(09:05) - News: TC39 Records and Tuples Proposal Has Been Withdrawn</li>
<li>(11:45) - News: Parcel Bundler Introduces Support for RSC</li>
<li>(13:15) - Community Highlight: Why Was Node 24 Delayed?</li>
<li>(15:52) - Community Highlight: Type-safe Theming in Tailwind CSS</li>
<li>(16:52) - Community Highlight: TypeScript Gotchas via Reddit</li>
<li>(20:48) - Community Highlight: Trick for Error Handling in TypeScript</li>
<li>(22:46) - Cool Stuff: V8 Compile Hints</li>
<li>(25:40) - Cool Stuff: Bare, a Minimal JavaScript Runtime</li>
<li>(26:16) - Cool Stuff: AwesomeDev's Node 24 Rundown</li>
<li>(26:27) - Cool Stuff: Build System in C for C</li>
<li>(27:01) - Cool Stuff: Typecraft's Vim Challenges</li>
</ul><br><strong>Links</strong><ul><li>Event: <a href="https://discord.gg/Z8sY3kSU?event=1361804367547732208">IGDATC Game.wav</a></li><li>Article: <a href="https://www.redhat.com/en/blog/introduction-nodejs-24-from-red-hat">An introduction to Node.js 24 from Red Hat</a></li><li>Video: <a href="https://www.youtube.com/watch?v=IYdSzihYwkU">Awesome on Node.js 24</a></li><li>Repo: <a href="https://github.com/tc39/proposal-record-tuple">Records and Tuples Proposal</a> replaced with <a href="https://github.com/tc39/proposal-composites">tc39/proposal-composites</a></li><li>Video: <a href="https://www.youtube.com/watch?v=hFenspfGLTk&amp;pp=0gcJCYsJAYcqIYzv">Arrays, objects... now ‘composites’?</a> </li><li>Docs: <a href="https://parceljs.org/blog/v2-14-0/">Parcel 2.14</a> introduces React Server Components </li><li>Bluesky: <a href="https://bsky.app/profile/joyeecheung.bsky.social/post/3lo7gdvvbo22a">Interesting thread</a> on why Node 24 was delayed</li><li>Article: <a href="https://dev.to/abtahitajwar/type-safe-theming-in-tailwind-css-using-css-variables-and-typescript-1e6j">Type-Safe Theming in Tailwind CSS Using CSS Variables and TypeScript</a></li><li>Redditors <a href="https://www.reddit.com/r/typescript/comments/1kikhsa/typescript_gotchas/">share TypeScript Gotchas</a></li><li>Article: <a href="https://v8.dev/blog/explicit-compile-hints">Giving V8 a Heads-Up: Faster JavaScript Startup with Explicit Compile Hints</a></li><li>Video: Jason Yu shares <a href="https://bsky.app/profile/ycmjason.codes/post/3loz3cbwzrc2a">his way of doing try..catch in TS</a></li><li>Video: <a href="https://www.youtube.com/watch?v=4r7860IR7-o&amp;pp=ygUXQnVpbGQgU3lzdGVtIGluIEMgZm9yIEM%3D">Build System For C in C</a> </li><li>Learn: Typecraft's <a href="https://typecraft.dev/vim/challenges">Vim Challenges</a> </li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/14fbaf5b/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Deno 2.3 Ships Tons of QOL Improvements | News | Ep 16</title>
      <itunes:episode>16</itunes:episode>
      <podcast:episode>16</podcast:episode>
      <itunes:title>Deno 2.3 Ships Tons of QOL Improvements | News | Ep 16</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">1c6cf6cf-1ae5-44d2-b966-bf186651d691</guid>
      <link>https://share.transistor.fm/s/39b8601d</link>
      <description>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction</li>
<li>(04:51) - News: This Week in TypeScript Go</li>
<li>(05:47) - News: Deno 2.3 Released</li>
<li>(08:36) - News: tsdown is a TypeScript Bundler for Library Authors</li>
<li>(11:29) - News: Astro 5.7 Release</li>
<li>(13:04) - Community Highlights: "Macros" in TypeScript by cinny.bun.how</li>
<li>(15:40) - Community Highlights: Dan Abramov's AMA on BlueSky</li>
<li>(16:02) - Community Highlights: Josh Goldberg's Series on "If I Wrote a Linter..."</li>
<li>(18:03) - Community Highlights: Plaid Migrated 100 Services to Deno Deploy</li>
<li>(19:52) - Community Highlight: Pinterest Migrated 3.7MM Lines of Flow Code to TypeScript</li>
<li>(21:59) - Dr. Axel's Corner: Converting Values to Strings</li>
<li>(23:14) - Community Highlights: Build Your Own Build Tools with Immaculata</li>
<li>(24:52) - Community Highlights: Type-safe Route Management in Vue</li>
<li>(25:56) - Cool Stuff: Hate git? Try Sapling Instead</li>
<li>(27:45) - Cool Stuff: Nerd Out with HVAC Ceiling Cassettes</li>
<li>(30:00) - Cool Stuff: Build Custom Fonts with FontForge</li>
<li>(30:28) - Cool Stuff: Quantum Computing Explainer by 3Blue1Brown</li>
<li>(31:05) - Cool Stuff: "Ed", an Early Text Editor</li>
<li>(31:25) - Cool Stuff: 4000+ Icons for Your Game at Game-Icons.net</li>
</ul><br><strong>Links</strong><ul><li>Website: <a href="https://minnestar.org/">Minnestar events</a></li><li>Website: <a href="https://igdatc.org/">IGDATC</a></li><li>Tool: <a href="https://deno.com/blog/v2.3">Deno 2.3</a></li><li>Tool: <a href="https://tsdown.dev/">tsdown</a></li><li>Tool: <a href="https://astro.build/blog/astro-570/">Astro 5.7</a></li><li>Bsky thread: <a href="https://bsky.app/profile/cinny.bun.how/post/3lod6prqogs2u">Macros in TypeScript</a> (@cinny.bun.how)</li><li>Bsky thread: <a href="https://bsky.app/profile/danabra.mov/post/3lochtlmo722o">Dan Abramov AMA</a></li><li>Article: <a href="https://www.joshuakgoldberg.com/blog/if-i-wrote-a-linter-part-1-architecture/?utm_source=typescript.fm">If I wrote a linter, part 1</a> (Joshua Goldberg)</li><li>Article: <a href="https://deno.com/blog/how-plaid-migrated-critical-services-with-deno">Plaid migration to Deno Deploy</a></li><li>Article: <a href="https://medium.com/pinterest-engineering/migrating-3-7-million-lines-of-flow-code-to-typescript-8a836c88fea5">Pinterest Flow to TS migration</a></li><li>Article: <a href="https://2ality.com/2025/04/stringification-javascript.html">Converting values to strings</a> (2ality)</li><li>Library: <a href="https://immaculata.dev/blog/announcing-immaculata.html">Immaculata</a></li><li>Library: <a href="https://github.com/chronicstone/vue-route-query">vue-route-query</a></li><li>Tool: <a href="https://sapling-scm.com/docs/introduction/">Sapling SCM</a></li><li>Article: <a href="https://www.rfohl.com/hvac/ceiling-cassette-ductless/">Ductless Ceiling Cassettes</a></li><li>Video: <a href="https://youtu.be/RQWpF2Gb-gU?si=lMUAsrpFvyjZENm4">Quantum computing explainer</a> (3blue1brown)</li><li>Video: <a href="https://youtu.be/GoyNMFccbow?si=YRcsm8AkVKhs_Z4t">ed text editor</a> (Kay Lack)</li><li>Website: <a href="https://game-icons.net/">Game Icons</a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction</li>
<li>(04:51) - News: This Week in TypeScript Go</li>
<li>(05:47) - News: Deno 2.3 Released</li>
<li>(08:36) - News: tsdown is a TypeScript Bundler for Library Authors</li>
<li>(11:29) - News: Astro 5.7 Release</li>
<li>(13:04) - Community Highlights: "Macros" in TypeScript by cinny.bun.how</li>
<li>(15:40) - Community Highlights: Dan Abramov's AMA on BlueSky</li>
<li>(16:02) - Community Highlights: Josh Goldberg's Series on "If I Wrote a Linter..."</li>
<li>(18:03) - Community Highlights: Plaid Migrated 100 Services to Deno Deploy</li>
<li>(19:52) - Community Highlight: Pinterest Migrated 3.7MM Lines of Flow Code to TypeScript</li>
<li>(21:59) - Dr. Axel's Corner: Converting Values to Strings</li>
<li>(23:14) - Community Highlights: Build Your Own Build Tools with Immaculata</li>
<li>(24:52) - Community Highlights: Type-safe Route Management in Vue</li>
<li>(25:56) - Cool Stuff: Hate git? Try Sapling Instead</li>
<li>(27:45) - Cool Stuff: Nerd Out with HVAC Ceiling Cassettes</li>
<li>(30:00) - Cool Stuff: Build Custom Fonts with FontForge</li>
<li>(30:28) - Cool Stuff: Quantum Computing Explainer by 3Blue1Brown</li>
<li>(31:05) - Cool Stuff: "Ed", an Early Text Editor</li>
<li>(31:25) - Cool Stuff: 4000+ Icons for Your Game at Game-Icons.net</li>
</ul><br><strong>Links</strong><ul><li>Website: <a href="https://minnestar.org/">Minnestar events</a></li><li>Website: <a href="https://igdatc.org/">IGDATC</a></li><li>Tool: <a href="https://deno.com/blog/v2.3">Deno 2.3</a></li><li>Tool: <a href="https://tsdown.dev/">tsdown</a></li><li>Tool: <a href="https://astro.build/blog/astro-570/">Astro 5.7</a></li><li>Bsky thread: <a href="https://bsky.app/profile/cinny.bun.how/post/3lod6prqogs2u">Macros in TypeScript</a> (@cinny.bun.how)</li><li>Bsky thread: <a href="https://bsky.app/profile/danabra.mov/post/3lochtlmo722o">Dan Abramov AMA</a></li><li>Article: <a href="https://www.joshuakgoldberg.com/blog/if-i-wrote-a-linter-part-1-architecture/?utm_source=typescript.fm">If I wrote a linter, part 1</a> (Joshua Goldberg)</li><li>Article: <a href="https://deno.com/blog/how-plaid-migrated-critical-services-with-deno">Plaid migration to Deno Deploy</a></li><li>Article: <a href="https://medium.com/pinterest-engineering/migrating-3-7-million-lines-of-flow-code-to-typescript-8a836c88fea5">Pinterest Flow to TS migration</a></li><li>Article: <a href="https://2ality.com/2025/04/stringification-javascript.html">Converting values to strings</a> (2ality)</li><li>Library: <a href="https://immaculata.dev/blog/announcing-immaculata.html">Immaculata</a></li><li>Library: <a href="https://github.com/chronicstone/vue-route-query">vue-route-query</a></li><li>Tool: <a href="https://sapling-scm.com/docs/introduction/">Sapling SCM</a></li><li>Article: <a href="https://www.rfohl.com/hvac/ceiling-cassette-ductless/">Ductless Ceiling Cassettes</a></li><li>Video: <a href="https://youtu.be/RQWpF2Gb-gU?si=lMUAsrpFvyjZENm4">Quantum computing explainer</a> (3blue1brown)</li><li>Video: <a href="https://youtu.be/GoyNMFccbow?si=YRcsm8AkVKhs_Z4t">ed text editor</a> (Kay Lack)</li><li>Website: <a href="https://game-icons.net/">Game Icons</a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </content:encoded>
      <pubDate>Tue, 06 May 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/39b8601d/51c32a43.mp3" length="15831272" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>1974</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction</li>
<li>(04:51) - News: This Week in TypeScript Go</li>
<li>(05:47) - News: Deno 2.3 Released</li>
<li>(08:36) - News: tsdown is a TypeScript Bundler for Library Authors</li>
<li>(11:29) - News: Astro 5.7 Release</li>
<li>(13:04) - Community Highlights: "Macros" in TypeScript by cinny.bun.how</li>
<li>(15:40) - Community Highlights: Dan Abramov's AMA on BlueSky</li>
<li>(16:02) - Community Highlights: Josh Goldberg's Series on "If I Wrote a Linter..."</li>
<li>(18:03) - Community Highlights: Plaid Migrated 100 Services to Deno Deploy</li>
<li>(19:52) - Community Highlight: Pinterest Migrated 3.7MM Lines of Flow Code to TypeScript</li>
<li>(21:59) - Dr. Axel's Corner: Converting Values to Strings</li>
<li>(23:14) - Community Highlights: Build Your Own Build Tools with Immaculata</li>
<li>(24:52) - Community Highlights: Type-safe Route Management in Vue</li>
<li>(25:56) - Cool Stuff: Hate git? Try Sapling Instead</li>
<li>(27:45) - Cool Stuff: Nerd Out with HVAC Ceiling Cassettes</li>
<li>(30:00) - Cool Stuff: Build Custom Fonts with FontForge</li>
<li>(30:28) - Cool Stuff: Quantum Computing Explainer by 3Blue1Brown</li>
<li>(31:05) - Cool Stuff: "Ed", an Early Text Editor</li>
<li>(31:25) - Cool Stuff: 4000+ Icons for Your Game at Game-Icons.net</li>
</ul><br><strong>Links</strong><ul><li>Website: <a href="https://minnestar.org/">Minnestar events</a></li><li>Website: <a href="https://igdatc.org/">IGDATC</a></li><li>Tool: <a href="https://deno.com/blog/v2.3">Deno 2.3</a></li><li>Tool: <a href="https://tsdown.dev/">tsdown</a></li><li>Tool: <a href="https://astro.build/blog/astro-570/">Astro 5.7</a></li><li>Bsky thread: <a href="https://bsky.app/profile/cinny.bun.how/post/3lod6prqogs2u">Macros in TypeScript</a> (@cinny.bun.how)</li><li>Bsky thread: <a href="https://bsky.app/profile/danabra.mov/post/3lochtlmo722o">Dan Abramov AMA</a></li><li>Article: <a href="https://www.joshuakgoldberg.com/blog/if-i-wrote-a-linter-part-1-architecture/?utm_source=typescript.fm">If I wrote a linter, part 1</a> (Joshua Goldberg)</li><li>Article: <a href="https://deno.com/blog/how-plaid-migrated-critical-services-with-deno">Plaid migration to Deno Deploy</a></li><li>Article: <a href="https://medium.com/pinterest-engineering/migrating-3-7-million-lines-of-flow-code-to-typescript-8a836c88fea5">Pinterest Flow to TS migration</a></li><li>Article: <a href="https://2ality.com/2025/04/stringification-javascript.html">Converting values to strings</a> (2ality)</li><li>Library: <a href="https://immaculata.dev/blog/announcing-immaculata.html">Immaculata</a></li><li>Library: <a href="https://github.com/chronicstone/vue-route-query">vue-route-query</a></li><li>Tool: <a href="https://sapling-scm.com/docs/introduction/">Sapling SCM</a></li><li>Article: <a href="https://www.rfohl.com/hvac/ceiling-cassette-ductless/">Ductless Ceiling Cassettes</a></li><li>Video: <a href="https://youtu.be/RQWpF2Gb-gU?si=lMUAsrpFvyjZENm4">Quantum computing explainer</a> (3blue1brown)</li><li>Video: <a href="https://youtu.be/GoyNMFccbow?si=YRcsm8AkVKhs_Z4t">ed text editor</a> (Kay Lack)</li><li>Website: <a href="https://game-icons.net/">Game Icons</a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/39b8601d/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Building Games in TypeScript | Erik Onarheim | Ep 15B</title>
      <itunes:episode>15</itunes:episode>
      <podcast:episode>15</podcast:episode>
      <itunes:title>Building Games in TypeScript | Erik Onarheim | Ep 15B</itunes:title>
      <itunes:episodeType>bonus</itunes:episodeType>
      <guid isPermaLink="false">be397f72-e19e-4d6f-b6d0-7016de6f175c</guid>
      <link>https://share.transistor.fm/s/aafa6c45</link>
      <description>
        <![CDATA[<p>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!</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction to Excalibur.js</li>
<li>(01:13) - What is Excalibur.js?</li>
<li>(02:28) - Game Development Basics with Excalibur</li>
<li>(05:18) - Exploring Actors and Scenes in Excalibur</li>
<li>(06:38) - Diverse Game Types with Excalibur</li>
<li>(08:01) - Physics in Excalibur</li>
<li>(09:52) - Input Handling in Excalibur</li>
<li>(11:09) - Asset Management in Excalibur</li>
<li>(12:13) - Audio Management with Web Audio API</li>
<li>(14:57) - Integrations with Art and Level Design Tools</li>
<li>(17:07) - Hot Reloading and Game State Management</li>
<li>(19:15) - Loading and Performance Optimizations</li>
<li>(22:15) - Custom Shader Support in Excalibur</li>
<li>(26:30) - Excalibur's Origin Story</li>
<li>(29:03) - Why Is It Called Excalibur?</li>
<li>(30:00) - Building a Friendly Game Development Community</li>
<li>(31:33) - Getting Started with Excalibur</li>
<li>(33:42) - Publishing Games with Excalibur</li>
<li>(35:42) - Who is Excalibur Designed For?</li>
<li>(37:41) - Advice on Getting Into Game Development</li>
<li>(40:51) - The Future of Excalibur</li>
<li>(47:35) - Secrets of the Handbook: Declaration Merging</li>
</ul><br><strong>Links</strong><ul><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird?utm_source=typescript.fm">Excalibird Tutorial</a></li><li><a href="https://excaliburjs.com/docs/?utm_source=typescript.fm">Excalibur.js Docs</a></li><li><a href="https://discord.gg/fhCqhbZHx4">Excalibur.js Community Discord</a></li><li><a href="https://excaliburjs.com/showcase">Excalibur.js Showcase</a></li><li><a href="https://bsky.app/profile/excaliburjs.com">Follow Excalibur on BlueSky</a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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!</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction to Excalibur.js</li>
<li>(01:13) - What is Excalibur.js?</li>
<li>(02:28) - Game Development Basics with Excalibur</li>
<li>(05:18) - Exploring Actors and Scenes in Excalibur</li>
<li>(06:38) - Diverse Game Types with Excalibur</li>
<li>(08:01) - Physics in Excalibur</li>
<li>(09:52) - Input Handling in Excalibur</li>
<li>(11:09) - Asset Management in Excalibur</li>
<li>(12:13) - Audio Management with Web Audio API</li>
<li>(14:57) - Integrations with Art and Level Design Tools</li>
<li>(17:07) - Hot Reloading and Game State Management</li>
<li>(19:15) - Loading and Performance Optimizations</li>
<li>(22:15) - Custom Shader Support in Excalibur</li>
<li>(26:30) - Excalibur's Origin Story</li>
<li>(29:03) - Why Is It Called Excalibur?</li>
<li>(30:00) - Building a Friendly Game Development Community</li>
<li>(31:33) - Getting Started with Excalibur</li>
<li>(33:42) - Publishing Games with Excalibur</li>
<li>(35:42) - Who is Excalibur Designed For?</li>
<li>(37:41) - Advice on Getting Into Game Development</li>
<li>(40:51) - The Future of Excalibur</li>
<li>(47:35) - Secrets of the Handbook: Declaration Merging</li>
</ul><br><strong>Links</strong><ul><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird?utm_source=typescript.fm">Excalibird Tutorial</a></li><li><a href="https://excaliburjs.com/docs/?utm_source=typescript.fm">Excalibur.js Docs</a></li><li><a href="https://discord.gg/fhCqhbZHx4">Excalibur.js Community Discord</a></li><li><a href="https://excaliburjs.com/showcase">Excalibur.js Showcase</a></li><li><a href="https://bsky.app/profile/excaliburjs.com">Follow Excalibur on BlueSky</a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </content:encoded>
      <pubDate>Thu, 01 May 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/aafa6c45/b29c4cce.mp3" length="25298695" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>3157</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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!</p><p><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Introduction to Excalibur.js</li>
<li>(01:13) - What is Excalibur.js?</li>
<li>(02:28) - Game Development Basics with Excalibur</li>
<li>(05:18) - Exploring Actors and Scenes in Excalibur</li>
<li>(06:38) - Diverse Game Types with Excalibur</li>
<li>(08:01) - Physics in Excalibur</li>
<li>(09:52) - Input Handling in Excalibur</li>
<li>(11:09) - Asset Management in Excalibur</li>
<li>(12:13) - Audio Management with Web Audio API</li>
<li>(14:57) - Integrations with Art and Level Design Tools</li>
<li>(17:07) - Hot Reloading and Game State Management</li>
<li>(19:15) - Loading and Performance Optimizations</li>
<li>(22:15) - Custom Shader Support in Excalibur</li>
<li>(26:30) - Excalibur's Origin Story</li>
<li>(29:03) - Why Is It Called Excalibur?</li>
<li>(30:00) - Building a Friendly Game Development Community</li>
<li>(31:33) - Getting Started with Excalibur</li>
<li>(33:42) - Publishing Games with Excalibur</li>
<li>(35:42) - Who is Excalibur Designed For?</li>
<li>(37:41) - Advice on Getting Into Game Development</li>
<li>(40:51) - The Future of Excalibur</li>
<li>(47:35) - Secrets of the Handbook: Declaration Merging</li>
</ul><br><strong>Links</strong><ul><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird?utm_source=typescript.fm">Excalibird Tutorial</a></li><li><a href="https://excaliburjs.com/docs/?utm_source=typescript.fm">Excalibur.js Docs</a></li><li><a href="https://discord.gg/fhCqhbZHx4">Excalibur.js Community Discord</a></li><li><a href="https://excaliburjs.com/showcase">Excalibur.js Showcase</a></li><li><a href="https://bsky.app/profile/excaliburjs.com">Follow Excalibur on BlueSky</a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/aafa6c45/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>TSGo Gets Autocomplete and JSX Support | News | Ep 15</title>
      <itunes:episode>15</itunes:episode>
      <podcast:episode>15</podcast:episode>
      <itunes:title>TSGo Gets Autocomplete and JSX Support | News | Ep 15</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">59dbbb26-9732-43df-8e1c-a403fdbd1e35</guid>
      <link>https://share.transistor.fm/s/b0e677e7</link>
      <description>
        <![CDATA[<p>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! </p><p></p><ul><li>(00:00) - Introduction and Personal Updates</li>
<li>(04:55) - News for the Week of April 21, 2025</li>
<li>(06:26) - News: TSGo Gets JSX and Autocomplete Support</li>
<li>(08:36) - News: pnpm Gets JSR Package Support</li>
<li>(10:00) - News: Juno Adds Serverless TypeScript Functions</li>
<li>(11:23) - News: Storybook 9 Beta is Released</li>
<li>(13:23) - News: Node 18 EOL on April 30, 2025</li>
<li>(14:11) - Community Highlight: Joist ORM by Stephen Haberman</li>
<li>(15:51) - Community Highlight: TypeScript Interview Questions by L Javier Tovar</li>
<li>(18:08) - Community Highlight: Quad Trees with TypeScript by Hypersphere</li>
<li>(20:11) - Cool Stuff: GitHub's Project Padawan</li>
<li>(22:56) - Cool Stuff: Dan Abramov on React Server Components</li>
<li>(24:16) - Cool Stuff: Track WebGL Memory Usage</li>
<li>(25:25) - Cool Stuff: GameStats by Trezzy</li>
</ul><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.<p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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! </p><p></p><ul><li>(00:00) - Introduction and Personal Updates</li>
<li>(04:55) - News for the Week of April 21, 2025</li>
<li>(06:26) - News: TSGo Gets JSX and Autocomplete Support</li>
<li>(08:36) - News: pnpm Gets JSR Package Support</li>
<li>(10:00) - News: Juno Adds Serverless TypeScript Functions</li>
<li>(11:23) - News: Storybook 9 Beta is Released</li>
<li>(13:23) - News: Node 18 EOL on April 30, 2025</li>
<li>(14:11) - Community Highlight: Joist ORM by Stephen Haberman</li>
<li>(15:51) - Community Highlight: TypeScript Interview Questions by L Javier Tovar</li>
<li>(18:08) - Community Highlight: Quad Trees with TypeScript by Hypersphere</li>
<li>(20:11) - Cool Stuff: GitHub's Project Padawan</li>
<li>(22:56) - Cool Stuff: Dan Abramov on React Server Components</li>
<li>(24:16) - Cool Stuff: Track WebGL Memory Usage</li>
<li>(25:25) - Cool Stuff: GameStats by Trezzy</li>
</ul><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.<p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </content:encoded>
      <pubDate>Tue, 29 Apr 2025 14:55:57 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/b0e677e7/0fb93baa.mp3" length="18928230" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>1666</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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! </p><p></p><ul><li>(00:00) - Introduction and Personal Updates</li>
<li>(04:55) - News for the Week of April 21, 2025</li>
<li>(06:26) - News: TSGo Gets JSX and Autocomplete Support</li>
<li>(08:36) - News: pnpm Gets JSR Package Support</li>
<li>(10:00) - News: Juno Adds Serverless TypeScript Functions</li>
<li>(11:23) - News: Storybook 9 Beta is Released</li>
<li>(13:23) - News: Node 18 EOL on April 30, 2025</li>
<li>(14:11) - Community Highlight: Joist ORM by Stephen Haberman</li>
<li>(15:51) - Community Highlight: TypeScript Interview Questions by L Javier Tovar</li>
<li>(18:08) - Community Highlight: Quad Trees with TypeScript by Hypersphere</li>
<li>(20:11) - Cool Stuff: GitHub's Project Padawan</li>
<li>(22:56) - Cool Stuff: Dan Abramov on React Server Components</li>
<li>(24:16) - Cool Stuff: Track WebGL Memory Usage</li>
<li>(25:25) - Cool Stuff: GameStats by Trezzy</li>
</ul><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.<p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/b0e677e7/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Are We Sick of TypeScript.fm Yet? | Retrospective | Ep 14B</title>
      <itunes:episode>14</itunes:episode>
      <podcast:episode>14</podcast:episode>
      <itunes:title>Are We Sick of TypeScript.fm Yet? | Retrospective | Ep 14B</itunes:title>
      <itunes:episodeType>bonus</itunes:episodeType>
      <guid isPermaLink="false">791e6fe9-9730-402b-8b28-8f6ace0a5ab5</guid>
      <link>https://share.transistor.fm/s/647a57b8</link>
      <description>
        <![CDATA[<p>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.</p><p><br><strong>Chapters</strong></p><ul><li>(00:00) Introduction</li><li>(01:18) Is TypeScript.fm Done?</li><li>(01:59) Erik's Reflection</li><li>(03:05) Kamran's Reflection</li><li>(03:48) What's the Goal of the Podcast?</li><li>(06:46) What Do We Want to Focus On?</li><li>(12:10) Should We Build a Dedicated Community Around the Podcast?</li><li>(13:58) How Do We Feel About the Time Spent Right Now?</li><li>(18:05) Should We Split Episodes Apart?</li><li>(21:59) What Should Change With the Record and Edit Workflow?</li><li>(23:38) Should We Start Doing Video?</li><li>(26:08) What Should the News Cover?</li><li>(27:23) Should We Send a Newsletter?</li><li>(29:28) How Are the Numbers Doing So Far?</li><li>(36:26) How Do We Encourage Feedback or Engagement?</li><li>(37:34) What Should We Stop Doing?</li><li>(38:49) How Do We Want to Handle Guests?</li><li>(40:28) How Do We Make It Easier to Aggregate News?</li><li>(43:23) Should We Change Up the Format?</li><li>(49:47) How Do We Want to Handle Mid-rolls?</li><li>(51:03) How Do We Improve Our Show Notes and Accessibility?</li><li>(52:34) Should We Update the Logo and Cover Art?</li><li>(53:22) What Has the Community Reception Been?</li><li>(56:55) Tell Us What You Think!</li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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.</p><p><br><strong>Chapters</strong></p><ul><li>(00:00) Introduction</li><li>(01:18) Is TypeScript.fm Done?</li><li>(01:59) Erik's Reflection</li><li>(03:05) Kamran's Reflection</li><li>(03:48) What's the Goal of the Podcast?</li><li>(06:46) What Do We Want to Focus On?</li><li>(12:10) Should We Build a Dedicated Community Around the Podcast?</li><li>(13:58) How Do We Feel About the Time Spent Right Now?</li><li>(18:05) Should We Split Episodes Apart?</li><li>(21:59) What Should Change With the Record and Edit Workflow?</li><li>(23:38) Should We Start Doing Video?</li><li>(26:08) What Should the News Cover?</li><li>(27:23) Should We Send a Newsletter?</li><li>(29:28) How Are the Numbers Doing So Far?</li><li>(36:26) How Do We Encourage Feedback or Engagement?</li><li>(37:34) What Should We Stop Doing?</li><li>(38:49) How Do We Want to Handle Guests?</li><li>(40:28) How Do We Make It Easier to Aggregate News?</li><li>(43:23) Should We Change Up the Format?</li><li>(49:47) How Do We Want to Handle Mid-rolls?</li><li>(51:03) How Do We Improve Our Show Notes and Accessibility?</li><li>(52:34) Should We Update the Logo and Cover Art?</li><li>(53:22) What Has the Community Reception Been?</li><li>(56:55) Tell Us What You Think!</li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </content:encoded>
      <pubDate>Thu, 24 Apr 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/647a57b8/1aadd1c2.mp3" length="28305456" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>3533</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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.</p><p><br><strong>Chapters</strong></p><ul><li>(00:00) Introduction</li><li>(01:18) Is TypeScript.fm Done?</li><li>(01:59) Erik's Reflection</li><li>(03:05) Kamran's Reflection</li><li>(03:48) What's the Goal of the Podcast?</li><li>(06:46) What Do We Want to Focus On?</li><li>(12:10) Should We Build a Dedicated Community Around the Podcast?</li><li>(13:58) How Do We Feel About the Time Spent Right Now?</li><li>(18:05) Should We Split Episodes Apart?</li><li>(21:59) What Should Change With the Record and Edit Workflow?</li><li>(23:38) Should We Start Doing Video?</li><li>(26:08) What Should the News Cover?</li><li>(27:23) Should We Send a Newsletter?</li><li>(29:28) How Are the Numbers Doing So Far?</li><li>(36:26) How Do We Encourage Feedback or Engagement?</li><li>(37:34) What Should We Stop Doing?</li><li>(38:49) How Do We Want to Handle Guests?</li><li>(40:28) How Do We Make It Easier to Aggregate News?</li><li>(43:23) Should We Change Up the Format?</li><li>(49:47) How Do We Want to Handle Mid-rolls?</li><li>(51:03) How Do We Improve Our Show Notes and Accessibility?</li><li>(52:34) Should We Update the Logo and Cover Art?</li><li>(53:22) What Has the Community Reception Been?</li><li>(56:55) Tell Us What You Think!</li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/647a57b8/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>TC39 Enums in JS Proposal Moves to Stage-1 | News | Ep 14</title>
      <itunes:episode>14</itunes:episode>
      <podcast:episode>14</podcast:episode>
      <itunes:title>TC39 Enums in JS Proposal Moves to Stage-1 | News | Ep 14</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">7ef8f280-1d41-48d6-8a0d-d5cc5cb38cbe</guid>
      <link>https://share.transistor.fm/s/7bea4644</link>
      <description>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p><br></p><ul><li>(00:00) - Introduction</li>
<li>(02:07) - News for Week of April 14</li>
<li>(03:20) - News: SquiggleConf 2025</li>
<li>(03:40) - News: TC39 Enums in JS Proposal Moves to Stage 1</li>
<li>(04:20) - News: Deno 2.2.10</li>
<li>(04:48) - News: Bun 1.2.10</li>
<li>(05:08) - News: Next.js 15.3</li>
<li>(07:31) - Community Highlight: Reddit Discussion on the Enums in JS Proposal</li>
<li>(10:25) - An Abrupt Goodbye!</li>
</ul><br><p><strong>Links</strong></p><ul><li><a href="https://2025.squiggleconf.com/">SquiggleConf</a></li><li><a href="https://github.com/tc39/proposal-enum">TC39 Enums in JS Proposal</a></li><li><a href="https://github.com/denoland/deno/releases/tag/v2.2.10">Deno 2.2.10</a></li><li><a href="https://bun.sh/blog/bun-v1.2.10">Bun 1.2.10</a></li><li><a href="https://nextjs.org/blog/next-15-3">Next.js 15.3</a></li><li><a href="https://www.reddit.com/r/typescript/comments/1jt1r9k/what_do_you_think_about_the_typescript_enums_in/">Reddit Discussion on the Enums in JS Proposal</a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p><br></p><ul><li>(00:00) - Introduction</li>
<li>(02:07) - News for Week of April 14</li>
<li>(03:20) - News: SquiggleConf 2025</li>
<li>(03:40) - News: TC39 Enums in JS Proposal Moves to Stage 1</li>
<li>(04:20) - News: Deno 2.2.10</li>
<li>(04:48) - News: Bun 1.2.10</li>
<li>(05:08) - News: Next.js 15.3</li>
<li>(07:31) - Community Highlight: Reddit Discussion on the Enums in JS Proposal</li>
<li>(10:25) - An Abrupt Goodbye!</li>
</ul><br><p><strong>Links</strong></p><ul><li><a href="https://2025.squiggleconf.com/">SquiggleConf</a></li><li><a href="https://github.com/tc39/proposal-enum">TC39 Enums in JS Proposal</a></li><li><a href="https://github.com/denoland/deno/releases/tag/v2.2.10">Deno 2.2.10</a></li><li><a href="https://bun.sh/blog/bun-v1.2.10">Bun 1.2.10</a></li><li><a href="https://nextjs.org/blog/next-15-3">Next.js 15.3</a></li><li><a href="https://www.reddit.com/r/typescript/comments/1jt1r9k/what_do_you_think_about_the_typescript_enums_in/">Reddit Discussion on the Enums in JS Proposal</a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </content:encoded>
      <pubDate>Tue, 22 Apr 2025 22:44:22 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/7bea4644/42e44a63.mp3" length="5766595" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>716</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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.</p><p><strong>Chapters</strong></p><p><br></p><ul><li>(00:00) - Introduction</li>
<li>(02:07) - News for Week of April 14</li>
<li>(03:20) - News: SquiggleConf 2025</li>
<li>(03:40) - News: TC39 Enums in JS Proposal Moves to Stage 1</li>
<li>(04:20) - News: Deno 2.2.10</li>
<li>(04:48) - News: Bun 1.2.10</li>
<li>(05:08) - News: Next.js 15.3</li>
<li>(07:31) - Community Highlight: Reddit Discussion on the Enums in JS Proposal</li>
<li>(10:25) - An Abrupt Goodbye!</li>
</ul><br><p><strong>Links</strong></p><ul><li><a href="https://2025.squiggleconf.com/">SquiggleConf</a></li><li><a href="https://github.com/tc39/proposal-enum">TC39 Enums in JS Proposal</a></li><li><a href="https://github.com/denoland/deno/releases/tag/v2.2.10">Deno 2.2.10</a></li><li><a href="https://bun.sh/blog/bun-v1.2.10">Bun 1.2.10</a></li><li><a href="https://nextjs.org/blog/next-15-3">Next.js 15.3</a></li><li><a href="https://www.reddit.com/r/typescript/comments/1jt1r9k/what_do_you_think_about_the_typescript_enums_in/">Reddit Discussion on the Enums in JS Proposal</a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </itunes:summary>
      <itunes:keywords>JavaScript, Enums, TypeScript, Development Tools, Performance, Tech News, Squiggle Conf, Deno, Bun, RSPack</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/7bea4644/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>DOOM.ts | Dimitri Mitropoulos | Ep 13</title>
      <itunes:episode>13</itunes:episode>
      <podcast:episode>13</podcast:episode>
      <itunes:title>DOOM.ts | Dimitri Mitropoulos | Ep 13</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">e272a757-1be7-4759-ad11-9e53009e61f5</guid>
      <link>https://share.transistor.fm/s/46f30ec5</link>
      <description>
        <![CDATA[<p>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. </p><p><br><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Intro</li>
<li>(00:37) - SquiggleConf 2025</li>
<li>(01:00) - Personal News</li>
<li>(04:28) - Dimitri's Background and Michigan TypeScript</li>
<li>(08:35) - JSON Parser in TypeScript Types</li>
<li>(09:08) - Where do you start with DOOM in Types?</li>
<li>(10:01) - "DOOM" Complete</li>
<li>(13:57) - How do you run DOOM in TS?</li>
<li>(17:36) - Debugging an Emulator in TS Types</li>
<li>(19:22) - How does DOOM work?</li>
<li>(20:45) - Using Web Assembly</li>
<li>(22:49) - Understanding WebAssembly and TypeScript Integration</li>
<li>(24:59) - The Concept of Abstraction in Programming</li>
<li>(27:02) - Challenges in Implementing WebAssembly from the Spec</li>
<li>(28:59) - Ambiguities in Specifications and Their Impact</li>
<li>(30:40) - Debugging Techniques and Error Handling</li>
<li>(32:24) - Innovative Use of Overflow in Game Development</li>
<li>(35:40) - Insights Gained from TypeScript During the Project</li>
<li>(38:24) - The Complexity of TypeScript Types</li>
<li>(43:08) - Time Travel Debugging and Memory Management</li>
<li>(45:00) - The Most Challenging Aspects of the Project</li>
<li>(48:32) - Reactions to DOOM</li>
<li>(53:10) - The Dawn of TypeScript Go</li>
<li>(01:02:14) - Lessons Learned and Future Directions</li>
<li>(01:08:37) - Dimitri Says Goodbye!</li>
<li>(01:09:50) - News for the Week of April 7th</li>
<li>(01:14:42) - Community Posts</li>
<li>(01:17:39) - Secret of the Handbook</li>
<li>(01:19:07) - Cool Stuff from Erik</li>
<li>(01:19:51) - Debugging and Performance Optimization Techniques</li>
</ul><br><strong>Dimitri's Links</strong><ul><li><a href="https://2025.squiggleconf.com/">SquiggleConf 2025</a></li><li><a href="https://www.youtube.com/@MichiganTypeScript">Michigan TypeScript</a></li><li><a href="https://youtu.be/0mCsluv5FXA?si=Db7r7KxAoCgZ4N88">TypeScript Types Can Run Doom</a></li><li><a href="https://youtu.be/5506X2xioi0?si=qjBkk2ZuxpD08ZkI">Anders TS GO Interview </a></li><li><a href="https://youtu.be/hPaiK0omhEw?si=5EmGY0WT3hAHSX5q">Final Boss Challenge</a> </li><li><a href="https://github.com/MichiganTypeScript/typescript-types-only-wasm-runtime">TypeScript Types WASM Runtime</a></li></ul><p><br></p><p><strong>News Links</strong></p><ul><li><a href="https://v4.zod.dev/v4">Zod 4 Beta</a></li><li><a href="https://youtu.be/xcm53k0ePmY?si=HNTuxJHgSL2hU43x">Matt Pocock's Video</a></li><li>Dan Abramov - RSCs or Maybe Not<ul><li><a href="https://overreacted.io/react-for-two-computers/">https://overreacted.io/react-for-two-computers/</a> </li><li><a href="https://youtu.be/ozI4V_29fj4">https://youtu.be/ozI4V_29fj4</a> </li></ul></li><li>Axel’s Corner<ul><li>Testing Types <ul><li><a href="https://2ality.com/2025/04/testing-types-typescript.html">https://2ality.com/2025/04/testing-types-typescript.html</a> </li><li><a href="https://bsky.app/profile/dr-axel.de/post/3lmmwp4ovek2q">https://bsky.app/profile/dr-axel.de/post/3lmmwp4ovek2q</a> </li></ul></li><li>Deploying TypeScript (timely!)<ul><li><a href="https://2ality.com/2025/04/deploying-typescript-present-future.html">https://2ality.com/2025/04/deploying-typescript-present-future.html</a></li></ul></li></ul></li><li>https://www.pipe0.com/blog/never-in-typescript </li><li>https://www.typescriptlang.org/docs/handbook/2/conditional-types.html#distributive-conditional-types </li><li>Kamran<ul><li><a href="https://bun.sh/blog/debugging-memory-leaks?utm_source=ECMAScript.news&amp;utm_medium=Weekly+Newsletter&amp;utm_campaign=2025-04-09">https://bun.sh/blog/debugging-memory-leaks</a></li><li>Animate UI: copy paste or installable components built with TS, React, and Tailwind using Motion.</li></ul></li><li>Erik<ul><li><a href="https://vgmcon.org/">VGM Con</a></li><li><a href="https://youtu.be/G2tvnmSyP2M">Shader Programming Talk</a></li><li>Sebastian Lague - Simulated CPU<ul><li><a href="https://youtu.be/HGkuRp5HfH8?si=9iNm0Ad1z4T4AePj">https://youtu.be/HGkuRp5HfH8?si=9iNm0Ad1z4T4AePj</a> </li></ul></li><li>Sebastian Lague - Rendering Text<ul><li><a href="https://youtu.be/SO83KQuuZvg?si=uzPojhUqBvV35q7F">https://youtu.be/SO83KQuuZvg?si=uzPojhUqBvV35q7F</a>  </li></ul></li></ul></li></ul><p> <br><strong>Excalibur Games</strong></p><ul><li><a href="https://excaliburjs.com/sum-monsters/">Sum Monsters </a></li><li><a href="https://excaliburjs.com/sweep/">Sweep Stacks</a> </li><li><a href="https://excaliburjs.com/sample-tactics/">Tiny Tactics</a> </li><li><a href="https://excaliburjs.com/sample-jelly-jumper/">Jelly Jumper</a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
  <li><a href="https://typescript.fm/people/dimitri-mitropoulos">Dimitri Mitropoulos</a> - Guest</li>
</ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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. </p><p><br><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Intro</li>
<li>(00:37) - SquiggleConf 2025</li>
<li>(01:00) - Personal News</li>
<li>(04:28) - Dimitri's Background and Michigan TypeScript</li>
<li>(08:35) - JSON Parser in TypeScript Types</li>
<li>(09:08) - Where do you start with DOOM in Types?</li>
<li>(10:01) - "DOOM" Complete</li>
<li>(13:57) - How do you run DOOM in TS?</li>
<li>(17:36) - Debugging an Emulator in TS Types</li>
<li>(19:22) - How does DOOM work?</li>
<li>(20:45) - Using Web Assembly</li>
<li>(22:49) - Understanding WebAssembly and TypeScript Integration</li>
<li>(24:59) - The Concept of Abstraction in Programming</li>
<li>(27:02) - Challenges in Implementing WebAssembly from the Spec</li>
<li>(28:59) - Ambiguities in Specifications and Their Impact</li>
<li>(30:40) - Debugging Techniques and Error Handling</li>
<li>(32:24) - Innovative Use of Overflow in Game Development</li>
<li>(35:40) - Insights Gained from TypeScript During the Project</li>
<li>(38:24) - The Complexity of TypeScript Types</li>
<li>(43:08) - Time Travel Debugging and Memory Management</li>
<li>(45:00) - The Most Challenging Aspects of the Project</li>
<li>(48:32) - Reactions to DOOM</li>
<li>(53:10) - The Dawn of TypeScript Go</li>
<li>(01:02:14) - Lessons Learned and Future Directions</li>
<li>(01:08:37) - Dimitri Says Goodbye!</li>
<li>(01:09:50) - News for the Week of April 7th</li>
<li>(01:14:42) - Community Posts</li>
<li>(01:17:39) - Secret of the Handbook</li>
<li>(01:19:07) - Cool Stuff from Erik</li>
<li>(01:19:51) - Debugging and Performance Optimization Techniques</li>
</ul><br><strong>Dimitri's Links</strong><ul><li><a href="https://2025.squiggleconf.com/">SquiggleConf 2025</a></li><li><a href="https://www.youtube.com/@MichiganTypeScript">Michigan TypeScript</a></li><li><a href="https://youtu.be/0mCsluv5FXA?si=Db7r7KxAoCgZ4N88">TypeScript Types Can Run Doom</a></li><li><a href="https://youtu.be/5506X2xioi0?si=qjBkk2ZuxpD08ZkI">Anders TS GO Interview </a></li><li><a href="https://youtu.be/hPaiK0omhEw?si=5EmGY0WT3hAHSX5q">Final Boss Challenge</a> </li><li><a href="https://github.com/MichiganTypeScript/typescript-types-only-wasm-runtime">TypeScript Types WASM Runtime</a></li></ul><p><br></p><p><strong>News Links</strong></p><ul><li><a href="https://v4.zod.dev/v4">Zod 4 Beta</a></li><li><a href="https://youtu.be/xcm53k0ePmY?si=HNTuxJHgSL2hU43x">Matt Pocock's Video</a></li><li>Dan Abramov - RSCs or Maybe Not<ul><li><a href="https://overreacted.io/react-for-two-computers/">https://overreacted.io/react-for-two-computers/</a> </li><li><a href="https://youtu.be/ozI4V_29fj4">https://youtu.be/ozI4V_29fj4</a> </li></ul></li><li>Axel’s Corner<ul><li>Testing Types <ul><li><a href="https://2ality.com/2025/04/testing-types-typescript.html">https://2ality.com/2025/04/testing-types-typescript.html</a> </li><li><a href="https://bsky.app/profile/dr-axel.de/post/3lmmwp4ovek2q">https://bsky.app/profile/dr-axel.de/post/3lmmwp4ovek2q</a> </li></ul></li><li>Deploying TypeScript (timely!)<ul><li><a href="https://2ality.com/2025/04/deploying-typescript-present-future.html">https://2ality.com/2025/04/deploying-typescript-present-future.html</a></li></ul></li></ul></li><li>https://www.pipe0.com/blog/never-in-typescript </li><li>https://www.typescriptlang.org/docs/handbook/2/conditional-types.html#distributive-conditional-types </li><li>Kamran<ul><li><a href="https://bun.sh/blog/debugging-memory-leaks?utm_source=ECMAScript.news&amp;utm_medium=Weekly+Newsletter&amp;utm_campaign=2025-04-09">https://bun.sh/blog/debugging-memory-leaks</a></li><li>Animate UI: copy paste or installable components built with TS, React, and Tailwind using Motion.</li></ul></li><li>Erik<ul><li><a href="https://vgmcon.org/">VGM Con</a></li><li><a href="https://youtu.be/G2tvnmSyP2M">Shader Programming Talk</a></li><li>Sebastian Lague - Simulated CPU<ul><li><a href="https://youtu.be/HGkuRp5HfH8?si=9iNm0Ad1z4T4AePj">https://youtu.be/HGkuRp5HfH8?si=9iNm0Ad1z4T4AePj</a> </li></ul></li><li>Sebastian Lague - Rendering Text<ul><li><a href="https://youtu.be/SO83KQuuZvg?si=uzPojhUqBvV35q7F">https://youtu.be/SO83KQuuZvg?si=uzPojhUqBvV35q7F</a>  </li></ul></li></ul></li></ul><p> <br><strong>Excalibur Games</strong></p><ul><li><a href="https://excaliburjs.com/sum-monsters/">Sum Monsters </a></li><li><a href="https://excaliburjs.com/sweep/">Sweep Stacks</a> </li><li><a href="https://excaliburjs.com/sample-tactics/">Tiny Tactics</a> </li><li><a href="https://excaliburjs.com/sample-jelly-jumper/">Jelly Jumper</a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
  <li><a href="https://typescript.fm/people/dimitri-mitropoulos">Dimitri Mitropoulos</a> - Guest</li>
</ul>]]>
      </content:encoded>
      <pubDate>Wed, 16 Apr 2025 08:22:44 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/46f30ec5/40161229.mp3" length="40821925" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>5098</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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. </p><p><br><strong>Chapters</strong></p><p></p><ul><li>(00:00) - Intro</li>
<li>(00:37) - SquiggleConf 2025</li>
<li>(01:00) - Personal News</li>
<li>(04:28) - Dimitri's Background and Michigan TypeScript</li>
<li>(08:35) - JSON Parser in TypeScript Types</li>
<li>(09:08) - Where do you start with DOOM in Types?</li>
<li>(10:01) - "DOOM" Complete</li>
<li>(13:57) - How do you run DOOM in TS?</li>
<li>(17:36) - Debugging an Emulator in TS Types</li>
<li>(19:22) - How does DOOM work?</li>
<li>(20:45) - Using Web Assembly</li>
<li>(22:49) - Understanding WebAssembly and TypeScript Integration</li>
<li>(24:59) - The Concept of Abstraction in Programming</li>
<li>(27:02) - Challenges in Implementing WebAssembly from the Spec</li>
<li>(28:59) - Ambiguities in Specifications and Their Impact</li>
<li>(30:40) - Debugging Techniques and Error Handling</li>
<li>(32:24) - Innovative Use of Overflow in Game Development</li>
<li>(35:40) - Insights Gained from TypeScript During the Project</li>
<li>(38:24) - The Complexity of TypeScript Types</li>
<li>(43:08) - Time Travel Debugging and Memory Management</li>
<li>(45:00) - The Most Challenging Aspects of the Project</li>
<li>(48:32) - Reactions to DOOM</li>
<li>(53:10) - The Dawn of TypeScript Go</li>
<li>(01:02:14) - Lessons Learned and Future Directions</li>
<li>(01:08:37) - Dimitri Says Goodbye!</li>
<li>(01:09:50) - News for the Week of April 7th</li>
<li>(01:14:42) - Community Posts</li>
<li>(01:17:39) - Secret of the Handbook</li>
<li>(01:19:07) - Cool Stuff from Erik</li>
<li>(01:19:51) - Debugging and Performance Optimization Techniques</li>
</ul><br><strong>Dimitri's Links</strong><ul><li><a href="https://2025.squiggleconf.com/">SquiggleConf 2025</a></li><li><a href="https://www.youtube.com/@MichiganTypeScript">Michigan TypeScript</a></li><li><a href="https://youtu.be/0mCsluv5FXA?si=Db7r7KxAoCgZ4N88">TypeScript Types Can Run Doom</a></li><li><a href="https://youtu.be/5506X2xioi0?si=qjBkk2ZuxpD08ZkI">Anders TS GO Interview </a></li><li><a href="https://youtu.be/hPaiK0omhEw?si=5EmGY0WT3hAHSX5q">Final Boss Challenge</a> </li><li><a href="https://github.com/MichiganTypeScript/typescript-types-only-wasm-runtime">TypeScript Types WASM Runtime</a></li></ul><p><br></p><p><strong>News Links</strong></p><ul><li><a href="https://v4.zod.dev/v4">Zod 4 Beta</a></li><li><a href="https://youtu.be/xcm53k0ePmY?si=HNTuxJHgSL2hU43x">Matt Pocock's Video</a></li><li>Dan Abramov - RSCs or Maybe Not<ul><li><a href="https://overreacted.io/react-for-two-computers/">https://overreacted.io/react-for-two-computers/</a> </li><li><a href="https://youtu.be/ozI4V_29fj4">https://youtu.be/ozI4V_29fj4</a> </li></ul></li><li>Axel’s Corner<ul><li>Testing Types <ul><li><a href="https://2ality.com/2025/04/testing-types-typescript.html">https://2ality.com/2025/04/testing-types-typescript.html</a> </li><li><a href="https://bsky.app/profile/dr-axel.de/post/3lmmwp4ovek2q">https://bsky.app/profile/dr-axel.de/post/3lmmwp4ovek2q</a> </li></ul></li><li>Deploying TypeScript (timely!)<ul><li><a href="https://2ality.com/2025/04/deploying-typescript-present-future.html">https://2ality.com/2025/04/deploying-typescript-present-future.html</a></li></ul></li></ul></li><li>https://www.pipe0.com/blog/never-in-typescript </li><li>https://www.typescriptlang.org/docs/handbook/2/conditional-types.html#distributive-conditional-types </li><li>Kamran<ul><li><a href="https://bun.sh/blog/debugging-memory-leaks?utm_source=ECMAScript.news&amp;utm_medium=Weekly+Newsletter&amp;utm_campaign=2025-04-09">https://bun.sh/blog/debugging-memory-leaks</a></li><li>Animate UI: copy paste or installable components built with TS, React, and Tailwind using Motion.</li></ul></li><li>Erik<ul><li><a href="https://vgmcon.org/">VGM Con</a></li><li><a href="https://youtu.be/G2tvnmSyP2M">Shader Programming Talk</a></li><li>Sebastian Lague - Simulated CPU<ul><li><a href="https://youtu.be/HGkuRp5HfH8?si=9iNm0Ad1z4T4AePj">https://youtu.be/HGkuRp5HfH8?si=9iNm0Ad1z4T4AePj</a> </li></ul></li><li>Sebastian Lague - Rendering Text<ul><li><a href="https://youtu.be/SO83KQuuZvg?si=uzPojhUqBvV35q7F">https://youtu.be/SO83KQuuZvg?si=uzPojhUqBvV35q7F</a>  </li></ul></li></ul></li></ul><p> <br><strong>Excalibur Games</strong></p><ul><li><a href="https://excaliburjs.com/sum-monsters/">Sum Monsters </a></li><li><a href="https://excaliburjs.com/sweep/">Sweep Stacks</a> </li><li><a href="https://excaliburjs.com/sample-tactics/">Tiny Tactics</a> </li><li><a href="https://excaliburjs.com/sample-jelly-jumper/">Jelly Jumper</a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
  <li><a href="https://typescript.fm/people/dimitri-mitropoulos">Dimitri Mitropoulos</a> - Guest</li>
</ul>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:person role="Guest" href="https://youtube.com/@MichiganTypeScript" img="https://img.transistorcdn.com/OS52BpoWEgsWupXz3SMxHu8VrytZqEzpfPA2TuFy19k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9jNjY2/OGYzNzA0NWU5NjZk/NDIwZGVlZTM5ZTY3/NTZmNy5qcGVn.jpg">Dimitri Mitropoulos</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/46f30ec5/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title> Enums in JS, Deno v Oracle Cage Match, and Parcel Gets React Server Components | Grab Bag | Ep 12</title>
      <itunes:episode>12</itunes:episode>
      <podcast:episode>12</podcast:episode>
      <itunes:title> Enums in JS, Deno v Oracle Cage Match, and Parcel Gets React Server Components | Grab Bag | Ep 12</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">937077ae-cda0-4a6b-bd75-3b060cff98fb</guid>
      <link>https://share.transistor.fm/s/aedc15e9</link>
      <description>
        <![CDATA[<p>This week on the pod, we were very busy with travel, cons, and sickness! We have a news grab bag episode talking about the JS enums proposal, Deno v. Oracle, Parcel+RSCs, Firefox vulnerabilities and more!</p><p>Also Please email us your feedback for your retro episode (feedback@typescript.fm)</p><p>00:00 Intro<br>00:50 VGM Con<br>02:07<a href="https://www.eventbrite.com/e/igdatc-gamedev-meeting-april-2025-erik-onarheim-learn-shader-programming-tickets-1315138086419?aff=ebdssbdestsearch"> IGDATC Talk Wednesday April 9th</a><br>02:41 Toddler Zone<br>03:28 Exciting Arizona Travels<br>05:53 (Almost) Missing Flights<br>07:33 Sponsored by Excalibur.js<br>08:44 <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3llxwpgw5r22m">JavaScript Enums Proposal</a><br>10:06 Deno v. Oracle</p><ul><li><a href="https://deno.com/blog/deno-v-oracle3">Deno Blog Post</a></li><li><a href="https://javascript.tm/">JavaScript.tm Petition</a></li></ul><p>12:55 <a href="https://parceljs.org/blog/v2-14-0?utm_source=metaframeworks&amp;utm_medium=email&amp;utm_campaign=issue-11-around-the-world">Parcel 2.14 and React Server Components</a><br>14:01 <a href="https://parceljs.org/recipes/web-extension/">Build Browser Extensions with Parcel</a><br>14:18 NPM Ecosystem Updates</p><ul><li><a href="https://bsky.app/profile/jakebailey.dev/post/3llwaydntic2o">Jake Bailey's Post</a></li><li><a href="https://github.com/npm/cli/pull/8184">Kat Marchán's Fix</a></li></ul><p>15:23 Mozilla JavaScript Sandbox Vulnerability</p><ul><li><a href="https://www.bleepingcomputer.com/news/security/mozilla-warns-windows-users-of-critical-firefox-sandbox-escape-flaw/">Bleeping Computer</a></li><li><a href="https://www.mozilla.org/en-US/security/advisories/mfsa2025-19/#CVE-2025-2857">CVE Details from Mozilla</a></li></ul><p>16:51 Community: <a href="https://bsky.app/profile/jollycod.ing/post/3llhz323bgq23">ArkType Deep Dive</a><br>17:31 Community: JavaScript &amp; TypeScript in my Database</p><ul><li><a href="https://youtu.be/4DzXCpRNt14?si=YRbq75a3DTqFjgPg">Typed Rocks Video</a></li><li><a href="https://plv8.github.io/#plv8">PLV8 Extension</a></li></ul><p>20:00 Kamran's Cool Stuff: <a href="https://phiresky.github.io/blog/2025/visualizing-all-books-in-isbn-space/">Data Visualization with TypeScript</a><br>20:40 Erik's Cool Stuff</p><ul><li><a href="https://store.steampowered.com/app/2446600/Dark_Deity_2/">Game: Dark Diety 2</a></li></ul><p>21:27 Sprite Sheet Packing with <a href="https://github.com/mapbox/potpack/tree/main">Potpack</a><br>23:53 <a href="https://github.com/awesome-selfhosted/awesome-selfhosted">De-Google Your Life</a><br>25:46 HyperLight: A Lightweight VM for WASM</p><ul><li><a href="https://opensource.microsoft.com/blog/2025/03/26/hyperlight-wasm-fast-secure-and-os-free/">MS HyperLight Announcement Post</a></li><li><a href="https://github.com/hyperlight-dev/hyperlight">HyperLight Main Repo</a></li><li><a href="https://github.com/hyperlight-dev/hyperlight-wasm">HyperLight WASM Repo</a></li></ul><p>30:26 Post-roll</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This week on the pod, we were very busy with travel, cons, and sickness! We have a news grab bag episode talking about the JS enums proposal, Deno v. Oracle, Parcel+RSCs, Firefox vulnerabilities and more!</p><p>Also Please email us your feedback for your retro episode (feedback@typescript.fm)</p><p>00:00 Intro<br>00:50 VGM Con<br>02:07<a href="https://www.eventbrite.com/e/igdatc-gamedev-meeting-april-2025-erik-onarheim-learn-shader-programming-tickets-1315138086419?aff=ebdssbdestsearch"> IGDATC Talk Wednesday April 9th</a><br>02:41 Toddler Zone<br>03:28 Exciting Arizona Travels<br>05:53 (Almost) Missing Flights<br>07:33 Sponsored by Excalibur.js<br>08:44 <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3llxwpgw5r22m">JavaScript Enums Proposal</a><br>10:06 Deno v. Oracle</p><ul><li><a href="https://deno.com/blog/deno-v-oracle3">Deno Blog Post</a></li><li><a href="https://javascript.tm/">JavaScript.tm Petition</a></li></ul><p>12:55 <a href="https://parceljs.org/blog/v2-14-0?utm_source=metaframeworks&amp;utm_medium=email&amp;utm_campaign=issue-11-around-the-world">Parcel 2.14 and React Server Components</a><br>14:01 <a href="https://parceljs.org/recipes/web-extension/">Build Browser Extensions with Parcel</a><br>14:18 NPM Ecosystem Updates</p><ul><li><a href="https://bsky.app/profile/jakebailey.dev/post/3llwaydntic2o">Jake Bailey's Post</a></li><li><a href="https://github.com/npm/cli/pull/8184">Kat Marchán's Fix</a></li></ul><p>15:23 Mozilla JavaScript Sandbox Vulnerability</p><ul><li><a href="https://www.bleepingcomputer.com/news/security/mozilla-warns-windows-users-of-critical-firefox-sandbox-escape-flaw/">Bleeping Computer</a></li><li><a href="https://www.mozilla.org/en-US/security/advisories/mfsa2025-19/#CVE-2025-2857">CVE Details from Mozilla</a></li></ul><p>16:51 Community: <a href="https://bsky.app/profile/jollycod.ing/post/3llhz323bgq23">ArkType Deep Dive</a><br>17:31 Community: JavaScript &amp; TypeScript in my Database</p><ul><li><a href="https://youtu.be/4DzXCpRNt14?si=YRbq75a3DTqFjgPg">Typed Rocks Video</a></li><li><a href="https://plv8.github.io/#plv8">PLV8 Extension</a></li></ul><p>20:00 Kamran's Cool Stuff: <a href="https://phiresky.github.io/blog/2025/visualizing-all-books-in-isbn-space/">Data Visualization with TypeScript</a><br>20:40 Erik's Cool Stuff</p><ul><li><a href="https://store.steampowered.com/app/2446600/Dark_Deity_2/">Game: Dark Diety 2</a></li></ul><p>21:27 Sprite Sheet Packing with <a href="https://github.com/mapbox/potpack/tree/main">Potpack</a><br>23:53 <a href="https://github.com/awesome-selfhosted/awesome-selfhosted">De-Google Your Life</a><br>25:46 HyperLight: A Lightweight VM for WASM</p><ul><li><a href="https://opensource.microsoft.com/blog/2025/03/26/hyperlight-wasm-fast-secure-and-os-free/">MS HyperLight Announcement Post</a></li><li><a href="https://github.com/hyperlight-dev/hyperlight">HyperLight Main Repo</a></li><li><a href="https://github.com/hyperlight-dev/hyperlight-wasm">HyperLight WASM Repo</a></li></ul><p>30:26 Post-roll</p>]]>
      </content:encoded>
      <pubDate>Tue, 08 Apr 2025 09:33:58 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/aedc15e9/7d073fc9.mp3" length="15084245" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>1881</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>This week on the pod, we were very busy with travel, cons, and sickness! We have a news grab bag episode talking about the JS enums proposal, Deno v. Oracle, Parcel+RSCs, Firefox vulnerabilities and more!</p><p>Also Please email us your feedback for your retro episode (feedback@typescript.fm)</p><p>00:00 Intro<br>00:50 VGM Con<br>02:07<a href="https://www.eventbrite.com/e/igdatc-gamedev-meeting-april-2025-erik-onarheim-learn-shader-programming-tickets-1315138086419?aff=ebdssbdestsearch"> IGDATC Talk Wednesday April 9th</a><br>02:41 Toddler Zone<br>03:28 Exciting Arizona Travels<br>05:53 (Almost) Missing Flights<br>07:33 Sponsored by Excalibur.js<br>08:44 <a href="https://bsky.app/profile/robpalmer.bsky.social/post/3llxwpgw5r22m">JavaScript Enums Proposal</a><br>10:06 Deno v. Oracle</p><ul><li><a href="https://deno.com/blog/deno-v-oracle3">Deno Blog Post</a></li><li><a href="https://javascript.tm/">JavaScript.tm Petition</a></li></ul><p>12:55 <a href="https://parceljs.org/blog/v2-14-0?utm_source=metaframeworks&amp;utm_medium=email&amp;utm_campaign=issue-11-around-the-world">Parcel 2.14 and React Server Components</a><br>14:01 <a href="https://parceljs.org/recipes/web-extension/">Build Browser Extensions with Parcel</a><br>14:18 NPM Ecosystem Updates</p><ul><li><a href="https://bsky.app/profile/jakebailey.dev/post/3llwaydntic2o">Jake Bailey's Post</a></li><li><a href="https://github.com/npm/cli/pull/8184">Kat Marchán's Fix</a></li></ul><p>15:23 Mozilla JavaScript Sandbox Vulnerability</p><ul><li><a href="https://www.bleepingcomputer.com/news/security/mozilla-warns-windows-users-of-critical-firefox-sandbox-escape-flaw/">Bleeping Computer</a></li><li><a href="https://www.mozilla.org/en-US/security/advisories/mfsa2025-19/#CVE-2025-2857">CVE Details from Mozilla</a></li></ul><p>16:51 Community: <a href="https://bsky.app/profile/jollycod.ing/post/3llhz323bgq23">ArkType Deep Dive</a><br>17:31 Community: JavaScript &amp; TypeScript in my Database</p><ul><li><a href="https://youtu.be/4DzXCpRNt14?si=YRbq75a3DTqFjgPg">Typed Rocks Video</a></li><li><a href="https://plv8.github.io/#plv8">PLV8 Extension</a></li></ul><p>20:00 Kamran's Cool Stuff: <a href="https://phiresky.github.io/blog/2025/visualizing-all-books-in-isbn-space/">Data Visualization with TypeScript</a><br>20:40 Erik's Cool Stuff</p><ul><li><a href="https://store.steampowered.com/app/2446600/Dark_Deity_2/">Game: Dark Diety 2</a></li></ul><p>21:27 Sprite Sheet Packing with <a href="https://github.com/mapbox/potpack/tree/main">Potpack</a><br>23:53 <a href="https://github.com/awesome-selfhosted/awesome-selfhosted">De-Google Your Life</a><br>25:46 HyperLight: A Lightweight VM for WASM</p><ul><li><a href="https://opensource.microsoft.com/blog/2025/03/26/hyperlight-wasm-fast-secure-and-os-free/">MS HyperLight Announcement Post</a></li><li><a href="https://github.com/hyperlight-dev/hyperlight">HyperLight Main Repo</a></li><li><a href="https://github.com/hyperlight-dev/hyperlight-wasm">HyperLight WASM Repo</a></li></ul><p>30:26 Post-roll</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
    </item>
    <item>
      <title>Baby Got Bun | Ep 11</title>
      <itunes:episode>11</itunes:episode>
      <podcast:episode>11</podcast:episode>
      <itunes:title>Baby Got Bun | Ep 11</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">0e1ba367-d086-43a1-b617-a127803593ee</guid>
      <link>https://share.transistor.fm/s/25fcc60b</link>
      <description>
        <![CDATA[<p>This week on the pod, we talk all about the Bun runtime funtimes! This is a powerful new player in the JavaScript and TypeScript runtime space focusing on DX, speed, and pushing the state of the art! We dive into the details and offer some of our thoughts around when to use it at the moment. In other news we avoid phone scams and talk fun new TypeScript libraries. </p><p>Also Please email us your feedback for your retro episode (feedback at typescript.fm)</p><p><strong>Personal News</strong></p><ul><li>00:36 Welcome</li><li>01:33 Kamran &amp; Erik IRL<ul><li><a href="https://www.eventbrite.com/e/minnebar19-tickets-1218123583429?aff=ebdsshother&amp;utm_share_source=listing_android">Minnebar</a></li><li><a href="https://vgmcon.org/">VGM Con</a></li></ul></li><li>02:39 Erik @ C Fundamentals by Frontend Masters<ul><li><a href="https://frontendmasters.com/">FFM</a></li></ul></li><li>02:55 Vibe Coding</li><li>03:43 LLMs "what are they good for?!"</li><li>04:31 Kamran's New Course</li><li>06:16 Kamran Review book on Time Freedom</li><li>07:31 Scams and Phone Calls<ul><li><a href="https://consumer.ftc.gov/consumer-alerts/2024/09/did-you-get-call-or-email-saying-you-missed-jury-duty-and-need-pay-its-scam">FTC Warning about fake Jury Duty</a></li></ul></li></ul><p><strong><br>(09:26) News for the Week of March 17, 2025</strong></p><ul><li>09:34 <a href="https://zeropath.com/blog/nextjs-middleware-cve-2025-29927-auth-bypass">Next.js 9.1 CVE</a><ul><li><a href="https://github.com/vercel/next.js/pull/77201">PR with fix</a></li><li><a href="https://youtu.be/JbF_8g1EXj4?si=_d4XHly2_MCDPTAA%20">Ed's Video on this @ Low Level Learning</a></li></ul></li><li>10:43 <a href="https://github.com/denoland/deno/releases/tag/v2.2.5">Deno 2.2.5</a></li><li>11:13 <a href="https://github.com/denoland/deno/pull/28512">Deno Patch Functionality</a></li><li>11:59 <a href="https://docs.deno.com/runtime/fundamentals/ffi/">Deno FFI Docs Update</a></li><li>13:04 <a href="https://github.com/pandaci-com/PandaCI">PandaCI</a>: A New CI/CD Tool</li><li>16:17 <a href="https://github.com/Snowflyt/hkt-core">HKT Core</a></li></ul><p><strong><br>(17:33) Community Highlights</strong></p><ul><li>17:33 <a href="https://github.com/microsoft/typescript-go/discussions/455%20">TS Go GitHub Discussion on Compiler API</a></li><li>18:24 <a href="https://bsky.app/profile/nuro.dev/post/3lknodidzr22z">Deno Compile Vite</a></li><li>20:07 <a href="https://deno.com/blog/otel-tracing-in-node-and-deno">Blog Post by Andy Jiang</a> about Deno+OTel</li><li>22:35 <a href="https://bsky.app/profile/housecor.com/post/3lkqifnifis2b">Cory House on Implementing Immutability</a> in TypeScript</li><li>23:16 <a href="https://dev.to/duplessisvanaswegen/help-its-another-typescript-metadata-registry-but-this-ones-useful-1ohk">RGSTRY </a>for managing decorator metadata</li><li>24:19 <a href="https://github.com/nodejs/TSC/pull/1527">Corepack </a><a href="https://bsky.app/profile/notwes.bsky.social/post/3ljnjtdydzc2b">removal </a>from Node, Sarah has a <a href="https://socket.dev/blog/node-js-takes-steps-towards-removing-corepack">good overview</a></li></ul><p><strong><br>Bun Deep Dive</strong></p><ul><li>27:22 Introduction to Bun Runtime<ul><li><a href="https://www.youtube.com/watch?v=He5TN5Qc6O8%20">Baby Got Back by Jonathan Coulton </a></li></ul></li><li>28:01 What is Bun</li><li>28:23 Bun vs Node.js and Dino</li><li>29:25 Features and Capabilities of Bun</li><li>30:40 Bun Performance</li><li>31:23 C Tangent</li><li>32:12 Bun DX</li><li>35:20 Standalone Executable</li><li>35:53 Use Cases for Bun</li><li>38:00 Cautions and Considerations</li><li>41:38 Good Use Cases</li><li>46:24 Bun Community<ul><li>This OP <a href="https://www.reddit.com/r/typescript/s/2v1kbKFjfA">asked about Bun</a> and ended up <a href="https://www.reddit.com/r/typescript/s/9zYSabn557">moving to Deno</a> actually</li><li><a href="https://bsky.app/profile/nulo.lol/post/3lla267kqgs25">Memory Leaks</a> </li><li><a href="https://www.reddit.com/r/node/comments/189prv3/whats_the_status_with_bun">Reddit</a> <a href="https://www.reddit.com/r/bun/comments/1ggl7rd/curious_about_realworld_experiences_with_bunjs">threads</a></li></ul></li><li>48:09 Conclusions</li></ul><p><strong>Outro</strong></p><ul><li>52:00 Cool Stuff This Week</li><li>58:11 Give Us Feedback (feedback at typescript.fm)</li></ul><p><br><strong>Other Links</strong></p><ul><li><a href="https://bsky.app/profile/neil-vass.com/post/3llc32fpji22n">Profiling </a>TypeScript <a href="https://code.visualstudio.com/docs/nodejs/profiling">in VSCode</a></li><li><a href="https://bsky.app/profile/luismachadoreis.bsky.social/post/3lktinbenq225">Cobol Based UI</a></li><li>https://github.com/oven-sh/awesome-bun </li><li><a href="https://bsky.app/profile/scottbedard.net/post/3ll3l3f27sc2d">Chess in TypeScript types</a><a href="https://mathstodon.xyz/@sc_griffith/110749575739905416%20"> </a></li><li><a href="https://mathstodon.xyz/@sc_griffith/110749575739905416%20">Developer Speak</a></li></ul><p><strong><br>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This week on the pod, we talk all about the Bun runtime funtimes! This is a powerful new player in the JavaScript and TypeScript runtime space focusing on DX, speed, and pushing the state of the art! We dive into the details and offer some of our thoughts around when to use it at the moment. In other news we avoid phone scams and talk fun new TypeScript libraries. </p><p>Also Please email us your feedback for your retro episode (feedback at typescript.fm)</p><p><strong>Personal News</strong></p><ul><li>00:36 Welcome</li><li>01:33 Kamran &amp; Erik IRL<ul><li><a href="https://www.eventbrite.com/e/minnebar19-tickets-1218123583429?aff=ebdsshother&amp;utm_share_source=listing_android">Minnebar</a></li><li><a href="https://vgmcon.org/">VGM Con</a></li></ul></li><li>02:39 Erik @ C Fundamentals by Frontend Masters<ul><li><a href="https://frontendmasters.com/">FFM</a></li></ul></li><li>02:55 Vibe Coding</li><li>03:43 LLMs "what are they good for?!"</li><li>04:31 Kamran's New Course</li><li>06:16 Kamran Review book on Time Freedom</li><li>07:31 Scams and Phone Calls<ul><li><a href="https://consumer.ftc.gov/consumer-alerts/2024/09/did-you-get-call-or-email-saying-you-missed-jury-duty-and-need-pay-its-scam">FTC Warning about fake Jury Duty</a></li></ul></li></ul><p><strong><br>(09:26) News for the Week of March 17, 2025</strong></p><ul><li>09:34 <a href="https://zeropath.com/blog/nextjs-middleware-cve-2025-29927-auth-bypass">Next.js 9.1 CVE</a><ul><li><a href="https://github.com/vercel/next.js/pull/77201">PR with fix</a></li><li><a href="https://youtu.be/JbF_8g1EXj4?si=_d4XHly2_MCDPTAA%20">Ed's Video on this @ Low Level Learning</a></li></ul></li><li>10:43 <a href="https://github.com/denoland/deno/releases/tag/v2.2.5">Deno 2.2.5</a></li><li>11:13 <a href="https://github.com/denoland/deno/pull/28512">Deno Patch Functionality</a></li><li>11:59 <a href="https://docs.deno.com/runtime/fundamentals/ffi/">Deno FFI Docs Update</a></li><li>13:04 <a href="https://github.com/pandaci-com/PandaCI">PandaCI</a>: A New CI/CD Tool</li><li>16:17 <a href="https://github.com/Snowflyt/hkt-core">HKT Core</a></li></ul><p><strong><br>(17:33) Community Highlights</strong></p><ul><li>17:33 <a href="https://github.com/microsoft/typescript-go/discussions/455%20">TS Go GitHub Discussion on Compiler API</a></li><li>18:24 <a href="https://bsky.app/profile/nuro.dev/post/3lknodidzr22z">Deno Compile Vite</a></li><li>20:07 <a href="https://deno.com/blog/otel-tracing-in-node-and-deno">Blog Post by Andy Jiang</a> about Deno+OTel</li><li>22:35 <a href="https://bsky.app/profile/housecor.com/post/3lkqifnifis2b">Cory House on Implementing Immutability</a> in TypeScript</li><li>23:16 <a href="https://dev.to/duplessisvanaswegen/help-its-another-typescript-metadata-registry-but-this-ones-useful-1ohk">RGSTRY </a>for managing decorator metadata</li><li>24:19 <a href="https://github.com/nodejs/TSC/pull/1527">Corepack </a><a href="https://bsky.app/profile/notwes.bsky.social/post/3ljnjtdydzc2b">removal </a>from Node, Sarah has a <a href="https://socket.dev/blog/node-js-takes-steps-towards-removing-corepack">good overview</a></li></ul><p><strong><br>Bun Deep Dive</strong></p><ul><li>27:22 Introduction to Bun Runtime<ul><li><a href="https://www.youtube.com/watch?v=He5TN5Qc6O8%20">Baby Got Back by Jonathan Coulton </a></li></ul></li><li>28:01 What is Bun</li><li>28:23 Bun vs Node.js and Dino</li><li>29:25 Features and Capabilities of Bun</li><li>30:40 Bun Performance</li><li>31:23 C Tangent</li><li>32:12 Bun DX</li><li>35:20 Standalone Executable</li><li>35:53 Use Cases for Bun</li><li>38:00 Cautions and Considerations</li><li>41:38 Good Use Cases</li><li>46:24 Bun Community<ul><li>This OP <a href="https://www.reddit.com/r/typescript/s/2v1kbKFjfA">asked about Bun</a> and ended up <a href="https://www.reddit.com/r/typescript/s/9zYSabn557">moving to Deno</a> actually</li><li><a href="https://bsky.app/profile/nulo.lol/post/3lla267kqgs25">Memory Leaks</a> </li><li><a href="https://www.reddit.com/r/node/comments/189prv3/whats_the_status_with_bun">Reddit</a> <a href="https://www.reddit.com/r/bun/comments/1ggl7rd/curious_about_realworld_experiences_with_bunjs">threads</a></li></ul></li><li>48:09 Conclusions</li></ul><p><strong>Outro</strong></p><ul><li>52:00 Cool Stuff This Week</li><li>58:11 Give Us Feedback (feedback at typescript.fm)</li></ul><p><br><strong>Other Links</strong></p><ul><li><a href="https://bsky.app/profile/neil-vass.com/post/3llc32fpji22n">Profiling </a>TypeScript <a href="https://code.visualstudio.com/docs/nodejs/profiling">in VSCode</a></li><li><a href="https://bsky.app/profile/luismachadoreis.bsky.social/post/3lktinbenq225">Cobol Based UI</a></li><li>https://github.com/oven-sh/awesome-bun </li><li><a href="https://bsky.app/profile/scottbedard.net/post/3ll3l3f27sc2d">Chess in TypeScript types</a><a href="https://mathstodon.xyz/@sc_griffith/110749575739905416%20"> </a></li><li><a href="https://mathstodon.xyz/@sc_griffith/110749575739905416%20">Developer Speak</a></li></ul><p><strong><br>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </content:encoded>
      <pubDate>Mon, 31 Mar 2025 09:57:49 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/25fcc60b/63555250.mp3" length="29215444" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>3647</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>This week on the pod, we talk all about the Bun runtime funtimes! This is a powerful new player in the JavaScript and TypeScript runtime space focusing on DX, speed, and pushing the state of the art! We dive into the details and offer some of our thoughts around when to use it at the moment. In other news we avoid phone scams and talk fun new TypeScript libraries. </p><p>Also Please email us your feedback for your retro episode (feedback at typescript.fm)</p><p><strong>Personal News</strong></p><ul><li>00:36 Welcome</li><li>01:33 Kamran &amp; Erik IRL<ul><li><a href="https://www.eventbrite.com/e/minnebar19-tickets-1218123583429?aff=ebdsshother&amp;utm_share_source=listing_android">Minnebar</a></li><li><a href="https://vgmcon.org/">VGM Con</a></li></ul></li><li>02:39 Erik @ C Fundamentals by Frontend Masters<ul><li><a href="https://frontendmasters.com/">FFM</a></li></ul></li><li>02:55 Vibe Coding</li><li>03:43 LLMs "what are they good for?!"</li><li>04:31 Kamran's New Course</li><li>06:16 Kamran Review book on Time Freedom</li><li>07:31 Scams and Phone Calls<ul><li><a href="https://consumer.ftc.gov/consumer-alerts/2024/09/did-you-get-call-or-email-saying-you-missed-jury-duty-and-need-pay-its-scam">FTC Warning about fake Jury Duty</a></li></ul></li></ul><p><strong><br>(09:26) News for the Week of March 17, 2025</strong></p><ul><li>09:34 <a href="https://zeropath.com/blog/nextjs-middleware-cve-2025-29927-auth-bypass">Next.js 9.1 CVE</a><ul><li><a href="https://github.com/vercel/next.js/pull/77201">PR with fix</a></li><li><a href="https://youtu.be/JbF_8g1EXj4?si=_d4XHly2_MCDPTAA%20">Ed's Video on this @ Low Level Learning</a></li></ul></li><li>10:43 <a href="https://github.com/denoland/deno/releases/tag/v2.2.5">Deno 2.2.5</a></li><li>11:13 <a href="https://github.com/denoland/deno/pull/28512">Deno Patch Functionality</a></li><li>11:59 <a href="https://docs.deno.com/runtime/fundamentals/ffi/">Deno FFI Docs Update</a></li><li>13:04 <a href="https://github.com/pandaci-com/PandaCI">PandaCI</a>: A New CI/CD Tool</li><li>16:17 <a href="https://github.com/Snowflyt/hkt-core">HKT Core</a></li></ul><p><strong><br>(17:33) Community Highlights</strong></p><ul><li>17:33 <a href="https://github.com/microsoft/typescript-go/discussions/455%20">TS Go GitHub Discussion on Compiler API</a></li><li>18:24 <a href="https://bsky.app/profile/nuro.dev/post/3lknodidzr22z">Deno Compile Vite</a></li><li>20:07 <a href="https://deno.com/blog/otel-tracing-in-node-and-deno">Blog Post by Andy Jiang</a> about Deno+OTel</li><li>22:35 <a href="https://bsky.app/profile/housecor.com/post/3lkqifnifis2b">Cory House on Implementing Immutability</a> in TypeScript</li><li>23:16 <a href="https://dev.to/duplessisvanaswegen/help-its-another-typescript-metadata-registry-but-this-ones-useful-1ohk">RGSTRY </a>for managing decorator metadata</li><li>24:19 <a href="https://github.com/nodejs/TSC/pull/1527">Corepack </a><a href="https://bsky.app/profile/notwes.bsky.social/post/3ljnjtdydzc2b">removal </a>from Node, Sarah has a <a href="https://socket.dev/blog/node-js-takes-steps-towards-removing-corepack">good overview</a></li></ul><p><strong><br>Bun Deep Dive</strong></p><ul><li>27:22 Introduction to Bun Runtime<ul><li><a href="https://www.youtube.com/watch?v=He5TN5Qc6O8%20">Baby Got Back by Jonathan Coulton </a></li></ul></li><li>28:01 What is Bun</li><li>28:23 Bun vs Node.js and Dino</li><li>29:25 Features and Capabilities of Bun</li><li>30:40 Bun Performance</li><li>31:23 C Tangent</li><li>32:12 Bun DX</li><li>35:20 Standalone Executable</li><li>35:53 Use Cases for Bun</li><li>38:00 Cautions and Considerations</li><li>41:38 Good Use Cases</li><li>46:24 Bun Community<ul><li>This OP <a href="https://www.reddit.com/r/typescript/s/2v1kbKFjfA">asked about Bun</a> and ended up <a href="https://www.reddit.com/r/typescript/s/9zYSabn557">moving to Deno</a> actually</li><li><a href="https://bsky.app/profile/nulo.lol/post/3lla267kqgs25">Memory Leaks</a> </li><li><a href="https://www.reddit.com/r/node/comments/189prv3/whats_the_status_with_bun">Reddit</a> <a href="https://www.reddit.com/r/bun/comments/1ggl7rd/curious_about_realworld_experiences_with_bunjs">threads</a></li></ul></li><li>48:09 Conclusions</li></ul><p><strong>Outro</strong></p><ul><li>52:00 Cool Stuff This Week</li><li>58:11 Give Us Feedback (feedback at typescript.fm)</li></ul><p><br><strong>Other Links</strong></p><ul><li><a href="https://bsky.app/profile/neil-vass.com/post/3llc32fpji22n">Profiling </a>TypeScript <a href="https://code.visualstudio.com/docs/nodejs/profiling">in VSCode</a></li><li><a href="https://bsky.app/profile/luismachadoreis.bsky.social/post/3lktinbenq225">Cobol Based UI</a></li><li>https://github.com/oven-sh/awesome-bun </li><li><a href="https://bsky.app/profile/scottbedard.net/post/3ll3l3f27sc2d">Chess in TypeScript types</a><a href="https://mathstodon.xyz/@sc_griffith/110749575739905416%20"> </a></li><li><a href="https://mathstodon.xyz/@sc_griffith/110749575739905416%20">Developer Speak</a></li></ul><p><strong><br>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
    </item>
    <item>
      <title>The Vanilla TS Experience | Josh Goldberg | Ep 10</title>
      <itunes:episode>10</itunes:episode>
      <podcast:episode>10</podcast:episode>
      <itunes:title>The Vanilla TS Experience | Josh Goldberg | Ep 10</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">5486cb79-82ed-4746-a220-bd7c8cca3b58</guid>
      <link>https://share.transistor.fm/s/2ad7998b</link>
      <description>
        <![CDATA[<p>In this episode, we are joined by special guest Josh Goldberg to teach us about getting started with TypeScript from scratch. If you're new to TS, this is a great introduction! And if you've been using TS for a long time, you can explain to your friends where they should start to make their experience smoother. In the news, Nx gets support for project references and we curate some of the best TSGo content.</p><p><br><strong>(00:36) Personal News</strong></p><ul><li>IRL: Excalibur.js team will be at <a href="https://vgmcon.org/">VGM Con</a> (April 11-13, Minneapolis, MN)</li><li>IRL: Erik is <a href="https://ndcoslo.com/agenda/javascript-blazingly-fast-lessons-from-a-game-engine-0qrq/0lubfjy6nxx">speaking</a> at <a href="https://ndcoslo.com/">NDC Oslo</a> (May 19-23)</li></ul><p><strong>(04:28) Introducing Josh Goldberg</strong></p><ul><li>(<strong>07:10</strong>) - Josh's Work as a Full-time Open Sourcer</li><li>(<strong>09:05</strong>) - Getting Started with TypeScript<ul><li>Start with the <a href="https://www.typescriptlang.org/docs/handbook/intro.html">TypeScript Handbook</a> (it's free!)</li><li>Then, <a href="https://www.typescriptlang.org/play/">play with TypeScript</a> in the playground</li></ul></li><li>(<strong>10:57</strong>) - Pain Points for New TypeScript Developers</li><li>(<strong>12:41</strong>) - Benefits of TypeScript for Experienced Developers</li><li>(<strong>14:43</strong>) - Getting Started with TypeScript</li><li>(<strong>17:57</strong>) - CTA - <a href="https://github.com/JoshuaKGoldberg/create-typescript-app">create-typescript-app</a><ul><li>v2 rewrite spawned <a href="https://www.create.bingo/">Bingo</a>, dev tooling automation blocks</li></ul></li><li>(<strong>20:54</strong>) - Use Cases For Create TypeScript App</li><li>(<strong>26:58</strong>) - CTA <a href="https://www.joshuakgoldberg.com/blog/my-plans-for-2025/">Plans for the Future</a></li><li>(<strong>29:10</strong>) - Learning Resources for TypeScript<ul><li>Matt Pocock (<a href="https://totaltypescript.com?utm_source=typescript.fm">Total TypeScript</a>)</li><li>Cory House (<a href="https://dometrain.com/course/getting-started-typescript/">Getting Started with TypeScript</a>)</li><li>Basarat (<a href="https://basarat.gitbook.io/typescript">TypeScript Deep Dive</a>)</li><li>Code challenge: <a href="https://www.adventofts.com/">Advent of TS</a></li><li>Code challenge: <a href="https://adventofcode.com/">Advent of Code</a></li><li>Code challenge: <a href="https://tsch.js.org/">Type Challenges</a></li></ul></li><li>(<strong>32:17</strong>) - And of course, Josh's Book: <a href="https://LearningTypeScript.com">Learning TypeScript</a>!<ul><li>Learn the why and theory</li><li>Blog and articles</li><li>Buy the book!</li></ul></li><li>(<strong>33:30</strong>) - Favorite Language Feature: Discriminated Unions</li><li>(<strong>37:40</strong>) - Favorite Language Feature: Branded Types</li><li>(<strong>38:58</strong>) - Creating TypeScript ESLint Rules</li><li>(<strong>40:34</strong>) - Key Takeaways - Fun and Cool Stuff Happening!<ul><li><a href="https://bsky.app/profile/squiggleconf.com/post/3ljijvqdlhc2d">SquiggleConf 2025 CFP is open!</a></li></ul></li><li>(<strong>42:29</strong>) - Future of TypeScript and Linting Innovations<ul><li><a href="https://github.com/typescript-eslint/examples/tree/main/packages/eslint-plugin-example-typed-linting">Write your own TS linter</a></li></ul></li></ul><p><strong>(45:02) Where to Find Josh</strong></p><ul><li><a href="https://www.joshuakgoldberg.com/">Website</a></li><li>Follow on BlueSky <a href="https://bsky.app/profile/JoshuaKGoldberg.com">@JoshuaKGoldberg</a></li><li><a href="https://github.com/JoshuaKGoldberg">Sponsor on GitHub</a></li><li>Attend <a href="https://bsky.app/profile/squiggleconf.com">SquiggleConf 2025</a></li></ul><p><br></p><p><strong>(46:55) News for the Week of March 10, 2025</strong></p><ul><li>TSGo, but <a href="https://typescript.fm/9">we already covered that</a> (TS-a-Go-Go, Ep 9)</li><li><a href="https://github.com/denoland/deno/releases/tag/v2.2.4">Deno 2.2.4 update</a> adds enhancements to OpenTelemetry (OTel) support</li><li><a href="https://nx.dev/blog/nx-update-20-5">Nx 20.5</a> adds TS project reference support</li><li>Cory House <a href="https://dometrain.com/course/getting-started-typescript/">releases a new TypeScript course</a> on Dometrain</li><li><a href="https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v730">React Router 7.3 minor release</a><ul><li><em>Experimental </em>support for client contexts</li><li><em>Experimental</em> support for route middleware</li></ul></li><li>(<strong>49:25</strong>) - Community Updates<ul><li>Dr. Axel's Corner - Dive deeper with this <a href="https://2ality.com/2025/03/typescript-in-go.html">TSGO Explainer</a></li><li>Sxzz (Kevin from Vite) created a <a href="https://bsky.app/profile/sxzz.dev/post/3lk7fkhk75c2g">TSGo playground</a> with WASM</li><li>TSGo community content<ul><li><a href="https://www.youtube.com/watch?v=10qowKUW82U">MiTS interview</a></li><li><a href="https://www.youtube.com/watch?v=ZlGza4oIleY">Syntax interview</a></li><li><a href="https://www.youtube.com/watch?v=NrEW7F2WCNA">Matt Pocock interview</a></li><li><a href="https://www.youtube.com/watch?v=3-W95H5_lX0">Theo's video</a></li></ul></li></ul></li></ul><p><strong>(54:55) Cool Stuff</strong></p><ul><li><a href="https://didoesdigital.com/blog/zod-overview/">Learn Zod to Trust your Data and your Types</a> (h/t <a href="https://cassidoo.co/">cassidoo</a>)</li><li><a href="https://kk.org/thetechnium/50-years-of-travel-tips/">50 Years of Travel Tips by Kevin Kelly</a><ul><li>"Your enjoyment of a trip will be inversely related to the weight of your luggage"</li><li>"Crash a wedding. You are not a nuisance; you are the celebrity guest!"</li></ul></li><li>TypeScript ESlint: <a href="https://typescript-eslint.io/getting-started/">Getting Started Docs</a></li><li>Everhood Game (<a href="https://store.steampowered.com/app/1229380/Everhood/">Steam </a>| <a href="https://keeptrackofmygames.com/games/353332-a/everhood">Add to your Backlog</a>)</li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
  <li><a href="https://typescript.fm/people/josh-goldberg">Josh Goldberg 💖</a> - Guest</li>
</ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>In this episode, we are joined by special guest Josh Goldberg to teach us about getting started with TypeScript from scratch. If you're new to TS, this is a great introduction! And if you've been using TS for a long time, you can explain to your friends where they should start to make their experience smoother. In the news, Nx gets support for project references and we curate some of the best TSGo content.</p><p><br><strong>(00:36) Personal News</strong></p><ul><li>IRL: Excalibur.js team will be at <a href="https://vgmcon.org/">VGM Con</a> (April 11-13, Minneapolis, MN)</li><li>IRL: Erik is <a href="https://ndcoslo.com/agenda/javascript-blazingly-fast-lessons-from-a-game-engine-0qrq/0lubfjy6nxx">speaking</a> at <a href="https://ndcoslo.com/">NDC Oslo</a> (May 19-23)</li></ul><p><strong>(04:28) Introducing Josh Goldberg</strong></p><ul><li>(<strong>07:10</strong>) - Josh's Work as a Full-time Open Sourcer</li><li>(<strong>09:05</strong>) - Getting Started with TypeScript<ul><li>Start with the <a href="https://www.typescriptlang.org/docs/handbook/intro.html">TypeScript Handbook</a> (it's free!)</li><li>Then, <a href="https://www.typescriptlang.org/play/">play with TypeScript</a> in the playground</li></ul></li><li>(<strong>10:57</strong>) - Pain Points for New TypeScript Developers</li><li>(<strong>12:41</strong>) - Benefits of TypeScript for Experienced Developers</li><li>(<strong>14:43</strong>) - Getting Started with TypeScript</li><li>(<strong>17:57</strong>) - CTA - <a href="https://github.com/JoshuaKGoldberg/create-typescript-app">create-typescript-app</a><ul><li>v2 rewrite spawned <a href="https://www.create.bingo/">Bingo</a>, dev tooling automation blocks</li></ul></li><li>(<strong>20:54</strong>) - Use Cases For Create TypeScript App</li><li>(<strong>26:58</strong>) - CTA <a href="https://www.joshuakgoldberg.com/blog/my-plans-for-2025/">Plans for the Future</a></li><li>(<strong>29:10</strong>) - Learning Resources for TypeScript<ul><li>Matt Pocock (<a href="https://totaltypescript.com?utm_source=typescript.fm">Total TypeScript</a>)</li><li>Cory House (<a href="https://dometrain.com/course/getting-started-typescript/">Getting Started with TypeScript</a>)</li><li>Basarat (<a href="https://basarat.gitbook.io/typescript">TypeScript Deep Dive</a>)</li><li>Code challenge: <a href="https://www.adventofts.com/">Advent of TS</a></li><li>Code challenge: <a href="https://adventofcode.com/">Advent of Code</a></li><li>Code challenge: <a href="https://tsch.js.org/">Type Challenges</a></li></ul></li><li>(<strong>32:17</strong>) - And of course, Josh's Book: <a href="https://LearningTypeScript.com">Learning TypeScript</a>!<ul><li>Learn the why and theory</li><li>Blog and articles</li><li>Buy the book!</li></ul></li><li>(<strong>33:30</strong>) - Favorite Language Feature: Discriminated Unions</li><li>(<strong>37:40</strong>) - Favorite Language Feature: Branded Types</li><li>(<strong>38:58</strong>) - Creating TypeScript ESLint Rules</li><li>(<strong>40:34</strong>) - Key Takeaways - Fun and Cool Stuff Happening!<ul><li><a href="https://bsky.app/profile/squiggleconf.com/post/3ljijvqdlhc2d">SquiggleConf 2025 CFP is open!</a></li></ul></li><li>(<strong>42:29</strong>) - Future of TypeScript and Linting Innovations<ul><li><a href="https://github.com/typescript-eslint/examples/tree/main/packages/eslint-plugin-example-typed-linting">Write your own TS linter</a></li></ul></li></ul><p><strong>(45:02) Where to Find Josh</strong></p><ul><li><a href="https://www.joshuakgoldberg.com/">Website</a></li><li>Follow on BlueSky <a href="https://bsky.app/profile/JoshuaKGoldberg.com">@JoshuaKGoldberg</a></li><li><a href="https://github.com/JoshuaKGoldberg">Sponsor on GitHub</a></li><li>Attend <a href="https://bsky.app/profile/squiggleconf.com">SquiggleConf 2025</a></li></ul><p><br></p><p><strong>(46:55) News for the Week of March 10, 2025</strong></p><ul><li>TSGo, but <a href="https://typescript.fm/9">we already covered that</a> (TS-a-Go-Go, Ep 9)</li><li><a href="https://github.com/denoland/deno/releases/tag/v2.2.4">Deno 2.2.4 update</a> adds enhancements to OpenTelemetry (OTel) support</li><li><a href="https://nx.dev/blog/nx-update-20-5">Nx 20.5</a> adds TS project reference support</li><li>Cory House <a href="https://dometrain.com/course/getting-started-typescript/">releases a new TypeScript course</a> on Dometrain</li><li><a href="https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v730">React Router 7.3 minor release</a><ul><li><em>Experimental </em>support for client contexts</li><li><em>Experimental</em> support for route middleware</li></ul></li><li>(<strong>49:25</strong>) - Community Updates<ul><li>Dr. Axel's Corner - Dive deeper with this <a href="https://2ality.com/2025/03/typescript-in-go.html">TSGO Explainer</a></li><li>Sxzz (Kevin from Vite) created a <a href="https://bsky.app/profile/sxzz.dev/post/3lk7fkhk75c2g">TSGo playground</a> with WASM</li><li>TSGo community content<ul><li><a href="https://www.youtube.com/watch?v=10qowKUW82U">MiTS interview</a></li><li><a href="https://www.youtube.com/watch?v=ZlGza4oIleY">Syntax interview</a></li><li><a href="https://www.youtube.com/watch?v=NrEW7F2WCNA">Matt Pocock interview</a></li><li><a href="https://www.youtube.com/watch?v=3-W95H5_lX0">Theo's video</a></li></ul></li></ul></li></ul><p><strong>(54:55) Cool Stuff</strong></p><ul><li><a href="https://didoesdigital.com/blog/zod-overview/">Learn Zod to Trust your Data and your Types</a> (h/t <a href="https://cassidoo.co/">cassidoo</a>)</li><li><a href="https://kk.org/thetechnium/50-years-of-travel-tips/">50 Years of Travel Tips by Kevin Kelly</a><ul><li>"Your enjoyment of a trip will be inversely related to the weight of your luggage"</li><li>"Crash a wedding. You are not a nuisance; you are the celebrity guest!"</li></ul></li><li>TypeScript ESlint: <a href="https://typescript-eslint.io/getting-started/">Getting Started Docs</a></li><li>Everhood Game (<a href="https://store.steampowered.com/app/1229380/Everhood/">Steam </a>| <a href="https://keeptrackofmygames.com/games/353332-a/everhood">Add to your Backlog</a>)</li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
  <li><a href="https://typescript.fm/people/josh-goldberg">Josh Goldberg 💖</a> - Guest</li>
</ul>]]>
      </content:encoded>
      <pubDate>Mon, 24 Mar 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/2ad7998b/0e946c8c.mp3" length="27348658" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>3414</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>In this episode, we are joined by special guest Josh Goldberg to teach us about getting started with TypeScript from scratch. If you're new to TS, this is a great introduction! And if you've been using TS for a long time, you can explain to your friends where they should start to make their experience smoother. In the news, Nx gets support for project references and we curate some of the best TSGo content.</p><p><br><strong>(00:36) Personal News</strong></p><ul><li>IRL: Excalibur.js team will be at <a href="https://vgmcon.org/">VGM Con</a> (April 11-13, Minneapolis, MN)</li><li>IRL: Erik is <a href="https://ndcoslo.com/agenda/javascript-blazingly-fast-lessons-from-a-game-engine-0qrq/0lubfjy6nxx">speaking</a> at <a href="https://ndcoslo.com/">NDC Oslo</a> (May 19-23)</li></ul><p><strong>(04:28) Introducing Josh Goldberg</strong></p><ul><li>(<strong>07:10</strong>) - Josh's Work as a Full-time Open Sourcer</li><li>(<strong>09:05</strong>) - Getting Started with TypeScript<ul><li>Start with the <a href="https://www.typescriptlang.org/docs/handbook/intro.html">TypeScript Handbook</a> (it's free!)</li><li>Then, <a href="https://www.typescriptlang.org/play/">play with TypeScript</a> in the playground</li></ul></li><li>(<strong>10:57</strong>) - Pain Points for New TypeScript Developers</li><li>(<strong>12:41</strong>) - Benefits of TypeScript for Experienced Developers</li><li>(<strong>14:43</strong>) - Getting Started with TypeScript</li><li>(<strong>17:57</strong>) - CTA - <a href="https://github.com/JoshuaKGoldberg/create-typescript-app">create-typescript-app</a><ul><li>v2 rewrite spawned <a href="https://www.create.bingo/">Bingo</a>, dev tooling automation blocks</li></ul></li><li>(<strong>20:54</strong>) - Use Cases For Create TypeScript App</li><li>(<strong>26:58</strong>) - CTA <a href="https://www.joshuakgoldberg.com/blog/my-plans-for-2025/">Plans for the Future</a></li><li>(<strong>29:10</strong>) - Learning Resources for TypeScript<ul><li>Matt Pocock (<a href="https://totaltypescript.com?utm_source=typescript.fm">Total TypeScript</a>)</li><li>Cory House (<a href="https://dometrain.com/course/getting-started-typescript/">Getting Started with TypeScript</a>)</li><li>Basarat (<a href="https://basarat.gitbook.io/typescript">TypeScript Deep Dive</a>)</li><li>Code challenge: <a href="https://www.adventofts.com/">Advent of TS</a></li><li>Code challenge: <a href="https://adventofcode.com/">Advent of Code</a></li><li>Code challenge: <a href="https://tsch.js.org/">Type Challenges</a></li></ul></li><li>(<strong>32:17</strong>) - And of course, Josh's Book: <a href="https://LearningTypeScript.com">Learning TypeScript</a>!<ul><li>Learn the why and theory</li><li>Blog and articles</li><li>Buy the book!</li></ul></li><li>(<strong>33:30</strong>) - Favorite Language Feature: Discriminated Unions</li><li>(<strong>37:40</strong>) - Favorite Language Feature: Branded Types</li><li>(<strong>38:58</strong>) - Creating TypeScript ESLint Rules</li><li>(<strong>40:34</strong>) - Key Takeaways - Fun and Cool Stuff Happening!<ul><li><a href="https://bsky.app/profile/squiggleconf.com/post/3ljijvqdlhc2d">SquiggleConf 2025 CFP is open!</a></li></ul></li><li>(<strong>42:29</strong>) - Future of TypeScript and Linting Innovations<ul><li><a href="https://github.com/typescript-eslint/examples/tree/main/packages/eslint-plugin-example-typed-linting">Write your own TS linter</a></li></ul></li></ul><p><strong>(45:02) Where to Find Josh</strong></p><ul><li><a href="https://www.joshuakgoldberg.com/">Website</a></li><li>Follow on BlueSky <a href="https://bsky.app/profile/JoshuaKGoldberg.com">@JoshuaKGoldberg</a></li><li><a href="https://github.com/JoshuaKGoldberg">Sponsor on GitHub</a></li><li>Attend <a href="https://bsky.app/profile/squiggleconf.com">SquiggleConf 2025</a></li></ul><p><br></p><p><strong>(46:55) News for the Week of March 10, 2025</strong></p><ul><li>TSGo, but <a href="https://typescript.fm/9">we already covered that</a> (TS-a-Go-Go, Ep 9)</li><li><a href="https://github.com/denoland/deno/releases/tag/v2.2.4">Deno 2.2.4 update</a> adds enhancements to OpenTelemetry (OTel) support</li><li><a href="https://nx.dev/blog/nx-update-20-5">Nx 20.5</a> adds TS project reference support</li><li>Cory House <a href="https://dometrain.com/course/getting-started-typescript/">releases a new TypeScript course</a> on Dometrain</li><li><a href="https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v730">React Router 7.3 minor release</a><ul><li><em>Experimental </em>support for client contexts</li><li><em>Experimental</em> support for route middleware</li></ul></li><li>(<strong>49:25</strong>) - Community Updates<ul><li>Dr. Axel's Corner - Dive deeper with this <a href="https://2ality.com/2025/03/typescript-in-go.html">TSGO Explainer</a></li><li>Sxzz (Kevin from Vite) created a <a href="https://bsky.app/profile/sxzz.dev/post/3lk7fkhk75c2g">TSGo playground</a> with WASM</li><li>TSGo community content<ul><li><a href="https://www.youtube.com/watch?v=10qowKUW82U">MiTS interview</a></li><li><a href="https://www.youtube.com/watch?v=ZlGza4oIleY">Syntax interview</a></li><li><a href="https://www.youtube.com/watch?v=NrEW7F2WCNA">Matt Pocock interview</a></li><li><a href="https://www.youtube.com/watch?v=3-W95H5_lX0">Theo's video</a></li></ul></li></ul></li></ul><p><strong>(54:55) Cool Stuff</strong></p><ul><li><a href="https://didoesdigital.com/blog/zod-overview/">Learn Zod to Trust your Data and your Types</a> (h/t <a href="https://cassidoo.co/">cassidoo</a>)</li><li><a href="https://kk.org/thetechnium/50-years-of-travel-tips/">50 Years of Travel Tips by Kevin Kelly</a><ul><li>"Your enjoyment of a trip will be inversely related to the weight of your luggage"</li><li>"Crash a wedding. You are not a nuisance; you are the celebrity guest!"</li></ul></li><li>TypeScript ESlint: <a href="https://typescript-eslint.io/getting-started/">Getting Started Docs</a></li><li>Everhood Game (<a href="https://store.steampowered.com/app/1229380/Everhood/">Steam </a>| <a href="https://keeptrackofmygames.com/games/353332-a/everhood">Add to your Backlog</a>)</li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
  <li><a href="https://typescript.fm/people/josh-goldberg">Josh Goldberg 💖</a> - Guest</li>
</ul>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:person role="Guest" href="https://www.joshuakgoldberg.com/" img="https://img.transistorcdn.com/ZjGsQJKoUK_k2Mf3yigbJ_7WXCQvaBPOG1eWbYVmfG8/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS82NTQz/YzJhYzJkOTM0YmI3/YmNhOTMzYWUzYTQ3/NTNiNy5qcGVn.jpg">Josh Goldberg 💖</podcast:person>
    </item>
    <item>
      <title>TS-a-Go-Go | Ep 9</title>
      <itunes:episode>9</itunes:episode>
      <podcast:episode>9</podcast:episode>
      <itunes:title>TS-a-Go-Go | Ep 9</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">ca617977-ca3d-4cab-b4c7-508a305cc64b</guid>
      <link>https://share.transistor.fm/s/1b7fb00a</link>
      <description>
        <![CDATA[<p>The Internet blows up as TypeScript reaches its next Pokemon evolution, and Kamran and Erik scramble to create an episode to pick up the pieces and make sense of it. In other news, TikTok announces Lynx, Angular gets some fetch upgrades, and Josh Goldberg releases v2 of create-typescript-app.</p><p><br><strong>Week of March 3, 2025</strong></p><ul><li>(<a href="https://typescript.fm/9#t=7m9s"><strong>07:09</strong></a>) - Big News: <a href="https://devblogs.microsoft.com/typescript/typescript-native-port/">TypeScript Is Getting 10X Faster</a></li><li>(<a href="https://typescript.fm/9#t=7m48s"><strong>07:48</strong></a>) - Big-ish News: <a href="https://lynxjs.org/blog/lynx-unlock-native-for-more.html">Lynx Announced</a>, the React Native Killer?</li><li>(<a href="https://typescript.fm/9#t=11m46s"><strong>11:46</strong></a>) - News: <a href="https://blog.angular.dev/angular-19-2-is-now-available-673ec70aea12">Angular 19.2 Released</a></li><li>(<a href="https://typescript.fm/9#t=12m53s"><strong>12:53</strong></a>) - News: <a href="https://github.com/nodejs/TSC/pull/1527">Corepack Voted to Be Taken Out of Nodejs Core</a></li><li>(<a href="https://typescript.fm/9#t=13m35s"><strong>13:35</strong></a>) - News: <a href="https://www.reddit.com/r/typescript/s/xer2laiDkD">traits-ts Library Released</a></li><li>(<a href="https://typescript.fm/9#t=14m23s"><strong>14:23</strong></a>) - Community Highlight: Dr. Axel's Corner<ul><li>2ality: <a href="https://2ality.com/2025/03/typescript-sales-pitch.html">My TS Sales Pitch</a></li><li>2ality: <a href="https://2ality.com/2025/03/object-type-union-intersection.html">Unions and intersections of object</a> types</li><li>2ality: <a href="https://gist.github.com/rauschma/867583e0a09e4dbc63f9c59ac38f956f">Gist</a> for createEnum helper</li></ul></li><li>(<a href="https://typescript.fm/9#t=17m50s"><strong>17:50</strong></a>) - Community Highlight: <a href="https://github.com/juni-b-queer/bsky-event-handlers">Build TypeScript-first BlueSky Bots and Feeds</a></li><li>(<a href="https://typescript.fm/9#t=18m27s"><strong>18:27</strong></a>) - Community Highlight: <a href="https://bsky.app/profile/ericclemmons.com/post/3ljj4ad7rc22j">JavaScript Fatigue Strikes Back</a></li><li>(<a href="https://typescript.fm/9#t=19m6s"><strong>19:06</strong></a>) - Community Highlight: Josh Goldberg <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3ljqjm6z3b22j">Releases v2 of create-typescript-app</a></li><li>(<a href="https://typescript.fm/9#t=19m50s"><strong>19:50</strong></a>) - Community Highlight: Alex Teaches Us About <a href="https://alexop.dev/posts/how-to-implement-a-cosine-similarity-function-in-typescript-for-vector-comparison/">Cosine Similarity in TypeScript</a><ul><li>Plus: <a href="https://m.youtube.com/watch?v=9-Jl0dxWQs8">3Blue1Brown explainer</a> video about vector embeddings</li></ul></li></ul><p><br></p><p><strong> Deep Dive: TypeScript is Being Ported to Go</strong></p><ul><li>(<a href="https://typescript.fm/9#t=22m4s"><strong>22:04</strong></a>) - Deep Dive: TypeScript Is Being Ported to Go</li><li>(<a href="https://typescript.fm/9#t=23m58s"><strong>23:58</strong></a>) - Deep Dive: Ports vs. Rewrites</li><li>(<a href="https://typescript.fm/9#t=24m50s"><strong>24:50</strong></a>) - Deep Dive: <a href="https://github.com/microsoft/typescript-go/discussions/411#discussioncomment-12466988">Why Go?</a></li><li>(<a href="https://typescript.fm/9#t=25m54s"><strong>25:54</strong></a>) - Deep Dive: Why Not Rust? Anders Explains</li><li>(<a href="https://typescript.fm/9#t=28m37s"><strong>28:37</strong></a>) - Deep Dive: Why Not C#?</li><li>(<a href="https://typescript.fm/9#t=30m20s"><strong>30:20</strong></a>) - Deep Dive: Go's Developer Experience</li><li>(<a href="https://typescript.fm/9#t=31m27s"><strong>31:27</strong></a>) - Deep Dive: Running Concurrent Type Checking</li><li>(<a href="https://typescript.fm/9#t=32m54s"><strong>32:54</strong></a>) - Deep Dive: 10X Is Just the Start</li><li>(<a href="https://typescript.fm/9#t=33m26s"><strong>33:26</strong></a>) - Deep Dive: What's the Roadmap?</li><li>(<a href="https://typescript.fm/9#t=35m6s"><strong>35:06</strong></a>) - Deep Dive: Impact on Ecosystem</li><li>(<a href="https://typescript.fm/9#t=43m32s"><strong>43:32</strong></a>) - Deep Dive: Go Use It... in Go<ul><li>Kevin Deng (sxzz) from the Vite team is maintaining a <a href="https://github.com/sxzz/tsgo-releases">releases repository</a></li></ul></li><li>(<a href="https://typescript.fm/9#t=45m20s"><strong>45:20</strong></a>) - Deep Dive: What's Not Supported Yet</li><li>(<a href="https://typescript.fm/9#t=46m8s"><strong>46:08</strong></a>) - Deep Dive: Props to the Team</li></ul><p><strong>Other Links</strong></p><ul><li><a href="https://habitica.com/">Habitica</a>, a habit tracker</li><li><a href="https://rspack.dev">rspack</a>, a Rust port of webpack</li><li>(<a href="https://typescript.fm/9#t=47m34s"><strong>47:34</strong></a>) - Secrets of the Handb--Actually, Just Go Build tsgo</li><li>(<a href="https://typescript.fm/9#t=47m48s"><strong>47:48</strong></a>) - Cool Stuff: <a href="https://github.com/sveltejs/acorn-typescript">acorn-typescript</a> is Now An Actively Maintained Fork</li><li>(<a href="https://typescript.fm/9#t=48m37s"><strong>48:37</strong></a>) - Cool Stuff: <a href="https://mentoss.dev/getting-started/">Mentoss</a>, a New Alternative to Nock and MSW</li><li>(<a href="https://typescript.fm/9#t=50m29s"><strong>50:29</strong></a>) - Cool Stuff: <a href="https://github.com/makeplane/plane">Plane </a>is the OSS JIRA-killer?</li><li>(<a href="https://typescript.fm/9#t=51m11s"><strong>51:11</strong></a>) - Funny Stuff: <a href="https://www.reddit.com/r/typescript/comments/1j59khs/boss_refuses_to_adopt_typescript_whats_the_next/">Boss Refuses to Use TypeScript</a>, What's the Next Best Thing?</li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>The Internet blows up as TypeScript reaches its next Pokemon evolution, and Kamran and Erik scramble to create an episode to pick up the pieces and make sense of it. In other news, TikTok announces Lynx, Angular gets some fetch upgrades, and Josh Goldberg releases v2 of create-typescript-app.</p><p><br><strong>Week of March 3, 2025</strong></p><ul><li>(<a href="https://typescript.fm/9#t=7m9s"><strong>07:09</strong></a>) - Big News: <a href="https://devblogs.microsoft.com/typescript/typescript-native-port/">TypeScript Is Getting 10X Faster</a></li><li>(<a href="https://typescript.fm/9#t=7m48s"><strong>07:48</strong></a>) - Big-ish News: <a href="https://lynxjs.org/blog/lynx-unlock-native-for-more.html">Lynx Announced</a>, the React Native Killer?</li><li>(<a href="https://typescript.fm/9#t=11m46s"><strong>11:46</strong></a>) - News: <a href="https://blog.angular.dev/angular-19-2-is-now-available-673ec70aea12">Angular 19.2 Released</a></li><li>(<a href="https://typescript.fm/9#t=12m53s"><strong>12:53</strong></a>) - News: <a href="https://github.com/nodejs/TSC/pull/1527">Corepack Voted to Be Taken Out of Nodejs Core</a></li><li>(<a href="https://typescript.fm/9#t=13m35s"><strong>13:35</strong></a>) - News: <a href="https://www.reddit.com/r/typescript/s/xer2laiDkD">traits-ts Library Released</a></li><li>(<a href="https://typescript.fm/9#t=14m23s"><strong>14:23</strong></a>) - Community Highlight: Dr. Axel's Corner<ul><li>2ality: <a href="https://2ality.com/2025/03/typescript-sales-pitch.html">My TS Sales Pitch</a></li><li>2ality: <a href="https://2ality.com/2025/03/object-type-union-intersection.html">Unions and intersections of object</a> types</li><li>2ality: <a href="https://gist.github.com/rauschma/867583e0a09e4dbc63f9c59ac38f956f">Gist</a> for createEnum helper</li></ul></li><li>(<a href="https://typescript.fm/9#t=17m50s"><strong>17:50</strong></a>) - Community Highlight: <a href="https://github.com/juni-b-queer/bsky-event-handlers">Build TypeScript-first BlueSky Bots and Feeds</a></li><li>(<a href="https://typescript.fm/9#t=18m27s"><strong>18:27</strong></a>) - Community Highlight: <a href="https://bsky.app/profile/ericclemmons.com/post/3ljj4ad7rc22j">JavaScript Fatigue Strikes Back</a></li><li>(<a href="https://typescript.fm/9#t=19m6s"><strong>19:06</strong></a>) - Community Highlight: Josh Goldberg <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3ljqjm6z3b22j">Releases v2 of create-typescript-app</a></li><li>(<a href="https://typescript.fm/9#t=19m50s"><strong>19:50</strong></a>) - Community Highlight: Alex Teaches Us About <a href="https://alexop.dev/posts/how-to-implement-a-cosine-similarity-function-in-typescript-for-vector-comparison/">Cosine Similarity in TypeScript</a><ul><li>Plus: <a href="https://m.youtube.com/watch?v=9-Jl0dxWQs8">3Blue1Brown explainer</a> video about vector embeddings</li></ul></li></ul><p><br></p><p><strong> Deep Dive: TypeScript is Being Ported to Go</strong></p><ul><li>(<a href="https://typescript.fm/9#t=22m4s"><strong>22:04</strong></a>) - Deep Dive: TypeScript Is Being Ported to Go</li><li>(<a href="https://typescript.fm/9#t=23m58s"><strong>23:58</strong></a>) - Deep Dive: Ports vs. Rewrites</li><li>(<a href="https://typescript.fm/9#t=24m50s"><strong>24:50</strong></a>) - Deep Dive: <a href="https://github.com/microsoft/typescript-go/discussions/411#discussioncomment-12466988">Why Go?</a></li><li>(<a href="https://typescript.fm/9#t=25m54s"><strong>25:54</strong></a>) - Deep Dive: Why Not Rust? Anders Explains</li><li>(<a href="https://typescript.fm/9#t=28m37s"><strong>28:37</strong></a>) - Deep Dive: Why Not C#?</li><li>(<a href="https://typescript.fm/9#t=30m20s"><strong>30:20</strong></a>) - Deep Dive: Go's Developer Experience</li><li>(<a href="https://typescript.fm/9#t=31m27s"><strong>31:27</strong></a>) - Deep Dive: Running Concurrent Type Checking</li><li>(<a href="https://typescript.fm/9#t=32m54s"><strong>32:54</strong></a>) - Deep Dive: 10X Is Just the Start</li><li>(<a href="https://typescript.fm/9#t=33m26s"><strong>33:26</strong></a>) - Deep Dive: What's the Roadmap?</li><li>(<a href="https://typescript.fm/9#t=35m6s"><strong>35:06</strong></a>) - Deep Dive: Impact on Ecosystem</li><li>(<a href="https://typescript.fm/9#t=43m32s"><strong>43:32</strong></a>) - Deep Dive: Go Use It... in Go<ul><li>Kevin Deng (sxzz) from the Vite team is maintaining a <a href="https://github.com/sxzz/tsgo-releases">releases repository</a></li></ul></li><li>(<a href="https://typescript.fm/9#t=45m20s"><strong>45:20</strong></a>) - Deep Dive: What's Not Supported Yet</li><li>(<a href="https://typescript.fm/9#t=46m8s"><strong>46:08</strong></a>) - Deep Dive: Props to the Team</li></ul><p><strong>Other Links</strong></p><ul><li><a href="https://habitica.com/">Habitica</a>, a habit tracker</li><li><a href="https://rspack.dev">rspack</a>, a Rust port of webpack</li><li>(<a href="https://typescript.fm/9#t=47m34s"><strong>47:34</strong></a>) - Secrets of the Handb--Actually, Just Go Build tsgo</li><li>(<a href="https://typescript.fm/9#t=47m48s"><strong>47:48</strong></a>) - Cool Stuff: <a href="https://github.com/sveltejs/acorn-typescript">acorn-typescript</a> is Now An Actively Maintained Fork</li><li>(<a href="https://typescript.fm/9#t=48m37s"><strong>48:37</strong></a>) - Cool Stuff: <a href="https://mentoss.dev/getting-started/">Mentoss</a>, a New Alternative to Nock and MSW</li><li>(<a href="https://typescript.fm/9#t=50m29s"><strong>50:29</strong></a>) - Cool Stuff: <a href="https://github.com/makeplane/plane">Plane </a>is the OSS JIRA-killer?</li><li>(<a href="https://typescript.fm/9#t=51m11s"><strong>51:11</strong></a>) - Funny Stuff: <a href="https://www.reddit.com/r/typescript/comments/1j59khs/boss_refuses_to_adopt_typescript_whats_the_next/">Boss Refuses to Use TypeScript</a>, What's the Next Best Thing?</li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </content:encoded>
      <pubDate>Mon, 17 Mar 2025 06:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/1b7fb00a/75bce03e.mp3" length="51062596" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>3189</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>The Internet blows up as TypeScript reaches its next Pokemon evolution, and Kamran and Erik scramble to create an episode to pick up the pieces and make sense of it. In other news, TikTok announces Lynx, Angular gets some fetch upgrades, and Josh Goldberg releases v2 of create-typescript-app.</p><p><br><strong>Week of March 3, 2025</strong></p><ul><li>(<a href="https://typescript.fm/9#t=7m9s"><strong>07:09</strong></a>) - Big News: <a href="https://devblogs.microsoft.com/typescript/typescript-native-port/">TypeScript Is Getting 10X Faster</a></li><li>(<a href="https://typescript.fm/9#t=7m48s"><strong>07:48</strong></a>) - Big-ish News: <a href="https://lynxjs.org/blog/lynx-unlock-native-for-more.html">Lynx Announced</a>, the React Native Killer?</li><li>(<a href="https://typescript.fm/9#t=11m46s"><strong>11:46</strong></a>) - News: <a href="https://blog.angular.dev/angular-19-2-is-now-available-673ec70aea12">Angular 19.2 Released</a></li><li>(<a href="https://typescript.fm/9#t=12m53s"><strong>12:53</strong></a>) - News: <a href="https://github.com/nodejs/TSC/pull/1527">Corepack Voted to Be Taken Out of Nodejs Core</a></li><li>(<a href="https://typescript.fm/9#t=13m35s"><strong>13:35</strong></a>) - News: <a href="https://www.reddit.com/r/typescript/s/xer2laiDkD">traits-ts Library Released</a></li><li>(<a href="https://typescript.fm/9#t=14m23s"><strong>14:23</strong></a>) - Community Highlight: Dr. Axel's Corner<ul><li>2ality: <a href="https://2ality.com/2025/03/typescript-sales-pitch.html">My TS Sales Pitch</a></li><li>2ality: <a href="https://2ality.com/2025/03/object-type-union-intersection.html">Unions and intersections of object</a> types</li><li>2ality: <a href="https://gist.github.com/rauschma/867583e0a09e4dbc63f9c59ac38f956f">Gist</a> for createEnum helper</li></ul></li><li>(<a href="https://typescript.fm/9#t=17m50s"><strong>17:50</strong></a>) - Community Highlight: <a href="https://github.com/juni-b-queer/bsky-event-handlers">Build TypeScript-first BlueSky Bots and Feeds</a></li><li>(<a href="https://typescript.fm/9#t=18m27s"><strong>18:27</strong></a>) - Community Highlight: <a href="https://bsky.app/profile/ericclemmons.com/post/3ljj4ad7rc22j">JavaScript Fatigue Strikes Back</a></li><li>(<a href="https://typescript.fm/9#t=19m6s"><strong>19:06</strong></a>) - Community Highlight: Josh Goldberg <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3ljqjm6z3b22j">Releases v2 of create-typescript-app</a></li><li>(<a href="https://typescript.fm/9#t=19m50s"><strong>19:50</strong></a>) - Community Highlight: Alex Teaches Us About <a href="https://alexop.dev/posts/how-to-implement-a-cosine-similarity-function-in-typescript-for-vector-comparison/">Cosine Similarity in TypeScript</a><ul><li>Plus: <a href="https://m.youtube.com/watch?v=9-Jl0dxWQs8">3Blue1Brown explainer</a> video about vector embeddings</li></ul></li></ul><p><br></p><p><strong> Deep Dive: TypeScript is Being Ported to Go</strong></p><ul><li>(<a href="https://typescript.fm/9#t=22m4s"><strong>22:04</strong></a>) - Deep Dive: TypeScript Is Being Ported to Go</li><li>(<a href="https://typescript.fm/9#t=23m58s"><strong>23:58</strong></a>) - Deep Dive: Ports vs. Rewrites</li><li>(<a href="https://typescript.fm/9#t=24m50s"><strong>24:50</strong></a>) - Deep Dive: <a href="https://github.com/microsoft/typescript-go/discussions/411#discussioncomment-12466988">Why Go?</a></li><li>(<a href="https://typescript.fm/9#t=25m54s"><strong>25:54</strong></a>) - Deep Dive: Why Not Rust? Anders Explains</li><li>(<a href="https://typescript.fm/9#t=28m37s"><strong>28:37</strong></a>) - Deep Dive: Why Not C#?</li><li>(<a href="https://typescript.fm/9#t=30m20s"><strong>30:20</strong></a>) - Deep Dive: Go's Developer Experience</li><li>(<a href="https://typescript.fm/9#t=31m27s"><strong>31:27</strong></a>) - Deep Dive: Running Concurrent Type Checking</li><li>(<a href="https://typescript.fm/9#t=32m54s"><strong>32:54</strong></a>) - Deep Dive: 10X Is Just the Start</li><li>(<a href="https://typescript.fm/9#t=33m26s"><strong>33:26</strong></a>) - Deep Dive: What's the Roadmap?</li><li>(<a href="https://typescript.fm/9#t=35m6s"><strong>35:06</strong></a>) - Deep Dive: Impact on Ecosystem</li><li>(<a href="https://typescript.fm/9#t=43m32s"><strong>43:32</strong></a>) - Deep Dive: Go Use It... in Go<ul><li>Kevin Deng (sxzz) from the Vite team is maintaining a <a href="https://github.com/sxzz/tsgo-releases">releases repository</a></li></ul></li><li>(<a href="https://typescript.fm/9#t=45m20s"><strong>45:20</strong></a>) - Deep Dive: What's Not Supported Yet</li><li>(<a href="https://typescript.fm/9#t=46m8s"><strong>46:08</strong></a>) - Deep Dive: Props to the Team</li></ul><p><strong>Other Links</strong></p><ul><li><a href="https://habitica.com/">Habitica</a>, a habit tracker</li><li><a href="https://rspack.dev">rspack</a>, a Rust port of webpack</li><li>(<a href="https://typescript.fm/9#t=47m34s"><strong>47:34</strong></a>) - Secrets of the Handb--Actually, Just Go Build tsgo</li><li>(<a href="https://typescript.fm/9#t=47m48s"><strong>47:48</strong></a>) - Cool Stuff: <a href="https://github.com/sveltejs/acorn-typescript">acorn-typescript</a> is Now An Actively Maintained Fork</li><li>(<a href="https://typescript.fm/9#t=48m37s"><strong>48:37</strong></a>) - Cool Stuff: <a href="https://mentoss.dev/getting-started/">Mentoss</a>, a New Alternative to Nock and MSW</li><li>(<a href="https://typescript.fm/9#t=50m29s"><strong>50:29</strong></a>) - Cool Stuff: <a href="https://github.com/makeplane/plane">Plane </a>is the OSS JIRA-killer?</li><li>(<a href="https://typescript.fm/9#t=51m11s"><strong>51:11</strong></a>) - Funny Stuff: <a href="https://www.reddit.com/r/typescript/comments/1j59khs/boss_refuses_to_adopt_typescript_whats_the_next/">Boss Refuses to Use TypeScript</a>, What's the Next Best Thing?</li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
</ul>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/1b7fb00a/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>React, TypeScript, and... Schbooleans? | Ep 8</title>
      <itunes:episode>8</itunes:episode>
      <podcast:episode>8</podcast:episode>
      <itunes:title>React, TypeScript, and... Schbooleans? | Ep 8</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">5bf56c36-8b19-4700-8ef4-dcdd89bd3597</guid>
      <link>https://share.transistor.fm/s/0e7e68af</link>
      <description>
        <![CDATA[<p>This week Kamran dives into some nuances with using React with TypeScript while Erik plays the React fool and coins the word "schbooleans" (yep). In the news, erasableSyntaxOnly gets shipped, some new minor releases in the ecosystem, and oh, TypeScript types can run DOOM. Yes, TS is a real language now.</p><p><strong>Erik's News</strong></p><ul><li>Personal Blog Post: <a href="https://erikonarheim.com/posts/2024-the-best-worst-year/%20">The Best Worst Year</a> </li><li><a href="http://excaliburjs.com/blog/happy-new-year-excalibur-2025%20">Happy New Year Excalibur!</a> </li><li><a href="https://www.youtube.com/watch?v=wrg4zT8gU24%20">Excalibur 2024 Community Reel </a></li><li>Erik didn't finish the flappy bird vid or lighting feature in time, consolation prize<ul><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird">Flappy Bird Article</a></li></ul></li><li>Excalibur Lighting PRs: <a href="https://github.com/excaliburjs/Excalibur/pull/3364">Pipeline</a> &amp; <a href="https://github.com/jyoung4242/LightTest---SDF">PoC</a></li></ul><p> <br><strong>Week of February 24, 2025</strong></p><ul><li>(<a href="https://typescript.fm/8#t=4m16s"><strong>04:16</strong></a>) - News: <a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-8/">TypeScript 5.8 Released</a><ul><li><a href="https://github.com/nodejs/userland-migrations/tree/main/recipes/correct-ts-specifiers">userland-codemods</a> for transforming import extensions to ".ts"</li></ul></li><li>(<a href="https://typescript.fm/8#t=6m32s"><strong>06:32</strong></a>) - News: <a href="https://bun.sh/blog/bun-v1.2.4">Bun 1.2.4 Released</a></li><li>(<strong>08:01</strong>) - News: <a href="https://nextjs.org/blog/next-15-2">Next.js 15.2 Released</a></li><li>(<a href="https://typescript.fm/8#t=9m29s"><strong>09:29</strong></a>) - News: <a href="https://astro.build/blog/astro-540/">Astro 5.4 Released</a></li><li>(<a href="https://typescript.fm/8#t=9m49s"><strong>09:49</strong></a>) - News: <a href="https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v720">React Router 7.2 Released</a></li><li>(<a href="https://typescript.fm/8#t=10m25s"><strong>10:25</strong></a>) - News: <a href="https://arktype.io/docs/blog/2.1">ArkType 2.1 Released</a></li><li>(<a href="https://typescript.fm/8#t=11m23s"><strong>11:23</strong></a>) - News: <a href="https://arstechnica.com/tech-policy/2025/02/firefox-deletes-promise-to-never-sell-personal-data-asks-users-not-to-panic/">Mozilla's Firefox Privacy Policy Rug-pull</a></li><li>(<a href="https://typescript.fm/8#t=14m32s"><strong>14:32</strong></a>) - News: <a href="https://www.warp.dev/blog/launching-warp-on-windows">Warp Terminal is Now Available on Windows</a></li><li>(<a href="https://typescript.fm/8#t=15m55s"><strong>15:55</strong></a>) - Community Highlights: <a href="https://www.youtube.com/watch?v=0mCsluv5FXA">TypeScript Types Can Run DOOM</a> (!?)<ul><li><a href="https://simonwillison.net/2025/Feb/27/typescript-types-can-run-doom/">Write-up by Simon Willison</a></li><li><a href="https://socket.dev/blog/typescript-types-running-doom">Write-up on Socket.dev</a></li><li>Mark Seeman's series (and course) on <a href="https://blog.ploeh.dk/2016/02/10/types-properties-software/">type-driven development</a> (F#)</li></ul></li><li>(<a href="https://typescript.fm/8#t=20m24s"><strong>20:24</strong></a>) - Community Highlights: Dr. Axel's Corner<ul><li><a href="https://gist.github.com/rauschma/da5248bb8023b646c83a78571af694c7">free-typescript-resources</a> Gist</li><li><a href="https://2ality.com/2025/02/testing-types-typescript.html">Testing Types</a> and <a href="https://github.com/rauschma/asserttt">asserttt</a></li></ul></li><li>(<a href="https://typescript.fm/8#t=22m19s"><strong>22:19</strong></a>) - Community Highlights: <a href="https://www.youtube.com/watch?v=S-Uy061swSg">Safety-Web ESLint Plugin</a></li><li>(<a href="https://typescript.fm/8#t=23m27s"><strong>23:27</strong></a>) - Community Highlights: <a href="https://youtu.be/e2cj1Su6RYY?si=EcE56QLjXI3gIh27">Pattern for Strongly Typed Event Emitters</a></li><li>(<a href="https://typescript.fm/8#t=24m20s"><strong>24:20</strong></a>) - Community Highlights: <a href="https://github.com/trytriplex/websocks">Websocks</a>, a Typed WebSockets Router for Node</li></ul><p><br></p><p><strong> Deep Dive: TypeScript and React Nuances</strong></p><ul><li>(<a href="https://typescript.fm/8#t=26m17s"><strong>26:17</strong></a>) - Deep Dive: TypeScript and React</li><li>(<a href="https://typescript.fm/8#t=27m26s"><strong>27:26</strong></a>) - Deep Dive: What You Need to Know First<ul><li><a href="https://vite.dev/guide/#scaffolding-your-first-vite-project">Using Vite react-ts template</a></li></ul></li><li>(<a href="https://typescript.fm/8#t=28m27s"><strong>28:27</strong></a>) - Deep Dive: TSConfig Options for React and TS</li><li>(<a href="https://typescript.fm/8#t=32m55s"><strong>32:55</strong></a>) - Deep Dive: How JSX/TSX Works Under the Hood<ul><li>Deno has <a href="https://docs.deno.com/runtime/reference/jsx/">native support for TSX/JSX</a></li><li>And <a href="https://bun.sh/docs/runtime/jsx">so does Bun</a></li></ul></li><li>(<a href="https://typescript.fm/8#t=35m3s"><strong>35:03</strong></a>) - Deep Dive: TSX in Different Runtimes</li><li>(<a href="https://typescript.fm/8#t=35m39s"><strong>35:39</strong></a>) - Deep Dive: Typing Components and Props<ul><li><a href="https://bsky.app/profile/kamranicus.com/post/3lj3rxbu7nk2q">Example of leaning on inference</a></li></ul></li><li>(<a href="https://typescript.fm/8#t=38m12s"><strong>38:12</strong></a>) - Deep Dive: Typing the Children Prop</li><li>(<a href="https://typescript.fm/8#t=40m13s"><strong>40:13</strong></a>) - Deep Dive: Where Should Typings Go?</li><li>(<a href="https://typescript.fm/8#t=41m5s"><strong>41:05</strong></a>) - Deep Dive: Should I Use React Class Components?</li><li>(<a href="https://typescript.fm/8#t=43m21s"><strong>43:21</strong></a>) - Deep Dive: Typing Events and Callbacks</li><li>(<a href="https://typescript.fm/8#t=46m59s"><strong>46:59</strong></a>) - Deep Dive: Typing Data and APIs</li><li>(<a href="https://typescript.fm/8#t=48m41s"><strong>48:41</strong></a>) - Deep Dive: Typing Form Actions and "Schbooleans"</li><li>(<a href="https://typescript.fm/8#t=51m19s"><strong>51:19</strong></a>) - Deep Dive: Typing State and Set-state Actions</li><li>(<a href="https://typescript.fm/8#t=54m11s"><strong>54:11</strong></a>) - Deep Dive: Typing Contexts</li><li>(<a href="https://typescript.fm/8#t=54m49s"><strong>54:49</strong></a>) - Deep Dive: Typing Refs and DOM Attributes</li><li>(<a href="https://typescript.fm/8#t=58m19s"><strong>58:19</strong></a>) - Deep Dive: Sharing Typed Components in Libraries</li><li>(<a href="https://typescript.fm/8#t=59m56s"><strong>59:56</strong></a>) - Deep Dive: Takeaways / tl;dl</li><li>Resource: <a href="https://react-typescript-cheatsheet.netlify.app/">React and TS Cheatsheets</a></li><li>Resource: <a href="https://app.pluralsight.com/code-labs/contents/f2ecb44b-4a92-42a5-bc56-858dda120523/learn">Using React with TypeScript guided code lab</a> on Pluralsight (requires subscription)</li></ul><p><strong>Secrets of the Handbook</strong></p><ul><li>(<a href="https://typescript.fm/8#t=1h1m30s"><strong>01:01:30</strong></a>) - Secrets of the Handbook: Our Favorite <a href="https://www.typescriptlang.org/docs/handbook/utility-types.html">Utility Types</a></li></ul><p><strong>Links</strong></p><ul><li>(<a href="https://typescript.fm/8#t=1h4m13s"><strong>01:04:13</strong></a>) - Cool Stuff: Kamran's been playing <a href="https://keeptrackofmygames.com/games/361418-a/avowed">Avowed</a> and <a href="https://keeptrackofmygames.com/games/1267/pillars-of-eternity">Pillars of Eternity</a></li><li>(<a href="https://typescript.fm/8#t=1h5m25s"><strong>01:05:25</strong></a>) - Cool Stuff: Erik's spreads his stink with <a href="https://typecraft.dev/neovim-for-new..."></a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This week Kamran dives into some nuances with using React with TypeScript while Erik plays the React fool and coins the word "schbooleans" (yep). In the news, erasableSyntaxOnly gets shipped, some new minor releases in the ecosystem, and oh, TypeScript types can run DOOM. Yes, TS is a real language now.</p><p><strong>Erik's News</strong></p><ul><li>Personal Blog Post: <a href="https://erikonarheim.com/posts/2024-the-best-worst-year/%20">The Best Worst Year</a> </li><li><a href="http://excaliburjs.com/blog/happy-new-year-excalibur-2025%20">Happy New Year Excalibur!</a> </li><li><a href="https://www.youtube.com/watch?v=wrg4zT8gU24%20">Excalibur 2024 Community Reel </a></li><li>Erik didn't finish the flappy bird vid or lighting feature in time, consolation prize<ul><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird">Flappy Bird Article</a></li></ul></li><li>Excalibur Lighting PRs: <a href="https://github.com/excaliburjs/Excalibur/pull/3364">Pipeline</a> &amp; <a href="https://github.com/jyoung4242/LightTest---SDF">PoC</a></li></ul><p> <br><strong>Week of February 24, 2025</strong></p><ul><li>(<a href="https://typescript.fm/8#t=4m16s"><strong>04:16</strong></a>) - News: <a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-8/">TypeScript 5.8 Released</a><ul><li><a href="https://github.com/nodejs/userland-migrations/tree/main/recipes/correct-ts-specifiers">userland-codemods</a> for transforming import extensions to ".ts"</li></ul></li><li>(<a href="https://typescript.fm/8#t=6m32s"><strong>06:32</strong></a>) - News: <a href="https://bun.sh/blog/bun-v1.2.4">Bun 1.2.4 Released</a></li><li>(<strong>08:01</strong>) - News: <a href="https://nextjs.org/blog/next-15-2">Next.js 15.2 Released</a></li><li>(<a href="https://typescript.fm/8#t=9m29s"><strong>09:29</strong></a>) - News: <a href="https://astro.build/blog/astro-540/">Astro 5.4 Released</a></li><li>(<a href="https://typescript.fm/8#t=9m49s"><strong>09:49</strong></a>) - News: <a href="https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v720">React Router 7.2 Released</a></li><li>(<a href="https://typescript.fm/8#t=10m25s"><strong>10:25</strong></a>) - News: <a href="https://arktype.io/docs/blog/2.1">ArkType 2.1 Released</a></li><li>(<a href="https://typescript.fm/8#t=11m23s"><strong>11:23</strong></a>) - News: <a href="https://arstechnica.com/tech-policy/2025/02/firefox-deletes-promise-to-never-sell-personal-data-asks-users-not-to-panic/">Mozilla's Firefox Privacy Policy Rug-pull</a></li><li>(<a href="https://typescript.fm/8#t=14m32s"><strong>14:32</strong></a>) - News: <a href="https://www.warp.dev/blog/launching-warp-on-windows">Warp Terminal is Now Available on Windows</a></li><li>(<a href="https://typescript.fm/8#t=15m55s"><strong>15:55</strong></a>) - Community Highlights: <a href="https://www.youtube.com/watch?v=0mCsluv5FXA">TypeScript Types Can Run DOOM</a> (!?)<ul><li><a href="https://simonwillison.net/2025/Feb/27/typescript-types-can-run-doom/">Write-up by Simon Willison</a></li><li><a href="https://socket.dev/blog/typescript-types-running-doom">Write-up on Socket.dev</a></li><li>Mark Seeman's series (and course) on <a href="https://blog.ploeh.dk/2016/02/10/types-properties-software/">type-driven development</a> (F#)</li></ul></li><li>(<a href="https://typescript.fm/8#t=20m24s"><strong>20:24</strong></a>) - Community Highlights: Dr. Axel's Corner<ul><li><a href="https://gist.github.com/rauschma/da5248bb8023b646c83a78571af694c7">free-typescript-resources</a> Gist</li><li><a href="https://2ality.com/2025/02/testing-types-typescript.html">Testing Types</a> and <a href="https://github.com/rauschma/asserttt">asserttt</a></li></ul></li><li>(<a href="https://typescript.fm/8#t=22m19s"><strong>22:19</strong></a>) - Community Highlights: <a href="https://www.youtube.com/watch?v=S-Uy061swSg">Safety-Web ESLint Plugin</a></li><li>(<a href="https://typescript.fm/8#t=23m27s"><strong>23:27</strong></a>) - Community Highlights: <a href="https://youtu.be/e2cj1Su6RYY?si=EcE56QLjXI3gIh27">Pattern for Strongly Typed Event Emitters</a></li><li>(<a href="https://typescript.fm/8#t=24m20s"><strong>24:20</strong></a>) - Community Highlights: <a href="https://github.com/trytriplex/websocks">Websocks</a>, a Typed WebSockets Router for Node</li></ul><p><br></p><p><strong> Deep Dive: TypeScript and React Nuances</strong></p><ul><li>(<a href="https://typescript.fm/8#t=26m17s"><strong>26:17</strong></a>) - Deep Dive: TypeScript and React</li><li>(<a href="https://typescript.fm/8#t=27m26s"><strong>27:26</strong></a>) - Deep Dive: What You Need to Know First<ul><li><a href="https://vite.dev/guide/#scaffolding-your-first-vite-project">Using Vite react-ts template</a></li></ul></li><li>(<a href="https://typescript.fm/8#t=28m27s"><strong>28:27</strong></a>) - Deep Dive: TSConfig Options for React and TS</li><li>(<a href="https://typescript.fm/8#t=32m55s"><strong>32:55</strong></a>) - Deep Dive: How JSX/TSX Works Under the Hood<ul><li>Deno has <a href="https://docs.deno.com/runtime/reference/jsx/">native support for TSX/JSX</a></li><li>And <a href="https://bun.sh/docs/runtime/jsx">so does Bun</a></li></ul></li><li>(<a href="https://typescript.fm/8#t=35m3s"><strong>35:03</strong></a>) - Deep Dive: TSX in Different Runtimes</li><li>(<a href="https://typescript.fm/8#t=35m39s"><strong>35:39</strong></a>) - Deep Dive: Typing Components and Props<ul><li><a href="https://bsky.app/profile/kamranicus.com/post/3lj3rxbu7nk2q">Example of leaning on inference</a></li></ul></li><li>(<a href="https://typescript.fm/8#t=38m12s"><strong>38:12</strong></a>) - Deep Dive: Typing the Children Prop</li><li>(<a href="https://typescript.fm/8#t=40m13s"><strong>40:13</strong></a>) - Deep Dive: Where Should Typings Go?</li><li>(<a href="https://typescript.fm/8#t=41m5s"><strong>41:05</strong></a>) - Deep Dive: Should I Use React Class Components?</li><li>(<a href="https://typescript.fm/8#t=43m21s"><strong>43:21</strong></a>) - Deep Dive: Typing Events and Callbacks</li><li>(<a href="https://typescript.fm/8#t=46m59s"><strong>46:59</strong></a>) - Deep Dive: Typing Data and APIs</li><li>(<a href="https://typescript.fm/8#t=48m41s"><strong>48:41</strong></a>) - Deep Dive: Typing Form Actions and "Schbooleans"</li><li>(<a href="https://typescript.fm/8#t=51m19s"><strong>51:19</strong></a>) - Deep Dive: Typing State and Set-state Actions</li><li>(<a href="https://typescript.fm/8#t=54m11s"><strong>54:11</strong></a>) - Deep Dive: Typing Contexts</li><li>(<a href="https://typescript.fm/8#t=54m49s"><strong>54:49</strong></a>) - Deep Dive: Typing Refs and DOM Attributes</li><li>(<a href="https://typescript.fm/8#t=58m19s"><strong>58:19</strong></a>) - Deep Dive: Sharing Typed Components in Libraries</li><li>(<a href="https://typescript.fm/8#t=59m56s"><strong>59:56</strong></a>) - Deep Dive: Takeaways / tl;dl</li><li>Resource: <a href="https://react-typescript-cheatsheet.netlify.app/">React and TS Cheatsheets</a></li><li>Resource: <a href="https://app.pluralsight.com/code-labs/contents/f2ecb44b-4a92-42a5-bc56-858dda120523/learn">Using React with TypeScript guided code lab</a> on Pluralsight (requires subscription)</li></ul><p><strong>Secrets of the Handbook</strong></p><ul><li>(<a href="https://typescript.fm/8#t=1h1m30s"><strong>01:01:30</strong></a>) - Secrets of the Handbook: Our Favorite <a href="https://www.typescriptlang.org/docs/handbook/utility-types.html">Utility Types</a></li></ul><p><strong>Links</strong></p><ul><li>(<a href="https://typescript.fm/8#t=1h4m13s"><strong>01:04:13</strong></a>) - Cool Stuff: Kamran's been playing <a href="https://keeptrackofmygames.com/games/361418-a/avowed">Avowed</a> and <a href="https://keeptrackofmygames.com/games/1267/pillars-of-eternity">Pillars of Eternity</a></li><li>(<a href="https://typescript.fm/8#t=1h5m25s"><strong>01:05:25</strong></a>) - Cool Stuff: Erik's spreads his stink with <a href="https://typecraft.dev/neovim-for-new..."></a></li></ul>]]>
      </content:encoded>
      <pubDate>Mon, 10 Mar 2025 17:00:00 -0500</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/0e7e68af/aba5639f.mp3" length="65187202" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>4072</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>This week Kamran dives into some nuances with using React with TypeScript while Erik plays the React fool and coins the word "schbooleans" (yep). In the news, erasableSyntaxOnly gets shipped, some new minor releases in the ecosystem, and oh, TypeScript types can run DOOM. Yes, TS is a real language now.</p><p><strong>Erik's News</strong></p><ul><li>Personal Blog Post: <a href="https://erikonarheim.com/posts/2024-the-best-worst-year/%20">The Best Worst Year</a> </li><li><a href="http://excaliburjs.com/blog/happy-new-year-excalibur-2025%20">Happy New Year Excalibur!</a> </li><li><a href="https://www.youtube.com/watch?v=wrg4zT8gU24%20">Excalibur 2024 Community Reel </a></li><li>Erik didn't finish the flappy bird vid or lighting feature in time, consolation prize<ul><li><a href="https://excaliburjs.com/docs/excalibird-flappy-bird">Flappy Bird Article</a></li></ul></li><li>Excalibur Lighting PRs: <a href="https://github.com/excaliburjs/Excalibur/pull/3364">Pipeline</a> &amp; <a href="https://github.com/jyoung4242/LightTest---SDF">PoC</a></li></ul><p> <br><strong>Week of February 24, 2025</strong></p><ul><li>(<a href="https://typescript.fm/8#t=4m16s"><strong>04:16</strong></a>) - News: <a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-8/">TypeScript 5.8 Released</a><ul><li><a href="https://github.com/nodejs/userland-migrations/tree/main/recipes/correct-ts-specifiers">userland-codemods</a> for transforming import extensions to ".ts"</li></ul></li><li>(<a href="https://typescript.fm/8#t=6m32s"><strong>06:32</strong></a>) - News: <a href="https://bun.sh/blog/bun-v1.2.4">Bun 1.2.4 Released</a></li><li>(<strong>08:01</strong>) - News: <a href="https://nextjs.org/blog/next-15-2">Next.js 15.2 Released</a></li><li>(<a href="https://typescript.fm/8#t=9m29s"><strong>09:29</strong></a>) - News: <a href="https://astro.build/blog/astro-540/">Astro 5.4 Released</a></li><li>(<a href="https://typescript.fm/8#t=9m49s"><strong>09:49</strong></a>) - News: <a href="https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v720">React Router 7.2 Released</a></li><li>(<a href="https://typescript.fm/8#t=10m25s"><strong>10:25</strong></a>) - News: <a href="https://arktype.io/docs/blog/2.1">ArkType 2.1 Released</a></li><li>(<a href="https://typescript.fm/8#t=11m23s"><strong>11:23</strong></a>) - News: <a href="https://arstechnica.com/tech-policy/2025/02/firefox-deletes-promise-to-never-sell-personal-data-asks-users-not-to-panic/">Mozilla's Firefox Privacy Policy Rug-pull</a></li><li>(<a href="https://typescript.fm/8#t=14m32s"><strong>14:32</strong></a>) - News: <a href="https://www.warp.dev/blog/launching-warp-on-windows">Warp Terminal is Now Available on Windows</a></li><li>(<a href="https://typescript.fm/8#t=15m55s"><strong>15:55</strong></a>) - Community Highlights: <a href="https://www.youtube.com/watch?v=0mCsluv5FXA">TypeScript Types Can Run DOOM</a> (!?)<ul><li><a href="https://simonwillison.net/2025/Feb/27/typescript-types-can-run-doom/">Write-up by Simon Willison</a></li><li><a href="https://socket.dev/blog/typescript-types-running-doom">Write-up on Socket.dev</a></li><li>Mark Seeman's series (and course) on <a href="https://blog.ploeh.dk/2016/02/10/types-properties-software/">type-driven development</a> (F#)</li></ul></li><li>(<a href="https://typescript.fm/8#t=20m24s"><strong>20:24</strong></a>) - Community Highlights: Dr. Axel's Corner<ul><li><a href="https://gist.github.com/rauschma/da5248bb8023b646c83a78571af694c7">free-typescript-resources</a> Gist</li><li><a href="https://2ality.com/2025/02/testing-types-typescript.html">Testing Types</a> and <a href="https://github.com/rauschma/asserttt">asserttt</a></li></ul></li><li>(<a href="https://typescript.fm/8#t=22m19s"><strong>22:19</strong></a>) - Community Highlights: <a href="https://www.youtube.com/watch?v=S-Uy061swSg">Safety-Web ESLint Plugin</a></li><li>(<a href="https://typescript.fm/8#t=23m27s"><strong>23:27</strong></a>) - Community Highlights: <a href="https://youtu.be/e2cj1Su6RYY?si=EcE56QLjXI3gIh27">Pattern for Strongly Typed Event Emitters</a></li><li>(<a href="https://typescript.fm/8#t=24m20s"><strong>24:20</strong></a>) - Community Highlights: <a href="https://github.com/trytriplex/websocks">Websocks</a>, a Typed WebSockets Router for Node</li></ul><p><br></p><p><strong> Deep Dive: TypeScript and React Nuances</strong></p><ul><li>(<a href="https://typescript.fm/8#t=26m17s"><strong>26:17</strong></a>) - Deep Dive: TypeScript and React</li><li>(<a href="https://typescript.fm/8#t=27m26s"><strong>27:26</strong></a>) - Deep Dive: What You Need to Know First<ul><li><a href="https://vite.dev/guide/#scaffolding-your-first-vite-project">Using Vite react-ts template</a></li></ul></li><li>(<a href="https://typescript.fm/8#t=28m27s"><strong>28:27</strong></a>) - Deep Dive: TSConfig Options for React and TS</li><li>(<a href="https://typescript.fm/8#t=32m55s"><strong>32:55</strong></a>) - Deep Dive: How JSX/TSX Works Under the Hood<ul><li>Deno has <a href="https://docs.deno.com/runtime/reference/jsx/">native support for TSX/JSX</a></li><li>And <a href="https://bun.sh/docs/runtime/jsx">so does Bun</a></li></ul></li><li>(<a href="https://typescript.fm/8#t=35m3s"><strong>35:03</strong></a>) - Deep Dive: TSX in Different Runtimes</li><li>(<a href="https://typescript.fm/8#t=35m39s"><strong>35:39</strong></a>) - Deep Dive: Typing Components and Props<ul><li><a href="https://bsky.app/profile/kamranicus.com/post/3lj3rxbu7nk2q">Example of leaning on inference</a></li></ul></li><li>(<a href="https://typescript.fm/8#t=38m12s"><strong>38:12</strong></a>) - Deep Dive: Typing the Children Prop</li><li>(<a href="https://typescript.fm/8#t=40m13s"><strong>40:13</strong></a>) - Deep Dive: Where Should Typings Go?</li><li>(<a href="https://typescript.fm/8#t=41m5s"><strong>41:05</strong></a>) - Deep Dive: Should I Use React Class Components?</li><li>(<a href="https://typescript.fm/8#t=43m21s"><strong>43:21</strong></a>) - Deep Dive: Typing Events and Callbacks</li><li>(<a href="https://typescript.fm/8#t=46m59s"><strong>46:59</strong></a>) - Deep Dive: Typing Data and APIs</li><li>(<a href="https://typescript.fm/8#t=48m41s"><strong>48:41</strong></a>) - Deep Dive: Typing Form Actions and "Schbooleans"</li><li>(<a href="https://typescript.fm/8#t=51m19s"><strong>51:19</strong></a>) - Deep Dive: Typing State and Set-state Actions</li><li>(<a href="https://typescript.fm/8#t=54m11s"><strong>54:11</strong></a>) - Deep Dive: Typing Contexts</li><li>(<a href="https://typescript.fm/8#t=54m49s"><strong>54:49</strong></a>) - Deep Dive: Typing Refs and DOM Attributes</li><li>(<a href="https://typescript.fm/8#t=58m19s"><strong>58:19</strong></a>) - Deep Dive: Sharing Typed Components in Libraries</li><li>(<a href="https://typescript.fm/8#t=59m56s"><strong>59:56</strong></a>) - Deep Dive: Takeaways / tl;dl</li><li>Resource: <a href="https://react-typescript-cheatsheet.netlify.app/">React and TS Cheatsheets</a></li><li>Resource: <a href="https://app.pluralsight.com/code-labs/contents/f2ecb44b-4a92-42a5-bc56-858dda120523/learn">Using React with TypeScript guided code lab</a> on Pluralsight (requires subscription)</li></ul><p><strong>Secrets of the Handbook</strong></p><ul><li>(<a href="https://typescript.fm/8#t=1h1m30s"><strong>01:01:30</strong></a>) - Secrets of the Handbook: Our Favorite <a href="https://www.typescriptlang.org/docs/handbook/utility-types.html">Utility Types</a></li></ul><p><strong>Links</strong></p><ul><li>(<a href="https://typescript.fm/8#t=1h4m13s"><strong>01:04:13</strong></a>) - Cool Stuff: Kamran's been playing <a href="https://keeptrackofmygames.com/games/361418-a/avowed">Avowed</a> and <a href="https://keeptrackofmygames.com/games/1267/pillars-of-eternity">Pillars of Eternity</a></li><li>(<a href="https://typescript.fm/8#t=1h5m25s"><strong>01:05:25</strong></a>) - Cool Stuff: Erik's spreads his stink with <a href="https://typecraft.dev/neovim-for-new..."></a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/0e7e68af/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>ORMed and Dangerous | Ep 7</title>
      <itunes:episode>7</itunes:episode>
      <podcast:episode>7</podcast:episode>
      <itunes:title>ORMed and Dangerous | Ep 7</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">1df0b650-531d-4c45-9b02-52681e455297</guid>
      <link>https://share.transistor.fm/s/c615f725</link>
      <description>
        <![CDATA[<p>This week Kamran and Erik discuss when ORMs are helpful... or hurtful. They cover trade-offs, the spectrum of abstraction, the value of escape hatches, and the options available to you in the TypeScript ecosystem.</p><p><strong>Week of February 17, 2025</strong></p><p><br></p><ul><li>(<a href="https://share.transistor.fm/s/c615f725#t=5m54s">05:54</a>) - News: <a href="https://blog.emberjs.com/ember-released-6-2/">Ember 6.2 Released</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=7m16s">07:16</a>) - News: <a href="https://deno.com/blog/v2.2">Deno 2.2 Released</a><ul><li><a href="https://www.npmjs.com/package/npm-check-updates">npm-check-updates</a> package</li><li><a href="https://marketplace.visualstudio.com/items?itemName=codeandstuff.package-json-upgrade">Package JSON Upgrade</a> VS Code extension</li><li><a href="https://github.com/vuki656/package-info.nvim">https://github.com/vuki656/package-info.nvim</a> for Neovim</li></ul></li></ul><p><br></p><p><strong>Community Highlights</strong></p><ul><li>(<a href="https://share.transistor.fm/s/c615f725#t=16m48s">16:48</a>) - Community Highlights: <a href="https://bsky.app/profile/jamescowling.dev/post/3lihujcuhss2b">UseTypeScript for Your Stored Procedures?!</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=17m20s">17:20</a>) - Community Highlights: <a href="https://bsky.app/profile/pi0.io/post/3lihrrfud7k22">Node API Compatibility Across Runtimes</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=17m58s">17:58</a>) - Community Highlight: <a href="https://bsky.app/profile/gabrielvergnaud.com/post/3lirse5ygrk2j">Why Type Catalogs Can Be Better Than Unions</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=19m5s">19:05</a>) - Community Highlight: <a href="https://blog.snisni.it/how-to-automatically-map-json-data-to-a-typescript-object">tapi.js Automatically Maps JSON to Strongly-Typed Classes</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=20m33s">20:33</a>) - Community Highlight: <a href="https://standardschema.dev/">Standard Schema Hopes to Align TS Validator Libraries</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=21m34s">21:34</a>) - Community Highlight: 2ality: <a href="https://2ality.com/2025/02/typescript-readonly.html">Read-only accessibility in TypeScript</a></li></ul><p><br></p><p><strong> Deep Dive: TypeScript ORMs</strong></p><ul><li>(<a href="https://share.transistor.fm/s/c615f725#t=22m56s">22:56</a>) - Deep Dive: TypeScript ORMs</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=24m21s">24:21</a>) - Deep Dive: Code-first or Database-first?</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=25m42s">25:42</a>) - Deep Dive: What Pain Do ORMs Solve?</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=27m21s">27:21</a>) - Deep Dive: When Should You Use an ORM?<ul><li>Martin Fowler's <a href="https://martinfowler.com/bliki/OrmHate.html">ORM Hate</a> article</li><li>Primeagen's <a href="https://www.youtube.com/watch?v=bpGvVI7NM_k">Don't Use an ORM</a> reaction video</li></ul></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=30m2s">30:02</a>) - Deep Dive: To Use An ORM Or Not to Use an ORM?</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=31m47s">31:47</a>) - Deep Dive: SQL Builders vs. Abstracted ORMs</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=32m28s">32:28</a>) - Deep Dive: Do You Have An Escape Hatch?</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=33m36s">33:36</a>) - Deep Dive: Are ORMs A Symptom of Poor Data Architecture?</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=37m1s">37:01</a>) - Deep Dive: TypeScript ORM Landscape</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=37m26s">37:26</a>) - Deep Dive: <a href="https://orm.drizzle.team/">Drizzle ORM</a><ul><li>Fireship's <a href="https://www.youtube.com/watch?v=i_mAHOhpBSA">Drizzle in 100 seconds</a></li><li>Works with <a href="https://deno.com/blog/build-database-app-drizzle">Deno</a>, Bun, Node.js</li></ul></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=42m6s">42:06</a>) - Deep Dive: <a href="https://www.prisma.io/">Prisma ORM</a><ul><li>Works with <a href="https://github.com/chrisabrams/deno-with-prisma">Deno</a> (unofficially) and Node.js</li><li>Prisma is <a href="https://www.reddit.com/r/typescript/comments/1irg76i/ama_i_work_at_prisma_were_moving_from_rust_to_ts/">being rewritten in TypeScript</a></li></ul></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=46m42s">46:42</a>) - Deep Dive: <a href="https://mikro-orm.io/">MikroORM</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=49m10s">49:10</a>) - Tangent: Kamran and Erik Exchange War Stories</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=50m48s">50:48</a>) - Deep Dive: MikroORM Continued</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=51m44s">51:44</a>) - Deep Dive: <a href="https://typeorm.io/">TypeORM</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=53m6s">53:06</a>) - Deep Dive: <a href="https://www.convex.dev/%20">ConvexDB</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=55m0s">55:00</a>) - Deep Dive: <a href="https://github.com/sequelize/sequelize">sequelize</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=55m48s">55:48</a>) - Deep Dive: Other Alternatives<ul><li><a href="https://vincit.github.io/objection.js/%20">Objection.js</a></li><li><a href="https://knexjs.org/">Knex.js</a></li><li><a href="https://waterlinejs.org/">Waterline</a></li><li><a href="https://bookshelfjs.org/">Bookshelf</a></li><li>Mongoose/<a href="https://github.com/typegoose/typegoose">Typegoose</a></li></ul></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=56m33s">56:33</a>) - Deep Dive: Takeaways / tl;dl</li></ul><p><strong>Secrets of the Handbook</strong></p><ul><li>(<a href="https://share.transistor.fm/s/c615f725#t=57m47s">57:47</a>) - Branded / Nominal Types<ul><li><a href="https://www.typescriptlang.org/play/?q=147#example/nominal-typing">TypeScript Playground Example</a> – Nominal Typing</li><li><a href="https://github.com/Microsoft/TypeScript/issues/202">400-comment GH issue </a>on different ways to do nominal typing and trade-offs</li><li><a href="https://michalzalecki.com/nominal-typing-in-typescript/">Michael Zalecki blog post</a> on nominal types in TypeScript</li><li><a href="https://www.learningtypescript.com/articles/branded-types">Branded Types from Learning TypeScript</a> by Josh Goldberg</li><li><a href="https://github.com/microsoft/TypeScript/issues/50532">Created a "sealed" method/class</a> (<a href="https://github.com/excaliburjs/Excalibur/commit/df592648e2ba26d781c5d9ab2e10ae2366dd89ac">example </a>from Excalibur)</li></ul></li></ul><p><br></p><p><strong>Links</strong></p><ul><li>(<a href="https://share.transistor.fm/s/c615f725#t=1h4m25s">01:04:25</a>) - Cool Stuff: <a href="https://www.youtube.com/watch?v=Fceni6cdYOk">Kodaps Academy on Drizzle Versus Prisma</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=1h5m10s">01:05:10</a>) - Cool Stuff: <a href="https://github.com/seanpmaxwell/jet-validators">jet Validators</a></li><li>Reference: <a href="https://blog.logrocket.com/best-typescript-orms/">https://blog.logrocket.com/best-typescript-orms/</a> </li><li>Reference: <a href="https://www.sitepoint.com/javascript-typescript-orms/">https://www.sitepoint.com/javascript-typescript-orms/</a> </li><li>Reference: <a href="https://www.timsanteford.com/posts/choosing-the-best-typescript-orm-for-your-project/">https://www.timsanteford.com/posts/choosing-the-best-typescript-orm-for-your-project/</a> </li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScrip...</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This week Kamran and Erik discuss when ORMs are helpful... or hurtful. They cover trade-offs, the spectrum of abstraction, the value of escape hatches, and the options available to you in the TypeScript ecosystem.</p><p><strong>Week of February 17, 2025</strong></p><p><br></p><ul><li>(<a href="https://share.transistor.fm/s/c615f725#t=5m54s">05:54</a>) - News: <a href="https://blog.emberjs.com/ember-released-6-2/">Ember 6.2 Released</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=7m16s">07:16</a>) - News: <a href="https://deno.com/blog/v2.2">Deno 2.2 Released</a><ul><li><a href="https://www.npmjs.com/package/npm-check-updates">npm-check-updates</a> package</li><li><a href="https://marketplace.visualstudio.com/items?itemName=codeandstuff.package-json-upgrade">Package JSON Upgrade</a> VS Code extension</li><li><a href="https://github.com/vuki656/package-info.nvim">https://github.com/vuki656/package-info.nvim</a> for Neovim</li></ul></li></ul><p><br></p><p><strong>Community Highlights</strong></p><ul><li>(<a href="https://share.transistor.fm/s/c615f725#t=16m48s">16:48</a>) - Community Highlights: <a href="https://bsky.app/profile/jamescowling.dev/post/3lihujcuhss2b">UseTypeScript for Your Stored Procedures?!</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=17m20s">17:20</a>) - Community Highlights: <a href="https://bsky.app/profile/pi0.io/post/3lihrrfud7k22">Node API Compatibility Across Runtimes</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=17m58s">17:58</a>) - Community Highlight: <a href="https://bsky.app/profile/gabrielvergnaud.com/post/3lirse5ygrk2j">Why Type Catalogs Can Be Better Than Unions</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=19m5s">19:05</a>) - Community Highlight: <a href="https://blog.snisni.it/how-to-automatically-map-json-data-to-a-typescript-object">tapi.js Automatically Maps JSON to Strongly-Typed Classes</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=20m33s">20:33</a>) - Community Highlight: <a href="https://standardschema.dev/">Standard Schema Hopes to Align TS Validator Libraries</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=21m34s">21:34</a>) - Community Highlight: 2ality: <a href="https://2ality.com/2025/02/typescript-readonly.html">Read-only accessibility in TypeScript</a></li></ul><p><br></p><p><strong> Deep Dive: TypeScript ORMs</strong></p><ul><li>(<a href="https://share.transistor.fm/s/c615f725#t=22m56s">22:56</a>) - Deep Dive: TypeScript ORMs</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=24m21s">24:21</a>) - Deep Dive: Code-first or Database-first?</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=25m42s">25:42</a>) - Deep Dive: What Pain Do ORMs Solve?</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=27m21s">27:21</a>) - Deep Dive: When Should You Use an ORM?<ul><li>Martin Fowler's <a href="https://martinfowler.com/bliki/OrmHate.html">ORM Hate</a> article</li><li>Primeagen's <a href="https://www.youtube.com/watch?v=bpGvVI7NM_k">Don't Use an ORM</a> reaction video</li></ul></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=30m2s">30:02</a>) - Deep Dive: To Use An ORM Or Not to Use an ORM?</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=31m47s">31:47</a>) - Deep Dive: SQL Builders vs. Abstracted ORMs</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=32m28s">32:28</a>) - Deep Dive: Do You Have An Escape Hatch?</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=33m36s">33:36</a>) - Deep Dive: Are ORMs A Symptom of Poor Data Architecture?</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=37m1s">37:01</a>) - Deep Dive: TypeScript ORM Landscape</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=37m26s">37:26</a>) - Deep Dive: <a href="https://orm.drizzle.team/">Drizzle ORM</a><ul><li>Fireship's <a href="https://www.youtube.com/watch?v=i_mAHOhpBSA">Drizzle in 100 seconds</a></li><li>Works with <a href="https://deno.com/blog/build-database-app-drizzle">Deno</a>, Bun, Node.js</li></ul></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=42m6s">42:06</a>) - Deep Dive: <a href="https://www.prisma.io/">Prisma ORM</a><ul><li>Works with <a href="https://github.com/chrisabrams/deno-with-prisma">Deno</a> (unofficially) and Node.js</li><li>Prisma is <a href="https://www.reddit.com/r/typescript/comments/1irg76i/ama_i_work_at_prisma_were_moving_from_rust_to_ts/">being rewritten in TypeScript</a></li></ul></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=46m42s">46:42</a>) - Deep Dive: <a href="https://mikro-orm.io/">MikroORM</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=49m10s">49:10</a>) - Tangent: Kamran and Erik Exchange War Stories</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=50m48s">50:48</a>) - Deep Dive: MikroORM Continued</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=51m44s">51:44</a>) - Deep Dive: <a href="https://typeorm.io/">TypeORM</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=53m6s">53:06</a>) - Deep Dive: <a href="https://www.convex.dev/%20">ConvexDB</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=55m0s">55:00</a>) - Deep Dive: <a href="https://github.com/sequelize/sequelize">sequelize</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=55m48s">55:48</a>) - Deep Dive: Other Alternatives<ul><li><a href="https://vincit.github.io/objection.js/%20">Objection.js</a></li><li><a href="https://knexjs.org/">Knex.js</a></li><li><a href="https://waterlinejs.org/">Waterline</a></li><li><a href="https://bookshelfjs.org/">Bookshelf</a></li><li>Mongoose/<a href="https://github.com/typegoose/typegoose">Typegoose</a></li></ul></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=56m33s">56:33</a>) - Deep Dive: Takeaways / tl;dl</li></ul><p><strong>Secrets of the Handbook</strong></p><ul><li>(<a href="https://share.transistor.fm/s/c615f725#t=57m47s">57:47</a>) - Branded / Nominal Types<ul><li><a href="https://www.typescriptlang.org/play/?q=147#example/nominal-typing">TypeScript Playground Example</a> – Nominal Typing</li><li><a href="https://github.com/Microsoft/TypeScript/issues/202">400-comment GH issue </a>on different ways to do nominal typing and trade-offs</li><li><a href="https://michalzalecki.com/nominal-typing-in-typescript/">Michael Zalecki blog post</a> on nominal types in TypeScript</li><li><a href="https://www.learningtypescript.com/articles/branded-types">Branded Types from Learning TypeScript</a> by Josh Goldberg</li><li><a href="https://github.com/microsoft/TypeScript/issues/50532">Created a "sealed" method/class</a> (<a href="https://github.com/excaliburjs/Excalibur/commit/df592648e2ba26d781c5d9ab2e10ae2366dd89ac">example </a>from Excalibur)</li></ul></li></ul><p><br></p><p><strong>Links</strong></p><ul><li>(<a href="https://share.transistor.fm/s/c615f725#t=1h4m25s">01:04:25</a>) - Cool Stuff: <a href="https://www.youtube.com/watch?v=Fceni6cdYOk">Kodaps Academy on Drizzle Versus Prisma</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=1h5m10s">01:05:10</a>) - Cool Stuff: <a href="https://github.com/seanpmaxwell/jet-validators">jet Validators</a></li><li>Reference: <a href="https://blog.logrocket.com/best-typescript-orms/">https://blog.logrocket.com/best-typescript-orms/</a> </li><li>Reference: <a href="https://www.sitepoint.com/javascript-typescript-orms/">https://www.sitepoint.com/javascript-typescript-orms/</a> </li><li>Reference: <a href="https://www.timsanteford.com/posts/choosing-the-best-typescript-orm-for-your-project/">https://www.timsanteford.com/posts/choosing-the-best-typescript-orm-for-your-project/</a> </li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScrip...</p>]]>
      </content:encoded>
      <pubDate>Mon, 03 Mar 2025 09:05:53 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/c615f725/a31a470b.mp3" length="64928354" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>4056</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>This week Kamran and Erik discuss when ORMs are helpful... or hurtful. They cover trade-offs, the spectrum of abstraction, the value of escape hatches, and the options available to you in the TypeScript ecosystem.</p><p><strong>Week of February 17, 2025</strong></p><p><br></p><ul><li>(<a href="https://share.transistor.fm/s/c615f725#t=5m54s">05:54</a>) - News: <a href="https://blog.emberjs.com/ember-released-6-2/">Ember 6.2 Released</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=7m16s">07:16</a>) - News: <a href="https://deno.com/blog/v2.2">Deno 2.2 Released</a><ul><li><a href="https://www.npmjs.com/package/npm-check-updates">npm-check-updates</a> package</li><li><a href="https://marketplace.visualstudio.com/items?itemName=codeandstuff.package-json-upgrade">Package JSON Upgrade</a> VS Code extension</li><li><a href="https://github.com/vuki656/package-info.nvim">https://github.com/vuki656/package-info.nvim</a> for Neovim</li></ul></li></ul><p><br></p><p><strong>Community Highlights</strong></p><ul><li>(<a href="https://share.transistor.fm/s/c615f725#t=16m48s">16:48</a>) - Community Highlights: <a href="https://bsky.app/profile/jamescowling.dev/post/3lihujcuhss2b">UseTypeScript for Your Stored Procedures?!</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=17m20s">17:20</a>) - Community Highlights: <a href="https://bsky.app/profile/pi0.io/post/3lihrrfud7k22">Node API Compatibility Across Runtimes</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=17m58s">17:58</a>) - Community Highlight: <a href="https://bsky.app/profile/gabrielvergnaud.com/post/3lirse5ygrk2j">Why Type Catalogs Can Be Better Than Unions</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=19m5s">19:05</a>) - Community Highlight: <a href="https://blog.snisni.it/how-to-automatically-map-json-data-to-a-typescript-object">tapi.js Automatically Maps JSON to Strongly-Typed Classes</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=20m33s">20:33</a>) - Community Highlight: <a href="https://standardschema.dev/">Standard Schema Hopes to Align TS Validator Libraries</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=21m34s">21:34</a>) - Community Highlight: 2ality: <a href="https://2ality.com/2025/02/typescript-readonly.html">Read-only accessibility in TypeScript</a></li></ul><p><br></p><p><strong> Deep Dive: TypeScript ORMs</strong></p><ul><li>(<a href="https://share.transistor.fm/s/c615f725#t=22m56s">22:56</a>) - Deep Dive: TypeScript ORMs</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=24m21s">24:21</a>) - Deep Dive: Code-first or Database-first?</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=25m42s">25:42</a>) - Deep Dive: What Pain Do ORMs Solve?</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=27m21s">27:21</a>) - Deep Dive: When Should You Use an ORM?<ul><li>Martin Fowler's <a href="https://martinfowler.com/bliki/OrmHate.html">ORM Hate</a> article</li><li>Primeagen's <a href="https://www.youtube.com/watch?v=bpGvVI7NM_k">Don't Use an ORM</a> reaction video</li></ul></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=30m2s">30:02</a>) - Deep Dive: To Use An ORM Or Not to Use an ORM?</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=31m47s">31:47</a>) - Deep Dive: SQL Builders vs. Abstracted ORMs</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=32m28s">32:28</a>) - Deep Dive: Do You Have An Escape Hatch?</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=33m36s">33:36</a>) - Deep Dive: Are ORMs A Symptom of Poor Data Architecture?</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=37m1s">37:01</a>) - Deep Dive: TypeScript ORM Landscape</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=37m26s">37:26</a>) - Deep Dive: <a href="https://orm.drizzle.team/">Drizzle ORM</a><ul><li>Fireship's <a href="https://www.youtube.com/watch?v=i_mAHOhpBSA">Drizzle in 100 seconds</a></li><li>Works with <a href="https://deno.com/blog/build-database-app-drizzle">Deno</a>, Bun, Node.js</li></ul></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=42m6s">42:06</a>) - Deep Dive: <a href="https://www.prisma.io/">Prisma ORM</a><ul><li>Works with <a href="https://github.com/chrisabrams/deno-with-prisma">Deno</a> (unofficially) and Node.js</li><li>Prisma is <a href="https://www.reddit.com/r/typescript/comments/1irg76i/ama_i_work_at_prisma_were_moving_from_rust_to_ts/">being rewritten in TypeScript</a></li></ul></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=46m42s">46:42</a>) - Deep Dive: <a href="https://mikro-orm.io/">MikroORM</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=49m10s">49:10</a>) - Tangent: Kamran and Erik Exchange War Stories</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=50m48s">50:48</a>) - Deep Dive: MikroORM Continued</li><li>(<a href="https://share.transistor.fm/s/c615f725#t=51m44s">51:44</a>) - Deep Dive: <a href="https://typeorm.io/">TypeORM</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=53m6s">53:06</a>) - Deep Dive: <a href="https://www.convex.dev/%20">ConvexDB</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=55m0s">55:00</a>) - Deep Dive: <a href="https://github.com/sequelize/sequelize">sequelize</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=55m48s">55:48</a>) - Deep Dive: Other Alternatives<ul><li><a href="https://vincit.github.io/objection.js/%20">Objection.js</a></li><li><a href="https://knexjs.org/">Knex.js</a></li><li><a href="https://waterlinejs.org/">Waterline</a></li><li><a href="https://bookshelfjs.org/">Bookshelf</a></li><li>Mongoose/<a href="https://github.com/typegoose/typegoose">Typegoose</a></li></ul></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=56m33s">56:33</a>) - Deep Dive: Takeaways / tl;dl</li></ul><p><strong>Secrets of the Handbook</strong></p><ul><li>(<a href="https://share.transistor.fm/s/c615f725#t=57m47s">57:47</a>) - Branded / Nominal Types<ul><li><a href="https://www.typescriptlang.org/play/?q=147#example/nominal-typing">TypeScript Playground Example</a> – Nominal Typing</li><li><a href="https://github.com/Microsoft/TypeScript/issues/202">400-comment GH issue </a>on different ways to do nominal typing and trade-offs</li><li><a href="https://michalzalecki.com/nominal-typing-in-typescript/">Michael Zalecki blog post</a> on nominal types in TypeScript</li><li><a href="https://www.learningtypescript.com/articles/branded-types">Branded Types from Learning TypeScript</a> by Josh Goldberg</li><li><a href="https://github.com/microsoft/TypeScript/issues/50532">Created a "sealed" method/class</a> (<a href="https://github.com/excaliburjs/Excalibur/commit/df592648e2ba26d781c5d9ab2e10ae2366dd89ac">example </a>from Excalibur)</li></ul></li></ul><p><br></p><p><strong>Links</strong></p><ul><li>(<a href="https://share.transistor.fm/s/c615f725#t=1h4m25s">01:04:25</a>) - Cool Stuff: <a href="https://www.youtube.com/watch?v=Fceni6cdYOk">Kodaps Academy on Drizzle Versus Prisma</a></li><li>(<a href="https://share.transistor.fm/s/c615f725#t=1h5m10s">01:05:10</a>) - Cool Stuff: <a href="https://github.com/seanpmaxwell/jet-validators">jet Validators</a></li><li>Reference: <a href="https://blog.logrocket.com/best-typescript-orms/">https://blog.logrocket.com/best-typescript-orms/</a> </li><li>Reference: <a href="https://www.sitepoint.com/javascript-typescript-orms/">https://www.sitepoint.com/javascript-typescript-orms/</a> </li><li>Reference: <a href="https://www.timsanteford.com/posts/choosing-the-best-typescript-orm-for-your-project/">https://www.timsanteford.com/posts/choosing-the-best-typescript-orm-for-your-project/</a> </li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScrip...</p>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/c615f725/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>The Sheer Joy of Publishing to JSR | Ep 6</title>
      <itunes:episode>6</itunes:episode>
      <podcast:episode>6</podcast:episode>
      <itunes:title>The Sheer Joy of Publishing to JSR | Ep 6</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">236464bf-477d-478d-a873-e17a9147fe33</guid>
      <link>https://share.transistor.fm/s/73cc966e</link>
      <description>
        <![CDATA[<p>This week Kamran and Erik unpack JSR, the new open alternative to the npm registry from the folks at Deno. They both published packages and discuss what JSR offers npm doesn't, when to use it, and how it works for both consumers and maintainers.</p><p></p><ul><li>(00:00) - The Sheer Joy of Publishing to JSR | Ep 6</li>
<li>(05:40) - News: TypeScript 5.8 RC</li>
<li>(07:45) - News: JSR Open Governance Board</li>
<li>(08:59) - News: ESLint Plugin for erasableSyntaxOnly</li>
<li>(11:03) - News: Windows Terminal 1.22 Released</li>
<li>(15:31) - News: Create React App is Officially Deprecated</li>
<li>(17:50) - News: Interop 2025</li>
<li>(19:59) - News: Prettier 3.5 Released With Better TS Support</li>
<li>(20:42) - Community Highlight: Wheel of Names TypeScript+React Project Tutorial</li>
<li>(21:05) - Community Highlight: Repository Pattern and Clean Architecture with TS and Prism</li>
<li>(21:34) - Community Highlight: Welch Canavan on the Sheer Joy of Publishing to JSR</li>
<li>(22:01) - Community Highlight: The Good Doctor is On a Roll</li>
<li>(22:47) - Community Highlight: Tips for Migrating Node.js Projects to Deno</li>
<li>(24:09) - Community Highlight: Sort Object Properties by Type ESLint Plugin</li>
<li>(24:30) - Community Highlight: Unloader and Unplugin for TypeScript and oxc</li>
<li>(25:21) - Community Highlight: dsbuild Bundler for Deno</li>
<li>(25:54) - Deep Dive: What is a Pirate's Favorite Registry?</li>
<li>(27:49) - Deep Dive: Differences Between npm and JSR</li>
<li>(30:38) - Deep Dive: JSR's Security-First Approach</li>
<li>(32:39) - Deep Dive: Consuming JSR Packages in the Browser</li>
<li>(35:26) - Deep Dive: Should You Publish to Both npm and JSR?</li>
<li>(36:31) - Deep Dive: Can You Publish Private Packages?</li>
<li>(38:16) - Deep Dive: JSR's TypeScript-First Approach</li>
<li>(42:04) - Deep Dive: Can You Tag Versions?</li>
<li>(44:51) - Deep Dive: No API Keys for Publishing</li>
<li>(46:58) - Deep Dive: Yanking or Unpublishing a Package</li>
<li>(48:16) - Deep Dive: Kamran's Experience Publishing to JSR</li>
<li>(53:16) - Deep Dive: Erik's Experience Publishing to JSR</li>
<li>(55:06) - Secrets of the Handbook: Decorators</li>
<li>(01:00:03) - Cool Stuff: Write Vanilla CSS in TypeScript </li>
<li>(01:00:32) - Cool Stuff: Signals in Lit</li>
<li>(01:01:35) - Cool Stuff: Train Your vim Muscle Memory</li>
<li>(01:01:52) - Cool Stuff: AreTheTypesWrong.com</li>
<li>(01:02:44) - Cool Stuff: Homura Ham's Hamster Maze Videos</li>
<li>(01:05:10) - Bonus: JSR ASMR (?!) </li>
</ul><br><strong>Week of February 10, 2025</strong><ul><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-8-rc/">TypeScript 5.8 RC Released</a> -- Notably, the checked return expressions was walked back 🥹 But, it includes require(esm) support.</li><li>Deno announced the <a href="https://deno.com/blog/jsr-open-governance-board">JSR Open Governance Board</a></li><li>Warn or emit lint errors if your TypeScript contains erasable syntax with <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3lif3lgd6bc2f">Josh Goldberg's new ESLint plugin</a></li><li><a href="https://github.com/microsoft/terminal/releases/tag/v1.22.10352.0">Windows Terminal 1.22 released</a> with support for Sixels graphics</li><li><a href="https://bsky.app/profile/filipsobol.bsky.social/post/3lhwojlq37c2q">Node 20 got require(esm)</a> support backported.</li><li><strong>PSA:</strong> <a href="https://endoflife.date/nodejs">Node 18 EOL</a> is April 30, 2025</li><li>React team <a href="https://bsky.app/profile/react.dev/post/3li5ucjd4sk2a">officially deprecates Create React App</a></li><li>Browser vendors met to discuss which APIs to implement between them at <a href="https://blogs.windows.com/msedgedev/2025/02/13/microsoft-edge-and-interop-2025/">Interop 2025</a></li><li><a href="https://prettier.io/blog/2025/02/09/3.5.0">Prettier 3.5 released</a> with better TS support</li><li><a href="https://astro.build/blog/astro-530/">Astro 5.3</a> has better overall performance and Netlify support</li></ul><p><strong>Community Highlights</strong></p><ul><li><strong>Tutorial</strong>: FreeCodeCamp <a href="https://bsky.app/profile/freecodecamp.bsky.social/post/3lhzilwbluv2k">build a React and TypeScript Wheel of Names project</a></li><li><strong>Video:</strong> <a href="https://www.youtube.com/watch?v=ff62ijMbSLI">Repository pattern and clean architecture with TypeScript / Prism</a> (h/t <a href="https://bsky.app/profile/alexrusin.com/post/3lhtfbm6dac2y">Alex Rusin</a>)</li><li><strong>Blog post: </strong>The Sheer Joy of Publishing to JSR (h/t  <a href="https://bsky.app/profile/xiwcx.bsky.social/post/3lhtmvnmhfk2z">I. Welsch Canavan</a>)</li><li><strong>Blog post:</strong> Deno <a href="https://deno.com/blog/not-using-npm-specifiers-doing-it-wrong">on npm: specifiers</a> vs transpiled services like esm.sh</li><li>Via The Good Dr. Axel Rauschmayer<ul><li><strong>Blog Post: </strong><a href="https://2ality.com/2025/02/typescript-infer-operator.html">extracting parts of composite types via `infer`</a></li><li><strong>Blog Post:</strong> <a href="https://2ality.com/2025/01/tsconfig-json.html">A guide to tsconfig.json</a> (Updated for TS 5.8)</li><li><strong>Blog Post:</strong> <a href="https://2ality.com/2025/02/testing-typedoc-examples.html">TypeDoc: testing code examples in comment docs</a></li><li><strong>Blog Post:</strong> <a href="https://2ality.com/2025/02/mapped-types-typescript.html">Mapped Types</a></li></ul></li><li><strong>Discussion:</strong> <a href="https://bsky.app/profile/dayjay.de/post/3lhtaufgmsk2v">dayjay migrated all their Node.js projects to Deno</a>. What did they learn?</li><li><strong>Tools: </strong>Nir Tamir created a TS ESLint rule for <a href="https://bsky.app/profile/nirtamir.com/post/3lhvy7xh3nc27">sorting object properties by type</a></li><li><strong>Tools:</strong> Kevin Deng is <a href="https://bsky.app/profile/sxzz.dev/post/3lhvpsspdfk2q">working on Unloader &amp; Unplugin</a></li><li><strong>Tools:</strong> <a href="https://bsky.app/profile/deno.land/post/3lh2fi2hjpk2m">A new Deno Bundler</a> (dsbundle)</li></ul><p><br></p><p><strong> Deep Dive: JSR</strong></p><ul><li><a href="https://jsr.io">JSR</a>, an open source npm alternative</li><li><a href="https://jsr.io/docs/trust#provenance-and-trust">JSR's Provenance Attestation</a> for verification</li><li><a href="https://jsr.io/docs/publishing-packages#publishing-from-github-actions">Zero-config GitHub publishing</a></li><li><a href="https://github.com/jsr-io/jsr/issues/203">Doesn't yet support private publish</a> (but there's <a href="https://jsr.io/docs/private-registries">a workaround</a>)</li><li><a href="https://github.com/jsr-io/jsr/issues/405">No support in Artifactory yet</a></li><li>JSR will warn you of <a href="https://jsr.io/docs/about-slow-types">slow types</a></li><li>Kamran published <a href="https://jsr.io/@kamranayub/ts-has-guards">ts-has-guards</a> for guarding `Map.has` and related APIs</li><li>Erik published <a href="https://jsr.io/@excalibur/ecs">Excalibur's ECS core</a> code for fun</li><li>JSR will <a href="https://jsr.io/docs/scoring">score your package</a></li><li>No <a href="https://jsr.io/docs/usage-policy#scope-name-squatting">scope squatting</a> (or selling)!</li></ul><p><strong>Secrets of the Handbook</strong></p><ul><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/#decorators">Decorators</a></li><li>2ality's <a href="https://2ality.com/2022/10/javascript-decorators.html">guide on decorators</a></li><li><a href="https://slides.com/pzuraq/decorators-for-stage-3-2022-03-977778">TC39 updates</a> presentation</li><li>oxc is <a href="https://github.com/oxc-project/oxc/issues/9170">working on support</a> for modern and <a href="https://github.com/oxc-project/oxc/issues/4047">legacy</a></li></ul><p><br></p><p><br></p><p><strong>Links</strong></p><ul><li>Kat <a href="https://bsky.app/profile/..."></a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This week Kamran and Erik unpack JSR, the new open alternative to the npm registry from the folks at Deno. They both published packages and discuss what JSR offers npm doesn't, when to use it, and how it works for both consumers and maintainers.</p><p></p><ul><li>(00:00) - The Sheer Joy of Publishing to JSR | Ep 6</li>
<li>(05:40) - News: TypeScript 5.8 RC</li>
<li>(07:45) - News: JSR Open Governance Board</li>
<li>(08:59) - News: ESLint Plugin for erasableSyntaxOnly</li>
<li>(11:03) - News: Windows Terminal 1.22 Released</li>
<li>(15:31) - News: Create React App is Officially Deprecated</li>
<li>(17:50) - News: Interop 2025</li>
<li>(19:59) - News: Prettier 3.5 Released With Better TS Support</li>
<li>(20:42) - Community Highlight: Wheel of Names TypeScript+React Project Tutorial</li>
<li>(21:05) - Community Highlight: Repository Pattern and Clean Architecture with TS and Prism</li>
<li>(21:34) - Community Highlight: Welch Canavan on the Sheer Joy of Publishing to JSR</li>
<li>(22:01) - Community Highlight: The Good Doctor is On a Roll</li>
<li>(22:47) - Community Highlight: Tips for Migrating Node.js Projects to Deno</li>
<li>(24:09) - Community Highlight: Sort Object Properties by Type ESLint Plugin</li>
<li>(24:30) - Community Highlight: Unloader and Unplugin for TypeScript and oxc</li>
<li>(25:21) - Community Highlight: dsbuild Bundler for Deno</li>
<li>(25:54) - Deep Dive: What is a Pirate's Favorite Registry?</li>
<li>(27:49) - Deep Dive: Differences Between npm and JSR</li>
<li>(30:38) - Deep Dive: JSR's Security-First Approach</li>
<li>(32:39) - Deep Dive: Consuming JSR Packages in the Browser</li>
<li>(35:26) - Deep Dive: Should You Publish to Both npm and JSR?</li>
<li>(36:31) - Deep Dive: Can You Publish Private Packages?</li>
<li>(38:16) - Deep Dive: JSR's TypeScript-First Approach</li>
<li>(42:04) - Deep Dive: Can You Tag Versions?</li>
<li>(44:51) - Deep Dive: No API Keys for Publishing</li>
<li>(46:58) - Deep Dive: Yanking or Unpublishing a Package</li>
<li>(48:16) - Deep Dive: Kamran's Experience Publishing to JSR</li>
<li>(53:16) - Deep Dive: Erik's Experience Publishing to JSR</li>
<li>(55:06) - Secrets of the Handbook: Decorators</li>
<li>(01:00:03) - Cool Stuff: Write Vanilla CSS in TypeScript </li>
<li>(01:00:32) - Cool Stuff: Signals in Lit</li>
<li>(01:01:35) - Cool Stuff: Train Your vim Muscle Memory</li>
<li>(01:01:52) - Cool Stuff: AreTheTypesWrong.com</li>
<li>(01:02:44) - Cool Stuff: Homura Ham's Hamster Maze Videos</li>
<li>(01:05:10) - Bonus: JSR ASMR (?!) </li>
</ul><br><strong>Week of February 10, 2025</strong><ul><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-8-rc/">TypeScript 5.8 RC Released</a> -- Notably, the checked return expressions was walked back 🥹 But, it includes require(esm) support.</li><li>Deno announced the <a href="https://deno.com/blog/jsr-open-governance-board">JSR Open Governance Board</a></li><li>Warn or emit lint errors if your TypeScript contains erasable syntax with <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3lif3lgd6bc2f">Josh Goldberg's new ESLint plugin</a></li><li><a href="https://github.com/microsoft/terminal/releases/tag/v1.22.10352.0">Windows Terminal 1.22 released</a> with support for Sixels graphics</li><li><a href="https://bsky.app/profile/filipsobol.bsky.social/post/3lhwojlq37c2q">Node 20 got require(esm)</a> support backported.</li><li><strong>PSA:</strong> <a href="https://endoflife.date/nodejs">Node 18 EOL</a> is April 30, 2025</li><li>React team <a href="https://bsky.app/profile/react.dev/post/3li5ucjd4sk2a">officially deprecates Create React App</a></li><li>Browser vendors met to discuss which APIs to implement between them at <a href="https://blogs.windows.com/msedgedev/2025/02/13/microsoft-edge-and-interop-2025/">Interop 2025</a></li><li><a href="https://prettier.io/blog/2025/02/09/3.5.0">Prettier 3.5 released</a> with better TS support</li><li><a href="https://astro.build/blog/astro-530/">Astro 5.3</a> has better overall performance and Netlify support</li></ul><p><strong>Community Highlights</strong></p><ul><li><strong>Tutorial</strong>: FreeCodeCamp <a href="https://bsky.app/profile/freecodecamp.bsky.social/post/3lhzilwbluv2k">build a React and TypeScript Wheel of Names project</a></li><li><strong>Video:</strong> <a href="https://www.youtube.com/watch?v=ff62ijMbSLI">Repository pattern and clean architecture with TypeScript / Prism</a> (h/t <a href="https://bsky.app/profile/alexrusin.com/post/3lhtfbm6dac2y">Alex Rusin</a>)</li><li><strong>Blog post: </strong>The Sheer Joy of Publishing to JSR (h/t  <a href="https://bsky.app/profile/xiwcx.bsky.social/post/3lhtmvnmhfk2z">I. Welsch Canavan</a>)</li><li><strong>Blog post:</strong> Deno <a href="https://deno.com/blog/not-using-npm-specifiers-doing-it-wrong">on npm: specifiers</a> vs transpiled services like esm.sh</li><li>Via The Good Dr. Axel Rauschmayer<ul><li><strong>Blog Post: </strong><a href="https://2ality.com/2025/02/typescript-infer-operator.html">extracting parts of composite types via `infer`</a></li><li><strong>Blog Post:</strong> <a href="https://2ality.com/2025/01/tsconfig-json.html">A guide to tsconfig.json</a> (Updated for TS 5.8)</li><li><strong>Blog Post:</strong> <a href="https://2ality.com/2025/02/testing-typedoc-examples.html">TypeDoc: testing code examples in comment docs</a></li><li><strong>Blog Post:</strong> <a href="https://2ality.com/2025/02/mapped-types-typescript.html">Mapped Types</a></li></ul></li><li><strong>Discussion:</strong> <a href="https://bsky.app/profile/dayjay.de/post/3lhtaufgmsk2v">dayjay migrated all their Node.js projects to Deno</a>. What did they learn?</li><li><strong>Tools: </strong>Nir Tamir created a TS ESLint rule for <a href="https://bsky.app/profile/nirtamir.com/post/3lhvy7xh3nc27">sorting object properties by type</a></li><li><strong>Tools:</strong> Kevin Deng is <a href="https://bsky.app/profile/sxzz.dev/post/3lhvpsspdfk2q">working on Unloader &amp; Unplugin</a></li><li><strong>Tools:</strong> <a href="https://bsky.app/profile/deno.land/post/3lh2fi2hjpk2m">A new Deno Bundler</a> (dsbundle)</li></ul><p><br></p><p><strong> Deep Dive: JSR</strong></p><ul><li><a href="https://jsr.io">JSR</a>, an open source npm alternative</li><li><a href="https://jsr.io/docs/trust#provenance-and-trust">JSR's Provenance Attestation</a> for verification</li><li><a href="https://jsr.io/docs/publishing-packages#publishing-from-github-actions">Zero-config GitHub publishing</a></li><li><a href="https://github.com/jsr-io/jsr/issues/203">Doesn't yet support private publish</a> (but there's <a href="https://jsr.io/docs/private-registries">a workaround</a>)</li><li><a href="https://github.com/jsr-io/jsr/issues/405">No support in Artifactory yet</a></li><li>JSR will warn you of <a href="https://jsr.io/docs/about-slow-types">slow types</a></li><li>Kamran published <a href="https://jsr.io/@kamranayub/ts-has-guards">ts-has-guards</a> for guarding `Map.has` and related APIs</li><li>Erik published <a href="https://jsr.io/@excalibur/ecs">Excalibur's ECS core</a> code for fun</li><li>JSR will <a href="https://jsr.io/docs/scoring">score your package</a></li><li>No <a href="https://jsr.io/docs/usage-policy#scope-name-squatting">scope squatting</a> (or selling)!</li></ul><p><strong>Secrets of the Handbook</strong></p><ul><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/#decorators">Decorators</a></li><li>2ality's <a href="https://2ality.com/2022/10/javascript-decorators.html">guide on decorators</a></li><li><a href="https://slides.com/pzuraq/decorators-for-stage-3-2022-03-977778">TC39 updates</a> presentation</li><li>oxc is <a href="https://github.com/oxc-project/oxc/issues/9170">working on support</a> for modern and <a href="https://github.com/oxc-project/oxc/issues/4047">legacy</a></li></ul><p><br></p><p><br></p><p><strong>Links</strong></p><ul><li>Kat <a href="https://bsky.app/profile/..."></a></li></ul>]]>
      </content:encoded>
      <pubDate>Mon, 24 Feb 2025 06:00:00 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/73cc966e/25b81be4.mp3" length="64425302" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>4024</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>This week Kamran and Erik unpack JSR, the new open alternative to the npm registry from the folks at Deno. They both published packages and discuss what JSR offers npm doesn't, when to use it, and how it works for both consumers and maintainers.</p><p></p><ul><li>(00:00) - The Sheer Joy of Publishing to JSR | Ep 6</li>
<li>(05:40) - News: TypeScript 5.8 RC</li>
<li>(07:45) - News: JSR Open Governance Board</li>
<li>(08:59) - News: ESLint Plugin for erasableSyntaxOnly</li>
<li>(11:03) - News: Windows Terminal 1.22 Released</li>
<li>(15:31) - News: Create React App is Officially Deprecated</li>
<li>(17:50) - News: Interop 2025</li>
<li>(19:59) - News: Prettier 3.5 Released With Better TS Support</li>
<li>(20:42) - Community Highlight: Wheel of Names TypeScript+React Project Tutorial</li>
<li>(21:05) - Community Highlight: Repository Pattern and Clean Architecture with TS and Prism</li>
<li>(21:34) - Community Highlight: Welch Canavan on the Sheer Joy of Publishing to JSR</li>
<li>(22:01) - Community Highlight: The Good Doctor is On a Roll</li>
<li>(22:47) - Community Highlight: Tips for Migrating Node.js Projects to Deno</li>
<li>(24:09) - Community Highlight: Sort Object Properties by Type ESLint Plugin</li>
<li>(24:30) - Community Highlight: Unloader and Unplugin for TypeScript and oxc</li>
<li>(25:21) - Community Highlight: dsbuild Bundler for Deno</li>
<li>(25:54) - Deep Dive: What is a Pirate's Favorite Registry?</li>
<li>(27:49) - Deep Dive: Differences Between npm and JSR</li>
<li>(30:38) - Deep Dive: JSR's Security-First Approach</li>
<li>(32:39) - Deep Dive: Consuming JSR Packages in the Browser</li>
<li>(35:26) - Deep Dive: Should You Publish to Both npm and JSR?</li>
<li>(36:31) - Deep Dive: Can You Publish Private Packages?</li>
<li>(38:16) - Deep Dive: JSR's TypeScript-First Approach</li>
<li>(42:04) - Deep Dive: Can You Tag Versions?</li>
<li>(44:51) - Deep Dive: No API Keys for Publishing</li>
<li>(46:58) - Deep Dive: Yanking or Unpublishing a Package</li>
<li>(48:16) - Deep Dive: Kamran's Experience Publishing to JSR</li>
<li>(53:16) - Deep Dive: Erik's Experience Publishing to JSR</li>
<li>(55:06) - Secrets of the Handbook: Decorators</li>
<li>(01:00:03) - Cool Stuff: Write Vanilla CSS in TypeScript </li>
<li>(01:00:32) - Cool Stuff: Signals in Lit</li>
<li>(01:01:35) - Cool Stuff: Train Your vim Muscle Memory</li>
<li>(01:01:52) - Cool Stuff: AreTheTypesWrong.com</li>
<li>(01:02:44) - Cool Stuff: Homura Ham's Hamster Maze Videos</li>
<li>(01:05:10) - Bonus: JSR ASMR (?!) </li>
</ul><br><strong>Week of February 10, 2025</strong><ul><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-8-rc/">TypeScript 5.8 RC Released</a> -- Notably, the checked return expressions was walked back 🥹 But, it includes require(esm) support.</li><li>Deno announced the <a href="https://deno.com/blog/jsr-open-governance-board">JSR Open Governance Board</a></li><li>Warn or emit lint errors if your TypeScript contains erasable syntax with <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3lif3lgd6bc2f">Josh Goldberg's new ESLint plugin</a></li><li><a href="https://github.com/microsoft/terminal/releases/tag/v1.22.10352.0">Windows Terminal 1.22 released</a> with support for Sixels graphics</li><li><a href="https://bsky.app/profile/filipsobol.bsky.social/post/3lhwojlq37c2q">Node 20 got require(esm)</a> support backported.</li><li><strong>PSA:</strong> <a href="https://endoflife.date/nodejs">Node 18 EOL</a> is April 30, 2025</li><li>React team <a href="https://bsky.app/profile/react.dev/post/3li5ucjd4sk2a">officially deprecates Create React App</a></li><li>Browser vendors met to discuss which APIs to implement between them at <a href="https://blogs.windows.com/msedgedev/2025/02/13/microsoft-edge-and-interop-2025/">Interop 2025</a></li><li><a href="https://prettier.io/blog/2025/02/09/3.5.0">Prettier 3.5 released</a> with better TS support</li><li><a href="https://astro.build/blog/astro-530/">Astro 5.3</a> has better overall performance and Netlify support</li></ul><p><strong>Community Highlights</strong></p><ul><li><strong>Tutorial</strong>: FreeCodeCamp <a href="https://bsky.app/profile/freecodecamp.bsky.social/post/3lhzilwbluv2k">build a React and TypeScript Wheel of Names project</a></li><li><strong>Video:</strong> <a href="https://www.youtube.com/watch?v=ff62ijMbSLI">Repository pattern and clean architecture with TypeScript / Prism</a> (h/t <a href="https://bsky.app/profile/alexrusin.com/post/3lhtfbm6dac2y">Alex Rusin</a>)</li><li><strong>Blog post: </strong>The Sheer Joy of Publishing to JSR (h/t  <a href="https://bsky.app/profile/xiwcx.bsky.social/post/3lhtmvnmhfk2z">I. Welsch Canavan</a>)</li><li><strong>Blog post:</strong> Deno <a href="https://deno.com/blog/not-using-npm-specifiers-doing-it-wrong">on npm: specifiers</a> vs transpiled services like esm.sh</li><li>Via The Good Dr. Axel Rauschmayer<ul><li><strong>Blog Post: </strong><a href="https://2ality.com/2025/02/typescript-infer-operator.html">extracting parts of composite types via `infer`</a></li><li><strong>Blog Post:</strong> <a href="https://2ality.com/2025/01/tsconfig-json.html">A guide to tsconfig.json</a> (Updated for TS 5.8)</li><li><strong>Blog Post:</strong> <a href="https://2ality.com/2025/02/testing-typedoc-examples.html">TypeDoc: testing code examples in comment docs</a></li><li><strong>Blog Post:</strong> <a href="https://2ality.com/2025/02/mapped-types-typescript.html">Mapped Types</a></li></ul></li><li><strong>Discussion:</strong> <a href="https://bsky.app/profile/dayjay.de/post/3lhtaufgmsk2v">dayjay migrated all their Node.js projects to Deno</a>. What did they learn?</li><li><strong>Tools: </strong>Nir Tamir created a TS ESLint rule for <a href="https://bsky.app/profile/nirtamir.com/post/3lhvy7xh3nc27">sorting object properties by type</a></li><li><strong>Tools:</strong> Kevin Deng is <a href="https://bsky.app/profile/sxzz.dev/post/3lhvpsspdfk2q">working on Unloader &amp; Unplugin</a></li><li><strong>Tools:</strong> <a href="https://bsky.app/profile/deno.land/post/3lh2fi2hjpk2m">A new Deno Bundler</a> (dsbundle)</li></ul><p><br></p><p><strong> Deep Dive: JSR</strong></p><ul><li><a href="https://jsr.io">JSR</a>, an open source npm alternative</li><li><a href="https://jsr.io/docs/trust#provenance-and-trust">JSR's Provenance Attestation</a> for verification</li><li><a href="https://jsr.io/docs/publishing-packages#publishing-from-github-actions">Zero-config GitHub publishing</a></li><li><a href="https://github.com/jsr-io/jsr/issues/203">Doesn't yet support private publish</a> (but there's <a href="https://jsr.io/docs/private-registries">a workaround</a>)</li><li><a href="https://github.com/jsr-io/jsr/issues/405">No support in Artifactory yet</a></li><li>JSR will warn you of <a href="https://jsr.io/docs/about-slow-types">slow types</a></li><li>Kamran published <a href="https://jsr.io/@kamranayub/ts-has-guards">ts-has-guards</a> for guarding `Map.has` and related APIs</li><li>Erik published <a href="https://jsr.io/@excalibur/ecs">Excalibur's ECS core</a> code for fun</li><li>JSR will <a href="https://jsr.io/docs/scoring">score your package</a></li><li>No <a href="https://jsr.io/docs/usage-policy#scope-name-squatting">scope squatting</a> (or selling)!</li></ul><p><strong>Secrets of the Handbook</strong></p><ul><li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/#decorators">Decorators</a></li><li>2ality's <a href="https://2ality.com/2022/10/javascript-decorators.html">guide on decorators</a></li><li><a href="https://slides.com/pzuraq/decorators-for-stage-3-2022-03-977778">TC39 updates</a> presentation</li><li>oxc is <a href="https://github.com/oxc-project/oxc/issues/9170">working on support</a> for modern and <a href="https://github.com/oxc-project/oxc/issues/4047">legacy</a></li></ul><p><br></p><p><br></p><p><strong>Links</strong></p><ul><li>Kat <a href="https://bsky.app/profile/..."></a></li></ul>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/73cc966e/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Compilers, Runtimes, and Funtimes | Ep 5</title>
      <itunes:episode>5</itunes:episode>
      <podcast:episode>5</podcast:episode>
      <itunes:title>Compilers, Runtimes, and Funtimes | Ep 5</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">dce15d72-ce18-462a-8814-a0ab78aefa9b</guid>
      <link>https://share.transistor.fm/s/2c2bb713</link>
      <description>
        <![CDATA[<p>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?</p><p></p><ul><li>(04:55) - This Week in TypeScript: Node.js Corepack Issue Affects Users</li>
<li>(06:16) - This Week in TypeScript: Vite and Vitest Security Vulnerabilities</li>
<li>(07:18) - This Week in TypeScript: 2ality on Enum Patterns</li>
<li>(08:51) - This Week in TypeScript: 2ality's Tutorial on Publishing ESM Packages with TypeScript</li>
<li>(09:53) - This Week in TypeScript: Should We Move On to ESM-Only?</li>
<li>(13:13) - This Week in TypeScript: HTTP2 Support Across Node.js, Bun, and Deno... Or Lack Thereof</li>
<li>(14:14) - This Week in TypeScript: Nx Has Some New TypeScript Monorepo Guides</li>
<li>(14:38) - This Week in TypeScript: Zero to Mastery Shares a TypeScript Cheat Sheet</li>
<li>(15:09) - This Week in TypeScript: TS Comment Directives</li>
<li>(17:21) - Deep Dive: Compilers and Runtimes</li>
<li>(19:32) - Deep Dive: What's the Difference Between a Compiler and Transpiler?</li>
<li>(21:11) - Deep Dive: Why Do We Need a TypeScript Compiler?</li>
<li>(22:02) - Deep Dive: The TypeScript Compiler (TSC)</li>
<li>(23:38) - Deep Dive: What's an Interpreter?</li>
<li>(25:06) - Deep Dive: What's an Engine?</li>
<li>(27:52) - Deep Dive: Recap So Far</li>
<li>(28:31) - Deep Dive: Babel, the OG Transpiler</li>
<li>(29:23) - Deep Dive: What is SWC?</li>
<li>(31:12) - Deep Dive: Using the verbatimModuleSyntax TSConfig Flag</li>
<li>(32:35) - Deep Dive: What is esbuild?</li>
<li>(34:23) - Deep Dive: Okay, What's the Difference Between SWC and esbuild?</li>
<li>(35:51) - Deep Dive: So, What is oxc Then??</li>
<li>(37:03) - Deep Dive: Erik Says checker.ts is "Gigundous" (???)</li>
<li>(37:58) - Deep Dive: Wait, oxc Can Output Type Declarations?!</li>
<li>(39:34) - Deep Dive: Writing Your TypeScript So It Compiles Faster</li>
<li>(41:10) - Deep Dive: What Does deno compile Do?</li>
<li>(42:12) - Deep Dive: What Are The Different JS/TS Runtimes?</li>
<li>(43:43) - Deep Dive: What Differentiates Bun from Deno?</li>
<li>(45:26) - Deep Dive: Serverless JavaScript Runtimes (workerd, Vercel Edge)</li>
<li>(46:48) - Deep Dive: Writing Isomorphic JavaScript or TypeScript</li>
<li>(47:44) - Deep Dive: Who Will Stop This Madness?</li>
<li>(50:11) - Deep Dive: Should Microsoft "Fix" TSC?</li>
<li>(53:43) - Deep Dive: WHAT DOES ALL THIS MEAN?</li>
<li>(57:36) - Secrets of the Handbook: Named Tuple Values</li>
<li>(01:00:59) - Cool Stuff: Node ES Language Support Matrix</li>
<li>(01:01:46) - Cool Stuff: VSCode Pretty TS Error Extension</li>
</ul><br><strong>Week of February 3, 2025</strong><ul><li>📌 <strong>PSA: </strong><a href="https://github.com/nodejs/corepack/issues/627">Node.js LTS corepack registry key signing issue</a> breaks people's CI/CD pipelines and npm/pnpm installations. If you are affected, check this issue out! It’s fixed now and backported to Node 20.18.3.</li><li>📌 <strong>PSA: </strong>There was a <a href="https://github.com/vitest-dev/vitest/security/advisories/GHSA-9crc-q9x8-hgqq">remote code execution vulnerability</a> in Vitest, and a <a href="https://github.com/vitejs/vite/security/advisories/GHSA-vg6x-rcgg-rjx6">Vite dev server vulnerability</a>. Update to the latest patch versions!</li></ul><p><strong>Community Highlights</strong></p><ul><li><strong>Blog Post: </strong><a href="https://2ality.com/2025/01/typescript-enum-patterns.html">TypeScript enums: use cases and alternatives</a> (Axel Rauschmayer)</li><li><strong>Blog Post:</strong> <a href="https://2ality.com/2025/02/typescript-esm-packages.html">Tutorial: publishing ESM-based npm packages with TypeScript</a>  (Axel Rauschmayer)</li><li><strong>Blog Post:</strong> <a href="https://antfu.me/posts/move-on-to-esm-only">Move on to ESM-only</a> (Anthony Fu)</li><li><strong>Blog Post: </strong><a href="https://blog.disintegrator.dev/posts/http2-support-in-js-runtimes/">Fetch and HTTP/2 support in Node.js, Bun and Deno</a> (George Haidar)</li><li><strong>Learning:</strong> Nx is <a href="https://bsky.app/profile/nx.dev/post/3lhequ7h5n32w">doing cool stuff</a> for TS monorepo setups and has a whole series on it</li><li><strong>Cheatsheet: </strong>Bookmark this <a href="https://zerotomastery.io/cheatsheets/typescript-cheat-sheet/">TypeScript Cheat Sheet</a> by Zero to Mastery (PDF version available)</li><li><strong>Book:</strong> Joshua Goldberg has a new <a href="https://www.learningtypescript.com/">Learning TypeScript</a> book and shares <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3lhjcf5i5qs2j">a tip about TS comments</a></li></ul><p><br></p><p><strong> Compilers and Runtimes Deep Dive</strong></p><ul><li><a href="https://olinations.medium.com/the-javascript-runtime-environment-d58fa2e60dd0">The JavaScript Runtime Environment</a> (Jamie Uttariello)</li><li>Wikipedia: <a href="https://en.wikipedia.org/wiki/List_of_ECMAScript_engines">ECMAScript Engines</a></li><li>V8's interpreter, <a href="https://v8.dev/docs/ignition">Ignition</a></li><li><a href="https://github.com/facebook/hermes">Hermes </a>engine for React Native</li><li>TSC, the official Microsoft TypeScript compiler</li><li><a href="https://swc.rs/">SWC</a>, a Rust-based compiler for JavaScript and TypeScript</li><li><a href="https://esbuild.github.io/">esbuild</a>, a Go-based compiler for JavaScript and TypeScript</li><li><a href="https://oxc.rs/">oxc</a>, a (new) Rust-based compiler by the creators of Vite</li><li><a href="https://docs.deno.com/runtime/reference/cli/compile/">Deno compile</a> for creating binary executables</li><li><a href="https://bun.sh/">Bun</a> runtime, a drop-in replacement for Node</li><li><a href="https://github.com/cloudflare/workerd">workerd </a>runtime by Cloudflare</li><li><a href="https://vercel.com/docs/functions/edge-middleware/edge-runtime">Vercel Edge Runtime</a></li><li><a href="https://github.com/jcbhmr/awesome-webassembly-runtimes">A list of WebAssembly (WASM) runtimes</a></li><li><a href="https://github.com/wintercg">WinterTC</a>, a committee for unifying server backend runtime APIs</li></ul><p><br></p><p><strong>Links</strong></p><ul><li>TypeScript 4.0's <a href="https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-0.html#labeled-tuple-elements">labeled tuple elements</a> (<a href="https://www.typescriptlang.org/play/?ts=4.0.2#example/named-tuples">playground link</a>)</li><li>Wondering what version of Node supports what ES features and syntax? <a href="https://node.green/">https://node.green/</a></li><li>Replace those ugly TS errors in VSCode with <a href="https://marketplace.visualstudio.com/items?itemName=yoavbls.pretty-ts-errors">something more pretty</a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
</ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>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?</p><p></p><ul><li>(04:55) - This Week in TypeScript: Node.js Corepack Issue Affects Users</li>
<li>(06:16) - This Week in TypeScript: Vite and Vitest Security Vulnerabilities</li>
<li>(07:18) - This Week in TypeScript: 2ality on Enum Patterns</li>
<li>(08:51) - This Week in TypeScript: 2ality's Tutorial on Publishing ESM Packages with TypeScript</li>
<li>(09:53) - This Week in TypeScript: Should We Move On to ESM-Only?</li>
<li>(13:13) - This Week in TypeScript: HTTP2 Support Across Node.js, Bun, and Deno... Or Lack Thereof</li>
<li>(14:14) - This Week in TypeScript: Nx Has Some New TypeScript Monorepo Guides</li>
<li>(14:38) - This Week in TypeScript: Zero to Mastery Shares a TypeScript Cheat Sheet</li>
<li>(15:09) - This Week in TypeScript: TS Comment Directives</li>
<li>(17:21) - Deep Dive: Compilers and Runtimes</li>
<li>(19:32) - Deep Dive: What's the Difference Between a Compiler and Transpiler?</li>
<li>(21:11) - Deep Dive: Why Do We Need a TypeScript Compiler?</li>
<li>(22:02) - Deep Dive: The TypeScript Compiler (TSC)</li>
<li>(23:38) - Deep Dive: What's an Interpreter?</li>
<li>(25:06) - Deep Dive: What's an Engine?</li>
<li>(27:52) - Deep Dive: Recap So Far</li>
<li>(28:31) - Deep Dive: Babel, the OG Transpiler</li>
<li>(29:23) - Deep Dive: What is SWC?</li>
<li>(31:12) - Deep Dive: Using the verbatimModuleSyntax TSConfig Flag</li>
<li>(32:35) - Deep Dive: What is esbuild?</li>
<li>(34:23) - Deep Dive: Okay, What's the Difference Between SWC and esbuild?</li>
<li>(35:51) - Deep Dive: So, What is oxc Then??</li>
<li>(37:03) - Deep Dive: Erik Says checker.ts is "Gigundous" (???)</li>
<li>(37:58) - Deep Dive: Wait, oxc Can Output Type Declarations?!</li>
<li>(39:34) - Deep Dive: Writing Your TypeScript So It Compiles Faster</li>
<li>(41:10) - Deep Dive: What Does deno compile Do?</li>
<li>(42:12) - Deep Dive: What Are The Different JS/TS Runtimes?</li>
<li>(43:43) - Deep Dive: What Differentiates Bun from Deno?</li>
<li>(45:26) - Deep Dive: Serverless JavaScript Runtimes (workerd, Vercel Edge)</li>
<li>(46:48) - Deep Dive: Writing Isomorphic JavaScript or TypeScript</li>
<li>(47:44) - Deep Dive: Who Will Stop This Madness?</li>
<li>(50:11) - Deep Dive: Should Microsoft "Fix" TSC?</li>
<li>(53:43) - Deep Dive: WHAT DOES ALL THIS MEAN?</li>
<li>(57:36) - Secrets of the Handbook: Named Tuple Values</li>
<li>(01:00:59) - Cool Stuff: Node ES Language Support Matrix</li>
<li>(01:01:46) - Cool Stuff: VSCode Pretty TS Error Extension</li>
</ul><br><strong>Week of February 3, 2025</strong><ul><li>📌 <strong>PSA: </strong><a href="https://github.com/nodejs/corepack/issues/627">Node.js LTS corepack registry key signing issue</a> breaks people's CI/CD pipelines and npm/pnpm installations. If you are affected, check this issue out! It’s fixed now and backported to Node 20.18.3.</li><li>📌 <strong>PSA: </strong>There was a <a href="https://github.com/vitest-dev/vitest/security/advisories/GHSA-9crc-q9x8-hgqq">remote code execution vulnerability</a> in Vitest, and a <a href="https://github.com/vitejs/vite/security/advisories/GHSA-vg6x-rcgg-rjx6">Vite dev server vulnerability</a>. Update to the latest patch versions!</li></ul><p><strong>Community Highlights</strong></p><ul><li><strong>Blog Post: </strong><a href="https://2ality.com/2025/01/typescript-enum-patterns.html">TypeScript enums: use cases and alternatives</a> (Axel Rauschmayer)</li><li><strong>Blog Post:</strong> <a href="https://2ality.com/2025/02/typescript-esm-packages.html">Tutorial: publishing ESM-based npm packages with TypeScript</a>  (Axel Rauschmayer)</li><li><strong>Blog Post:</strong> <a href="https://antfu.me/posts/move-on-to-esm-only">Move on to ESM-only</a> (Anthony Fu)</li><li><strong>Blog Post: </strong><a href="https://blog.disintegrator.dev/posts/http2-support-in-js-runtimes/">Fetch and HTTP/2 support in Node.js, Bun and Deno</a> (George Haidar)</li><li><strong>Learning:</strong> Nx is <a href="https://bsky.app/profile/nx.dev/post/3lhequ7h5n32w">doing cool stuff</a> for TS monorepo setups and has a whole series on it</li><li><strong>Cheatsheet: </strong>Bookmark this <a href="https://zerotomastery.io/cheatsheets/typescript-cheat-sheet/">TypeScript Cheat Sheet</a> by Zero to Mastery (PDF version available)</li><li><strong>Book:</strong> Joshua Goldberg has a new <a href="https://www.learningtypescript.com/">Learning TypeScript</a> book and shares <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3lhjcf5i5qs2j">a tip about TS comments</a></li></ul><p><br></p><p><strong> Compilers and Runtimes Deep Dive</strong></p><ul><li><a href="https://olinations.medium.com/the-javascript-runtime-environment-d58fa2e60dd0">The JavaScript Runtime Environment</a> (Jamie Uttariello)</li><li>Wikipedia: <a href="https://en.wikipedia.org/wiki/List_of_ECMAScript_engines">ECMAScript Engines</a></li><li>V8's interpreter, <a href="https://v8.dev/docs/ignition">Ignition</a></li><li><a href="https://github.com/facebook/hermes">Hermes </a>engine for React Native</li><li>TSC, the official Microsoft TypeScript compiler</li><li><a href="https://swc.rs/">SWC</a>, a Rust-based compiler for JavaScript and TypeScript</li><li><a href="https://esbuild.github.io/">esbuild</a>, a Go-based compiler for JavaScript and TypeScript</li><li><a href="https://oxc.rs/">oxc</a>, a (new) Rust-based compiler by the creators of Vite</li><li><a href="https://docs.deno.com/runtime/reference/cli/compile/">Deno compile</a> for creating binary executables</li><li><a href="https://bun.sh/">Bun</a> runtime, a drop-in replacement for Node</li><li><a href="https://github.com/cloudflare/workerd">workerd </a>runtime by Cloudflare</li><li><a href="https://vercel.com/docs/functions/edge-middleware/edge-runtime">Vercel Edge Runtime</a></li><li><a href="https://github.com/jcbhmr/awesome-webassembly-runtimes">A list of WebAssembly (WASM) runtimes</a></li><li><a href="https://github.com/wintercg">WinterTC</a>, a committee for unifying server backend runtime APIs</li></ul><p><br></p><p><strong>Links</strong></p><ul><li>TypeScript 4.0's <a href="https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-0.html#labeled-tuple-elements">labeled tuple elements</a> (<a href="https://www.typescriptlang.org/play/?ts=4.0.2#example/named-tuples">playground link</a>)</li><li>Wondering what version of Node supports what ES features and syntax? <a href="https://node.green/">https://node.green/</a></li><li>Replace those ugly TS errors in VSCode with <a href="https://marketplace.visualstudio.com/items?itemName=yoavbls.pretty-ts-errors">something more pretty</a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
</ul>]]>
      </content:encoded>
      <pubDate>Mon, 17 Feb 2025 08:54:17 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/2c2bb713/d144b4e5.mp3" length="61305355" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>3829</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>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?</p><p></p><ul><li>(04:55) - This Week in TypeScript: Node.js Corepack Issue Affects Users</li>
<li>(06:16) - This Week in TypeScript: Vite and Vitest Security Vulnerabilities</li>
<li>(07:18) - This Week in TypeScript: 2ality on Enum Patterns</li>
<li>(08:51) - This Week in TypeScript: 2ality's Tutorial on Publishing ESM Packages with TypeScript</li>
<li>(09:53) - This Week in TypeScript: Should We Move On to ESM-Only?</li>
<li>(13:13) - This Week in TypeScript: HTTP2 Support Across Node.js, Bun, and Deno... Or Lack Thereof</li>
<li>(14:14) - This Week in TypeScript: Nx Has Some New TypeScript Monorepo Guides</li>
<li>(14:38) - This Week in TypeScript: Zero to Mastery Shares a TypeScript Cheat Sheet</li>
<li>(15:09) - This Week in TypeScript: TS Comment Directives</li>
<li>(17:21) - Deep Dive: Compilers and Runtimes</li>
<li>(19:32) - Deep Dive: What's the Difference Between a Compiler and Transpiler?</li>
<li>(21:11) - Deep Dive: Why Do We Need a TypeScript Compiler?</li>
<li>(22:02) - Deep Dive: The TypeScript Compiler (TSC)</li>
<li>(23:38) - Deep Dive: What's an Interpreter?</li>
<li>(25:06) - Deep Dive: What's an Engine?</li>
<li>(27:52) - Deep Dive: Recap So Far</li>
<li>(28:31) - Deep Dive: Babel, the OG Transpiler</li>
<li>(29:23) - Deep Dive: What is SWC?</li>
<li>(31:12) - Deep Dive: Using the verbatimModuleSyntax TSConfig Flag</li>
<li>(32:35) - Deep Dive: What is esbuild?</li>
<li>(34:23) - Deep Dive: Okay, What's the Difference Between SWC and esbuild?</li>
<li>(35:51) - Deep Dive: So, What is oxc Then??</li>
<li>(37:03) - Deep Dive: Erik Says checker.ts is "Gigundous" (???)</li>
<li>(37:58) - Deep Dive: Wait, oxc Can Output Type Declarations?!</li>
<li>(39:34) - Deep Dive: Writing Your TypeScript So It Compiles Faster</li>
<li>(41:10) - Deep Dive: What Does deno compile Do?</li>
<li>(42:12) - Deep Dive: What Are The Different JS/TS Runtimes?</li>
<li>(43:43) - Deep Dive: What Differentiates Bun from Deno?</li>
<li>(45:26) - Deep Dive: Serverless JavaScript Runtimes (workerd, Vercel Edge)</li>
<li>(46:48) - Deep Dive: Writing Isomorphic JavaScript or TypeScript</li>
<li>(47:44) - Deep Dive: Who Will Stop This Madness?</li>
<li>(50:11) - Deep Dive: Should Microsoft "Fix" TSC?</li>
<li>(53:43) - Deep Dive: WHAT DOES ALL THIS MEAN?</li>
<li>(57:36) - Secrets of the Handbook: Named Tuple Values</li>
<li>(01:00:59) - Cool Stuff: Node ES Language Support Matrix</li>
<li>(01:01:46) - Cool Stuff: VSCode Pretty TS Error Extension</li>
</ul><br><strong>Week of February 3, 2025</strong><ul><li>📌 <strong>PSA: </strong><a href="https://github.com/nodejs/corepack/issues/627">Node.js LTS corepack registry key signing issue</a> breaks people's CI/CD pipelines and npm/pnpm installations. If you are affected, check this issue out! It’s fixed now and backported to Node 20.18.3.</li><li>📌 <strong>PSA: </strong>There was a <a href="https://github.com/vitest-dev/vitest/security/advisories/GHSA-9crc-q9x8-hgqq">remote code execution vulnerability</a> in Vitest, and a <a href="https://github.com/vitejs/vite/security/advisories/GHSA-vg6x-rcgg-rjx6">Vite dev server vulnerability</a>. Update to the latest patch versions!</li></ul><p><strong>Community Highlights</strong></p><ul><li><strong>Blog Post: </strong><a href="https://2ality.com/2025/01/typescript-enum-patterns.html">TypeScript enums: use cases and alternatives</a> (Axel Rauschmayer)</li><li><strong>Blog Post:</strong> <a href="https://2ality.com/2025/02/typescript-esm-packages.html">Tutorial: publishing ESM-based npm packages with TypeScript</a>  (Axel Rauschmayer)</li><li><strong>Blog Post:</strong> <a href="https://antfu.me/posts/move-on-to-esm-only">Move on to ESM-only</a> (Anthony Fu)</li><li><strong>Blog Post: </strong><a href="https://blog.disintegrator.dev/posts/http2-support-in-js-runtimes/">Fetch and HTTP/2 support in Node.js, Bun and Deno</a> (George Haidar)</li><li><strong>Learning:</strong> Nx is <a href="https://bsky.app/profile/nx.dev/post/3lhequ7h5n32w">doing cool stuff</a> for TS monorepo setups and has a whole series on it</li><li><strong>Cheatsheet: </strong>Bookmark this <a href="https://zerotomastery.io/cheatsheets/typescript-cheat-sheet/">TypeScript Cheat Sheet</a> by Zero to Mastery (PDF version available)</li><li><strong>Book:</strong> Joshua Goldberg has a new <a href="https://www.learningtypescript.com/">Learning TypeScript</a> book and shares <a href="https://bsky.app/profile/joshuakgoldberg.com/post/3lhjcf5i5qs2j">a tip about TS comments</a></li></ul><p><br></p><p><strong> Compilers and Runtimes Deep Dive</strong></p><ul><li><a href="https://olinations.medium.com/the-javascript-runtime-environment-d58fa2e60dd0">The JavaScript Runtime Environment</a> (Jamie Uttariello)</li><li>Wikipedia: <a href="https://en.wikipedia.org/wiki/List_of_ECMAScript_engines">ECMAScript Engines</a></li><li>V8's interpreter, <a href="https://v8.dev/docs/ignition">Ignition</a></li><li><a href="https://github.com/facebook/hermes">Hermes </a>engine for React Native</li><li>TSC, the official Microsoft TypeScript compiler</li><li><a href="https://swc.rs/">SWC</a>, a Rust-based compiler for JavaScript and TypeScript</li><li><a href="https://esbuild.github.io/">esbuild</a>, a Go-based compiler for JavaScript and TypeScript</li><li><a href="https://oxc.rs/">oxc</a>, a (new) Rust-based compiler by the creators of Vite</li><li><a href="https://docs.deno.com/runtime/reference/cli/compile/">Deno compile</a> for creating binary executables</li><li><a href="https://bun.sh/">Bun</a> runtime, a drop-in replacement for Node</li><li><a href="https://github.com/cloudflare/workerd">workerd </a>runtime by Cloudflare</li><li><a href="https://vercel.com/docs/functions/edge-middleware/edge-runtime">Vercel Edge Runtime</a></li><li><a href="https://github.com/jcbhmr/awesome-webassembly-runtimes">A list of WebAssembly (WASM) runtimes</a></li><li><a href="https://github.com/wintercg">WinterTC</a>, a committee for unifying server backend runtime APIs</li></ul><p><br></p><p><strong>Links</strong></p><ul><li>TypeScript 4.0's <a href="https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-0.html#labeled-tuple-elements">labeled tuple elements</a> (<a href="https://www.typescriptlang.org/play/?ts=4.0.2#example/named-tuples">playground link</a>)</li><li>Wondering what version of Node supports what ES features and syntax? <a href="https://node.green/">https://node.green/</a></li><li>Replace those ugly TS errors in VSCode with <a href="https://marketplace.visualstudio.com/items?itemName=yoavbls.pretty-ts-errors">something more pretty</a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
</ul>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/2c2bb713/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>You Say Vite, I Say Vite | Ep 4</title>
      <itunes:episode>4</itunes:episode>
      <podcast:episode>4</podcast:episode>
      <itunes:title>You Say Vite, I Say Vite | Ep 4</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">b06d609b-5649-4e90-8880-202282fbbe55</guid>
      <link>https://share.transistor.fm/s/2c2f1690</link>
      <description>
        <![CDATA[<p>This week Erik and Kamran talk about Vite (Vight? Veet?), what it's good for, how it works, and its status as the "go-to" tool for frontend tooling.</p><p></p><ul><li>(04:21) - This Week in TypeScript: TS 5.8 Beta</li>
<li>(11:02) - This Week in TypeScript: Ruck 9 Released</li>
<li>(12:39) - This Week in TypeScript: Type Stripping in the Browser</li>
<li>(14:45) - Community Highlight: Deno and Qwik Video</li>
<li>(15:52) - Community Highlight: Zig, TypeScript, and WASM by David Bushell</li>
<li>(16:49) - New Library Watch: tsc-extra</li>
<li>(17:24) - New Library Watch: typemap and typebox</li>
<li>(18:23) - Vite Overview</li>
<li>(22:01) - Vite: Getting Started</li>
<li>(22:53) - Vite: build and preview</li>
<li>(23:34) - Vite: How Does It Work?</li>
<li>(26:57) - Vite: Support for Libraries and Frameworks</li>
<li>(28:04) - Vite 6.0: Environments API</li>
<li>(30:27) - Vite 6.0: Support for Additional HTML Asset References</li>
<li>(31:28) - Vite: Testing with Vitest</li>
<li>(32:48) - Vite Gripes and Gotchas</li>
<li>(33:52) - Vite Gripes: Dev and Prod Build Inconsistencies</li>
<li>(35:14) - Vite Gotcha: Forgetting to Set a URL Base</li>
<li>(35:49) - Vite Gotcha: Targeting Legacy Browsers</li>
<li>(38:30) - Vite Gripes: npm linking</li>
<li>(41:43) - Vite's Future: What Are We Excited About?</li>
<li>(44:12) - Secrets of the Handbook: Type Guards and Predicates</li>
<li>(47:27) - Cool Stuff: Write Typesafe Emails with React.email</li>
<li>(49:51) - Cool Yet Questionable Stuff: Custom Type Errors When Working With Generics</li>
</ul><br><strong>Week of January 27</strong><ul><li><strong>News: </strong><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-8-beta/">TS 5.8 Beta Released</a></li><li><strong>News: </strong><a href="https://ruck.tech/">Ruck 9</a>, a Deno web framework</li><li><strong>News: </strong><a href="https://guybedford.com/es-module-shims-2.0">Guy Bedford releases es-module-shims@2.0</a>, allowing type stripping in the browser</li><li><strong>Community: </strong><a href="https://www.youtube.com/watch?v=tJDvGci8UJE">Qwik and Deno</a> (📸 Video)</li><li><strong>Community:</strong> <a href="https://dbushell.com/notes/2025-02-01T16:07Z/">Benchmarking Zig, TS and WASM</a> by David Bushell (✍️ Blog Post)</li><li><strong>New Libraries</strong><ul><li><a href="https://www.npmjs.com/package/tsc-extra">tsc-extra</a><ul><li>Static analysis tool, type checking only, no code generation or compiling</li><li>Useful for documentation or lower-level TS tools</li></ul></li><li><a href="https://github.com/sinclairzx81/typemap">Typemap </a>is like a Zod alternative, built for <a href="https://github.com/sinclairzx81/typebox">TypeBox</a><ul><li>“It offers a common TypeScript syntax for type construction, a runtime compiler for high-performance validation and type translation from one library to another.”</li></ul></li></ul></li></ul><p><strong> Vite Deep Dive</strong></p><ul><li><a href="https://vite.dev">Homepage</a></li><li>Evan You's <a href="https://youtu.be/hrdwQHoAp0M">State of Vite 2023 Keynote</a> (📸 Video)</li><li><a href="https://vite.dev/guide/why#why-not-bundle-with-esbuild">Why Use Vite?</a></li><li><a href="https://vite.dev/blog/announcing-vite6.html">Vite 6 Updates</a></li><li><a href="https://green.sapphi.red/blog/increasing-vites-potential-with-the-environment-api">Sapphi-Red's Increasing Vite's Potential With the Environment API</a> (✍️ Blog Post)</li><li>Vite's <a href="https://vite.dev/guide/build.html#browser-compatibility">browser compatibility</a></li><li>Vite's future, bundling with <a href="https://rolldown.rs/">Rolldown</a></li></ul><p><br></p><p><strong>Links</strong></p><ul><li>Handbook: <a href="https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates">Type Guards and Predicates</a></li><li>Send typesafe emails with <a href="https://react.email">React.email</a></li><li><a href="https://youtu.be/EUU_FsWDGpA?si=2HKqGx34F5mtsBYt">Better string literal errors</a> (📸 Video)</li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
</ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This week Erik and Kamran talk about Vite (Vight? Veet?), what it's good for, how it works, and its status as the "go-to" tool for frontend tooling.</p><p></p><ul><li>(04:21) - This Week in TypeScript: TS 5.8 Beta</li>
<li>(11:02) - This Week in TypeScript: Ruck 9 Released</li>
<li>(12:39) - This Week in TypeScript: Type Stripping in the Browser</li>
<li>(14:45) - Community Highlight: Deno and Qwik Video</li>
<li>(15:52) - Community Highlight: Zig, TypeScript, and WASM by David Bushell</li>
<li>(16:49) - New Library Watch: tsc-extra</li>
<li>(17:24) - New Library Watch: typemap and typebox</li>
<li>(18:23) - Vite Overview</li>
<li>(22:01) - Vite: Getting Started</li>
<li>(22:53) - Vite: build and preview</li>
<li>(23:34) - Vite: How Does It Work?</li>
<li>(26:57) - Vite: Support for Libraries and Frameworks</li>
<li>(28:04) - Vite 6.0: Environments API</li>
<li>(30:27) - Vite 6.0: Support for Additional HTML Asset References</li>
<li>(31:28) - Vite: Testing with Vitest</li>
<li>(32:48) - Vite Gripes and Gotchas</li>
<li>(33:52) - Vite Gripes: Dev and Prod Build Inconsistencies</li>
<li>(35:14) - Vite Gotcha: Forgetting to Set a URL Base</li>
<li>(35:49) - Vite Gotcha: Targeting Legacy Browsers</li>
<li>(38:30) - Vite Gripes: npm linking</li>
<li>(41:43) - Vite's Future: What Are We Excited About?</li>
<li>(44:12) - Secrets of the Handbook: Type Guards and Predicates</li>
<li>(47:27) - Cool Stuff: Write Typesafe Emails with React.email</li>
<li>(49:51) - Cool Yet Questionable Stuff: Custom Type Errors When Working With Generics</li>
</ul><br><strong>Week of January 27</strong><ul><li><strong>News: </strong><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-8-beta/">TS 5.8 Beta Released</a></li><li><strong>News: </strong><a href="https://ruck.tech/">Ruck 9</a>, a Deno web framework</li><li><strong>News: </strong><a href="https://guybedford.com/es-module-shims-2.0">Guy Bedford releases es-module-shims@2.0</a>, allowing type stripping in the browser</li><li><strong>Community: </strong><a href="https://www.youtube.com/watch?v=tJDvGci8UJE">Qwik and Deno</a> (📸 Video)</li><li><strong>Community:</strong> <a href="https://dbushell.com/notes/2025-02-01T16:07Z/">Benchmarking Zig, TS and WASM</a> by David Bushell (✍️ Blog Post)</li><li><strong>New Libraries</strong><ul><li><a href="https://www.npmjs.com/package/tsc-extra">tsc-extra</a><ul><li>Static analysis tool, type checking only, no code generation or compiling</li><li>Useful for documentation or lower-level TS tools</li></ul></li><li><a href="https://github.com/sinclairzx81/typemap">Typemap </a>is like a Zod alternative, built for <a href="https://github.com/sinclairzx81/typebox">TypeBox</a><ul><li>“It offers a common TypeScript syntax for type construction, a runtime compiler for high-performance validation and type translation from one library to another.”</li></ul></li></ul></li></ul><p><strong> Vite Deep Dive</strong></p><ul><li><a href="https://vite.dev">Homepage</a></li><li>Evan You's <a href="https://youtu.be/hrdwQHoAp0M">State of Vite 2023 Keynote</a> (📸 Video)</li><li><a href="https://vite.dev/guide/why#why-not-bundle-with-esbuild">Why Use Vite?</a></li><li><a href="https://vite.dev/blog/announcing-vite6.html">Vite 6 Updates</a></li><li><a href="https://green.sapphi.red/blog/increasing-vites-potential-with-the-environment-api">Sapphi-Red's Increasing Vite's Potential With the Environment API</a> (✍️ Blog Post)</li><li>Vite's <a href="https://vite.dev/guide/build.html#browser-compatibility">browser compatibility</a></li><li>Vite's future, bundling with <a href="https://rolldown.rs/">Rolldown</a></li></ul><p><br></p><p><strong>Links</strong></p><ul><li>Handbook: <a href="https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates">Type Guards and Predicates</a></li><li>Send typesafe emails with <a href="https://react.email">React.email</a></li><li><a href="https://youtu.be/EUU_FsWDGpA?si=2HKqGx34F5mtsBYt">Better string literal errors</a> (📸 Video)</li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
</ul>]]>
      </content:encoded>
      <pubDate>Mon, 10 Feb 2025 06:00:00 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/2c2f1690/c49f00dd.mp3" length="51811216" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>3236</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>This week Erik and Kamran talk about Vite (Vight? Veet?), what it's good for, how it works, and its status as the "go-to" tool for frontend tooling.</p><p></p><ul><li>(04:21) - This Week in TypeScript: TS 5.8 Beta</li>
<li>(11:02) - This Week in TypeScript: Ruck 9 Released</li>
<li>(12:39) - This Week in TypeScript: Type Stripping in the Browser</li>
<li>(14:45) - Community Highlight: Deno and Qwik Video</li>
<li>(15:52) - Community Highlight: Zig, TypeScript, and WASM by David Bushell</li>
<li>(16:49) - New Library Watch: tsc-extra</li>
<li>(17:24) - New Library Watch: typemap and typebox</li>
<li>(18:23) - Vite Overview</li>
<li>(22:01) - Vite: Getting Started</li>
<li>(22:53) - Vite: build and preview</li>
<li>(23:34) - Vite: How Does It Work?</li>
<li>(26:57) - Vite: Support for Libraries and Frameworks</li>
<li>(28:04) - Vite 6.0: Environments API</li>
<li>(30:27) - Vite 6.0: Support for Additional HTML Asset References</li>
<li>(31:28) - Vite: Testing with Vitest</li>
<li>(32:48) - Vite Gripes and Gotchas</li>
<li>(33:52) - Vite Gripes: Dev and Prod Build Inconsistencies</li>
<li>(35:14) - Vite Gotcha: Forgetting to Set a URL Base</li>
<li>(35:49) - Vite Gotcha: Targeting Legacy Browsers</li>
<li>(38:30) - Vite Gripes: npm linking</li>
<li>(41:43) - Vite's Future: What Are We Excited About?</li>
<li>(44:12) - Secrets of the Handbook: Type Guards and Predicates</li>
<li>(47:27) - Cool Stuff: Write Typesafe Emails with React.email</li>
<li>(49:51) - Cool Yet Questionable Stuff: Custom Type Errors When Working With Generics</li>
</ul><br><strong>Week of January 27</strong><ul><li><strong>News: </strong><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-8-beta/">TS 5.8 Beta Released</a></li><li><strong>News: </strong><a href="https://ruck.tech/">Ruck 9</a>, a Deno web framework</li><li><strong>News: </strong><a href="https://guybedford.com/es-module-shims-2.0">Guy Bedford releases es-module-shims@2.0</a>, allowing type stripping in the browser</li><li><strong>Community: </strong><a href="https://www.youtube.com/watch?v=tJDvGci8UJE">Qwik and Deno</a> (📸 Video)</li><li><strong>Community:</strong> <a href="https://dbushell.com/notes/2025-02-01T16:07Z/">Benchmarking Zig, TS and WASM</a> by David Bushell (✍️ Blog Post)</li><li><strong>New Libraries</strong><ul><li><a href="https://www.npmjs.com/package/tsc-extra">tsc-extra</a><ul><li>Static analysis tool, type checking only, no code generation or compiling</li><li>Useful for documentation or lower-level TS tools</li></ul></li><li><a href="https://github.com/sinclairzx81/typemap">Typemap </a>is like a Zod alternative, built for <a href="https://github.com/sinclairzx81/typebox">TypeBox</a><ul><li>“It offers a common TypeScript syntax for type construction, a runtime compiler for high-performance validation and type translation from one library to another.”</li></ul></li></ul></li></ul><p><strong> Vite Deep Dive</strong></p><ul><li><a href="https://vite.dev">Homepage</a></li><li>Evan You's <a href="https://youtu.be/hrdwQHoAp0M">State of Vite 2023 Keynote</a> (📸 Video)</li><li><a href="https://vite.dev/guide/why#why-not-bundle-with-esbuild">Why Use Vite?</a></li><li><a href="https://vite.dev/blog/announcing-vite6.html">Vite 6 Updates</a></li><li><a href="https://green.sapphi.red/blog/increasing-vites-potential-with-the-environment-api">Sapphi-Red's Increasing Vite's Potential With the Environment API</a> (✍️ Blog Post)</li><li>Vite's <a href="https://vite.dev/guide/build.html#browser-compatibility">browser compatibility</a></li><li>Vite's future, bundling with <a href="https://rolldown.rs/">Rolldown</a></li></ul><p><br></p><p><strong>Links</strong></p><ul><li>Handbook: <a href="https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates">Type Guards and Predicates</a></li><li>Send typesafe emails with <a href="https://react.email">React.email</a></li><li><a href="https://youtu.be/EUU_FsWDGpA?si=2HKqGx34F5mtsBYt">Better string literal errors</a> (📸 Video)</li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
</ul>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/2c2f1690/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>We Don’t Talk About Deno-no-no | Ep 3</title>
      <itunes:episode>3</itunes:episode>
      <podcast:episode>3</podcast:episode>
      <itunes:title>We Don’t Talk About Deno-no-no | Ep 3</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">044ec3dc-9eef-478b-8069-01b6fea30c97</guid>
      <link>https://share.transistor.fm/s/1b0f8399</link>
      <description>
        <![CDATA[<p>This week Erik and Kamran make poor dad jokes, talk about Deno, and tour its ecosystem. If you're new to Deno, this will be a great introduction!</p><p></p><ul><li>(00:00) - We Don't Talk About Deno-no-no-no | Ep 3</li>
<li>(06:54) - This Week in TypeScript: Bun 1.2 Released</li>
<li>(10:54) - This Week in TypeScript: 5.8's ErasableSyntaxOnly Flag</li>
<li>(14:57) - This Week in TypeScript: Tailwind 4 Released</li>
<li>(16:26) - This Week in TypeScript: Vitest 3 Released</li>
<li>(17:17) - Errors and Corrections</li>
<li>(18:46) - Deep Dive Into Deno</li>
<li>(22:19) - Deno's Integrated CLI</li>
<li>(23:50) - Deno CLI: deno run</li>
<li>(24:28) - Deno CLI: deno add, install, remove, uninstall</li>
<li>(25:01) - Deno CLI: deno task</li>
<li>(26:19) - Deno CLI: deno test</li>
<li>(27:18) - Deno CLI: deno fmt, deno lint, and deno check</li>
<li>(28:15) - Deno CLI: deno serve</li>
<li>(29:26) - Deno CLI: deno doc</li>
<li>(30:07) - Deno CLI: deno bench</li>
<li>(31:24) - Deno's Standard Library</li>
<li>(33:21) - Deno CLI: deno compile</li>
<li>(36:24) - Deno's Performance</li>
<li>(37:32) - What is Deno Fresh?</li>
<li>(38:17) - What is JSR?</li>
<li>(39:43) - What is Deno Deploy?</li>
<li>(40:38) - Moving from Node to Deno as a Developer</li>
<li>(45:48) - Deno CLI: deno upgrade</li>
<li>(47:13) - What Are We Excited About In the Future With Deno</li>
<li>(48:13) - Secrets of the Handbook: TSConfig's extendedDiagnostic</li>
<li>(50:12) - Cool Stuff: Serve a Folder in a Single Deno Command</li>
<li>(50:44) - Cool Stuff: Flappy Bird Clone in Deno Compile</li>
</ul><br><strong>News</strong><ul><li><a href="https://bsky.app/profile/jbzsh.bsky.social/post/3lgnovlhsnt2v">Bun 1.2 released</a></li><li><a href="https://www.totaltypescript.com/erasable-syntax-only">Matt Pocock's take on erasableSyntaxOnly</a><ul><li><a href="https://tc39.es/proposal-type-annotations/">TC39 Types as Comments proposal</a></li></ul></li><li><a href="https://tailwindcss.com/blog/tailwindcss-v4">Tailwind 4 released</a></li><li><a href="https://vitest.dev/blog/vitest-3">Vitest 3 released</a></li></ul><p><a href="https://deno.com/"><strong>Deno</strong></a><strong> Deep Dive</strong></p><ul><li><a href="https://deno.com/blog/deno-in-2024">Deno’s 2024 in review blog post</a></li><li><a href="https://github.com/denoland/rusty_v8">Rusty v8</a> -- Rust bindings for V8</li><li><a href="https://docs.deno.com/runtime/reference/cli/">Deno CLI docs</a></li><li>Performance<ul><li>Deno <a href="https://deno.com/benchmarks">benchmark stats</a></li><li><a href="https://github.com/denosaurs/bench">Denosaurs benchmarks</a></li><li><a href="https://deno.com/blog/aws-lambda-coldstart-benchmarks">AWS Lambda cold-starts</a></li></ul></li><li><a href="https://fresh.deno.dev/">Deno Fresh</a></li><li><a href="https://jsr.io/">JSR</a></li><li><a href="https://deno.com/deploy">Deno Deploy</a></li><li>Kamran's <a href="https://github.com/kamranayub/advent-of-code-2024">Advent of Code 2024 repo using Deno</a></li></ul><p><strong>Links</strong></p><ul><li>Learn Vim’s keyboard shortcuts with <a href="https://vim-adventures.com/">Vim Adventures</a></li><li>Minnesota's <a href="https://artshantyprojects.org/">Art Shanty Projects</a> during the winter</li><li><strong>Secrets of the Handbook:</strong> TSConfig – <a href="https://www.typescriptlang.org/tsconfig/#extendedDiagnostics">extendedDiagnostics</a></li><li>Alias to serve a folder using a single Deno command like npx serve (h/t <a href="https://bsky.app/profile/did:plc:3xuyghenhq3ch5x6et6zgkxq/post/3lcg7ejgupk2r">Kamran</a>)</li><li>Deno Compile <a href="https://www.youtube.com/watch?v=5wlZDw942J8">video with Flappy Bird</a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
</ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This week Erik and Kamran make poor dad jokes, talk about Deno, and tour its ecosystem. If you're new to Deno, this will be a great introduction!</p><p></p><ul><li>(00:00) - We Don't Talk About Deno-no-no-no | Ep 3</li>
<li>(06:54) - This Week in TypeScript: Bun 1.2 Released</li>
<li>(10:54) - This Week in TypeScript: 5.8's ErasableSyntaxOnly Flag</li>
<li>(14:57) - This Week in TypeScript: Tailwind 4 Released</li>
<li>(16:26) - This Week in TypeScript: Vitest 3 Released</li>
<li>(17:17) - Errors and Corrections</li>
<li>(18:46) - Deep Dive Into Deno</li>
<li>(22:19) - Deno's Integrated CLI</li>
<li>(23:50) - Deno CLI: deno run</li>
<li>(24:28) - Deno CLI: deno add, install, remove, uninstall</li>
<li>(25:01) - Deno CLI: deno task</li>
<li>(26:19) - Deno CLI: deno test</li>
<li>(27:18) - Deno CLI: deno fmt, deno lint, and deno check</li>
<li>(28:15) - Deno CLI: deno serve</li>
<li>(29:26) - Deno CLI: deno doc</li>
<li>(30:07) - Deno CLI: deno bench</li>
<li>(31:24) - Deno's Standard Library</li>
<li>(33:21) - Deno CLI: deno compile</li>
<li>(36:24) - Deno's Performance</li>
<li>(37:32) - What is Deno Fresh?</li>
<li>(38:17) - What is JSR?</li>
<li>(39:43) - What is Deno Deploy?</li>
<li>(40:38) - Moving from Node to Deno as a Developer</li>
<li>(45:48) - Deno CLI: deno upgrade</li>
<li>(47:13) - What Are We Excited About In the Future With Deno</li>
<li>(48:13) - Secrets of the Handbook: TSConfig's extendedDiagnostic</li>
<li>(50:12) - Cool Stuff: Serve a Folder in a Single Deno Command</li>
<li>(50:44) - Cool Stuff: Flappy Bird Clone in Deno Compile</li>
</ul><br><strong>News</strong><ul><li><a href="https://bsky.app/profile/jbzsh.bsky.social/post/3lgnovlhsnt2v">Bun 1.2 released</a></li><li><a href="https://www.totaltypescript.com/erasable-syntax-only">Matt Pocock's take on erasableSyntaxOnly</a><ul><li><a href="https://tc39.es/proposal-type-annotations/">TC39 Types as Comments proposal</a></li></ul></li><li><a href="https://tailwindcss.com/blog/tailwindcss-v4">Tailwind 4 released</a></li><li><a href="https://vitest.dev/blog/vitest-3">Vitest 3 released</a></li></ul><p><a href="https://deno.com/"><strong>Deno</strong></a><strong> Deep Dive</strong></p><ul><li><a href="https://deno.com/blog/deno-in-2024">Deno’s 2024 in review blog post</a></li><li><a href="https://github.com/denoland/rusty_v8">Rusty v8</a> -- Rust bindings for V8</li><li><a href="https://docs.deno.com/runtime/reference/cli/">Deno CLI docs</a></li><li>Performance<ul><li>Deno <a href="https://deno.com/benchmarks">benchmark stats</a></li><li><a href="https://github.com/denosaurs/bench">Denosaurs benchmarks</a></li><li><a href="https://deno.com/blog/aws-lambda-coldstart-benchmarks">AWS Lambda cold-starts</a></li></ul></li><li><a href="https://fresh.deno.dev/">Deno Fresh</a></li><li><a href="https://jsr.io/">JSR</a></li><li><a href="https://deno.com/deploy">Deno Deploy</a></li><li>Kamran's <a href="https://github.com/kamranayub/advent-of-code-2024">Advent of Code 2024 repo using Deno</a></li></ul><p><strong>Links</strong></p><ul><li>Learn Vim’s keyboard shortcuts with <a href="https://vim-adventures.com/">Vim Adventures</a></li><li>Minnesota's <a href="https://artshantyprojects.org/">Art Shanty Projects</a> during the winter</li><li><strong>Secrets of the Handbook:</strong> TSConfig – <a href="https://www.typescriptlang.org/tsconfig/#extendedDiagnostics">extendedDiagnostics</a></li><li>Alias to serve a folder using a single Deno command like npx serve (h/t <a href="https://bsky.app/profile/did:plc:3xuyghenhq3ch5x6et6zgkxq/post/3lcg7ejgupk2r">Kamran</a>)</li><li>Deno Compile <a href="https://www.youtube.com/watch?v=5wlZDw942J8">video with Flappy Bird</a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
</ul>]]>
      </content:encoded>
      <pubDate>Mon, 03 Feb 2025 06:00:00 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/1b0f8399/9463ac55.mp3" length="50307044" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>3142</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>This week Erik and Kamran make poor dad jokes, talk about Deno, and tour its ecosystem. If you're new to Deno, this will be a great introduction!</p><p></p><ul><li>(00:00) - We Don't Talk About Deno-no-no-no | Ep 3</li>
<li>(06:54) - This Week in TypeScript: Bun 1.2 Released</li>
<li>(10:54) - This Week in TypeScript: 5.8's ErasableSyntaxOnly Flag</li>
<li>(14:57) - This Week in TypeScript: Tailwind 4 Released</li>
<li>(16:26) - This Week in TypeScript: Vitest 3 Released</li>
<li>(17:17) - Errors and Corrections</li>
<li>(18:46) - Deep Dive Into Deno</li>
<li>(22:19) - Deno's Integrated CLI</li>
<li>(23:50) - Deno CLI: deno run</li>
<li>(24:28) - Deno CLI: deno add, install, remove, uninstall</li>
<li>(25:01) - Deno CLI: deno task</li>
<li>(26:19) - Deno CLI: deno test</li>
<li>(27:18) - Deno CLI: deno fmt, deno lint, and deno check</li>
<li>(28:15) - Deno CLI: deno serve</li>
<li>(29:26) - Deno CLI: deno doc</li>
<li>(30:07) - Deno CLI: deno bench</li>
<li>(31:24) - Deno's Standard Library</li>
<li>(33:21) - Deno CLI: deno compile</li>
<li>(36:24) - Deno's Performance</li>
<li>(37:32) - What is Deno Fresh?</li>
<li>(38:17) - What is JSR?</li>
<li>(39:43) - What is Deno Deploy?</li>
<li>(40:38) - Moving from Node to Deno as a Developer</li>
<li>(45:48) - Deno CLI: deno upgrade</li>
<li>(47:13) - What Are We Excited About In the Future With Deno</li>
<li>(48:13) - Secrets of the Handbook: TSConfig's extendedDiagnostic</li>
<li>(50:12) - Cool Stuff: Serve a Folder in a Single Deno Command</li>
<li>(50:44) - Cool Stuff: Flappy Bird Clone in Deno Compile</li>
</ul><br><strong>News</strong><ul><li><a href="https://bsky.app/profile/jbzsh.bsky.social/post/3lgnovlhsnt2v">Bun 1.2 released</a></li><li><a href="https://www.totaltypescript.com/erasable-syntax-only">Matt Pocock's take on erasableSyntaxOnly</a><ul><li><a href="https://tc39.es/proposal-type-annotations/">TC39 Types as Comments proposal</a></li></ul></li><li><a href="https://tailwindcss.com/blog/tailwindcss-v4">Tailwind 4 released</a></li><li><a href="https://vitest.dev/blog/vitest-3">Vitest 3 released</a></li></ul><p><a href="https://deno.com/"><strong>Deno</strong></a><strong> Deep Dive</strong></p><ul><li><a href="https://deno.com/blog/deno-in-2024">Deno’s 2024 in review blog post</a></li><li><a href="https://github.com/denoland/rusty_v8">Rusty v8</a> -- Rust bindings for V8</li><li><a href="https://docs.deno.com/runtime/reference/cli/">Deno CLI docs</a></li><li>Performance<ul><li>Deno <a href="https://deno.com/benchmarks">benchmark stats</a></li><li><a href="https://github.com/denosaurs/bench">Denosaurs benchmarks</a></li><li><a href="https://deno.com/blog/aws-lambda-coldstart-benchmarks">AWS Lambda cold-starts</a></li></ul></li><li><a href="https://fresh.deno.dev/">Deno Fresh</a></li><li><a href="https://jsr.io/">JSR</a></li><li><a href="https://deno.com/deploy">Deno Deploy</a></li><li>Kamran's <a href="https://github.com/kamranayub/advent-of-code-2024">Advent of Code 2024 repo using Deno</a></li></ul><p><strong>Links</strong></p><ul><li>Learn Vim’s keyboard shortcuts with <a href="https://vim-adventures.com/">Vim Adventures</a></li><li>Minnesota's <a href="https://artshantyprojects.org/">Art Shanty Projects</a> during the winter</li><li><strong>Secrets of the Handbook:</strong> TSConfig – <a href="https://www.typescriptlang.org/tsconfig/#extendedDiagnostics">extendedDiagnostics</a></li><li>Alias to serve a folder using a single Deno command like npx serve (h/t <a href="https://bsky.app/profile/did:plc:3xuyghenhq3ch5x6et6zgkxq/post/3lcg7ejgupk2r">Kamran</a>)</li><li>Deno Compile <a href="https://www.youtube.com/watch?v=5wlZDw942J8">video with Flappy Bird</a></li></ul><p><br><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
</ul>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/1b0f8399/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Node 23 Gets TypeScript Support, Mostly | Ep 2</title>
      <itunes:episode>2</itunes:episode>
      <podcast:episode>2</podcast:episode>
      <itunes:title>Node 23 Gets TypeScript Support, Mostly | Ep 2</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">b86a842f-7da0-4057-8129-d7c37f1fcec3</guid>
      <link>https://share.transistor.fm/s/1e4135ae</link>
      <description>
        <![CDATA[<p>In this episode, Kamran and Erik discuss the newly released TypeScript support with Node 23.6 and its implications. What's supported? What's not supported? And how does it differ from Bun or Deno? </p><p></p><ul><li>(00:00) - Ep 2 - Node 23 Gets TypeScript Support</li>
<li>(00:05) - Introduction</li>
<li>(04:04) - TypeScript News and Announcements</li>
<li>(10:27) - A Closer Look at Type Stripping for Node 23  </li>
<li>(22:56) - Differences Between Node 23 and Deno 2 </li>
<li>(30:22) - Cool TypeScript Stuff</li>
</ul><br><strong>News</strong><ul><li><a href="https://satanacchio.hashnode.dev/everything-you-need-to-know-about-nodejs-type-stripping"><strong>Everything You Need to Know About Node.js Type Stripping</strong></a> by Marco Ippolito<ul><li><a href="https://nodejs.org/en/blog/release/v23.6.0"><strong>Node 23.6.0</strong></a><strong> Release Notes </strong>-- The one with TypeScript support</li><li>Docs: <a href="https://nodejs.org/api/typescript.html"><strong>Node 23 “Modules: TypeScript”</strong></a></li><li><a href="https://2ality.com/2025/01/nodejs-strip-type.html"><strong>Node's new built-in support for TypeScript</strong></a> by Dr. Axel Rauschmayer</li></ul></li><li><a href="https://bsky.app/profile/11ty.dev/post/3lffo5w5jw32w"><strong>Native Typescript support coming to Eleventy</strong></a> by Zach Leatherman (<a href="https://github.com/11ty/eleventy/issues/3616">PR</a>)</li><li><a href="https://eslint.org/blog/2025/01/eslint-v9.18.0-released/"><strong>ESLint 9.18</strong></a> – Zero-config TypeScript support by Andrey Sitnik</li><li>TypeScript 5.8: <a href="https://github.com/microsoft/TypeScript/issues/59601"><strong>Erasable Syntax Only</strong></a></li><li>PSA: <a href="https://bsky.app/profile/acemarke.dev/post/3lg2iuax6ec2m"><strong>Create React App doesn’t work with React 19</strong></a><strong>, use Vite!</strong></li></ul><p><strong>Errata</strong></p><ul><li>19:11 -- We incorrectly assumed that TSC is used for the transpilation in Node 23, but that's not true. SWC still handles the transpilation (if the flag is used) so Node's TypeScript support does not rely on TSC at all. Reported by: <a href="https://bsky.app/profile/satanacchio.bsky.social/post/3lgqvhe2vlc2f">Marco Ippolito</a></li></ul><p><br></p><p><strong>Cool Stuff</strong></p><ul><li><a href="https://www.npmjs.com/package/jiti"><strong>Jiti</strong></a><strong>: </strong>A Node.js package for ESM and TypeScript support</li><li><strong>Example of `satisfies never` with switch statements</strong> by <a href="https://bsky.app/profile/wildpeaks.fr/post/3lg4yuyxcjc2d">Cecile Muller, Bluesky</a><ul><li><a href="https://www.youtube.com/watch?v=r1L35zxZQPE">What is the “satisfies” type constraint?</a> By Matt Pocock</li></ul></li><li><a href="https://github.com/mathuo/dockview">Dockview</a> – npm package for a TypeScript native window manager</li><li><a href="https://www.youtube.com/watch?v=6M9aZzm-kEc">Using “as const” for config typing</a> by Matt Pocock</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
</ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>In this episode, Kamran and Erik discuss the newly released TypeScript support with Node 23.6 and its implications. What's supported? What's not supported? And how does it differ from Bun or Deno? </p><p></p><ul><li>(00:00) - Ep 2 - Node 23 Gets TypeScript Support</li>
<li>(00:05) - Introduction</li>
<li>(04:04) - TypeScript News and Announcements</li>
<li>(10:27) - A Closer Look at Type Stripping for Node 23  </li>
<li>(22:56) - Differences Between Node 23 and Deno 2 </li>
<li>(30:22) - Cool TypeScript Stuff</li>
</ul><br><strong>News</strong><ul><li><a href="https://satanacchio.hashnode.dev/everything-you-need-to-know-about-nodejs-type-stripping"><strong>Everything You Need to Know About Node.js Type Stripping</strong></a> by Marco Ippolito<ul><li><a href="https://nodejs.org/en/blog/release/v23.6.0"><strong>Node 23.6.0</strong></a><strong> Release Notes </strong>-- The one with TypeScript support</li><li>Docs: <a href="https://nodejs.org/api/typescript.html"><strong>Node 23 “Modules: TypeScript”</strong></a></li><li><a href="https://2ality.com/2025/01/nodejs-strip-type.html"><strong>Node's new built-in support for TypeScript</strong></a> by Dr. Axel Rauschmayer</li></ul></li><li><a href="https://bsky.app/profile/11ty.dev/post/3lffo5w5jw32w"><strong>Native Typescript support coming to Eleventy</strong></a> by Zach Leatherman (<a href="https://github.com/11ty/eleventy/issues/3616">PR</a>)</li><li><a href="https://eslint.org/blog/2025/01/eslint-v9.18.0-released/"><strong>ESLint 9.18</strong></a> – Zero-config TypeScript support by Andrey Sitnik</li><li>TypeScript 5.8: <a href="https://github.com/microsoft/TypeScript/issues/59601"><strong>Erasable Syntax Only</strong></a></li><li>PSA: <a href="https://bsky.app/profile/acemarke.dev/post/3lg2iuax6ec2m"><strong>Create React App doesn’t work with React 19</strong></a><strong>, use Vite!</strong></li></ul><p><strong>Errata</strong></p><ul><li>19:11 -- We incorrectly assumed that TSC is used for the transpilation in Node 23, but that's not true. SWC still handles the transpilation (if the flag is used) so Node's TypeScript support does not rely on TSC at all. Reported by: <a href="https://bsky.app/profile/satanacchio.bsky.social/post/3lgqvhe2vlc2f">Marco Ippolito</a></li></ul><p><br></p><p><strong>Cool Stuff</strong></p><ul><li><a href="https://www.npmjs.com/package/jiti"><strong>Jiti</strong></a><strong>: </strong>A Node.js package for ESM and TypeScript support</li><li><strong>Example of `satisfies never` with switch statements</strong> by <a href="https://bsky.app/profile/wildpeaks.fr/post/3lg4yuyxcjc2d">Cecile Muller, Bluesky</a><ul><li><a href="https://www.youtube.com/watch?v=r1L35zxZQPE">What is the “satisfies” type constraint?</a> By Matt Pocock</li></ul></li><li><a href="https://github.com/mathuo/dockview">Dockview</a> – npm package for a TypeScript native window manager</li><li><a href="https://www.youtube.com/watch?v=6M9aZzm-kEc">Using “as const” for config typing</a> by Matt Pocock</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
</ul>]]>
      </content:encoded>
      <pubDate>Mon, 27 Jan 2025 06:00:00 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/1e4135ae/f833ef08.mp3" length="35500469" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2217</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>In this episode, Kamran and Erik discuss the newly released TypeScript support with Node 23.6 and its implications. What's supported? What's not supported? And how does it differ from Bun or Deno? </p><p></p><ul><li>(00:00) - Ep 2 - Node 23 Gets TypeScript Support</li>
<li>(00:05) - Introduction</li>
<li>(04:04) - TypeScript News and Announcements</li>
<li>(10:27) - A Closer Look at Type Stripping for Node 23  </li>
<li>(22:56) - Differences Between Node 23 and Deno 2 </li>
<li>(30:22) - Cool TypeScript Stuff</li>
</ul><br><strong>News</strong><ul><li><a href="https://satanacchio.hashnode.dev/everything-you-need-to-know-about-nodejs-type-stripping"><strong>Everything You Need to Know About Node.js Type Stripping</strong></a> by Marco Ippolito<ul><li><a href="https://nodejs.org/en/blog/release/v23.6.0"><strong>Node 23.6.0</strong></a><strong> Release Notes </strong>-- The one with TypeScript support</li><li>Docs: <a href="https://nodejs.org/api/typescript.html"><strong>Node 23 “Modules: TypeScript”</strong></a></li><li><a href="https://2ality.com/2025/01/nodejs-strip-type.html"><strong>Node's new built-in support for TypeScript</strong></a> by Dr. Axel Rauschmayer</li></ul></li><li><a href="https://bsky.app/profile/11ty.dev/post/3lffo5w5jw32w"><strong>Native Typescript support coming to Eleventy</strong></a> by Zach Leatherman (<a href="https://github.com/11ty/eleventy/issues/3616">PR</a>)</li><li><a href="https://eslint.org/blog/2025/01/eslint-v9.18.0-released/"><strong>ESLint 9.18</strong></a> – Zero-config TypeScript support by Andrey Sitnik</li><li>TypeScript 5.8: <a href="https://github.com/microsoft/TypeScript/issues/59601"><strong>Erasable Syntax Only</strong></a></li><li>PSA: <a href="https://bsky.app/profile/acemarke.dev/post/3lg2iuax6ec2m"><strong>Create React App doesn’t work with React 19</strong></a><strong>, use Vite!</strong></li></ul><p><strong>Errata</strong></p><ul><li>19:11 -- We incorrectly assumed that TSC is used for the transpilation in Node 23, but that's not true. SWC still handles the transpilation (if the flag is used) so Node's TypeScript support does not rely on TSC at all. Reported by: <a href="https://bsky.app/profile/satanacchio.bsky.social/post/3lgqvhe2vlc2f">Marco Ippolito</a></li></ul><p><br></p><p><strong>Cool Stuff</strong></p><ul><li><a href="https://www.npmjs.com/package/jiti"><strong>Jiti</strong></a><strong>: </strong>A Node.js package for ESM and TypeScript support</li><li><strong>Example of `satisfies never` with switch statements</strong> by <a href="https://bsky.app/profile/wildpeaks.fr/post/3lg4yuyxcjc2d">Cecile Muller, Bluesky</a><ul><li><a href="https://www.youtube.com/watch?v=r1L35zxZQPE">What is the “satisfies” type constraint?</a> By Matt Pocock</li></ul></li><li><a href="https://github.com/mathuo/dockview">Dockview</a> – npm package for a TypeScript native window manager</li><li><a href="https://www.youtube.com/watch?v=6M9aZzm-kEc">Using “as const” for config typing</a> by Matt Pocock</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
</ul>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/1e4135ae/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Two TypeScript Fools, One Podcast | Ep 1</title>
      <itunes:episode>1</itunes:episode>
      <podcast:episode>1</podcast:episode>
      <itunes:title>Two TypeScript Fools, One Podcast | Ep 1</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">19902b73-3dfd-4c63-9db2-9caff8c66d17</guid>
      <link>https://share.transistor.fm/s/f85d2959</link>
      <description>
        <![CDATA[<p>In the inaugural episode of TypeScript.fm, the two fools introduce themselves, share their "origin stories," and share plans for the podcast. Briefly covered in the news: Vite 6, Deno 2's expansion of the ecosystem, Node 23's new TypeScript support, and the latest Excalibur.js 0.30.0 release.</p><p></p><ul><li>(00:00) - Ep 1 - Two TypeScript Fools, One Podcast</li>
<li>(00:12) - Introduction</li>
<li>(21:31) - News Segment</li>
<li>(29:38) - TypeScript Tricks Segment</li>
</ul><br><strong>News</strong><ul><li><a href="https://vite.dev/blog/announcing-vite6"><strong>Vite 6</strong></a> is out! Check out the new Environments API.</li><li><a href="https://deno.com/blog/v2.1"><strong>Deno 2.1</strong></a> was released in November -- Node.js compatibility, npm packages, WebAssembly</li><li><a href="https://www.totaltypescript.com/typescript-is-coming-to-node-23"><strong>Node 23 support for TypeScrip</strong></a><strong>t</strong> (via Matt Pocock)</li><li><a href="https://github.com/excaliburjs/Excalibur/releases/tag/v0.30.3"><strong>Excalibur.js v0.30.0</strong></a><strong> - </strong>Performance improvements, GPU particle acceleration, brand new Excalibird tutorial, and more</li></ul><p><br><strong>Links</strong></p><ul><li><a href="https://survey.stackoverflow.co/2024/technology#1-programming-scripting-and-markup-languages"><strong>StackOverflow 2024 Survey</strong></a> – TypeScript is #5 in Programming Languages</li><li><a href="https://zod.dev/"><strong>Zod </strong></a>- TypeScript-first schema validation</li><li><a href="https://bellard.org/quickjs/"><strong>QuickJS</strong></a> -- Embeddable JavaScript engine (like Lua for C)</li><li><a href="https://nivo.rocks/"><strong>Nivo </strong></a>-- Charting library with TypeScript support</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
</ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>In the inaugural episode of TypeScript.fm, the two fools introduce themselves, share their "origin stories," and share plans for the podcast. Briefly covered in the news: Vite 6, Deno 2's expansion of the ecosystem, Node 23's new TypeScript support, and the latest Excalibur.js 0.30.0 release.</p><p></p><ul><li>(00:00) - Ep 1 - Two TypeScript Fools, One Podcast</li>
<li>(00:12) - Introduction</li>
<li>(21:31) - News Segment</li>
<li>(29:38) - TypeScript Tricks Segment</li>
</ul><br><strong>News</strong><ul><li><a href="https://vite.dev/blog/announcing-vite6"><strong>Vite 6</strong></a> is out! Check out the new Environments API.</li><li><a href="https://deno.com/blog/v2.1"><strong>Deno 2.1</strong></a> was released in November -- Node.js compatibility, npm packages, WebAssembly</li><li><a href="https://www.totaltypescript.com/typescript-is-coming-to-node-23"><strong>Node 23 support for TypeScrip</strong></a><strong>t</strong> (via Matt Pocock)</li><li><a href="https://github.com/excaliburjs/Excalibur/releases/tag/v0.30.3"><strong>Excalibur.js v0.30.0</strong></a><strong> - </strong>Performance improvements, GPU particle acceleration, brand new Excalibird tutorial, and more</li></ul><p><br><strong>Links</strong></p><ul><li><a href="https://survey.stackoverflow.co/2024/technology#1-programming-scripting-and-markup-languages"><strong>StackOverflow 2024 Survey</strong></a> – TypeScript is #5 in Programming Languages</li><li><a href="https://zod.dev/"><strong>Zod </strong></a>- TypeScript-first schema validation</li><li><a href="https://bellard.org/quickjs/"><strong>QuickJS</strong></a> -- Embeddable JavaScript engine (like Lua for C)</li><li><a href="https://nivo.rocks/"><strong>Nivo </strong></a>-- Charting library with TypeScript support</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
</ul>]]>
      </content:encoded>
      <pubDate>Sun, 26 Jan 2025 22:01:14 -0600</pubDate>
      <author>Kamran Ayub and Erik Onarheim</author>
      <enclosure url="https://media.transistor.fm/f85d2959/5520e208.mp3" length="41659690" type="audio/mpeg"/>
      <itunes:author>Kamran Ayub and Erik Onarheim</itunes:author>
      <itunes:duration>2602</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>In the inaugural episode of TypeScript.fm, the two fools introduce themselves, share their "origin stories," and share plans for the podcast. Briefly covered in the news: Vite 6, Deno 2's expansion of the ecosystem, Node 23's new TypeScript support, and the latest Excalibur.js 0.30.0 release.</p><p></p><ul><li>(00:00) - Ep 1 - Two TypeScript Fools, One Podcast</li>
<li>(00:12) - Introduction</li>
<li>(21:31) - News Segment</li>
<li>(29:38) - TypeScript Tricks Segment</li>
</ul><br><strong>News</strong><ul><li><a href="https://vite.dev/blog/announcing-vite6"><strong>Vite 6</strong></a> is out! Check out the new Environments API.</li><li><a href="https://deno.com/blog/v2.1"><strong>Deno 2.1</strong></a> was released in November -- Node.js compatibility, npm packages, WebAssembly</li><li><a href="https://www.totaltypescript.com/typescript-is-coming-to-node-23"><strong>Node 23 support for TypeScrip</strong></a><strong>t</strong> (via Matt Pocock)</li><li><a href="https://github.com/excaliburjs/Excalibur/releases/tag/v0.30.3"><strong>Excalibur.js v0.30.0</strong></a><strong> - </strong>Performance improvements, GPU particle acceleration, brand new Excalibird tutorial, and more</li></ul><p><br><strong>Links</strong></p><ul><li><a href="https://survey.stackoverflow.co/2024/technology#1-programming-scripting-and-markup-languages"><strong>StackOverflow 2024 Survey</strong></a> – TypeScript is #5 in Programming Languages</li><li><a href="https://zod.dev/"><strong>Zod </strong></a>- TypeScript-first schema validation</li><li><a href="https://bellard.org/quickjs/"><strong>QuickJS</strong></a> -- Embeddable JavaScript engine (like Lua for C)</li><li><a href="https://nivo.rocks/"><strong>Nivo </strong></a>-- Charting library with TypeScript support</li></ul><p><strong>Sponsored by Excalibur.js</strong><br><a href="https://excaliburjs.com/?utm_source=typescript.fm&amp;utm_campaign=shownotes">Excalibur.js</a> 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.</p><p><strong>Music</strong><br><a href="https://kubbi.bandcamp.com/track/seahorse-dreams">Seahorse Dreams by Kubbi</a> (<a href="https://open.spotify.com/artist/38dW24ZxoRfXGe1lJXXFNg?si=QhtS7XXuRKWjdkjQQONUNg">Spotify</a>)</p><p><strong>Creators &amp; Guests</strong>
</p><ul>
  <li><a href="https://typescript.fm/people/kamran-ayub">Kamran Ayub</a> - Host</li>
  <li><a href="https://typescript.fm/people/erik-onarheim">Erik Onarheim</a> - Host</li>
</ul>]]>
      </itunes:summary>
      <itunes:keywords>typescript, web dev, game dev, technology, nodejs, deno, bun, react</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://typescript.fm/people/kamran-ayub" img="https://img.transistorcdn.com/h9bJYCaRvpjFsPCKBY4C_6MFqVhW9B4K2WEaMR_5uU0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80ZDk4/YzI2Yjc3Y2U4ZjYz/M2JjMGEzNjYwYWYx/YWRhMC5qcGVn.jpg">Kamran Ayub</podcast:person>
      <podcast:person role="Host" href="https://erikonarheim.com/" img="https://img.transistorcdn.com/cilgpWLGZxJ5oRreSNldvnHseQ6_edk9fWm-8G2LsLA/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NjU4/NWU5MjNmYTdhYTEw/ZjViNTZmYjk1MTI3/Y2NjZC5wbmc.jpg">Erik Onarheim</podcast:person>
      <podcast:chapters url="https://share.transistor.fm/s/f85d2959/chapters.json" type="application/json+chapters"/>
    </item>
  </channel>
</rss>
