Cloudflare's Vinext 1.0 makes Next.js portable
Vinext 1.0 turns any Next.js application, whether it uses the App Router or the Pages Router, into something that can be deployed to Cloudflare Workers, Netlify or AWS Lambda, and it moves page prerendering off the build machine and onto Cloudflare's network.

Cloudflare has released Vinext 1.0, a framework that runs Next.js applications on Vite and makes them portable to any web platform, including the Cloudflare Workers free plan, Netlify and AWS Lambda. It supports both the App Router and the older Pages Router, including applications that mix the two.
Vinext began as a week-long experiment in February, when Cloudflare set out to see how far one engineer and a pile of model tokens could get towards replicating the Next.js framework on top of Vite. Seven months on, the company says customers run it in production for high-traffic dynamic applications, and that test compatibility has passed 99 per cent once cache components are excluded.
What the 1.0 release covers
The release fills in the parts of the framework that were missing. Server rendering, build-time pre-rendering, static export and page-level Incremental Static Regeneration now work together, with background and on-demand revalidation available for any output and invalidation by path or tag. React Server Components, Server Actions, API routes, route handlers, middleware and client-side navigation are all supported, and a shared set of caching functions works across both routers and the supported runtimes.
Next.js-compatible tracing keeps existing OpenTelemetry and Sentry setups working, and tracing on Cloudflare Workers also reports into Workers Observability. Vinext implements the public next/* surface that authentication, MDX, image optimisation, fonts and metadata rely on, and server code can run in the workerd runtime in development and in production with direct access to bindings such as image optimisation and Hyperdrive.
Cache warming moves prerendering off the build
Cloudflare's answer to the build problem is cache warming. Prerendering every route during a build is wasteful when an application has tens of thousands of possible URLs, because a build cannot tell which pages matter and spends hours working through the long tail long after the important routes are done. Vinext identifies the routes to prerender, including high-traffic pages, and renders them on Cloudflare's network after the new Worker version is uploaded at zero per cent of production traffic. The pages are requested from that version until the caches are populated, and only then is the deployment promoted.
Migration ships with the framework. The command npx vinext check verifies an existing Next.js install and any modifications, and npx vinext init sets up the Vite and deployment configuration while leaving the project structure in place. Cloudflare runs the Next.js end-to-end test suite against Vinext every night, and an agent reviews Next.js canary commits each morning and opens tracking issues for anything that could affect compatibility. Support for the use cache directive that drives Cache Components stays limited, because the teams Cloudflare spoke to did not treat it as a requirement.
Our opinion
The interesting claim in Vinext 1.0 is not that a framework can be reimplemented. It is that Cloudflare kept the reimplementation moving for seven months. The nightly compatibility run and the agent that reads Next.js canary commits each morning are what stop a project like this drifting into irrelevance, and they are the part most efforts of this kind never build. Cloudflare is also unusually straight about what it did not finish, dropping full Cache Components support because customers said they did not need it. The risk sits with whoever reads the release notes. A framework that promises to behave exactly as Next.js does, and scores 99 per cent on compatibility, still leaves the last per cent to be discovered in production.