# ---- Базовый образ с Bun ---- FROM oven/bun:1 AS base WORKDIR /app # ---- Установка зависимостей ---- FROM base AS deps COPY . . RUN bun install # ---- Исправление tsconfig (если нужно) ---- # Иногда TypeScript не видит локальный пакет @pascal/typescript-config # Временно заменяем extends на относительный путь RUN sed -i 's|"extends": "@pascal/typescript-config/react-library.json"|"extends": "../../typescript-config/react-library.json"|g' packages/core/tsconfig.json || true # Устанавливаем типы Bun (если их нет в package.json) RUN bun add -d @types/bun || true # ---- Сборка проекта ---- FROM base AS builder WORKDIR /app COPY --from=deps /app/node_modules ./node_modules COPY . . # Сборка через Turbo RUN bun run build # ---- Продакшен образ ---- FROM node:20-alpine AS runner WORKDIR /app ENV NODE_ENV=production ENV PORT=3002 # Копируем собранное приложение и необходимые файлы COPY --from=builder /app/apps/editor/.next /app/apps/editor/.next COPY --from=builder /app/apps/editor/public /app/apps/editor/public COPY --from=builder /app/apps/editor/package.json /app/apps/editor/package.json COPY --from=builder /app/node_modules /app/node_modules COPY --from=builder /app/package.json /app/package.json WORKDIR /app/apps/editor EXPOSE 3002 CMD ["npx", "next", "start"]