@vzn/vx 0.0.181 → 0.0.182

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vzn/vx",
3
- "version": "0.0.181",
3
+ "version": "0.0.182",
4
4
  "description": "A fast, correct task runner and build cache for JavaScript monorepos.",
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.181",
21
- "@vzn/vx-linux-arm64": "0.0.181",
22
- "@vzn/vx-darwin-x64": "0.0.181",
23
- "@vzn/vx-darwin-arm64": "0.0.181"
20
+ "@vzn/vx-linux-x64": "0.0.182",
21
+ "@vzn/vx-linux-arm64": "0.0.182",
22
+ "@vzn/vx-darwin-x64": "0.0.182",
23
+ "@vzn/vx-darwin-arm64": "0.0.182"
24
24
  },
25
25
  "dependencies": {
26
26
  "@anthropic-ai/sandbox-runtime": "^0.0.76"
@@ -74,7 +74,14 @@ export function nonJsonPaths(value: unknown): NonJsonValue[] {
74
74
  ancestors.push(v)
75
75
  for (const key of Object.keys(v)) {
76
76
  keys.push(key)
77
- walk((v as Record<string, unknown>)[key], false)
77
+ // Read by descriptor: a getter is code, and each read may answer
78
+ // differently. `vx show` read one three times, so the key, the
79
+ // check and the command could each see another value, and a
80
+ // throwing one surfaced as vx's own stack (D-67). Never called here.
81
+ const d = Object.getOwnPropertyDescriptor(v, key)
82
+ if (d !== undefined && d.get !== undefined) found('a getter')
83
+ else if (d !== undefined && d.set !== undefined) found('a setter')
84
+ else walk(d?.value, false)
78
85
  keys.pop()
79
86
  }
80
87
  ancestors.pop()