Vite 8 en 2026: Rolldown y el motor único
Vite 8 sustituye sus dos motores históricos —esbuild en dev y Rollup en build— por Rolldown, un bundler unificado en Rust sobre Oxc. Qué significa esto para tu proyecto: builds mucho más rápidos, paridad dev/prod y una migración casi transparente.
Durante toda su primera década, Vite fue rápido a pesar de estar hecho de piezas dispares: esbuild en Go para el desarrollo, Rollup en JavaScript para la producción. Vite 8, la versión que define 2026, culmina un cambio de fondo: un único motor, Rolldown, escrito en Rust sobre el toolchain Oxc, se ocupa de ambas mitades. No es una optimización más; es la unificación que cierra la costura histórica de Vite y marca el fin de la era del tooling de JavaScript fragmentado. Esta lección explica qué es Rolldown y, sobre todo, qué implica para tu proyecto.
- Reconstruir por qué Vite tenía dos motores y qué costaba esa dualidad.
- Definir Rolldown como bundler en Rust sobre Oxc, compatible con Rollup.
- Enumerar qué cambia en la práctica para un proyecto que actualiza a Vite 8.
- Situar Rolldown dentro del toolchain unificado que se consolida en 2026.
De dos motores a uno
Recordemos la costura de la lección anterior. La mitad de desarrollo pre-empaquetaba dependencias con esbuild; la mitad de producción empaquetaba todo el grafo con Rollup.
Eran dos programas distintos, en dos lenguajes, con dos formas sutilmente diferentes de resolver, transformar y ordenar módulos. Esa dualidad era la raíz del problema de paridad: un mismo proyecto podía comportarse distinto en dev y en build porque, literalmente, lo procesaban cerebros diferentes.
La evolución del motor cuenta la historia en tres actos:
# El motor de Vite a lo largo del tiempo
Vite 2 a 6 -> esbuild (dev) + Rollup (build)
Vite 7 -> rolldown-vite como opcion, un puente para probar
Vite 8 -> Rolldown por defecto en las dos mitades
Cada motor tenía además su límite propio. esbuild era rapidísimo pero poco flexible como bundler de producción, con un modelo de plugins más pobre.
Rollup producía un output excelente y tenía un ecosistema de plugins enorme, pero, al estar en JavaScript, se convertía en el cuello de botella de los builds grandes.
Vite quedó atrapado entre la velocidad de uno y la calidad del otro, sin poder tener ambas en un solo motor.
La salida a ese dilema no era optimizar ninguno de los dos por separado, sino escribir un bundler nuevo desde cero, pensado para no tener que elegir entre rapidez y capacidad.
Rolldown: un bundler en Rust sobre Oxc
Rolldown es ese bundler. Lo desarrolla el propio equipo de Vite —bajo VoidZero, la empresa fundada por el creador de Vite— y está escrito en Rust para alcanzar velocidad nativa.
Se apoya en Oxc, que reúne en una sola base en Rust las piezas que antes venían de proyectos distintos:
- Un parser que convierte tu código en un árbol de sintaxis.
- Un resolver que localiza cada módulo importado.
- Un transformer que borra tipos y rebaja sintaxis.
- Un minifier que comprime el output final.
La decisión de diseño clave es que Rolldown expone una API de plugins compatible con Rollup. El enorme ecosistema de plugins que Vite heredó de Rollup sigue funcionando, y la migración no obliga a reescribir la configuración.
Rolldown aspira a ser, a la vez, tan veloz como esbuild y tan capaz como Rollup: la pieza que resuelve el dilema en el que Vite estaba atrapado.
Rolldown
El bundler en Rust que reemplaza a esbuild y Rollup en Vite 8. API compatible con Rollup; builds notablemente más rápidos.
Oxc
El toolchain de JavaScript y TypeScript en Rust: parser, resolver, transformer y minifier sobre los que se construye Rolldown.
VoidZero
La empresa detrás de Vite, Rolldown, Oxc y Vitest: un toolchain unificado en Rust pensado como una sola base coherente.
flowchart TB subgraph Antes a1[dev con esbuild en Go] a2[build con Rollup en JS] end subgraph Vite8 r1[Rolldown en Rust] --> r2[sobre Oxc] end a1 --> r1 a2 --> r1 style a1 fill:#f38ba8,color:#11111b style a2 fill:#f38ba8,color:#11111b style r1 fill:#a6e3a1,color:#11111b
Qué cambia para tu proyecto
La buena noticia para el día a día es que casi todo el cambio ocurre bajo el capó. En un proyecto Astro, por ejemplo, Vite es una dependencia interna: actualizas y heredas Rolldown sin tocar tu código. Aun así, conviene saber qué esperar.
- Builds mucho más rápidos. En proyectos grandes, el empaquetado de producción pasa de ser el paso lento del pipeline a costar una fracción, porque el motor es nativo. La mejora se nota sobre todo en monorepos y aplicaciones con miles de módulos.
- Paridad dev/prod. Al pre-empaquetar dependencias y construir producción con el mismo motor, desaparece la clase de bug que solo aparecía tras el
build. - Migración casi transparente. Gracias a la compatibilidad con la API de Rollup, la mayoría de plugins y configuraciones siguen igual. Algunos plugins muy dependientes de internos de Rollup pueden necesitar una actualización.
- Modo de bundle opcional en dev. Para aplicaciones enormes, Rolldown permite experimentar con empaquetar también en desarrollo, reduciendo el número de peticiones cuando el ESM sin bundle empieza a ser demasiadas.
La compatibilidad se nota hasta en los nombres: la clave para afinar el empaquetado sigue llamándose rollupOptions, aunque por debajo ya la atienda Rolldown.
// vite.config.ts: los ajustes finos del bundle no cambian de nombre
export default defineConfig({
build: {
rollupOptions: {
output: { manualChunks: { vendor: ["react", "react-dom"] } },
},
},
});
En la era de Vite 7, Rolldown se probaba con un paquete puente. En Vite 8 es el motor por defecto y no hace falta nada extra:
pnpm why vite # confirma la version de Vite en el arbol
pnpm list rolldown # comprueba si Rolldown ya esta por debajo
En la práctica, adoptar Vite 8 se parece a cualquier otra subida de versión mayor, y se reduce a tres pasos:
- Sube la versión y deja que Rolldown entre como motor por defecto.
- Ejecuta
vite buildy revisa que ningún plugin proteste. - Verifica el resultado con
vite previewantes de desplegar.
pnpm up vite@8 # actualiza al motor unificado
pnpm build && pnpm preview # comprueba el bundle real antes de subir
Conviene no confundir Rolldown con Oxc. Oxc es la capa de utilidades de lenguaje —parsear, resolver, transformar, minificar, e incluso un linter— y Rolldown es el bundler que las coordina para producir un paquete. La consecuencia interesante es que Oxc no solo alimenta a Vite: su linter aspira a sustituir a herramientas más lentas del ecosistema, y su transformador puede reemplazar piezas como Babel. Adoptar Vite 8 te acerca, casi sin proponértelo, a una familia entera de herramientas que comparten el mismo análisis del código, y esa coherencia es tan valiosa como la velocidad.
El horizonte: un toolchain unificado
Rolldown no es una pieza suelta, sino el eje de una apuesta mayor. La visión de VoidZero es reunir todo el tooling de JavaScript en una única base en Rust: el bundler (Rolldown), las utilidades de lenguaje (Oxc), el servidor de desarrollo (Vite) y el test runner (Vitest).
Esa base sería coherente y sin costuras entre herramientas escritas por equipos distintos. Es el intento más serio de acabar con la fragmentación que definió el frontend de la década anterior, cuando cada herramienta traía su propio parser y sus propias grietas en las junturas.
Para ti, la consecuencia es doble, y conviene tenerla clara.
A corto plazo, ganas builds más veloces y menos sorpresas al desplegar. A largo plazo, heredas un ecosistema que por fin entiende tu código de una sola manera, de principio a fin: el mismo análisis en el editor, en el servidor, en el bundle y en las pruebas.
Es fácil leer Vite 8 cambia Rollup por Rolldown como una nota de versión sin más, un componente que se sustituye por otro más rápido. Pero lo que ocurre en 2026 es de otro orden. Durante quince años, construir para la web significó ensamblar herramientas heterogéneas: un transpilador aquí, un bundler allá, un minificador de otro autor, un linter de un cuarto, cada uno con su propio parser de JavaScript, su propia idea de cómo resolver módulos y sus propias grietas en las junturas. Esa fragmentación no era solo lentitud acumulada; era una fuente estructural de incoherencias, porque cada herramienta entendía tu código de forma ligeramente distinta. La apuesta de Rolldown y Oxc es que exista un solo entendimiento del código, compartido por todo el toolchain y ejecutado a velocidad nativa. La paridad dev/prod que Vite 8 regala no es un parche: es la consecuencia inevitable de que el mismo motor procese tu código en desarrollo y en producción. Y la velocidad no viene de microoptimizar, sino de haber reescrito la base en un lenguaje que no paga el peaje de JavaScript interpretándose a sí mismo. Para tu proyecto, la conclusión es tranquilizadora y profunda a la vez: rara vez tendrás que hacer algo, porque el cambio vive bajo el capó, pero el suelo sobre el que construyes se ha vuelto más rápido, más consistente y más unificado de lo que ha estado nunca. Reconocer esto es entender hacia dónde va el oficio.
- Revisa la versión de Vite de un proyecto tuyo y comprueba si ya usa Rolldown como motor por defecto o si necesitas actualizar.
- Cronometra un
vite buildcon el motor antiguo y con Rolldown en un proyecto mediano: mide la diferencia real, no la prometida. - Repasa tus plugins y localiza si alguno depende de internos de Rollup que puedan requerir una versión compatible con Rolldown.
- Investiga qué otras herramientas del ecosistema VoidZero —Oxc, Vitest— podrías adoptar para acercarte a un toolchain unificado de principio a fin.