@vzn/vx 0.0.531 → 0.0.532

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/cache/cache.ts +10 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vzn/vx",
3
- "version": "0.0.531",
3
+ "version": "0.0.532",
4
4
  "description": "The fastest task runner and build cache for JavaScript monorepos.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -21,10 +21,10 @@
21
21
  "node": ">=18"
22
22
  },
23
23
  "optionalDependencies": {
24
- "@vzn/vx-linux-x64": "0.0.531",
25
- "@vzn/vx-linux-arm64": "0.0.531",
26
- "@vzn/vx-darwin-x64": "0.0.531",
27
- "@vzn/vx-darwin-arm64": "0.0.531"
24
+ "@vzn/vx-linux-x64": "0.0.532",
25
+ "@vzn/vx-linux-arm64": "0.0.532",
26
+ "@vzn/vx-darwin-x64": "0.0.532",
27
+ "@vzn/vx-darwin-arm64": "0.0.532"
28
28
  },
29
29
  "dependencies": {
30
30
  "@anthropic-ai/sandbox-runtime": "^0.0.76"
@@ -1473,9 +1473,17 @@ export class Cache implements CacheLayer {
1473
1473
  // leaves it or loops (item 748).
1474
1474
  const code = (err as NodeJS.ErrnoException).code
1475
1475
  if (code === 'EISDIR' || code === 'ENOTDIR' || code === 'EEXIST' || code === 'ENOTEMPTY') {
1476
+ // Bun's message already opens with the code: `EEXIST: EEXIST: …` read
1477
+ // as a stutter. EEXIST and ENOTDIR are a FILE in a directory's
1478
+ // place; the told-backwards sentence named only the reverse (X-7).
1479
+ const msg = (err as Error).message
1480
+ const what =
1481
+ code === 'EISDIR' || code === 'ENOTEMPTY'
1482
+ ? 'a directory stands where the entry holds a file'
1483
+ : 'a file stands where the entry needs a directory'
1476
1484
  throw new UserError(
1477
- `restore of ${hash} into ${projectDir} was blocked by what is on disk (${code}: ${(err as Error).message}). ` +
1478
- `The clean before a restore removes the files the output globs select, not a directory standing where the entry holds a file, nor a path the globs do not cover — remove it and re-run.`,
1485
+ `restore of ${hash} into ${projectDir} was blocked by what is on disk (${msg.startsWith(code) ? msg : `${code}: ${msg}`}): ${what}. ` +
1486
+ `The clean before a restore removes the files the output globs select and the directories that empties, not this — remove it and re-run.`,
1479
1487
  )
1480
1488
  }
1481
1489
  // A legal name under a destination deep enough that the two together