Autarch/scripts/build-hw-libs.sh

55 lines
1.4 KiB
Bash
Raw Permalink Normal View History

#!/bin/bash
# Build browser-ready bundles for AUTARCH hardware direct-mode libraries
# Run from project root: bash scripts/build-hw-libs.sh
#
# Requires: npm install (run once to install dependencies)
# Output: web/static/js/lib/*.js (committed to project, no node needed at runtime)
set -e
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
OUT_DIR="$PROJECT_DIR/web/static/js/lib"
mkdir -p "$OUT_DIR"
echo "Building hardware library bundles..."
echo "Output: $OUT_DIR"
# ADB bundle (ya-webadb / Tango)
echo " [1/3] Building adb-bundle.js..."
npx esbuild "$PROJECT_DIR/src/adb-entry.js" \
--bundle \
--format=iife \
--global-name=YumeAdb \
--platform=browser \
--target=chrome89 \
--outfile="$OUT_DIR/adb-bundle.js" \
--minify
# Fastboot bundle
echo " [2/3] Building fastboot-bundle.js..."
npx esbuild "$PROJECT_DIR/src/fastboot-entry.js" \
--bundle \
--format=iife \
--global-name=Fastboot \
--platform=browser \
--target=chrome89 \
--outfile="$OUT_DIR/fastboot-bundle.js" \
--minify
# ESP32 bundle (esptool-js)
echo " [3/3] Building esptool-bundle.js..."
npx esbuild "$PROJECT_DIR/src/esptool-entry.js" \
--bundle \
--format=iife \
--global-name=EspTool \
--platform=browser \
--target=chrome89 \
--outfile="$OUT_DIR/esptool-bundle.js" \
--minify
echo ""
echo "Build complete:"
ls -lh "$OUT_DIR"/*.js