build: use wireit, npm-run-all2 for build & watch #53
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 wireit to specify dependency relationships between build scripts of each package, cache build outputs, incrementally rebuild scripts, and watch for changes.
Furthermore, use npm-run-all2 to run Vite and wireit in watch mode for @webtoon/psd-example-browser and @webtoon/psd-benchmark. This is needed because wireit currently does not support "service" scripts. (see: google/wireit#33)
Using wireit and npm-run-all2 makes our development NPM scripts (e.g.
npm run start:browser
) more reliable. The scripts now "just work" in a fresh local clone of the repo, and do not require arbitrarysleep
calls or polling delays to properly rebuild multiple packages.Since wireit and npm-run-all2 handle our build orchestration, we can remove packages like rollup-plugin-shell, rollup-plugin-watcher, and nodedev that we previously used for watching the filesystem and running build tools.
Resolves #28