feature: use zx to improve scripting dev experience #271
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.
Description
Adds the zx package to improve the experience of shell scripting with node.
zx
provides useful wrappers aroundchild_process
, escapes arguments and gives sensible defaults.ZX uses ES modules and prefers to use
.mjs
extension. If this is undesirable, the PR can be updated to use.js
and wrap the scripts invoid async function () {}()
. The scripts could also be written in typescript as ZX can compile and execute.ts
filesPerformance impact
None, except when scripts are written in typescript.
.ts
files are passed tots-node
which is slower than callingnode
directly.Security impact
N/A || unknown
Checklist
yarn lint:fix
passes.yarn test
passes.RELEASE_NOTES.md
file (if one exists).