@vzn/vx 0.0.22 → 0.0.23

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 (2) hide show
  1. package/package.json +5 -5
  2. package/src/cli/watch.ts +14 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vzn/vx",
3
- "version": "0.0.22",
3
+ "version": "0.0.23",
4
4
  "description": "An open, extensible monorepo task runner.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -17,10 +17,10 @@
17
17
  "node": ">=18"
18
18
  },
19
19
  "optionalDependencies": {
20
- "@vzn/vx-linux-x64": "0.0.22",
21
- "@vzn/vx-linux-arm64": "0.0.22",
22
- "@vzn/vx-darwin-x64": "0.0.22",
23
- "@vzn/vx-darwin-arm64": "0.0.22"
20
+ "@vzn/vx-linux-x64": "0.0.23",
21
+ "@vzn/vx-linux-arm64": "0.0.23",
22
+ "@vzn/vx-darwin-x64": "0.0.23",
23
+ "@vzn/vx-darwin-arm64": "0.0.23"
24
24
  },
25
25
  "dependencies": {
26
26
  "@anthropic-ai/sandbox-runtime": "^0.0.76"
package/src/cli/watch.ts CHANGED
@@ -504,9 +504,20 @@ export async function watchCmd(args: readonly string[]): Promise<number> {
504
504
  // closing it properly needs the workspaceWide decision made without loading
505
505
  // configs.
506
506
  process.stdout.write('vx watch: initial run...\n\n')
507
- const initial = await runOrchestrator(opts)
507
+ // A run that throws (a config that does not parse) is a failed cycle, as
508
+ // it is once the loop runs: watch keeps watching, so the fix re-runs.
509
+ // Uncaught, it ended watch at start while the same break mid-watch did
510
+ // not (item 1017).
511
+ let held: HeldPersistent | undefined
512
+ try {
513
+ held = (await runOrchestrator(opts)).persistent
514
+ } catch (err) {
515
+ process.stderr.write(
516
+ `vx watch: cycle failed: ${err instanceof Error ? err.message : String(err)}\n`,
517
+ )
518
+ }
508
519
  if (stop.signal.aborted) {
509
- await initial.persistent?.stop(forwardedSignal(stop.signal.reason))
520
+ await held?.stop(forwardedSignal(stop.signal.reason))
510
521
  return 0
511
522
  }
512
523
 
@@ -519,7 +530,7 @@ export async function watchCmd(args: readonly string[]): Promise<number> {
519
530
  const ws = await loadCliWorkspace(workspaceRoot)
520
531
  return await runWatchLoop({
521
532
  opts,
522
- held: initial.persistent,
533
+ held,
523
534
  stop: stop.signal,
524
535
  workspaceRoot,
525
536
  projects: watched,