mirror of
https://github.com/HeyPuter/browser.js.git
synced 2026-11-13 18:33:58 -10:00
1.2 KiB
1.2 KiB
Development Setup
Node.js 22.18+ and pnpm are required. Everything else goes through ./cv
(.\cv.ps1 on Windows, or pnpm cv), which installs dependencies, fetches
dreamland at its pinned commit, builds the rust rewriter and only rebuilds what
changed.
./cv chrome # browser.js dev server (chrome + wisp + isolation zone + rspack watch)
./cv dev # scramjet's own dev server (demo page)
./cv build # build everything
./cv build chrome # just the frontend and what it needs
./cv build wasm # just the rust rewriter
./cv test # runway tests (args are forwarded, e.g. --headed, --parallel 4)
./cv npm # release build + pnpm pack of every published package
./cv # help, including every target and command
The rewriter needs rust nightly plus wasm-bindgen-cli, wasm-opt and
wasm-snip; if cargo is installed, cv offers to install the rest for you
(--yes skips the prompt).
Useful flags: --why explains why a task runs, --dry shows the plan,
--force ignores the change tracking. Each package declares its tasks in a
cv.ts next to its package.json; the runner lives in
packages/scramjet/packages/cv.