Vitest 4.0 and Next.js 16
#758 — October 24, 2025
JavaScript Weekly
Vitest 4.0 Released: The Vite-Native Testing Framework — The Vite-powered, Jest-compatible testing framework introduces visual regression testing, makes its ‘Browser Mode’ stable (for running tests in a browser directly), adds Playwright Traces support, and more. Still unsure? You can compare it with other test runners here.
VoidZero and Contributors
💡 Starting from Angular 21, Vitest will become Angular’s default test runner, replacing Karma and Jasmine.
The Most Customizable Auth for JavaScript Developers — See how FusionAuth gives you total customization freedom without building from scratch. Create fully branded login experiences that integrate with any JS stack. Downloadable and self-hostable. Watch the free on-demand webinar.
FusionAuth sponsor
Next.js 16 Released — Launched alongside this week’s Next.js Conf (you can ▶️ watch the livestream here), the popular React framework gains explicit caching components, an MCP server for AI-assisted debugging, both Turbopack and React Compiler support go stable, and more.
Lai, Story, Markbåge, and Neutkens
▶ The Nordic.js 2025 Talk Videos — Nordic.js took place earlier this month and they’ve just shared the videos of a fantastic set of talks. Some highlights include Christoph Porteneuve talking about ES2026 and ES2027, Kyle Simpson on passkeys, and Sara Vieira diving into writing an emulator in JavaScript.
Nordic.js
IN BRIEF:
It’s been a decade since we mentioned Backbone.js regularly, but it was a big deal in the pre-React era. Panphora looks at React vs Backbone in 2025 and ponders how much progress we’ve made in 15 years.
The Deno team shares some updates about its Deno Deploy platform.
There’s just one week left to take the State of JavaScript 2025 survey.
The URL Pattern API is now Baseline Newly available.
RELEASES:
Boa v0.21 – A significant release for a JavaScript engine built in Rust, including Temporal support.
Bun v1.3.1 – A point release following the epic Bun 1.3 release with more modest improvements across the board.
Biome v2.3 – The fast formatter/linter introduces Vue, Svelte and Astro support.
ESLint v9.38.0, Astro 5.15, pnpm 10.19, Rspack 1.6.0 Beta 1
📖 Articles and Videos
Importing vs Fetching JSON — You’ve used import to load code, but what about loading JSON? Import attributes, now broadly supported across browsers, make it possible, but is there any point instead of using fetch? Jake investigates.
Jake Archibald
Rethinking Async Loops in JavaScript — Awaiting in loops runs your async operations one-by-one instead of all at once. And using map() with await? It doesn’t even wait. Matt breaks down some patterns that actually work, and why forEach with async is easy to get wrong.
Matt Smith
Build Your Apps Faster with a Ready-to-Use Backend — Forget about DevOps headaches. OneEntry gives frontend devs a ready-to-use cloud backend with built-in database, intuitive admin panel, and flexible data models that adapt to any project.
OneEntry sponsor
Building CLIs with Ace: A Bookmarks App in Node and Bun — Ace (GitHub repo) is a CLI app framework built by the AdonisJS folks that you might not have encountered before.
Harminder Virk
Solving NYT’s Pips Puzzle with TypeScript — I love doing the New York Times’ various puzzles, though I’m not a huge fan of their newest one: Pips. Nonetheless, it’s an interesting puzzle to consider how to solve algorithmically.
Andrew Healey
📄 React and Remix Choose Different Futures Brendan McLoughlin
📄 One Year with Next.js App Router — Why We’re Moving On Paper Clover
📄 4 Unconventional Ways to Cast in TypeScript PolyWolf
🛠 Code & Tools
Ky 1.13: Tiny, Elegant Fetch-Based HTTP Client for Browsers — Makes the Fetch API tidier to use (as shown here), and is also a good modern alternative for Axios. v1.13 adds a ‘context’ feature making it easier to create reusable API clients that can accept custom parameters.
Sindre Sorhus
JustGage 2.0: Draw and Animate Dashboard-Style SVG Gauges — A big release for a project started over a decade ago, now brought into the modern age and using native SVG APIs. There’s a playground that lets you play with the options and gauge styles.
Bojan Djuricic
Wallaby v3: Smarter Testing with Result Streaming & Cached Results — New Wallaby v3 streams live results, uses cached execution for instant startup, and prioritizes active files, making JS & TS test feedback faster and smarter than ever.
Wallaby Team sponsor
Solito 5.0: A Way to Use React Native with Next.js — Solito is a wrapper around React Navigation and Next.js that lets you share navigation code when building cross-platform apps. v5.0 supports Next.js 16 and Expo 54, and also drops React Native Web as a dependency.
Fernando Rojo
[.. 🔎..] MaxIntervalCover: Compute the Optimal Subset of Non-Overlapping Intervals
Robert Eisele
p-limit 7.2 – Run multiple promise-returning and async functions with limited concurrency. Now .map() can accept an iterable, not just an array.
Repomix 1.8 – Pack an entire repository into a single, LLM-friendly file. Now with official plugins for Claude Code.
ESLint Markdown Language Plugin 7.5 – Lint JS/TSX code blocks in Markdown documents.
📰 Classifieds
🕳️ 🥊 Hiring Now: Join Holepunch to build the peer-to-peer internet. No servers. Open source, privacy-first. Shape the future of apps. Remote worldwide.
Meticulous writes and maintains your E2E UI tests. Built for high-velocity teams who can’t afford flakes. Relied on by Notion, Dropbox, Wiz, Lattice, etc.
📢 Elsewhere in the ecosystem
A roundup of other interesting stories from the broader landscape:
Dr. Axel Rauschmayer continues to work on his “web dev for beginners” series with a rather epic look at CSS layout in general (above), covering Flexbox, CSS Grid, media queries and container queries. This is a fantastic, modern primer for the topic, even if you’re not a beginner.
No video yet, but Node.js TSC member Ruy Adorno gave a talk at JSConf last week about What’s New and What’s Next in Node.js and has shared his slidedeck which stands well on its own.
Over on X, Tzvetan Milkov shows off an interesting proof of concept of React driving the Dear ImGui GUI library with the Hermes JS engine to create fully native apps.
SpacetimeDB is a Rust-powered database/server combo for powering real-time multiplayer games and its latest release adds support for TypeScript modules.
Dan Abramov shares some insights on how to fix any bug in your code. This is a daily task for most developers, but Dan explains the technique of simplifying a bug reproduction well.
Is /dev/null an ACID compliant database? If you squint a lot.