31 lines
893 B
Bash
31 lines
893 B
Bash
|
|
#!/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
|