#!/bin/sh BRAVE_PORT=9222 HTTP_PORT=${1:-3000} brave-browser --new-window --user-data-dir=/tmp/brave-dev --remote-debugging-port=${BRAVE_PORT} & BRAVE_PID=$! echo "Wait 1 seconds, then go..." sleep 1 TAB_ID=$(curl -s http://localhost:${BRAVE_PORT}/json | jq -r '.[] | .id') echo "Got Tab ID: $TAB_ID" JS_NAV=$(cat < .tab-id echo "Open http://localhost:${HTTP_PORT}" echo $JS_NAV | websocat ws://localhost:${BRAVE_PORT}/devtools/page/${TAB_ID} > /dev/null python -m http.server $HTTP_PORT --directory build & PID_HTTP=$! sleep 1 if ! kill -0 $PID_HTTP 2>/dev/null; then echo "Failed to start HTTP server" exit 1 fi cleanup() { echo "Shutting down..." kill $PID_HTTP 2>/dev/null kill $BRAVE_PID 2>/dev/null exit 0 } trap cleanup SIGINT SIGTERM find src/ resources/ -name "*.clj" -o -name "*.edn" | entr -r make -j3 watch cleanup