DEV Community

Cover image for See what a task really is
VX
VX

Posted on Edited on Originally published at vznjs.github.io

See what a task really is

A vx.config.ts is TypeScript. Presets compose, plugins add tasks, a
function can compute a command. So the file is not always the answer to
"what will this task do?". vx show is.

vx show @demo/web#build
Enter fullscreen mode Exit fullscreen mode

Every project, one line each

$ vx show
@demo/api   packages/api   2 tasks
@demo/docs  packages/docs  2 tasks
@demo/ui    packages/ui    2 tasks
@demo/web   packages/web   2 tasks
Enter fullscreen mode Exit fullscreen mode

One task, resolved

$ vx show @demo/web#build
@demo/web — packages/web

build
  command:       mkdir -p dist && sleep 0.3 && cp src/index.ts dist/index.js
  dependsOn:     ^build
  inputs.files:  src/**
  outputs.files: dist/**
Enter fullscreen mode Exit fullscreen mode

This is the config the cache key sees, not the source text. When a
preset sets outputs or a plugin rewrites a command, it shows here.

diagram

The same answer, for agents

--format json prints the object itself, so a script or an agent reads
the task without parsing text:

$ vx show @demo/web#build --format json
{
  "name": "@demo/web",
  "dir": "packages/web",
  "task": "build",
  "config": {
    "exec": { "command": "mkdir -p dist && sleep 0.3 && cp src/index.ts dist/index.js" },
    "dependsOn": ["^build"],
    "cache": {
      "inputs": { "files": ["src/**"] },
      "outputs": { "files": ["dist/**"] }
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

vx show --affected lists the projects a change reaches, without
running anything.

Learn more: the CLI reference and
vx show.


Originally published on the vx blog. vx is open-source (MIT) task orchestration with a build cache: vznjs.github.io/vx · GitHub.

Written with AI assistance.

Top comments (0)

Some comments may only be visible to logged-in visitors. Sign in to view all comments. Some comments have been hidden by the post's author - find out more