vis run
Run a target across workspace projects with caching and dependency ordering
vis run
Run a target (e.g., build, test, lint) across workspace projects. Tasks are executed in dependency order with caching.
Usage
vis run <target> [options]Examples
vis run build
vis run test --projects=@my/app,@my/lib
vis run build --parallel=5
vis run build --no-cache
vis run lint --dry-run
vis run build --summarizeOptions
| Option | Alias | Default | Description |
|---|---|---|---|
--projects | -p | all | Comma-separated list of projects to run |
--parallel | 3 | Maximum number of parallel tasks | |
--cache | true | Enable caching (--no-cache to disable) | |
--cache-dir | Custom cache directory | ||
--dry-run | false | Show what would run without executing | |
--summarize | false | Generate a JSON run summary |
How It Works
- Discovery — Reads workspace configuration to find all projects
- Graph — Builds a dependency graph from each project's
package.json - Filter — Selects projects matching
--projects(or all) - Order — Sorts tasks topologically so dependencies run first
- Cache — Checks cache for each task; skips if inputs haven't changed
- Execute — Runs tasks in parallel up to
--parallellimit - Store — Caches results for subsequent runs
Configuration
Set target defaults in vis.json:
{
"targetDefaults": {
"build": {
"dependsOn": ["^build"],
"outputs": ["{projectRoot}/dist/**"],
"cache": true
},
"test": {
"dependsOn": ["build"],
"cache": true
}
}
}