Skip to content

Running your checkout ​

Three things are called dqx, they all print the same version, and only one of them is running at a time. That is where an afternoon goes: an edit that "does nothing" is usually an edit to a checkout while the shell is running the release.

Ask, at any point:

bash
dqx version --where
1.0.0
running: /Users/dev/dockers/dq-tools-next/dist/dqx  (a build of a checkout)
`bun run build` updates it. `bun run link:dev` runs the sources instead
back to the release: `bun run link:release`

The three, and how to switch ​

what runswhen to use it
bun run linkdist/dqx, the compiled checkoutwhat a colleague will get — the compiled path, embedded assets and all
bun run link:devsrc/cli.ts, through bunworking on it: an edit is live, nothing to rebuild
bun run link:releasethe installed releasechecking whether a bug is yours or was already there

All three put dqx in the first writable directory on your PATH — ~/.local/bin on most machines, the same place install.sh uses.

Your installed release is not thrown away. The first bun run link moves it aside as dqx-released and bun run link:release puts it back, so switching costs nothing and needs no network. If there is nothing to put back, the installer says so and prints the curl line.

Which one is a colleague running?

dqx version --where answers that too, and is worth asking before believing a bug report. A release older than this feature answers unknown option '--where', which is its own kind of answer.

While you work ​

bash
bun run link:dev      # once
bun test --watch      # the loop
bun run test:gate     # what CI runs: build, tests, and the coverage gate

bun run dev -- <args> runs the sources once without linking anything, for when you only want to see what one command does.

dqx v1.1.0