JavaScript Weekly
A newsletter of JavaScript articles, news and cool projects
https://javascriptweekly.com/
-
What's next for JavaScript frameworks in 2026
https://javascriptweekly.com/issues/770
<table border=0 cellpadding=0 cellspacing=0 align="center" border="0">
<tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; ">
<div>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr>
<td align="left" style="padding-left: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "><p>#770 — January 27, 2026</p></td>
<td align="right" style="padding-right: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "><p><a href="https://javascriptweekly.com/link/179780/rss" style=" color: #3366aa;">Read on the Web</a></p></td>
</tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0; padding-right: 12px; padding-left: 12px;"><p>JavaScript Weekly</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; ">
<a href="https://javascriptweekly.com/link/179787/rss" style=" color: #3366aa;"><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/kk3pqoke6gl2vxmnzeud.jpg" width="640" style=" line-height: 100%; "></a>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179787/rss" title="documenso.com" style=" color: #3366aa; font-size: 1.1em; line-height: 1.4em;">Introducing LibPDF: PDF Parsing and Generation from TypeScript</a></span> — <a href="https://javascriptweekly.com/link/179788/rss" style=" color: #3366aa; ">LibPDF</a> bills itself as <em>‘the PDF library TypeScript deserves’</em> and supports parsing, modifying, signing and generating PDFs with a modern API in Node, Bun, and the browser. <a href="https://javascriptweekly.com/link/179789/rss" style=" color: #3366aa; ">GitHub repo.</a></p>
<p>Documenso </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179827/rss" title="dev.to" style=" color: #3366aa; font-size: 1.05em;">JavaScript Frameworks – Heading into 2026</a></span> — The creator of <a href="https://javascriptweekly.com/link/179828/rss" style=" color: #3366aa; ">SolidJS</a> knows more than a thing or two about JS frameworks and has written an annual review of the scene for the past few years. Here, he picks on four areas of evolution, and says it’s <em>“an incredibly exciting time to be working on JavaScript frameworks.”</em></p>
<p>Ryan Carniato </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<a href="https://javascriptweekly.com/link/179781/rss" style=" color: #3366aa; "><img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/ac042e3e.png" width="110" height="110" style="padding-top: 12px; padding-left: 12px; line-height: 100%; "></a>
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179781/rss" title="" style=" color: #3366aa; font-size: 1.05em;">Still Writing Tests Manually?</a></span> — Notion, Dropbox, Wiz, and LaunchDarkly have found a new testing paradigm - and they can't imagine working without it. Built by ex-Palantir engineers, Meticulous autonomously creates a continuously evolving suite of E2E UI tests that delivers near-exhaustive coverage with zero developer effort.</p>
<p>Meticulous AI <span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em; color: #993 !important; padding-top: 1px; padding-right: 4px; padding-left: 4px; ">sponsor</span></p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><strong>IN BRIEF:</strong></p>
<ul>
<li>
<p>Lea Verou has celebrated getting two ECMAScript proposals she's championed to stage 1 at TC39 this week: <a href="https://javascriptweekly.com/link/179829/rss" style=" color: #3366aa; font-weight: 500 !important; ">Composable Accessors</a> and <a href="https://javascriptweekly.com/link/179830/rss" style=" color: #3366aa; font-weight: 500 !important; ">Alias Accessors</a>. Rob Palmer also shares <a href="https://javascriptweekly.com/link/179843/rss" style=" color: #3366aa; font-weight: 500 !important; ">more proposal updates from the latest TC39 plenary.</a></p>
</li>
<li>
<p>🕹️ The creator of Three.js (known as mrdoob) has created <a href="https://javascriptweekly.com/link/179831/rss" style=" color: #3366aa; font-weight: 500 !important; ">a Three.js-powered port of 1996's <em>Quake</em></a> – <a href="https://javascriptweekly.com/link/179832/rss" style=" color: #3366aa; font-weight: 500 !important; ">here's the source.</a> You can learn more about this project <a href="https://javascriptweekly.com/link/179833/rss" style=" color: #3366aa; font-weight: 500 !important; ">in this X thread.</a></p>
</li>
<li>
<p>📊 <a href="https://javascriptweekly.com/link/179790/rss" style=" color: #3366aa; font-weight: 500 !important; ">JSBenchmarks.com</a> is a fresh attempt to benchmark several popular JavaScript frameworks. As always with benchmarks, use a critical eye, but <a href="https://javascriptweekly.com/link/179791/rss" style=" color: #3366aa; font-weight: 500 !important; ">the example apps</a> are open to read or contribute to.</p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><strong>RELEASES:</strong></p>
<ul>
<li>
<p><a href="https://javascriptweekly.com/link/179793/rss" style=" color: #3366aa; font-weight: 500 !important; ">Node.js 25.5.0 (Current)</a> – Introduces a <code>--build-sea</code> option that simplifies the process of building single executable applications.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179794/rss" style=" color: #3366aa; font-weight: 500 !important; ">Bun v1.3.7</a> – The popular runtime updates its JavaScriptCore engine, leading to 35% faster <code>async</code>/<code>await</code> and ARM64 perf improvements. It also lands a new option to generate profiling data in Markdown format for easier sharing, plus native JSON5 and JSONL parsing support.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179834/rss" style=" color: #3366aa; font-weight: 500 !important; ">Rolldown 1.0 RC</a> – Fast Rust-based bundler with a Rollup-compatible API and esbuild feature parity.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179835/rss" style=" color: #3366aa; font-weight: 500 !important; ">npm v11.8.0</a>, <a href="https://javascriptweekly.com/link/179797/rss" style=" color: #3366aa; font-weight: 500 !important; ">Emscripten 5.0</a>, <a href="https://javascriptweekly.com/link/179798/rss" style=" color: #3366aa; font-weight: 500 !important; ">Neutralinojs 6.5.0</a></p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0; padding-right: 0; padding-left: 0;"><p>📖 Articles and Videos</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; ">
<a href="https://javascriptweekly.com/link/179836/rss" style=" color: #3366aa;"><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/p6oel95ngf5vr4ow55py.jpg" width="640" style=" line-height: 100%; "></a>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179836/rss" title="blog.vjeux.com" style=" color: #3366aa; font-size: 1.05em;">Porting 100k Lines from TypeScript to Rust in a Month</a></span> — A prolific JavaScript developer ported a <a href="https://javascriptweekly.com/link/179837/rss" style=" color: #3366aa; ">Pokémon battle simulator</a> to Rust and shares his experiences and techniques used to work around issues where Claude Code would get bogged down in such a large task. He notes <em>“LLM-based coding agents are such a great new tool”</em> but require <em>“engineering expertise and constant babysitting”.</em></p>
<p>Christopher Chedeau </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179799/rss" title="themackabu.dev" style=" color: #3366aa; font-size: 1.05em;">Building a JavaScript Runtime in One Month</a></span> — <em>“What if I could build a JavaScript engine small enough to embed in a C program, but complete enough to actually run real code?”</em> The end result is <a href="https://javascriptweekly.com/link/179800/rss" style=" color: #3366aa; ">Ant.</a></p>
<p>theMackabu </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179782/rss" title="go.clerk.com" style=" color: #3366aa; font-size: 1.05em;">Clerk MCP Server for AI Coding Assistants</a></span> — Connect Claude, Cursor, or Copilot to Clerk's docs. Get working auth code instead of outdated patterns.</p>
<p>Clerk <span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em; color: #993 !important; padding-top: 1px; padding-right: 4px; padding-left: 4px; ">sponsor</span></p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179801/rss" title="nextjs.org" style=" color: #3366aa; font-size: 1.05em;">Inside Turbopack: Building Faster by Building Less</a></span> — If you’re working on a large codebase, faster hot reloading, better scaling, and persistent caching are all quite desirable. Here’s how these things came about in Turbopack.</p>
<p>Shew, Woodruff and Koppers (Vercel) </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;">▶ <a href="https://javascriptweekly.com/link/179802/rss" title="www.youtube.com" style=" color: #3366aa; font-size: 1.05em;">Bun Explained in 100 Seconds</a></span> — The popular quick dev explainer channel tackles <a href="https://javascriptweekly.com/link/179803/rss" style=" color: #3366aa; ">Bun</a> at a high level.</p>
<p>Fireship </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p>📄 <a href="https://javascriptweekly.com/link/179804/rss" style=" color: #3366aa; font-weight: 500 !important; ">Fixing a 6-Year-Old JavaScript Memory Leak in a Google Cloud Function</a> <cite>Matt Zeunert (DebugBear)</cite></p>
<p>📄 <a href="https://javascriptweekly.com/link/179805/rss" style=" color: #3366aa; font-weight: 500 !important; ">Build a Dinosaur Runner Game with Deno, Part 4</a> – The fourth part of an ongoing series on the official Deno blog. <cite>Jo Franchetti</cite></p>
<p>📄 <a href="https://javascriptweekly.com/link/179806/rss" style=" color: #3366aa; font-weight: 500 !important; ">Vercel vs Netlify vs Cloudflare: Serverless Cold Starts Compared</a> <cite>Punit Sethi</cite></p>
<p>📄 <a href="https://javascriptweekly.com/link/179807/rss" style=" color: #3366aa; font-weight: 500 !important; ">SPAs are a Performance Dead End</a> <cite>Yegor Bugayenko</cite></p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0; padding-right: 0; padding-left: 0;"><p>🛠 Code & Tools</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179808/rss" title="midscenejs.com" style=" color: #3366aa; font-size: 1.05em;">Midscene.js: Remote Control for the Web, Mobile and Desktop Using Vision Models</a></span> — Provides a way to drive numerous platforms from JavaScript (<a href="https://javascriptweekly.com/link/179838/rss" style=" color: #3366aa; ">including iOS</a>) by using various integrations and a vision-capable model so you can write actions in a mixture of JavaScript and natural language and have them performed.</p>
<p>ByteDance Inc. </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><span>🔄</span> <a href="https://javascriptweekly.com/link/179812/rss" title="github.com" style=" color: #3366aa; font-size: 1.05em;">Travels 1.0: A Fast, Framework-Agnostic Undo/Redo Library</a></span> — Allows you to add undo/redo functionality to apps like text editors, drawing tools, or other interactive software. Uses a memory efficient technique only storing changes, rather than full snapshots for each change.</p>
<p>Mutative </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179783/rss" title="www.tigerdata.com" style=" color: #3366aa; font-size: 1.05em;">The #1 Time-Series Database Built on Postgres</a></span> — TimescaleDB extends Postgres with hypertables, 95% compression, and continuous aggregates. <a href="https://javascriptweekly.com/link/179783/rss" style=" color: #3366aa; ">Start building for free</a>.</p>
<p>Tiger Data <span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em; color: #993 !important; padding-top: 1px; padding-right: 4px; padding-left: 4px; ">sponsor</span></p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179813/rss" title="sonicjs.com" style=" color: #3366aa; font-size: 1.05em;">SonicJS 2.7: Perf-Focused Edge-Native Headless CMS for Cloudflare Workers</a></span> — A production-ready CMS built specifically for the edge. <a href="https://javascriptweekly.com/link/179814/rss" style=" color: #3366aa; ">GitHub repo.</a></p>
<p>SonicJS Team </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><span>🤖</span> <a href="https://javascriptweekly.com/link/179809/rss" title="mastra.ai" style=" color: #3366aa; font-size: 1.05em;">Mastra 1.0: An AI Framework from the Former Gatsby Team</a></span> — An all-in-one framework (<a href="https://javascriptweekly.com/link/179810/rss" style=" color: #3366aa; ">homepage</a>) for building AI-powered apps and agents.</p>
<p>Sam Bhagwat </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<ul>
<li>
<p><a href="https://javascriptweekly.com/link/179795/rss" style=" color: #3366aa; font-weight: 500 !important; ">Storybook 10.2</a> – The frontend workshop for building UI components gets some UI and story authoring improvements.</p>
</li>
<li>
<p>🎥 <a href="https://javascriptweekly.com/link/179815/rss" style=" color: #3366aa; font-weight: 500 !important; ">Mediabunny 1.31.0</a> – Media toolkit for reading, writing, and converting video and audio files, directly in the browser.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179819/rss" style=" color: #3366aa; font-weight: 500 !important; ">Cheerio v1.2</a> – Fast, flexible HTML and XML parser and DOM manipulation library.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179816/rss" style=" color: #3366aa; font-weight: 500 !important; ">eslint-plugin-regexp 3.0</a> – Plugin for finding regex mistakes and style violations.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179817/rss" style=" color: #3366aa; font-weight: 500 !important; ">React Timeline Editor 1.0</a> – Component to build timeline-based editors. (<a href="https://javascriptweekly.com/link/179818/rss" style=" color: #3366aa; font-weight: 500 !important; ">Examples.</a>)</p>
</li>
<li>
<p>📊 <a href="https://javascriptweekly.com/link/179821/rss" style=" color: #3366aa; font-weight: 500 !important; ">Billboard.js 3.18.0</a> – Flexible JavaScript chart library based on D3.js.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179822/rss" style=" color: #3366aa; font-weight: 500 !important; ">Feedsmith 2.9</a> – Feed parser and generator for popular feed formats.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179823/rss" style=" color: #3366aa; font-weight: 500 !important; ">Typed.js v3.0</a> – Typing animation library. (GPL licensed.)</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179820/rss" style=" color: #3366aa; font-weight: 500 !important; ">Regle v1.17</a> – Headless form validation library for Vue.</p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 0px; padding-left: 0px;">
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p>📰 Classifieds</p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p>🎉 <a href="https://javascriptweekly.com/link/179784/rss" style=" color: #3366aa; font-weight: 500 !important; ">Hear from the minds shaping the web!</a> Thousands of devs, food trucks & Amsterdam vibes. Don’t miss <a href="https://javascriptweekly.com/link/179784/rss" style=" color: #3366aa; font-weight: 500 !important; ">JSNation</a> — 10% off with <code>JSWEEKLY</code>.</p>
<p>🚀 Auth0 for AI Agents is the complete auth solution for building AI agents more securely. <a href="https://javascriptweekly.com/link/179785/rss" style=" color: #3366aa; font-weight: 500 !important; ">Start building today</a>.</p>
<p>The Code teaches 150k+ AI & ML engineers how to use AI for coding. <a href="https://javascriptweekly.com/link/179786/rss" style=" color: #3366aa; font-weight: 500 !important; ">Sign up and get the Ultimate Claude Code Guide</a> (100+ hacks) to ship 5X faster.</p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "></td></tr></table>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0; padding-right: 0; padding-left: 0;"><p>📢 Elsewhere in the ecosystem</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p>Some other interesting tidbits in the broader landscape:</p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; ">
<a href="https://javascriptweekly.com/link/179824/rss" style=" color: #3366aa;"><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/qsjuzxzor90dyoc9zpn5.jpg" width="640" style=" line-height: 100%; "></a>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<ul>
<li>
<p>OpenAI's Michael Bolin wrote a thorough <a href="https://javascriptweekly.com/link/179824/rss" style=" color: #3366aa; font-weight: 500 !important; ">technical review of how its OpenAI Codex agent works.</a> Invaluable reading for anyone trying to implement their own coding agent or even if you just want to know how they do their thing.</p>
</li>
<li>
<p>🕹️ A group of developers has <a href="https://javascriptweekly.com/link/179839/rss" style=" color: #3366aa; font-weight: 500 !important; ">ported Super Monkey Ball to the Web.</a> Here's <a href="https://javascriptweekly.com/link/179840/rss" style=" color: #3366aa; font-weight: 500 !important; ">the source</a> if you're intrigued - it has surprisingly few dependencies.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179841/rss" style=" color: #3366aa; font-weight: 500 !important; ">Mystral Native.js</a> is an early-stage experimental runtime for running JavaScript games natively using WebGPU: <em>"Think of it as 'Electron for games' but without Chromium."</em></p>
</li>
<li>
<p>Miss using <code>telnet</code> to connect to remote services? <a href="https://javascriptweekly.com/link/179826/rss" style=" color: #3366aa; font-weight: 500 !important; ">There are still some text-based services you can access.</a></p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179825/rss" style=" color: #3366aa; font-weight: 500 !important; ">How to Favicon in 2026: Three files that fit most needs</a></p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "></td></tr></table>
</div>
</td></tr>
</table>
<img src="https://javascriptweekly.com/open/770/rss" width="1" height="1" />
Tue, 27 Jan 2026 00:00:00 +0000
https://javascriptweekly.com/issues/770
-
A big week for jQuery
https://javascriptweekly.com/issues/769
<table border=0 cellpadding=0 cellspacing=0 align="center" border="0">
<tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; ">
<div>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr>
<td align="left" style="padding-left: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "><p>#769 — January 20, 2026</p></td>
<td align="right" style="padding-right: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "><p><a href="https://javascriptweekly.com/link/179441/rss" style=" color: #3366aa;">Read on the Web</a></p></td>
</tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0; padding-right: 12px; padding-left: 12px;"><p>JavaScript Weekly</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; ">
<a href="https://javascriptweekly.com/link/179443/rss" style=" color: #3366aa;"><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/wcs3cbapnd4mar9cocya.jpg" width="640" style=" line-height: 100%; "></a>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179443/rss" title="blog.jquery.com" style=" color: #3366aa; font-size: 1.1em; line-height: 1.4em;">jQuery 4.0 Released</a></span> — 20 years on from its original release, the ever-popular (<a href="https://javascriptweekly.com/link/179444/rss" style=" color: #3366aa; ">in terms of actual usage</a>) library reaches 4.0 with a migration to ES modules (compatible with modern build tools) along with dropping support for IE 10 and older. With jQuery being a popular guest in our newsletters in the early years, it’s fantastic to see it pop back for a quick visit.</p>
<p>Timmy Willison </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;"><p>💡 If you're using jQuery, you'll find <a href="https://javascriptweekly.com/link/179445/rss" style=" color: #3366aa; font-weight: 600;">jQuery Migrate</a>, an official tool to help you upgrade, useful. jQuery in 2026 is a somewhat legacy choice, though, and <a href="https://javascriptweekly.com/link/179446/rss" style=" color: #3366aa; font-weight: 600;">you might not need jQuery</a> at all..</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<a href="https://javascriptweekly.com/link/179442/rss" style=" color: #3366aa; "><img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/dceb6cf2.png" width="143" height="110" style="padding-top: 12px; padding-left: 12px; line-height: 100%; "></a>
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179442/rss" title="developer.mescius.com" style=" color: #3366aa; font-size: 1.05em;">Add Excel-like Spreadsheet Functionality to Your JavaScript Apps</a></span> — SpreadJS is the industry-leading JavaScript spreadsheet for adding advanced spreadsheet features to your enterprise apps. Build finance, analysis, budget, and other apps. Excel I/O, 500+ calc functions, tables, charts, and more. <a href="https://javascriptweekly.com/link/179442/rss" style=" color: #3366aa; ">View demos now</a>.</p>
<p>SpreadJS from MESCIUS inc <span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em; color: #993 !important; padding-top: 1px; padding-right: 4px; padding-left: 4px; ">sponsor</span></p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179447/rss" title="blog.cloudflare.com" style=" color: #3366aa; font-size: 1.05em;">Astro is Joining Cloudflare</a></span> — Big news in the Web framework space as the team behind <a href="https://javascriptweekly.com/link/179448/rss" style=" color: #3366aa; ">the popular Astro framework</a> (<em><a href="https://javascriptweekly.com/link/179449/rss" style=" color: #3366aa; ">the beta of v6.0</a> is now available</em>) is headed to Cloudflare. Few major frameworks are now <em>not</em> under the wing of a larger entity.</p>
<p>Schott and Irvine-Broque </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><strong>IN BRIEF:</strong></p>
<ul>
<li>
<p>🕒 <a href="https://javascriptweekly.com/link/179450/rss" style=" color: #3366aa; font-weight: 500 !important; ">Temporal Playground</a> is an online sandbox for playing around with the <a href="https://javascriptweekly.com/link/179451/rss" style=" color: #3366aa; font-weight: 500 !important; ">Temporal API.</a></p>
</li>
<li>
<p>Svelte has released patches for <a href="https://javascriptweekly.com/link/179452/rss" style=" color: #3366aa; font-weight: 500 !important; ">five vulnerabilities affecting the Svelte ecosystem.</a></p>
</li>
<li>
<p>🤖 Ryan Dahl, creator of both Node.js and Deno, <a href="https://javascriptweekly.com/link/179453/rss" style=" color: #3366aa; font-weight: 500 !important; ">says on <em>X</em></a> that <em>"the era of humans writing code is over"</em> and <em>"That's not to say SWEs don't have work to do, but writing syntax directly is not it."</em> I hope not, but these are interesting times!</p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><strong>RELEASES:</strong></p>
<ul>
<li>
<p><a href="https://javascriptweekly.com/link/179454/rss" style=" color: #3366aa; font-weight: 500 !important; ">Electron 40.0</a> – The popular cross-platform desktop app framework upgrades to Chromium 144, V8 14.4, and Node 24.11.1.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179455/rss" style=" color: #3366aa; font-weight: 500 !important; ">Node.js v25.4.0 (Current)</a> – <code>require(esm)</code> is now marked as stable.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179456/rss" style=" color: #3366aa; font-weight: 500 !important; ">React Native Windows 0.81</a>, <a href="https://javascriptweekly.com/link/179457/rss" style=" color: #3366aa; font-weight: 500 !important; ">Aurelia 2 RC</a>, <a href="https://javascriptweekly.com/link/179458/rss" style=" color: #3366aa; font-weight: 500 !important; ">Deno 2.6.5</a></p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0; padding-right: 0; padding-left: 0;"><p>📖 Articles and Videos</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; ">
<a href="https://javascriptweekly.com/link/179459/rss" style=" color: #3366aa;"><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/jgxwxup4zgn1lvkdjife.jpg" width="640" style=" line-height: 100%; "></a>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179459/rss" title="alexharri.com" style=" color: #3366aa; font-size: 1.05em;">ASCII Characters Are Not Pixels: A Deep Dive Into ASCII Rendering</a></span> — Alex digs <em>deep</em> into getting ASCII-based graphics rendering just right with JavaScript, complete with examples of the algorithms used and numerous demos. The neatest technical blog post I’ve seen so far this year.</p>
<p>Alex Harri </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179460/rss" title="devblogs.microsoft.com" style=" color: #3366aa; font-size: 1.05em;">JavaScript Now a First-Class Citizen in Aspire</a></span> — <a href="https://javascriptweekly.com/link/179461/rss" style=" color: #3366aa; ">Aspire</a> is a Microsoft framework for orchestrating the deployment of distributed apps. Originally just for .NET, <a href="https://javascriptweekly.com/link/179462/rss" style=" color: #3366aa; ">Aspire 13</a> now makes JavaScript a first-class citizen, so you can run Vite and full-stack JS apps with service discovery, telemetry, and production-ready containers.</p>
<p>Microsoft </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179463/rss" title="wallabyjs.com" style=" color: #3366aa; font-size: 1.05em;">Breakpoints and <code>console.log</code> Is the Past, Time Travel Is the Future</a></span> — 15x faster JavaScript debugging than with breakpoints and console.log, supports Vitest, jest, Karma, Jasmine, and more.</p>
<p>Wallaby Team <span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em; color: #993 !important; padding-top: 1px; padding-right: 4px; padding-left: 4px; ">sponsor</span></p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179464/rss" title="developer.chrome.com" style=" color: #3366aa; font-size: 1.05em;">Introducing the <code><geolocation></code> Element</a></span> — Chrome 144 introduces a new <code><geolocation></code> element for requesting user location data, moving away from a JavaScript-triggered prompt.</p>
<p>Viana, Le, Steiner </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p>📄 <a href="https://javascriptweekly.com/link/179465/rss" style=" color: #3366aa; font-weight: 500 !important; ">Bootstrapping Bun</a> – <em>“My journey running the build system for Bun … without relying on any of its usual binary dependencies — namely itself.”</em> <cite>Bradley Walters</cite></p>
<p>📄 <a href="https://javascriptweekly.com/link/179466/rss" style=" color: #3366aa; font-weight: 500 !important; ">Building a Scroll-Driven Dual-Wave Text Animation with GSAP</a> <cite>Valentin Descombes</cite></p>
<p>📄 <a href="https://javascriptweekly.com/link/179505/rss" style=" color: #3366aa; font-weight: 500 !important; ">How the Electron Team Improved Window Resize Behavior</a> <cite>Niklas Wenzel</cite></p>
<p>📄 <a href="https://javascriptweekly.com/link/179467/rss" style=" color: #3366aa; font-weight: 500 !important; ">How to Learn to Build Apps in 2026</a> <cite>Eric Elliott</cite></p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0; padding-right: 0; padding-left: 0;"><p>🛠 Code & Tools</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; ">
<a href="https://javascriptweekly.com/link/179468/rss" style=" color: #3366aa;"><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/sp5w3urjw73n3rnjqoai.jpg" width="640" style=" line-height: 100%; "></a>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179468/rss" title="github.com" style=" color: #3366aa; font-size: 1.05em;">Starry Night 3.9: GitHub-Like Syntax Highlighting</a></span> — GitHub’s own syntax highlighter isn’t open source, but this library is a powerful alternative that tries to get as close as it can, with support for hundreds of languages. I’ve <a href="https://javascriptweekly.com/link/179469/rss" style=" color: #3366aa; ">put a basic Web demo here</a> to show off how to use it on the Web.</p>
<p>Titus Wormer </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179470/rss" title="extension.js.org" style=" color: #3366aa; font-size: 1.05em;">Extension.js 3: Browser Extension Development Framework</a></span> — Create cross-browser extensions without manual build configuration and develop, build, and preview across browsers with a unified workflow. <a href="https://javascriptweekly.com/link/179471/rss" style=" color: #3366aa; ">GitHub repo.</a></p>
<p>Cezar Augusto et al. </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179472/rss" title="pqina.nl" style=" color: #3366aa; font-size: 1.05em;">Easily Add Image Editing to your Web App</a></span> — Import <code>pintura</code>, give it an image, and instantly get features like cropping, rotating, and annotation. <a href="https://javascriptweekly.com/link/179472/rss" style=" color: #3366aa; ">Try for free today</a>.</p>
<p>Pintura <span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em; color: #993 !important; padding-top: 1px; padding-right: 4px; padding-left: 4px; ">sponsor</span></p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179473/rss" title="react-aria.adobe.com" style=" color: #3366aa; font-size: 1.05em;">React Aria: Adobe's World-Class React Components</a></span> — React Aria has a fantastic new site and all-new documentation that really sells the entire experience, complete with interactive CSS and Tailwind examples to get started quickly.</p>
<p>Adobe </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179474/rss" title="github.com" style=" color: #3366aa; font-size: 1.05em;">localspace: Modern localForage-Compatible Storage Toolkit</a></span> — <a href="https://javascriptweekly.com/link/179475/rss" style=" color: #3366aa; ">localForage</a> is/was a popular storage library that wrapped various browser storage APIs with a simple, <code>localStorage</code>-like API. It hasn’t been updated for years, though, and <em>“localspace exists to bridge that gap”</em>.</p>
<p>Michael Lin </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<ul>
<li>
<p>⭐ <a href="https://javascriptweekly.com/link/179476/rss" style=" color: #3366aa; font-weight: 500 !important; ">p5.js v2.2</a> – The powerful JavaScript visual/creative coding toolkit now includes WebGPU mode as a core feature (<a href="https://javascriptweekly.com/link/179477/rss" style=" color: #3366aa; font-weight: 500 !important; ">explained well here</a> and <a href="https://javascriptweekly.com/link/179478/rss" style=" color: #3366aa; font-weight: 500 !important; ">here</a>).</p>
</li>
<li>
<p>🎥 <a href="https://javascriptweekly.com/link/179479/rss" style=" color: #3366aa; font-weight: 500 !important; ">Mediabunny 1.29.0</a> – The TypeScript media toolkit adds support for reading and writing MPEG Transport Stream (.ts) files. <a href="https://javascriptweekly.com/link/179480/rss" style=" color: #3366aa; font-weight: 500 !important; ">Demo site.</a></p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179481/rss" style=" color: #3366aa; font-weight: 500 !important; ">Prettier 3.8</a> – The opinionated code formatter adds full support for <a href="https://javascriptweekly.com/link/179482/rss" style=" color: #3366aa; font-weight: 500 !important; ">Angular 21.1</a> which was released last week.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179483/rss" style=" color: #3366aa; font-weight: 500 !important; ">LogTape 2.0</a> – Simple logging library for all major JS runtimes. <a href="https://javascriptweekly.com/link/179484/rss" style=" color: #3366aa; font-weight: 500 !important; ">Changelog.</a></p>
</li>
<li>
<p>☎︎ <a href="https://javascriptweekly.com/link/179485/rss" style=" color: #3366aa; font-weight: 500 !important; ">vue-tel-input 9.6</a> – Telephone number input for Vue. (<a href="https://javascriptweekly.com/link/179486/rss" style=" color: #3366aa; font-weight: 500 !important; ">Demo.</a>)</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179487/rss" style=" color: #3366aa; font-weight: 500 !important; ">d3-3d 2.0</a> – D3-powered visualizations, but projected into 3D.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179488/rss" style=" color: #3366aa; font-weight: 500 !important; ">Convert 6.0</a> – Small, fast library for type-safe unit conversions.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179489/rss" style=" color: #3366aa; font-weight: 500 !important; ">SuperDiff 4.0</a> – Rich readable diffs for arrays and objects.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179490/rss" style=" color: #3366aa; font-weight: 500 !important; ">Jasmine 6.0</a> – Long-standing JavaScript BDD framework.</p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 0px; padding-left: 0px;">
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p>📰 Classifieds</p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p>🔑 <a href="https://javascriptweekly.com/link/179491/rss" style=" color: #3366aa; font-weight: 500 !important; ">Add API key auth to any JS backend</a>. Clerk handles generation, hashing, scopes, and instant revocation. <a href="https://javascriptweekly.com/link/179491/rss" style=" color: #3366aa; font-weight: 500 !important; ">Free during public beta</a>.</p>
<p>Notion, Dropbox and LaunchDarkly have switched to <a href="https://javascriptweekly.com/link/179492/rss" style=" color: #3366aa; font-weight: 500 !important; ">Meticulous</a> for frontend tests that provide near-exhaustive coverage with zero developer effort. <a href="https://javascriptweekly.com/link/179492/rss" style=" color: #3366aa; font-weight: 500 !important; ">Find out why</a>.</p>
<p>🛠️ Auth0 for AI Agents provides a foundation for developers to build AI agents without compromising security or innovation. <a href="https://javascriptweekly.com/link/179493/rss" style=" color: #3366aa; font-weight: 500 !important; ">Start building</a>.</p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "></td></tr></table>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0; padding-right: 0; padding-left: 0;"><p>📢 Elsewhere in the ecosystem</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p>Some other interesting tidbits in the broader landscape:</p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; ">
<a href="https://javascriptweekly.com/link/179494/rss" style=" color: #3366aa;"><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ry47g3jm8zcchbvpn3ga.jpg" width="640" style=" line-height: 100%; "></a>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<ul>
<li>
<p>🔎 The VS Code team has put together a fascinating blog post about <a href="https://javascriptweekly.com/link/179494/rss" style=" color: #3366aa; font-weight: 500 !important; ">how they implemented a new, fast client-side docs search system</a> for the VS Code site using Rust and WebAssembly. You can use their <a href="https://javascriptweekly.com/link/179495/rss" style=" color: #3366aa; font-weight: 500 !important; ">docfind engine</a> for yourself too, and <a href="https://javascriptweekly.com/link/179496/rss" style=" color: #3366aa; font-weight: 500 !important; ">there's a live demo here</a> showing off how fast it is over an index of 50,000 news articles.</p>
</li>
<li>
<p>📊 <em>HTTP Archive</em> has released its <a href="https://javascriptweekly.com/link/179497/rss" style=" color: #3366aa; font-weight: 500 !important; ">latest <em>Web Almanac</em> for 2025</a> packed with raw stats, trends, and observations about the state of the Web over the past year, covering areas like <a href="https://javascriptweekly.com/link/179498/rss" style=" color: #3366aa; font-weight: 500 !important; ">WebAssembly</a>, <a href="https://javascriptweekly.com/link/179499/rss" style=" color: #3366aa; font-weight: 500 !important; ">performance</a>, and ever-increasing <a href="https://javascriptweekly.com/link/179500/rss" style=" color: #3366aa; font-weight: 500 !important; ">page weight</a>.</p>
</li>
<li>
<p>A developer makes <a href="https://javascriptweekly.com/link/179501/rss" style=" color: #3366aa; font-weight: 500 !important; ">a prediction that Microsoft will eventually discontinue Windows</a> in favor of a Windows-themed Linux distribution.</p>
</li>
<li>
<p>Things are <a href="https://javascriptweekly.com/link/179502/rss" style=" color: #3366aa; font-weight: 500 !important; ">not looking good for the MySQL project.</a></p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179503/rss" style=" color: #3366aa; font-weight: 500 !important; ">The State of WebAssembly in 2025 and 2026.</a></p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "></td></tr></table>
</div>
</td></tr>
</table>
<img src="https://javascriptweekly.com/open/769/rss" width="1" height="1" />
Tue, 20 Jan 2026 00:00:00 +0000
https://javascriptweekly.com/issues/769
-
Can we ever fix the web dependency mess?
https://javascriptweekly.com/issues/768
<table border=0 cellpadding=0 cellspacing=0 align="center" border="0">
<tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; ">
<div>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr>
<td align="left" style="padding-left: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "><p>#768 — January 13, 2026</p></td>
<td align="right" style="padding-right: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "><p><a href="https://javascriptweekly.com/link/179165/rss" style=" color: #3366aa;">Read on the Web</a></p></td>
</tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0; padding-right: 12px; padding-left: 12px;"><p>JavaScript Weekly</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; ">
<a href="https://javascriptweekly.com/link/179113/rss" style=" color: #3366aa;"><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/egzkb3skvvasipbl0ijy.jpg" width="640" style=" line-height: 100%; "></a>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179113/rss" title="lea.verou.me" style=" color: #3366aa; font-size: 1.1em; line-height: 1.4em;">Web Dependencies are Broken; Can We Fix Them?</a></span> — Lea, who has worked at the heart of Web Standards for years, delivers a compelling (and educational) call to action about a problem every JavaScript developer has encountered: why is managing dependencies and introducing them into code so unnecessarily messy and what could we do about it?</p>
<p>Lea Verou </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<a href="https://javascriptweekly.com/link/179112/rss" style=" color: #3366aa; "><img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/a9300c2e.png" width="130" height="130" style="padding-top: 12px; padding-left: 12px; line-height: 100%; "></a>
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179112/rss" title="frontendmasters.com" style=" color: #3366aa; font-size: 1.05em;">Build Marketing Sites Like Apple</a></span> — Learn how modern, high-impact marketing sites are built from someone doing it at the highest level. Matias Gonzales, Design Engineer at Vercel, teaches GSAP animation, scroll-driven storytelling, 3D with Three.js, and performance-first techniques used on award-winning sites.</p>
<p>Frontend Masters <span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em; color: #993 !important; padding-top: 1px; padding-right: 4px; padding-left: 4px; ">sponsor</span></p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><strong>IN BRIEF:</strong></p>
<ul>
<li>
<p>📺 <a href="https://javascriptweekly.com/link/179114/rss" style=" color: #3366aa; font-weight: 500 !important; ">The full set of React Conf 2025 videos</a> is now online, made up of 25 talks and 23 interviews, including <a href="https://javascriptweekly.com/link/179115/rss" style=" color: #3366aa; font-weight: 500 !important; ">one with four members of the core team.</a></p>
</li>
<li>
<p>There's <a href="https://javascriptweekly.com/link/179116/rss" style=" color: #3366aa; font-weight: 500 !important; ">a tiny update in the Deno-vs-Oracle JavaScript trademark dispute</a> with Oracle requesting, and Deno agreeing to, a 60-day extension. As it stands, the case is set to drag into 2027.</p>
</li>
<li>
<p>📘 <a href="https://javascriptweekly.com/link/179117/rss" style=" color: #3366aa; font-weight: 500 !important; ">The Concise TypeScript Book</a> is a short, focused TypeScript guide that's open and free to read.</p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><strong>RELEASES:</strong></p>
<ul>
<li>
<p><a href="https://javascriptweekly.com/link/179118/rss" style=" color: #3366aa; font-weight: 500 !important; ">Node.js January 13 2026 Security Releases</a> – Long-awaited security releases of Node.js v20.x, 22.x, 24.x, and 25.x to resolve five different vulnerabilities.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179119/rss" style=" color: #3366aa; font-weight: 500 !important; ">Bun v1.3.6</a> – <code>Bun.Archive</code> can now work with tar archives, <code>Bun.JSONC</code> supports parsing commented JSON, plus there are many performance optimizations and tweaks.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179120/rss" style=" color: #3366aa; font-weight: 500 !important; ">pnpm 10.28</a> – The efficient package manager adds a <code>beforePacking</code> hook to customize <code>package.json</code>'s contents at publish time.</p>
</li>
<li>
<p>Angular 21.1 is expected this week. <a href="https://javascriptweekly.com/link/179121/rss" style=" color: #3366aa; font-weight: 500 !important; ">v21.1 rc0 landed last week</a> teasing some of the updates.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179122/rss" style=" color: #3366aa; font-weight: 500 !important; ">Ember 6.9</a>, <a href="https://javascriptweekly.com/link/179123/rss" style=" color: #3366aa; font-weight: 500 !important; ">ESLint v10.0.0 RC0</a>, <a href="https://javascriptweekly.com/link/179124/rss" style=" color: #3366aa; font-weight: 500 !important; ">Rspack 1.7</a></p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0; padding-right: 0; padding-left: 0;"><p>📖 Articles and Videos</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179125/rss" title="piccalil.li" style=" color: #3366aa; font-size: 1.05em;">Date is <em>Out</em>, Temporal is <em>In</em></a></span> — The <a href="https://javascriptweekly.com/link/179126/rss" style=" color: #3366aa; ">Temporal API</a> has been promised as a future API tackling the weaknesses of JavaScript’s <code>Date</code> <a href="https://javascriptweekly.com/link/179127/rss" style=" color: #3366aa; ">for many years</a> now, but finally that future is arriving. Mat leans on numerous examples to show off <code>Date</code>'s weaknesses and push Temporal’s strengths here.</p>
<p>Mat “Wilto” Marquis </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;"><p>💡 Temporal's <a href="https://javascriptweekly.com/link/179128/rss" style=" color: #3366aa; font-weight: 600;">browser support</a> still looks weak, but <a href="https://javascriptweekly.com/link/179129/rss" style=" color: #3366aa; font-weight: 600;">Chrome 144</a> – rolling out generally this week – brings full support. <a href="https://javascriptweekly.com/link/179130/rss" style=" color: #3366aa; font-weight: 600;">Temporal Polyfill</a> also offers a stop-gap while native support grows.</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179131/rss" title="philna.sh" style=" color: #3366aa; font-size: 1.05em;">How Wrong Can a JavaScript Date Calculation Go?</a></span> — <em>“the story of an issue that I faced that will be much easier to handle once</em> <code>Temporal</code> <em>is more widespread.”</em></p>
<p>Phil Nash </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179132/rss" title="workos.com" style=" color: #3366aa; font-size: 1.05em;">Add GitHub, Slack & Google Integrations Without Rebuilding OAuth</a></span> — WorkOS Pipes handles OAuth flows, token refresh, and storage. Users connect via a widget, your app makes one API call.</p>
<p>WorkOS <span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em; color: #993 !important; padding-top: 1px; padding-right: 4px; padding-left: 4px; ">sponsor</span></p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179133/rss" title="allthingssmitty.com" style=" color: #3366aa; font-size: 1.05em;">Stop Turning Everything Into Arrays (and Do Less Work Instead)</a></span> — A post showing off <a href="https://javascriptweekly.com/link/179134/rss" style=" color: #3366aa; "><em>iterator helpers</em></a>, a broadly supported set of methods for working with <code>Iterator</code> objects as a more efficient way of processing data lazily in an iterative (rather than randomly accessed) fashion.</p>
<p>Matt Smith </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179135/rss" title="fant.io" style=" color: #3366aa; font-size: 1.05em;">How to 'Steal' Any React Component</a></span> — A look at how to reproduce a component from a production React app without the original source, using React’s internal data structures (via <a href="https://javascriptweekly.com/link/179136/rss" style=" color: #3366aa; ">Fiber</a>) and LLMs to reconstruct things.</p>
<p>David Fant </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p>📄 <a href="https://javascriptweekly.com/link/179137/rss" style=" color: #3366aa; font-weight: 500 !important; ">JavaScript's <code>for</code>-<code>of</code> Loops Are Actually Fast</a> <cite>Suren Enfiajyan</cite></p>
<p>📄 <a href="https://javascriptweekly.com/link/179138/rss" style=" color: #3366aa; font-weight: 500 !important; ">Why ARM Has a 'JavaScript Instruction'</a> – <code>FJCVTZS</code>, specifically. <cite>NotNotP</cite></p>
<p>📄 <a href="https://javascriptweekly.com/link/179139/rss" style=" color: #3366aa; font-weight: 500 !important; ">How I Write Custom Elements with lit-html</a> <cite>Dave Samaniego</cite></p>
<p>📄 <a href="https://javascriptweekly.com/link/179140/rss" style=" color: #3366aa; font-weight: 500 !important; "><code>document.currentScript</code> is More Useful Than I Thought</a> <cite>Chris Coyier</cite></p>
<p>📄 <a href="https://javascriptweekly.com/link/179141/rss" style=" color: #3366aa; font-weight: 500 !important; ">What Happened (and What's Happening) to WebAssembly</a> <cite>Emnudge</cite></p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0; padding-right: 0; padding-left: 0;"><p>🛠 Code & Tools</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; ">
<a href="https://javascriptweekly.com/link/179142/rss" style=" color: #3366aa;"><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/dawzithphi5rmj0kbxjf.jpg" width="640" style=" line-height: 100%; "></a>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179142/rss" title="facebook.github.io" style=" color: #3366aa; font-size: 1.05em;">memlab 2.0: A Framework for Finding JavaScript Memory Leaks</a></span> — A testing and analysis framework for identifying memory leaks and optimization opportunities that spawned from <a href="https://javascriptweekly.com/link/179143/rss" style=" color: #3366aa; ">Facebook’s own approach</a> to optimizing its main app. Write scenarios, and memlab compares heap snapshots, filters memory leaks, and aggregates the results.</p>
<p>Facebook Open Source </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179144/rss" title="www.tigerdata.com" style=" color: #3366aa; font-size: 1.05em;">The Time-Series Database That Balances Simplicity and Performance</a></span> — Stay Postgres-native with automatic partitioning, 95% compression, and continuous aggregates at production scale.</p>
<p>Tiger Data (creators of TimescaleDB) <span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em; color: #993 !important; padding-top: 1px; padding-right: 4px; padding-left: 4px; ">sponsor</span></p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179145/rss" title="github.com" style=" color: #3366aa; font-size: 1.05em;">Fabric.js 7.1: A Powerful SVG Abstraction Library</a></span> — Provides an interactive object model on top of the HTML5 canvas to make it easier to work with multiple visual elements. Ideal for the browser but it works with Node too.</p>
<p>Fabric.js </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179166/rss" title="ohmjs.org" style=" color: #3366aa; font-size: 1.05em;">Ohm: A Parsing Toolkit for JavaScript and TypeScript</a></span> — It’s been a few years since we covered this project and it’s come along a lot since. It’s a library for building PEG-based parsers you can use in interpreters, compilers, analysis tools, etc. and you can even <a href="https://javascriptweekly.com/link/179167/rss" style=" color: #3366aa; ">play with its grammar online.</a></p>
<p>Warth, Dubroy, et al. </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/179146/rss" title="github.com" style=" color: #3366aa; font-size: 1.05em;">Superdiff 3.2: Compares Two Arrays or Objects and Return a Diff</a></span> — Got two similar objects or arrays and want to see the underlying differences? Superdiff's recent updates boost performance, add support for streamed input and using a worker for more efficient diffing in a separate thread.</p>
<p>antoine </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<ul>
<li>
<p><a href="https://javascriptweekly.com/link/179147/rss" style=" color: #3366aa; font-weight: 500 !important; ">JavaScriptKit 0.38</a> – Swift framework to interact with JavaScript via WebAssembly.</p>
</li>
<li>
<p>🎵 <a href="https://javascriptweekly.com/link/179148/rss" style=" color: #3366aa; font-weight: 500 !important; ">alphaTab 1.8</a> – Music notation and guitar tab rendering library.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179149/rss" style=" color: #3366aa; font-weight: 500 !important; ">Neo.mjs v11.20</a> – Multi-threaded application engine for the Web.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179150/rss" style=" color: #3366aa; font-weight: 500 !important; ">Monio 0.70.0</a> – Kyle Simpson's IO monad implementation.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179151/rss" style=" color: #3366aa; font-weight: 500 !important; ">Ant Design 6.2</a> – UI design language and React UI library.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179152/rss" style=" color: #3366aa; font-weight: 500 !important; ">xstyled 4.1</a> – Utility-first CSS-in-JS framework for React.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179153/rss" style=" color: #3366aa; font-weight: 500 !important; ">Jint 4.5</a> – JavaScript interpreter for .NET.</p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 0px; padding-left: 0px;">
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p>📰 Classifieds</p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p>⚡️Add lightning-fast barcode & QR scanning to your web app with <a href="https://javascriptweekly.com/link/179154/rss" style=" color: #3366aa; font-weight: 500 !important; ">STRICH</a>, a lean JS library. Simple, predictable pricing. <a href="https://javascriptweekly.com/link/179154/rss" style=" color: #3366aa; font-weight: 500 !important; ">Free trial and demo!</a></p>
<p>Only fools write manual tests – modern engineering teams like Notion, Dropbox and Lattice use <a href="https://javascriptweekly.com/link/179155/rss" style=" color: #3366aa; font-weight: 500 !important; ">Meticulous</a> to maintain E2E UI tests <a href="https://javascriptweekly.com/link/179155/rss" style=" color: #3366aa; font-weight: 500 !important; ">covering every edge case</a> of your web app.</p>
<p>🚀 Auth0 for AI Agents is the complete auth solution for building AI agents more securely. <a href="https://javascriptweekly.com/link/179156/rss" style=" color: #3366aa; font-weight: 500 !important; ">Start building today</a>.</p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "></td></tr></table>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0; padding-right: 0; padding-left: 0;"><p>📢 Elsewhere in the ecosystem</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p>Some other interesting tidbits in the broader landscape:</p>
<ul>
<li>
<p>🤖 <a href="https://javascriptweekly.com/link/179157/rss" style=" color: #3366aa; font-weight: 500 !important; ">Even Linus Torvalds is 'vibe coding' now.</a> He's been using Google's Antigravity tool to <a href="https://javascriptweekly.com/link/179158/rss" style=" color: #3366aa; font-weight: 500 !important; ">create some digital sound effects.</a></p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179168/rss" style=" color: #3366aa; font-weight: 500 !important; ">GitHub is planning to implement 'staged publishing' for npm packages</a> in 2026 as a way to introduce a review step before releases go live.</p>
</li>
<li>
<p>🗓️ <a href="https://javascriptweekly.com/link/179159/rss" style=" color: #3366aa; font-weight: 500 !important; ">The Astro team shares</a> a full 2025 year in review post. It's been a big year for the popular framework.</p>
</li>
<li>
<p>Anil Dash shares <a href="https://javascriptweekly.com/link/179160/rss" style=" color: #3366aa; font-weight: 500 !important; ">the story of how Markdown took over the world.</a></p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/179161/rss" style=" color: #3366aa; font-weight: 500 !important; ">The results of the <em>State of HTML 2025</em> survey</a> are now available.</p>
</li>
<li>
<p>TIL that Deno, the JavaScript runtime, <a href="https://javascriptweekly.com/link/179162/rss" style=" color: #3366aa; font-weight: 500 !important; ">is being distributed on Python's PyPI</a> to make it easier for Python apps to call out to JavaScript as needed.</p>
</li>
<li>
<p>In 2025, <a href="https://javascriptweekly.com/link/179163/rss" style=" color: #3366aa; font-weight: 500 !important; ">Bun was the third largest contributor to JavaScriptCore</a>, the JavaScript engine powering both Safari and Bun.</p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "></td></tr></table>
</div>
</td></tr>
</table>
<img src="https://javascriptweekly.com/open/768/rss" width="1" height="1" />
Tue, 13 Jan 2026 00:00:00 +0000
https://javascriptweekly.com/issues/768
-
A new JavaScript engine from Fabrice Bellard
https://javascriptweekly.com/issues/767
<table border=0 cellpadding=0 cellspacing=0 align="center" border="0">
<tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; ">
<div>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr>
<td align="left" style="padding-left: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "><p>#767 — January 6, 2026</p></td>
<td align="right" style="padding-right: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "><p><a href="https://javascriptweekly.com/link/178853/rss" style=" color: #3366aa;">Read on the Web</a></p></td>
</tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;"><p>🎉 Happy New Year. <strong>JavaScript Weekly is now landing in your inboxes on Tuesdays</strong>, so here we are! Let's see what 2026 brings.<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 style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0; padding-right: 12px; padding-left: 12px;"><p>JavaScript Weekly</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; ">
<a href="https://javascriptweekly.com/link/178794/rss" style=" color: #3366aa;"><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ct6eoto8abwvodmz5riu.jpg" width="640" style=" line-height: 100%; "></a>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/178794/rss" title="risingstars.js.org" style=" color: #3366aa; font-size: 1.1em; line-height: 1.4em;">The 2025 JavaScript Rising Stars</a></span> — At the start of each year, Michael rounds up the projects in the JavaScript ecosystem that gained the most popularity on GitHub in the prior year. After a two-year run of topping the chart, <code>shadcn/ui</code> has been pushed down to #3 by <a href="https://javascriptweekly.com/link/178795/rss" style=" color: #3366aa; ">n8n</a> and <a href="https://javascriptweekly.com/link/178796/rss" style=" color: #3366aa; ">React Bits</a>. This is a fantastic roundup, now in its tenth(!) year, and features commentary from a few industry experts too.</p>
<p>Michael Rambeau et al. </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<a href="https://javascriptweekly.com/link/178793/rss" style=" color: #3366aa; "><img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/4b74bed1.png" width="110" height="110" style="padding-top: 12px; padding-left: 12px; line-height: 100%; "></a>
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/178793/rss" title="www.meticulous.ai" style=" color: #3366aa; font-size: 1.05em;">Make Flaky Tests a Last-Year Problem</a></span> — Meticulous creates and maintains a continuously evolving E2E UI test suite with zero developer effort. Built on Chromium with a deterministic engine, it’s the only testing tool that eliminates flakes. Relied on by Dropbox, Notion, and Lattice.</p>
<p>Meticulous Ai <span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em; color: #993 !important; padding-top: 1px; padding-right: 4px; padding-left: 4px; ">sponsor</span></p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/178797/rss" title="github.com" style=" color: #3366aa; font-size: 1.05em;">MicroQuickJS: A New JavaScript Engine from Fabrice Bellard</a></span> — <a href="https://javascriptweekly.com/link/178798/rss" style=" color: #3366aa; ">Fabrice</a>, one of the world’s most prolific developers well-known for creating FFmpeg, QEMU and <a href="https://javascriptweekly.com/link/178799/rss" style=" color: #3366aa; ">QuickJS</a>, is back with a new JavaScript engine targeting embedded systems, and that can run with as little as 10KB of RAM.</p>
<p>Fabrice Bellard </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;"><p>💡 The <a href="https://javascriptweekly.com/link/178800/rss" style=" color: #3366aa; font-weight: 600;">discussion about MicroQuickJS on Hacker News</a> was particularly rich. Redis's creator, Salvatore Sanfilippo, even noted that Redis would have used JavaScript as its scripting language instead of Lua if this had existed in 2010.</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><strong>IN BRIEF:</strong></p>
<ul>
<li>
<p><a href="https://javascriptweekly.com/link/178855/rss" style=" color: #3366aa; font-weight: 500 !important; ">pnpm</a>'s lead maintainer, Zoltan Kochan, presents <a href="https://javascriptweekly.com/link/178801/rss" style=" color: #3366aa; font-weight: 500 !important; ">a look back at how 2025 was a transformative year for the project.</a></p>
</li>
<li>
<p>If you missed <a href="https://javascriptweekly.com/link/178854/rss" style=" color: #3366aa; font-weight: 500 !important; ">our final issue of 2025</a>, be sure to check it out. We did a month-by-month rundown of what happened in the JavaScript world and shared the top ten links of the year.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/178802/rss" style=" color: #3366aa; font-weight: 500 !important; ">WebF</a> is a new WHATWG-compliant web runtime for Flutter so you can build parts of Flutter apps using a more typical JS stack (React, Vue, etc.)</p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><strong>RELEASES:</strong></p>
<ul>
<li>
<p><a href="https://javascriptweekly.com/link/178803/rss" style=" color: #3366aa; font-weight: 500 !important; ">pnpm 10.27</a> – The alternative, efficient (and increasingly security-focused) package manager gets some tweaks, including a setting to ignore trust policy checks for packages published more than a specified time ago.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/178804/rss" style=" color: #3366aa; font-weight: 500 !important; ">Ink 6.6</a> – Use React to build CLI apps, as used by Claude Code, Gemini CLI, <a href="https://javascriptweekly.com/link/178805/rss" style=" color: #3366aa; font-weight: 500 !important; ">and many others.</a></p>
</li>
<li>
<p>🎨 <a href="https://javascriptweekly.com/link/178806/rss" style=" color: #3366aa; font-weight: 500 !important; ">Color.js v0.6</a> – The popular standards-compliant color conversion and manipulation library approaches its eventual 1.0 release.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/178807/rss" style=" color: #3366aa; font-weight: 500 !important; ">Prisma 7.2</a>, <a href="https://javascriptweekly.com/link/178808/rss" style=" color: #3366aa; font-weight: 500 !important; ">Deno 2.6.4</a></p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0; padding-right: 0; padding-left: 0;"><p>📖 Articles and Videos</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/178809/rss" title="devongovett.me" style=" color: #3366aa; font-size: 1.05em;">How to Compile JavaScript to C with Static Hermes</a></span> — The creator of <a href="https://javascriptweekly.com/link/178810/rss" style=" color: #3366aa; ">Parcel</a> is porting parts of the project to Rust, but this raises some challenges on interoperating with existing JavaScript plugins, especially without a runtime JS interpreter. What about compiling JavaScript to C libraries that can be called directly? It’s possible!</p>
<p>Devon Govett </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><span>🦖</span> <a href="https://javascriptweekly.com/link/178811/rss" title="deno.com" style=" color: #3366aa; font-size: 1.05em;">Build a Dinosaur Runner Game with Deno</a></span> — An ongoing series of posts (part <a href="https://javascriptweekly.com/link/178812/rss" style=" color: #3366aa; ">two</a> and <a href="https://javascriptweekly.com/link/178813/rss" style=" color: #3366aa; ">three</a> are also available) on the official Deno blog where you get to recreate something akin to Chrome’s <a href="https://javascriptweekly.com/link/178814/rss" style=" color: #3366aa; ">Dinosaur Game</a> for yourself.</p>
<p>Jo Franchetti </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/178816/rss" title="www.tigerdata.com" style=" color: #3366aa; font-size: 1.05em;">How CERN Cut Storage by 95% and 40x’d Query Speed with TimescaleDB</a></span> — Learn how CERN engineers modernized Large Hadron Collider time-series data for performance, scale, and cost efficiency.</p>
<p>Tiger Data (creators of TimescaleDB) <span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em; color: #993 !important; padding-top: 1px; padding-right: 4px; padding-left: 4px; ">sponsor</span></p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/178817/rss" title="www.viget.com" style=" color: #3366aa; font-size: 1.05em;">Fixing TypeScript Performance Problems: A Case Study</a></span> — A big monorepo-based TypeScript project was suffering sluggish IntelliSense, long type-checking times, and slow builds, but Solomon’s team found some ways to significantly improve things.</p>
<p>Solomon Hawk </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/178818/rss" title="www.royalbhati.com" style=" color: #3366aa; font-size: 1.05em;">Why Object of Arrays (SoA Pattern) Beat Interleaved Arrays</a></span> — A dive down a JavaScript performance rabbit hole.</p>
<p>Royal Bhati </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p>📄 <a href="https://javascriptweekly.com/link/178819/rss" style=" color: #3366aa; font-weight: 500 !important; ">Brendan Eich Warns Against “Rushed Web UX Over Native” as Windows 11 Leans Harder on WebView2 and Electron</a> <cite>Windows Latest</cite></p>
<p>📄 <a href="https://javascriptweekly.com/link/178820/rss" style=" color: #3366aa; font-weight: 500 !important; ">Implementing Streaming JSON in Just 200 Lines of JavaScript</a> <cite>Krasimir Tsonev</cite></p>
<p>📄 <a href="https://javascriptweekly.com/link/178821/rss" style=" color: #3366aa; font-weight: 500 !important; ">Signals vs Query-Based Compilers</a> <cite>Marvin Hagemeister</cite></p>
<p>📄 <a href="https://javascriptweekly.com/link/178822/rss" style=" color: #3366aa; font-weight: 500 !important; ">The Nine Levels of JavaScript Dependency Hell</a> <cite>Andrew Nesbitt</cite></p>
<p>📄 <a href="https://javascriptweekly.com/link/178823/rss" style=" color: #3366aa; font-weight: 500 !important; ">How to Create a Pixel-to-Voxel Video Drop Effect with Three.js and Rapier</a> <cite>Junichi Kasahara</cite></p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0; padding-right: 0; padding-left: 0;"><p>🛠 Code & Tools</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; ">
<a href="https://javascriptweekly.com/link/178824/rss" style=" color: #3366aa;"><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/udfxu239yekuwhj7a4sj.jpg" width="640" style=" line-height: 100%; "></a>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/178824/rss" title="schedule-x.dev" style=" color: #3366aa; font-size: 1.05em;">Schedule-X 3.6: A Material Design Calendar and Date Picker</a></span> — Available in the form of React/Preact, Vue, Svelte, Angular, or plain JS components. Open source but with a premium version with extra features. <a href="https://javascriptweekly.com/link/178825/rss" style=" color: #3366aa; ">GitHub repo.</a></p>
<p>Tom Österlund </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><span>📄</span> <a href="https://javascriptweekly.com/link/178826/rss" title="github.com" style=" color: #3366aa; font-size: 1.05em;">jsPDF 4.0: Client-Side JavaScript PDF Generation</a></span> — Create tickets, documents, certificates, etc. all on the fly. There’s <a href="https://javascriptweekly.com/link/178827/rss" style=" color: #3366aa; ">a live demo</a>, as well as <a href="https://javascriptweekly.com/link/178828/rss" style=" color: #3366aa; ">thorough documentation.</a></p>
<p>Parallax </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/178856/rss" title="surveyjs.io" style=" color: #3366aa; font-size: 1.05em;">SurveyJS: JavaScript Libraries for Custom Web Forms</a></span> — Keep full ownership of your data. Build JSON-driven forms in your app without SaaS limitations.</p>
<p>SurveyJS <span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em; color: #993 !important; padding-top: 1px; padding-right: 4px; padding-left: 4px; ">sponsor</span></p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p><span style="font-weight: 600; font-size: 1.1em; color: #000;"><a href="https://javascriptweekly.com/link/178830/rss" title="www.usebruno.com" style=" color: #3366aa; font-size: 1.05em;">Bruno 3.0: An Open-Source HTTP API Client App</a></span> — There are a lot of ‘API client’ tools with varying levels of features, but this is open source and entirely built in JavaScript. v3.0 features a complete overhaul of the UI, adds workspaces for grouping things together, and more. <a href="https://javascriptweekly.com/link/178831/rss" style=" color: #3366aa; ">GitHub repo.</a></p>
<p>Bruno Software Inc. </p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<ul>
<li>
<p><a href="https://javascriptweekly.com/link/178832/rss" style=" color: #3366aa; font-weight: 500 !important; ">JoltPhysics.js 1.0</a> – A popular C++ physics library can now be used from JavaScript thanks to Emscripten. Check out <a href="https://javascriptweekly.com/link/178833/rss" style=" color: #3366aa; font-weight: 500 !important; ">numerous demos here.</a></p>
</li>
<li>
<p>🎶 <a href="https://javascriptweekly.com/link/178834/rss" style=" color: #3366aa; font-weight: 500 !important; ">ChordSheetJS 13.0</a> – Library for parsing and formatting chords and chord sheets. (<a href="https://javascriptweekly.com/link/178835/rss" style=" color: #3366aa; font-weight: 500 !important; ">Demo.</a>)</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/178836/rss" style=" color: #3366aa; font-weight: 500 !important; ">Middy 7.0</a> – Node.js middleware engine for AWS Lambda. Now supports Durable Functions.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/178837/rss" style=" color: #3366aa; font-weight: 500 !important; ">PlayCanvas glTF Viewer 5.8</a> – 3D model viewer supporting glTF 2.0 and PLY.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/178838/rss" style=" color: #3366aa; font-weight: 500 !important; ">k6 1.5</a> – Modern Go + JavaScript-powered load testing tool. (<a href="https://javascriptweekly.com/link/178839/rss" style=" color: #3366aa; font-weight: 500 !important; ">Homepage.</a>)</p>
</li>
<li>
<p>📊 <a href="https://javascriptweekly.com/link/178840/rss" style=" color: #3366aa; font-weight: 500 !important; ">Recharts 3.6</a> – Popular D3-powered React charting library.</p>
</li>
<li>
<p><a href="https://javascriptweekly.com/link/178841/rss" style=" color: #3366aa; font-weight: 500 !important; ">NATS.js 3.3</a> – JavaScript client for the NATS messaging system.</p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 0px; padding-left: 0px;">
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p>📰 Classifieds</p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p>🔑 Let users create their own API keys with <a href="https://javascriptweekly.com/link/178842/rss" style=" color: #3366aa; font-weight: 500 !important; ">Clerk</a>. Built-in UI components, scopes, expiration & revocation. <a href="https://javascriptweekly.com/link/178842/rss" style=" color: #3366aa; font-weight: 500 !important; ">Now in public beta</a>.</p>
<p><a href="https://javascriptweekly.com/link/178843/rss" style=" color: #3366aa; font-weight: 500 !important; ">Trigger.dev</a> handles queues, retries, and long-running tasks so you can build production-ready agents and TypeScript workflows reliably at scale.</p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "></td></tr></table>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0; padding-right: 0; padding-left: 0;"><p>📢 Elsewhere in the ecosystem</p></td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<p>Some other interesting tidbits in the broader landscape:</p>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; ">
<a href="https://javascriptweekly.com/link/178844/rss" style=" color: #3366aa;"><img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ogflwzpljlk3d8gnrtra.jpg" width="640" style=" line-height: 100%; "></a>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; padding-top: 0px; padding-right: 15px; padding-left: 15px;">
<ul>
<li>
<p>For years, Mozilla, Apple, and the CSS Working Group have been working to bring "masonry" layouts <em>(as above)</em> natively to CSS. The concept is now <a href="https://javascriptweekly.com/link/178844/rss" style=" color: #3366aa; font-weight: 500 !important; ">called <em>CSS Grid Lanes</em> and here's how it works.</a> You can already try it out in Safari Technology Preview 234.</p>
</li>
<li>
<p>Addy Osmani shares <a href="https://javascriptweekly.com/link/178846/rss" style=" color: #3366aa; font-weight: 500 !important; ">21 valuable lessons from spending 14 years at Google.</a> Good general advice for remaining a competent and engaged engineer over time.</p>
</li>
<li>
<p>Andy Pavlo has put together a neat review of <a href="https://javascriptweekly.com/link/178847/rss" style=" color: #3366aa; font-weight: 500 !important; ">what happened in the world of databases in 2025.</a> Simon Willison has <a href="https://javascriptweekly.com/link/178848/rss" style=" color: #3366aa; font-weight: 500 !important; ">a similar review of LLMs in 2025.</a></p>
</li>
<li>
<p>🤖 Mattias Geniar explains how <a href="https://javascriptweekly.com/link/178849/rss" style=" color: #3366aa; font-weight: 500 !important; ">AI has made web development fun again</a> (for him, at least).</p>
</li>
<li>
<p><em>Ultimate Linux</em> is a curious experiment to build <a href="https://javascriptweekly.com/link/178850/rss" style=" color: #3366aa; font-weight: 500 !important; ">a minimal userspace for Linux entirely in JavaScript.</a></p>
</li>
</ul>
</td></tr></table>
<table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr><td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "></td></tr></table>
</div>
</td></tr>
</table>
<img src="https://javascriptweekly.com/open/767/rss" width="1" height="1" />
Tue, 6 Jan 2026 00:00:00 +0000
https://javascriptweekly.com/issues/767