<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>JavaScript Weekly</title>
    <description>A newsletter of JavaScript articles, news and cool projects</description>
    <link>https://javascriptweekly.com/</link>
    <item>
      <title>Remix 3 drops React</title>
      <link>https://javascriptweekly.com/issues/784</link>
      <description>

  

    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;div&gt;    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;
&lt;td align="left" style="padding-left: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;#​784 — May 5, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184753/rss" style=" color: #3366aa;"&gt;Read on the Web&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;
    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0 12px;"&gt;&lt;p&gt;JavaScript Weekly&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/184764/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/vwduhmrqbq1j2ypwelyc.jpg" width="640" style="    line-height: 100%;    "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184764/rss" title="remix.run" style=" color: #3366aa;    font-size: 1.1em; line-height: 1.4em;"&gt;Remix 3 Enters Beta — It's No Longer a React Framework&lt;/a&gt;&lt;/span&gt; — Remix has quite the back story. Created by the duo behind React Router in 2020 and seen as an &lt;a href="https://javascriptweekly.com/link/184765/rss" style=" color: #3366aa;   "&gt;alternative to Next.js&lt;/a&gt;, Remix was &lt;a href="https://javascriptweekly.com/link/184766/rss" style=" color: #3366aa;   "&gt;acquired by Shopify&lt;/a&gt; in 2022 and its core ideas folded into &lt;a href="https://javascriptweekly.com/link/184767/rss" style=" color: #3366aa;   "&gt;React Router v7&lt;/a&gt; in 2024. Now, a new direction: a full-stack, web standards-first framework with its own UI component model and… no React.&lt;/p&gt;
  &lt;p&gt;Michael Jackson (Remix) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  &lt;a href="https://javascriptweekly.com/link/184702/rss" style=" color: #3366aa;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/691a6339.png" width="110" height="110" style="padding-top: 12px; padding-left: 12px;     line-height: 100%; "&gt;&lt;/a&gt;
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184702/rss" title="frontendmasters.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Build AI Features That Get Better Over Time&lt;/a&gt;&lt;/span&gt; — Join Scott Moss for this detailed video course covering agentic systems, eval harnesses, RAG, and context engineering — everything you need to ship reliable, production-ready AI features.&lt;/p&gt;
  &lt;p&gt;Frontend Masters &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184754/rss" title="nodejs.org" style=" color: #3366aa;    font-size: 1.05em;"&gt;Node.js 26.0.0 (Current) Released&lt;/a&gt;&lt;/span&gt; — A macOS build snafu pushed the release date out to today, but the latest version of Node is here, complete with &lt;a href="https://javascriptweekly.com/link/184755/rss" style=" color: #3366aa;   "&gt;Temporal API&lt;/a&gt; enabled by default, V8 14.6, and Undici 8. v26 is the ‘current’ cutting-edge release until October when it’ll be promoted to LTS.&lt;/p&gt;
  &lt;p&gt;Rafael Gonzaga &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184705/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Vitest&lt;/a&gt; is tightly coupled to Vite, but a maintainer has &lt;a href="https://javascriptweekly.com/link/184706/rss" style=" color: #3366aa; font-weight: 500;   "&gt;proposed making it "framework-agnostic"&lt;/a&gt; to support other build tools and runtimes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;People on Hacker News &lt;a href="https://javascriptweekly.com/link/184756/rss" style=" color: #3366aa; font-weight: 500;   "&gt;got very excited&lt;/a&gt; to discuss an effort by Bun's Jarred Sumner &lt;a href="https://javascriptweekly.com/link/184757/rss" style=" color: #3366aa; font-weight: 500;   "&gt;to port Bun from Zig to Rust.&lt;/a&gt; Jarred &lt;a href="https://javascriptweekly.com/link/184758/rss" style=" color: #3366aa; font-weight: 500;   "&gt;turned up on the thread&lt;/a&gt; to cool things down. A Rust port &lt;em&gt;is&lt;/em&gt; being attempted, but with no long-term intent to &lt;em&gt;switch&lt;/em&gt; for now.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The Svelte team has &lt;a href="https://javascriptweekly.com/link/184707/rss" style=" color: #3366aa; font-weight: 500;   "&gt;shared its latest monthly roundup&lt;/a&gt;, including the news that Svelte &lt;a href="https://javascriptweekly.com/link/184708/rss" style=" color: #3366aa; font-weight: 500;   "&gt;appears in ThoughtWorks' latest &lt;em&gt;Technology Radar&lt;/em&gt;.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Deno is getting &lt;a href="https://javascriptweekly.com/link/184759/rss" style=" color: #3366aa; font-weight: 500;   "&gt;experimental support for &lt;code&gt;import defer&lt;/code&gt;&lt;/a&gt; (&lt;a href="https://javascriptweekly.com/link/184760/rss" style=" color: #3366aa; font-weight: 500;   "&gt;TC39 proposal&lt;/a&gt;) and may be the first runtime to support it.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;RELEASES:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184709/rss" style=" color: #3366aa; font-weight: 500;   "&gt;PM2 7.0&lt;/a&gt; – The Node.js process manager gets a refactor that slashes its dependency footprint, and extends cluster mode and the monitoring agent to Bun apps.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184710/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Astro v7 Alpha&lt;/a&gt; – The web framework for content-driven websites teases its Vite 8-based, Rust compiler-driven version, alongside its &lt;a href="https://javascriptweekly.com/link/184711/rss" style=" color: #3366aa; font-weight: 500;   "&gt;v6.2 release&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184712/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Electron 41.5&lt;/a&gt; – The cross-platform desktop app framework adds support for Touch ID for WebAuthn on macOS.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184713/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Ember 6.12&lt;/a&gt; – The final 6.x release in preparation for Ember 7.0.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184714/rss" style=" color: #3366aa; font-weight: 500;   "&gt;ESLint 10.3&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/184715/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Zod 4.4&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/184716/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Babylon.js 9.5&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;📖  Articles and Videos&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184717/rss" title="jvns.ca" style=" color: #3366aa;    font-size: 1.05em;"&gt;Testing Vue Components in the Browser&lt;/a&gt;&lt;/span&gt; — Julia sets up integration tests for her components that run entirely in the browser, sidestepping extraneous tooling, and shares issues she ran into around mounting components, waiting on the DOM, filling forms, and measuring coverage.&lt;/p&gt;
  &lt;p&gt;Julia Evans &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184771/rss" title="hacks.mozilla.org" style=" color: #3366aa;    font-size: 1.05em;"&gt;Trustworthy JavaScript for the Open Web&lt;/a&gt;&lt;/span&gt; — Web Application Integrity, Consistency and Transparency (WAICT) is an emerging spec for cryptographically verifying that the JavaScript running in a user’s browser matches what the site published (there’s &lt;a href="https://javascriptweekly.com/link/184772/rss" style=" color: #3366aa;   "&gt;a full explainer here&lt;/a&gt;). A prototype is now live in Firefox Nightly.&lt;/p&gt;
  &lt;p&gt;The Firefox Security Team (Mozilla) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184719/rss" title="wallabyjs.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Breakpoints and &lt;code&gt;console.log&lt;/code&gt; Is the Past, Time Travel Is the Future&lt;/a&gt;&lt;/span&gt; — 15x faster JavaScript debugging than with breakpoints and console.log, supports Vitest, Jest, Karma, Jasmine, and more.&lt;/p&gt;
  &lt;p&gt;Wallaby Team &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/184720/rss" style=" color: #3366aa; font-weight: 500;   "&gt;'I Got a $134 Cloudflare D1 Bill: Here's How I Cut It 95%'&lt;/a&gt; – Adventures in using SvelteKit on Cloudflare Workers with D1 (SQLite) and Drizzle ORM. &lt;cite&gt;Justin Ahinon&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/184768/rss" style=" color: #3366aa; font-weight: 500;   "&gt;'I Am Worried About Bun'&lt;/a&gt; – By a developer who’s worried about the long term implications of &lt;a href="https://javascriptweekly.com/link/184769/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Anthropic acquiring Bun.&lt;/a&gt; &lt;cite&gt;William Johnston&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/184722/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Making Bluetooth Low Energy Work with JavaScript&lt;/a&gt;  &lt;cite&gt;Ifedayo Agboola&lt;/cite&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;🛠 Code &amp;amp; Tools&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/184723/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/jtuzetnfsmbiv0owbcam.jpg" width="640" style="        line-height: 100%;  "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184723/rss" title="animejs.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Anime.js 4.4: The Flexible JavaScript Animation Engine&lt;/a&gt;&lt;/span&gt; — At ten years old, the ‘animate anything from JavaScript’ library continues to get even better with a &lt;a href="https://javascriptweekly.com/link/184724/rss" style=" color: #3366aa;   "&gt;new &lt;code&gt;scrambleText&lt;/code&gt; effect&lt;/a&gt; and &lt;a href="https://javascriptweekly.com/link/184725/rss" style=" color: #3366aa;   "&gt;auto-grid layout mode&lt;/a&gt; for stagger grids. The &lt;a href="https://javascriptweekly.com/link/184727/rss" style=" color: #3366aa;   "&gt;docs&lt;/a&gt; for Anime are truly top-tier and packed with examples.&lt;/p&gt;
  &lt;p&gt;Julian Garnier &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184728/rss" title="developer.vonage.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Video Archiving with the Vonage Video API and React&lt;/a&gt;&lt;/span&gt; — Master four ways to record: capture audio-only, separate streams, or use Experience Composer for custom branded layouts.&lt;/p&gt;
  &lt;p&gt;Vonage &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184729/rss" title="github.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Formisch: A Modular, Type-Safe Form Library&lt;/a&gt;&lt;/span&gt; — A schema-based, headless form library for Preact, Qwik, React, SolidJS, Svelte and Vue that manages form state and validation (using Valibot). Try out &lt;a href="https://javascriptweekly.com/link/184730/rss" style=" color: #3366aa;   "&gt;some demos in the playground&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Open Circle &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184731/rss" title="opentype.js.org" style=" color: #3366aa;    font-size: 1.05em;"&gt;opentype.js: Read and Write OpenType Fonts&lt;/a&gt;&lt;/span&gt; — Get direct access to letterforms in the browser and Node.js. Has broad WOFF, OTF, and TTF support, and supports ligatures, kerning, and emojis. You can also create your own fonts from scratch. The new &lt;a href="https://javascriptweekly.com/link/184732/rss" style=" color: #3366aa;   "&gt;v1.3.5&lt;/a&gt; release is a preview of the soon-to-land 2.0. &lt;a href="https://javascriptweekly.com/link/184733/rss" style=" color: #3366aa;   "&gt;GitHub repo.&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Frederik De Bleser &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184734/rss" title="github.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;View Transitions Mock: Non-Visual Polyfill for Same-Document View Transitions&lt;/a&gt;&lt;/span&gt; — A JS implementation of Same-Document View Transitions, without the visuals. Write one clean code path: supporting browsers get the transitions, non-supporting ones get an instant DOM swap, but the promises behave the same.&lt;/p&gt;
  &lt;p&gt;Google Chrome Labs &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;🎬 &lt;a href="https://javascriptweekly.com/link/184735/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Mediabunny v1.42.0&lt;/a&gt; – Read, write, and convert audio and video files in the browser. v1.42.0 notably adds HTTP Live Streaming (HLS) read/write support.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184736/rss" style=" color: #3366aa; font-weight: 500;   "&gt;pnpm v11.0.5&lt;/a&gt; – The fast and efficient &lt;code&gt;npm&lt;/code&gt; alternative has deployed many bugfixes since last week's &lt;a href="https://javascriptweekly.com/link/184737/rss" style=" color: #3366aa; font-weight: 500;   "&gt;big 11.0 release.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184738/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Electrobun 1.18&lt;/a&gt; – Build tiny cross-platform desktop apps atop Bun. (&lt;a href="https://javascriptweekly.com/link/184739/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Changelog&lt;/a&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184740/rss" style=" color: #3366aa; font-weight: 500;   "&gt;useHotkeys 5.3&lt;/a&gt; – React hook for using keyboard shortcuts in components.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184741/rss" style=" color: #3366aa; font-weight: 500;   "&gt;RxDB 17.2.0&lt;/a&gt; – Fast, local-first, reactive database for JS apps.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
	&lt;p&gt;📰 Classifieds&lt;/p&gt;
  &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;⌘ &lt;a href="https://javascriptweekly.com/link/184770/rss" style=" color: #3366aa; font-weight: 500;   "&gt;&lt;b&gt;Command Code&lt;/b&gt;&lt;/a&gt; is a frontier coding agent that ships features, fixes bugs, writes tests, &amp;amp; continuously learns your taste. &lt;b&gt;Start now for $1&lt;/b&gt;.&lt;/p&gt;
 
&lt;p&gt;Flaky tests slowing down dev? &lt;a href="https://javascriptweekly.com/link/184743/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Meticulous&lt;/a&gt; gives engineers confidence to ship faster by autonomously testing every edge case of your web app.&lt;/p&gt;
 
&lt;p&gt;⚙️ &lt;a href="https://javascriptweekly.com/link/184744/rss" style=" color: #3366aa; font-weight: 500;   "&gt;The new Clerk CLI&lt;/a&gt;: Run clerk init to scaffold auth, clerk config to manage it in code, Clerk API to query it. Open source: &lt;a href="https://javascriptweekly.com/link/184744/rss" style=" color: #3366aa; font-weight: 500;   "&gt;clerk.com/cli&lt;/a&gt;&lt;/p&gt;
 
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184745/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Handsontable Theme Builder&lt;/a&gt; has AI. Describe your theme, get a token set that fits your data grid — no CSS overrides, no trial and error.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;📢  Elsewhere in the ecosystem&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/184746/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/wv3jtbpvschb5vcdrhw3.jpg" width="640" style="    line-height: 100%;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;How can you &lt;em&gt;not&lt;/em&gt; love a project homepage where you're a cat in a convertible driving through an endless barrage of obstacles? &lt;a href="https://javascriptweekly.com/link/184746/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Crashcat&lt;/a&gt; is a JavaScript 3D rigid body physics library built for games, simulations, and web experiences, complete with &lt;a href="https://javascriptweekly.com/link/184747/rss" style=" color: #3366aa; font-weight: 500;   "&gt;numerous fun examples.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;✉️ Cloudflare has &lt;a href="https://javascriptweekly.com/link/184748/rss" style=" color: #3366aa; font-weight: 500;   "&gt;open sourced &lt;em&gt;Agentic Inbox&lt;/em&gt;&lt;/a&gt;, a self-hosted React 19 and React Router 7-based web email app that ties together and heavily leans on numerous Cloudflare APIs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184749/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Ladybird&lt;/a&gt; is a &lt;em&gt;"truly independent web browser"&lt;/em&gt; with its renderer and JS engine built entirely from &lt;em&gt;scratch&lt;/em&gt;, with an alpha release due later this year. In &lt;a href="https://javascriptweekly.com/link/184750/rss" style=" color: #3366aa; font-weight: 500;   "&gt;the project's latest update&lt;/a&gt; they cover recent significant JS and CSS improvements.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tired of &lt;code&gt;localhost:3000&lt;/code&gt; on your projects? Vercel's &lt;a href="https://javascriptweekly.com/link/184751/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Portless&lt;/a&gt; lets you run local dev servers using a more user-friendly &lt;code&gt;.localhost&lt;/code&gt; hostname over HTTPS.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184761/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Thales&lt;/a&gt; is a TypeScript to &lt;a href="https://javascriptweekly.com/link/184762/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Lean&lt;/a&gt; compiler that type-checks a subset of TypeScript and emits a Lean sidecar, turning your code into a Lean module you can reason about.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;




&lt;img src="https://javascriptweekly.com/open/784/rss" width="1" height="1" /&gt;</description>
      <pubDate>Tue, 5 May 2026 00:00:00 +0000</pubDate>
      <guid>https://javascriptweekly.com/issues/784</guid>
    </item>
    <item>
      <title>What’s actually new in JavaScript (and what’s coming next)</title>
      <link>https://javascriptweekly.com/issues/783</link>
      <description>

  

    
    
    
    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;div&gt;    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;
&lt;td align="left" style="padding-left: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;p&gt;#​783 — April 28, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184459/rss" style=" color: #3366aa;"&gt;Read on the Web&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 12px;  padding-left: 12px;"&gt;&lt;p&gt;JavaScript Weekly&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://javascriptweekly.com/link/184391/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/u8nht4cick80vtcnu9pf.jpg" width="640" style="    line-height: 100%;       "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184391/rss" title="pnpm.io" style=" color: #3366aa;    font-size: 1.1em; line-height: 1.4em;"&gt;pnpm 11.0 Released&lt;/a&gt;&lt;/span&gt; — You’ve heard about &lt;a href="https://javascriptweekly.com/link/184392/rss" style=" color: #3366aa;   "&gt;its benefits&lt;/a&gt;, but now the popular package management tool is even better. v11 sets &lt;code&gt;minimumReleaseAge&lt;/code&gt; to one day by default, there's an SQLite-backed store index (faster installs!), native package publishing, &lt;a href="https://javascriptweekly.com/link/184393/rss" style=" color: #3366aa;   "&gt;&lt;code&gt;pack-app&lt;/code&gt;&lt;/a&gt;, and more. There's &lt;a href="https://javascriptweekly.com/link/184394/rss" style=" color: #3366aa;   "&gt;a migration guide for v10 users&lt;/a&gt;. Work has also resumed on &lt;a href="https://javascriptweekly.com/link/184395/rss" style=" color: #3366aa;   "&gt;a Rust-powered port&lt;/a&gt; called &lt;em&gt;Pacquet&lt;/em&gt;.&lt;/p&gt;
  &lt;p&gt;Zoltan Kochan &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;&lt;p&gt;💡 On the topic of package managers, &lt;a href="https://javascriptweekly.com/link/184396/rss" style=" color: #3366aa; font-weight: 600;"&gt;Aube&lt;/a&gt; is a new contender from the creator of &lt;a href="https://javascriptweekly.com/link/184397/rss" style=" color: #3366aa; font-weight: 600;"&gt;Mise&lt;/a&gt; that focuses heavily on &lt;a href="https://javascriptweekly.com/link/184398/rss" style=" color: #3366aa; font-weight: 600;"&gt;performance&lt;/a&gt;.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  &lt;a href="https://javascriptweekly.com/link/184390/rss" style=" color: #3366aa;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/2ded4a2a.png" width="130" height="130" style="padding-top: 12px; padding-left: 12px;     line-height: 100%;    "&gt;&lt;/a&gt;
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184390/rss" title="www.meticulous.ai" style=" color: #3366aa;    font-size: 1.05em;"&gt;Still Writing Tests Manually? Meticulous AI Is Here&lt;/a&gt;&lt;/span&gt; — Notion, Dropbox, Wiz and LaunchDarkly now use a testing paradigm they can’t work without. Built by former Palantir engineers, Meticulous automatically creates an evolving suite of E2E UI tests, delivering exhaustive coverage with no developer effort.&lt;/p&gt;
  &lt;p&gt;Meticulous &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding-top: 1px; padding-right: 4px;  padding-left: 4px;            "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184399/rss" title="devblogs.microsoft.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;TypeScript 7.0 Beta: 10x Faster TypeScript Compilation&lt;/a&gt;&lt;/span&gt; — The Go-powered port with &lt;em&gt;“about 10 times faster”&lt;/em&gt; compiler performance. &lt;a href="https://javascriptweekly.com/link/184400/rss" style=" color: #3366aa;   "&gt;TypeScript 6.0&lt;/a&gt;'s deprecations and &lt;a href="https://javascriptweekly.com/link/184401/rss" style=" color: #3366aa;   "&gt;config changes&lt;/a&gt; will help you upgrade smoothly from v5 to v7. There are also &lt;a href="https://javascriptweekly.com/link/184402/rss" style=" color: #3366aa;   "&gt;changes to how to write your code&lt;/a&gt; to review. While v7 is considered &lt;em&gt;"close to production-ready"&lt;/em&gt;, a stable programmatic API won't arrive till v7.1.&lt;/p&gt;
  &lt;p&gt;Microsoft &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;&lt;strong&gt;IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;Node.js v26.0 (Current)&lt;/em&gt; is expected later today, enabling Temporal API support by default after an upgrade to V8 14.6. Here's a &lt;a href="https://javascriptweekly.com/link/184403/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;preview of the release notes.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Noticed GitHub being flakier than usual lately? Vlad Fedorov has &lt;a href="https://javascriptweekly.com/link/184404/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;a fresh official update on GitHub's reliability&lt;/a&gt; (including last week's &lt;a href="https://javascriptweekly.com/link/184405/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;merge queue incident&lt;/a&gt;).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🇪🇺 &lt;a href="https://javascriptweekly.com/link/184406/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;NodeConf EU&lt;/a&gt; is back. It's in Bologna, Italy this September 29-30. Tickets are on sale, and &lt;a href="https://javascriptweekly.com/link/184407/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;here's the CFP&lt;/a&gt; if you want to speak.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;&lt;strong&gt;RELEASES:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184408/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Rspack 2.0&lt;/a&gt; – The fast, Rust-based webpack-compatible bundler is 10% faster than v1.7, performs &lt;a href="https://javascriptweekly.com/link/184409/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;better static analysis&lt;/a&gt;, and adds &lt;a href="https://javascriptweekly.com/link/184410/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;experimental RSC support&lt;/a&gt;. &lt;a href="https://javascriptweekly.com/link/184411/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Rsbuild 2.0&lt;/a&gt; was released too.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184412/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Nuxt UI 4.7&lt;/a&gt; – Vue UI library with 125+ components. &lt;a href="https://javascriptweekly.com/link/184413/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;v4.7&lt;/a&gt; adds &lt;a href="https://javascriptweekly.com/link/184414/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Listbox&lt;/a&gt;, and a &lt;a href="https://javascriptweekly.com/link/184415/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Prompt&lt;/a&gt; component for displaying copy/pasteable AI prompts.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🌐 &lt;a href="https://javascriptweekly.com/link/184416/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Lingui 6.0&lt;/a&gt; – Popular framework and runtime agnostic JS i18n and l10n library.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184418/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Transformers.js 4.2.0&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/184419/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Electron 41.3.0&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/184420/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Etherpad v2.7.0&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 0;"&gt;&lt;p&gt;📖  Articles and Videos&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184421/rss" title="neciudan.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;What’s Actually New in JavaScript (And What’s Coming Next)&lt;/a&gt;&lt;/span&gt; — You could read the specs and countless posts about each new language feature or... this post that brings everything relevant and useful from ES2025 and ES2026 into one place. Iterator helpers, &lt;code&gt;Promise.try&lt;/code&gt;, &lt;code&gt;Map.getOrInsert&lt;/code&gt;, &lt;code&gt;using&lt;/code&gt;, Temporal, and much more, are covered.&lt;/p&gt;
  &lt;p&gt;Neciu Dan &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184422/rss" title="sentry.io" style=" color: #3366aa;    font-size: 1.05em;"&gt;Stop Guessing Where Your Next.js App Broke [Workshop]&lt;/a&gt;&lt;/span&gt; — Learn to trace Next.js errors back to their source using logs and tracing. &lt;a href="https://javascriptweekly.com/link/184423/rss" style=" color: #3366aa;   "&gt;Free workshop, register today&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Sentry &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding-top: 1px; padding-right: 4px;  padding-left: 4px;            "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/184424/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Debugging WASM in Chrome DevTools&lt;/a&gt; – Tips on using the Chrome DevTools’ &lt;em&gt;“very capable WASM debugger”&lt;/em&gt;. &lt;cite&gt;Eli Bendersky&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/184425/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Writing Node.js Addons with .NET Native AOT&lt;/a&gt; – You can now write native Node addons in .NET-based languages, such as C#. &lt;cite&gt;Drew Noakes (Microsoft)&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/184426/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;The Simplest C Function-to-WebAssembly-to-JS Pipeline&lt;/a&gt;  &lt;cite&gt;Peter Cooper&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/184427/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Upgrade Cypress to TypeScript 6.0&lt;/a&gt;  &lt;cite&gt;Gleb Bahmutov&lt;/cite&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 0;"&gt;&lt;p&gt;🛠 Code &amp;amp; Tools&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://javascriptweekly.com/link/184428/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/xmcbw5dmkg2khkqeeqc3.jpg" width="640" style="    line-height: 100%;         "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184428/rss" title="tsrx.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;TSRX: A TypeScript Language Extension for Declarative UIs&lt;/a&gt;&lt;/span&gt; — A fresh attempt at improving upon JSX from a Svelte maintainer and former React core engineer. It includes control flow, scoped styles, and locals, and compiles to React, Preact, Solid and &lt;a href="https://javascriptweekly.com/link/184429/rss" style=" color: #3366aa;   "&gt;Ripple&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Dominic Gannaway &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;span&gt;📊&lt;/span&gt; &lt;a href="https://javascriptweekly.com/link/184430/rss" title="www.tradingview.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Lightweight Charts™ 5.2: Fast Charts for Financial Data&lt;/a&gt;&lt;/span&gt; — A seven-year-old canvas-based charting library optimized for financial data use cases like &lt;a href="https://javascriptweekly.com/link/184431/rss" style=" color: #3366aa;   "&gt;rounded candle plots&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/184432/rss" style=" color: #3366aa;   "&gt;box whisker plots&lt;/a&gt;, and &lt;a href="https://javascriptweekly.com/link/184433/rss" style=" color: #3366aa;   "&gt;dual range histograms.&lt;/a&gt; The homepage is full of interactive demos. &lt;a href="https://javascriptweekly.com/link/184434/rss" style=" color: #3366aa;   "&gt;GitHub repo.&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;TradingView &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184435/rss" title="go.clerk.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Clerk CLI: Manage Auth from Your Terminal&lt;/a&gt;&lt;/span&gt; — Detects your framework, scaffolds auth, and manages sign-in methods and session policies in code. Open source.&lt;/p&gt;
  &lt;p&gt;Clerk &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding-top: 1px; padding-right: 4px;  padding-left: 4px;            "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184436/rss" title="github.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Nano Stores 1.3: A Tiny (286 Bytes) State Manager&lt;/a&gt;&lt;/span&gt; — Atomic and derived stores for every major framework (including React) and vanilla JS. Worth a look if a tiny footprint and framework-agnostic design appeal to you.&lt;/p&gt;
  &lt;p&gt;Andrey Sitnik (Evil Martians) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184437/rss" title="github.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;BWIP-JS 4.10: Barcode Writer in Pure JavaScript&lt;/a&gt;&lt;/span&gt; — A library to generate barcodes using over 100 different standards. There’s &lt;a href="https://javascriptweekly.com/link/184438/rss" style=" color: #3366aa;   "&gt;a live demo&lt;/a&gt; where you'll discover far more types of barcodes exist than you imagined.&lt;/p&gt;
  &lt;p&gt;Mark Warren &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;span&gt;🍋&lt;/span&gt; &lt;a href="https://javascriptweekly.com/link/184439/rss" title="deno.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Fresh 2.3: Zero JS by Default, View Transitions, and More&lt;/a&gt;&lt;/span&gt; — Deno full-stack web framework (&lt;a href="https://javascriptweekly.com/link/184440/rss" style=" color: #3366aa;   "&gt;explained here&lt;/a&gt;) gains first-class WebSocket support, no longer ships &lt;em&gt;any&lt;/em&gt; JavaScript for pages that don’t need it, and makes using the View Transitions API a snap with a single attribute in your views.&lt;/p&gt;
  &lt;p&gt;Bartek Iwańczuk (Deno) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;🎬 &lt;a href="https://javascriptweekly.com/link/184441/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Mediabunny v1.41.0&lt;/a&gt; – Powerful JavaScript toolkit for working with media files.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184442/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;hyperid 4.0&lt;/a&gt; – Matteo Collina's fast unique ID generator for Node &amp;amp; browsers.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184443/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Svelte Bricks 0.5&lt;/a&gt; – Svelte masonry component with SSR support.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184444/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;focus-trap 8.1&lt;/a&gt; – Trap focus within a DOM node. (&lt;a href="https://javascriptweekly.com/link/184445/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Demo.&lt;/a&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184446/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;CheerpJ 4.3&lt;/a&gt; – Run unmodified Java apps in the browser.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184447/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;qrcode.vue 3.9&lt;/a&gt; – Vue component to generate QR codes.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 0px;  padding-left: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
	&lt;p&gt;📰 Classifieds&lt;/p&gt;
  &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;📸 Scan barcodes, QR codes and others directly in the browser using &lt;a href="https://javascriptweekly.com/link/184448/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;STRICH&lt;/a&gt;, a lean JS library. &lt;a href="https://javascriptweekly.com/link/184448/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Free 30-day trial, try the demo app today!&lt;/a&gt;&lt;/p&gt;
 
&lt;p&gt;⌘ &lt;a href="https://javascriptweekly.com/link/184449/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;&lt;b&gt;Command Code&lt;/b&gt;&lt;/a&gt; is a frontier coding agent that ships features, fixes bugs, writes tests, &amp;amp; continuously learns your taste. &lt;b&gt;Start now for $1&lt;/b&gt;.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 0;"&gt;&lt;p&gt;📢  Elsewhere in the ecosystem&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://javascriptweekly.com/link/184451/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/sxtjoxyrh5bpeb8vpog0.jpg" width="640" style="    line-height: 100%;         "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;🎵 I've been dying to link to &lt;a href="https://javascriptweekly.com/link/184451/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Chip Player JS&lt;/a&gt; again for a while now. It's a JavaScript powered online player and repository of over 300,000 MIDI, tracker, chiptune, and video game music files. It's fantastic for background music, and if you can remember a game, it's probably in here. &lt;a href="https://javascriptweekly.com/link/184452/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Chrono Trigger's soundtrack&lt;/a&gt; is a particular favorite of mine.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;📊 &lt;a href="https://javascriptweekly.com/link/184453/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Datatype&lt;/a&gt; is an OpenType variable font that turns simple text expressions into inline charts with no JavaScript or images needed. For example: &lt;code&gt;{l:10,50,30,80,20}&lt;/code&gt; gets rendered as an inline sparkline.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🤖 Cloudflare's new &lt;a href="https://javascriptweekly.com/link/184454/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Is Your Site Agent-Ready?&lt;/a&gt; tool analyzes your site to &lt;em&gt;"see how ready it is for AI agents."&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🤖 Cloudflare has released &lt;a href="https://javascriptweekly.com/link/184455/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;a set of agent skills&lt;/a&gt; to help agentic development tools build on the Cloudflare platform.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sean Goedecke explains &lt;a href="https://javascriptweekly.com/link/184456/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;how good engineers write bad code at big companies.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If all else fails, &lt;a href="https://javascriptweekly.com/link/184457/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;just stare at the wall for ten minutes.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;




&lt;img src="https://javascriptweekly.com/open/783/rss" width="1" height="1" /&gt;</description>
      <pubDate>Tue, 28 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://javascriptweekly.com/issues/783</guid>
    </item>
    <item>
      <title>Create videos with HTML and JavaScript via HyperFrames</title>
      <link>https://javascriptweekly.com/issues/782</link>
      <description>

  

    
    
    
    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;div&gt;    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;
&lt;td align="left" style="padding-left: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;p&gt;#​782 — April 21, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184040/rss" style=" color: #3366aa;"&gt;Read on the Web&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 12px;  padding-left: 12px;"&gt;&lt;p&gt;JavaScript Weekly&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://javascriptweekly.com/link/184042/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/i3uvkia0thzscb525tjz.jpg" width="640" style="    line-height: 100%;       "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184042/rss" title="hyperframes.heygen.com" style=" color: #3366aa;    font-size: 1.1em; line-height: 1.4em;"&gt;HyperFrames: Write HTML and JavaScript to Create Videos&lt;/a&gt;&lt;/span&gt; — An open-source framework for creating and rendering videos with HTML and JavaScript. Essentially a simpler non-React alternative to &lt;a href="https://javascriptweekly.com/link/184043/rss" style=" color: #3366aa;   "&gt;Remotion&lt;/a&gt;. It includes a variety of &lt;a href="https://javascriptweekly.com/link/184044/rss" style=" color: #3366aa;   "&gt;built-in blocks/components&lt;/a&gt; for common video effects and elements, and can also &lt;a href="https://javascriptweekly.com/link/184045/rss" style=" color: #3366aa;   "&gt;composite existing video&lt;/a&gt; and audio clips. &lt;a href="https://javascriptweekly.com/link/184046/rss" style=" color: #3366aa;   "&gt;GitHub repo.&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;HeyGen &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  &lt;a href="https://javascriptweekly.com/link/184041/rss" style=" color: #3366aa;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/2908056a.png" width="110" height="110" style="padding-top: 12px; padding-left: 12px;     line-height: 100%;    "&gt;&lt;/a&gt;
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184041/rss" title="www.meticulous.ai" style=" color: #3366aa;    font-size: 1.05em;"&gt;Still Writing Tests Manually? Meticulous AI Is Here&lt;/a&gt;&lt;/span&gt; — Notion, Dropbox, Wiz and LaunchDarkly now use a testing paradigm they can’t work without. Built by former Palantir engineers, Meticulous automatically creates an evolving suite of E2E UI tests, delivering exhaustive coverage with no developer effort.&lt;/p&gt;
  &lt;p&gt;Meticulous &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding-top: 1px; padding-right: 4px;  padding-left: 4px;            "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184047/rss" title="vercel.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;The Vercel Breach That Started with a Roblox Cheat&lt;/a&gt;&lt;/span&gt; — An employee of an AI tool provider used by a Vercel employee was compromised by malware (&lt;a href="https://javascriptweekly.com/link/184048/rss" style=" color: #3366aa;   "&gt;bundled with a Roblox cheat!&lt;/a&gt;) and the attacker used that foothold, by way of Google Workspace, to reach a subset of Vercel customers’ environment variables.&lt;/p&gt;
  &lt;p&gt;Vercel &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;&lt;p&gt;💡 Vercel users should &lt;a href="https://javascriptweekly.com/link/184050/rss" style=" color: #3366aa; font-weight: 600;"&gt;follow these steps&lt;/a&gt;, but even if you're not one, the weak link was an OAuth grant to a third-party tool, and that pattern is nearly universal.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;&lt;strong&gt;IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184051/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Node.js is moving to support the Temporal API by default&lt;/a&gt;, most likely in Node v26 which is &lt;a href="https://javascriptweekly.com/link/184052/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;expected next week.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;Salesforce&lt;/em&gt; ecosystem devs are used to using specific frameworks within its walled garden; now &lt;a href="https://javascriptweekly.com/link/184053/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;you can build native React apps on Salesforce&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Rust's official package/crate registry, &lt;a href="https://javascriptweekly.com/link/184054/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;crates.io&lt;/a&gt;, is &lt;a href="https://javascriptweekly.com/link/184055/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;migrating from Ember.js to Svelte 5.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;&lt;strong&gt;RELEASES:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184056/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Node.js 24.15.0 (LTS)&lt;/a&gt; – &lt;code&gt;require(esm)&lt;/code&gt; and the module compile cache are marked as stable, and &lt;code&gt;--max-heap-size&lt;/code&gt; has been added.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184057/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Fable 5.0&lt;/a&gt; – A mature F# transpiler that targets JavaScript (plus other languages). &lt;a href="https://javascriptweekly.com/link/184058/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;v5.0&lt;/a&gt; adds .NET 10 and F# 10 support.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184059/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;uuid 14.0&lt;/a&gt; – Create RFC9562-compliant UUIDs (v1 through v7).&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 0;"&gt;&lt;p&gt;📖  Articles and Videos&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://javascriptweekly.com/link/184060/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/eglbcnbm5bn0ebwia2vv.jpg" width="640" style="    line-height: 100%;         "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;▶  &lt;a href="https://javascriptweekly.com/link/184060/rss" title="www.youtube.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Evan You's &lt;em&gt;State of Vue 2026&lt;/em&gt; Talk&lt;/a&gt;&lt;/span&gt; — A month ago, Evan You (of Vue.js and VoidZero fame) gave his annual address. Less Vue-focused than usual (though &lt;em&gt;&lt;a href="https://javascriptweekly.com/link/184061/rss" style=" color: #3366aa;   "&gt;Vapor Mode&lt;/a&gt;&lt;/em&gt; is “almost ready”), the talk focuses on Vite-ecosystem updates covering &lt;a href="https://javascriptweekly.com/link/184062/rss" style=" color: #3366aa;   "&gt;Vite 8&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/184063/rss" style=" color: #3366aa;   "&gt;Vite+&lt;/a&gt;, and &lt;a href="https://javascriptweekly.com/link/184064/rss" style=" color: #3366aa;   "&gt;Void.&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Evan You / Vue.js Amsterdam &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184065/rss" title="stefanhaas.xyz" style=" color: #3366aa;    font-size: 1.05em;"&gt;How I Resolved 15K Circular Dependencies&lt;/a&gt;&lt;/span&gt; — &lt;s&gt;A senior Microsoft engineer’s retrospective of clearing ~15,000 project-level circular dependencies from a 7 million line(!) TypeScript monorepo, with reusable ideas for anyone wrangling a large TS workspace.&lt;/s&gt; &lt;strong&gt;For some reason this article no longer exists as of April 24.&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Stefan Haas &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184066/rss" title="ghost.build" style=" color: #3366aa;    font-size: 1.05em;"&gt;Your Agent Ships 10 Ideas a Day. You Get 2 Databases?&lt;/a&gt;&lt;/span&gt; — Your agent builds faster than a 2-project free tier allows. &lt;i&gt;ghost&lt;/i&gt; gives it unlimited Postgres. 1TB storage. &lt;a href="https://javascriptweekly.com/link/184066/rss" style=" color: #3366aa;   "&gt;Try free&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;ghost &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding-top: 1px; padding-right: 4px;  padding-left: 4px;            "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184067/rss" title="tkdodo.eu" style=" color: #3366aa;    font-size: 1.05em;"&gt;The Vertical Codebase&lt;/a&gt;&lt;/span&gt; — Structuring an app with folders like &lt;code&gt;components/&lt;/code&gt;, &lt;code&gt;hooks/&lt;/code&gt;, and &lt;code&gt;utils/&lt;/code&gt; feels tidy at first, but gets harder to live with over time. Dominik makes the case for a vertical, domain-first approach.&lt;/p&gt;
  &lt;p&gt;Dominik Dorfmeister &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;span&gt;🔒&lt;/span&gt; &lt;a href="https://javascriptweekly.com/link/184068/rss" title="cheatsheetseries.owasp.org" style=" color: #3366aa;    font-size: 1.05em;"&gt;The OWASP NPM Security Best Practices Cheat Sheet&lt;/a&gt;&lt;/span&gt; — A useful, long-standing checklist that continues to be updated with recent updates tackling disabling lifecycle scripts, typosquatting, trusted publishing, and dependency confusion.&lt;/p&gt;
  &lt;p&gt;OWASP Cheat Sheet Series &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184069/rss" title="voidzero.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;How We Made the Angular Compiler Faster Using AI&lt;/a&gt;&lt;/span&gt; — Two of VoidZero’s developers wanted to see how fast an Angular compiler they could make. Very fast, it turns out.&lt;/p&gt;
  &lt;p&gt;Brooklyn and Michael Dong (VoidZero) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/184070/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Why I Don't Chain Everything in JavaScript Anymore&lt;/a&gt; – Long chains of methods vs. an easier-to-read sequence. &lt;cite&gt;Matt Smith&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/184071/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;The Scope of Type Guards and Assertion Functions&lt;/a&gt;  &lt;cite&gt;Stefan Judis&lt;/cite&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 0;"&gt;&lt;p&gt;🛠 Code &amp;amp; Tools&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://javascriptweekly.com/link/184072/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/lesj0wvqnelzhexrgm9o.jpg" width="640" style="    line-height: 100%;         "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184072/rss" title="bun.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Bun v1.3.13: Smarter Testing, Streaming Installs, and Less Memory&lt;/a&gt;&lt;/span&gt; — The &lt;a href="https://javascriptweekly.com/link/184073/rss" style=" color: #3366aa;   "&gt;Bun&lt;/a&gt; runtime has had a great run of releases, including last week’s &lt;a href="https://javascriptweekly.com/link/184074/rss" style=" color: #3366aa;   "&gt;v1.3.12&lt;/a&gt; with built-in browser automation. Now, &lt;code&gt;bun test&lt;/code&gt; gets numerous enhancements with &lt;code&gt;--isolate&lt;/code&gt;, &lt;code&gt;--parallel&lt;/code&gt;, &lt;code&gt;--shard&lt;/code&gt; and &lt;code&gt;--changed&lt;/code&gt; options for test env isolation, parallelization, and to run only test files affected by recent changes. The runtime &lt;a href="https://javascriptweekly.com/link/184075/rss" style=" color: #3366aa;   "&gt;now uses 5% less memory&lt;/a&gt;, &lt;code&gt;bun install&lt;/code&gt; gets faster, and more.&lt;/p&gt;
  &lt;p&gt;Jarred Sumner &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184076/rss" title="go.clerk.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Introducing B2B Authentication&lt;/a&gt;&lt;/span&gt; — Clerk combines Organizations, SCIM, SSO, RBAC, invites, and billing to build enterprise-ready apps.&lt;/p&gt;
  &lt;p&gt;Clerk &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding-top: 1px; padding-right: 4px;  padding-left: 4px;            "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/184077/rss" title="animata.design" style=" color: #3366aa;    font-size: 1.05em;"&gt;Animata: Over 100 Animated React Components&lt;/a&gt;&lt;/span&gt; — A suite of novel animation-focused React components you don't often see elsewhere, including &lt;a href="https://javascriptweekly.com/link/184078/rss" style=" color: #3366aa;   "&gt;animated beams&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/184079/rss" style=" color: #3366aa;   "&gt;spreading cards&lt;/a&gt;, and &lt;a href="https://javascriptweekly.com/link/184080/rss" style=" color: #3366aa;   "&gt;a Slack-style intro screen&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Codse &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;span&gt;📄&lt;/span&gt; &lt;a href="https://javascriptweekly.com/link/184081/rss" title="officeparser.harshankur.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;officeParser: A Library to Parse Common Office-Related Formats&lt;/a&gt;&lt;/span&gt; — Work with formats like &lt;code&gt;docx&lt;/code&gt;, &lt;code&gt;pptx&lt;/code&gt;, &lt;code&gt;xlsx&lt;/code&gt;, &lt;code&gt;odt&lt;/code&gt; and others used by office suites, both in the browser and server-side. &lt;a href="https://javascriptweekly.com/link/184082/rss" style=" color: #3366aa;   "&gt;GitHub repo.&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Harsh Ankur &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;span&gt;🎵&lt;/span&gt; &lt;a href="https://javascriptweekly.com/link/184083/rss" title="rexa-developer.github.io" style=" color: #3366aa;    font-size: 1.05em;"&gt;tiks: Procedural UI Sounds for the Web&lt;/a&gt;&lt;/span&gt; — Clicks, pops and pings synthesized with the Web Audio API (so it’s tiny).&lt;/p&gt;
  &lt;p&gt;Rexa &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184084/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;TypeGPU 0.11&lt;/a&gt; – TypeScript WebGPU toolkit with advanced type inference and the ability to write shaders in TypeScript.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;📺 &lt;a href="https://javascriptweekly.com/link/184085/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Shaka Player 5.1&lt;/a&gt; – JavaScript library for adaptive media playback supporting DASH and HLS. (&lt;a href="https://javascriptweekly.com/link/184086/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Demos.&lt;/a&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184087/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;TiddlyWiki 5.4&lt;/a&gt; – Self-contained JavaScript wiki for personal use. (&lt;a href="https://javascriptweekly.com/link/184088/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Repo.&lt;/a&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;✂️ &lt;a href="https://javascriptweekly.com/link/184089/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Knip 6.6&lt;/a&gt; – Popular tool for finding and removing unused files, dependencies and exports.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184090/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;wasm-xlsxwriter 0.13&lt;/a&gt; – Generate Excel files in the browser or Node.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184091/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;React Three Fiber 9.6&lt;/a&gt; – The React renderer for Three.js.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184092/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;np 11.2&lt;/a&gt; – A better &lt;code&gt;npm publish&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 0px;  padding-left: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
	&lt;p&gt;📰 Classifieds&lt;/p&gt;
  &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184093/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;HyperFormula AI SDK&lt;/a&gt;: Give LLMs a deterministic engine to safely read, write, and calculate spreadsheet formulas. No hallucinated math.&lt;/p&gt;
 
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184094/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Gauntlet AI Night School&lt;/a&gt; | RAG that holds up in production requires evaluation built in from the start. Learn how. (Virtual — 4/22)&lt;/p&gt;
 
&lt;p&gt;Builders Learn from Builders. From one builder to another: Join Mark Rober at Twilio SIGNAL, May 6–7 in San Francisco. &lt;a href="https://javascriptweekly.com/link/184095/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Register for a discounted developer ticket here!&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 0;"&gt;&lt;p&gt;📢  Elsewhere in the ecosystem&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://javascriptweekly.com/link/184096/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/sl7wvgh8y8crdmg99axs.jpg" width="640" style="    line-height: 100%;         "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/184096/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Git 2.54 has been released&lt;/a&gt; with a couple of headline features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;git history&lt;/code&gt; offers a new, easy way to edit commit messages or interactively split a commit into two.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You can now define hooks in config files (whether in a repo, at user level, or even system level) rather than just in &lt;code&gt;.git/hooks&lt;/code&gt;. You can also run multiple hooks for the same event in this way.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If you ever work with &lt;em&gt;Ruby on Rails&lt;/em&gt;, &lt;a href="https://javascriptweekly.com/link/184097/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;you might find &lt;code&gt;rails_vite&lt;/code&gt; interesting.&lt;/a&gt; It's a new tool that seamlessly brings the power of &lt;a href="https://javascriptweekly.com/link/184098/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Vite&lt;/a&gt; into Rails' pipeline.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;💥 Anyone who's analyzed GitHub projects for a while knows this already, but &lt;a href="https://javascriptweekly.com/link/184099/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;there's a huge 'fake star' economy&lt;/a&gt; where people pay to make their projects look more popular than they are.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Isa Yeter explains &lt;a href="https://javascriptweekly.com/link/184100/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;how he migrated from DigitalOcean to Hetzner&lt;/a&gt; slashing his hosting bill by 84% in the process.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Cloudflare has released &lt;a href="https://javascriptweekly.com/link/184101/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;a preview of its new &lt;code&gt;cf&lt;/code&gt; CLI tool&lt;/a&gt; for working with its various services.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;




&lt;img src="https://javascriptweekly.com/open/782/rss" width="1" height="1" /&gt;</description>
      <pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://javascriptweekly.com/issues/782</guid>
    </item>
    <item>
      <title>MDN ditches React for web components in frontend rebuild</title>
      <link>https://javascriptweekly.com/issues/781</link>
      <description>

  

    
    
    
    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;div&gt;    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;
&lt;td align="left" style="padding-left: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;p&gt;#​781 — April 14, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183753/rss" style=" color: #3366aa;"&gt;Read on the Web&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 12px;  padding-left: 12px;"&gt;&lt;p&gt;JavaScript Weekly&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://javascriptweekly.com/link/183680/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/gm0i5twsmyfutkc1xygg.jpg" width="640" style="    line-height: 100%;       "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/183680/rss" title="developer.mozilla.org" style=" color: #3366aa;    font-size: 1.1em; line-height: 1.4em;"&gt;Under the Hood of MDN's New Frontend&lt;/a&gt;&lt;/span&gt; — The hugely useful &lt;a href="https://javascriptweekly.com/link/183681/rss" style=" color: #3366aa;   "&gt;MDN&lt;/a&gt; has rebuilt its frontend stack from the ground up, ditching React for web components and a homegrown server component system. A great read on building a modern, content-heavy site without shipping unnecessary JavaScript on every page.&lt;/p&gt;
  &lt;p&gt;Leo McArdle (MDN) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  &lt;a href="https://javascriptweekly.com/link/183679/rss" style=" color: #3366aa;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/865de20e.png" width="160" height="84" style="padding-top: 12px; padding-left: 12px;     line-height: 100%;    "&gt;&lt;/a&gt;
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/183679/rss" title="try.expo.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;Ship Mobile Apps The Way You Ship Websites&lt;/a&gt;&lt;/span&gt; — Expo gives JavaScript developers a web-like workflow for native mobile. Hot reload on device. OTA updates that skip app store review. Cloud builds that work like Vercel. Start with npx create-expo-app.&lt;/p&gt;
  &lt;p&gt;Expo &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding-top: 1px; padding-right: 4px;  padding-left: 4px;            "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;span&gt;🕹️&lt;/span&gt; &lt;a href="https://javascriptweekly.com/link/183682/rss" title="phaser.io" style=" color: #3366aa;    font-size: 1.05em;"&gt;Phaser 4.0: The 2D WebGL and Canvas-Based Game Framework&lt;/a&gt;&lt;/span&gt; — The widely used game framework celebrates its 13th birthday with &lt;a href="https://javascriptweekly.com/link/183683/rss" style=" color: #3366aa;   "&gt;a major release&lt;/a&gt; focused on perf/efficiency improvements, and includes &lt;a href="https://javascriptweekly.com/link/183684/rss" style=" color: #3366aa;   "&gt;skills files&lt;/a&gt; so AI agents can build Phaser 4.0 apps well. There are &lt;a href="https://javascriptweekly.com/link/183685/rss" style=" color: #3366aa;   "&gt;lots of demos&lt;/a&gt;, including &lt;a href="https://javascriptweekly.com/link/183686/rss" style=" color: #3366aa;   "&gt;these games&lt;/a&gt;, and existing users get a &lt;a href="https://javascriptweekly.com/link/183687/rss" style=" color: #3366aa;   "&gt;v3 to v4 migration guide.&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Phaser Studio Inc. &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;&lt;strong&gt;IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Google will &lt;a href="https://javascriptweekly.com/link/183688/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;penalize sites that 'hijack' the back button&lt;/a&gt; in its search results from June. &lt;em&gt;"Ensure you are not doing anything to interfere with a user's ability to navigate their browser history,"&lt;/em&gt; says Chris Nelson.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183689/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;TanStack Start&lt;/a&gt; now has &lt;a href="https://javascriptweekly.com/link/183690/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;(experimental) React Server Components support.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🇫🇷 &lt;a href="https://javascriptweekly.com/link/183691/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;dotJS&lt;/a&gt; returns to Paris, France this September 18 – &lt;a href="https://javascriptweekly.com/link/183692/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;its CFP&lt;/a&gt; is open for two more weeks if you'd like to speak.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🇷🇴 The &lt;a href="https://javascriptweekly.com/link/183693/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;&lt;em&gt;JSHeroes&lt;/em&gt; conference&lt;/a&gt; is back this May 14-15 in Romania.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;&lt;strong&gt;RELEASES:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183694/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Bun v1.3.12&lt;/a&gt; – The JS runtime now ships with native, headless browser automation built in, and &lt;a href="https://javascriptweekly.com/link/183695/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;&lt;code&gt;Bun.cron&lt;/code&gt;&lt;/a&gt; provides an in-process task scheduler.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;⚠️ &lt;a href="https://javascriptweekly.com/link/183696/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;React 19.2.5&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/183697/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;19.1.6&lt;/a&gt; and &lt;a href="https://javascriptweekly.com/link/183698/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;19.0.5&lt;/a&gt; have been released to deploy a fix for a React Server Components vulnerability.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183699/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;React Native 0.85&lt;/a&gt; – New animation backend and devtools improvements.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183701/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;pnpm v11.0 RC 0&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/183702/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;React Three Fiber 9.6&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/183703/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Electron 41.2&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/183704/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;DOMPurify 3.4&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 0;"&gt;&lt;p&gt;📖  Articles and Videos&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://javascriptweekly.com/link/183705/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ekaqzknctznkltb0sfzw.jpg" width="640" style="    line-height: 100%;         "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/183705/rss" title="jack.cab" style=" color: #3366aa;    font-size: 1.05em;"&gt;Installing Every Firefox Extension&lt;/a&gt;&lt;/span&gt; — One person’s entertaining and heroic tale of wielding JavaScript to explore the Firefox extension ecosystem. And what oddities there are within! I enjoyed this a lot, it’s like &lt;em&gt;Alice in Wonderland&lt;/em&gt; for developers. More spelunking like this please.&lt;/p&gt;
  &lt;p&gt;Jack Cab &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/183706/rss" title="blog.jcoglan.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Uses for Nested Promises&lt;/a&gt;&lt;/span&gt; — James revisits 2013's &lt;a href="https://javascriptweekly.com/link/183707/rss" style=" color: #3366aa;   "&gt;Promises/A+&lt;/a&gt; monads &lt;a href="https://javascriptweekly.com/link/183708/rss" style=" color: #3366aa;   "&gt;debate&lt;/a&gt; and has changed his mind, thanks to a real concurrency problem he ran into. Demanding but rewarding.&lt;/p&gt;
  &lt;p&gt;James Coglan &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/183709/rss" title="posetteconf.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;44 Postgres Talks To Choose From All in One Free, Virtual Event&lt;/a&gt;&lt;/span&gt; — Join POSETTE: An Event for Postgres 2026, a free &amp;amp; virtual Postgres developer event, 16–18 Jun. &lt;a href="https://javascriptweekly.com/link/183709/rss" style=" color: #3366aa;   "&gt;Check out the schedule&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Microsoft | AMD &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding-top: 1px; padding-right: 4px;  padding-left: 4px;            "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/183710/rss" title="www.inngest.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;You Can't Cancel a Promise (Except Sometimes You Can)&lt;/a&gt;&lt;/span&gt; — You can’t cancel a promise, but you can halt an async function by making it &lt;code&gt;await&lt;/code&gt; a promise that never resolves. The function silently stops, and GC cleans up after it.&lt;/p&gt;
  &lt;p&gt;Aaron Harper (Inngest) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/183711/rss" title="cekrem.github.io" style=" color: #3366aa;    font-size: 1.05em;"&gt;Parse, Don't Validate (In a Language That Doesn't Want You To)&lt;/a&gt;&lt;/span&gt; — Tired of writing the same defensive &lt;code&gt;if&lt;/code&gt; check in multiple files because you can’t trust that validation already happened? Branded types and discriminated unions can let TypeScript carry that proof for you.&lt;/p&gt;
  &lt;p&gt;Christian Ekrem &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;span&gt;🌐&lt;/span&gt; &lt;a href="https://javascriptweekly.com/link/183712/rss" title="polypane.app" style=" color: #3366aa;    font-size: 1.05em;"&gt;The &lt;code&gt;Intl&lt;/code&gt; API: The Best Browser API You’re Not Using&lt;/a&gt;&lt;/span&gt; — A neat code-heavy primer to what you can do with &lt;code&gt;Intl&lt;/code&gt;.&lt;/p&gt;
  &lt;p&gt;Kilian Valkhof &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/183713/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Making Our Frontend Unit Tests Much Faster with @swc/jest&lt;/a&gt; – From 15 seconds with Jest to 4 seconds with the compatible &lt;a href="https://javascriptweekly.com/link/183714/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;@swc/jest&lt;/a&gt;. &lt;cite&gt;Sebastian Herrmann&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/183715/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Creating Custom Page Transitions in Astro with Barba.js and GSAP&lt;/a&gt;  &lt;cite&gt;Iqbal Muthahhary (Codrops)&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/183716/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;The Uphill Climb of Making Diff Lines Performant on GitHub&lt;/a&gt; &lt;cite&gt;Ghenco and Shwert (GitHub)&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/183717/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Building a JavaScript Runtime with QuickJS&lt;/a&gt;  &lt;cite&gt;Andrew Healey&lt;/cite&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 0;"&gt;&lt;p&gt;🛠 Code &amp;amp; Tools&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://javascriptweekly.com/link/183718/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/afxlfwdqfincfdil92bq.jpg" width="640" style="    line-height: 100%;         "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/183718/rss" title="boneyard.vercel.app" style=" color: #3366aa;    font-size: 1.05em;"&gt;Boneyard: Auto-Generated Skeleton Screens for Your UI&lt;/a&gt;&lt;/span&gt; — Snapshots your real UI and captures a flat list of skeleton ‘bones’ which are positioned, sized rectangles that mirror the page exactly. Supports React, Preact, React Native, Vue, Svelte, and Angular.&lt;/p&gt;
  &lt;p&gt;0xGF &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;span&gt;📈&lt;/span&gt; &lt;a href="https://javascriptweekly.com/link/183719/rss" title="github.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Micro-ML: A Toolkit of Forecasting and Clustering Algorithms&lt;/a&gt;&lt;/span&gt; — A ~56KB WASM-powered library with algorithms for regression and smoothing. Cluster points, classify data, or predict the next value in a series without dragging in TensorFlow.js.&lt;/p&gt;
  &lt;p&gt;Adam Perliński &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/183720/rss" title="wallabyjs.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;AI Writes Code. Wallaby MCP Makes Sure It Actually Works&lt;/a&gt;&lt;/span&gt; — Give your AI agent live execution data, coverage, and real-time insights to generate tests and code with confidence.&lt;/p&gt;
  &lt;p&gt;Wallaby Team &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding-top: 1px; padding-right: 4px;  padding-left: 4px;            "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/183722/rss" title="github.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Ink 7.0: Use React to Build TUIs and Command Line Apps&lt;/a&gt;&lt;/span&gt; — Powering &lt;a href="https://javascriptweekly.com/link/183723/rss" style=" color: #3366aa;   "&gt;many popular terminal apps&lt;/a&gt;, v7.0 now leans on React 19.2, uses &lt;code&gt;useEffectEvent&lt;/code&gt; internally for added efficiency, and brings new hooks and settings.&lt;/p&gt;
  &lt;p&gt;Vadim Demedes &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;span&gt;🔊&lt;/span&gt; &lt;a href="https://javascriptweekly.com/link/183725/rss" title="github.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;web-audio-api: Use the Web Audio API from Node and Bun&lt;/a&gt;&lt;/span&gt; — Full &lt;a href="https://javascriptweekly.com/link/183726/rss" style=" color: #3366aa;   "&gt;Web Audio API&lt;/a&gt; support to either play audio on your machine/server or render it to file (and, yes, &lt;a href="https://javascriptweekly.com/link/183727/rss" style=" color: #3366aa;   "&gt;Tone.js&lt;/a&gt; works too). There are &lt;a href="https://javascriptweekly.com/link/183728/rss" style=" color: #3366aa;   "&gt;many examples&lt;/a&gt; to enjoy.&lt;/p&gt;
  &lt;p&gt;Sébastien Piquemal &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/183729/rss" title="syncpack.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;Syncpack: Consistent Dependency Versions in Large JS Monorepos&lt;/a&gt;&lt;/span&gt; — A CLI tool (used by Electron, Cloudflare, Vercel and others) that finds version mismatches across your entire monorepo, fixes them, and can enforce version policies in CI to avoid future drift.&lt;/p&gt;
  &lt;p&gt;Jamie Mason &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183730/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Mantine 9.0&lt;/a&gt; – The wildly popular React component suite now includes a complete set of calendar scheduling components.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183731/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;wa-sqlite 1.1&lt;/a&gt; – WebAssembly build of SQLite enabling JavaScript-based virtual filesystems and browser storage extensions. (&lt;a href="https://javascriptweekly.com/link/183732/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Demo.&lt;/a&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183733/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;gridstack.js 12.6&lt;/a&gt; – Build responsive drag-and-drop multi-column dashboards.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183734/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Formula.js 4.6&lt;/a&gt; – Excel's formula functions, but for JavaScript.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183735/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Lexical 0.43&lt;/a&gt; – Facebook's extensible text editor framework.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 0px;  padding-left: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
	&lt;p&gt;📰 Classifieds&lt;/p&gt;
  &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;Flaky tests slowing down dev? &lt;a href="https://javascriptweekly.com/link/183736/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Meticulous&lt;/a&gt; gives engineers confidence to ship faster by autonomously testing every edge case of your web app.&lt;/p&gt;
 
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183737/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Manage SAML and OIDC enterprise connections via Clerk's Backend API&lt;/a&gt;. One unified endpoint for both protocols.&lt;/p&gt;
 
&lt;p&gt;⚡&lt;a href="https://javascriptweekly.com/link/183738/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Nimbalyst&lt;/a&gt;: Visual workspace for building with Claude Code &amp;amp; Codex. Integrate and manage sessions, tasks &amp;amp; files. Visually edit markdown, mockups, diagrams, code.&lt;/p&gt;
 
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183739/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Gauntlet AI Night School&lt;/a&gt; | Cursor, Claude Code, or agents — how AI-first engineers choose the right tool for production. (Virtual - 4/15)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 0;"&gt;&lt;p&gt;📢  Elsewhere in the ecosystem&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://javascriptweekly.com/link/183740/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/lr3xjgxnr21effijce2j.jpg" width="640" style="        line-height: 100%;     "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/183740/rss" title="github.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Windows 95 as an Electron App&lt;/a&gt;&lt;/span&gt; — A full Windows 95 experience as an app on macOS, Linux, and Windows, built upon the &lt;a href="https://javascriptweekly.com/link/183741/rss" style=" color: #3366aa;   "&gt;v86&lt;/a&gt; JavaScript + WASM emulator. &lt;a href="https://javascriptweekly.com/link/183742/rss" style=" color: #3366aa;   "&gt;v5.0&lt;/a&gt; is a big release as you can mount a folder from your machine into it as a Z: drive, mount ISOs as CD-ROMs, there’s a shared clipboard, and Internet access has been improved. I’m &lt;em&gt;so&lt;/em&gt; trying to get &lt;em&gt;Microsoft Encarta&lt;/em&gt;’s &lt;a href="https://javascriptweekly.com/link/183743/rss" style=" color: #3366aa;   "&gt;Mindmaze&lt;/a&gt; running on this…&lt;/p&gt;
  &lt;p&gt;Felix Rieseberg &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;🎨 Sticking to the retro theme, a new release of &lt;a href="https://javascriptweekly.com/link/183744/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;JSPaint&lt;/a&gt; has landed too, so you can relive the joy of using &lt;em&gt;MS Paint&lt;/em&gt;. &lt;a href="https://javascriptweekly.com/link/183745/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Try it here.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It's ten years since Domenic Denicola &lt;a href="https://javascriptweekly.com/link/183746/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;posted about adding JavaScript modules to the web platform&lt;/a&gt; – how far we've come since!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;GitHub has &lt;a href="https://javascriptweekly.com/link/183747/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;a private preview of 'stacked PRs'&lt;/a&gt;, a feature to break large changes into smaller, dependent parts.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;TanStack Router, Start, and Query have gained &lt;a href="https://javascriptweekly.com/link/183748/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;beta support for Solid 2.0.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🎤 &lt;a href="https://javascriptweekly.com/link/183749/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;A 50-minute chat&lt;/a&gt; (with transcript) from two of the developers behind the &lt;a href="https://javascriptweekly.com/link/183750/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;npmx project&lt;/a&gt; — an increasingly popular way to browse the npm registry.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183751/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;JSON Alexander&lt;/a&gt; is a new JSON viewer extension for Chrome and Firefox from Wes Bos, complete with a snazzy George Costanza logo.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;




&lt;img src="https://javascriptweekly.com/open/781/rss" width="1" height="1" /&gt;</description>
      <pubDate>Tue, 14 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://javascriptweekly.com/issues/781</guid>
    </item>
  </channel>
</rss>
