The hashing dilemma, Rollup 3, and our future with Vite
summary
Rollup had a content-hash bug open since May 2019 that broke caching for cyclic chunk graphs; Rollup 3 fixes this by writing placeholders for chunk imports, running renderChunk, then replacing placeholders to compute stable content-only hashes so transforms and minifiers can run without invalidating hashes. New features: placeholder-based hashing, renderChunk gets full chunk graph, per-chunk banner/footer and improved source-map handling, and a planned minimum chunk size merging plus exploration of Rust/SWC for native speed.
AI-written summary · about
chapters (12)
- 0:00Intro
- 1:27Content-based file names
- 2:50Problem: Circular references
- 5:45Rollup 3 hashing
- 8:43Why did Vite choose Rollup?
- 9:56A personal detour
- 10:56Strategic decisions
- 13:29Encourage third-party tooling
- 14:12Creating a partnership
- 15:03More Rollup 3 goodies
- 16:03What is next?
- 16:54What about build speed?
related talks
25mReinventing Rollup
38mVue.js and Vite Updates
20mThe Inner Workings of Vite Build
25mRolldown: How Vite bundles at the speed of Rust
29mModern JavaScript Tooling: Exploring Rolldown, Oxc, and Beyond
42mVite and the Future of JavaScript Tooling
32mFaster Builds and Fewer Headaches with Modern JavaScript Tooling
20mVite - The Next Generation Frontend Tooling
