FROM node:22.13-alpine AS builder

# Enable corepack and install pnpm
RUN corepack enable && corepack prepare pnpm@10.18.3 --activate

# Disable interactive prompts
ENV CI=true

WORKDIR /app

# Copy package.json and pnpm-lock.yaml first for caching
COPY package.json pnpm-lock.yaml ./

# Install dependencies
RUN pnpm install --frozen-lockfile

# Copy the rest of the files
COPY . .

# Build the application
RUN pnpm build

FROM node:22.13-alpine AS runner

RUN corepack enable && corepack prepare pnpm@10.18.3 --activate

WORKDIR /app
COPY --from=builder /app ./

EXPOSE 3000

CMD ["pnpm", "start"]
