#!/bin/bash # Usage: # ./run # Runs the full web app # ./run test # Runs the testing suite set -euo pipefail SCRIPT_DIR="$(builtin cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)" # Set directory to serve static content from SUBDIR="${1:-app}" export APP_ROOT="$SCRIPT_DIR/$SUBDIR" export STATIC_FOLDER="$APP_ROOT/static" # Clear out build directory rm -f "$SCRIPT_DIR"/app/static/build/*.js rm -f "$SCRIPT_DIR"/app/static/build/*.css # Check for regular vs test run if [[ "$SUBDIR" == "test" ]]; then # Set up static files for testing rm -rf "$STATIC_FOLDER" ln -s "$SCRIPT_DIR/app/static" "$STATIC_FOLDER" pytest -sv else mkdir -p "$STATIC_FOLDER" python3 -um app \ --host "${ADDRESS:-0.0.0.0}" \ --port "${PORT:-"${EXPOSE_PORT:-5000}"}" fi