- expand scripts/watch-kraiken-lib.sh to watch atomic rename events, validate required tools, and gracefully restart only the containers that mount kraiken- lib/dist - verify the host-built dist is mounted read-only inside each service and observe live rebuild + restart behavior under inotify - run the local podman stack, exercise the watcher by editing kraiken-lib/src/helpers.ts, and confirm GraphQL responds through Caddy after restarts resolves #33 Co-authored-by: openhands <openhands@all-hands.dev> Co-authored-by: johba <johba@harb.eth> Reviewed-on: https://codeberg.org/johba/harb/pulls/38
40 lines
1.4 KiB
Bash
Executable file
40 lines
1.4 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR=/workspace
|
|
CONTRACT_ENV=$ROOT_DIR/tmp/podman/contracts.env
|
|
APP_DIR=$ROOT_DIR/web-app
|
|
SWAP_ROUTER=0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4
|
|
|
|
while [[ ! -f "$CONTRACT_ENV" ]]; do
|
|
echo "[frontend-entrypoint] waiting for contracts env"
|
|
sleep 2
|
|
done
|
|
|
|
REQUIRED_DIST="$ROOT_DIR/kraiken-lib/dist/index.js"
|
|
if [[ ! -f "$REQUIRED_DIST" ]]; then
|
|
echo "[frontend-entrypoint] ERROR: Run ./scripts/build-kraiken-lib.sh before starting containers" >&2
|
|
exit 1
|
|
fi
|
|
|
|
# shellcheck disable=SC1090
|
|
source "$CONTRACT_ENV"
|
|
|
|
cd "$APP_DIR"
|
|
echo "[frontend-entrypoint] Installing dependencies..."
|
|
npm install --no-save --loglevel error 2>&1 || {
|
|
echo "[frontend-entrypoint] npm install failed, trying with --force"
|
|
npm install --force --no-save --loglevel error
|
|
}
|
|
|
|
export VITE_DEFAULT_CHAIN_ID=${VITE_DEFAULT_CHAIN_ID:-31337}
|
|
export VITE_LOCAL_RPC_URL=${VITE_LOCAL_RPC_URL:-/app/rpc/anvil}
|
|
export VITE_LOCAL_RPC_PROXY_TARGET=${VITE_LOCAL_RPC_PROXY_TARGET:-http://anvil:8545}
|
|
export VITE_KRAIKEN_ADDRESS=$KRAIKEN
|
|
export VITE_STAKE_ADDRESS=$STAKE
|
|
export VITE_SWAP_ROUTER=$SWAP_ROUTER
|
|
export VITE_PONDER_BASE_SEPOLIA_LOCAL_FORK=${VITE_PONDER_BASE_SEPOLIA_LOCAL_FORK:-/app/graphql}
|
|
export VITE_TXNBOT_BASE_SEPOLIA_LOCAL_FORK=${VITE_TXNBOT_BASE_SEPOLIA_LOCAL_FORK:-/app/txn}
|
|
export CHOKIDAR_USEPOLLING=${CHOKIDAR_USEPOLLING:-1}
|
|
|
|
exec npm run dev -- --host 0.0.0.0 --port 5173 --base /app/
|