Cloudflare has launched Vinext 1.0, an open-source framework that enables Next.js applications to run on Vite, with the ability to deploy them on platforms such as Cloudflare Workers, Netlify, and AWS Lambda. The project targets both new and existing applications, including those using the Pages Router or App Router, rather than limiting support to the newer Next.js architecture.
Broader Compatibility with Next.js Applications
Vinext has moved from an AI-driven experiment that lasted a week at its launch in February to a framework that Cloudflare says is used in production with high-traffic, dynamic applications. The company says its compatibility with most of the features requested by customers exceeds 99%, while continuing to test the actual behavior of applications rather than merely simulating APIs with the same names.
The release supports both the App Router and Pages Router, in addition to hybrid applications, React Server Components, Server Actions, API routes, route handlers, middleware, and client-side navigation. It also covers server-side page rendering, incremental static regeneration (ISR), export to static assets, and revalidation in the background or on demand.
What Changes in Practice?
Vinext unifies caching functions between the two routers and supported runtime environments, with additional support for Workers Cache. It also provides tracing compatible with Next.js, allowing existing OpenTelemetry and Sentry configurations to continue working, and integrates with Cloudflare Workers' native observability tools.
The release adds direct support for the workerd environment during development and production, with access to Cloudflare features such as image optimization and Hyperdrive. However, support for use cache routing associated with Cache Components remains limited; Cloudflare explains that the current priority is the framework's core functionality on which production applications rely.
Warming the Cache Before Launch
Vinext 1.0 provides a mechanism for prerendering pages for both the App Router and Pages Router during the build process, then serving them through ISR and invalidating them by path or tag. However, it adds a different option for applications containing tens or hundreds of thousands of URLs: moving part of the prerendering process from the build machine to Cloudflare's network.
The cache warming feature uses the usual Next.js signals to identify the pages that need to be prepared, and it can also identify pages with high traffic. Before switching the new version to production traffic, Cloudflare deploys a Worker version with zero percent of traffic, then requests pages from that version to populate the cache. Once the process is complete, the deployment can be promoted. This reduces the wait caused by sequentially building low-traffic pages, but in practice it is tied to deployment on Cloudflare when this feature is used.
Testing and Migration Path
Cloudflare says the project relies on thousands of tests covering framework behavior, servers in development and production modes, and deployment targets on Node.js and Cloudflare Workers. It also runs the comprehensive Next.js test suite on Vinext every night to detect regressions resulting from upstream changes. The migration process includes two commands for checking project compatibility and configuring Vite and the deployment while retaining the existing Next.js project structure: npx vinext check followed by npx vinext init.
Vinext is available for new and existing projects, and it can be deployed on Cloudflare Workers with cache warming using the command npx @vinext/cloudflare deploy --warm-cache. The compatibility matrix and incomplete feature support, such as Cache Components, remain points that teams should review before adopting the migration in complex applications.