- Rolldown est un bundler de nouvelle génération développé en Rust, destiné à devenir le bundler par défaut de Vite, et déjà testable via le package
rolldown-vite
- Le développement vise une compatibilité totale avec Vite existant ; sur de grands projets, des gains concrets ont déjà été démontrés, avec des builds 3 à 16 fois plus rapides et jusqu’à 100 fois moins de mémoire utilisée
- Grâce à la suppression de la dépendance à esbuild et à l’utilisation de Oxc (une suite d’outils JS hautes performances), le transpile et l’optimisation deviennent plus rapides et plus cohérents
- L’accent est mis sur la compatibilité avec Vite, ses principaux plugins et frameworks ; pour certains cas d’usage avancés, il est recommandé de consulter le guide de migration
- L’intégration dans le code principal de Vite se fera par étapes, avec une transition progressive fondée sur les retours de la communauté et l’expérience en conditions réelles
Annonce de Rolldown-Vite
Vue d’ensemble et bénéfices de l’adoption
- Rolldown est un bundler moderne implémenté en Rust, conçu comme le moteur de nouvelle génération appelé à remplacer le bundler JS/TS actuel de Vite
- Dans les projets Vite existants, il peut être adopté facilement en remplaçant le package
vite par rolldown-vite
- Des déploiements en entreprise ont confirmé d’excellentes performances, avec des temps de build divisés par 3 à 16 et une consommation mémoire réduite de 4 à 100 fois
Technologies clés et migration
- Oxc : toolchain JS/TS haute performance intégrant parseur, transpileur, resolver, minifier, etc. (avec un formateur prévu plus tard)
- Conservation de la même API et de la même expérience d’usage que Vite existant, avec toutefois la nécessité de configurer des alias ou des overrides selon le gestionnaire de paquets
esbuild n’est plus indispensable ; toutes les transformations et optimisations internes sont prises en charge par Oxc (avec éventuellement un usage partiel et optionnel d’esbuild pour la compatibilité des plugins)
Résultats en conditions réelles
- GitLab : temps de build de 2,5 minutes → 40 secondes, consommation mémoire réduite de 100 fois
- Excalidraw : 22,9 secondes → 1,4 seconde (16 fois plus rapide)
- PLAID Inc. : 1 minute 20 secondes → 5 secondes (16 fois plus rapide)
- Appwrite : 12 minutes → 3 minutes (mémoire réduite de 4 fois)
- Particl : 1 minute → 6 secondes (plus de 10 fois mieux, 29 fois plus rapide que Next.js)
- Même le build de ce blog (VitePress + Rolldown-Vite) ne prend que 1,8 seconde sur Netlify
Compatibilité et support des plugins
- La CI de l’écosystème Vite valide la majorité des principaux frameworks et plugins
- Des problèmes de compatibilité peuvent subsister avec certains frameworks spécifiques ou cas avancés → il est recommandé de consulter le guide de migration
- Les auteurs de plugins peuvent dès maintenant tester et optimiser la compatibilité dans l’environnement Rolldown-Vite
Feuille de route d’intégration progressive
- Étape 1 (actuelle) : première phase d’essai et collecte de retours via un package séparé (
rolldown-vite)
- Étape 2 : fusion dans le code principal de Vite, ajout d’un mode full-bundle pour le serveur de développement (opt-in), puis abandon prévu du package
rolldown-vite
- Étape 3 : le mode full-bundle devient l’option par défaut de Vite
- Chaque étape devrait prendre plusieurs mois, avec une progression graduelle basée sur l’usage réel et les retours de la communauté
Suite du projet et participation
- L’introduction du mode full-bundle dans le serveur de développement doit maximiser la vitesse et la stabilité sur les grands projets
- Le cœur interne de Vite sera lui aussi progressivement réécrit en Rust (pour réduire l’overhead de communication et maximiser les performances)
- Les bugs, problèmes de compatibilité et retours de performance sont à signaler dans le dépôt
rolldown-vite
- Les discussions en temps réel sont possibles sur le Discord de Rolldown
Aucun commentaire pour le moment.