#!/usr/bin/env bash set -euo pipefail cd $(dirname "$0")/.. if [ "$#" == 1 ]; then BOOK_DIR="$1" else echo "usage: $0 path-to-book-directory" exit 1 fi # Watch books BUILD_BOOKS_CMD="./bin/get-books $BOOK_DIR > public/books.js && echo public/books.js updated." watchexec \ --watch "$BOOK_DIR" \ -- "$BUILD_BOOKS_CMD" & # Watch TypeScript CHECK="echo Checking TypeScript… && tsc --checkJs" BUILD="esbuild --bundle src/main.ts --target=es2017 --outdir=public" watchexec \ --clear \ --watch src \ -- "$CHECK && $BUILD"