first commit
This commit is contained in:
65
start_dev.sh
Executable file
65
start_dev.sh
Executable file
@@ -0,0 +1,65 @@
|
||||
#!/usr/bin/env sh
|
||||
set -eu
|
||||
ROOT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
||||
API_DIR="$ROOT_DIR/api"
|
||||
WEB_DIR="$ROOT_DIR/web"
|
||||
|
||||
ensure_install() {
|
||||
APP_DIR="$1"
|
||||
MARKER="$2"
|
||||
if [ ! -d "$APP_DIR/node_modules" ] || [ ! -e "$APP_DIR/$MARKER" ]; then
|
||||
rm -rf "$APP_DIR/node_modules"
|
||||
cd "$APP_DIR"
|
||||
npm install --workspaces=false
|
||||
fi
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
if [ -n "${API_PID:-}" ]; then kill "$API_PID" 2>/dev/null || true; fi
|
||||
if [ -n "${WEB_PID:-}" ]; then kill "$WEB_PID" 2>/dev/null || true; fi
|
||||
}
|
||||
|
||||
trap cleanup INT TERM EXIT
|
||||
mkdir -p "$API_DIR/data" "$API_DIR/uploads"
|
||||
ensure_install "$API_DIR" "node_modules/tsx/package.json"
|
||||
ensure_install "$WEB_DIR" "node_modules/@angular/cli/package.json"
|
||||
|
||||
if [ -x "$WEB_DIR/node_modules/.bin/ng" ]; then
|
||||
"$WEB_DIR/node_modules/.bin/ng" analytics disable --global >/dev/null 2>&1 || true
|
||||
fi
|
||||
|
||||
export NODE_ENV=development
|
||||
export CI=${CI:-true}
|
||||
export NG_CLI_ANALYTICS=${NG_CLI_ANALYTICS:-false}
|
||||
export APP_PORT=${APP_PORT:-4000}
|
||||
export WEB_PORT=${WEB_PORT:-4200}
|
||||
export DB_TYPE=${DB_TYPE:-sqlite}
|
||||
export DB_PATH=${DB_PATH:-$API_DIR/data/dev.sqlite}
|
||||
export DB_SYNC=${DB_SYNC:-true}
|
||||
export DB_LOGGING=${DB_LOGGING:-false}
|
||||
export JWT_SECRET=${JWT_SECRET:-dev-secret-key}
|
||||
export JWT_EXPIRES_IN=${JWT_EXPIRES_IN:-7d}
|
||||
export APP_NAME=${APP_NAME:-Expense Control Dev}
|
||||
export DEFAULT_CURRENCY=${DEFAULT_CURRENCY:-PLN}
|
||||
export ADMIN_EMAIL=${ADMIN_EMAIL:-admin@local.dev}
|
||||
export ADMIN_PASSWORD=${ADMIN_PASSWORD:-Admin123!}
|
||||
export UPLOAD_DIR=${UPLOAD_DIR:-$API_DIR/uploads}
|
||||
export MAX_UPLOAD_SIZE_MB=${MAX_UPLOAD_SIZE_MB:-10}
|
||||
export API_CORS_ORIGIN=${API_CORS_ORIGIN:-http://localhost:$WEB_PORT}
|
||||
|
||||
cd "$API_DIR"
|
||||
npm run dev &
|
||||
API_PID=$!
|
||||
|
||||
cd "$WEB_DIR"
|
||||
npm run start -- --host 0.0.0.0 --port "$WEB_PORT" &
|
||||
WEB_PID=$!
|
||||
|
||||
printf '\n%s\n' '============================================================'
|
||||
printf 'API: %s\n' "http://localhost:$APP_PORT/api"
|
||||
printf 'Frontend: %s\n' "http://localhost:$WEB_PORT"
|
||||
printf 'Admin DEV: %s\n' "$ADMIN_EMAIL"
|
||||
printf 'Hasło DEV: %s\n' "$ADMIN_PASSWORD"
|
||||
printf '%s\n\n' '============================================================'
|
||||
|
||||
wait "$API_PID" "$WEB_PID"
|
||||
Reference in New Issue
Block a user