---
title: "Vitest 4.0 and Next.js 16"
publication: "JavaScript Weekly"
issue: 758
published_at: "2025-10-24"
canonical_url: "https://javascriptweekly.com/issues/758"
---

Plus getting async right in loops, Backbone nostalgia, and some great talks from Nordic.js. |        

#​758 — October 24, 2025 

[Read on the Web](https://javascriptweekly.com/issues/758)  

Together with [![Fusion Auth\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_1280,h_316/e_make_transparent/co_white,e_outline:15/wm1gvx8cub0d4gmmabev.png)](https://fusionauth.link/3W7xWxh)   

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/bbehdgwfpfunue972soi.jpg)](https://vitest.dev/blog/vitest-4)  

[Vitest 4.0 Released: The Vite-Native Testing Framework](https://vitest.dev/blog/vitest-4) — The Vite-powered, Jest-compatible testing framework introduces [visual regression testing](https://vitest.dev/guide/browser/visual-regression-testing.html), makes its [‘Browser Mode’](https://vitest.dev/guide/browser/) 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.](https://vitest.dev/guide/comparisons.html) 

VoidZero and Contributors   

💡 Starting from Angular 21, [Vitest will become Angular's default test runner](https://github.com/angular/angular-cli/pull/31578), replacing Karma and Jasmine.  [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/79593b88.png)](https://fusionauth.link/3W7xWxh) 

[The Most Customizable Auth for JavaScript Developers](https://fusionauth.link/3W7xWxh) — 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](https://fusionauth.link/3W7xWxh). 

FusionAuth sponsor   

[Next.js 16 Released](https://nextjs.org/blog/next-16) — Launched alongside this week’s Next.js Conf (you can [▶️ watch the livestream here](https://www.youtube.com/watch?v=IdIgkiDu-94)), 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](https://www.youtube.com/@nordicjs/videos) — [Nordic.js](https://nordicjs.com/2025) 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](https://www.youtube.com/watch?v=aNekr_WyxM0), Kyle Simpson [on passkeys](https://www.youtube.com/watch?v=GVH8X_QOlKg), and Sara Vieira diving into [writing an emulator in JavaScript.](https://www.youtube.com/watch?v=3xca9bABIic) 

Nordic.js   

**IN BRIEF:** 

- It's been a decade since we mentioned [Backbone.js](https://backbonejs.org/) regularly, but it was a big deal in the pre-React era. Panphora looks at [React vs Backbone in 2025](https://backbonenotbad.hyperclay.com/) and ponders how much progress we've made in 15 years.
- The Deno team shares [some updates about its _Deno Deploy_ platform.](https://deno.com/blog/deno-deploy-highlights)
- There's just one week left to [take the _State of JavaScript 2025_ survey.](https://survey.devographics.com/en-US/survey/state-of-js/2025)
- [The _URL Pattern API_ is now Baseline Newly available.](https://web.dev/blog/baseline-urlpattern)   

**RELEASES:** 

- [Boa v0.21](https://boajs.dev/blog/2025/10/22/boa-release-21) – A significant release for a JavaScript engine built in Rust, including Temporal support.
- [Bun v1.3.1](https://bun.com/blog/bun-v1.3.1) – A point release following the epic [Bun 1.3 release](https://bun.com/blog/bun-v1.3) with more modest improvements across the board.
- [Biome v2.3](https://biomejs.dev/blog/biome-v2-3/) – The fast formatter/linter introduces Vue, Svelte and Astro support.
- [ESLint v9.38.0](https://eslint.org/blog/2025/10/eslint-v9.38.0-released/), [Astro 5.15](https://astro.build/blog/astro-5150/), [pnpm 10.19](https://pnpm.io/blog/releases/10.19), [Rspack 1.6.0 Beta 1](https://github.com/web-infra-dev/rspack/releases/tag/v1.6.0-beta.1)  

📖 Articles and Videos 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/zaip6lzyx9cgrk9zu9hf.jpg)](https://jakearchibald.com/2025/importing-vs-fetching-json/)  

[Importing vs Fetching JSON](https://jakearchibald.com/2025/importing-vs-fetching-json/) — You’ve used `import` to load code, but what about loading JSON? [Import attributes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import/with), 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](https://allthingssmitty.com/2025/10/20/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](https://oneentry.cloud?utm_campaign=cooperpress) — 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](https://blog.galaxycloud.app/building-clis-with-ace-a-bookmarks-app-in-node-js-and-bun/) — [Ace](https://docs.adonisjs.com/guides/ace/introduction) ([GitHub repo](https://github.com/adonisjs/ace)) is a CLI app framework built by the [AdonisJS](https://docs.adonisjs.com/guides/preface/introduction) folks that you might not have encountered before. 

Harminder Virk   

[Solving NYT's _Pips_ Puzzle with TypeScript](https://healeycodes.com/solving-nyt-pips-puzzle) — 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](https://laconicwit.com/react-and-remix-choose-different-futures/) Brendan McLoughlin 

📄 [One Year with Next.js App Router — Why We're Moving On](https://paperclover.net/blog/webdev/one-year-next-app-router) Paper Clover 

📄 [4 Unconventional Ways to Cast in TypeScript](https://wolfgirl.dev/blog/2025-10-22-4-unconventional-ways-to-cast-in-typescript/) PolyWolf  

🛠 Code & Tools  

[Ky 1.13: Tiny, Elegant Fetch-Based HTTP Client for Browsers](https://github.com/sindresorhus/ky) — Makes the Fetch API tidier to use ([as shown here](https://github.com/sindresorhus/ky#user-content-usage)), and is also a good modern alternative for Axios. [v1.13](https://github.com/sindresorhus/ky/releases/tag/v1.13.0) adds [a ‘context’ feature](https://github.com/sindresorhus/ky#context) 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](https://toorshia.github.io/justgage/) — 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](https://wallabyjs.com/blog/wallaby-v3.html?utm_source=cooperpress&utm_medium=javascriptweekly&utm_content=javascriptweekly) — 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](https://solito.dev/v5) — [Solito](https://solito.dev/) 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](https://github.com/rawify/MaxIntervalCover.js) 

Robert Eisele   

- [p-limit 7.2](https://github.com/sindresorhus/p-limit) – Run multiple promise-returning and async functions with limited concurrency. Now `.map()` can accept an iterable, not just an array.
- [Repomix 1.8](https://github.com/yamadashy/repomix/releases/tag/v1.8.0) – Pack an entire repository into a single, LLM-friendly file. Now with official plugins for _Claude Code._
- [ESLint Markdown Language Plugin 7.5](https://github.com/eslint/markdown) – Lint JS/TSX code blocks in Markdown documents.      

📰 Classifieds   

🕳️ 🥊 [Hiring Now:](https://holepunch.recruitee.com/o/senior-node-engineer?source=JS-Weekly) 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](https://www.meticulous.ai/?utm_source=jsweekly&utm_campaign=oct24th2025). 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:  

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/iuajzpvekkm3aqm8xu8q.jpg)](https://2ality.com/2025/10/css-layout.html)  

- Dr. Axel Rauschmayer continues to work on his "web dev for beginners" series with [a rather epic look at CSS layout in general](https://2ality.com/2025/10/css-layout.html) _(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](https://events.linuxfoundation.org/jsconf-north-america/) last week about [What's New and What's Next in Node.js](https://speakerdeck.com/ruyadorno/node-dot-js-2025-whats-new-and-whats-next) and has shared his slidedeck which stands well on its own.
- Over on _X_, Tzvetan Milkov [shows off an interesting proof of concept](https://x.com/tmikov/status/1979771014340047088) of React driving the [Dear ImGui](https://github.com/ocornut/imgui) GUI library with the [Hermes](https://github.com/facebook/hermes/blob/main/README.md) JS engine to create fully native apps.
- [SpacetimeDB](https://github.com/clockworklabs/SpacetimeDB) is a Rust-powered database/server combo for powering real-time multiplayer games and [its latest release](https://github.com/clockworklabs/SpacetimeDB/releases/tag/v1.6.0) adds support for TypeScript modules.
- Dan Abramov shares [some insights on how to fix any bug in your code.](https://overreacted.io/how-to-fix-any-bug/) 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?](https://jyu.dev/blog/why-dev-null-is-an-acid-compliant-database/) If you squint a _lot._         

Published by [Cooperpress](https://cooperpress.com/) and edited by [Peter Cooper](https://twitter.com/cooperx86) 

'JavaScript' is a trademark of Oracle Corporation in the US
We are not endorsed by or affiliated with Oracle. 

[Change your email address](https://javascriptweekly.com/edit_subscription/*|UID|*) or [stop getting this newsletter](https://javascriptweekly.com/leave/*|UID|*). 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
