46 lines
1.4 KiB
Bash
Executable File
46 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd -P)
|
|
# shellcheck source=process-lib.sh
|
|
source "$ROOT/tools/process-lib.sh"
|
|
|
|
remove_exact() {
|
|
local path=$1
|
|
if [[ -e "$path" ]]; then
|
|
rm -f -- "$path"
|
|
printf 'Removed %s\n' "${path#"$ROOT/"}"
|
|
fi
|
|
}
|
|
|
|
remove_local_manifest() {
|
|
local path=$1
|
|
[[ -e "$path" ]] || return 0
|
|
if node -e 'const fs=require("fs"); const value=JSON.parse(fs.readFileSync(process.argv[1],"utf8")); process.exit(value && value.network === "anvil" && value.chainId === 31337 ? 0 : 1)' "$path" 2>/dev/null; then
|
|
remove_exact "$path"
|
|
else
|
|
printf 'Preserved non-local or invalid manifest %s\n' "${path#"$ROOT/"}"
|
|
fi
|
|
}
|
|
|
|
demo_stop_recorded "$ROOT" vite
|
|
demo_stop_recorded "$ROOT" anvil
|
|
|
|
remove_exact "$ROOT/.demo/anvil.pid"
|
|
remove_exact "$ROOT/.demo/anvil.start"
|
|
remove_exact "$ROOT/.demo/anvil.pgid"
|
|
remove_exact "$ROOT/.demo/anvil.log"
|
|
remove_exact "$ROOT/.demo/vite.pid"
|
|
remove_exact "$ROOT/.demo/vite.start"
|
|
remove_exact "$ROOT/.demo/vite.pgid"
|
|
remove_exact "$ROOT/.demo/vite.log"
|
|
|
|
remove_local_manifest "$ROOT/deployments/pending.json"
|
|
remove_local_manifest "$ROOT/deployments/anvil.json"
|
|
remove_local_manifest "$ROOT/deployments/active.json"
|
|
remove_local_manifest "$ROOT/web/public/deployment.json"
|
|
remove_exact "$ROOT/web/src/generated/contracts.ts"
|
|
|
|
rmdir -- "$ROOT/.demo" 2>/dev/null || true
|
|
printf '%s\n' 'Local generated state is reproducible with make demo-local.'
|