Rolldown 1.1.0: lazyBarrel jetzt standardmäßig aktiviert

Rolldown 1.1.0: lazyBarrel jetzt standardmäßig aktiviert

lschvn

Rolldown 1.1.0 erschien am 3. Juni 2026. Trotz der Bezeichnung als Minor-Release bringt es zwei Verhaltensänderungen mit, die vor einem Upgrade geprüft werden sollten.

lazyBarrel standardmäßig aktiviert

Die wichtigste Änderung: experimental.lazyBarrel ist jetzt standardmäßig true. Wenn ein Barrel-Modul (eine Datei, die von anderen Modulen re-exportiert) als frei von Nebeneffekten erkannt wird, überspringt Rolldown die Kompilierung der nicht verwendeten re-exportierten Module.

Der praktische Vorteil zeigt sich am deutlichsten bei großen Komponentenbibliotheken wie Ant Design oder @mui/icons-material. In vielen Codebasen exportieren diese Bibliotheken Hunderte von Icons oder Komponenten über Barrel-Dateien, aber eine Anwendung verwendet nur eine Handvoll davon. Mit lazyBarrel, das nun standardmäßig aktiviert ist, kann Rolldown die ungenutzten Exporte jetzt vollständig überspringen – sowohl die Build-Zeit als auch die finale Bundle-Größe profitieren davon.

Die Release-Notes weisen auf einen Grenzfall hin: Wenn ein Barrel fälschlicherweise als frei von Nebeneffekten eingestuft wird, könnte die Optimierung ein Modul entfernen, auf das für seine Nebeneffekte verlassen wurde. Der Workaround ist einfach:

export default {
  experimental: { lazyBarrel: false },
}

Das Rolldown-Team weist darauf hin, dass diese Deaktivierungsoption in einem zukünftigen Release entfernt werden soll. Falls ein Fall auftritt, in dem sie benötigt wird, sollte ein Issue geöffnet werden, damit die zugrunde liegende Erkennungslogik verbessert werden kann.

tsconfig-Projektreferenz-Auflösung entspricht TypeScript

Die zweite Änderung betrifft die Auflösung von Pfaden durch Solution-Style-tsconfig-Dateien (das von Vite standardmäßig verwendete Muster, bei dem tsconfig.json nur Referenzen auflistet und die eigentlichen Einstellungen an tsconfig.app.json oder tsconfig.node.json delegiert).

Das Upgrade von oxc_resolver von 11.19.1 auf 11.21.0 bringt Rolldowns Auflösung in Einklang mit dem Verhalten von tsc:

  • Referenz-Priorität: Wenn die Root-tsconfig Referenzen hat, hat nun ein referenziertes Projekt, das eine Datei enthält, Vorrang vor der Root. Zuvor wurde die Root zuerst gematcht.
  • allowJs-Verhalten: Ob eine .js, .jsx, .mjs oder .cjs-Datei eingeschlossen wird, wird nun durch die allowJs-Einstellung des jeweiligen referenzierten Projekts entschieden, nicht durch die der Root.

Das Release räumt ein, dass dies eine Verhaltensänderung für Projekte ist, die sich auf das vorherige "Root gewinnt"-Verhalten verlassen haben. Der empfohlene Weg ist, die tsconfig-Struktur an TypeScripts Erwartungen anzupassen.

Weitere Änderungen

Das vollständige Changelog enthält außerdem:

  • import.meta.glob unterstützt jetzt eine caseSensitive-Option
  • Eine SOURCEMAP_BROKEN-Warnung wird für die renderChunk- und transform-Hooks ausgegeben, wenn Sourcemaps ungültig sein könnten
  • Verbesserte Fehlermeldungen: eine fehlende tsconfig meldet nun TSCONFIG_ERROR statt UNHANDLEABLE_ERROR
  • Code-Splitting unterstützt jetzt group-local includeDependenciesRecursively
  • Mehrere Bugfixes im Chunk-Optimizer für die Handhabung dynamischer Entries

Rolldown 1.1.0 ist jetzt auf npm verfügbar.


faq:

  • question: "Was bedeutet 'lazyBarrel' in Rolldown?" answer: "Ein 'Barrel' ist eine Datei, die von mehreren anderen Modulen re-exportiert. Die lazyBarrel-Optimierung erkennt, wenn ein Barrel keine Nebeneffekte hat, und überspringt die Kompilierung der nicht verwendeten re-exportierten Module – das beschleunigt Builds für große Bibliotheken erheblich."
  • question: "Mein Build funktioniert nach dem Rolldown-Upgrade nicht mehr. Was sollte ich prüfen?" answer: "Prüfen Sie zuerst, ob Sie sich auf Nebeneffekte von Barrel-Re-exports verlassen. Sie können vorübergehend mit experimental: { lazyBarrel: false } deaktivieren. Wenn Sie TypeScript-Projektreferenzen verwenden, verifizieren Sie, dass Ihre tsconfig-Struktur den TypeScript-Erwartungen entspricht."
  • question: "Wie wirkt sich das auf Vite-Nutzer aus?" answer: "Rolldown ist der Bundler, der Vite 8 und höher antreibt. Diese Änderungen gelten automatisch, wenn Sie Rolldown als Abhängigkeit aktualisieren oder wenn Vite eine neue Rolldown-Version ausliefert."

Verwandte Artikel

Weitere Berichterstattung zu ähnlichen Themen und Tags.

Rolldown 1.1.4 Deaktiviert `experimental.lazyBarrel` Wieder als Standard, Einen Monat Nachdem 1.1.0 Es Standardmäßig Aktiviert Hatte
tooling

Rolldown 1.1.4 Deaktiviert `experimental.lazyBarrel` Wieder als Standard, Einen Monat Nachdem 1.1.0 Es Standardmäßig Aktiviert Hatte

Rolldown [v1.1.4](https://github.com/rolldown/rolldown/releases/tag/v1.1.4), veröffentlicht am 2026-07-01T14:02:02Z, liefert eine Feature-Änderung und 19 Fehlerbehebungen. Die Feature-Änderung ist eine teilweise Rücknahme des [Standard-Flips der v1.1.0](https://github.com/rolldown/rolldown/releases/tag/v1.1.0) vom 2026-06-03: `experimental.lazyBarrel` ist nach vier Wochen Korrekturmeldungen gegen das standardmäßig aktivierte Verhalten wieder standardmäßig deaktiviert. Das Release härtet außerdem den Dev-Mode-Pfad, indem `lazyBarrel` auf off gezwungen wird, sobald `experimental.devMode` gesetzt ist (PR [#10060](https://github.com/rolldown/rolldown/pull/10060)), zusätzlich zum bestehenden Force-off für `treeshake`. Die Standard-Flip-Rücknahme (PR [#10071](https://github.com/rolldown/rolldown/pull/10071)) und der Dev-Mode-Fix autorisieren sich jeweils in einer Zeile: „disable `experimental.lazyBarrel` by default“ und „fix(dev): disable lazy barrel in dev mode“, und die Verfolgung der Grundursache ist das neue [Issue #10085](https://github.com/rolldown/rolldown/issues/10085) „Tracking strictExecutionOrder correctness and architecture issues“, eröffnet am Tag nach dem Release. Das Release folgt auf [Rolldown v1.1.3](https://github.com/rolldown/rolldown/releases/tag/v1.1.3) (2026-06-24) und ist das erste Release seit 1.1.0, das die lazyBarrel-Konfigurationsoberfläche anfasst.
Prettier 3.9 überholt fünf Parser: micromark für Markdown, yaml v2, GraphQL.js v17, ein Rust-basierter Flow-Parser und Angular
tooling

Prettier 3.9 überholt fünf Parser: micromark für Markdown, yaml v2, GraphQL.js v17, ein Rust-basierter Flow-Parser und Angular

Prettier 3.9.0, veröffentlicht am 27. Juni 2026 (prettier/prettier, Blogpost von Fisker Cheung), ist eine parserlastige Version, die Markdown von remark-parse v8 auf micromark v4 hebt (bessere CommonMark- und GFM-Konformität sowie eine Reihe lange bestehender Parsing-Bugs behoben), YAML auf yaml v2, GraphQL auf GraphQL.js v17 (Fragment-Argumente und Direktiven auf Direktivdefinitionen), Flow auf den neuen Rust-basierten oxidized-Parser des Flow-Teams (rund 37 % schneller bei Prettiers gültigen Flow-Fixtures und 43 % schneller bei flow_parser.js in lokalen Parser-only-Benchmarks) und Angular. Auch der JavaScript- und TypeScript-Printer wurde überarbeitet, insbesondere im --no-semi-Modus, wo Kommentare um break und continue jetzt über mehrere Durchläufe stabil sind (ein Idempotenz-Fix), sowie redundante Klammern in return, die Ausrichtung von eingebetteten Template-Interpolationen und das Inlining von logischen Negationen. Die Version entfernt die veraltete import ... assert {}-Syntax (Babel 8 hat das Parser-Plugin entfernt; migriert zu with), repariert eine stillschweigend defekte Option --cache-strategy content und verhindert, dass EditorConfig-Dateien oberhalb von Git-Worktrees einsickern. Das Team erinnert daran, die genaue Version in der package.json festzupinnen, da die Formatierungsänderungen Diffs erzeugen.
Playwright v1.61.0: WebAuthn-Passkeys, eine echte WebStorage-API und Trace-artige Video-Modi für den Test-Runner
tooling

Playwright v1.61.0: WebAuthn-Passkeys, eine echte WebStorage-API und Trace-artige Video-Modi für den Test-Runner

Playwright v1.61.0 (15. Juni 2026) liefert einen virtuellen Authenticator für WebAuthn/Passkey-Zeremonien, eine erstklassige page.localStorage / page.sessionStorage-API, Netzwerk-Security-Details auf APIResponses und bringt die Video-Aufzeichnung des Test-Runners auf Parität mit der Trace-Aufzeichnung. Browser-Kanäle: Chromium 149, Firefox 151, WebKit 26.5.

Kommentare

Anmelden Melden Sie sich an, um an der Diskussion teilzunehmen.

Noch keine Kommentare. Seien Sie der Erste, der seine Gedanken teilt.