@vzn/vx 0.0.269 → 0.0.270

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.269",
3
+ "version": "0.0.270",
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.269",
21
- "@vzn/vx-linux-arm64": "0.0.269",
22
- "@vzn/vx-darwin-x64": "0.0.269",
23
- "@vzn/vx-darwin-arm64": "0.0.269"
20
+ "@vzn/vx-linux-x64": "0.0.270",
21
+ "@vzn/vx-linux-arm64": "0.0.270",
22
+ "@vzn/vx-darwin-x64": "0.0.270",
23
+ "@vzn/vx-darwin-arm64": "0.0.270"
24
24
  },
25
25
  "dependencies": {
26
26
  "@anthropic-ai/sandbox-runtime": "^0.0.76"
@@ -216,9 +216,17 @@ export async function prepareRun(options: RunOptions, log: Logger): Promise<Prep
216
216
  // across the whole workspace — but when EVERY spec is anchored, the
217
217
  // anchors alone are the scope and nothing else needs its config
218
218
  // evaluated.
219
+ // `vx run //#lint` is Turbo's `turbo run //#lint`: the root project's
220
+ // task, the root named by its package.json name here (D-39).
221
+ const root = path.resolve(workspaceRoot)
222
+ const rootName = projectMetas.find((m) => path.resolve(m.dir) === root)?.name
223
+ const tasks =
224
+ rootName === undefined
225
+ ? options.tasks
226
+ : options.tasks.map((t) => (t.startsWith('//#') ? `${rootName}#${t.slice(3)}` : t))
219
227
  const anchored: string[] = []
220
228
  let hasBare = false
221
- for (const spec of options.tasks) {
229
+ for (const spec of tasks) {
222
230
  const hashIdx = spec.indexOf('#')
223
231
  if (hashIdx > 0) anchored.push(spec.slice(0, hashIdx))
224
232
  else hasBare = true
@@ -305,8 +313,8 @@ export async function prepareRun(options: RunOptions, log: Logger): Promise<Prep
305
313
  ? options.projects.filter((p) => projects.has(p))
306
314
  : [...projects.keys()]
307
315
 
308
- const requested = expandRequested(options.tasks, candidateProjects, projects)
309
- let unresolvedTasks = unresolvedRequests(options.tasks, candidateProjects, projects)
316
+ const requested = expandRequested(tasks, candidateProjects, projects)
317
+ let unresolvedTasks = unresolvedRequests(tasks, candidateProjects, projects)
310
318
  if (options.selectedByDiff === true && unresolvedTasks.some((t) => !t.includes('#'))) {
311
319
  // A name a loaded project declares is no typo, whether or not the load
312
320
  // was whole: an unaffected dependency loaded for the closure declared