FROM php:8.4-cli

# Deps OS pour composer (git, unzip) + libonig pour mbstring
RUN apt-get update \
 && apt-get install -y --no-install-recommends git unzip libonig-dev \
 && docker-php-ext-install mbstring \
 && rm -rf /var/lib/apt/lists/*

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

WORKDIR /app

# Code + tests, puis install verrouillé (comme sur l'hôte : composer install -> pest)
COPY . .
RUN composer install --no-interaction --no-progress --prefer-dist

# Runner réel du package = Pest (les scripts host font "composer test" = pest)
CMD ["vendor/bin/pest"]
