@vzn/vx 0.0.632 → 0.0.634

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +14 -10
  2. package/docs/caching.md +2250 -0
  3. package/docs/cli.md +3283 -0
  4. package/docs/execution.md +708 -0
  5. package/docs/features.md +174 -0
  6. package/docs/patterns.md +219 -0
  7. package/docs/schema.md +2151 -0
  8. package/docs/security.md +209 -0
  9. package/package.json +12 -5
  10. package/schemas/docs.json +28 -0
  11. package/schemas/error.json +5 -1
  12. package/schemas/init.json +57 -0
  13. package/schemas/lock.json +21 -0
  14. package/schemas/plan.json +4 -0
  15. package/skills/vx/SKILL.md +13 -3
  16. package/src/cache/cache.ts +556 -122
  17. package/src/cache/chained-cache.ts +9 -0
  18. package/src/cache/inputs.ts +71 -30
  19. package/src/cache/layer.ts +8 -4
  20. package/src/cache/layered-cache.ts +4 -0
  21. package/src/cache/schema.ts +42 -16
  22. package/src/cli/docs-corpus.ts +21 -0
  23. package/src/cli/docs-text.d.ts +5 -0
  24. package/src/cli/docs.ts +173 -0
  25. package/src/cli/help.ts +14 -3
  26. package/src/cli/index.ts +2 -0
  27. package/src/cli/init.ts +44 -8
  28. package/src/cli/lock.ts +43 -15
  29. package/src/cli/plan-format.ts +3 -1
  30. package/src/cli/run.ts +8 -2
  31. package/src/cli/upgrade.ts +18 -6
  32. package/src/config.ts +9 -0
  33. package/src/graph/priorities.ts +72 -6
  34. package/src/graph/scheduler.ts +17 -4
  35. package/src/graph/task-graph.ts +56 -18
  36. package/src/orchestrator/metrics.ts +11 -4
  37. package/src/orchestrator/miss-reason.ts +3 -5
  38. package/src/orchestrator/miss-save.ts +6 -5
  39. package/src/orchestrator/projects.ts +2 -2
  40. package/src/orchestrator/remote-prefetch.ts +8 -2
  41. package/src/orchestrator/run.ts +13 -1
  42. package/src/orchestrator/task-hash.ts +4 -4
  43. package/src/util/errors.ts +9 -2
  44. package/src/util/paths.ts +32 -0
  45. package/src/util/verbs.ts +1 -0
  46. package/src/workspace/config-schema.ts +26 -8
  47. package/src/workspace/lockfile.ts +29 -2
  48. package/src/workspace/migration.ts +30 -3
package/README.md CHANGED
@@ -18,16 +18,20 @@
18
18
 
19
19
  <!-- bench:start — generated by packages/vx-bench/update-site.ts from results.json; do not hand-edit -->
20
20
 
21
- | 1,090 packages, 3,270 tasks | vx | Turborepo | Nx | Vite Task |
22
- | -------------------------------- | ---------- | -------------------------- | ----------------------- | -------------------------- |
23
- | Cold build: time the runner adds | **2 s** | 1 min 21 s (vx 34× faster) | 11 s (vx 4.7× faster) | 1 min 11 s (vx 30× faster) |
24
- | Cold build: CPU burned | **17 s** | 21 s (vx 1.2× faster) | 52 s (vx 3× faster) | 12 s (vx 1.4× slower) |
25
- | Fully cached run (restored) | **650 ms** | 997 ms (vx 1.5× faster) | 6.25 s (vx 9.6× faster) | 2.64 s (vx 4× faster) |
26
- | Fully cached run (up-to-date) | **393 ms** | 463 ms (vx 1.1× faster) | 6.45 s (vx 16× faster) | 2.49 s (vx 6.3× faster) |
21
+ | 1,090 packages, 3,270 tasks | vx | Turborepo | Nx | Vite Task |
22
+ | ----------------------------------------------- | -------------- | -------------------------- | ------------------------- | -------------------------- |
23
+ | Cold build: total time | **3 min 40 s** | 4 min 59 s (vx 36% faster) | 3 min 49 s (vx 4% faster) | 4 min 49 s (vx 31% faster) |
24
+ | Cold build: CPU burned | **17 s** | 21 s (vx 22% faster) | 52 s (vx 3× faster) | 12 s (vx 39% slower) |
25
+ | Fully cached run (restored) | **650 ms** | 997 ms (vx 53% faster) | 6.25 s (vx 9.6× faster) | 2.64 s (vx 4.1× faster) |
26
+ | Fully cached run (up-to-date) | **393 ms** | 463 ms (vx 18% faster) | 6.45 s (vx 16× faster) | 2.49 s (vx 6.3× faster) |
27
+ | Secondary: time the runner adds to a cold build | **2 s** | 1 min 21 s | 11 s | 1 min 11 s |
27
28
 
28
- vx N× faster: that tool takes N times as long as vx (theirs ÷ vx); N× slower: vx takes N times as long (vx ÷ theirs).
29
+ vx N% or N× faster: that tool takes N% longer or N times as long as vx.
29
30
 
30
- Time added is the wall time over the tasks' own ideal schedule (3 min 38 s).
31
+ Benchmark workload: a synthetic monorepo of 1,090 packages and 3,270 tasks in 100 dependency layers, every build and test taking 1 s; real repos with uneven task times will differ.
32
+ Run 2026-10-04 on linux x64, 4 cores: vx from source, Turborepo 2.11.7, Nx 23.2.1, Vite Task (vite-plus) 1.0.0.
33
+
34
+ The secondary row is the wall time over the tasks' own ideal schedule (3 min 38 s).
31
35
  Same graph, commands and concurrency: [how it is measured](https://vznjs.github.io/vx/benchmarks/).
32
36
 
33
37
  <!-- bench:end -->
@@ -46,7 +50,7 @@ npm install -D @vzn/vx # or: pnpm add -D -w · yarn add -D (-W on Yarn 1) ·
46
50
 
47
51
  A prebuilt binary for Linux (glibc, not Alpine's musl) and macOS, x64 and arm64; no Bun needed. The
48
52
  [release](https://github.com/vznjs/vx/releases) binary needs no Node either.
49
- Windows: use WSL.
53
+ Windows: run vx inside WSL2.
50
54
 
51
55
  ## Quick start
52
56
 
@@ -171,4 +175,4 @@ scripts. Start with [CONTRIBUTING.md](CONTRIBUTING.md) and
171
175
 
172
176
  ## License
173
177
 
174
- [MIT](LICENSE)
178
+ vx is [MIT](LICENSE) licensed. The prebuilt binaries embed Bun and a few npm packages under permissive licenses; their notices ship as [THIRD_PARTY_NOTICES.txt](packages/vx/THIRD_PARTY_NOTICES.txt) in each platform package and GitHub release.