FROM dunglas/frankenphp:php8.4

RUN apt-get update && apt-get install -y --no-install-recommends git unzip && rm -rf /var/lib/apt/lists/*

RUN install-php-extensions intl pdo_sqlite zip

COPY --from=composer:2 /usr/bin/composer /usr/bin/composer

WORKDIR /app

# Copy dep manifests first — only reinstalls when these change
COPY app/composer.json app/composer.lock ./
RUN composer install --no-interaction --prefer-dist --no-dev --no-scripts

# Copy source and refresh autoloader with actual class paths
COPY app/ ./
RUN composer dump-autoload --optimize --no-dev

EXPOSE 80
