Skip to content
vxvx
GitHubBlueskydev.toRSS

Say what a task needs

One short syntax for upstream, cross-project and pattern edges.

dependsOn edges: upstream, local, cross-project.

^build means every workspace dependency’s build first. build alone is this project’s. @demo/api#build names another project’s task, and lint.* matches every task whose name starts that way.

The edges are checked as you type in a typed config, and an edge that matches nothing is an error, not a silent no-op.

// config

// packages/web/vx.config.ts
import { defineProject } from '@vzn/vx/config'

export default defineProject({
  tasks: {
    build: { exec: { command: 'vite build' }, dependsOn: ['^build'] },
    test: { exec: { command: 'vitest run' }, dependsOn: ['build'] },
    e2e: { exec: { command: 'playwright test' }, dependsOn: ['@demo/api#build'] },
  },
})
Turborepo, Nx and other product names are trademarks of their owners. vx is not affiliated with or endorsed by them.