18 points par GN⁺ 2025-06-08 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • 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

  1. Étape 1 (actuelle) : première phase d’essai et collecte de retours via un package séparé (rolldown-vite)
  2. É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
  3. É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.

Aucun commentaire pour le moment.