🎉 Happy New Year. JavaScript Weekly is now landing in your inboxes on Tuesdays, so here we are! Let's see what 2026 brings. __ Your editor, Peter Cooper
JavaScript Weekly
The 2025 JavaScript Rising Stars — 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, shadcn/ui has been pushed down to #3 by n8n and React Bits. This is a fantastic roundup, now in its tenth(!) year, and features commentary from a few industry experts too.
Michael Rambeau et al.
Make Flaky Tests a Last-Year Problem — 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.
💡 The discussion about MicroQuickJS on Hacker News 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.
If you missed our final issue of 2025, 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.
WebF 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.)
RELEASES:
pnpm 10.27 – 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.
How to Compile JavaScript to C with Static Hermes — The creator of Parcel 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!
Fixing TypeScript Performance Problems: A Case Study — 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.
Bruno 3.0: An Open-Source HTTP API Client App — 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. GitHub repo.
k6 1.5 – Modern Go + JavaScript-powered load testing tool. (Homepage.)
📊 Recharts 3.6 – Popular D3-powered React charting library.
NATS.js 3.3 – JavaScript client for the NATS messaging system.
📰 Classifieds
🔑 Let users create their own API keys with Clerk. Built-in UI components, scopes, expiration & revocation. Now in public beta.
Trigger.dev handles queues, retries, and long-running tasks so you can build production-ready agents and TypeScript workflows reliably at scale.
📢 Elsewhere in the ecosystem
Some other interesting tidbits in the broader landscape:
For years, Mozilla, Apple, and the CSS Working Group have been working to bring "masonry" layouts (as above) natively to CSS. The concept is now called CSS Grid Lanes and here's how it works. You can already try it out in Safari Technology Preview 234.
🗓️ As it's the last issue of 2025, a reminder that JavaScript Weekly moves to Tuesdays in January. See you again on January 6, 2026! __ Your editor, Peter Cooper
JavaScript Weekly
It's the final issue of the year, so we're going to cover a few new items, then look back at the top links of 2025 (based on reader engagement) and recap what happened in the ecosystem month-by-month this year.
The JavaScript Bundler Grand Prix — Bundlers now sit at the heart of many JavaScript workflows and are sometimes even integrated into runtimes (e.g. Bun’s). This piece surveys the landscape and argues the speed wars are mostly over, with the real battle shifting to artifact size and the code that actually ships to users.
1.A Perplexing JavaScript Parsing Puzzle — Hillel's deceptively simple puzzle – just 14 bytes of code – attracted by far the most attention this year. Despite working with JavaScript for most of its lifespan, I got it wrong!
4.How the Web is Using JavaScript — The JavaScript section of this year's HTTP Archive Web Almanac report went into depth on how much JS we’re using (and failing to use), the popularity of TypeScript, Web Worker usage, and.. yes, jQuery still dominates!
🎄 Give yourself the gift of time this Christmas. Let Meticulous observe your app and auto-build continuously evolving E2E UI tests while you celebrate. Book a call now.
Trigger.dev handles queues, retries, and long-running tasks so you can build production-ready agents and TypeScript workflows reliably at scale.
🎄 This is the final issue of JavaScript Weekly for 2025 – thanks for reading, submitting links, and supporting us! We're going to return on Tuesday, January 6, 2026. See you then! And, if we're really lucky, we might catch up on our inbox packed with submissions by then too... ;-)
Useful Patterns for Building HTML Tools — In many situations, you don’t need a full-on framework to build useful tools; just HTML, JavaScript and CSS in a single file will do the job fine. Simon’s become a bit of an expert by rolling out many such tools using LLMs, and shares his process and practices here. More please!
Simon Willison
Why Are the Top AI Companies Choosing SpreadJS? — Because SpreadJS brings a familiar Excel-like UI to JavaScript web apps. Trusted by leading AI innovators and organizations, it empowers devs to build finance, analytics, and more apps with Excel I/O, 500+ calc functions, charts, & more. View demos!
SpreadJS From MESCIUS sponsor
Deno 2.6 Released — The popular alternative runtime introduces a new npx-like tool called dx to run binaries from npm and JSR packages, adds a deno audit tool for identifying vulnerabilities in dependencies, adds more granular control over runtime permissions, implements source phase imports, and more.
🔒 GitHub shares an update on its npm token policies. All npm classic tokens have been revoked this week, and there's now a new process for getting a two hour session token or a granular access token instead.
A Proposal for Making Complex Web Apps Faster — From Microsoft comes an early-stage look at a proposal for a new Delayed Message Timing API to help deal with the slowdowns that multiple parallel contexts (iframes, threads, multiple windows, etc) can introduce. Feedback is being sought.
Building a Tiny 2D Physics Engine in JavaScript — A lovely, and rather old-school style post about building a simple physics engine from scratch in JavaScript then golfing it down to just 2KB of source as seen on its homepage (where there's a demo too).
💡 You don't need to be a Remix user to benefit from this code, either. For example, here's the code to the store's neat 'glitchy' 404 page which you could adapt to use elsewhere.
Toastflow: A Toast Notifications Library for Vue 3 — A really nifty web-based playground for playing around with toast notifications. I wish more projects had things like this. Toastflow is technically framework agnostic, but the only renderer so far is for Vue 3. GitHub repo.
Inertia 2.3 – Build single-page React, Vue and Svelte apps using classic server-side routing and controllers (ideally for integrating with server-side frameworks like Django, Rails, Laravel, etc.)
Some other interesting tidbits in the broader landscape:
📺 Earlier this year, Dimitri Mitropoulos wowed us by running Doom inside TypeScript's type system – now he's back ▶️ showing off TypeSlayer, a tool for diagnosing and fixing TypeScript performance problems with some fantastic 3D visualizations. It looks great, but isn't public yet.
Get up to speed with the latest developments in the world of CSS this year with the Chrome team's CSS Wrapped 2025.
🗳️ Rick Viscomi of the Google Chrome team has put out a call for you to vote for the web features you want to see in the future. This is a separate effort from the recent Interop 2025 voting process and votes will accumulate over the long term.