diff --git a/apps/api/Dockerfile b/apps/api/Dockerfile index 19995b6..06f5417 100644 --- a/apps/api/Dockerfile +++ b/apps/api/Dockerfile @@ -39,14 +39,9 @@ COPY --from=deps /app/apps/api/node_modules ./apps/api/node_modules COPY packages ./packages COPY apps/api ./apps/api -# Set working directory to API app -WORKDIR /app/apps/api - -# Generate Prisma client -RUN pnpm prisma:generate - -# Build the application -RUN pnpm build +# Build the API app and its dependencies using TurboRepo +# This ensures @mosaic/shared is built first, then prisma:generate, then the API +RUN pnpm turbo build --filter=@mosaic/api # ====================== # Production stage diff --git a/apps/web/Dockerfile b/apps/web/Dockerfile index 8b8b9c2..71fd794 100644 --- a/apps/web/Dockerfile +++ b/apps/web/Dockerfile @@ -39,15 +39,13 @@ COPY --from=deps /app/apps/web/node_modules ./apps/web/node_modules COPY packages ./packages COPY apps/web ./apps/web -# Set working directory to web app -WORKDIR /app/apps/web - # Build arguments for Next.js ARG NEXT_PUBLIC_API_URL ENV NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL} -# Build the application -RUN pnpm build +# Build the web app and its dependencies using TurboRepo +# This ensures @mosaic/shared and @mosaic/ui are built first +RUN pnpm turbo build --filter=@mosaic/web # ====================== # Production stage