feat: use esbuild when possible for project builds #249
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.
Right now
shopware-cli project ci
uses the traditional steps likebuild-administration.sh
andbuild-storefront.sh
Since a while we support esbuild for building extensions much faster without access to the Shopware source code. To adopt this for building multiple extensions, we know split the extensions:
So we have the best of both worlds. Some extensions build faster and which are not compatible use the regular setup.
Some benchmarks:
Project: All extensions have esbuild support.
shopware project ci
(current version): 1 minute build time.shopware project ci
(this branch): 29 seconds build time.I think the improvement can be better seen in CI like GitHub Actions with limited amount of resources. My machine has 16 cores, 128gb memory, little bit overkill to compare, but still 2x faster than the previous version.