- Para reducir la carga de armar herramientas de desarrollo web por separado en cada proyecto, Vite+ agrupa runtime, gestor de paquetes y herramientas de build, pruebas y verificación en un único punto de entrada
vp dev, vp check, vp test, vp build, vp pack y vp run se conectan con Vite 8, Vitest, Rolldown, tsdown, Oxlint y Oxfmt para ofrecer un sistema de comandos consistente
- Desde la alfa, tras más de 12 versiones y más de 500 PR, se mejoraron el caching, la migración, las plantillas organizacionales, el soporte para redes empresariales y la estabilidad multiplataforma
- Según repositorios públicos, más de 1,300 dependen de
vite-plus, y proyectos como Dify, critical, BlockNote, vinext, îles, Inkline y npmx ya lo usan
- Como todavía está antes de la 1.0, aún quedan mejoras en caching remoto, soporte para GitLab CI/CD, compatibilidad con frameworks y plugins, migración, canales de distribución y diagnósticos
El toolchain integrado que ofrece Vite+
- Vite+ se lanzó en beta como un toolchain integrado para desarrollo web
- Desde un único punto de entrada administra el runtime y el gestor de paquetes, y ofrece varias herramientas frontend juntas como un stack probado
- Es completamente open source bajo licencia MIT y no depende de un framework específico
- Puede usarse en diversos proyectos web, como CLI, librerías y apps web
- Los proyectos nuevos empiezan con
vp create, y los proyectos existentes con vp migrate
Ejecutar desarrollo, verificación y build con los mismos comandos
- Vite+ está diseñado para usar el mismo sistema de comandos, en lugar de aprender combinaciones de herramientas y comandos diferentes en cada repositorio
- Los comandos principales son los siguientes
vp dev: inicia un servidor de desarrollo basado en Vite 8 con hot module replacement
vp check: ejecuta de una vez formato con Oxfmt, lint con Oxlint y verificación de tipos
vp test: ejecuta pruebas unitarias basadas en Vitest
vp build: realiza un build de producción basado en Vite 8
vp pack: empaqueta librerías con tsdown e incluye mejores prácticas
vp run: ejecuta scripts npm o tareas con un ejecutor de tareas integrado con conciencia de monorepo y usa caching inteligente
- A medida que crecen los equipos y las bases de código, aumentan estos beneficios
- Las versiones de las herramientas quedan alineadas
- Es más fácil compartir configuración
- Se reducen los pasos de configuración para nuevos colaboradores
- CI ejecuta los mismos comandos que el desarrollo local
- Está pensado para desarrolladores que no quieren armar toolchains repetidamente por su cuenta, y para equipos que buscan configuración consistente en todos sus proyectos
- Vite+ no reemplaza el ecosistema Vite
- Los plugins de Vite siguen siendo plugins de Vite
- Los proyectos pueden seguir usando internamente el gestor de paquetes que prefieran
- Vite+ ofrece una capa de integración para que esos elementos funcionen como un solo toolchain
Cambios desde la alfa hasta la beta
- Desde la alfa de Vite+, se lanzaron más de 12 versiones y se integraron más de 500 PR mediante pruebas en proyectos reales
- Las principales mejoras son las siguientes
- Caching más inteligente:
vp run combina el seguimiento automático de datos con los metadatos que reporta Vite, para que la caché de build funcione correctamente sin listar manualmente entradas, salidas ni variables de entorno
- Mejoras de migración:
vp migrate maneja diversas configuraciones de apps y también ofrece prompts de migración para agentes
- Funciones empresariales: las plantillas organizacionales estandarizan la configuración entre equipos, y el HTTP con reconocimiento de proxy y CA personalizada permite ejecutar
vp incluso detrás de proxies corporativos y firewalls
- Multiplataforma:
vp se reforzó para funcionar mejor en los principales sistemas operativos y shells
- Pulido y mejoras: se incorporaron más de 180 correcciones y mejoras en
vite-plus
- El detalle de cambios puede consultarse en el historial de lanzamientos de Vite+
Herramientas base que evolucionaron en paralelo
- Mientras se desarrollaba Vite+, sus herramientas base también siguieron mejorando
- Los principales cambios desde la alfa son los siguientes
Casos reales de adopción
- Hay más de 1,300 repositorios públicos que dependen de
vite-plus, sin contar proyectos privados ni instalaciones globales de CLI
- Vite+ se usa en diversos tipos de proyectos
- Dify: plataforma open source para construir apps con LLM
- critical: herramienta de CSS de critical path independiente de framework, creada por Addy Osmani
- BlockNote: editor de texto enriquecido estilo Notion, basado en bloques, para React
- vinext: framework drop-in compatible con Next.js basado en Vite
- zerobyte: automatización de backups para usuarios con self-hosting, creada con TanStack y React
- îles: generador de sitios islands con hidratación parcial para Vue
- agentsview: herramienta local-first de búsqueda y análisis de sesiones para agentes de coding, creada con Svelte
- Inkline: librería de componentes UI compatible con Vue, React, Svelte, Angular, Solid, Qwik y Astro
- npmx: navegador open source de registro npm basado en Nuxt
- Daniel Roe, de npmx, afirmó que Vite+ mantiene rápida la experiencia de desarrollo y también acelera CI y el proceso de revisión
Tareas pendientes antes de la 1.0
- Vite+ es estable, pero aún no está terminado; se recomienda adoptarlo si cubre las funciones que se necesitan de un toolchain integrado
- Los focos hasta la 1.0 son los siguientes
- Implementar caching remoto para Vite Task, es decir
vp run
- Incorporar
setup-vp para GitLab CI/CD
- Mejorar la compatibilidad en todo el ecosistema de frameworks y plugins de Vite
- Soportar más objetivos de migración
- Agregar canales de distribución como una formula oficial de Homebrew
- Mejorar la claridad de la documentación y los diagnósticos
- Se prioriza el feedback de la comunidad para reducir las brechas de compatibilidad restantes antes del lanzamiento 1.0
Instalación y migración
- El comando global
vp se instala en macOS/Linux con el siguiente comando
curl -fsSL https://vite.plus | bash
- En Windows se usa el siguiente comando de PowerShell
irm https://vite.plus/ps1 | iex
- Para crear un proyecto nuevo se usa el siguiente comando
vp create
- Para probar Vite+ en un proyecto Vite existente se usa el siguiente comando
vp migrate
vp migrate muestra un plan de cambios, pero los proyectos complejos pueden requerir tareas manuales posteriores
- Antes de incorporar Vite+ a un proyecto de producción, se debe leer la guía de migración
- Buscan especialmente feedback de desarrolladores que migran proyectos existentes, autores de frameworks y plugins, y equipos que mantienen repositorios grandes
- Canales relacionados
1 comentarios
Opiniones de Hacker News
Vite me gusta muchísimo, pero no tengo idea de qué son las otras herramientas
Me agaché un momento a trabajar y, de pronto, el ecosistema de herramientas frontend había evolucionado; me pregunto si hay una tendencia hacia un stack aburrido pero que funciona bien
oxlint reemplaza a eslint, es compatible con el formato de archivos de configuración y, como no está escrito en JavaScript, es muy rápido. También probé biome, pero oxlint tenía más reglas y mejor compatibilidad con eslint
oxfmt reemplaza a prettier y, al no estar escrito en JavaScript, es más rápido; rolldown reemplaza a rollup, es compatible pero mucho más rápido. En proyectos nuevos ya uso principalmente estas herramientas
Antes había que usar herramientas de distintos proyectos open source, cada una con configuraciones y ciclos de actualización diferentes; ahora se manejan como una sola toolchain simple
Vite+ es, en la práctica, el stack “aburrido pero que funciona bien”, con mejor rendimiento y menos configuración necesaria
eslint → oxlint, prettier → oxfmt: reescrituras en Rust para hacerlas rápidas; y webpack → Vite ya está lo bastante extendido como para que se lo adopte
rolldown → tsdown agrega soporte para TypeScript, y jest → vitest encaja bien con Vite
En resumen, toma las convenciones que se consolidaron durante los últimos 10 años y reúne soporte para TypeScript, rendimiento basado en Rust e interoperabilidad
También uso Deno, y me da curiosidad saber qué aspectos son útiles
Me gustan Vite, Vitest, Oxlint y Oxfmt, y en la mayoría de los proyectos nuevos miro primero hacia ese lado
Ojalá esta gente consiga suficiente financiamiento para poder seguir desarrollando al menos durante los próximos 10 años
Es mucho mejor que abrir un proyecto viejo y encontrarse con una mezcla de Gulp, Grunt, webpack y otras herramientas dispares. Incluso migré uno de esos proyectos al stack nuevo
La cuestión es si Cloudflare dejará que esta gente siga construyendo Vite y las funciones de Vite+. Son funciones que benefician no solo a Cloudflare, sino a todas las plataformas cloud
https://blog.cloudflare.com/voidzero-joins-cloudflare/
Más aún si es full-stack con renderizado del lado del servidor; si solo miras el frontend y sacas TypeScript, se vuelve bastante fácil
Habrá que ver si Vite+ ayuda en los casos más complejos
Creo que este proyecto necesita encontrar un nombre mejor
Es bastante confuso porque, en realidad, no es tanto un Vite mejor, sino un conjunto de otras herramientas
En aquel momento Void Zero quizá intentaba monetizar la marca Vite, pero ahora que fue adquirida por Cloudflare ya no tiene necesidad de hacerlo
Uso Vite, Vitest, Rolldown, tsdown, Oxlint y Oxfmt con mucha satisfacción
También tengo muchos paquetes hard-forkeados y no quiero volver atrás. Todo simplemente funciona bien
Si los nombres te confunden, empieza por Oxlint https://oxc.rs/docs/guide/usage/linter y Rolldown https://rolldown.rs/
Al adoptarlos durante los últimos 6 meses, apenas tuve que cambiar tsconfig
Normalmente, salvo que sea algo como antd6, echart, un motor de renderizado o una biblioteca geoespacial, tomo paquetes nuevos, los ordeno con Claude, los ajusto a un sistema de tipos estricto y uniforme, y luego los adapto a mis preferencias de Vite, tsconfig y oxlint
Como resultado, se reduce la necesidad de estar siguiendo problemas de inflación de bibliotecas o ataques a la cadena de suministro, y el código queda más fácil de leer y modificar
Vite subió cinco versiones mayores en los cuatro años de 2022 a 2026: 3 → 4 → 5 → 6 → 7 → 8
Cada vez hubo cambios incompatibles y los desarrolladores tuvieron que migrar; es demasiado. Y tampoco es que haya mejorado de forma dramática respecto de la versión 3
No quiero llevar ese nivel de cambios innecesarios y confusión constante al resto de la toolchain de desarrollo
Si Vite+ al final solo envuelve herramientas existentes con una interfaz de línea de comandos abstracta, entonces habrá que atravesar aún más capas de indirección para lograr el comportamiento deseado, así que todavía no soy optimista
No recuerdo problemas grandes y, en general, cada vez valió la pena
Hubo algunos cambios incompatibles, pero estuvieron relativamente aislados, y la velocidad y las mejoras entre esas versiones fueron bastante grandes
Me da curiosidad saber qué roturas sufriste
Las funciones agregadas relacionadas con el renderizado del lado del servidor fueron una mejora importante
Ojalá dejaran de quejarse por un problema que no existe. Hasta me pregunto si realmente usan estas herramientas
Es realmente difícil seguirle el ritmo al frontend, o al ecosistema de JavaScript
Extraño los tiempos en que trabajaba con Laravel, y ojalá los trabajos que usan Laravel pagaran mejor
Aun así, hay que seguir manteniéndose al día, y los resultados quizá tampoco sean muy satisfactorios
Lo que usabas antes todavía funciona
Extraño mucho la época de Laravel 6
Como es un enfoque que funcionó con uv, creo que un equipo competente podría hacer lo mismo en JavaScript
Para mí es una comparación muy clara, y se siente como un avance muy bienvenido para el ecosistema de JavaScript
Gracias a uv, trabajar con Python volvió a ser divertido
Me pregunto si se puede usar también para builds de Node, como Vite, o si es solo para navegador
Dicho eso, estoy usando Vite sin problemas en un servidor NestJS con
vite-plugin-nodePara un ejemplo, ver https://github.com/leosuncin/nest-vite-example/blob/master/v...
Básicamente basta con fingir que uno mismo es una biblioteca
En ese caso no uso Vite como servidor de desarrollo, pero linting, formateo, ejecución de tareas y caché siguen estando ahí
¿Cuál es la ventaja? ¿Es para ofuscarlo con SEA?
Me pregunto si esto también viene con una suscripción
Cuando un nombre lleva “+”, me pongo en guardia y doy por hecho que trae una suscripción
Al revisarlo, no parece ser el caso
Ahora “$name+” ya quedó fuertemente asociado con “el servicio de suscripción de $name”
Me pregunto si se puede usar con Astro