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
Speed, which is crucial for decreasing developer friction when re-building after changes have been made
Relatively minimal configuration when compared with tools like webpack, which we've run into some fragility with in the past (for instance nodeRequire is not a function #7669), and vite (which uses esbuild under the hood). We won't be able to make much use out of the extra features these tools offer, such as hot module reloading.
Add a watch task to rebuild when code changes are made (make use of caching to build incrementally?).
I'm thinking we'd also want to break down the build talk into ints components and only re-build workers, shaders, or source depending on what changes.
replace rollup+terser to bundle for release and minify, including copyright header as a banner
Strip code between debug pragmas... We may need to write our own plugin (similar to strip-pragma-loader for webpack)
Source maps- Generate Source Maps #8245 - can be generated with esbuild, but we should be certain that when we strip out any debug pragma code that it gets factor into the source maps
Main motivations behind taking a more modern approach to the build process:
Factoring in community feedback and our own research, we plan on using esbuild to build, due to
As part of this, we'll want to:
buildThirdParty
from thebuild
task, and instead include npm modules directly, as we do inThirdParty/npm
importScripts
directly (which I think is one of the last actionable items in Replace third party libraries with npm modules #9473)watch
task to rebuild when code changes are made (make use of caching to build incrementally?).Am I missing anything crucial?
I started a prototype in the
build
branch and building and bundling are already much faster.The text was updated successfully, but these errors were encountered: