Assuming a fresh install (no node, no rust)
- Clone the repo.
cd
into repo- Install nvm, close and reopen terminal after install.
- Run
nvm install --lts
- To verify install run
node -v
// should output something similar to
v16.13.0
- This monorepo uses yarn workspaces under the hood. Install
yarn
by running
npm i -g yarn
- Install rustup + rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
// follow installation prompts, close and reopen terminal after install.
- Install wasm-pack
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
- If in Ubuntu or similar, you need to install a CC linker (you might already have it if you've run sudo apt-get update before), run
sudo apt-get update
sudo apt install build-essential
- Yarn needs rust to be built at least once so it can cross reference dependencies in the monorepo. Run in the
packages/rust
directory
cd packages/rust
# build WebAssembly and Javascript wrappers using wasm-pack
# don't panic, this might take a few seconds
wasm-pack build --target web
# Then initialize yarn in the rust directory
yarn
# go back to the monorepo root directory
cd ../..
- Install node dependencies, run
yarn
- Install cargo watch
cargo install cargo-watch
- To start the development server, run
yarn dev
- Enjoy! Got some feedback? Open an issue, or better yet, a PR. If you like this template, please star this repo.
This needs to work with a regular CI (ie: vercel/netlify/github pages). Will create a guide for this if there is enough demand for it.
If this gets enough attention, and there demand for it, I will create a template for sveltekit, and potentially for vue and react.