Skip to Content

Next.js

Status: not supported yet. Keep Next.js on Node.js.

What we tried

A minimal App Router project with Next.js 15.5.4 and React 19.1:

3va install --allow-net=registry.npmjs.org 3va run node_modules/next/dist/bin/next \ --allow-read --allow-write --allow-env --allow-net --allow-child-process --allow-ffi \ -- build
▲ Next.js 15.5.4 > Build error occurred TypeError: _promises.default.opendir is not a function at getFilesInDir (…/next/dist/lib/get-files-in-dir.js:17:38)

We granted every capability, so this isn’t a permissions problem:

  • fs.promises.opendir is missing in 3va’s fs module. That’s the first blocker. We don’t know yet what comes after it.
  • The install itself is fine. It passes the scanner, and Next’s native compiler (@next/swc-linux-x64-*) arrives as a platform-specific optional dependency.

What you can move today

  • Pure logic in lib/, such as validation, formatting or API clients: test it with 3va test.
  • A separate API server that the Next app calls: run it with 3va start.
  • Scripts (seeders, migrations, cron jobs): run them with 3va run, with the exact permissions each one needs.

Things to keep in mind

  • Next.js relies on many Node APIs (worker threads, fs.promises, AsyncLocalStorage) and on SWC. Treat it as the last part of a stack to move, after the backend and tooling.