Rolldown
Rolldown adalah bundler JavaScript dan TypeScript berbasis Rust yang dirancang sebagai pengganti terpadu esbuild dan Rollup di dalam arsitektur Vite. Proyek ini dikembangkan oleh VoidZero, mencapai tahap Release Candidate dengan API publik yang dinyatakan stabil, dan didokumentasikan di situs resmi Rolldown.
Ruang lingkup fitur Rolldown lebih dekat ke esbuild daripada Rollup murni, tetapi antarmuka plugin dan bentuk konfigurasi meniru ekosistem Rollup. Kombinasi ini menjadikan Rolldown jembatan antara performa native dan kompatibilitas plugin yang sudah mapan.
Fitur utama
Transformasi bawaan mencakup TypeScript, JSX, dan syntax lowering sampai ES2015 melalui Oxc, sebagaimana didokumentasikan di panduan fitur. Interop CJS dan ESM ditangani secara native sehingga tidak memerlukan plugin commonjs terpisah, dan resolusi modul bawaan menghormati paths pada tsconfig.json.
Kontrol code splitting granular tersedia melalui opsi output.codeSplitting, yang menggantikan nama lama advancedChunks. Fitur define dan inject berbasis AST memberi cakupan lebih luas dari plugin replace biasa, sementara tipe modul dan watch mode masih bertanda eksperimental.
Integrasi dengan Vite
Vite memakai Rolldown sebagai bundler masa depannya melalui paket jalur coba rolldown-vite yang bersifat drop-in, seperti dijelaskan di panduan integrasi Vite. Motivasi utama migrasi adalah unifikasi prebundling dan production build dalam satu mesin, sehingga perbedaan perilaku antara mode dev dan produksi menyusut.
Opsi lama manualChunks tetap didukung tetapi deprecated; penggantinya adalah konfigurasi granular ala webpack splitChunks. Batasan pada mode tertentu dan fitur eksperimental berarti adopsi produksi sebaiknya diuji per proyek.
Performa dan benchmark
Benchmark resmi tim Rolldown menempatkan kecepatan bundling setara esbuild dan belasan hingga puluhan kali lebih cepat dari Rollup pada workload ribuan modul. Pengumuman RC mencatat lebih dari 3.400 commit sejak beta, ratusan fitur dan perbaikan, serta kelulusan 900 lebih tes Rollup dan 670 lebih tes esbuild.
Angka tersebut berasal dari pengukuran internal pada workload tertentu, bukan jaminan universal. Pengguna sebaiknya membandingkan pada graf modul, plugin, dan perangkat keras proyek sendiri sebelum mengharapkan percepatan serupa.
Batas dan risiko
Mode seperti module types dan watch mode masih eksperimental dan dapat berubah setelah 1.0. Penggantian nama opsi dari advancedChunks ke codeSplitting perlu diperhatikan saat migrasi. Materi utama yang diakses pada paket riset ini berfokus pada modul JS dan TS; dukungan aset non-JS tidak terdokumentasi luas di sana.
Ekosistem plugin Rollup mayoritas kompatibel, tetapi ada kasus tertentu yang belum didukung penuh, dengan daftar limitasi yang dirujuk ke PR GitHub yang terus diperbarui.
Lihat juga
- Rolldown menyatukan kecepatan Rust dengan kompatibilitas API Rollup
- Rollup
- Vite
- Module Bundlers
- esbuild
- JavaScript
- Deployment
Sumber
- Introduction: Rolldown: tujuan unifikasi, performa, kompatibilitas plugin, dan ruang lingkup fitur.
- Homepage: Rolldown: positioning, benchmark 19k modul, dan status proyek VoidZero.
- Repositori resmi Rolldown: kode sumber, lisensi, dan rilis proyek.
- Announcing Rolldown 1.0 RC: VoidZero: stabilitas API, fitur kunci, statistik commit, dan kompatibilitas tes.
- Rolldown Integration: Vite: motivasi migrasi, jalur coba rolldown-vite, dan batasan.
- Getting Started: Rolldown: instalasi, tier platform, fallback WASM, dan CLI.
- Notable Features: Rolldown: platform presets, transform, CJS, resolusi, define, inject, dan splitting.
- Why bundlers: Rolldown: argumen kebutuhan bundling di era HTTP/2 dan ESM native.