Build in parallel and enable caching #718
Open
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.
Use lerna to build in parallel
lerna is already a dependency. Use it so that packages get built
in parallel instead of sequentially.
Cache builds with nx
Configure nx (used under-the-hood by lerna) to cache build
artifacts. Significantly decreases build time when a single
sub-package has changed.
Note that this relies more heavily on lerna, which on one hand is already a dependency, and on the other hand is quite overkill (e.g. supports sending build tasks to a remote machine)...
There is also a catch: on my machine nx just hangs because of nrwl/nx#27494 (due to a
~/.gitignore
file).An alternative would be to switch from rollup to a tool which supports on-disk cache, and then combine this with run-p. (With that approach we'd still need to spawn the build system for each sub-package when nothing has changed so would be a bit slower than nx. Also dependency tracking would be manual.)