Skip to content

Replace esbuild with rolldown - #1105

Closed
logan-gatlin wants to merge 1 commit into
mainfrom
logan/rolldown
Closed

logan-gatlin wants to merge 1 commit into
mainfrom
logan/rolldown

Conversation

@logan-gatlin

Copy link
Copy Markdown
Collaborator

Pros

There are 3 reasons I think this is a good idea:

  • Esbuild is a Go binary we download at build-time and invoke as its own process. Rolldown is just a Rust library we call. This makes worker-build more self-contained.
  • Rolldown is a Cloudflare product now
  • Rolldown is Blazingly™ Fast™

Cons

  • Rolldown doesn't follow semver so the crate versions need pinning
  • Requires an MSRV bump for worker-build
  • Churn (minor, Rolldown follows esbuild's behavior pretty closely)

My pet project is to make the Rust workers build pipeline 100% Rust. After this change the only non-Rust component will be wasm-opt as far as I'm aware.

@guybedford

Copy link
Copy Markdown
Collaborator

My pet project is to make the Rust workers build pipeline 100% Rust.

That's a good goal! Note that in #1103 we are able to avoid the esbuild step as well, using just plain modular output. So we entirely drop the bundler with that migration.

While we could land this in the mean time, the sooner we can switch to the automated bindgen release version the better.

@logan-gatlin

Copy link
Copy Markdown
Collaborator Author

Nice! No bundler is even better than a Rust bundler

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants