Live location tracking and playback for the game "manhunt"
1_default:
2 @just --list --unsorted --justfile {{ justfile() }}
3
4# Perform setup for the frontend using `npm`
5[working-directory('frontend')]
6setup-frontend:
7 npm install --no-fund --no-audit
8
9# Run locally
10dev:
11 cargo tauri dev
12
13# Start a frontend server *ON ALL INTERFACES!!!!*
14[working-directory('frontend')]
15dev-front:
16 HOST_OVERRIDE="0.0.0.0" npm run dev
17
18# Start a webview window *without* running the frontend, only one frontend needs to run at once
19dev-window:
20 cargo run -p manhunt-app
21
22# Format everything
23fmt:
24 cargo fmt
25 prettier --write . --cache --cache-location .prettiercache --log-level warn
26 just --fmt --unstable
27
28# Connect and run on an Android VM/Physical device
29dev-android:
30 cargo tauri android dev
31
32# Run a check on the backend
33check-rust:
34 cargo fmt --check
35 cargo check
36 cargo clippy --fix --allow-dirty --allow-staged -- -D warnings
37 cargo nextest run
38
39# Run lint on the frontend
40[working-directory('frontend')]
41check-frontend:
42 npm run lint
43
44# Export types from the backend to TypeScript bindings
45export-types:
46 cargo run --bin export-types frontend/src/bindings.ts
47 prettier --write frontend/src/bindings.ts --config .prettierrc.yaml
48
49# Start the signaling server on localhost:3536
50[working-directory('manhunt-signaling')]
51signaling:
52 cargo run 0.0.0.0:3536