(Naively) attempt to replace babel & terser with esbuild #26079
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a naive and uninformed experiment that replaces babel and terser with esbuild (which, among others, is used by Vite for external dependencies).
On my MacBook a clean
yarn build
takes ~70s before and ~40s after this change. Some of this gain might be undone or outweighed by the caveats listed below.Caveats & things to figure out
target
option totsconfig.json
but doesn't support all of its optionsesbuild doesn't do any type checkingneither does babelThis change is marked as an internal change (Task), so will not be included in the changelog.