node-worker's prepare-node.js ends by running the Rust crate's build.sh, which
wants cargo and a wasm-bindgen CLI matching the crate version exactly. The
runner has cargo but not wasm-bindgen, so the build died an hour in, after the
emsdk and Node work was already paid for. Set up ahead of that build, with the
version read out of build.sh so it cannot drift.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
node-worker stays a `link:../node-worker` sibling: its dist is built rather than
published and it has no prepare script, so a git dependency would install the
sources and leave dist empty. CI puts it beside the checkout instead, and
`pnpm link:node-worker` clones it for anyone who has only this repo.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Deploying at /labs/node/ while keeping a deployment on / needs asset URLs that
are not rooted at /. `base: "./"` makes Vite emit them from import.meta.url, and
`appUrl` covers the template fetches it cannot see. Requires a trailing slash on
the URL the page is served at.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>