this_algorithm/justfile
2023-03-06 22:58:22 -05:00

53 lines
1.3 KiB
Makefile

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')'