# ============================================
# Development Dockerfile for Next.js hot-reload
# Used by: docker-compose.dev.yml, docker-compose.preview.yml
# ============================================

FROM node:20-alpine

# System dependencies (same as production base stage)
RUN apk add --no-cache libc6-compat wget curl git ca-certificates openssl \
    && rm -rf /var/cache/apk/* \
    && update-ca-certificates

WORKDIR /app

# Copy package files first for layer caching
COPY package.json package-lock.json* ./

# Install ALL dependencies (dev + prod) for development
RUN --mount=type=cache,target=/root/.npm \
    npm ci --legacy-peer-deps

# Copy source (will be overlaid by volume mounts at runtime)
COPY . .

# Environment
ENV NODE_ENV=development
ENV NEXT_TELEMETRY_DISABLED=1
ENV PORT=9000
ENV HOSTNAME=0.0.0.0

# Expose app + debugger ports
EXPOSE 9000 9229

# Start dev server
CMD ["npm", "run", "dev"]
