@vzn/vx 0.0.184 → 0.0.186

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/config.ts +11 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vzn/vx",
3
- "version": "0.0.184",
3
+ "version": "0.0.186",
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.184",
21
- "@vzn/vx-linux-arm64": "0.0.184",
22
- "@vzn/vx-darwin-x64": "0.0.184",
23
- "@vzn/vx-darwin-arm64": "0.0.184"
20
+ "@vzn/vx-linux-x64": "0.0.186",
21
+ "@vzn/vx-linux-arm64": "0.0.186",
22
+ "@vzn/vx-darwin-x64": "0.0.186",
23
+ "@vzn/vx-darwin-arm64": "0.0.186"
24
24
  },
25
25
  "dependencies": {
26
26
  "@anthropic-ai/sandbox-runtime": "^0.0.76"
package/src/config.ts CHANGED
@@ -534,7 +534,8 @@ type DependsOnEntry<K extends string> =
534
534
  * The keys of `T` that `Shape` does not declare, typed `never`. A generic
535
535
  * argument skips TypeScript's excess-property check, so a Turbo-shaped
536
536
  * `outputs` on a task, or `cwd` in `exec`, type-checked and failed only
537
- * when vx loaded the config (D-69); `never` puts the error on that line.
537
+ * when vx loaded the config (D-69), as did a typo beside a known key in
538
+ * `defineWorkspace` (D-70); `never` puts the error on that line.
538
539
  */
539
540
  type Known<T, Shape> = { [P in keyof T]: P extends keyof Shape ? unknown : never }
540
541
 
@@ -566,6 +567,14 @@ export function defineProject<const T extends ProjectConfig>(
566
567
  return config as T
567
568
  }
568
569
 
569
- export function defineWorkspace<T extends WorkspaceConfig>(config: T): T {
570
+ export function defineWorkspace<T extends WorkspaceConfig>(
571
+ config: T &
572
+ Known<T, WorkspaceConfig> & {
573
+ cacheRetention?: Known<
574
+ At<T, 'cacheRetention'>,
575
+ NonNullable<WorkspaceConfig['cacheRetention']>
576
+ >
577
+ },
578
+ ): T {
570
579
  return config
571
580
  }