Fly.ioAnnouncement
FYI: Phoenix drops webpack and npm for esbuild
Summary
Phoenix is replacing its use of Node, npm, and webpack with esbuild, a Go-written JavaScript bundler, in the upcoming Phoenix 1.6 release. The change responds to support burden and reliability problems: the post says npm, webpack, or brunch were involved in roughly 30% of Phoenix’s reported issues, while node-sass and npm v7 had recently broken phx.new. esbuild compiles to native code, handles common asset-pipeline tasks, and is intended to provide newcomers with a seamless setup and long-term users with more reproducible JavaScript and CSS builds. Teams doing substantial frontend JavaScript can still use customized webpack or other tooling, while esbuild remains an opt-in path for complex client-side work. Existing projects can use Phoenix 1.6, although the post notes possible zombie processes and says migration snags remain to be assessed.
Context
Phoenix’s maintainers faced a substantial support burden around JavaScript packaging: npm was involved in 591 issues, webpack in 79, and brunch in 171 out of 2,034 total issues. The post also cites recent phx.new breakage caused by node-sass and npm v7, alongside concerns about long-term reproducible builds and the first-run experience for new users.
Approach / What changed
Phoenix is replacing Node, npm, and webpack with esbuild for its default asset pipeline in the upcoming Phoenix 1.6 release. esbuild is written in Go, compiles to native code, and handles common JavaScript and CSS asset tasks. Advanced frontend teams can continue using webpack or other customized tooling, while projects can opt into Node tooling when needed.
Takeaways
Phoenix issue counts cited in the post were 591 involving npm, 79 involving webpack, and 171 involving brunch, with overlap bringing the estimated packaging-related share to around 30%.
esbuild is written in Go and compiles to native code, providing a fast JavaScript bundler for common asset-pipeline tasks without making Node tooling the default.
The migration does not block custom frontend setups, but the post warns that esbuild could leave zombie processes until an upstream pull request is merged; migration issues were still being evaluated before release.
Source and freshness
- Source
- fly.io
- Published
- Added to Yomu
- Last updated
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.