<?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>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>
    <item>
      <title>What to know about JavaScript in 2026</title>
      <link>https://javascriptweekly.com/issues/780</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;#​780 — April 7, 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/183301/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/183303/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/clia2za7y4fbmgwelaod.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/183303/rss" title="discourse.llvm.org" style=" color: #3366aa;    font-size: 1.1em; line-height: 1.4em;"&gt;JSIR: A High-Level IR for JavaScript from Google&lt;/a&gt;&lt;/span&gt; — Google has open sourced a new tool (&lt;a href="https://javascriptweekly.com/link/183304/rss" style=" color: #3366aa;   "&gt;JSIR&lt;/a&gt;) and proposed an industry-standard IR (&lt;a href="https://javascriptweekly.com/link/183305/rss" style=" color: #3366aa;   "&gt;Intermediate Representation&lt;/a&gt; – if an AST tells you what the code &lt;em&gt;looks like&lt;/em&gt;, an IR tells you what it &lt;em&gt;does&lt;/em&gt;) for JavaScript. Already used at Google for analysis and code transformation, the underlying idea could form a foundation for a new generation of tooling.&lt;/p&gt;
  &lt;p&gt;Zhixun Tan (Google) &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;💡 Most devs won't feel the impact for a while, but this is the kind of groundwork that can lead to better linters, smarter bundlers, better refactoring tools, and so forth.&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/183302/rss" style=" color: #3366aa;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/8534bab8.jpg" 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/183302/rss" title="www.addevent.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Free Workshop: Claude Code Deep Dive — April 21&lt;/a&gt;&lt;/span&gt; — Lydia Hallie from Anthropic teaches a full-day Claude Code workshop at Frontend Masters on April 21. Free to attend. No subscription required.&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-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/183306/rss" title="frontendmasters.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;What to Know in JavaScript (2026 Edition)&lt;/a&gt;&lt;/span&gt; — An up-to-date overview of the JS landscape, including the latest ECMAScript additions, frameworks to keep tabs on, runtimes, build tools, and more. A good way to catch up.&lt;/p&gt;
  &lt;p&gt;Chris Coyier &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;🔓 The Axios team has published &lt;a href="https://javascriptweekly.com/link/183363/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;a postmortem of last week's npm supply chain compromise&lt;/a&gt;. There's also a look into &lt;a href="https://javascriptweekly.com/link/183364/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;how the social engineering part worked.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;📊 WebKit, Google and Mozilla have &lt;a href="https://javascriptweekly.com/link/183361/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;unveiled &lt;em&gt;JetStream 3&lt;/em&gt;&lt;/a&gt;, the latest version of a suite of popular browser-oriented JS and WASM performance benchmarks.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183309/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Cloudflare has released &lt;em&gt;EmDash&lt;/em&gt;&lt;/a&gt;, a JavaScript-flavored &lt;em&gt;'spiritual successor to WordPress'&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183310/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;The Svelte team has published its latest monthly roundup.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&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/183311/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;ESLint v10.2.0&lt;/a&gt; – Adds support for language-aware rules through a new &lt;code&gt;meta.languages&lt;/code&gt; property. &lt;code&gt;Temporal&lt;/code&gt; is now also supported.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183312/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Node.js 25.9.0 (Current)&lt;/a&gt; – Adds &lt;code&gt;--max-heap-size&lt;/code&gt; to set a max heap size for a process, and includes &lt;a href="https://javascriptweekly.com/link/183313/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;&lt;code&gt;stream/iter&lt;/code&gt;&lt;/a&gt;, a new experimental iterable streams API.&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/183315/rss" title="daniakash.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Minimum Release Age is an Underrated Supply Chain Defense&lt;/a&gt;&lt;/span&gt; — An increasingly common package manager feature is being able to specify a minimum ‘package age’. The idea is that if you wait, then maintainers, security tools, etc. will tackle the most nefarious supply chain attacks. It’s no silver bullet, but may suit your use case, and here’s how to set it up.&lt;/p&gt;
  &lt;p&gt;Dani Akash &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/183316/rss" title="www.youtube.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;TanStack Start: A Client-First Web Framework&lt;/a&gt;&lt;/span&gt; — A 30-minute talk from TanStack’s founder showcasing &lt;a href="https://javascriptweekly.com/link/183317/rss" style=" color: #3366aa;   "&gt;TanStack Start&lt;/a&gt;’s value proposition for both React and Solid developers looking for a complete SSR framework.&lt;/p&gt;
  &lt;p&gt;Tanner Linsley &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/183318/rss" title="www.tigerdata.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;One Extension Replaces Your Entire Analytics Pipeline&lt;/a&gt;&lt;/span&gt; — TimescaleDB adds hypertables, 95% compression, and continuous aggregates to Postgres. Analytics on live data. Try for free.&lt;/p&gt;
  &lt;p&gt;Tiger Data (creators of TimescaleDB) &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/183319/rss" title="openjsf.org" style=" color: #3366aa;    font-size: 1.05em;"&gt;Burnout is Real for Open Source Maintainers&lt;/a&gt;&lt;/span&gt; — A 40-minute audio interview (along with a nice write up) with John-David Dalton, the creator of &lt;a href="https://javascriptweekly.com/link/183320/rss" style=" color: #3366aa;   "&gt;Lodash&lt;/a&gt;, one of JavaScript's most popular projects.&lt;/p&gt;
  &lt;p&gt;The OpenJS Foundation &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/183321/rss" title="blog.gitbutler.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;The Great CSS Expansion&lt;/a&gt;&lt;/span&gt; — A thorough review of Web-based tasks that were once JavaScript’s natural domain (e.g. tooltips, dialogs, scroll animations) but for which modern CSS now excels.&lt;/p&gt;
  &lt;p&gt;Pavel Laptev &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/183322/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Building a Dual-Scene Fluid 'X-Ray Reveal' Effect in Three.js&lt;/a&gt;  &lt;cite&gt;Cullen Webber&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/183323/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Quick Tip: &lt;code&gt;Intl&lt;/code&gt; Can Localize Units, Too&lt;/a&gt;  &lt;cite&gt;Stefan Judis&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/183324/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Things Learned Migrating to Solid 2.0&lt;/a&gt;  &lt;cite&gt;Brenley Dueck&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/183325/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/qbelblco3qxogy63pwvv.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/183325/rss" title="fusejs.io" style=" color: #3366aa;    font-size: 1.05em;"&gt;Fuse.js 7.3: Lightweight Fuzzy-Search&lt;/a&gt;&lt;/span&gt; — Want a search feature tolerant to ambiguous input &lt;em&gt;without&lt;/em&gt; a dedicated backend? &lt;a href="https://javascriptweekly.com/link/183326/rss" style=" color: #3366aa;   "&gt;v7.3&lt;/a&gt; adds per-term fuzzy matching and a static method for single string matching, while &lt;a href="https://javascriptweekly.com/link/183327/rss" style=" color: #3366aa;   "&gt;v7.4 beta&lt;/a&gt; adds &lt;a href="https://javascriptweekly.com/link/183328/rss" style=" color: #3366aa;   "&gt;worker-based distributed search&lt;/a&gt; for tackling huge datasets. &lt;a href="https://javascriptweekly.com/link/183329/rss" style=" color: #3366aa;   "&gt;A demo&lt;/a&gt; shows off the basics.&lt;/p&gt;
  &lt;p&gt;Kiro Risk &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/183330/rss" title="fandf.co" style=" color: #3366aa;    font-size: 1.05em;"&gt;Your CI doesn't have to be this slow&lt;/a&gt;&lt;/span&gt; — Depot CI: 2-3s job starts, parallel steps, SSH debugging. Run &lt;code&gt;depot ci migrate&lt;/code&gt; to move your GitHub Actions in minutes.&lt;/p&gt;
  &lt;p&gt;Depot &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/183331/rss" title="blogs.windows.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Announcing Babylon.js 9.0&lt;/a&gt;&lt;/span&gt; — &lt;a href="https://javascriptweekly.com/link/183332/rss" style=" color: #3366aa;   "&gt;Microsoft's popular rendering engine&lt;/a&gt; for building interactive, 3D web experiences now has a node-based particle editor, &lt;a href="https://javascriptweekly.com/link/183333/rss" style=" color: #3366aa;   "&gt;volumetric lighting&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/183334/rss" style=" color: #3366aa;   "&gt;advanced Gaussian splatting&lt;/a&gt;, and more.&lt;/p&gt;
  &lt;p&gt;Carter &amp;amp; Lucchini (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;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/183335/rss" title="marked.js.org" style=" color: #3366aa;    font-size: 1.05em;"&gt;Marked.js 18.0: A Fast Markdown Parser and Compiler&lt;/a&gt;&lt;/span&gt; — A low-level Markdown compiler built for speed. &lt;a href="https://javascriptweekly.com/link/183336/rss" style=" color: #3366aa;   "&gt;The demo&lt;/a&gt; shows off the basics. v18 is largely a bug fix release that also bumps it up to TypeScript 6. &lt;a href="https://javascriptweekly.com/link/183337/rss" style=" color: #3366aa;   "&gt;GitHub repo.&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Christopher Jeffrey &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/183338/rss" title="tinybase.org" style=" color: #3366aa;    font-size: 1.05em;"&gt;TinyBase v8.1: A Reactive Data Store for Local-First Apps&lt;/a&gt;&lt;/span&gt; — A reactive data store and sync engine that can be used as the entire backend for many types of app, &lt;strong&gt;now with native Svelte 5 support.&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;James Pearce &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/183339/rss" title="github.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;xdk-typescript: The Official 'XDK' for the X API&lt;/a&gt;&lt;/span&gt; — The social media platform’s new official SDK for its API (good luck).&lt;/p&gt;
  &lt;p&gt;X Dev Platform &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/183314/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;npm-check-updates v20.0.0&lt;/a&gt; – Upgrade &lt;code&gt;package.json&lt;/code&gt; dependencies to latest versions while preserving semantic versioning policies. Now supporting cooldowns.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183340/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Neutralinojs 6.7&lt;/a&gt; – The cross-platform desktop app framework adds an API for input device simulation and handling.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🖼️ &lt;a href="https://javascriptweekly.com/link/183341/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;SVGInject 2.0&lt;/a&gt; – Inlines SVG files into the DOM at runtime (no build step) so you can style them with CSS.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183342/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;vue-clamp 1.0&lt;/a&gt; – Primitives for clamping multiline text, inline strings, and wrapped items in Vue 3. (&lt;a href="https://javascriptweekly.com/link/183343/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/183344/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;vue-virtual-scroller 2.0&lt;/a&gt; – Fast virtual-scrolling for lists in Vue 3.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183345/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Verdaccio 6.4&lt;/a&gt; – Run your own local private npm registry.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183346/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;React Native Skia 2.6&lt;/a&gt; – Fast 2D graphics library for RN.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183347/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;SunEditor 3.0&lt;/a&gt; – Extensible, vanilla JS WYSIWYG editor.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183348/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;hucre 0.3&lt;/a&gt; – Zero-dependency spreadsheet engine.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183349/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;bwip-js 4.9&lt;/a&gt; – Pure JavaScript barcode writer.&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;Most engineers can't prove they're AI-first in an interview. &lt;a href="https://javascriptweekly.com/link/183350/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Gauntlet's&lt;/a&gt; CTO breaks down exactly what separates those who can.&lt;/p&gt;
 
&lt;p&gt;Flaky tests slowing down dev? &lt;a href="https://javascriptweekly.com/link/183351/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;Every app needs a bit of spreadsheet in it. &lt;a href="https://javascriptweekly.com/link/183352/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Handsontable&lt;/a&gt; delivers Excel-like experiences fast, without the risk and complexity.&lt;/p&gt;
 
&lt;p&gt;Access Google Search, Maps, Shopping, and more real-time data with a simple API by &lt;a href="https://javascriptweekly.com/link/183353/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;SerpApi.&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/183354/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/l6ibojqnoesy4fogc1ju.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;In &lt;a href="https://javascriptweekly.com/link/183354/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;CSS is DOOMed&lt;/a&gt;, Niels Leenheer shows off how he implemented a version of 1993's &lt;em&gt;Doom&lt;/em&gt; using purely CSS rendering (with the game logic in JavaScript). &lt;a href="https://javascriptweekly.com/link/183355/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Play it for yourself&lt;/a&gt; or &lt;a href="https://javascriptweekly.com/link/183356/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;check out the code.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/183357/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;QuickBEAM&lt;/a&gt; is a JavaScript runtime for Erlang's BEAM VM, as also used by &lt;a href="https://javascriptweekly.com/link/183358/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;Elixir.&lt;/a&gt; It offers compatibility with core Node.js APIs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In &lt;a href="https://javascriptweekly.com/link/183359/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;CSS or BS?&lt;/a&gt; find out how good you are at telling real-life CSS properties from made up ones.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;✉️ Spencer Mortensen &lt;a href="https://javascriptweekly.com/link/183360/rss" style=" color: #3366aa; font-weight: 500 !important;   "&gt;put twenty-five email address obfuscation techniques to the test&lt;/a&gt; to see which &lt;em&gt;actually&lt;/em&gt; work in 2026.&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/780/rss" width="1" height="1" /&gt;</description>
      <pubDate>Tue, 7 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://javascriptweekly.com/issues/780</guid>
    </item>
  </channel>
</rss>
