# Base image
FROM node:22-alpine AS base
WORKDIR /usr/src/app

# Copy only package files first (caches dependencies)
COPY package*.json ./

# Install dependencies
RUN npm install --legacy-peer-deps

# Copy app source (this triggers rebuild when code changes)
COPY . .

# Build NestJS app
RUN npm run build

# Production image
FROM node:22-alpine AS prod
WORKDIR /usr/src/app

# Copy only needed files
COPY --from=base /usr/src/app/dist ./dist
COPY --from=base /usr/src/app/node_modules ./node_modules
COPY package*.json ./

EXPOSE 3001
CMD ["node", "dist/main.js"]
# CMD ["npm", "run", "start"]