FROM node:20-alpine WORKDIR /app # Copy package files COPY package*.json ./ # Install ALL dependencies (including dev dependencies for build) RUN npm ci --include=dev # Copy source code COPY . . # Build TypeScript RUN npm run build # Verify dist was created RUN ls -la dist/ || (echo "ERROR: dist not created!" && exit 1) # Clean up dev dependencies to reduce image size (optional) RUN npm prune --omit=dev # Start the app CMD ["npm", "start"]