1.0.3 • Published 5 years ago
wsx-cli v1.0.3
wsx
yarn run
for monorepos!
wsx is a cli tool to extend yarn workspaces to assist managing monorepos. It offers:
- Run script for each workspace package synchronously or asynchronously.
- Run script for workspace packages that changed in a given git diff.
- Include packages that changed and their dependents (recursively).
- Include only packages that changed.
- Run scripts in topological order, respecting workspace interdependencies.
Installation
npm i -g wsx-cli
yarn global add wsx-cli
Requirements
Let "root" be the root directory of the monorepo. Consistency requirements:
root/package.json
must have"workspaces": ["packages/*"]
.- or
"workspaces": { "packages": ["packages/*"] }
.
- or
- All workspace interdependencies must have version set to "*".
- e.g.
root/packages/foo
depends onroot/packages/bar
:root/packages/foo/package.json
must have"dependencies": { "bar": "*" }
.
- e.g.
- No workspace package can depend on itself.
- No cyclic workspace dependencies are allowed.
wsx check
wsx check
wsx check --verbose
wsx check --silent
Global options: --silent
/-s
, --verbose
.
wsx list
wsx list
wsx list --diff HEAD
wsx list --diff HEAD^ HEAD --parseable
wsx list -d HEAD~8 HEAD~6 -p
wsx list --verbose
wsx list --silent
Options: --diff
/-d
, --parseable
/-p
Global options: --silent
/-s
, --verbose
.
wsx [script]
(same as wsx run [script]
)
wsx test
wsx build --diff HEAD --no-sort
wsx deploy --diff HEAD^ HEAD --ignore-dependents
wsx test --diff HEAD~8 HEAD~6 --synchronous
wsx build --diff HEAD^ HEAD --no-sort --ignore-dependents --prefix
wsx test --verbose
wsx test --silent
Options: --synchronous
, --diff
/-d
, --no-sort
, --ignore-dependents
, --prefix
Global options: --silent
/-s
, --verbose
.
Global Options
--verbose
--silent
/-s
--help
/-h
-v
(version)
TODO: add usage examples outputs.