<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>JavaScript Weekly</title>
    <description>A newsletter of JavaScript articles, news and cool projects</description>
    <link>https://javascriptweekly.com/</link>
    <item>
      <title>What's 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>
    <item>
      <title>Babel 8.0, Vite 8.1, and TypeScript 7.0 RC</title>
      <link>https://javascriptweekly.com/issues/791</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;#​791 — June 23, 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/186967/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/186910/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/nmuo98ex7rzsd4bj7hcu.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/186910/rss" title="docs.deno.com" style=" color: #3366aa;    font-size: 1.1em; line-height: 1.4em;"&gt;Desktop Apps With &lt;code&gt;deno desktop&lt;/code&gt;&lt;/a&gt;&lt;/span&gt; — Deno 2.9 (or the 'canary' build &lt;em&gt;now&lt;/em&gt;) can turn JavaScript projects into self-contained apps on macOS, Windows, and Linux. Unlike Electron, you can opt to use the default OS WebView &lt;em&gt;or&lt;/em&gt; a bundled Chromium backend, plus you get cross-compilation and automatic support for apps built on frameworks like Next.js and SvelteKit.&lt;/p&gt;
  &lt;p&gt;The Deno Project &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/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;📉 It's not in the post, but a &lt;code&gt;--compress&lt;/code&gt; option gets packaged app sizes down a lot – from 65MB to 19MB in my test with a basic app.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/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/186908/rss" style=" color: #3366aa;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/e4cf1123.png" width="160" height="38" 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/186908/rss" title="" style=" color: #3366aa;    font-size: 1.05em;"&gt;Catch Runtime Bugs Before Your JS PR Merges&lt;/a&gt;&lt;/span&gt; — Some JavaScript bugs only show up after the app runs. Greptile reviews each PR with full repo context, runs the code in a sandbox, and returns screenshots, logs, and traces as proof of what broke. Use Greptile in GitHub, GitLab, or from your terminal.&lt;/p&gt;
  &lt;p&gt;Greptile &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/186911/rss" title="babeljs.io" style=" color: #3366aa;    font-size: 1.05em;"&gt;Babel 8.0 Released: The JavaScript Transpiler&lt;/a&gt;&lt;/span&gt; — It’s been &lt;em&gt;eight years&lt;/em&gt; since &lt;a href="https://javascriptweekly.com/link/186912/rss" style=" color: #3366aa;   "&gt;Babel 7.0&lt;/a&gt;, and despite the rise of tools like SWC and Oxc, weekly downloads of the &lt;code&gt;@babel&lt;/code&gt; packages have increased 380x since. v8.0 is a modernization release that goes ESM-only and targets ~ES2023 by default (vs ES5 before).&lt;/p&gt;
  &lt;p&gt;Babel 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/186913/rss" title="devblogs.microsoft.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;TypeScript 7.0 Release Candidate&lt;/a&gt;&lt;/span&gt; — A step closer for the Go-powered TypeScript compiler that promises ~10x faster build performance. &lt;em&gt;(I've seen people on social media getting very excited by this.)&lt;/em&gt;&lt;/p&gt;
  &lt;p&gt;Daniel Rosenwasser (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;Cloudflare has added the ability to &lt;a href="https://javascriptweekly.com/link/186914/rss" style=" color: #3366aa; font-weight: 500;   "&gt;create and deploy Workers on 'temporary accounts'&lt;/a&gt;. Ostensibly 'for AI agents', but you can use them yourself too, and get a Worker running for 60 minutes with no strings attached.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;TC39 delegate Luca Casonato has made &lt;a href="https://javascriptweekly.com/link/186915/rss" style=" color: #3366aa; font-weight: 500;   "&gt;a proposal to add built-in localized time formatting&lt;/a&gt; to &lt;code&gt;&amp;lt;time&amp;gt;&lt;/code&gt;, akin to GitHub's &lt;a href="https://javascriptweekly.com/link/186916/rss" style=" color: #3366aa; font-weight: 500;   "&gt;&lt;code&gt;&amp;lt;relative-time&amp;gt;&lt;/code&gt; element&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🤖 &lt;a href="https://javascriptweekly.com/link/186917/rss" style=" color: #3366aa; font-weight: 500;   "&gt;MDN has introduced an official MCP server&lt;/a&gt; to provide better access to MDN's up-to-date JS and frontend docs to coding agents.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The Bun team has proposed &lt;a href="https://javascriptweekly.com/link/186918/rss" style=" color: #3366aa; font-weight: 500;   "&gt;adding shared-memory threads to JavaScriptCore&lt;/a&gt; (a more traditional threading approach versus &lt;a href="https://javascriptweekly.com/link/186919/rss" style=" color: #3366aa; font-weight: 500;   "&gt;worker threads&lt;/a&gt;).&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&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;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/186920/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Vite 8.1&lt;/a&gt; – Adds experimental support for 'bundled dev mode' which radically speeds up dev server startup and full reloads on large apps. Also adds &lt;a href="https://javascriptweekly.com/link/186921/rss" style=" color: #3366aa; font-weight: 500;   "&gt;WASM/ESM integration&lt;/a&gt; support.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;⭐ &lt;a href="https://javascriptweekly.com/link/186922/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Astro 7.0&lt;/a&gt; – The popular web framework gets faster build times, with &lt;code&gt;.astro&lt;/code&gt; compilation and Markdown/MDX processing going through a Rust-powered pipeline. &lt;em&gt;Advanced Routing&lt;/em&gt; also gives you full control over the request pipeline.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/186923/rss" style=" color: #3366aa; font-weight: 500;   "&gt;pnpm 11.7&lt;/a&gt; and &lt;a href="https://javascriptweekly.com/link/186924/rss" style=" color: #3366aa; font-weight: 500;   "&gt;11.8&lt;/a&gt; – &lt;code&gt;pnpm install&lt;/code&gt; gets a &lt;code&gt;--dry-run&lt;/code&gt; option, &lt;code&gt;--frozen-store&lt;/code&gt; adds support for read-only package stores, and more.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/186925/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Node.js v26.3.1 (Current)&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/186926/rss" style=" color: #3366aa; font-weight: 500;   "&gt;v24.17.0 (LTS)&lt;/a&gt;, and &lt;a href="https://javascriptweekly.com/link/186927/rss" style=" color: #3366aa; font-weight: 500;   "&gt;v22.23.0 (LTS)&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/186928/rss" title="tanstack.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;How an Underrated Refactor Saved 90% Memory Usage&lt;/a&gt;&lt;/span&gt; — 
The tale of how &lt;a href="https://javascriptweekly.com/link/186929/rss" style=" color: #3366aa;   "&gt;TanStack Table&lt;/a&gt; v9 uses less memory than v8 on large tables, thanks to a simple idea: storing methods on shared prototypes instead of creating them for every object. Benchmarks included, plus a pattern other libraries can copy.
&lt;/p&gt;
  &lt;p&gt;Kevin Van Cott (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;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/186930/rss" title="try.expo.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;You Already Know Enough JavaScript to Ship a Real Mobile App&lt;/a&gt;&lt;/span&gt; — Build for iOS and Android from one codebase with React. Expo handles builds, the App Store, and updates.&lt;/p&gt;
  &lt;p&gt;Expo &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/186931/rss" style=" color: #3366aa; font-weight: 500;   "&gt;&lt;code&gt;window.showDirectoryPicker&lt;/code&gt; Opens Up a Whole New World&lt;/a&gt; – Chrome 86+ added a way to &lt;a href="https://javascriptweekly.com/link/186932/rss" style=" color: #3366aa; font-weight: 500;   "&gt;let users open a local directory&lt;/a&gt; for use by webapps. &lt;cite&gt;Steve Harrison&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/186933/rss" style=" color: #3366aa; font-weight: 500;   "&gt;What are Git Worktrees, And Why Should I Use Them?&lt;/a&gt; – A decade-old &lt;code&gt;git&lt;/code&gt; feature that's seen a boost in the AI agent era. &lt;cite&gt;Cassidy Williams (GitHub)&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/186934/rss" style=" color: #3366aa; font-weight: 500;   "&gt;TanStack Start: A Mental Model for Next.js Devs&lt;/a&gt; – Maps TanStack Start onto Next.js concepts with side-by-side code comparisons. &lt;cite&gt;Adarsha Acharya&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/186935/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/nxajoklg677glwqkf5yz.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/186935/rss" title="fullcalendar.io" style=" color: #3366aa;    font-size: 1.05em;"&gt;FullCalendar 7.0: A Full Sized JavaScript Calendar&lt;/a&gt;&lt;/span&gt; — A Google Calendar-style experience for your own apps. Works with React, Vue and Angular (&lt;a href="https://javascriptweekly.com/link/186937/rss" style=" color: #3366aa;   "&gt;v7.0&lt;/a&gt; adds Angular 22 support), but can be used with plain JavaScript. &lt;a href="https://javascriptweekly.com/link/186938/rss" style=" color: #3366aa;   "&gt;Here’s a demo&lt;/a&gt; where you can play with the themes and styling approaches. MIT licensed with commercial extensions.&lt;/p&gt;
  &lt;p&gt;FullCalendar LLC &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/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/186939/rss" title="vercel.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Eve: Like Next.js, But for Building Agents&lt;/a&gt;&lt;/span&gt; — A new framework from Vercel that provides Next.js-esque structure for building AI-powered agents using TypeScript and Markdown.&lt;/p&gt;
  &lt;p&gt;Vercel &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-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/186940/rss" title="www.tigerdata.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Your Charts Endpoint Doesn't Need a Second Database&lt;/a&gt;&lt;/span&gt; — It's the query behind it, not the render. TimescaleDB extends Postgres for analytics. &lt;a href="https://javascriptweekly.com/link/186940/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/186941/rss" title="foresightjs.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;ForesightJS 4: Predictive User Intent Library for the Web&lt;/a&gt;&lt;/span&gt; — Predicts intent from pointer and keyboard cues to prefetch content before it's needed for a snappier user experience. &lt;a href="https://javascriptweekly.com/link/186942/rss" style=" color: #3366aa;   "&gt;v4.0&lt;/a&gt; adds official React and Vue packages with &lt;a href="https://javascriptweekly.com/link/186943/rss" style=" color: #3366aa;   "&gt;a declarative &lt;code&gt;&amp;lt;Foresight&amp;gt;&lt;/code&gt; component&lt;/a&gt; in v4.2.&lt;/p&gt;
  &lt;p&gt;ForesightJS, Inc. &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-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/186945/rss" title="nerdy.dev" style=" color: #3366aa;    font-size: 1.05em;"&gt;Prop For That: What JS Knows, Now CSS Knows&lt;/a&gt;&lt;/span&gt; — Provides CSS with access to values you'd often need JS to provide (e.g. pointer position, time, a slider’s value). Add attributes to HTML and live values show up as custom properties, bridging the JS–CSS gap. &lt;a href="https://javascriptweekly.com/link/186946/rss" style=" color: #3366aa;   "&gt;The demo page&lt;/a&gt; is neat.&lt;/p&gt;
  &lt;p&gt;Adam Argyle &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/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/186947/rss" title="kage.tamnd.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Kage: Shadow a Website for Offline Viewing&lt;/a&gt;&lt;/span&gt; — A tool to clone a site and serve it up for offline viewing. The difference vs &lt;em&gt;"Save As"&lt;/em&gt; is it handles JS-rendered sites by saving the DOM using a headless browser. &lt;a href="https://javascriptweekly.com/link/186948/rss" style=" color: #3366aa;   "&gt;Repo.&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Duc-Tam Nguyen &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/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/186949/rss" title="github.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;goja: An ECMAScript/JavaScript Engine in Pure Go&lt;/a&gt;&lt;/span&gt; — A mature JavaScript engine for adding scripting functionality to Go apps without CGo/V8.&lt;/p&gt;
  &lt;p&gt;Dmitry Panov &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/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/186950/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Anime.js 4.5&lt;/a&gt; – The powerful animation engine &lt;a href="https://javascriptweekly.com/link/186951/rss" style=" color: #3366aa; font-weight: 500;   "&gt;adds adapters&lt;/a&gt; to support animating non-DOM objects like Three.js meshes or a canvas context.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/186952/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Ink 7.1&lt;/a&gt; – The popular TUI renderer &lt;a href="https://javascriptweekly.com/link/186953/rss" style=" color: #3366aa; font-weight: 500;   "&gt;adds &lt;code&gt;suspendTerminal()&lt;/code&gt;&lt;/a&gt; for temporarily handing the terminal over to a child process (like an editor).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/186954/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Nuxt UI 4.9&lt;/a&gt; – The Vue UI library improves its calendar component, adds uniform focus styles, and adds &lt;code&gt;useTour&lt;/code&gt; for driving guided tours.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/186955/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Nx 23.0&lt;/a&gt; – The monorepo tool's yearly major. Now &lt;code&gt;nx migrate&lt;/code&gt; can hand migrations off to AI agents.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;☀️ &lt;a href="https://javascriptweekly.com/link/186956/rss" style=" color: #3366aa; font-weight: 500;   "&gt;SunCalc 2.0&lt;/a&gt; – Calculate the position and phase of the Sun and Moon.&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/186957/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;🚀 Take your app from dev to production in one command. &lt;code&gt;clerk deploy&lt;/code&gt; handles DNS and OAuth: &lt;a href="https://javascriptweekly.com/link/186958/rss" style=" color: #3366aa; font-weight: 500;   "&gt;clerk.com/changelog/2026-06-10-clerk-deploy&lt;/a&gt;&lt;/p&gt;
 
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/186959/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Handsontable&lt;/a&gt;: Production-ready data grid that feels like Excel. Rock-solid reliability, performance at scale. &lt;a href="https://javascriptweekly.com/link/186959/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Try now&lt;/a&gt;.&lt;/p&gt;
 
&lt;p&gt;🦊 Extract tables, text, forms, and images from any PDF as structured JSON. &lt;a href="https://javascriptweekly.com/link/186960/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Foxit's API&lt;/a&gt; combines OCR, layout recognition, and AI parsing.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/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;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/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/186961/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/nxgy3hvrsiv7govtlok8.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;A developer &lt;a href="https://javascriptweekly.com/link/186961/rss" style=" color: #3366aa; font-weight: 500;   "&gt;code-golfed a signal implementation&lt;/a&gt; to just 33 bytes &lt;em&gt;(above)&lt;/em&gt;. I had to stare at it for a solid minute before it clicked, but mercifully, a Redditor &lt;a href="https://javascriptweekly.com/link/186962/rss" style=" color: #3366aa; font-weight: 500;   "&gt;breaks down exactly what's going on&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🔒 GitHub has &lt;a href="https://javascriptweekly.com/link/186963/rss" style=" color: #3366aa; font-weight: 500;   "&gt;released &lt;code&gt;actions/checkout&lt;/code&gt; v7&lt;/a&gt; that &lt;em&gt;"refuses common pwn request patterns by default"&lt;/em&gt; including refusing to fetch fork pull request code in &lt;code&gt;pull_request_target&lt;/code&gt; and &lt;code&gt;workflow_run&lt;/code&gt; workflows.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If you're a GitHub project maintainer getting flooded with PRs, &lt;a href="https://javascriptweekly.com/link/186964/rss" style=" color: #3366aa; font-weight: 500;   "&gt;GitHub now has the ability to limit the number of PRs&lt;/a&gt; any single user can open at once.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tim Wehrle &lt;a href="https://javascriptweekly.com/link/186965/rss" style=" color: #3366aa; font-weight: 500;   "&gt;stored a website in a favicon.&lt;/a&gt; Why? Why not?&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/791/rss" width="1" height="1" /&gt;</description>
      <pubDate>Tue, 23 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://javascriptweekly.com/issues/791</guid>
    </item>
    <item>
      <title>Flow vs TypeScript in 2026</title>
      <link>https://javascriptweekly.com/issues/790</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;#​790 — June 16, 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/186642/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/186567/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/nylqu7hc7vyxog0czncx.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/186567/rss" title="medium.com" style=" color: #3366aa;    font-size: 1.1em; line-height: 1.4em;"&gt;Flow for TypeScript Users in 2026&lt;/a&gt;&lt;/span&gt; — &lt;a href="https://javascriptweekly.com/link/186568/rss" style=" color: #3366aa;   "&gt;Flow&lt;/a&gt; is Meta's mature typed dialect of JavaScript, and over the years its syntax has converged closely with TypeScript's. This post walks through where the two now differ:  Flow's stricter defaults reject several crash-prone patterns TypeScript's &lt;code&gt;strict&lt;/code&gt; mode accepts, and it adds features of its own, like exhaustive &lt;code&gt;match&lt;/code&gt; expressions.&lt;/p&gt;
  &lt;p&gt;George Zahariev (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;a href="https://javascriptweekly.com/link/186566/rss" style=" color: #3366aa;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/d3d40cc9.jpg" width="110" height="110" style="padding-top: 12px; padding-left: 12px;     line-height: 100%; "&gt;&lt;/a&gt;
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/186566/rss" title="frontendmasters.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Free Claude Code Course from Anthropic + Master.Dev&lt;/a&gt;&lt;/span&gt; — Coding is changing fast, and the engineers who thrive will be the ones who direct AI instead of guessing at it. Lydia Hallie from Anthropic teaches exactly that in our Claude Code course, &lt;a href="https://javascriptweekly.com/link/186566/rss" style=" color: #3366aa;   "&gt;now free for everyone&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Master.dev &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/186569/rss" title="github.blog" style=" color: #3366aa;    font-size: 1.05em;"&gt;npm v12 to Stop Running Install Scripts by Default&lt;/a&gt;&lt;/span&gt; — The forthcoming npm v12 will no longer execute &lt;code&gt;preinstall&lt;/code&gt;/&lt;code&gt;install&lt;/code&gt;/&lt;code&gt;postinstall&lt;/code&gt; scripts, unless you explicitly allow them. You can get ready now by using &lt;a href="https://javascriptweekly.com/link/186570/rss" style=" color: #3366aa;   "&gt;npm 11.16.0&lt;/a&gt; which prints warnings about anything v12 &lt;em&gt;would&lt;/em&gt; block.&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;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/186571/rss" title="htmx.org" style=" color: #3366aa;    font-size: 1.05em;"&gt;Code is Cheap(er)&lt;/a&gt;&lt;/span&gt; — The creator of &lt;a href="https://javascriptweekly.com/link/186572/rss" style=" color: #3366aa;   "&gt;htmx&lt;/a&gt; says that while code is increasingly easy to produce, &lt;em&gt;understanding&lt;/em&gt; is still expensive, and &lt;em&gt;“complexity remains our apex predator.”&lt;/em&gt;&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;strong&gt;IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The pnpm team has created a &lt;a href="https://javascriptweekly.com/link/186573/rss" style=" color: #3366aa; font-weight: 500;   "&gt;new GitHub Action to set up both &lt;code&gt;pnpm&lt;/code&gt; and a JS runtime&lt;/a&gt; (Node, Deno, or Bun).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🐈 &lt;a href="https://javascriptweekly.com/link/186574/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Compilecat&lt;/a&gt; (&lt;a href="https://javascriptweekly.com/link/186575/rss" style=" color: #3366aa; font-weight: 500;   "&gt;repo&lt;/a&gt;) is a new, experimental JavaScript performance compiler that does &lt;a href="https://javascriptweekly.com/link/186576/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Closure&lt;/a&gt;-style optimizations.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Several major projects are taking shape in beta/pre-release stages right now, including &lt;a href="https://javascriptweekly.com/link/186577/rss" style=" color: #3366aa; font-weight: 500;   "&gt;SvelteKit 3.0&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/186578/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Vue 3.6&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/186579/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Vite 8.1&lt;/a&gt;, and &lt;a href="https://javascriptweekly.com/link/186580/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Astro 7.0&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-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/186581/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Playwright 1.61&lt;/a&gt; – You can now register and test passkeys, as well as read/write to &lt;code&gt;localStorage&lt;/code&gt; and &lt;code&gt;sessionStorage&lt;/code&gt; via a new &lt;a href="https://javascriptweekly.com/link/186582/rss" style=" color: #3366aa; font-weight: 500;   "&gt;WebStorage&lt;/a&gt; API.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/186583/rss" style=" color: #3366aa; font-weight: 500;   "&gt;ESLint v10.5.0&lt;/a&gt; – Five core rules now highlight smaller ranges of code to avoid shadowing other problems in editors.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🤖 &lt;a href="https://javascriptweekly.com/link/186584/rss" style=" color: #3366aa; font-weight: 500;   "&gt;TanStack AI Beta&lt;/a&gt; – Framework and provider-agnostic AI toolkit.&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/186586/rss" title="tanstack.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;How TanStack Cut TypeScript Type-Checking Work by Up to 86%&lt;/a&gt;&lt;/span&gt; — TanStack Table v9 (&lt;a href="https://javascriptweekly.com/link/186588/rss" style=" color: #3366aa;   "&gt;now in beta&lt;/a&gt;) made its features modular, but the generic types behind that flexibility introduced noticeable editor lag in alpha. This deep-dive shows how the team used &lt;code&gt;tsc&lt;/code&gt; diagnostics to cut type-checking work by 62–86%, with lessons for anyone authoring type-heavy libraries.&lt;/p&gt;
  &lt;p&gt;Kevin Van Cott (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;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/186589/rss" title="www.robinwieruch.de" style=" color: #3366aa;    font-size: 1.05em;"&gt;React Libraries and Tools for 2026&lt;/a&gt;&lt;/span&gt; — Every year, Robin updates this post covering his opinionated list of essential React ecosystem libraries.&lt;/p&gt;
  &lt;p&gt;Robin Wieruch &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/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/186590/rss" title="wallabyjs.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Your AI Writes Tests That Pass but Prove Nothing. Fix It&lt;/a&gt;&lt;/span&gt; — Wallaby CLI makes test generation 10x smarter with live coverage and runtime data, using 3x fewer tokens. One skill to install.&lt;/p&gt;
  &lt;p&gt;Wallaby Team &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #993 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://javascriptweekly.com/link/186592/rss" title="sighery.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;Changing the Kindle's Homepage by Editing Hermes Bytecode&lt;/a&gt;&lt;/span&gt; — The Kindle’s UI now runs on a &lt;a href="https://javascriptweekly.com/link/186594/rss" style=" color: #3366aa;   "&gt;Hermes&lt;/a&gt;-powered JavaScript stack. Here’s how you can edit the bytecode Hermes produces to change the Kindle UI’s behavior.&lt;/p&gt;
  &lt;p&gt;Nicholas Tarta &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/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/186595/rss" title="nico.codes" style=" color: #3366aa;    font-size: 1.05em;"&gt;Making &lt;code&gt;numpy-ts&lt;/code&gt; as Fast as Native&lt;/a&gt;&lt;/span&gt; — How a &lt;a href="https://javascriptweekly.com/link/186596/rss" style=" color: #3366aa;   "&gt;TypeScript NumPy port&lt;/a&gt; went from 15x slower to matching native, by changing not whether to use WASM, but who owns the bytes.&lt;/p&gt;
  &lt;p&gt;Nico Dupont &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/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/186597/rss" style=" color: #3366aa; font-weight: 500;   "&gt;How Building an HTML-First Site Doubled Our Users Overnight&lt;/a&gt; – Out with the React, and in with the Astro. &lt;cite&gt;Alistair Davidson&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/186598/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Building a Real Blog Easily in Astro&lt;/a&gt; – By &lt;em&gt;real&lt;/em&gt;, Zell means something beyond demo-level, with excerpts, post update dates, etc. &lt;cite&gt;Zell Liew&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://javascriptweekly.com/link/186599/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Streaming HTML with &lt;code&gt;textStream()&lt;/code&gt; in Chrome Canary&lt;/a&gt;  &lt;cite&gt;Ollie Williams&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/186600/rss" title="github.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;eslint-plugin-unicorn 67.0: More Than 200 Powerful ESLint Rules&lt;/a&gt;&lt;/span&gt; — Sindre’s set of curated rules has grown a lot, with almost 100 added or updated in the past few weeks alone. Like enforcing &lt;a href="https://javascriptweekly.com/link/186602/rss" style=" color: #3366aa;   "&gt;better comments&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/186603/rss" style=" color: #3366aa;   "&gt;limiting the depth of nested calls&lt;/a&gt;, &lt;a href="https://javascriptweekly.com/link/186604/rss" style=" color: #3366aa;   "&gt;preferring &lt;code&gt;Temporal&lt;/code&gt; over &lt;code&gt;Date&lt;/code&gt;&lt;/a&gt;, and &lt;a href="https://javascriptweekly.com/link/186605/rss" style=" color: #3366aa;   "&gt;preferring HTTPS over HTTP&lt;/a&gt; in URLs. These rules will seriously challenge (and improve!) your code.&lt;/p&gt;
  &lt;p&gt;Sindre Sorhus 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/186606/rss" title="github.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;zod-compiler: Compile Zod Schemas into Zero-Overhead Validators&lt;/a&gt;&lt;/span&gt; — A build-time compiler that plugs into Vite, webpack, et al. and rewrites existing schemas into optimized, tree-shakeable validators. Claims 2–75x faster validation with no source changes and the full Zod API preserved.&lt;/p&gt;
  &lt;p&gt;Gajus Kuizinas &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/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/186607/rss" title="www.tigerdata.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;That Slow Analytics Endpoint? It's a Database Problem&lt;/a&gt;&lt;/span&gt; — Pipelines, sync lag, stale data. That's the cost of a split stack. TimescaleDB extends Postgres so your app stays fast.&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;span&gt;📊&lt;/span&gt; &lt;a href="https://javascriptweekly.com/link/186608/rss" title="netil.medium.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;billboard.js 4.0: A JavaScript Chart Library Based on D3&lt;/a&gt;&lt;/span&gt; — At almost nine years old, billboard.js now has a new, opt-in canvas-based rendering mode (SVG remains the default), smaller bundles, and better performance on large datasets. There are &lt;a href="https://javascriptweekly.com/link/186609/rss" style=" color: #3366aa;   "&gt;hundreds of demos&lt;/a&gt; ranging from &lt;a href="https://javascriptweekly.com/link/186610/rss" style=" color: #3366aa;   "&gt;donut charts&lt;/a&gt; and &lt;a href="https://javascriptweekly.com/link/186611/rss" style=" color: #3366aa;   "&gt;funnel charts&lt;/a&gt; to &lt;a href="https://javascriptweekly.com/link/186612/rss" style=" color: #3366aa;   "&gt;overlapping bar charts&lt;/a&gt; and &lt;a href="https://javascriptweekly.com/link/186613/rss" style=" color: #3366aa;   "&gt;radar charts&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Jae Sung Park (NAVER) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/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/186614/rss" title="polycss.com" style=" color: #3366aa;    font-size: 1.05em;"&gt;PolyCSS: CSS 3D Engine for the DOM&lt;/a&gt;&lt;/span&gt; — Renders textured 3D polygon meshes entirely in the DOM using CSS &lt;code&gt;matrix3d()&lt;/code&gt; transforms — no WebGL or &amp;lt;&lt;code&gt;canvas&lt;/code&gt;&amp;gt; required. Works with vanilla JS, React, and Vue. There’s a &lt;a href="https://javascriptweekly.com/link/186615/rss" style=" color: #3366aa;   "&gt;gallery&lt;/a&gt; to explore and a &lt;a href="https://javascriptweekly.com/link/186616/rss" style=" color: #3366aa;   "&gt;live builder&lt;/a&gt; if you want to play around.&lt;/p&gt;
  &lt;p&gt;LayoutitStudio &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/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/186617/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/dywvkeo9lzhcxdrflnyq.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/186617/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Tabulator 6.5&lt;/a&gt; &lt;em&gt;(above)&lt;/em&gt; – Create interactive tables from any HTML table, JS array or JSON data.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🕒 &lt;a href="https://javascriptweekly.com/link/186618/rss" style=" color: #3366aa; font-weight: 500;   "&gt;&lt;code&gt;&amp;lt;relative-time&amp;gt;&lt;/code&gt; 5.2.0&lt;/a&gt; – Web Component for formatting automatically-updating timestamps as localized strings or relative times.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/186619/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Fable 5.2&lt;/a&gt; – No, not the LLM you can't use, but an F# to JS/TS (and now Erlang too) compiler you &lt;em&gt;can&lt;/em&gt; use. &lt;a href="https://javascriptweekly.com/link/186620/rss" style=" color: #3366aa; font-weight: 500;   "&gt;More info.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/186621/rss" style=" color: #3366aa; font-weight: 500;   "&gt;React Native 0.86&lt;/a&gt; – Edge-to-edge support on Android 15+ and improvements to its DevTools.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/186622/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Biome 2.5&lt;/a&gt; – The fast code formatting and linting toolchain has now passed 500 lint rules.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/186623/rss" style=" color: #3366aa; font-weight: 500;   "&gt;get-value 4.1&lt;/a&gt; – Use paths like &lt;code&gt;a.b.c&lt;/code&gt; to get a nested value from an object.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/186624/rss" style=" color: #3366aa; font-weight: 500;   "&gt;axios v1.18.0&lt;/a&gt; – Promise-based HTTP client for the browser and Node.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;📊 &lt;a href="https://javascriptweekly.com/link/186625/rss" style=" color: #3366aa; font-weight: 500;   "&gt;visx 4.0&lt;/a&gt; – Airbnb's visualization primitives for React.&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;📸 Add robust in-browser barcode scanning to your web apps using &lt;a href="https://javascriptweekly.com/link/186626/rss" style=" color: #3366aa; font-weight: 500;   "&gt;STRICH&lt;/a&gt;, a lean JS library. &lt;a href="https://javascriptweekly.com/link/186626/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Free 30-day trial, try the demo app today!&lt;/a&gt;&lt;/p&gt;
 
&lt;p&gt;Flaky tests slowing down dev? &lt;a href="https://javascriptweekly.com/link/186627/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;🤖 Generate 50,000 invoices overnight. &lt;a href="https://javascriptweekly.com/link/186628/rss" style=" color: #3366aa; font-weight: 500;   "&gt;Foxit's DocGen API&lt;/a&gt; merges JSON data into branded PDFs at scale, with no PDFKit and no copy-paste.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/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/186630/rss" style=" color: #3366aa;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ixupyzbbgqjnvtbe54el.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;🌐 The WebKit team &lt;a href="https://javascriptweekly.com/link/186630/rss" style=" color: #3366aa; font-weight: 500;   "&gt;shows off MapKit JS 6&lt;/a&gt; &lt;em&gt;(above)&lt;/em&gt;, a way to integrate Apple Maps into your site &lt;a href="https://javascriptweekly.com/link/186631/rss" style=" color: #3366aa; font-weight: 500;   "&gt;like in this example&lt;/a&gt;. You need a token from an Apple Developer account though.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;😱 A developer was sent &lt;a href="https://javascriptweekly.com/link/186632/rss" style=" color: #3366aa; font-weight: 500;   "&gt;a malicious JavaScript 'coding test' by a fake recruiter on LinkedIn&lt;/a&gt; in an attempt to backdoor his machine. I've heard about this vector a few times this year, so be careful.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/186634/rss" style=" color: #3366aa; font-weight: 500;   "&gt;WASI 0.3 (WebAssembly System Interface) has launched&lt;/a&gt;, bringing native async support to WebAssembly Components.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://javascriptweekly.com/link/186635/rss" style=" color: #3366aa; font-weight: 500;   "&gt;performative-ui&lt;/a&gt; is a fun set of modern clichéd "AI startup" UI components for React, like &lt;a href="https://javascriptweekly.com/link/186637/rss" style=" color: #3366aa; font-weight: 500;   "&gt;ASCII hero art&lt;/a&gt; and &lt;a href="https://javascriptweekly.com/link/186638/rss" style=" color: #3366aa; font-weight: 500;   "&gt;node graph backgrounds&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A dev had an old USB scanner with no modern drivers, but &lt;a href="https://javascriptweekly.com/link/186639/rss" style=" color: #3366aa; font-weight: 500;   "&gt;got it working via a browser-based WASM-powered emulator&lt;/a&gt; bridged to the physical scanner through WebUSB. He previously did something similar &lt;a href="https://javascriptweekly.com/link/186640/rss" style=" color: #3366aa; font-weight: 500;   "&gt;with an old printer&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/790/rss" width="1" height="1" /&gt;</description>
      <pubDate>Tue, 16 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://javascriptweekly.com/issues/790</guid>
    </item>
  </channel>
</rss>
