61 lines
1.9 KiB
Makefile
61 lines
1.9 KiB
Makefile
# Rust test needs to be built after because the web crate depends on js-build
|
|
build: fmt js-build rust-build rust-test
|
|
|
|
push:
|
|
podman push gitea.austen-wares.com/public/xpin-server
|
|
|
|
rust-test:
|
|
cargo test --all
|
|
cargo fmt --all --check
|
|
|
|
rust-build: output-clean js-build
|
|
cargo build --all
|
|
cargo build -p web --release --target x86_64-unknown-linux-musl
|
|
earthly +rust-image
|
|
|
|
wasm-build:
|
|
wasm-pack build --target web xpin-wasm
|
|
# wasm2js xpin-wasm/pkg/xpin_wasm_bg.wasm -o xpin-wasm/pkg/xpin_wasm_bg.wasm.js
|
|
# sed -i 's/xpin_wasm_bg.wasm/xpin_wasm_bg.wasm.js/' xpin-wasm/pkg/wasm2js.js xpin-wasm/pkg/wasm2js_bg.js
|
|
|
|
wordlist-build:
|
|
. wordlist/venv/bin/activate && cd wordlist && for i in *.py; do "./${i}"; done
|
|
|
|
js-build: output-clean wasm-build docs-build
|
|
for f in "${PWD}/web-frontend/src/lib/docs/"*.html; do ./web-frontend/node_modules/.bin/inliner "${f}" >"${f}-2" && mv -v -- "${f}-2" "${f}"; done
|
|
yarn --cwd ./web-frontend/ build
|
|
rsync -ha ./web-frontend/build/ ./build/
|
|
|
|
output-clean:
|
|
rm -vrf ./build/ ./web-frontend/build/ ./web-frontend/src/lib/docs/
|
|
mkdir -p ./build/ ./web-frontend/src/lib/docs/
|
|
|
|
docs-build: output-clean
|
|
earthly +docs
|
|
rsync --stats -ha ./build/docs/ ./web-frontend/src/lib/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
|
|
|
|
init-python:
|
|
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')'
|