build: fmt rust-build wasm-build js-build all: clean fmt build docs-build # rust-test rsync -ha ./web-frontend/build/ build/ du -shc build/* | sort -h rust-test: cargo test --all cargo fmt --all --check rust-build: cargo build --all wasm-build: wasm-pack build --target web xpin-wasm wordlist-build: . wordlist/venv/bin/activate && cd wordlist && for i in *.py; do "./${i}"; done js-build: wasm-build docs-build # mkdir -p ./web-frontend/static/docs/ # rsync -ha ./build/docs/ ./web-frontend/static/docs/ yarn --cwd ./web-frontend/ build clean: rm -vrf build docs-build: earthly +docs cargo doc --all # TODO: Clippy rust-watch: cargo watch -x fmt -x check -x build js-dev: yarn --cwd ./web-frontend/ dev fmt: # just --fmt --unstable cargo fmt --all yarn --cwd ./web-frontend/ format serve: http-server --verbose ./web-frontend/build/ init: yarn --cwd ./web-frontend/ cargo fetch cargo install wasm-pack if [ ! -d "wordlist/venv" ]; then python3 -m virtualenv wordlist/venv -p "$(which python3)"; fi; export OSTYPE=linux-gnu && . wordlist/venv/bin/activate export OSTYPE=linux-gnu && . wordlist/venv/bin/activate && pip install -r wordlist/requirements.txt && python -c 'import nltk; nltk.download('wordnet')'