Introducción a Vinext

Por: Artiko
vinextnextjsvitecloudflare-workers

¿Qué es Vinext?

Vinext es un plugin de Vite que reimplementa la superficie de API de Next.js. En lugar de usar el toolchain de compilación de Next.js, Vinext permite ejecutar aplicaciones Next.js sobre Vite, con soporte nativo para desplegar en Cloudflare Workers.

El proyecto cubre aproximadamente el 94% de la API pública de Next.js 16.x, incluyendo ambos routers (Pages y App), React Server Components, Server Actions, Metadata API y más.

¿Por qué existe Vinext?

Next.js está fuertemente acoplado al ecosistema de Vercel. Si quieres desplegar en Cloudflare Workers, AWS Lambda u otra plataforma, enfrentas limitaciones. Vinext resuelve esto reimplementando la API de Next.js sobre herramientas estándar:

AspectoNext.jsVinext
Build toolTurbopack/webpackVite
RSCImplementación propia@vitejs/plugin-rsc
Deploy principalVercelCloudflare Workers
ImagenBuild-time optimization@unpic/react + CDN
Testingnext/jestVitest

Ecosistema Vite + Cloudflare Workers

Vinext se apoya en tres pilares:

Vite como build tool

Vite proporciona HMR instantáneo, soporte nativo de ESM y un ecosistema de plugins extenso. Vinext funciona como un plugin de Vite, integrándose naturalmente con el resto del toolchain.

@vitejs/plugin-rsc

El plugin oficial de Vite para React Server Components maneja las transformaciones de las directivas "use client" y "use server", la serialización del RSC stream, y los builds multi-ambiente.

Cloudflare Workers

El target principal de despliegue. Workers ejecuta JavaScript en el edge de Cloudflare con latencia mínima. Vinext genera un worker listo para desplegar con vinext deploy.

¿Qué cubre Vinext?

Routing completo

Renderizado

Módulos reimplementados

Vinext reimplementa 33+ módulos de next/*:

Despliegue

Limitaciones conocidas

Es importante entender qué no cubre Vinext:

Rendimiento

Las métricas iniciales son prometedoras:

MétricaNext.js 16Vinext (Vite 7)Vinext (Vite 8/Rolldown)
Build (33 rutas)7.38s4.64s (1.6x)1.67s (4.4x)
Bundle cliente (gzip)168.9 KB74.0 KB (-56%)72.9 KB (-57%)

Siguiente paso

En el siguiente capítulo crearemos nuestro primer proyecto con Vinext y exploraremos la estructura de archivos.