Problem
Before kicking off a long run, there's no way to see which tasks will come from the cache and which will actually run. In CI this matters when deciding whether an expensive job is worth starting, and locally it helps explain an unexpected miss before waiting for it. Today the only way to find out is to run the tasks and read the summary afterwards.
Proposal
Add vp run --dry-run <task>. It plans the run exactly like a normal run, then prints one line per task without running anything or changing the cache:
- cache hit
- cache miss, with the same reason the run summary would give (
'src/a.ts' modified, no previous cache entry found, ...)
- cache disabled
- unknown, when a task it depends on would run first and could change its inputs
It would only read the local cache, so it's quick and has no side effects. Turborepo has a similar --dry flag. A JSON output could come later.
Problem
Before kicking off a long run, there's no way to see which tasks will come from the cache and which will actually run. In CI this matters when deciding whether an expensive job is worth starting, and locally it helps explain an unexpected miss before waiting for it. Today the only way to find out is to run the tasks and read the summary afterwards.
Proposal
Add
vp run --dry-run <task>. It plans the run exactly like a normal run, then prints one line per task without running anything or changing the cache:'src/a.ts' modified,no previous cache entry found, ...)It would only read the local cache, so it's quick and has no side effects. Turborepo has a similar
--dryflag. A JSON output could come later.