Ah yes, one step outside of New York City, and I'm immediately in the boondocks.
Assuming one has access to a credit card and is financially literate, I agree that using BNPL is a hard sell (never having used it myself). But there is a large population--the unbanked--that lacks access to credit…
If you have a lot of files, the initial (dev server) page load times increases linearly with the number of files you have. With a slow bundler, that tradeoff made sense, but with a fast bundler, it is suboptimal. Also,…
Next.js et al. provides a set of opinionated packages designed to enable a specific paradigm. For Next.js, that's server-side rendering. For Remix, that's progressive enhancement. If you are happy with client-side…
Note that while Vite transpiles with esbuild, it bundles with Rollup, which is single-threaded JS. Vite also uses esbuild to prebundle dependencies for the dev server, but this is separate from production builds.
If you are also looking for broader context beyond what a bundler is, I have written a broader exposition on frontend builds here, which may be useful in understanding how bundlers compare to adjacent build tools:…
Since tree-shaking is a common term across frontend build tooling documentation, I adopted it as well. Dead code elimination in its traditional form also runs during code minification, which is a separate build step…
Thanks for the feedback! I struggled with the ordering since each section is somewhat mutually dependent; this is arranged more like a thematic history than a chronological one. Tree-shaking naturally fits under…
Esbuild lacks the featureful plugin API that Webpack and Rollup have. It's pretty easy to avoid dependencies that require transpiler/bundler plugins and still have a great set of dependencies, but it's a deal breaker…
I have recently written a broader exposition on frontend build tooling, perhaps it will be useful: https://sunsetglow.net/posts/frontend-build-systems.html. The performance gains in the recent past have mostly been due…
Ah yes, one step outside of New York City, and I'm immediately in the boondocks.
Assuming one has access to a credit card and is financially literate, I agree that using BNPL is a hard sell (never having used it myself). But there is a large population--the unbanked--that lacks access to credit…
If you have a lot of files, the initial (dev server) page load times increases linearly with the number of files you have. With a slow bundler, that tradeoff made sense, but with a fast bundler, it is suboptimal. Also,…
Next.js et al. provides a set of opinionated packages designed to enable a specific paradigm. For Next.js, that's server-side rendering. For Remix, that's progressive enhancement. If you are happy with client-side…
Note that while Vite transpiles with esbuild, it bundles with Rollup, which is single-threaded JS. Vite also uses esbuild to prebundle dependencies for the dev server, but this is separate from production builds.
If you are also looking for broader context beyond what a bundler is, I have written a broader exposition on frontend builds here, which may be useful in understanding how bundlers compare to adjacent build tools:…
Since tree-shaking is a common term across frontend build tooling documentation, I adopted it as well. Dead code elimination in its traditional form also runs during code minification, which is a separate build step…
Thanks for the feedback! I struggled with the ordering since each section is somewhat mutually dependent; this is arranged more like a thematic history than a chronological one. Tree-shaking naturally fits under…
Esbuild lacks the featureful plugin API that Webpack and Rollup have. It's pretty easy to avoid dependencies that require transpiler/bundler plugins and still have a great set of dependencies, but it's a deal breaker…
I have recently written a broader exposition on frontend build tooling, perhaps it will be useful: https://sunsetglow.net/posts/frontend-build-systems.html. The performance gains in the recent past have mostly been due…