You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The vast majority of Rollup use today happens as part of vite projects (stats).
The Vite team use rollup for prod builds, because of the larger feature set and flexible plugin system (supports bundle splitting and more), but rollup is really slow compared to a lot of alternatives, so for dev builds esbuild is used instead.
To simplify Vite, the Rolldown projects is in development - it's a rust port of rollup, with compatible api/feature set, and performance superior to esbuild.
We can swap to Rolldown with minimal changes when there's a stable release. It's quite far (Roadmap) in development already - I've tested the latest release in this codebase, and it's getting there.
This would make the CI faster, and tasks that require adjusting and validating the build config many times would be easier:
I think we should evaluate this when it's a lot more stable and widely used.
Last time we did a build change (I think it was swc) it ended up being rolled back due to issues we couldn't solve, and maybe only because we tried to use it prematurely.
We have a relatively complicated build (unfortunately) and we need this to work well - be battle tested.
Just to clarify, I'm not against it, I just want to make sure we don't repeat past mistakes.
I fully agree, I've been thinking a lot about our options in this space and recently seen the tangible performance gain in bundling (10-20x) and work required to move to esbuild, and I just wanted to offload my thoughts on the topic, because one option looked more feasible than others.
It would be neat to get a native bundler (like swc/esbuild), but only if it's low cost to migrate (which in our rullup-setup would be rolldown), and regarding stability I also think it's only worth considering after it has becomes the Vite default.
TSC for type checking isn't really possible to replace. I did the mistake in attempting this with SWC (didn't understand the project scope), which resulted in the rollback. There's one or two projects (not ready) still attempting to make a native type checker (Ezno), but most have now admitted defeat (SWC/STC), and there's now a lot of resistance in attempting this feat.
birkskyum
changed the title
Future: Move from Rollup to Rolldown
Future: Move bundling from Rollup to Rolldown
Sep 20, 2024
We use rollup for bundling.
The vast majority of Rollup use today happens as part of vite projects (stats).
The Vite team use rollup for prod builds, because of the larger feature set and flexible plugin system (supports bundle splitting and more), but rollup is really slow compared to a lot of alternatives, so for dev builds esbuild is used instead.
To simplify Vite, the Rolldown projects is in development - it's a rust port of rollup, with compatible api/feature set, and performance superior to esbuild.
We can swap to Rolldown with minimal changes when there's a stable release. It's quite far (Roadmap) in development already - I've tested the latest release in this codebase, and it's getting there.
This would make the CI faster, and tasks that require adjusting and validating the build config many times would be easier:
The text was updated successfully, but these errors were encountered: