# syntax=docker/dockerfile:1.7
# 개발용 — vite dev 서버 (HMR + polling). 프로덕션 빌드는 Dockerfile 사용.

FROM node:20-alpine

WORKDIR /app

# 의존성 설치 (lockfile 우선)
COPY package.json package-lock.json* pnpm-lock.yaml* yarn.lock* ./
RUN \
  if [ -f pnpm-lock.yaml ]; then corepack enable && pnpm i --frozen-lockfile; \
  elif [ -f yarn.lock ]; then corepack enable && yarn install --frozen-lockfile; \
  elif [ -f package-lock.json ]; then npm ci; \
  else npm install; fi

# 소스는 docker-compose에서 volume으로 마운트되므로 여기선 안 복사
EXPOSE 3000

# polling 켜고 dev 서버 시작
ENV CHOKIDAR_USEPOLLING=true
CMD ["npm", "run", "dev"]
