@vzn/vx 0.0.168 → 0.0.170
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.
|
|
3
|
+
"version": "0.0.170",
|
|
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.
|
|
21
|
-
"@vzn/vx-linux-arm64": "0.0.
|
|
22
|
-
"@vzn/vx-darwin-x64": "0.0.
|
|
23
|
-
"@vzn/vx-darwin-arm64": "0.0.
|
|
20
|
+
"@vzn/vx-linux-x64": "0.0.170",
|
|
21
|
+
"@vzn/vx-linux-arm64": "0.0.170",
|
|
22
|
+
"@vzn/vx-darwin-x64": "0.0.170",
|
|
23
|
+
"@vzn/vx-darwin-arm64": "0.0.170"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@anthropic-ai/sandbox-runtime": "^0.0.76"
|
|
@@ -346,6 +346,7 @@ export function validateProjectConfig(config: ProjectConfig, configPath: string)
|
|
|
346
346
|
// `VITE_*` passed nothing through and loaded clean (Turbo's
|
|
347
347
|
// passThroughEnv expands it), where `cache.inputs.env` refused the
|
|
348
348
|
// same text below: one refusal for the class (item 1090).
|
|
349
|
+
assertNoEnvNegation(passThrough as string[], `${where}.exec.env.passThrough`)
|
|
349
350
|
const wild = (passThrough as string[]).find((n) => BUN_GLOB_WILDCARDS.test(n))
|
|
350
351
|
if (wild !== undefined) {
|
|
351
352
|
throw new UserError(
|
|
@@ -364,6 +365,8 @@ export function validateProjectConfig(config: ProjectConfig, configPath: string)
|
|
|
364
365
|
`${where}.exec.env.secret must be an array of env var names (non-empty, no '=', NUL or wildcard)`,
|
|
365
366
|
)
|
|
366
367
|
}
|
|
368
|
+
if (secret !== undefined)
|
|
369
|
+
assertNoEnvNegation(secret as string[], `${where}.exec.env.secret`)
|
|
367
370
|
const define = (env as { define?: unknown }).define
|
|
368
371
|
if (define !== undefined) {
|
|
369
372
|
if (typeof define !== 'object' || define === null || Array.isArray(define)) {
|
|
@@ -485,6 +488,7 @@ export function validateProjectConfig(config: ProjectConfig, configPath: string)
|
|
|
485
488
|
`${where}.cache.inputs.env must be an array of env var names (non-empty, no '=' or NUL)`,
|
|
486
489
|
)
|
|
487
490
|
}
|
|
491
|
+
assertNoEnvNegation(envList as string[], `${where}.cache.inputs.env`)
|
|
488
492
|
for (const name of envList as string[]) {
|
|
489
493
|
// Reject wildcards explicitly so users don't silently miss
|
|
490
494
|
// env vars they thought they were tracking. Turbo supports
|
|
@@ -872,7 +876,21 @@ function assertNoForeignToken(glob: string, where: string): void {
|
|
|
872
876
|
/**
|
|
873
877
|
* `.`, `./`, `././` (with or without a `!`) name the directory itself, which
|
|
874
878
|
* no matcher expands: the entry selected nothing and said so nowhere.
|
|
875
|
-
* `./src
|
|
879
|
+
* `./src/**
|
|
880
|
+
* Turbo's `!NAME` takes a name back out of a wildcard (`env`,
|
|
881
|
+
* `passThroughEnv`). vx has no wildcards, so the entry was a variable
|
|
882
|
+
* named `!NAME`: nothing excluded, nothing said (D-53).
|
|
883
|
+
*/
|
|
884
|
+
function assertNoEnvNegation(names: readonly string[], where: string): void {
|
|
885
|
+
const neg = names.find((n) => n.startsWith('!'))
|
|
886
|
+
if (neg !== undefined) {
|
|
887
|
+
throw new UserError(
|
|
888
|
+
`${where}: "${neg}" is Turbo's exclusion from a wildcard — vx lists names explicitly, so leave ${neg.slice(1)} out`,
|
|
889
|
+
)
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
/**` is fine — the resolver strips the `./` (`normalizeGlob`).
|
|
876
894
|
*/
|
|
877
895
|
function namesDirItself(glob: string): boolean {
|
|
878
896
|
const g = normalizeGlob(glob.startsWith('!') ? glob.slice(1) : glob)
|