- Pour réduire la charge consistant à assembler séparément les outils de développement web pour chaque projet, Vite+ regroupe le runtime, le gestionnaire de paquets ainsi que les outils de build, de test et de vérification derrière un point d’entrée unique
vp dev, vp check, vp test, vp build, vp pack, vp run sont reliés à Vite 8, Vitest, Rolldown, tsdown, Oxlint, Oxfmt et fournissent un ensemble de commandes cohérent
- Depuis l’alpha, avec plus de 12 versions et plus de 500 PR, le caching, la migration, les templates d’organisation, la prise en charge des réseaux d’entreprise et la stabilité cross-platform ont été améliorés
- Sur la base des dépôts publics, plus de 1 300 dépendent de
vite-plus, et des projets comme Dify, critical, BlockNote, vinext, îles, Inkline et npmx l’utilisent déjà
- Comme Vite+ n’a pas encore atteint la version 1.0, il reste du travail sur le caching distant, la prise en charge de GitLab CI/CD, la compatibilité avec les frameworks et plugins, la migration, les canaux de distribution et les diagnostics
La toolchain intégrée proposée par Vite+
- Vite+ est une toolchain intégrée pour le développement web, désormais disponible en bêta
- Depuis un point d’entrée unique, il gère le runtime et le gestionnaire de paquets, et fournit ensemble plusieurs outils frontend dans une stack testée
- Entièrement open source sous licence MIT, sans dépendance à un framework particulier
- Peut être utilisé pour divers projets web, dont des CLI, des bibliothèques et des applications web
- Pour un nouveau projet, commencez avec
vp create, et pour un projet existant, avec vp migrate
Développement, vérification et build avec les mêmes commandes
- Vite+ est conçu pour éviter d’avoir à apprendre une combinaison d’outils et de commandes différente pour chaque dépôt, en imposant le même système de commandes partout
- Les principales commandes sont les suivantes
vp dev : lance un serveur de développement basé sur Vite 8 avec hot module replacement
vp check : exécute en une seule fois le formatage avec Oxfmt, le lint avec Oxlint et la vérification de types
vp test : exécute des tests unitaires basés sur Vitest
vp build : effectue un build de production basé sur Vite 8
vp pack : bundle une bibliothèque avec tsdown en intégrant les bonnes pratiques
vp run : exécute des scripts npm ou des tâches avec un exécuteur intégré conscient des monorepos, en utilisant un caching intelligent
- Plus l’équipe et la base de code grandissent, plus les avantages suivants augmentent
- Alignement des versions d’outils
- Partage plus simple de la configuration
- Réduction des étapes de configuration pour les nouveaux contributeurs
- La CI exécute les mêmes commandes que le développement local
- Vite+ vise les développeurs qui ne veulent pas réassembler leur toolchain à chaque fois, ainsi que les équipes qui recherchent une configuration cohérente à l’échelle des projets
- Vite+ ne remplace pas l’écosystème Vite
- Un plugin Vite reste un plugin Vite
- Les projets peuvent continuer à utiliser en interne le gestionnaire de paquets de leur choix
- Vite+ fournit une couche d’intégration pour faire fonctionner ces éléments comme une seule toolchain
Ce qui a changé entre l’alpha et la bêta
- Depuis l’alpha de Vite+, plus de 12 versions ont été publiées et plus de 500 PR ont été fusionnées après des tests sur des projets réels
- Les principales améliorations sont les suivantes
- Caching plus intelligent :
vp run combine le suivi automatique des données avec les métadonnées remontées par Vite, afin que le cache de build fonctionne correctement sans avoir à lister manuellement les entrées, sorties et variables d’environnement
- Migration améliorée :
vp migrate gère divers réglages d’application et fournit aussi des prompts de migration pour les agents
- Fonctionnalités enterprise : les templates d’organisation permettent de standardiser la configuration entre équipes, et la prise en charge HTTP des proxies et des autorités de certification personnalisées permet d’exécuter
vp derrière des proxies d’entreprise et des pare-feu
- Cross-platform :
vp a été renforcé pour mieux fonctionner sur les principaux systèmes d’exploitation et shells
- Affinage et améliorations : plus de 180 correctifs et améliorations ont été intégrés à
vite-plus
- Le détail des changements est disponible dans l’historique des releases de Vite+
Les outils sous-jacents ont aussi progressé
- Pendant le développement de Vite+, les outils sous-jacents ont eux aussi continué à évoluer
- Parmi les principaux changements depuis l’alpha
Cas d’adoption concrets
- Plus de 1 300 dépôts publics dépendent de
vite-plus, sans compter les projets privés ni les installations globales de la CLI
- Vite+ est utilisé dans différents types de projets
- Dify : plateforme open source pour créer des applications LLM
- critical : outil framework-agnostic d’Addy Osmani pour le CSS critical-path
- BlockNote : éditeur de texte enrichi de type Notion, basé sur des blocs, pour React
- vinext : framework drop-in compatible Next.js basé sur Vite
- zerobyte : automatisation de sauvegarde pour utilisateurs auto-hébergés, construite avec TanStack et React
- îles : générateur de sites à islands avec hydratation partielle pour Vue
- agentsview : outil local-first de recherche et d’analyse de sessions pour agents de code, construit avec Svelte
- Inkline : bibliothèque de composants UI prenant en charge Vue, React, Svelte, Angular, Solid, Qwik, Astro
- npmx : navigateur open source de registre npm basé sur Nuxt
- Daniel Roe de npmx affirme que Vite+ permet de garder une expérience de développement rapide et accélère aussi la CI et le processus de revue
Les chantiers restants avant la 1.0
- Vite+ est stable mais pas encore finalisé, et son adoption est recommandée si les fonctionnalités d’une toolchain intégrée répondent à vos besoins
- Les priorités jusqu’à la 1.0 sont les suivantes
- Implémenter le caching distant pour Vite Task, derrière
vp run
- Introduire
setup-vp pour GitLab CI/CD
- Améliorer la compatibilité avec l’ensemble des frameworks et plugins Vite
- Prendre en charge davantage de cibles de migration
- Ajouter des canaux de distribution comme une formule Homebrew officielle
- Rendre la documentation et les diagnostics plus clairs
- Les retours de la communauté sont prioritaires afin de réduire les écarts de compatibilité restants avant la sortie de la 1.0
Installation et migration
- La commande globale
vp s’installe sur macOS/Linux avec la commande suivante
curl -fsSL https://vite.plus | bash
- Sous Windows, utilisez la commande PowerShell suivante
irm https://vite.plus/ps1 | iex
- Pour créer un nouveau projet, utilisez la commande suivante
vp create
- Pour essayer Vite+ sur un projet Vite existant, utilisez la commande suivante
vp migrate
vp migrate affiche un plan des changements, mais les projets complexes peuvent nécessiter des interventions manuelles supplémentaires
- Avant d’adopter Vite+ dans un projet de production, il faut lire le guide de migration
- Les retours sont particulièrement recherchés de la part des développeurs migrant des projets existants, des auteurs de frameworks et de plugins, ainsi que des équipes qui maintiennent de grands dépôts
- Canaux associés
1 commentaires
Avis sur Hacker News
J’aime vraiment Vite, mais je n’ai aucune idée de ce que sont les autres outils
J’ai baissé la tête un instant pour travailler et, entre-temps, l’écosystème des outils front-end avait soudain évolué ; je me demande s’il existe une tendance vers une stack ennuyeuse mais qui fonctionne bien
oxlint remplace eslint tout en étant compatible avec le format des fichiers de configuration, et comme il n’est pas écrit en JavaScript, il est très rapide. J’ai aussi essayé biome, mais oxlint avait davantage de règles et une meilleure compatibilité avec eslint
oxfmt remplace prettier et, n’étant pas écrit en JavaScript, il est plus rapide ; rolldown remplace rollup tout en étant compatible, mais bien plus rapide. Sur les nouveaux projets, j’utilise déjà surtout ces outils
Avant, il fallait utiliser des outils issus de différents projets open source, chacun avec sa propre configuration et son propre cycle de mise à jour ; désormais, tout est traité comme une chaîne d’outils simple et unique
Vite+ est en fait la stack « ennuyeuse mais qui fonctionne bien », avec de meilleures performances et moins de configuration nécessaire
eslint → oxlint, prettier → oxfmt : on réécrit en Rust pour aller vite, et webpack → Vite est déjà suffisamment répandu pour être adopté
rolldown → tsdown ajoute la prise en charge de TypeScript, et jest → vitest s’intègre bien à Vite
En somme, cela reprend les conventions établies au cours des dix dernières années et rassemble prise en charge de TypeScript, performances basées sur Rust et interopérabilité
J’utilise aussi Deno, et je me demande ce qui est utile là-dedans
J’aime Vite, Vitest, Oxlint et Oxfmt, et pour la plupart de mes nouveaux projets je regarde d’abord de ce côté
J’espère que ces gens ont obtenu assez de financement pour pouvoir continuer à développer pendant au moins les dix prochaines années
C’est largement mieux que d’ouvrir un vieux projet et d’y trouver un mélange de Gulp, Grunt, webpack et d’autres outils disparates. J’ai d’ailleurs migré l’un de ces projets vers la nouvelle stack
La vraie question est de savoir si Cloudflare les laissera continuer à créer Vite et les fonctionnalités de Vite+. Ce sont des fonctionnalités qui profitent à toutes les plateformes cloud, pas seulement à Cloudflare
https://blog.cloudflare.com/voidzero-joins-cloudflare/
C’est encore plus vrai pour du full-stack avec rendu côté serveur ; si l’on ne regarde que le front-end et qu’on retire TypeScript, cela devient assez facile
Il faudra voir si Vite+ aide dans les cas plus complexes
Je pense que ce projet devrait trouver un meilleur nom
En réalité, ce n’est pas tant un meilleur Vite qu’un ensemble d’autres outils, donc c’est assez déroutant
À l’époque, Void Zero voulait peut-être monétiser la marque Vite, mais maintenant que l’entreprise a été rachetée par Cloudflare, ce n’est plus nécessaire
J’utilise Vite, Vitest, Rolldown, tsdown, Oxlint et Oxfmt avec beaucoup de satisfaction
J’ai aussi hard-forké beaucoup de paquets, et je n’ai pas envie de revenir en arrière. Tout fonctionne, tout simplement
Si les noms prêtent à confusion, commencez par regarder Oxlint https://oxc.rs/docs/guide/usage/linter et Rolldown https://rolldown.rs/
En les adoptant ces six derniers mois, je n’ai eu à modifier tsconfig que très légèrement
En général, sauf pour des choses comme antd6, echart, les moteurs de rendu ou les bibliothèques géospatiales, je récupère les nouveaux paquets, je les fais nettoyer avec Claude, je les aligne sur un système de types strict et cohérent, puis je les adapte à mes préférences Vite, tsconfig et oxlint
Au final, cela réduit le besoin de suivre en permanence les problèmes de bloat de bibliothèques ou d’attaques de la chaîne d’approvisionnement, et le code devient plus facile à lire et à corriger
Vite a eu cinq montées de version majeure en quatre ans, de 2022 à 2026 : 3 → 4 → 5 → 6 → 7 → 8
À chaque fois, il y a eu des changements cassants et les développeurs ont dû migrer, ce qui fait beaucoup trop. D’autant que ce n’est pas devenu radicalement meilleur qu’à l’époque de la version 3
Je n’ai pas envie d’étendre ce niveau de changements inutiles et de confusion permanente au reste de la chaîne d’outils de développement
Si Vite+ se contente au final d’envelopper les outils existants dans une interface en ligne de commande abstraite, cela veut dire qu’il faudra traverser encore plus de couches d’indirection pour obtenir le comportement souhaité, donc je ne suis pas encore optimiste
Je ne me souviens pas de gros problème, et à chaque fois cela en valait globalement la peine
Il y a eu quelques changements cassants, mais ils étaient relativement isolés, et les gains de vitesse et les améliorations entre ces versions ont été assez importants
Je suis curieux de savoir quelles ruptures vous avez rencontrées
Les ajouts liés au rendu côté serveur ont été une grosse amélioration
J’aimerais qu’on arrête de se plaindre d’un problème qui n’existe pas. Je me demande même si vous utilisez vraiment ces outils
Il est vraiment difficile de suivre le frontend, ou plus largement l’écosystème JavaScript
L’époque où je travaillais avec Laravel me manque, et j’aimerais que les postes utilisant Laravel soient mieux rémunérés
Mais il faut quand même continuer à suivre, et le résultat peut ne pas être très satisfaisant
Ce qu’on utilisait avant fonctionne toujours
L’époque de Laravel 6 me manque vraiment
Comme l’approche a fonctionné avec uv, je pense qu’une équipe compétente pourrait faire la même chose en JavaScript
Pour moi, c’est une comparaison très évidente, et cela me semble être une avancée très bienvenue pour l’écosystème JavaScript
Grâce à uv, travailler avec Python est redevenu agréable
Je me demande si on peut aussi l’utiliser pour des builds Node, comme Vite, ou si c’est réservé au navigateur
Cela dit, j’utilise Vite sans problème sur un serveur NestJS avec
vite-plugin-nodeVoir l’exemple : https://github.com/leosuncin/nest-vite-example/blob/master/v...
En gros, il suffit de faire semblant d’être une bibliothèque
Dans ce cas, Vite n’est pas utilisé comme serveur de développement, mais le lint, le formatage, l’exécution des tâches et le cache sont toujours là
Quel est l’avantage ? Est-ce pour l’obfuscation avec SEA ?
Je me demande si celui-ci est aussi associé à un abonnement
Quand un nom comporte un « + », je me méfie et je pars naturellement du principe qu’il y a un abonnement derrière
En regardant, ça ne semble pas être le cas
Désormais, « $name+ » évoque fortement le « service d’abonnement de $name »
Je me demande si on peut l’utiliser avec Astro