diff --git a/Dockerfile b/Dockerfile index c2a0e8ae..a1113742 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,6 +14,28 @@ RUN composer install --no-dev --no-scripts --no-autoloader --prefer-dist --ignor # --- +# Stage to generate Symfony translations needed for webpack +FROM composer:latest AS translations + +WORKDIR /build + +# Copy composer dependencies and application files +COPY --from=composer-deps /build/vendor ./vendor +COPY composer.json composer.lock symfony.lock ./ +COPY bin ./bin +COPY config ./config +COPY public ./public +COPY src ./src +COPY templates ./templates +COPY translations ./translations + +# Generate autoloader and dump translations +RUN composer dump-autoload --no-dev --classmap-authoritative && \ + php bin/console cache:clear --no-warmup && \ + php bin/console cache:warmup + +# --- + FROM node:22-bookworm-slim AS assets WORKDIR /build @@ -21,6 +43,9 @@ WORKDIR /build # Copy vendor directory from composer stage (needed for Symfony UX packages) COPY --from=composer-deps /build/vendor ./vendor +# Copy generated translations from Symfony +COPY --from=translations /build/var/translations ./var/translations + # Copy package files COPY package.json yarn.lock webpack.config.js ./ COPY assets ./assets diff --git a/Dockerfile-frankenphp b/Dockerfile-frankenphp index f558c539..d043ccca 100644 --- a/Dockerfile-frankenphp +++ b/Dockerfile-frankenphp @@ -11,6 +11,28 @@ RUN composer install --no-dev --no-scripts --no-autoloader --prefer-dist --ignor # --- +# Stage to generate Symfony translations needed for webpack +FROM composer:latest AS translations + +WORKDIR /build + +# Copy composer dependencies and application files +COPY --from=composer-deps /build/vendor ./vendor +COPY composer.json composer.lock symfony.lock ./ +COPY bin ./bin +COPY config ./config +COPY public ./public +COPY src ./src +COPY templates ./templates +COPY translations ./translations + +# Generate autoloader and dump translations +RUN composer dump-autoload --no-dev --classmap-authoritative && \ + php bin/console cache:clear --no-warmup && \ + php bin/console cache:warmup + +# --- + FROM node:22-bookworm-slim AS assets WORKDIR /build @@ -18,6 +40,9 @@ WORKDIR /build # Copy vendor directory from composer stage (needed for Symfony UX packages) COPY --from=composer-deps /build/vendor ./vendor +# Copy generated translations from Symfony +COPY --from=translations /build/var/translations ./var/translations + # Copy package files COPY package.json yarn.lock webpack.config.js ./ COPY assets ./assets