1 puntos por GN⁺ 3 시간 전 | 1 comentarios | Compartir por WhatsApp
  • 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

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

1 comentarios

 
GN⁺ 3 시간 전
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

    • Las herramientas incluidas en realidad son bastante buenas: vitest es un runner de pruebas muy rápido y me sigue gustando incluso después de haber usado varias herramientas como jest o el runner de pruebas integrado de Node
      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
    • Las otras herramientas son para pruebas, bundling, linting y formateo
      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
    • Sí, va justo en esa dirección
      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
    • Intenté usar Vite, pero no le vi una gran ventaja frente a esbuild y me fui alejando
      También uso Deno, y me da curiosidad saber qué aspectos son útiles
    • Este es el stack aburrido pero que funciona bien más nuevo que está ganando fuerza últimamente
  • 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

    • Entiendo que VoidZero fue adquirida por Cloudflare, así que el financiamiento probablemente no sea un problema
      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/
    • Hacer que Vite, ESLint, Prettier, TypeScript y React encajen de forma natural puede ser complicado
      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

    • Como es Vite con varias cosas añadidas, “plus” puede tener varios sentidos
  • 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

    • Seguí todas las migraciones mayores y fueron bastante fluidas
      No recuerdo problemas grandes y, en general, cada vez valió la pena
    • Yo también hice las migraciones y no fueron terribles
      Hubo algunos cambios incompatibles, pero estuvieron relativamente aislados, y la velocidad y las mejoras entre esas versiones fueron bastante grandes
    • Nosotros también hicimos todas esas migraciones de versiones mayores, pero no hubo roturas ni mucho churn
      Me da curiosidad saber qué roturas sufriste
    • Me cuesta estar de acuerdo con que no mejoró mucho respecto de la versión 3
      Las funciones agregadas relacionadas con el renderizado del lado del servidor fueron una mejora importante
    • Subí de la 4 a la 8 de una sola vez y solo tuve que cambiar 5 líneas de configuración
      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

    • Probablemente no querría trabajar con Laravel Livewire y Alpine.js
      Aun así, hay que seguir manteniéndose al día, y los resultados quizá tampoco sean muy satisfactorios
    • En realidad no es estrictamente necesario seguirles el ritmo
      Lo que usabas antes todavía funciona
    • Coincido. Nosotros también estamos reemplazando lentamente nuestro monolito en Laravel por Python Lambda
      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

    • Me sorprende que esta sea la única mención a uv en los comentarios
      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

    • Como usa Vite, tiene las mismas limitaciones que Vite
      Dicho eso, estoy usando Vite sin problemas en un servidor NestJS con vite-plugin-node
      Para un ejemplo, ver https://github.com/leosuncin/nest-vite-example/blob/master/v...
    • Mi configuración casi como de receta, que funciona bien cuando el objetivo es Node, está aquí: https://pastebin.com/ynz4B5X0
      Básicamente basta con fingir que uno mismo es una biblioteca
    • También estoy usando Vite+ para CLI
      En ese caso no uso Vite como servidor de desarrollo, pero linting, formateo, ejecución de tareas y caché siguen estando ahí
    • Cada vez que alguien propone empaquetar código de Node, siempre me pregunto por el caso de uso
      ¿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

    • Eso también fue lo primero que pensé
      Ahora “$name+” ya quedó fuertemente asociado con “el servicio de suscripción de $name”
    • Dice “completamente open source bajo licencia MIT”
    • Puede que originalmente esa haya sido la idea, pero parece que después hicieron un acqui-hire
    • El nombre sí preocupa un poco
  • Me pregunto si se puede usar con Astro