FROM node:16.20.2-bullseye-slim
WORKDIR /app

# Nettoyage et installation des dépendances à l'intérieur du conteneur
COPY package*.json ./

RUN rm -rf node_modules package-lock.json

RUN npm install --legacy-peer-deps

# Copie du reste du code source Angular
COPY . .

# Augmentation de la mémoire allouée à Node pour éviter les crashs de compilation
ENV NODE_OPTIONS="--max-old-space-size=4096"

# Port par défaut exposé par le serveur de développement d'Angular
EXPOSE 4200

# Commande unique de développement avec détection des changements de fichiers (Poll)
CMD ["npx", "ng", "serve", "--host", "0.0.0.0", "--disable-host-check", "--poll", "2000"]