voxal dev
Run your app locally in your terminal with reload on save
voxal dev runs your app against your own terminal and reloads it on every save. No server,
no deploy, and no login required. It is the fastest way to iterate.
voxal dev [dir]dir defaults to the current directory. The entry file comes from voxal.json (the main
field, default app.js).
What it does
- Reads
voxal.jsonfor the entry file. - Requires an interactive terminal (a TTY) on both stdin and stdout. It errors if either is piped.
- Builds the bundle once, then renders the app in your terminal: your keystrokes become
onKeyevents, resizing the window firesonResize, andconn.writepaints the screen. - Watches the entry's directory. Saving a file that matches
/\.(jsx?|tsx?|json)$/triggers a debounced rebuild and reloads the app.
If a rebuild fails, the last good app stays on screen and the error is printed below it. Fix the code and save again.
Controls
Ctrl-Cis forwarded to the app, so your app can handle it.- Press
Ctrl-Ctwice in a row to force-quit dev.
dev is not the production sandbox
voxal dev runs your app locally with Node, as a convenience for previewing. Its network is
your machine's network, with none of the production restrictions. Production runs your app in
a hardened sandbox with strict outbound rules, so do not rely on dev behavior for security
testing. See Security.
The production fetch is host-bridged and guarded, so an endpoint that works in
dev may be blocked in production if it resolves to a private or internal address.