<?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>The coding challenge you don't want to pass</title>
      <link>https://javascriptweekly.com/issues/795</link>
      <description>

  

    
    
  




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

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

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/188177/rss" title="framework-benchmarks.as93.net" style=" color: #3366aa;    font-size: 1.1em; line-height: 1.4em;"&gt;Framework Benchmarks: Compare Frontend Frameworks&lt;/a&gt;&lt;/span&gt; — An experienced developer built and benchmarked the same app across numerous frameworks (e.g. Angular, Solid, React, Alpine.js…). Here are the results, covering bundle size, build time, UX metrics, and more.&lt;/p&gt;
  &lt;p&gt;Alicia Sykes &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;💡 Alicia also created &lt;a href="https://javascriptweekly.com/link/188178/rss" style=" color: #3366aa; font-weight: 500;"&gt;Stack Match&lt;/a&gt;, a page that lets you specify your criteria for a framework and shows the best matches. Vue usually wins though!&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  &lt;a href="https://javascriptweekly.com/link/188176/rss" style=" color: #3366aa;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/5f351a17.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/188176/rss" title="xyops.io" style=" color: #3366aa;    font-size: 1.05em;"&gt;xyOps: Open Source Ops Automation, from the Cronicle Team&lt;/a&gt;&lt;/span&gt; — Run jobs across your fleet, build visual runbooks, monitor live metrics, and trigger alerts, tickets, snapshots, or follow-up actions. Self-hosted, BSD licensed, and all app features are included. Auto-import from Cronicle.&lt;/p&gt;
  &lt;p&gt;xyOps &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/188179/rss" title="nuxt.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Nuxt 4.5 Released: The Full-Stack Vue Framework&lt;/a&gt;&lt;/span&gt; — Daniel Roe calls it the biggest release in a while: Vite 8, Rspack 2, experimental SSR streaming, a new &lt;code&gt;useLayout&lt;/code&gt; composable, and a lot of preparation for Nuxt 5. Nuxt 3 users take note: it goes end of life July 31.&lt;/p&gt;
  &lt;p&gt;Nuxt Team &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/188180/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Vue 3.6 is now in Release Candidate stage&lt;/a&gt; – Vapor Mode, first teased over two years ago, is now feature complete and ready to go.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/188181/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Angular is switching to a yearly release cadence&lt;/a&gt;, with v23 scheduled for June 2027, a year after &lt;a href="https://javascriptweekly.com/link/188182/rss" style=" color: #3366aa; font-weight: 500;   "&gt;v22 dropped&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ESLint now offers &lt;a href="https://javascriptweekly.com/link/188183/rss" style=" color: #3366aa; font-weight: 500;   "&gt;official 'codemods' for automating ESLint version migrations&lt;/a&gt;, with v8→v9 and v9→v10 available.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🇫🇷 &lt;a href="https://javascriptweekly.com/link/188184/rss" style=" color: #3366aa; font-weight: 500;   "&gt;An official Three.js conference&lt;/a&gt; is coming to Paris, France, this September 10-11. &lt;a href="https://javascriptweekly.com/link/188185/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Three.js&lt;/a&gt; developer &lt;a href="https://javascriptweekly.com/link/188186/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Mr.doob&lt;/a&gt; will, of course, be there.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;RELEASES:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/188187/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Preact 11.0 Beta 2&lt;/a&gt; – &lt;em&gt;"One of the last betas for Preact 11,"&lt;/em&gt; says maintainer Jovi De Croock. There's already &lt;a href="https://javascriptweekly.com/link/188188/rss" style=" color: #3366aa; font-weight: 500;   "&gt;a migration guide&lt;/a&gt; ready to use.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/188189/rss" style=" color: #3366aa; font-weight: 500;   "&gt;WebStorm 2026.2&lt;/a&gt; – JetBrains' JavaScript IDE adds TypeScript 7 support, and enhances support for Svelte and Vue.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/188190/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Astro 7.1&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/188191/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Rslint 0.7&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/188192/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Rolldown 1.2&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/188193/rss" style=" color: #3366aa; font-weight: 500;   "&gt;&lt;code&gt;actions/setup-node@v7&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;📖  Articles and Videos&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/188194/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/y1sie2zdhnhjtqtnvwcy.jpg" width="640" style="    line-height: 100%;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/188194/rss" title="www.elastic.co" style=" color: #3366aa;    font-size: 1.05em;"&gt;How a Fake Interview's Coding Challenge Steals Credentials&lt;/a&gt;&lt;/span&gt; — A dissection of a North Korean campaign that hides malware inside SVG images in a fake job interview's JavaScript 'coding challenge'. The targeting of job-seeking devs is on the increase, as Roman Imankulov &lt;a href="https://javascriptweekly.com/link/188195/rss" style=" color: #3366aa;   "&gt;recently discovered first-hand&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Daniel Stepanic (Elastic) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/188196/rss" title="www.miris.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Creating Your First Streamed 3D Asset in Under 10 Minutes&lt;/a&gt;&lt;/span&gt; — Generate a streamable 3D asset, preview it in-browser, and share it. No code, no viewer downloads.&lt;/p&gt;
  &lt;p&gt;Miris &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/188197/rss" title="tech.olx.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Handling Concurrency on the Web with Web Locks API&lt;/a&gt;&lt;/span&gt; — The &lt;a href="https://javascriptweekly.com/link/188198/rss" style=" color: #3366aa;   "&gt;Web Locks API&lt;/a&gt; is a widely available browser API to allow tabs or workers with the same origin to hold and release locks.&lt;/p&gt;
  &lt;p&gt;Cesar Contreras &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/188199/rss" title="www.arshad.fyi" style=" color: #3366aa;    font-size: 1.05em;"&gt;Engineering High-Performance Parsers with Data-Oriented Design&lt;/a&gt;&lt;/span&gt; — A look into how data-oriented design helped build &lt;a href="https://javascriptweekly.com/link/188200/rss" style=" color: #3366aa;   "&gt;Yuku&lt;/a&gt;, a JavaScript parser that's &lt;a href="https://javascriptweekly.com/link/188201/rss" style=" color: #3366aa;   "&gt;faster&lt;/a&gt; than alternatives like Oxc, SWC or Babel (you can &lt;a href="https://javascriptweekly.com/link/188202/rss" style=" color: #3366aa;   "&gt;give it a spin here&lt;/a&gt;).&lt;/p&gt;
  &lt;p&gt;Arshad Yaseen &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;💡 The article is largely about building a parser in Zig but the underlying &lt;a href="https://javascriptweekly.com/link/188200/rss" style=" color: #3366aa; font-weight: 500;"&gt;Yuku&lt;/a&gt; and &lt;a href="https://javascriptweekly.com/link/188203/rss" style=" color: #3366aa; font-weight: 500;"&gt;Yuku Analyzer&lt;/a&gt; projects are worth checking out.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/188204/rss" style=" color: #3366aa; font-weight: 500;   "&gt;HTML in Canvas: Rendering Real DOM Inside &amp;lt;canvas&amp;gt;&lt;/a&gt;  &lt;cite&gt;Agustin Barrientos&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📺 &lt;a href="https://javascriptweekly.com/link/188205/rss" style=" color: #3366aa; font-weight: 500;   "&gt;The Framework Wars are Over: Why No One Dethroned React&lt;/a&gt; – Kent's take in 11 minutes. &lt;cite&gt;Kent C. Dodds&lt;/cite&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;🛠 Code &amp;amp; Tools&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/188206/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/hd77f7jirzohktslvrxp.jpg" width="640" style="        line-height: 100%;  "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/188206/rss" title="microsoft.github.io" style=" color: #3366aa;    font-size: 1.05em;"&gt;Flint: Chart Specs that Compile to Vega-Lite, ECharts, or Chart.js&lt;/a&gt;&lt;/span&gt; — A Microsoft project that compiles a simple, declarative JSON-based spec of a data visualization into a form that Vega-Lite, ECharts or Chart.js can render. It's pitched at agentic use, but is a simple intermediate format humans could benefit from too.&lt;/p&gt;
  &lt;p&gt;Microsoft Research &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/188207/rss" title="www.tigerdata.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Query Live Data. Skip the Analytics Pipeline&lt;/a&gt;&lt;/span&gt; — TimescaleDB extends Postgres for real-time analytics at scale. No second system, no pipeline. &lt;a href="https://javascriptweekly.com/link/188207/rss" style=" color: #3366aa;   "&gt;Get $1000 credit to start&lt;/a&gt;.&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: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/188208/rss" title="github.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;unwasm: Import .wasm Files Like Any Other ES Module&lt;/a&gt;&lt;/span&gt; — Build-time tooling for when WASM is part of a bundled app and you want it to feel more like a normal module (e.g. &lt;code&gt;import { sum } from "sum.wasm"&lt;/code&gt;).&lt;/p&gt;
  &lt;p&gt;unjs &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/188209/rss" title="botkit.fedify.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;BotKit: Build Standalone ActivityPub Bots&lt;/a&gt;&lt;/span&gt; — A way to run a bot (or multiple bots) that Mastodon users can see and follow but without needing an account anywhere. Write it all in JavaScript and self-host with Deno, Node.js or even Cloudflare Workers.&lt;/p&gt;
  &lt;p&gt;Fedify &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;span&gt;🎨&lt;/span&gt; &lt;a href="https://javascriptweekly.com/link/188210/rss" title="colorjs.io" style=" color: #3366aa;    font-size: 1.05em;"&gt;Color.js 0.7: 'Let’s Get Serious About Color'&lt;/a&gt;&lt;/span&gt; — A fantastic library for working with colors, following the latest specs. &lt;a href="https://javascriptweekly.com/link/188211/rss" style=" color: #3366aa;   "&gt;v0.7&lt;/a&gt; is a big update with support for new color spaces, a new gamut mapping method, and a smarter &lt;code&gt;display()&lt;/code&gt; fallback for colors not natively supported by a browser.&lt;/p&gt;
  &lt;p&gt;Lea Verou and Chris Lilley &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/188212/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Travels 2.1&lt;/a&gt; – Efficient framework-agnostic undo/redo library based on JSON patches rather than snapshots.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/188213/rss" style=" color: #3366aa; font-weight: 500;   "&gt;gridstack.js 13.0&lt;/a&gt; – Mature library for creating responsive dashboard layouts with drag-and-drop support.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/188214/rss" style=" color: #3366aa; font-weight: 500;   "&gt;np 12.0&lt;/a&gt; – Sindre Sorhus's "better &lt;code&gt;npm publish&lt;/code&gt;" adds support for npm 12 and staged publishing.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/188215/rss" style=" color: #3366aa; font-weight: 500;   "&gt;AngularEditor 3.1&lt;/a&gt; – Simple WYSIWYG rich text editor for Angular 22+. (&lt;a href="https://javascriptweekly.com/link/188216/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Demo&lt;/a&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/188217/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Pinia 4.0&lt;/a&gt; – Vue's state-management library gets leaner and goes ESM-only.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/188218/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Bolt 5.0&lt;/a&gt; – Slack's official framework for building Slack apps.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
	&lt;p&gt;📰 Classifieds&lt;/p&gt;
  &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;🤖 If you can code, you can build a robot. Viam 101 is a free 90-min course — no hardware needed. &lt;a href="https://javascriptweekly.com/link/188221/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Sign up by July 31 to win a $3,500 arm&lt;/a&gt;.&lt;/p&gt;
 
&lt;p&gt;Flaky tests slowing down dev? &lt;a href="https://javascriptweekly.com/link/188219/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Meticulous&lt;/a&gt; gives engineers confidence to ship faster by autonomously testing every edge case of your web app.&lt;/p&gt;
 
&lt;p&gt;Drowning in AI dev tools? You really only need these 3 tools to ship mobile apps: skills, MCP, and your workflow. &lt;a href="https://javascriptweekly.com/link/188220/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Read the guide&lt;/a&gt;.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;📢  Elsewhere in the ecosystem&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/188222/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/p3bbkhfkz0skzmdw1wmj.jpg" width="640" style="    line-height: 100%;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Famously, the only thing Java gave JavaScript was the first four letters of its name. That goes unmentioned in &lt;a href="https://javascriptweekly.com/link/188222/rss" style=" color: #3366aa; font-weight: 500;   "&gt;▶️ this new documentary about Java&lt;/a&gt; (74 minutes), but I enjoyed learning Java's story anyway. It's from the same folks as the fantastic &lt;a href="https://javascriptweekly.com/link/188223/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Vite&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/188224/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Angular&lt;/a&gt;, and &lt;a href="https://javascriptweekly.com/link/188225/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Node.js&lt;/a&gt; documentaries.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🤖 &lt;a href="https://javascriptweekly.com/link/188226/rss" style=" color: #3366aa; font-weight: 500;   "&gt;ReactBench&lt;/a&gt; is a new coding agent evaluation based around models' abilities to build working, realistic React apps. GPT 5.6 leads the way for now.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/188227/rss" style=" color: #3366aa; font-weight: 500;   "&gt;shadcn/typeset&lt;/a&gt; is a typography system for rendered HTML that makes font styling and spacing simpler to configure.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Cloudflare has entirely rebuilt &lt;a href="https://javascriptweekly.com/link/188228/rss" style=" color: #3366aa; font-weight: 500;   "&gt;its blog&lt;/a&gt; on top of &lt;a href="https://javascriptweekly.com/link/188229/rss" style=" color: #3366aa; font-weight: 500;   "&gt;EmDash&lt;/a&gt;, the &lt;a href="https://javascriptweekly.com/link/188230/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Astro&lt;/a&gt;-powered 'spiritual successor to WordPress' it unveiled (genuinely) on April 1.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🕹️ If you want to take part in &lt;a href="https://javascriptweekly.com/link/188231/rss" style=" color: #3366aa; font-weight: 500;   "&gt;the next js13kGames&lt;/a&gt; game dev competition, the theme will be announced on August 13 with submissions due September 13.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;✨ An updated list of the &lt;a href="https://javascriptweekly.com/link/188232/rss" style=" color: #3366aa; font-weight: 500;   "&gt;top 100 starred JavaScript projects&lt;/a&gt; on GitHub.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;




&lt;img src="https://javascriptweekly.com/open/795/rss" width="1" height="1" /&gt;</description>
      <pubDate>Tue, 21 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://javascriptweekly.com/issues/795</guid>
    </item>
    <item>
      <title>npm 12, TypeScript 7, and Bun in Rust</title>
      <link>https://javascriptweekly.com/issues/794</link>
      <description>

  

    
    
  




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

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

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;span&gt;📈&lt;/span&gt; &lt;a href="https://javascriptweekly.com/link/187844/rss" title="tanstack.com" style=" color: #3366aa;    font-size: 1.1em; line-height: 1.4em;"&gt;TanStack's npm Package Download Charts&lt;/a&gt;&lt;/span&gt; — A quick way to chart package popularity over time, look for trends, and see what libraries and tools have soared or fallen. The default view compares TanStack's packages against several common packages, but you can enter any packages you wish, or see pre-defined sets like build tools, component libraries, or UI frameworks.&lt;/p&gt;
  &lt;p&gt;TanStack &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  &lt;a href="https://javascriptweekly.com/link/187843/rss" style=" color: #3366aa;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/81f2de52.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/187843/rss" title="coderabbit.link" style=" color: #3366aa;    font-size: 1.05em;"&gt;Your AI Writes the Code. CodeRabbit Reviews It&lt;/a&gt;&lt;/span&gt; — AI can write the code, but you still own what ships. CodeRabbit is the AI-native review layer that catches the bugs and edge cases humans skim past, so what merges matches what you intended. &lt;a href="https://javascriptweekly.com/link/187843/rss" style=" color: #3366aa;   "&gt;Free to try, 2-click install&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;CodeRabbit &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187845/rss" title="bun.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Rewriting Bun in Rust&lt;/a&gt;&lt;/span&gt; — Bun's creator shares the full story of porting the JavaScript runtime from Zig to Rust, with the assistance of many Claude Code instances churning through ~$165k in usage (at API prices). The Rust version forms the basis of Bun 1.4, expected any day now.&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-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187846/rss" title="github.blog" style=" color: #3366aa;    font-size: 1.05em;"&gt;npm v12 Released: Install Scripts are Off by Default&lt;/a&gt;&lt;/span&gt; — npm 12 is now GA with &lt;a href="https://javascriptweekly.com/link/187847/rss" style=" color: #3366aa;   "&gt;many breaking changes&lt;/a&gt;. The big change is lifecycle scripts no longer run by default, but here are &lt;a href="https://javascriptweekly.com/link/187848/rss" style=" color: #3366aa;   "&gt;more practical implications to consider&lt;/a&gt;. It may also be worth upgrading &lt;a href="https://javascriptweekly.com/link/187849/rss" style=" color: #3366aa;   "&gt;via 11.18.0&lt;/a&gt; first.&lt;/p&gt;
  &lt;p&gt;GitHub &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;TC39's 115th meeting takes place next week. &lt;a href="https://javascriptweekly.com/link/187850/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Here's the agenda&lt;/a&gt;, including &lt;a href="https://javascriptweekly.com/link/187851/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Await Dictionary&lt;/a&gt; aiming for Stage 3, plus &lt;a href="https://javascriptweekly.com/link/187852/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Decimal&lt;/a&gt;, Import Defer and &lt;a href="https://javascriptweekly.com/link/187853/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Map.take&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187854/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Next.js now has a formal security release program&lt;/a&gt; with monthly announcements and scheduled releases. The first is expected on July 20.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;⚠️ The &lt;code&gt;jscrambler&lt;/code&gt; npm package &lt;a href="https://javascriptweekly.com/link/187855/rss" style=" color: #3366aa; font-weight: 500;   "&gt;suffered a supply chain attack at the weekend&lt;/a&gt; which Socket detected within six minutes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;a href="https://javascriptweekly.com/link/187856/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Porffor&lt;/a&gt; ahead-of-time JavaScript compiler &lt;a href="https://javascriptweekly.com/link/187857/rss" style=" color: #3366aa; font-weight: 500;   "&gt;is now self-hosting&lt;/a&gt; (can compile itself with itself).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187858/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Vercel has acquired&lt;/a&gt; the team behind &lt;a href="https://javascriptweekly.com/link/187859/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Better Auth&lt;/a&gt;, the popular auth library.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;RELEASES:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;⭐ &lt;a href="https://javascriptweekly.com/link/187860/rss" style=" color: #3366aa; font-weight: 500;   "&gt;TypeScript 7.0&lt;/a&gt; – The final release of the "10x faster" Go-powered version of the TypeScript compiler is here. A (temporary) lack of a full API means many users are recommended to &lt;a href="https://javascriptweekly.com/link/187861/rss" style=" color: #3366aa; font-weight: 500;   "&gt;stay on 6.0&lt;/a&gt; for now, though.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187862/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Node.js 26.5.0 (Current)&lt;/a&gt; – Adds support for &lt;a href="https://javascriptweekly.com/link/187863/rss" style=" color: #3366aa; font-weight: 500;   "&gt;importing text files in ES modules&lt;/a&gt; via import attributes, plus &lt;code&gt;blob.textStream()&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187864/rss" style=" color: #3366aa; font-weight: 500;   "&gt;ESLint 10.7&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/187865/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Storybook 10.5&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/187866/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Vite DevTools 0.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-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;📖  Articles and Videos&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187867/rss" title="piccalil.li" style=" color: #3366aa;    font-size: 1.05em;"&gt;&lt;code&gt;Proxy&lt;/code&gt; and &lt;code&gt;Reflect&lt;/code&gt;: Redefining How Objects Fundamentally Work&lt;/a&gt;&lt;/span&gt; — A deep dive into intercepting the internal operations of JavaScript objects, covering why &lt;code&gt;Reflect&lt;/code&gt; exists at all, and ending with a small reactive state system (essentially &lt;a href="https://javascriptweekly.com/link/187868/rss" style=" color: #3366aa;   "&gt;how Vue 3's reactivity works&lt;/a&gt;).&lt;/p&gt;
  &lt;p&gt;Mat Marquis &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187869/rss" title="lea.verou.me" style=" color: #3366aa;    font-size: 1.05em;"&gt;In Defense of Polyfills&lt;/a&gt;&lt;/span&gt; — Prolific standards editor Anne van Kesteren said polyfilling is harmful. Lea disagrees, arguing &lt;em&gt;"ponyfills are just userland libraries with better marketing"&lt;/em&gt; and a web without polyfills would be a stagnant one.&lt;/p&gt;
  &lt;p&gt;Lea Verou &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187870/rss" title="sentry.io" style=" color: #3366aa;    font-size: 1.05em;"&gt;Sentry + GitHub: Bugs Diagnosed and Fixed, Live&lt;/a&gt;&lt;/span&gt; — Sentry catches it, Seer diagnoses it, Copilot writes the fix. Watch Sentry and GitHub break a script live July 15th.&lt;/p&gt;
  &lt;p&gt;Sentry &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187871/rss" title="marijnhaverbeke.nl" style=" color: #3366aa;    font-size: 1.05em;"&gt;Collaborative Editing in Wordgard&lt;/a&gt;&lt;/span&gt; — Marijn recently released his new &lt;a href="https://javascriptweekly.com/link/187872/rss" style=" color: #3366aa;   "&gt;Wordgard&lt;/a&gt; rich text editor (and ProseMirror successor). Here's his third take on collaborative editing in eleven years, still based on operational transformation (OT) rather than CRDTs.&lt;/p&gt;
  &lt;p&gt;Marijn Haverbeke &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;💡 We missed &lt;a href="https://javascriptweekly.com/link/187873/rss" style=" color: #3366aa; font-weight: 500;"&gt;Marijn's Wordgard release post&lt;/a&gt; in last week's Wordgard feature. He explains why and how he built it (no LLMs!) and why he's &lt;em&gt;not&lt;/em&gt; taking pull requests.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187874/rss" title="performance.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;Reverse Engineering ChatGPT's Web Stack&lt;/a&gt;&lt;/span&gt; — The author spent days breaking down ChatGPT's page source, bundles, and requests. React Router 7, TanStack Query, Radix, and ProseMirror all make an appearance.&lt;/p&gt;
  &lt;p&gt;Dennis Brotzky &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/187875/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Playwright on GitHub Actions: A Setup That Actually Runs Fast&lt;/a&gt;  &lt;cite&gt;Jakob Norlin&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/187876/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Building Persistent Page Transitions with WebGPU and Vanilla JS&lt;/a&gt;  &lt;cite&gt;Ben Paine&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/187877/rss" style=" color: #3366aa; font-weight: 500;   "&gt;SolidJS 2.0: A React Developer's First Look at Signals and Async&lt;/a&gt;  &lt;cite&gt;Dennis Morello&lt;/cite&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;🛠 Code &amp;amp; Tools&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/187878/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/solv9pgf1thozoexx7xt.jpg" width="640" style="    line-height: 100%;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187878/rss" title="developers.googleblog.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;LiteRT.js: High Performance Web AI Inference from Google&lt;/a&gt;&lt;/span&gt; — A JavaScript binding of &lt;a href="https://javascriptweekly.com/link/187879/rss" style=" color: #3366aa;   "&gt;LiteRT&lt;/a&gt; for running AI directly inside the web browser, boasting more performance than the TensorFlow.js approach. Here's &lt;a href="https://javascriptweekly.com/link/187880/rss" style=" color: #3366aa;   "&gt;a CodePen-hosted demo&lt;/a&gt; of using it to do image upscaling (surprisingly quickly!)&lt;/p&gt;
  &lt;p&gt;Yu, Ristić, Soulanille, Parikh (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-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187881/rss" title="github.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Full-Text Search in Drizzle Without a Second System&lt;/a&gt;&lt;/span&gt; — Try the official ParadeDB integration for Drizzle. Search your live Postgres tables. No ETL, no Elasticsearch cluster.&lt;/p&gt;
  &lt;p&gt;ParadeDB &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187882/rss" title="doc.babylonjs.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Babylon Lite: A Faster, Smaller, WebGPU-Only 3D Engine&lt;/a&gt;&lt;/span&gt; — &lt;a href="https://javascriptweekly.com/link/187883/rss" style=" color: #3366aa;   "&gt;Babylon.js&lt;/a&gt; is a powerful, long-standing 3D engine, but what would they do if rebuilding from scratch? This! &lt;em&gt;Lite&lt;/em&gt; is much faster and smaller, but with some tradeoffs.&lt;/p&gt;
  &lt;p&gt;Babylon.js Team &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187884/rss" title="antjs.org" style=" color: #3366aa;    font-size: 1.05em;"&gt;Ant: A JavaScript Runtime in a 9MB Binary&lt;/a&gt;&lt;/span&gt; — No V8, JavaScriptCore or SpiderMonkey involved, this is a JS runtime built in C that ships as a 9MB binary, can run npm packages, and boasts incredibly short cold start times.&lt;/p&gt;
  &lt;p&gt;theMackabu &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;🔎 &lt;a href="https://javascriptweekly.com/link/187885/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Fuse.js 7.5&lt;/a&gt; – The popular fuzzy search library fixes a variety of scoring and ranking bugs (so ordering may shift for some queries). (&lt;a href="https://javascriptweekly.com/link/187886/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Homepage&lt;/a&gt; and &lt;a href="https://javascriptweekly.com/link/187887/rss" style=" color: #3366aa; font-weight: 500;   "&gt;demo&lt;/a&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187888/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Nano ID 6.0&lt;/a&gt; – Tiny, secure, URL-friendly unique string ID generator. &lt;code&gt;nanoid()&lt;/code&gt; and &lt;code&gt;customAlphabet()&lt;/code&gt; get 4x faster in 6.0.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187889/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Mantine Vue&lt;/a&gt; – A port of the popular &lt;a href="https://javascriptweekly.com/link/187890/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Mantine&lt;/a&gt; React component library for use with Vue.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
	&lt;p&gt;📰 Classifieds&lt;/p&gt;
  &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;Flaky tests slowing down dev? &lt;a href="https://javascriptweekly.com/link/187891/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Meticulous&lt;/a&gt; gives engineers confidence to ship faster by autonomously testing every edge case of your web app.&lt;/p&gt;
 
&lt;p&gt;Your dashboard is slow because the query is slow. &lt;a href="https://javascriptweekly.com/link/187892/rss" style=" color: #3366aa; font-weight: 500;   "&gt;TimescaleDB extends Postgres&lt;/a&gt; for analytics at scale, no second DB.&lt;/p&gt;
 
&lt;p&gt;⚡Sync live context across your entire agent stack. Merget’s now live, build &amp;amp; &lt;a href="https://javascriptweekly.com/link/187893/rss" style=" color: #3366aa; font-weight: 500;   "&gt;win a year of Claude Max&lt;/a&gt;.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;📢  Elsewhere in the ecosystem&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/187894/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/g1r2xzmiqtaoiqzrs2ds.jpg" width="640" style="    line-height: 100%;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187894/rss" style=" color: #3366aa; font-weight: 500;   "&gt;FracturedJson&lt;/a&gt; is a JSON formatter that produces 'human-readable but fairly compact' output. If you have a big lump of JSON, this makes it more pleasant to look through. It also supports non-standard JSON comments.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187895/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Cloudflare has unveiled Precursor&lt;/a&gt;, a client-side verification system that uses injected JS to collect behavioral signals (e.g. pointer movement) in an attempt to improve bot detection.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/187896/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/s6l7inruzpaoyfcqhhvn.jpg" width="640" style="    line-height: 100%;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;🔠 &lt;a href="https://javascriptweekly.com/link/187897/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Geist Pixel&lt;/a&gt; &lt;em&gt;(above)&lt;/em&gt;, the latest member of Vercel's &lt;em&gt;Geist&lt;/em&gt; family of fonts, is &lt;a href="https://javascriptweekly.com/link/187896/rss" style=" color: #3366aa; font-weight: 500;   "&gt;now available to use on Google Fonts&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Devographics, best known for its &lt;a href="https://javascriptweekly.com/link/187898/rss" style=" color: #3366aa; font-weight: 500;   "&gt;State of JavaScript&lt;/a&gt; surveys, is back with a more general &lt;a href="https://javascriptweekly.com/link/187899/rss" style=" color: #3366aa; font-weight: 500;   "&gt;&lt;em&gt;State of Devs&lt;/em&gt; survey&lt;/a&gt; to take.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187900/rss" style=" color: #3366aa; font-weight: 500;   "&gt;A scrolling visualization of the ~200ms life of an HTTP request.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&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/794/rss" width="1" height="1" /&gt;</description>
      <pubDate>Tue, 14 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://javascriptweekly.com/issues/794</guid>
    </item>
    <item>
      <title>What's new in ECMAScript 2026 (and usable today)</title>
      <link>https://javascriptweekly.com/issues/793</link>
      <description>

  

    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;div&gt;    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;
&lt;td align="left" style="padding-left: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;#​793 — July 7, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187564/rss" style=" color: #3366aa;"&gt;Read on the Web&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

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

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187516/rss" title="voidzero.dev" style=" color: #3366aa;    font-size: 1.1em; line-height: 1.4em;"&gt;Vite+ Beta: A Web Dev Toolchain Behind One Command&lt;/a&gt;&lt;/span&gt; — Vite+ is the &lt;a href="https://javascriptweekly.com/link/187517/rss" style=" color: #3366aa;   "&gt;Vite&lt;/a&gt; team’s ‘unified toolchain’ that brings Vite, Vitest, Oxlint, and similar tools together under a single &lt;code&gt;vp&lt;/code&gt; command, whether for running a dev server, tests, formatting, or bundling.&lt;/p&gt;
  &lt;p&gt;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-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;💡 Vite+ was originally intended to be a commercial project to fund work on Vite and related projects, but was open sourced under the MIT license earlier this year.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  &lt;a href="https://javascriptweekly.com/link/187515/rss" style=" color: #3366aa;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/eb4e5347.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/187515/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: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187518/rss" title="pawelgrzybek.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;What's New in ECMAScript 2026&lt;/a&gt;&lt;/span&gt; — 
The 876 page &lt;a href="https://javascriptweekly.com/link/187519/rss" style=" color: #3366aa;   "&gt;ECMAScript 2026 spec&lt;/a&gt; was approved last week, and this round-up covers several main new features that made the cut, from &lt;code&gt;Array.fromAsync&lt;/code&gt; to native &lt;code&gt;Uint8Array&lt;/code&gt; Base64/Hex conversion, with examples for each. All are already in browsers and runtimes (except &lt;code&gt;Math.sumPrecise&lt;/code&gt; in Node) so you can likely use them today.
&lt;/p&gt;
  &lt;p&gt;Pawel Grzybek &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;🕹️ &lt;a href="https://javascriptweekly.com/link/187520/rss" style=" color: #3366aa; font-weight: 500;   "&gt;js1024, the annual 1KB code-golf competition, is open for entries&lt;/a&gt;. The theme is 'dreaming', and you've got 1,024 bytes to make something neat. Here's &lt;a href="https://javascriptweekly.com/link/187521/rss" style=" color: #3366aa; font-weight: 500;   "&gt;last year's winner&lt;/a&gt; to get a feel for the caliber.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;There's &lt;a href="https://javascriptweekly.com/link/187522/rss" style=" color: #3366aa; font-weight: 500;   "&gt;a TC39 proposal to standardize a &lt;code&gt;code&lt;/code&gt; property on &lt;code&gt;Error&lt;/code&gt;&lt;/a&gt; (long a de-facto Node convention). Its champion, James Snell, hopes to advance it at this month's plenary.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;RELEASES:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187523/rss" style=" color: #3366aa; font-weight: 500;   "&gt;vinext 1.0 Beta&lt;/a&gt; – Cloudflare's Vite plugin reimplementing Next.js's API surface.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187524/rss" style=" color: #3366aa; font-weight: 500;   "&gt;webpack-dev-server 6.0&lt;/a&gt; – The official webpack dev server with live reloading upgrades to Express 5 and native ESM.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187525/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Dependency Cruiser 18.0&lt;/a&gt; – Tool to validate and graph project dependencies.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187526/rss" style=" color: #3366aa; font-weight: 500;   "&gt;npm 11.18.0&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/187527/rss" style=" color: #3366aa; font-weight: 500;   "&gt;pnpm 11.10&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;📖  Articles and Videos&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187528/rss" title="htmx.org" style=" color: #3366aa;    font-size: 1.05em;"&gt;Working with AI: A Concrete Example&lt;/a&gt;&lt;/span&gt; — The creator of &lt;a href="https://javascriptweekly.com/link/187529/rss" style=" color: #3366aa;   "&gt;htmx&lt;/a&gt; reflects on the role of AI in his work with a practical example of using Claude to investigate a bug report. He also touches on how AI fits in with being an ‘older developer’, a topic I rarely see brought up.&lt;/p&gt;
  &lt;p&gt;Carson Gross &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187530/rss" title="medal.tv" style=" color: #3366aa;    font-size: 1.05em;"&gt;How Medal Cut Its Electron Frontend Bundle from 40MB to 2.7MB&lt;/a&gt;&lt;/span&gt; — A gaming metaphor heavy tale of slashing an Electron app’s bundle from 40MB+ to 2.7MB using Vite, Rolldown, code splitting, and aggressive dead-code elimination.&lt;/p&gt;
  &lt;p&gt;Rick Zhang (Medal) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187531/rss" title="www.miris.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Streaming Real-Time HDR Reflections to Every Device with Miris&lt;/a&gt;&lt;/span&gt; — Miris built a WebXR car configurator that streams a 1.2GB asset in real-time with HDR reflections across any device.&lt;/p&gt;
  &lt;p&gt;Miris &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/187532/rss" style=" color: #3366aa; font-weight: 500;   "&gt;A Guide to Hydration and Rendering Strategies&lt;/a&gt; – SSR, streaming, islands, resumability, and RSC, compared. &lt;cite&gt;Neciu Dan&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/187533/rss" style=" color: #3366aa; font-weight: 500;   "&gt;WebGL Without a GPU&lt;/a&gt; – Useful tips for testing or taking screenshots of WebGL-rendered experiences. &lt;cite&gt;Kiko Beats&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/187534/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Understanding TypeScript's Distributive Conditional Types&lt;/a&gt; &lt;cite&gt;Tejas Bubane&lt;/cite&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;🛠 Code &amp;amp; Tools&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/187536/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/g8yrt7uc0jzjbppk5dzs.jpg" width="640" style="      line-height: 100%;  "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187536/rss" title="wordgard.net" style=" color: #3366aa;    font-size: 1.05em;"&gt;Wordgard: A New Rich Text Editor Library from ProseMirror's Creator&lt;/a&gt;&lt;/span&gt; — With &lt;a href="https://javascriptweekly.com/link/187537/rss" style=" color: #3366aa;   "&gt;Eloquent JavaScript&lt;/a&gt; and &lt;a href="https://javascriptweekly.com/link/187538/rss" style=" color: #3366aa;   "&gt;ProseMirror&lt;/a&gt; under his belt, not many people know more about JavaScript &lt;em&gt;and&lt;/em&gt; making good editor controls than Marijn. Modular, supports collaborative editing, and thoughtfully built. &lt;a href="https://javascriptweekly.com/link/187539/rss" style=" color: #3366aa;   "&gt;Live demo&lt;/a&gt; and &lt;a href="https://javascriptweekly.com/link/187540/rss" style=" color: #3366aa;   "&gt;how to get started&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Marijn Haverbeke &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187541/rss" title="agentfield.ai" style=" color: #3366aa;    font-size: 1.05em;"&gt;The TypeScript-Native AI Backend for Autonomous Software&lt;/a&gt;&lt;/span&gt; — Orchestrate agents as typed APIs — then spin up software factories that ship production-grade PRs. &lt;a href="https://javascriptweekly.com/link/187541/rss" style=" color: #3366aa;   "&gt;Open source&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Agentfield.ai &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187563/rss" title="astryx.atmeta.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Astryx: Meta Open Sources Its Design System&lt;/a&gt;&lt;/span&gt; — 
A design system used by 13,000+ apps inside Meta is now open source with 150+ React components, theming options, dark mode, and CLI tooling.
&lt;/p&gt;
  &lt;p&gt;Meta &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187543/rss" title="driverjs.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Driver.js v1.6: Present In-App Tours, Highlights, and Contextual Help&lt;/a&gt;&lt;/span&gt; — A library for making on-page tours and contextual help systems. It’s been around for several years, but is well maintained with numerous demos on the homepage.&lt;/p&gt;
  &lt;p&gt;Kamran Ahmed &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;span&gt;✉️&lt;/span&gt; &lt;a href="https://javascriptweekly.com/link/187544/rss" title="upyo.org" style=" color: #3366aa;    font-size: 1.05em;"&gt;Upyo 0.5: A Cross-Runtime Email Sending Library&lt;/a&gt;&lt;/span&gt; — A unified, type-safe API for sending emails both on SMTP and HTTP-based (e.g. SendGrid or Amazon SES) providers from Node, Deno, Bun, or edge function runtimes.&lt;/p&gt;
  &lt;p&gt;Hong Minhee &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/187545/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Things You No Longer Need JavaScript For&lt;/a&gt; – A catalog of patterns modern HTML and CSS can now handle alone. &lt;cite&gt;Aaron T. Grogg&lt;/cite&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187546/rss" style=" color: #3366aa; font-weight: 500;   "&gt;ESLint Plugin Perfectionist 5.10&lt;/a&gt; – For when you're &lt;em&gt;really&lt;/em&gt; particular about how things like objects, imports, and types are ordered, whether alphabetically, by length, etc.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187547/rss" style=" color: #3366aa; font-weight: 500;   "&gt;TinyBase 9.0&lt;/a&gt; – Bug fix and stability release for the reactive data store and sync engine backend.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187548/rss" style=" color: #3366aa; font-weight: 500;   "&gt;wavesurfer.js 7.12.10&lt;/a&gt; – Interactive waveform rendering for playing audio.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187549/rss" style=" color: #3366aa; font-weight: 500;   "&gt;React Google Maps 1.9&lt;/a&gt; – Use a Google map as a reactive component.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
	&lt;p&gt;📰 Classifieds&lt;/p&gt;
  &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;💛 This Sept, &lt;a href="https://javascriptweekly.com/link/187550/rss" style=" color: #3366aa; font-weight: 500;   "&gt;ZurichJS Conf&lt;/a&gt; brings world-class JS speakers, hands-on workshops and an exclusive VIP afterparty, nonprofit and affordable.&lt;/p&gt;
 
&lt;p&gt;Queries that run in milliseconds on petabytes of data. &lt;a href="https://javascriptweekly.com/link/187551/rss" style=" color: #3366aa; font-weight: 500;   "&gt;TimescaleDB extends Postgres to perform at massive scale&lt;/a&gt;.&lt;/p&gt;
 
&lt;p&gt;🦊 Most PDF translators don't tell you which parts to trust. &lt;a href="https://javascriptweekly.com/link/187552/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Here's how to build a pipeline&lt;/a&gt; with confidence scoring baked in.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;📢  Elsewhere in the ecosystem&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;🤖 &lt;a href="https://javascriptweekly.com/link/187553/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Safari has introduced an MCP server&lt;/a&gt; in its latest preview release, providing agents with a way to connect to a Safari window and emulate the user experience while debugging.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187555/rss" style=" color: #3366aa; font-weight: 500;   "&gt;&lt;code&gt;shadcn/ui&lt;/code&gt; has switched to Base UI as its default component library&lt;/a&gt; (from Radix). Radix isn't going away, but &lt;a href="https://javascriptweekly.com/link/187556/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Base UI&lt;/a&gt; is recommended for new projects.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187554/rss" style=" color: #3366aa; font-weight: 500;   "&gt;PocketJS&lt;/a&gt; is a project that brings a JavaScript VM, Vue Vapor, and Solid UI into an 8MB memory budget, and can, curiously, run on the Sony PSP, as well as in WASM and natively on macOS.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;📈 &lt;a href="https://javascriptweekly.com/link/187557/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Commit History&lt;/a&gt; is an online tool that creates charts of a user's GitHub commits over time. A nice addition for your &lt;a href="https://javascriptweekly.com/link/187558/rss" style=" color: #3366aa; font-weight: 500;   "&gt;profile README&lt;/a&gt;, or check out &lt;a href="https://javascriptweekly.com/link/187559/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Sindre Sorhus's chart&lt;/a&gt; to see the legendary maintainer's consistency over the years.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🎉 &lt;a href="https://javascriptweekly.com/link/187560/rss" style=" color: #3366aa; font-weight: 500;   "&gt;PGlite&lt;/a&gt;, a WebAssembly build of Postgres for use in JavaScript environments, &lt;a href="https://javascriptweekly.com/link/187561/rss" style=" color: #3366aa; font-weight: 500;   "&gt;celebrates reaching 10 million weekly downloads&lt;/a&gt; while explaining the use cases and how to get started with it yourself.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;




&lt;img src="https://javascriptweekly.com/open/793/rss" width="1" height="1" /&gt;</description>
      <pubDate>Tue, 7 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://javascriptweekly.com/issues/793</guid>
    </item>
    <item>
      <title>Will npm v12 reject your .npmrc?</title>
      <link>https://javascriptweekly.com/issues/792</link>
      <description>

  

    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;div&gt;    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;
&lt;td align="left" style="padding-left: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;#​792 — June 30, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187272/rss" style=" color: #3366aa;"&gt;Read on the Web&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

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

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187214/rss" title="deno.com" style=" color: #3366aa;    font-size: 1.1em; line-height: 1.4em;"&gt;Deno 2.9 Released&lt;/a&gt;&lt;/span&gt; — A huge release for the runtime: &lt;code&gt;deno desktop&lt;/code&gt; turns scripts and framework-based projects into native, self-contained desktop apps, quick migration from npm/pnpm/Yarn/Bun lockfiles, big test runner improvements, ~2x faster cold starts, and a target of Node.js 26 compatibility.&lt;/p&gt;
  &lt;p&gt;Bartek Iwańczuk &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  &lt;a href="https://javascriptweekly.com/link/187213/rss" style=" color: #3366aa;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/f45344d1.png" width="142" 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/187213/rss" title="aka.ms" style=" color: #3366aa;    font-size: 1.05em;"&gt;44 Recorded PostgreSQL Talks Are Now Available to Watch&lt;/a&gt;&lt;/span&gt; — Explore 44 talks about PostgreSQL-backed app development, Postgres performance &amp;amp; AI, Postgres 19, Azure HorizonDB and more. All sessions are available on YouTube. Learn directly from Postgres experts at your own pace. &lt;a href="https://javascriptweekly.com/link/187213/rss" style=" color: #3366aa;   "&gt;Check out the playlist&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: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187215/rss" title="code.visualstudio.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Iterating Faster on VS Code with TypeScript 7&lt;/a&gt;&lt;/span&gt; — How the VS Code team incrementally adopted the Go-based TypeScript 7 compiler (&lt;a href="https://javascriptweekly.com/link/187216/rss" style=" color: #3366aa;   "&gt;currently in RC&lt;/a&gt;) while it was still being built. Type-checking the source went from 36s to 5s, with &lt;code&gt;npm run watch&lt;/code&gt; going from 80s to ~20s.&lt;/p&gt;
  &lt;p&gt;The VS Code Team (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-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The &lt;a href="https://javascriptweekly.com/link/187217/rss" style=" color: #3366aa; font-weight: 500;   "&gt;second preview release of &lt;code&gt;npm&lt;/code&gt; 12 is available&lt;/a&gt; for testing. This is worth doing, as Colin McDonnell has already noticed &lt;a href="https://javascriptweekly.com/link/187218/rss" style=" color: #3366aa; font-weight: 500;   "&gt;npm 12 hard-errors on unrecognized keys&lt;/a&gt; in &lt;code&gt;.npmrc&lt;/code&gt; files.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🔒 &lt;a href="https://javascriptweekly.com/link/187219/rss" style=" color: #3366aa; font-weight: 500;   "&gt;npm now locks 'high impact accounts'&lt;/a&gt; (maintainers of the most popular packages) into a 72-hour read-only mode when they change their email or use a 2FA recovery code.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The Svelte team has just &lt;a href="https://javascriptweekly.com/link/187274/rss" style=" color: #3366aa; font-weight: 500;   "&gt;posted the latest monthly Svelte update&lt;/a&gt;. In related news, Svelte creator Rich Harris was recently asked &lt;a href="https://javascriptweekly.com/link/187275/rss" style=" color: #3366aa; font-weight: 500;   "&gt;▶️ for his takes on working with AI and Svelte.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;RELEASES:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;🤖 &lt;a href="https://javascriptweekly.com/link/187223/rss" style=" color: #3366aa; font-weight: 500;   "&gt;AI SDK v7&lt;/a&gt; – Vercel's SDK that provides an abstraction for building against any AI model provider.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187221/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Node.js v26.4 (Current)&lt;/a&gt; adds experimental &lt;a href="https://javascriptweekly.com/link/187222/rss" style=" color: #3366aa; font-weight: 500;   "&gt;package map support&lt;/a&gt; to resolve packages from a static JSON file instead of walking &lt;code&gt;node_modules&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187224/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Formisch v1 RC&lt;/a&gt; – Schema-first, headless type-safe form state library.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187225/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Prettier 3.9&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/187273/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Rspack 2.1&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/187227/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Electron 43&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/187228/rss" style=" color: #3366aa; font-weight: 500;   "&gt;ESLint 10.6&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/187229/rss" style=" color: #3366aa; font-weight: 500;   "&gt;pnpm 11.9&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;📖  Articles and Videos&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187230/rss" title="www.vlt.io" style=" color: #3366aa;    font-size: 1.05em;"&gt;Why Drizzle Couldn't Publish New Releases on npm for a Month&lt;/a&gt;&lt;/span&gt; — As well as explaining why the creators of &lt;a href="https://javascriptweekly.com/link/187231/rss" style=" color: #3366aa;   "&gt;the popular ORM&lt;/a&gt; ran into the problem, Evert shares some tips to see if you're at risk of the same problem, and how to avoid it entirely.&lt;/p&gt;
  &lt;p&gt;Evert Pot &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187235/rss" title="css-tricks.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;The Shifting Line Between CSS States and JavaScript Events&lt;/a&gt;&lt;/span&gt; — A tour of the (more than you’d think) CSS pseudo-classes that can stand in for JS event listeners, plus a look at the experimental/future &lt;code&gt;event-trigger&lt;/code&gt; syntax.&lt;/p&gt;
  &lt;p&gt;Daniel Schwarz &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187234/rss" title="www.tigerdata.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Real-Time Analytics on Your Operational Postgres Table&lt;/a&gt;&lt;/span&gt; — Polling just hides the lag. TimescaleDB's continuous aggregates keep data fresh on read. &lt;a href="https://javascriptweekly.com/link/187234/rss" style=" color: #3366aa;   "&gt;Get $1000 credit to start&lt;/a&gt;.&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: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187232/rss" title="nodesource.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Blocking Install Scripts is Not a Silver Bullet&lt;/a&gt;&lt;/span&gt; — &lt;a href="https://javascriptweekly.com/link/187233/rss" style=" color: #3366aa;   "&gt;npm v12&lt;/a&gt; won't run install scripts by default, but Ulises argues that only solves part of the supply chain security problem.&lt;/p&gt;
  &lt;p&gt;Ulises Gascon &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187237/rss" title="www.skovhus.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;Moving Linear from styled‑components to StyleX&lt;/a&gt;&lt;/span&gt; — A migration away from a runtime CSS-in-JS approach yielded ~30% faster renders when navigating between pages.&lt;/p&gt;
  &lt;p&gt;Kenneth Skovhus (Linear) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;📺 &lt;a href="https://javascriptweekly.com/link/187238/rss" style=" color: #3366aa; font-weight: 500;   "&gt;How Tanner Linsley Built TanStack to Outlive Him&lt;/a&gt; – A &lt;em&gt;very&lt;/em&gt; smoothly produced 15 minute interview with the creator of &lt;a href="https://javascriptweekly.com/link/187239/rss" style=" color: #3366aa; font-weight: 500;   "&gt;TanStack&lt;/a&gt;. &lt;cite&gt;The Build Log&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/187240/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Benchmarking 5 WebSocket Servers for Node.js&lt;/a&gt; &lt;cite&gt;Irina Nazarova&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/187241/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Handling Mutations with TanStack Query for Vue&lt;/a&gt; &lt;cite&gt;Marina Mosti&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/187242/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Parsing Arbitrary Dates in Strings with Chrono and a Web Component&lt;/a&gt;  &lt;cite&gt;Raymond Camden&lt;/cite&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;🛠 Code &amp;amp; Tools&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187243/rss" title="nubjs.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Nub: An All-in-One Toolkit That &lt;em&gt;Augments&lt;/em&gt; Node.js&lt;/a&gt;&lt;/span&gt; — While Bun or Deno can &lt;em&gt;replace&lt;/em&gt; Node, this project from &lt;a href="https://javascriptweekly.com/link/187244/rss" style=" color: #3366aa;   "&gt;Zod&lt;/a&gt;’s creator &lt;em&gt;extends&lt;/em&gt; Node with nice-to-haves, like fuller TypeScript support, faster &amp;amp; more secure package installation, better &lt;code&gt;.env&lt;/code&gt; handling, and &lt;a href="https://javascriptweekly.com/link/187245/rss" style=" color: #3366aa;   "&gt;a web-standard &lt;code&gt;Worker&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Colin McDonnell et al. &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187246/rss" title="geajs.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Gea: A Compiler-First Reactive UI Framework&lt;/a&gt;&lt;/span&gt; — A UI framework that goes all in on "compile the framework away": no VDOM, JSX transformed into string templates, proxy-based stores, and 'surgical' DOM patching. The big win is &lt;a href="https://javascriptweekly.com/link/187247/rss" style=" color: #3366aa;   "&gt;&lt;em&gt;tiny&lt;/em&gt; build sizes&lt;/a&gt;.
&lt;/p&gt;
  &lt;p&gt;Armagan Amcalar &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187248/rss" title="fandf.co" style=" color: #3366aa;    font-size: 1.05em;"&gt;Stop Alt-Tabbing to the Dashboard When CI Breaks&lt;/a&gt;&lt;/span&gt; — Depot CI's new API and CLI let you query runs, pull logs, and diagnose failures without leaving your terminal.&lt;/p&gt;
  &lt;p&gt;Depot &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187249/rss" title="github.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;&lt;code&gt;&amp;lt;qr-code&amp;gt;&lt;/code&gt; 2.0: Web Component for Generating QR Codes&lt;/a&gt;&lt;/span&gt; — An easy way to display QR codes in the browser using pure JavaScript. A 13 year old solution that’s been modernized and is now ESM only. &lt;a href="https://javascriptweekly.com/link/187250/rss" style=" color: #3366aa;   "&gt;Live demo.&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Eduard Castellano &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/187251/rss" title="spartan.ng" style=" color: #3366aa;    font-size: 1.05em;"&gt;spartan/ui 1.0: shadcn/ui-Style UI Primitives for Angular&lt;/a&gt;&lt;/span&gt; — If you’re an Angular developer who’s ever envied the copy and paste simplicity of &lt;a href="https://javascriptweekly.com/link/187252/rss" style=" color: #3366aa;   "&gt;shadcn/ui&lt;/a&gt;, this is for you.&lt;/p&gt;
  &lt;p&gt;Robin Goetz &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187253/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Wakaru 1.6&lt;/a&gt; – JavaScript decompiler and bundle splitter. Now with even better 'source-like' output, particularly from bundled React apps.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🎬 &lt;a href="https://javascriptweekly.com/link/187254/rss" style=" color: #3366aa; font-weight: 500;   "&gt;TurboRes 1.0&lt;/a&gt; – Fast Zig/WASM-powered Apple ProRes video decoder for JS environments. From the creator of &lt;a href="https://javascriptweekly.com/link/187255/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Mediabunny&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;📊 &lt;a href="https://javascriptweekly.com/link/187256/rss" style=" color: #3366aa; font-weight: 500;   "&gt;ngx-charts 24.0&lt;/a&gt; – Declarative charting framework for Angular. &lt;a href="https://javascriptweekly.com/link/187257/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Interactive demo&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187258/rss" style=" color: #3366aa; font-weight: 500;   "&gt;GopherJS 1.21.0&lt;/a&gt; – A Go to JavaScript transpiler. Now supporting up to Go 1.21.13.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187259/rss" style=" color: #3366aa; font-weight: 500;   "&gt;whatwg-url 17.0&lt;/a&gt; – JS implementation of the WHATWG URL Standard. &lt;a href="https://javascriptweekly.com/link/187260/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Demo&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
	&lt;p&gt;📰 Classifieds&lt;/p&gt;
  &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;Flaky tests slowing down dev? &lt;a href="https://javascriptweekly.com/link/187261/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Meticulous&lt;/a&gt; gives engineers confidence to ship faster by autonomously testing every edge case of your web app.&lt;/p&gt;
 
&lt;p&gt;Build TypeScript-first AI agents in your codebase. No timeouts, durable queues, &amp;amp; full tracing. &lt;a href="https://javascriptweekly.com/link/187262/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Ship your first agent in minutes with Trigger.dev&lt;/a&gt;.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;📢  Elsewhere in the ecosystem&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://javascriptweekly.com/link/187263/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/tcos8ddslkdxrldqs26i.jpg" width="640" style="    line-height: 100%;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;📊 Frank Denis wanted to &lt;a href="https://javascriptweekly.com/link/187263/rss" style=" color: #3366aa; font-weight: 500;   "&gt;see the performance of WebAssembly runtimes in 2026&lt;/a&gt; and pitted nine options against one another, including Bun and Node/V8's options.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;GitHub is continuing with efforts to make project management less overwhelming in the agentic era. Now &lt;a href="https://javascriptweekly.com/link/187264/rss" style=" color: #3366aa; font-weight: 500;   "&gt;you can restrict issue creation to collaborators with write access&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Meta has ported &lt;a href="https://javascriptweekly.com/link/187265/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Flow&lt;/a&gt;, the static type checker for its typed dialect of JavaScript, &lt;a href="https://javascriptweekly.com/link/187266/rss" style=" color: #3366aa; font-weight: 500;   "&gt;from OCaml to Rust&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;code&gt;pnpm&lt;/code&gt; project is &lt;a href="https://javascriptweekly.com/link/187220/rss" style=" color: #3366aa; font-weight: 500;   "&gt;working on &lt;code&gt;pnpr&lt;/code&gt;&lt;/a&gt;, an experimental pnpm-compatible npm registry server, written in Rust.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/187268/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Git 2.55 has been released&lt;/a&gt; with &lt;code&gt;git history fixup&lt;/code&gt; for 'fixing up' earlier commits, faster &lt;code&gt;git status&lt;/code&gt; on Linux, and more.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🐘 &lt;a href="https://javascriptweekly.com/link/187269/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Postgres 19 is currently in beta&lt;/a&gt;, with the final release expected this September. Craig Kerstiens &lt;a href="https://javascriptweekly.com/link/187270/rss" style=" color: #3366aa; font-weight: 500;   "&gt;looks ahead to what's interesting in Postgres 19&lt;/a&gt; for users and developers.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;




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