ARG NODE_VERSION
ARG CADDY_VERSION

# --- BUILD ---
FROM node:${NODE_VERSION}-alpine AS build
RUN corepack enable && corepack prepare pnpm@latest --activate

ENV ASTRO_TELEMETRY_DISABLED=1

WORKDIR /app

# Copy depedencies
COPY package.json pnpm-lock.yaml ./

# Install pnpm with cache
RUN --mount=type=cache,id=pnpm,target=/pnpm/store \
    PNPM_HOME="/pnpm" pnpm install --frozen-lockfile

# Copy all
COPY . .

# Check files
RUN pnpm run lint
RUN pnpm run check

# Build
RUN pnpm build

# --- DEPLOY ---
FROM caddy:${CADDY_VERSION}-alpine
COPY --from=build /app/dist /usr/share/caddy
COPY Caddyfile /etc/caddy/Caddyfile

EXPOSE 80