#!/usr/bin/env bash # Serve the appview canvas on a local port. # # Static files and nothing else, because the page has no build step — which is # also why Python's server is used rather than anything installed. # # The page itself connects to the query service on 3003 and shows what is # there. With nothing behind it the badge says so and the canvas stays empty; # `dev/#mock` opens it on an invented population instead. set -euo pipefail cd "$(dirname "$0")/.." . "$(dirname "$0")/dev-watch.sh" cd web PORT="${VIBESCROBBLE_WEB_PORT:-8137}" # `--watch` reruns this script whenever the source moves. It never returns. # The canvas has no build step, so watching it only matters for the banner — # the page itself is reloaded by the browser. watch_or_continue "$@" printf '\033[1m%s\033[0m\n' "appview canvas on http://localhost:${PORT}/" echo " reads the query service on ${VIBESCROBBLE_QUERY_PORT:-3003}" echo " http://localhost:${PORT}/dev/#mock for an invented population instead" echo exec python3 -m http.server "${PORT}" --bind 127.0.0.1