· via Cloudflare blog
Cloudflare ships Vinext 1.0, a Vite-powered route to portable Next.js apps
Cloudflare has released Vinext 1.0, a Vite-based framework that runs existing Next.js App and Pages Router apps on Workers, Netlify, Lambda and more, with over 99% test compatibility outside cache components.

Cloudflare has released version 1.0 of Vinext, a Vite-based framework that takes an existing Next.js application — built for either the Pages or App Router — and makes it deployable on platforms including Cloudflare Workers' free plan, Netlify and AWS Lambda. According to the Cloudflare blog, the project began in February as a week-long, heavily AI-driven experiment by a single engineer, and within seven months it has grown into a framework that customers already run in production for dynamic, high-traffic applications.
From experiment to graduation
The announcement treats 1.0 as a compatibility and stability milestone rather than a feature drop. Cloudflare says its test compatibility now exceeds 99% for the features customers most request, excluding Cache Components. The company credits the GitHub community around the project with throwing early builds at a wide variety of real applications, which exposed gaps the original test coverage missed.
A recurring point in the post is that matching Next.js means matching behaviour, not just the API surface. Cloudflare cites revalidatePath as an example: writing a function with the same name is simple, but it must correctly influence rendered pages, cache entries and subsequent requests. Tracing requests through an application to replicate that behaviour was, in Cloudflare's words, the harder part of the work. To prevent regressions, the project maintains thousands of focused tests covering both routers, the development and production servers, and the Node.js and Cloudflare Workers deployment targets, and it runs the Next.js end-to-end test suite against Vinext every night so upstream changes are caught quickly.
What 1.0 supports
According to the Cloudflare blog, Vinext 1.0 covers:
- App Router, Pages Router and hybrid applications, including React Server Components, Server Actions, API routes, route handlers, middleware and client-side navigation. Cloudflare says customers made clear that Pages Router still matters, since many large applications depend on it and are hard to migrate.
- The complete page lifecycle: server rendering, build-time prerendering, static export via
output: "export", and page-level Incremental Static Regeneration with background and on-demand revalidation across all output modes. - A shared set of caching functions across both routers and supported runtimes, with additional support for Cloudflare's Workers Cache.
- Next.js-compatible tracing, so existing OpenTelemetry and Sentry setups keep working; on Workers, traces also feed the platform's native observability.
- The public
next/*API surface plus common patterns for authentication, MDX, image optimization, fonts, metadata and environment variables. - First-class support for the workerd runtime in development and production, with direct access to bindings such as image optimization and Hyperdrive.
Migration is deliberately minimal: Cloudflare says two commands — npx vinext check and npx vinext init — verify whether an existing Next.js project and its modifications are compatible, then set up the Vite and deployment configuration while preserving the original project structure.
Cache warming replaces build-time rendering
One of the more consequential changes concerns prerendering. Cloudflare argues that rendering pages during the build wastes compute: sites with enormous URL spaces can spend hours generating pages that receive almost no traffic, and a build has no way to know which routes matter most.
Vinext's answer is cache warming, which moves prerendering off the build machine and onto Cloudflare's network. Developers keep using Next.js primitives such as generateStaticParams() and getStaticPaths() to nominate pages, and Vinext can add high-traffic routes to that list. During deployment, a new Worker version goes out to 0% of production traffic, the warming process requests pages from that version to populate the cache, and only once the caches are filled is the deployment promoted to real users.
The notable gap: Cache Components
Cache Components — driven by the use cache directive that Next.js 16 positioned as central to the framework's future — receive only limited support in Vinext 1.0. Cloudflare says the teams it spoke to largely were not using them and did not consider support a prerequisite for switching, so the project prioritised core features instead, while continuing to improve compatibility over time.
Why it matters
Vinext is a serious attempt to decouple Next.js applications from a single deployment story. For teams sitting on large Pages Router codebases, it offers a path to edge and serverless platforms without a rewrite, and the two-command migration makes it cheap to evaluate. The project is also an unusually public data point on AI-assisted development: what started as a one-week experiment now passes over 99% of the tests customers care about and carries production traffic. Whether that position holds as Next.js itself evolves — especially around Cache Components — will determine whether Vinext becomes a durable alternative or a snapshot of the framework as it stands today.
- #next-js
- #vite
- #cloudflare-workers
- #open-source
- #web-frameworks