#!/usr/bin/env bash # Build the waste desktop app (Wails + embedded React frontend). # # Prerequisites: # go install github.com/wailsapp/wails/v2/cmd/wails@latest # Node.js 20+ # # Usage: # ./build-app.sh # production build → bin/waste (or bin/waste.exe) # ./build-app.sh dev # dev mode (hot-reload; requires Vite dev server) set -euo pipefail MODE="${1:-build}" echo "==> Building web frontend..." (cd web && npm install --silent && npm run build) echo "==> Copying frontend dist into app package..." rm -rf cmd/app/frontend/dist cp -r web/dist cmd/app/frontend/dist if [ "$MODE" = "dev" ]; then echo "==> Starting Wails dev mode (start 'cd web && npm run dev' in another terminal)..." (cd cmd/app && wails dev) else echo "==> Running Wails build..." mkdir -p bin (cd cmd/app && wails build -o "$(pwd)/../../bin/waste") echo "==> Done: bin/waste" fi