[ Web Proxy ]
URL:
Viewing: https://javascriptweekly.com/rss/ [Back]  [Original]


  
    JavaScript Weekly
    A newsletter of JavaScript articles, news and cool projects
    https://javascriptweekly.com/
    
      Bun 1.4 is (finally) fresh out of the oven
      https://javascriptweekly.com/issues/799


<table border=0 cellpadding=0 cellspacing=0 align="center" border="0">
  <tr><td >
  <div>    
    <table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr>
<td align="left" ><p>#799  August 25, 2026</p></td>
<td align="right" ><p><a href="https://javascriptweekly.com/link/189396/rss" >Read on the Web</a></p></td>
</tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ><p> I'm back from an intense week of Disney vacationing with the family, so I feel more tired than before I left  but it's time to catch up with all things JavaScript! <br>__<br><em>Your editor, Peter Cooper</em></p></td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ></td></tr></table>
    
    <table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ><p>JavaScript Weekly</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  <a href="https://javascriptweekly.com/link/189397/rss" ><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/jgkycdtzpabaibtigxfp.jpg" width="640" ></a>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/189397/rss" title="bun.com" >Bun 1.4: Now More Node.js Compatible Than Ever</a></span>  Several weeks after it was initially expected to launch, Bun's <a href="https://javascriptweekly.com/link/189398/rss" >big AI-powered rewrite from Zig to Rust</a> is here, complete with traditional <a href="https://javascriptweekly.com/link/189399/rss" > release video</a>. A lot of effort has been put into compatibility, not just with Node, but Next.js, Playwright, Vitest, and Nuxt too. Throughput and CPU/memory usage also see hugeimprovements.</p>
  <p>The Bun Team </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ><p> Grab the biggest coffee you can if you intend to get through the release post. It's easily the longest I've ever seen in fifteen years of running this newsletter.</p></td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  <a href="https://javascriptweekly.com/link/189348/rss" ><img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/89dbfa4d.png" width="110" height="110" ></a>
  <p><span ><a href="https://javascriptweekly.com/link/189348/rss" title="developers.webflow.com" >Webflow for Developers</a></span>  Most tools make you choose between visual builders and real code. Webflow gives you both: APIs, SDKs, Code Components, and Webflow Cloud to deploy custom apps, plus an MCP server to build withagents.</p>
  <p>Webflow <span >sponsor</span></p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><span></span><a href="https://javascriptweekly.com/link/189349/rss" title="runjs.app" >Music Theory for JavaScript Developers</a></span>  A from-first-principles tour of music theory, deriving the twelve notes, scales, chords and progressions from plain arithmetic, with runnable Web Audio examplesthroughout.</p>
  <p>Luke Haas </p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/189400/rss" title="www.solidjs.com" >Solid 2.0 RC: The Big &lt;Reveal&gt;</a></span>  Async now lives in the reactive graph, so async data flows through ordinary memos. <code>createResource</code>, <code>batch</code> and <code>startTransition</code> are gone. SolidStart gets retired into a <code>start: true</code> flag on the Vite plugin, and the API is nowfrozen.</p>
  <p>Ryan Carniato </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<p><strong>IN BRIEF:</strong></p>
<ul>
<li>
<p>Aurora Scharff shows off <a href="https://javascriptweekly.com/link/189350/rss" >how Next.js 16.3 helps developers build 'app-like'experiences</a>.</p>
</li>
<li>
<p>Aviv Keller presents <a href="https://javascriptweekly.com/link/189401/rss" >a recap of everything from Node.js Interactive 2026</a> which took place in Atlanta two weeksago.</p>
</li>
<li>
<p> <a href="https://javascriptweekly.com/link/189351/rss" >TanStack AI has entered its RC phase</a> with a look at the journey so far and its mainfeatureset.</p>
</li>
<li>
<p>Oxlint has <a href="https://javascriptweekly.com/link/189402/rss" >gained React Compiler support</a>.</p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<p><strong>RELEASES:</strong></p>
<ul>
<li>
<p><a href="https://javascriptweekly.com/link/189353/rss" >Electron 44</a>  No post yet, but it has dropped 32-bit support, requires macOS 13+, <code>clipboard</code> is now aligned with the W3C Clipboard API, and added <code>net.WebSocket</code> and the ability to set window opacity onLinux.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/189354/rss" >Waku 1.0 RC</a>  Minimal RSC-first React framework, now API-frozen ahead of v1 final, adding type-safe navigation that catches bad routes at compile time and experimental instant paints from cached route shells.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/189403/rss" >SvelteKit 3 Release Candidate</a>, <a href="https://javascriptweekly.com/link/189355/rss" >React Native 0.87</a>, <a href="https://javascriptweekly.com/link/189356/rss" >ESLint 10.9</a> (and <a href="https://javascriptweekly.com/link/189357/rss" >10.9.1</a>), <a href="https://javascriptweekly.com/link/189358/rss" >Axios 1.20.0</a>,<a href="https://javascriptweekly.com/link/189359/rss" >pnpm11.23</a></p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ><p> Articles and Videos</p></td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/189361/rss" title="infrequently.org" >The Wicked Reason Removing Code Beats Better Scheduling</a></span>  A lot of performance work goes into shuffling when things load, when the bigger win is usually not sending the code at all. Alex Russell makes the case that this is a management problem more than a technicalone.</p>
  <p>Alex Russell </p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/189362/rss" title="blog.gaborkoos.com" >ESM and CommonJS: What <code>import</code> and <code>require</code> Actually Do</a></span>  They look like the same operation, but Gabor shows how an ESM <code>import</code> stays wired to the exporter's binding, while a destructured <code>require()</code> only holds a <em>copy</em>. The consequences show up in circular dependencies and publishedpackages.</p>
  <p>Gabor Koos </p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/189363/rss" title="jobs.fidelity.com" >Build with Strategy. Lead with Curiosity</a></span>  Fidelity is looking for technologists that ask questions, challenge conventions and care about the impact of theirproducts.</p>
  <p>Fidelity Careers <span >sponsor</span></p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/189364/rss" title="blog.cloudflare.com" >How Cloudflare Moved Its Blog to Its Own WordPress Alternative</a></span>  How Cloudflare moved its main blog onto <a href="https://javascriptweekly.com/link/189365/rss" >EmDash</a>, the Astro CMS it's building. Interesting parts include the k6 load tests and using a proxy Worker to ramp up traffic during switchover.</p>
  <p>Jackson, Carneiro, and Dutton (Cloudflare) </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<p> <a href="https://javascriptweekly.com/link/189366/rss" >The Creator of TypeScript on 10x Faster TypeScript and Why AI Won't ReplaceSWEs</a>  A candid hour-long interview with Microsoft's AndersHejlsberg. <cite>Ryan Peterman</cite></p>
<p> <a href="https://javascriptweekly.com/link/189367/rss" >Hiding Internal State in TypeScript Objects</a>  How a non-exported <code>unique symbol</code> used as a property key keeps internal state out of <code>Object.keys</code> and <code>JSON.stringify</code>. <cite>Carlos Menezes</cite></p>
<p> <a href="https://javascriptweekly.com/link/189368/rss" >Reliable Query Prefetching with TanStack Router</a>  <cite>Dominik Dorfmeister</cite></p>
<p> <a href="https://javascriptweekly.com/link/189369/rss" >I Patched the TypeScript Compiler to Add Up Nine Numbers</a> <cite>Hugo Vilela</cite></p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ><p>Code &amp; Tools</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  <a href="https://javascriptweekly.com/link/189370/rss" ><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/tcpdkzgmos3kjf4wj5mw.jpg" width="640" ></a>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/189370/rss" title="daverupert.com" >MicroLighter: A 2KB Syntax Highlighter That Doesn't Touch the DOM</a></span>  A small, client-side syntax highlighter that makes use of the <a href="https://javascriptweekly.com/link/189371/rss" >CSS Custom Highlights API</a>. No dependencies, and with themes for light and dark modes. The homepage has some <a href="https://javascriptweekly.com/link/189372/rss" >livedemos</a>.</p>
  <p>Dave Rupert </p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/189373/rss" title="termdom.org" >TermDOM: Build Terminal UIs with HTML, CSS and DOM</a></span>  A real DOM and layout engine to paint to the terminal, so you can write a TUI with vanilla JS (or framework of choice) and HTML (not just React, as with <a href="https://javascriptweekly.com/link/189374/rss" >Ink</a>). This week's <a href="https://javascriptweekly.com/link/189375/rss" >v0.1.5 release</a> adds CSS gridsupport.</p>
  <p>Brian Kim </p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/189376/rss" title="github.com" >Full-Text Search in Drizzle Without a Second System</a></span>  Try the official ParadeDB integration for Drizzle. Search your live Postgres tables. No ETL, no Elasticsearchcluster.</p>
  <p>ParadeDB <span >sponsor</span></p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/189377/rss" title="formisch.dev" >Formisch 1.0: Framework-Agnostic Schema-Based Form Library</a></span>  A headless form library where a <a href="https://javascriptweekly.com/link/189378/rss" >Valibot</a> schema drives types and validation across eight frameworks. v1 adds Angular and React Native support, migration guides for TanStack Form/React Hook Form/Formik users, plus Markdown docs foragents.</p>
  <p>Formisch Team </p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/189379/rss" title="stryker-mutator.io" >Stryker Mutator 10.0: Test Your Tests with Mutation Testing</a></span>  Stryker makes <a href="https://javascriptweekly.com/link/189380/rss" >small, deliberate changes</a> to your code and checks whether your test suite catches them. If it doesn't, your tests may be too lax and need work. Here's <a href="https://javascriptweekly.com/link/189381/rss" >how to getstarted</a>.</p>
  <p>Jansen, de Lang, et al. </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<ul>
<li>
<p><a href="https://javascriptweekly.com/link/189382/rss" >Ionic Framework v9</a>  The mobile-first UI toolkit for React, Angular and Vue returns after a two-year gap with React Router 6 support, zoneless change detection in Angular 21+, and more. There's <a href="https://javascriptweekly.com/link/189383/rss" >an upgrade guide for v8 users</a>.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/189384/rss" >Papa Parse 5.7</a>  Fast, flexible CSV-to-JSON and JSON-to-CSV library.</p>
</li>
<li>
<p> <a href="https://javascriptweekly.com/link/189385/rss" >MapLibre GL JS 6.6</a>  GPU-accelerated vector tile rendering library for interactive maps in the browser.</p>
</li>
<li>
<p> <a href="https://javascriptweekly.com/link/189386/rss" >Plotly.js 4.0</a>  Standalone library for creating interactive data visualizations.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/189387/rss" >GTKX 1.3</a>  Create native GTK-powered Linux desktop apps withReact.</p>
</li>
<li>
<p> <a href="https://javascriptweekly.com/link/189388/rss" >YouTube.js 18.0</a>  JavaScript client for YouTube's internalAPI.</p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ><p> Elsewhere in the ecosystem</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<p>Some other interesting tidbits in the broader landscape:</p>
<ul>
<li>
<p>Last week the Next.js team <a href="https://javascriptweekly.com/link/189389/rss" >did an AMA (Ask Me Anything) on Reddit</a> and the thread is packed with answers and insights.</p>
</li>
<li>
<p> Jake Archibald posts <a href="https://javascriptweekly.com/link/189390/rss" >an update on Firefox's coming support for JPEG XL</a> which Chrome is also planning to support soon.</p>
</li>
<li>
<p> Gajus Kuizinas has put together a <a href="https://javascriptweekly.com/link/189391/rss" >CSS-in-JS Arena</a> comparing StyleX, Panda CSS and his own brand new <a href="https://javascriptweekly.com/link/189392/rss" >Bamboo CSS</a> on the same React Router 8 app.</p>
</li>
<li>
<p>Did you know splitting a git commit <a href="https://javascriptweekly.com/link/189393/rss" >is now a single command</a> (in <a href="https://javascriptweekly.com/link/189404/rss" >Git 2.54+</a>)? <code>git history split &lt;ref&gt;</code> walks the change hunk by hunk and prompts for bothmessages.</p>
</li>
<li>
<p> <a href="https://javascriptweekly.com/link/189394/rss" >An N64 emulator written in JavaScript</a>. If you have a ROM file to use, you can <a href="https://javascriptweekly.com/link/189405/rss" >play with it here</a>.</p>
</li>
</ul>

</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ></td></tr></table>
</div>
  </td></tr>
</table>


<img src="https://javascriptweekly.com/open/799/rss" width="1" height="1" />
      Tue, 25 Aug 2026 00:00:00 +0000
      https://javascriptweekly.com/issues/799
    
    
      Shipping less JavaScript with Baseline
      https://javascriptweekly.com/issues/798


<table border=0 cellpadding=0 cellspacing=0 align="center" border="0">
  <tr><td >
  <div>    
    <table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr>
<td align="left" ><p>#798  August 11, 2026</p></td>
<td align="right" ><p><a href="https://javascriptweekly.com/link/189117/rss" >Read on the Web</a></p></td>
</tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ><p> A brief scheduling note: <strong>We're taking a summer break next week, so we'll be back in your inbox on August 25.</strong> Catch you then!<br>__<br><em>Your editor, Peter Cooper</em></p></td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ></td></tr></table>
    
    <table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ><p>JavaScript Weekly</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  <a href="https://javascriptweekly.com/link/189062/rss" ><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/hwbgtoneensejphb9l4r.jpg" width="640" ></a>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/189062/rss" title="engineeringblog.yelp.com" >Migrating a Large Flow Monorepo to TypeScript</a></span>  Over several years, Yelp moved 1.4 million lines off <a href="https://javascriptweekly.com/link/189063/rss" >Flow</a>, and this writeup is more useful as a guide to running <em>any</em> long migration than as a Flow story. It was a big win on its own terms, with type coverage up from 83% to96%.</p>
  <p>Shawn Walton (Yelp) </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ><p> If you missed it, Yelp also wrote about <a href="https://javascriptweekly.com/link/189119/rss" >its webpack to Rspackmigration</a>.</p></td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  <a href="https://javascriptweekly.com/link/189061/rss" ><img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/c2161169.jpg" width="160" height="110" ></a>
  <p><span ><a href="https://javascriptweekly.com/link/189061/rss" title="dashboard.render.com" >Render Runs JavaScript, Front to Back</a></span>  Link your repo and Render takes it from there. Wire up your Vite site to your Hono API to your BullMQ job to your distributed agent workflow, all on one platform. Loop in your agent with official Render <code>/plugins</code> for Codex and Claude Code. Start free and scale fromthere.</p>
  <p>Render <span >sponsor</span></p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/189064/rss" title="blog.cloudflare.com" >Kitesurf: Cloudflare's Agent-First Browser in V8 Isolates</a></span>  A browser engine that runs on <em>Workers</em> with one isolate per page. Aimed at agents rather than humans, it uses 3-7x less CPU and memory than Chromium, at the cost of being slower. You can <a href="https://javascriptweekly.com/link/189065/rss" >try it out now</a> in beta, and it'll be open sourced in duecourse.</p>
  <p>Martinho, Constant, Figueira, and Duarte (Cloudflare) </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<p><strong>IN BRIEF:</strong></p>
<ul>
<li>
<p><a href="https://javascriptweekly.com/link/189066/rss" >pnpm 12, the Rust rewrite</a>, is now a release candidate, and only three things differ from pnpm11.</p>
</li>
<li>
<p>Bun 1.4 continues to be <a href="https://javascriptweekly.com/link/189067/rss" >teased on </a> on an almost daily basis, and is expected any day now, though creator Jarred Sumner has been distracted by <a href="https://javascriptweekly.com/link/189068/rss" >trying to solve the Riemann hypothesis</a>.</p>
</li>
<li>
<p> A <a href="https://javascriptweekly.com/link/189069/rss" >12-year-old weak PRNG in <code>crypto-js</code></a> was used to drain crypto wallets, though only if you generated secrets with it on a pre-4.0.0 (2020!)release.</p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<p><strong>RELEASES:</strong></p>
<ul>
<li>
<p><a href="https://javascriptweekly.com/link/189070/rss" >Deno 2.9.5</a>  Adds an <a href="https://javascriptweekly.com/link/189071/rss" >experimental QuickJS backend</a> for <code>deno compile</code> and <code>deno desktop</code>.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/189072/rss" >Node.js 26.7.0 (Current)</a>  Adds <code>--test-coverage-include-all</code>, FFI and SQLite crash fixes, and initial support for Perfetto tracing.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/189073/rss" >SolidStart v2</a>  <a href="https://javascriptweekly.com/link/189074/rss" >SolidJS</a>'s equivalent of Next.js orSvelteKit.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/189075/rss" >Preact 11 Release Candidate</a>, <a href="https://javascriptweekly.com/link/189076/rss" >Astro 7.2</a>, <a href="https://javascriptweekly.com/link/189077/rss" >Motion 13.1</a></p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ><p> Articles and Videos</p></td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/189078/rss" title="www.smashingmagazine.com" >How <em>Baseline</em> Can Help You Ship Less JavaScript</a></span>  A practical audit method for your dependencies. Groups them into clusters (<code>Intl</code>, HTTP, UI primitives, <code>lodash</code>), gives you questions to ask before deleting things, and works through a case where a swap can make your bundle <em>bigger</em> (<a href="https://javascriptweekly.com/link/189118/rss" >Day.js</a>  Temporal). A familiar theme developed into a rigorous, reusableaudit.</p>
  <p>Jad Joubran </p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/189080/rss" title="www.jsdelivr.com" >Making More npm Packages Work with jsDelivr ESM Mode</a></span>  <a href="https://javascriptweekly.com/link/189081/rss" >jsDelivr</a> is a popular CDN used to load npm packages into pages without a build step. This is a thorough, technical tour of what happens when converting packages to browser ESM (via its <code>/+esm</code> endpoint) and all the ways CommonJS finds to make thathard.</p>
  <p>Martin Kolrik (jsDelivr) </p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/189079/rss" title="sentry.io" >Join Sentry Live: How Etsy Stays Crash-Free</a></span>  Sentry and Etsy break down how they prep for peak traffic and debug in realtime.</p>
  <p>Sentry <span >sponsor</span></p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/189082/rss" title="remysharp.com" >Progressive Enhancement Inside of JavaScript</a></span>  Working on a train, a patchy data connection got Remy to notice users can interact with a page before its JavaScript is ready, with a neat fix being to bind a handler early and replay the intentlater.</p>
  <p>Remy Sharp </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<p> <a href="https://javascriptweekly.com/link/189083/rss" >How the Astro Team Built a 'Software Factory' to Slash Its Issue Count</a>  Agent-driven triage took Astro from over 200 open issues to30. <cite>Matthew Phillips</cite></p>
<p> <a href="https://javascriptweekly.com/link/189084/rss" >Debugging Stuck Node.js Processes</a>  A trick for catching event loop blockers that neveryield. <cite>Winona Schroeer-Smith</cite></p>
<p> <a href="https://javascriptweekly.com/link/189085/rss" >Stop Reviewing Diffs. Start Reviewing Systems</a>  <cite>Kent C. Dodds</cite></p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ><p>Code &amp; Tools</p></td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/189086/rss" title="celld.dev" >celld: <em>Durable Objects</em> on Your Own S3 Bucket</a></span>  A self-hosted take on Cloudflare's Workers and Durable Objects from Deno. V8 plus SQLite and Litestream's LTX coordinate through an S3 bucket with no consensus layer. <a href="https://javascriptweekly.com/link/189087/rss" >GitHubrepo</a>.</p>
  <p>Ryan Dahl (Deno) </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ><p> On self-hosting Durable Objects with <code>workerd</code>, <em>"You beat us to it!"</em> said Durable Objects creator Kenton Varda <a href="https://javascriptweekly.com/link/189088/rss" >on Hacker News</a>, later adding <em>"celld is definitely ahead of us here. No doubt about that."</em></p></td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/189089/rss" title="www.tigerdata.com" >That Slow Tab Isn't the UI. It's the Query</a></span>  TimescaleDB extends Postgres so queries stay fast at scale, straight from live data. <a href="https://javascriptweekly.com/link/189089/rss" >Get $1000 credit tostart</a>.</p>
  <p>Tiger Data (creators of TimescaleDB) <span >sponsor</span></p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/189090/rss" title="github.com" ><em>hucre</em> 1.0: A Zero-Dependency Spreadsheet Engine</a></span>  An MIT-licensed, tree-shakeable engine for reading and writing common spreadsheet formats, including support for things like embedded images, hyperlinks, password protection, and pivottables.</p>
  <p>Wind </p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/189091/rss" title="www.vlt.io" >vlt 1.0: An <code>npm</code> Alternative With CSS-Like Selectors</a></span>  A drop-in <code>npm</code> alternative with a key draw being <code>vlt query</code>, which lets you use 60+ CSS-like selectors over your dependency graph (of which half are security related). vlt also offers hosted private packageregistries.</p>
  <p>Darcy Clarke </p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/189092/rss" title="tanstack.com" >TanStack Table v9: A Faster, More Modular Foundation</a></span>  The headless table library gets a tree-shakeable architecture, state moves to <a href="https://javascriptweekly.com/link/189093/rss" >TanStack Store</a> for <a href="https://javascriptweekly.com/link/189094/rss" >fine-grained reactivity</a>, and there are <a href="https://javascriptweekly.com/link/189095/rss" >big memory wins</a> for largedatasets.</p>
  <p>Kevin Van Cott </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<ul>
<li>
<p><a href="https://javascriptweekly.com/link/189096/rss" >devalue 5.9</a>  The Svelte project's more powerful <code>JSON.stringify</code> supporting more JS languagefeatures.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/189097/rss" >Svelte Select 6.0</a>  A select/autocomplete/typeahead Svelte component. Now requires Svelte5.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/189098/rss" >fuzzysort 4.0</a>  Fast, small fuzzy search library with ranking and customscoring.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/189099/rss" >GTKX 1.0</a>  Build native GTK4 desktop apps with React and TypeScript.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/189100/rss" >Belgie 0.40</a>  Embeds a permissioned <a href="https://javascriptweekly.com/link/189101/rss" >Deno</a> runtime in Python.</p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ></td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
	<p>Classifieds</p>
  </td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<p>Which screen is slow, and on which devices? <a href="https://javascriptweekly.com/link/189102/rss" >Expo Observe</a> is production performance monitoring for your mobileapp.</p>
 
<p> Block bots at login without slowing down real users. No CAPTCHAs, zero friction. <a href="https://javascriptweekly.com/link/189103/rss" >Try Fingerprint forfree</a>.</p>
 
<p> <a href="https://javascriptweekly.com/link/189104/rss" >Merget</a> is Git for AI-written code. It reviews every coding session and catches what your agent missed. Free for teams now:<a href="https://javascriptweekly.com/link/189104/rss" >merget.ai</a>.</p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ></td></tr></table>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ><p> Elsewhere in the ecosystem</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  <a href="https://javascriptweekly.com/link/189105/rss" ><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/kkcqg7kjmncbzeusexlr.jpg" width="640" ></a>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<ul>
<li>
<p>The <a href="https://javascriptweekly.com/link/189106/rss" >js1024</a> code golfing contest is over and we have <a href="https://javascriptweekly.com/link/189107/rss" >three winners</a>! <a href="https://javascriptweekly.com/link/189105/rss" >Skydreams</a>, a <em>Super Monkey Ball</em>-like experience, came in first place. You can read the <a href="https://javascriptweekly.com/link/189108/rss" >readable</a> and <a href="https://javascriptweekly.com/link/189109/rss" >minified</a> source if you want to see the techniquesused.</p>
</li>
<li>
<p>Docker has entered the agent sandbox game with <a href="https://javascriptweekly.com/link/189110/rss" >Docker Sandboxes</a>, a free way to run coding agents in their own microVMs with a Docker daemoninside.</p>
</li>
<li>
<p>MCP goes <em>stateless</em> with <a href="https://javascriptweekly.com/link/189111/rss" >the 2026-07-28 spec</a>, so no more sticky sessions or open streams. <a href="https://javascriptweekly.com/link/189112/rss" >Cloudflare covers what changed</a> and what it takes to migrate.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/189113/rss" >scriptc</a> is a new, experimental TypeScript-to-native compiler from Vercel Labs. With <code>--dynamic</code>, unsupported or dynamic portions are run in a bundled QuickJSengine.</p>
</li>
<li>
<p> The <a href="https://javascriptweekly.com/link/189115/rss" >results of the <em>State of CSS 2026</em> survey</a> have been released.</p>
</li>
</ul>
</td></tr></table>
<div ></div>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<p>I'm off on vacation at the end of this week, so see you again on August25! Or in <a href="https://javascriptweekly.com/link/189120/rss" >Node Weekly</a> and <a href="https://javascriptweekly.com/link/189121/rss" >React Status</a> if you subscribe to those;-)</p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ></td></tr></table>
</div>
  </td></tr>
</table>


<img src="https://javascriptweekly.com/open/798/rss" width="1" height="1" />
      Tue, 11 Aug 2026 00:00:00 +0000
      https://javascriptweekly.com/issues/798
    
    
      Reimplementing htmx from scratch
      https://javascriptweekly.com/issues/797


<table border=0 cellpadding=0 cellspacing=0 align="center" border="0">
  <tr><td >
  <div>    
    <table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr>
<td align="left" ><p>#797  August 4, 2026</p></td>
<td align="right" ><p><a href="https://javascriptweekly.com/link/188817/rss" >Read on the Web</a></p></td>
</tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ></td></tr></table>
    
    <table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ><p>JavaScript Weekly</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  <a href="https://javascriptweekly.com/link/188754/rss" ><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/sk9fe6nujcbnpxh2pkor.jpg" width="640" ></a>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/188754/rss" title="nextjs.org" >Next.js 16.3 Released</a></span>  The newly expanded Next.js team (now including <a href="https://javascriptweekly.com/link/188755/rss" >Dan Abramov</a> and <a href="https://javascriptweekly.com/link/188756/rss" > Pete Hunt</a>!) has dropped the latest version of the popular React framework, complete with faster builds, optional TypeScript 7 type checking, faster SSR, <a href="https://javascriptweekly.com/link/188757/rss" >Instant Navigations</a>, <a href="https://javascriptweekly.com/link/188758/rss" >AI improvements</a>, andmore.</p>
  <p>The Next.js Team </p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  <a href="https://javascriptweekly.com/link/188753/rss" ><img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/0f9a422d.png" width="110" height="110" ></a>
  <p><span ><a href="https://javascriptweekly.com/link/188753/rss" title="master.dev" >Frontend Architecture: Monoliths to Microfrontends</a></span>  Maxi Ferreira walks through modular monoliths, monorepos, and microfrontends so you can pick the right structure for your codebase and know the real cost before youcommit.</p>
  <p>Master.dev <span >sponsor</span></p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/188759/rss" title="zserge.com" >Let's Make the Worst <code>htmx</code> Ever</a></span>  After making <a href="https://javascriptweekly.com/link/188760/rss" >the 'worst' React</a> and <a href="https://javascriptweekly.com/link/188761/rss" >Vue.js</a> implementations, Serge tackles rebuilding the essence of <a href="https://javascriptweekly.com/link/188762/rss" >htmx</a> from scratch. A fun way to understand what htmx actually does under thehood.</p>
  <p>Serge Zaitsev </p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/188763/rss" title="evilmartians.com" >The Secure Way to Release an <code>npm</code> Package in2026</a></span>  A practical guide to publishing <code>npm</code> packages more safely, written by the author of numerous popular packages (e.g. <a href="https://javascriptweekly.com/link/188764/rss" >postcss</a>). As well as showing <em>how</em> to use staged publishing and trusted publishing, he explains <em>why</em> theyhelp.</p>
  <p>Andrey Sitnik </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ><p> GitHub is continuing to <a href="https://javascriptweekly.com/link/188766/rss" >focus on npm security</a>, and is starting to <a href="https://javascriptweekly.com/link/188767/rss" >scan every npm package for malware</a> at publish time. This will have some implications, including a delay between publishing and availability forinstallation.</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<p><strong>IN BRIEF:</strong></p>
<ul>
<li>
<p> <strong>Developing incident:</strong> The popular <code>keyv</code> and <code>cacheable</code> packages were <a href="https://javascriptweekly.com/link/188768/rss" >compromised today with a credential-stealing worm</a>. The repercussions are ongoing with <a href="https://javascriptweekly.com/link/188822/rss" >hundreds more packages</a> compromised sofar.</p>
</li>
<li>
<p>Monthly updates from <a href="https://javascriptweekly.com/link/188769/rss" >the Astro team</a> and <a href="https://javascriptweekly.com/link/188770/rss" >the Svelte team</a>. The first preview releases of SvelteKit 3 are nowavailable.</p>
</li>
<li>
<p> The <em>Deno vs Oracle</em> JavaScript trademark case rattles on with <a href="https://javascriptweekly.com/link/188771/rss" >Deno consenting to a <em>fifth</em> extension request</a> as discovery continues.</p>
</li>
<li>
<p>Popular JS library factory <a href="https://javascriptweekly.com/link/188772/rss" ><em>TanStack</em> has rebranded</a> and introduced <a href="https://javascriptweekly.com/link/188773/rss" >new 'Markdown' and 'Highlight' libraries</a>.</p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<p><strong>RELEASES:</strong></p>
<ul>
<li>
<p><a href="https://javascriptweekly.com/link/188774/rss" >MobX 7.0</a>  The popular state manager slims down, removes deprecations, <a href="https://javascriptweekly.com/link/188775/rss" >updates its React bindings</a>, and now always uses Proxy-backed observable objects and arrays.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/188776/rss" >Javy 9.1</a>  Toolchain for compiling JavaScript to WebAssembly for WASMruntimes.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/188777/rss" >Node.js v26.6.0 (Current)</a> and <a href="https://javascriptweekly.com/link/188778/rss" >v24.19.0 (LTS)</a></p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/188779/rss" >Vite 8.2</a>, <a href="https://javascriptweekly.com/link/188780/rss" >React Three Fiber 9.7</a>, <a href="https://javascriptweekly.com/link/188818/rss" >Lerna 10.0</a>, <a href="https://javascriptweekly.com/link/188782/rss" >Hono 4.13.0</a></p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ><p> Articles and Videos</p></td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/188783/rss" title="denodell.com" >Your SPA is Leaking Memory: 'Soak Test' It</a></span>  How to run a Playwright 'soak test' that loops a user flow within the same browser context, watches DOM node and listener counts, and fails CI when a memory leak creepsin.</p>
  <p>Den Odell </p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/188784/rss" title="blog.gaborkoos.com" >Your JSON is Lying to You</a></span>  A reminder that a <code>JSON.parse</code>/<code>JSON.stringify</code> round-trip is far from lossless, with big integers, <code>undefined</code>, <code>Date</code>, and more, altered or lost along the way. Gabor covers the nastier gotchas and practical ways to make the conversion boundariesexplicit.</p>
  <p>Gabor Koos </p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/188785/rss" title="jobs.fidelity.com" >Dont Just CodeGrow as a Technologist</a></span>  Explore new technology, sharpen your existing skills and build new ones when you work in tech atFidelity.</p>
  <p>Fidelity Careers <span >sponsor</span></p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/188786/rss" title="blog.cloudflare.com" >cdnjs at 9 Billion Requests a Day: A Migration Story</a></span>  <a href="https://javascriptweekly.com/link/188787/rss" >cdnjs</a> is a popular, free CDN for loading JavaScript libraries without bundling or self-hosting (which LLMs <em>really</em> seem to like). Cloudflare explains how it now runs entirely on WorkersandR2.</p>
  <p>Simona Badoiu (Cloudflare) </p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/188788/rss" title="healeycodes.com" >Adding Go's <code>defer</code> to the TypeScript Compiler</a></span>  In Go, <code>defer</code> delays the execution of a function call until the surrounding function finishes. Can you just fork TypeScript and add language features? Yes! Should you? Probably not, as <a href="https://javascriptweekly.com/link/188789/rss" ><code>using</code></a> is already a good fit for the usecase.</p>
  <p>Andrew Healey </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<p> <a href="https://javascriptweekly.com/link/188792/rss" >Learning Remix 3</a>  By porting a Solid 2.0 demo to Remix 3's server-firstmodel. <cite>Mark Malstrom</cite></p>
<p> <a href="https://javascriptweekly.com/link/188793/rss" >Why npm Dependency Trees Are So Big</a>  <cite>Andrew Nesbitt</cite></p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ><p>Code &amp; Tools</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  <a href="https://javascriptweekly.com/link/188794/rss" ><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/zzctbd5nks5jg4ur4cir.jpg" width="640" ></a>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/188794/rss" title="tanstack.com" >TanStack Charts: A New Chart Grammar Option</a></span>  In the past few weeks, TanStack has been rapidly iterating on a new, framework-neutral way to declaratively specify a large number of chart-related visualizations in JavaScript. Output renders to SVG or canvas and can be styled as you wish. <a href="https://javascriptweekly.com/link/188795/rss" >Here's a comparison</a> against other establishedoptions.</p>
  <p>TanStack </p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/188796/rss" title="agentfield.ai" >An Open Source PR Reviewer Just Ranked #2 of 42 on Code-Review-Bench</a></span>  PR-AF outranks the commercial tools. Verified findings only, ~10x cheaper, self-hosted. Drops into GitHubActions.</p>
  <p>Agentfield.ai <span >sponsor</span></p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/188797/rss" title="github.com" >MicroDiff 1.6: Fast Object and Array Comparison Library</a></span>  Given two objects or arrays, it returns the differences (think <code>diff</code> but for JS objects). This week's release adds support for Temporal types.</p>
  <p>Jacob Jackson </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ><p> Jacob has a post from 2022 covering <a href="https://javascriptweekly.com/link/188819/rss" >how microdiff is so fast</a>.</p></td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/188798/rss" title="github.com" >Virtua: Virtual List and Grid Component for Multiple Frameworks</a></span>  A fast and small virtual list/grid component for React, Vue, Solid, Svelte, and Angular. <a href="https://javascriptweekly.com/link/188799/rss" >Here's a demo</a> and <a href="https://javascriptweekly.com/link/188800/rss" >a comparison table</a> against othersolutions.</p>
  <p>inokawa </p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><span></span><a href="https://javascriptweekly.com/link/188801/rss" title="perspective-dev.github.io" >Perspective 5: Interactive Analytics and Data Vis Component</a></span>  Originally built by JP Morgan, a WASM-powered data visualization component suited to large and/or real-time streaming datasets. 5.0/5.1 just dropped with numerous fixes, <code>wasm64</code> builds, and <a href="https://javascriptweekly.com/link/188802/rss" >windowcolumns</a>.</p>
  <p>OpenJS Foundation </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<ul>
<li>
<p><a href="https://javascriptweekly.com/link/188803/rss" >Neutralinojs 6.9</a>  The lightweight Electron alternative has a new C++ network API for making HTTP requests free of the webview's CORSrestrictions.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/188804/rss" >DukPy 0.6</a>  Simple JavaScript interpreter for Python. Now uses the QuickJS-NG engine to support more modern JavaScript and Promises.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/188805/rss" >isomorphic-git 1.40.0</a>  A pure JS implementation of Git for Node &amp;browsers.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/188806/rss" >better-result 3.0</a>  Lightweight <code>Result</code> type for TypeScript with generator-basedcomposition.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/188807/rss" >ip-address 10.4</a>  Parse, validate and manipulate IP (v4 and v6)addresses.</p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ></td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
	<p>Classifieds</p>
  </td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<p> Stop being the integration layer. <a href="https://javascriptweekly.com/link/188820/rss" >Build a CRM-to-signed-PDF pipeline in n8n</a> with plain HTTP calls. No SDK, no manual filehandling.</p>
 
<p>Flaky tests slowing down dev? <a href="https://javascriptweekly.com/link/188809/rss" >Meticulous</a> gives engineers confidence to ship faster by autonomously testing every edge case of your webapp.</p>
 
<p> <a href="https://javascriptweekly.com/link/188810/rss" >Zuplo</a> puts every API, AI, and MCP request behind one gateway. Route traffic, guard your MCP servers, and cap your AI costs. <a href="https://javascriptweekly.com/link/188810/rss" >Try itfree</a>.</p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ></td></tr></table>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ><p> Elsewhere in the ecosystem</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<ul>
<li>
<p>Did you know JavaScript supports a third type of comment (beyond <code>//</code> and <code>/* */</code>)? <a href="https://javascriptweekly.com/link/188811/rss" > Mat Marquis shows off hashbang comments</a> in a short YouTube video. And yes, <a href="https://javascriptweekly.com/link/188821/rss" >they're in the language spec!</a></p>
</li>
<li>
<p> GitHub's Sean Goedecke says <a href="https://javascriptweekly.com/link/188812/rss" >LLMs reward expertise</a>, with the most important prompting skill being expertise in the domain you're promptingfor.</p>
</li>
<li>
<p>Microsoft is previewing <a href="https://javascriptweekly.com/link/188813/rss" >a way to call native Windows APIs from Node</a> (and therefore Electron) <em>without</em> native addons, via a new dynamic Windows Runtime API (WinRT) projection.</p>
</li>
<li>
<p>Cloudflare <em>Workers</em> has added <a href="https://javascriptweekly.com/link/188814/rss" >support for inbound TCP connections and gRPC</a> <em>(in privatebeta)</em>.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/188815/rss" >Stacked pull requests are now in public preview</a> on GitHub.</p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ></td></tr></table>
</div>
  </td></tr>
</table>


<img src="https://javascriptweekly.com/open/797/rss" width="1" height="1" />
      Tue, 4 Aug 2026 00:00:00 +0000
      https://javascriptweekly.com/issues/797
    
    
      Anders Hejlsberg demos TypeScript 7's 10x speedup
      https://javascriptweekly.com/issues/796


<table border=0 cellpadding=0 cellspacing=0 align="center" border="0">
  <tr><td >
  <div>    
    <table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr>
<td align="left" ><p>#796  July 28, 2026</p></td>
<td align="right" ><p><a href="https://javascriptweekly.com/link/188526/rss" >Read on the Web</a></p></td>
</tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ></td></tr></table>
    
    <table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ><p>JavaScript Weekly</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  <a href="https://javascriptweekly.com/link/188465/rss" ><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/upfoks2bijkfgfdyf7i3.jpg" width="640" ></a>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/188465/rss" title="leerob.com" >Rust Is Eating JavaScript (Still, in2026)</a></span>  Our most-read link of 2021 gets an update for 2026. Lee Robinson (then Vercel, now Cursor) predicted Rust would be used to reimplement more and more JavaScript ecosystem tooling, and Rspack, Biome, Turbopack, and <a href="https://javascriptweekly.com/link/188466/rss" >Bun's recent rewrite</a> keep proving himright.</p>
  <p>Lee Robinson </p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  <a href="https://javascriptweekly.com/link/188464/rss" ><img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/0f9a422d.png" width="110" height="110" ></a>
  <p><span ><a href="https://javascriptweekly.com/link/188464/rss" title="master.dev" >Frontend Architecture: Monoliths to Microfrontends</a></span>  Maxi Ferreira walks through modular monoliths, monorepos, and microfrontends so you can pick the right structure for your codebase and know the real cost before youcommit.</p>
  <p>Master.dev <span >sponsor</span></p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/188467/rss" title="octanejs.dev" >Octane: React's Programming Model, But <em>Compiled</em></a></span>  From the creator of <a href="https://javascriptweekly.com/link/188468/rss" >Inferno</a> comes a successor: a compiled React-like framework (<a href="https://javascriptweekly.com/link/188469/rss" >differences explained here</a>) that generates reactivity ahead of time with no VDOM. Supports TSX/JSX and TSRX, with integrations for TanStack Query and Router, plus other common Reactlibraries.</p>
  <p>Dominic Gannaway </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<p><strong>IN BRIEF:</strong></p>
<ul>
<li>
<p> <a href="https://javascriptweekly.com/link/188470/rss" >htmx 4.0</a> is, curiously, pitching itself as <em>"the first JavaScript library to <a href="https://javascriptweekly.com/link/188527/rss" >release exclusively on the Game Boy</a>"</em> with a commemorative cartridge.</p>
</li>
<li>
<p>At last week's TC39 meeting, <a href="https://javascriptweekly.com/link/188472/rss" >Await Dictionary</a> (<code>Promise.allKeyed</code>) progressed to Stage3.</p>
</li>
<li>
<p>Ryan Dahl <a href="https://javascriptweekly.com/link/188529/rss" >says</a> that <code>deno compile</code> will soon <a href="https://javascriptweekly.com/link/188473/rss" >support using QuickJS instead of V8</a> for making radically smaller binaries from JS/TSprojects.</p>
</li>
<li>
<p>Node.js has <a href="https://javascriptweekly.com/link/188474/rss" >a new API docs site in preview</a> (now includes search!)</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/188475/rss" >Oxlint's type-aware linting is now stable</a>.</p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<p><strong>RELEASES:</strong></p>
<ul>
<li>
<p><a href="https://javascriptweekly.com/link/188476/rss" >pnpm has had a flurry of releases</a> introducing native workspace release management, a <code>doctor</code> command to diagnose installation issues, and more.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/188477/rss" >React 19.2.8</a>, <a href="https://javascriptweekly.com/link/188478/rss" >19.1.9</a> and <a href="https://javascriptweekly.com/link/188479/rss" >19.0.8</a> to fix a potential <a href="https://javascriptweekly.com/link/188530/rss" >DoS vulnerability</a> in server functionendpoints.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/188480/rss" >Ember 7.1</a>  Adds a wide variety of new helpers and operators, and docsmodernization.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/188481/rss" >Nuxt 4.5.1 and 3.21.10</a>  Security patch releases after last week's <a href="https://javascriptweekly.com/link/188482/rss" >big Nuxt 4.5 release</a>.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/188483/rss" >ESLint 10.8</a>, <a href="https://javascriptweekly.com/link/188484/rss" >Deno 2.9.4</a>, <a href="https://javascriptweekly.com/link/188485/rss" >Prisma 7.9</a>, <a href="https://javascriptweekly.com/link/188486/rss" >React Router 8.3</a>, <a href="https://javascriptweekly.com/link/188487/rss" >Vue 3.6 RC2</a></p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ><p> Articles and Videos</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  <a href="https://javascriptweekly.com/link/188488/rss" ><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/c_crop,g_south,w_w,h_h_sub_50/bjd0nutn9yncyimrgifx.jpg" width="640" ></a>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/188488/rss" title="www.youtube.com" >The Creator of TypeScript Shows Off TypeScript 7</a></span>  Anders Hejlsberg demos the 10x speedup gained by the new Go-based TypeScript compiler on VS Code's 1.3M line codebase. He also covers the new LSP language server and why compiler API users (Vue, Astro, Svelte) must stay on TypeScript6.</p>
  <p>Anders Hejlsberg (Microsoft) </p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/188489/rss" title="domenic.me" >Domenic Denicola's Agentic Coding Setup</a></span>  It's fascinating when a prolific developer (Domenic was a key figure in <a href="https://javascriptweekly.com/link/188490/rss" >the adoption of promises in JavaScript</a>, creating <a href="https://javascriptweekly.com/link/188491/rss" >jsdom</a>, and <a href="https://javascriptweekly.com/link/188492/rss" >much more</a>) shares their workflow. This is no exception, covering areas like disposable VMs, Tailscale, and worktrees.</p>
  <p>Domenic Denicola </p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/188493/rss" title="www.meticulous.ai" >Still Writing Tests Manually? Meticulous AI Is Here</a></span>  Flaky tests slowing down dev? <a href="https://javascriptweekly.com/link/188493/rss" >Meticulous</a> gives engineers confidence to ship faster by autonomously testing every edge case of your webapp.</p>
  <p>Meticulous <span >sponsor</span></p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/188494/rss" title="medium.engineering" >How Medium Built Its New 'Table of Contents' Feature</a></span>  How the content site built a dynamic table of contents widget for all its articles, inspired by a third-party Chrome extension that did the samething.</p>
  <p>Scott Batson (Medium) </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<p> <a href="https://javascriptweekly.com/link/188495/rss" >Introducing Deferred Module Evaluation with <code>import defer</code></a>  Currently at stage 3 in the TC39process. <cite>Nitay Neeman</cite></p>
<p> <a href="https://javascriptweekly.com/link/188496/rss" >Measuring Component Performance with the Container Timing API</a>  Now in a Chrome <a href="https://javascriptweekly.com/link/188497/rss" >origin trial</a>. <cite>Harry Roberts</cite></p>
<p> <a href="https://javascriptweekly.com/link/188498/rss" >No, We Can't Harden Node.js Against Prototype Pollution</a>  <cite>Matteo Collina</cite></p>
<p> <a href="https://javascriptweekly.com/link/188499/rss" >Cloudflare Workers and Hyperdrive with SvelteKit</a>  <cite>Adam Rackis</cite></p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ><p>Code &amp; Tools</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  <a href="https://javascriptweekly.com/link/188500/rss" ><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/sky6dwpemejqzgjdwgjt.jpg" width="640" ></a>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><span></span><a href="https://javascriptweekly.com/link/188500/rss" title="maplibre.org" >MapLibre GL JS 6.0: Interactive Vector Maps for the Web</a></span>  A WebGL-powered library for rendering interactive vector tile maps, forked from Mapbox GL JS after its 2020 relicensing. Version 6 goes ESM-only, requires WebGL 2, and lands broad performance gains. <a href="https://javascriptweekly.com/link/188501/rss" >Release notes</a> and a <a href="https://javascriptweekly.com/link/188502/rss" >v5 to v6 migrationguide</a>.</p>
  <p>MapLibre </p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/188503/rss" title="www.locize.com" >Ship Translations Without Redeploying. Made by the i18next Team</a></span>  The cloud TMS from the i18next team. saveMissing, in-context editor, AI translation, CDN. Free tier,Swiss-made.</p>
  <p>Locize <span >sponsor</span></p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/188504/rss" title="github.com" >Bruno 4.0: An Open-Source HTTP API Client App</a></span>  An open source, JavaScript-powered lightweight alternative to something like Postman for testing and making requests against HTTPAPIs.</p>
  <p>Anoop M D, Anusree P S and Contributors </p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/188505/rss" title="tslog.js.org" >tslog 5: Zero-Dependency Logger for Node, Deno, Bun and Browsers</a></span>  A ground-up rewrite, now ESM-only, and also covers workers and React Native. Pretty output by default, JSON optionally, plus middleware, file/HTTP/worker transports, secret masking, and error stacks that resolve through source maps to your original <code>.ts</code> lines. <a href="https://javascriptweekly.com/link/188506/rss" >GitHubrepo.</a></p>
  <p>Eugene Terehov </p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/188507/rss" title="github.com" >eslint-package-json: Powerful ESLint Rules for <code>package.json</code></a></span>  An ESLint plugin that catches <code>package.json</code> mistakes like invalid names, bad version ranges, broken <code>exports</code>, redundant <code>files</code> entries, and more, and fixes many of themautomatically.</p>
  <p>Sindre Sorhus </p>
</td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  
  <p><span ><a href="https://javascriptweekly.com/link/188508/rss" title="www.shadscan.com" >Shadscan: Deterministic UI Audits for <code>shadcn</code> Apps</a></span>  A tool that statically analyzes your shadcn components using almost 60 deterministic checks (no AI or API keys needed) around fundamental accessibility, state, and composition bestpractices.</p>
  <p>OrcDev </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<ul>
<li>
<p><a href="https://javascriptweekly.com/link/188509/rss" >Slick 2.0</a>  Ken Wheeler's classic jQuery carousel control (<a href="https://javascriptweekly.com/link/188510/rss" >demos</a>). Now compatible with <a href="https://javascriptweekly.com/link/188511/rss" >jQuery4.0</a>!</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/188512/rss" >isomorphic-git 1.40</a>  Pure JS implementation of Git for Node andbrowsers.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/188513/rss" >Satori 0.29</a>  Library to convert HTML and CSS with JSX syntax intoSVG.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/188514/rss" >dompdf.js 2.0</a>  Converts HTML to multi-page PDFs in the browser.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/188528/rss" >Verdaccio 6.9</a>  Self-hostable Node.js private proxy registry.</p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ></td></tr></table>

<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
	<p>Classifieds</p>
  </td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<p>From $500 a month to hundreds of thousands of downloads in six months. <a href="https://javascriptweekly.com/link/188516/rss" >How one solo Expo app actually grew usage andrevenue</a>.</p>
 
<p>You shipped the feature. The data grew. The query got slow. <a href="https://javascriptweekly.com/link/188517/rss" >TimescaleDB</a> extends Postgres for analytics at scale, no seconddatabase.</p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ></td></tr></table>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ><p> Elsewhere in the ecosystem</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
  <a href="https://javascriptweekly.com/link/188518/rss" ><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ricngwidlwclsggxe3dh.jpg" width="640" ></a>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td >
<ul>
<li>
<p><a href="https://javascriptweekly.com/link/188519/rss" >js1024</a> is an annual JavaScript <em>code-golfing</em> competition where people try to squeeze as much out of 1024 bytes as possible. This year's run just closed <a href="https://javascriptweekly.com/link/188518/rss" >and you can try all the entries (and see their code) here</a>  the winners will be announced nextweek.</p>
</li>
<li>
<p> The <em>OpenJS Foundation</em> has <a href="https://javascriptweekly.com/link/188520/rss" >a ranking of the top contributors to its projects</a> (which <a href="https://javascriptweekly.com/link/188521/rss" >include</a> Node, Express, and Electron) in the past year.</p>
</li>
<li>
<p> In <a href="https://javascriptweekly.com/link/188522/rss" >How I Stopped Running Out of Tokens</a>, a dev whose company uses Claude Enterprise shares tools you can use (e.g. <a href="https://javascriptweekly.com/link/188523/rss" >rtk</a>) to get more out of yourlimits.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/188524/rss" >LLMs are continuing to hallucinate package names</a>, giving potential 'slopsquatters' opportunities for malicious deeds.</p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td ></td></tr></table>
</div>
  </td></tr>
</table>


<img src="https://javascriptweekly.com/open/796/rss" width="1" height="1" />
      Tue, 28 Jul 2026 00:00:00 +0000
      https://javascriptweekly.com/issues/796



Web Proxy Viewer  |  New URL  |  Original Page