Rolldown 1.1.0 : Lazy Barrel par Defaut et Alignement TypeScript

Rolldown 1.1.0 : Lazy Barrel par Defaut et Alignement TypeScript

lschvn

Rolldown 1.1.0 est sorti le 3 juin, avec deux changements de comportement qui comptent pour tous ceux qui buildent avec Vite ou utilisent Rolldown directement. C'est une version mineure avec des defaults cassants, donc a lire avant de mettre a jour.

lazyBarrel Active par Defaut

Le changement principal : experimental.lazyBarrel est maintenant true par defaut. Rolldown peut maintenant detecter quand un fichier barrel re-export n'a pas de side effects, et eviter de compiler les modules re-exportes jamais importes.

Pour la plupart des projets c'est invisible — la sortie est identique. Mais pour les codebases avec de grands barrel files, particulierement les libraries de composants comme Ant Design ou @mui/icons-material, cela se traduit par un vrai gain en temps de build. L'optimisation se declenche automatiquement quand le barrel est reconnu comme sans side effects.

L'opt-out existe mais est marque comme temporaire :

// rolldown.config.js
export default {
  experimental: { lazyBarrel: false },
}

L'equipe Rolldown note que ce flag sera retire dans une future version. Si vous devez le desactiver, ouvrez un issue pour que la detection sous-jacente soit corrigee a la place.

Les References TypeScript Project Fonctionnent Correctement

Le deuxieme changement important est une correction de la facon dont Rolldown resout les configs tsconfig de type solution — le style que Vite utilise avec un tsconfig.json racine qui ne liste que des references, delegant les vraies options du compilateur a tsconfig.app.json ou tsconfig.node.json.

Rolldown resolvait precedemment les references de projet differemment de tsc :

  • Priorite de reference : Quand la racine a des references, un projet reference qui inclut un fichier a desormais la priorite sur la racine — comme TypeScript. Auparavant la racine correspondait d'abord, surclassant les settings paths du projet.
  • Comportement allowJs : Le fait qu'un fichier .js/.jsx soit inclus est desormais decide par le allowJs de chaque projet reference, pas celui de la racine. Ainsi tsconfig.app.json avec allowJs: true + paths resout maintenant les aliases pour les fichiers JS meme quand la racine ne definit pas allowJs.

Pour la plupart des setups Vite monorepo c'est une correction, pas une regression. Les aliases paths standard fonctionnent maintenant comme prevu, resolvant le bug reporte en #8468.

Si vous comptiez sur l'ancien comportement "la racine gagne" : il n'y a pas de toggle pour le restaurer, car l'ancien comportement etait le bug. Le chemin recommande est d'aligner votre config avec TypeScript en declarant les paths sur le projet reference qui contient reellement les fichiers.

Autres Changements

Rolldown 1.1.0 inclut aussi :

  • import.meta.glob gagne une option caseSensitive
  • Nouveaux warnings SOURCEMAP_BROKEN pour les hooks renderChunk et transform
  • Le hint NO_SIDE_EFFECTS se declenche maintenant quand @__PURE__ est incorrectement place avant des declarations de fonctions
  • Le code-splitting gagne le support group-local includeDependenciesRecursively
  • oxc mis a jour vers v0.134.0, apportant un parsing TypeScript plus strict

Rolldown alimente le bundler de Vite, donc ces ameliorations seront appliquees automatiquement des que Vite adoptera la nouvelle version de Rolldown. Surveillez une mise a jour Vite dans les prochains jours.

Articles connexes

Plus de couverture avec des sujets et tags en commun.

SWC v1.15.26 : le compilateur JavaScript propulsé par Rust continue d'avancer
TypeScript

SWC v1.15.26 : le compilateur JavaScript propulsé par Rust continue d'avancer

Le compilateur JavaScript/TypeScript écrit en Rust publié par swc-project sort la v1.15.26 avec des corrections de bugs, des améliorations de performance et une intégration toujours plus profonde dans l'écosystème Node.js.
Nitro v3.0.260522-beta : Tracing à la Compilation, Cache VFS, Queues Vercel en Local
TypeScript

Nitro v3.0.260522-beta : Tracing à la Compilation, Cache VFS, Queues Vercel en Local

Le beta Nitro v3 du 22 mai apporte des wrappers de tracing pour les handlers de routes à la compilation, un cache VFS pour le code dynamique nitro, et le support des queues Vercel accessible en développement local — avec les correctifs de sécurité de la beta précédente.
Node.js 26.3.0 : Buffer Pool double, permission.drop() arrive, les Macs Intel en péril
TypeScript

Node.js 26.3.0 : Buffer Pool double, permission.drop() arrive, les Macs Intel en péril

Node.js 26.3.0 apporte un Buffer.poolSize par défaut de 64 KiB, une méthode permission.drop() pour abandonner les capacités une par une, un avertissement sur les binaires universels macOS, et un WebCrypto renforcé. npm passe à 11.16.0.

Commentaires

Connexion Connectez-vous pour participer à la conversation.

Pas encore de commentaires. Soyez le premier à partager vos pensées.