Spaces:
Configuration error
Configuration error
| set -euo pipefail | |
| on_error() { | |
| echo "A2UI bundling failed. Re-run with: pnpm canvas:a2ui:bundle" >&2 | |
| echo "If this persists, verify pnpm deps and try again." >&2 | |
| } | |
| trap on_error ERR | |
| ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" | |
| HASH_FILE="$ROOT_DIR/src/canvas-host/a2ui/.bundle.hash" | |
| OUTPUT_FILE="$ROOT_DIR/src/canvas-host/a2ui/a2ui.bundle.js" | |
| INPUT_PATHS=( | |
| "$ROOT_DIR/package.json" | |
| "$ROOT_DIR/pnpm-lock.yaml" | |
| "$ROOT_DIR/vendor/a2ui/renderers/lit" | |
| "$ROOT_DIR/apps/shared/ClawdbotKit/Tools/CanvasA2UI" | |
| ) | |
| collect_files() { | |
| local path | |
| for path in "${INPUT_PATHS[@]}"; do | |
| if [[ -d "$path" ]]; then | |
| find "$path" -type f -print0 | |
| else | |
| printf '%s\0' "$path" | |
| fi | |
| done | |
| } | |
| compute_hash() { | |
| collect_files \ | |
| | LC_ALL=C sort -z \ | |
| | xargs -0 shasum -a 256 \ | |
| | shasum -a 256 \ | |
| | awk '{print $1}' | |
| } | |
| current_hash="$(compute_hash)" | |
| if [[ -f "$HASH_FILE" ]]; then | |
| previous_hash="$(cat "$HASH_FILE")" | |
| if [[ "$previous_hash" == "$current_hash" && -f "$OUTPUT_FILE" ]]; then | |
| echo "A2UI bundle up to date; skipping." | |
| exit 0 | |
| fi | |
| fi | |
| pnpm -s exec tsc -p vendor/a2ui/renderers/lit/tsconfig.json | |
| rolldown -c apps/shared/ClawdbotKit/Tools/CanvasA2UI/rolldown.config.mjs | |
| echo "$current_hash" > "$HASH_FILE" | |