#!/usr/bin/env bash
set -euo pipefail

ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
APP="$ROOT/laravel-app"

rm -rf "$APP"

docker run --rm \
  -u "$(id -u):$(id -g)" \
  -v "$ROOT:/workspace" \
  -w /workspace \
  composer:2 \
  create-project laravel/laravel:^13.0 laravel-app

cp -a "$ROOT/laravel-overlay/." "$APP/"

python3 "$ROOT/scripts/merge_composer_requirements.py" "$APP/composer.json" "$ROOT/laravel-overlay/composer.vtu.json"

docker run --rm \
  -u "$(id -u):$(id -g)" \
  -v "$APP:/app" \
  -w /app \
  composer:2 \
  composer update --no-interaction --prefer-dist

cp "$ROOT/tests/.env.testing" "$APP/.env.testing"

echo "Laravel test application created at: $APP"
