@vzn/vx 0.0.566 → 0.0.567
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 +5 -5
- package/src/cli/watch-judge.ts +7 -3
- package/src/cli/watch.ts +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vzn/vx",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.567",
|
|
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.
|
|
25
|
-
"@vzn/vx-linux-arm64": "0.0.
|
|
26
|
-
"@vzn/vx-darwin-x64": "0.0.
|
|
27
|
-
"@vzn/vx-darwin-arm64": "0.0.
|
|
24
|
+
"@vzn/vx-linux-x64": "0.0.567",
|
|
25
|
+
"@vzn/vx-linux-arm64": "0.0.567",
|
|
26
|
+
"@vzn/vx-darwin-x64": "0.0.567",
|
|
27
|
+
"@vzn/vx-darwin-arm64": "0.0.567"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@anthropic-ai/sandbox-runtime": "^0.0.76"
|
package/src/cli/watch-judge.ts
CHANGED
|
@@ -59,6 +59,8 @@ export interface JudgeContext {
|
|
|
59
59
|
held(): boolean
|
|
60
60
|
/** Projects whose uncached task may read a git-ignored file. */
|
|
61
61
|
uncached(): ReadonlySet<string>
|
|
62
|
+
/** Whether `abs`, under the project at `ownDir`, lies in a project nested there (`makeFence`). */
|
|
63
|
+
fenced?(ownDir: string, abs: string): boolean
|
|
62
64
|
/** The files git listed at the arm; absent when git could not answer. */
|
|
63
65
|
existedAtArm?: ReadonlySet<string>
|
|
64
66
|
}
|
|
@@ -176,10 +178,12 @@ export class ChangeJudge {
|
|
|
176
178
|
// it reads what it likes, and its `.env.local` edit re-ran nothing
|
|
177
179
|
// (item 947). Under such a project an ignored path is judged when the
|
|
178
180
|
// user wrote it; one the last cycle wrote (the pid file an uncached
|
|
179
|
-
// task rewrites every run, the loop the filter exists for) stays out
|
|
181
|
+
// task rewrites every run, the loop the filter exists for) stays out,
|
|
182
|
+
// as does one in a project nested under it, which it does not own.
|
|
180
183
|
const editForUncached = (p: string): boolean =>
|
|
181
|
-
[...this.ctx.uncached()].some(
|
|
182
|
-
|
|
184
|
+
[...this.ctx.uncached()].some(
|
|
185
|
+
(dir) => p.startsWith(dir + path.sep) && this.ctx.fenced?.(dir, p) !== true,
|
|
186
|
+
) && !this.writtenDuringLastCycle(p)
|
|
183
187
|
// A path still there names the cycle before a gone one: an editor or
|
|
184
188
|
// `sed -i` saving through a temporary file fires that file first, and
|
|
185
189
|
// the cycle was announced by a name already renamed away.
|
package/src/cli/watch.ts
CHANGED
|
@@ -462,6 +462,7 @@ async function runWatchLoop(args: WatchLoopArgs): Promise<number> {
|
|
|
462
462
|
armedAt,
|
|
463
463
|
held: () => held !== undefined,
|
|
464
464
|
uncached: () => uncached,
|
|
465
|
+
fenced: (ownDir, abs) => fenced(ownDir, abs),
|
|
465
466
|
...(existedAtArm !== undefined ? { existedAtArm } : {}),
|
|
466
467
|
})
|
|
467
468
|
/** Per-project arms by directory, so `rearm` can add and drop them. */
|