CIA/e-voting-system/docker/Dockerfile.frontend.dev
Alexis Bruneteau fbb7bc3991 feat: Add development mode for Next.js frontend with hot reload and verbose logging
Add comprehensive development setup for frontend debugging and rapid iteration.

FEATURES:
✓ Hot Module Reload (HMR) - auto-refresh on file changes
✓ Detailed Logging - all console logs visible in Docker output
✓ TypeScript Checking - real-time type validation
✓ Source Maps - easier debugging in DevTools
✓ Fast Iteration - no container rebuild needed for code changes

FILES ADDED:
- docker-compose.dev.yml - compose override with dev-specific settings
- docker/Dockerfile.frontend.dev - updated with dev environment variables
- dev-mode.sh - helper script with easy commands
- DEV_MODE.md - comprehensive development guide
- QUICK_DEV_START.md - quick start instructions

USAGE:
  ./dev-mode.sh start      # Start frontend in dev mode
  ./dev-mode.sh logs       # Stream frontend logs
  ./dev-mode.sh logs-all   # Stream all services logs
  ./dev-mode.sh stop       # Stop development mode
  ./dev-mode.sh rebuild    # Rebuild after package.json changes
  ./dev-mode.sh shell      # Open shell in container
  ./dev-mode.sh status     # Check container status

BENEFITS:
- Faster feedback loop during development
- Better debugging with detailed logs
- No production artifacts in dev container
- Source code mounted for real-time updates
- Improved developer experience

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-07 19:19:57 +01:00

28 lines
610 B
Docker

FROM node:20-alpine
WORKDIR /app
# Copier package.json
COPY frontend/package*.json ./
# Installer dépendances
RUN npm install --legacy-peer-deps
# Copier code source
COPY frontend/ .
# Build argument for API URL
ARG REACT_APP_API_URL=http://backend:8000
ENV REACT_APP_API_URL=${REACT_APP_API_URL}
# Development environment variables for detailed logging
ENV NODE_ENV=development
ENV NEXT_PUBLIC_DEBUG=true
ENV DEBUG=*
EXPOSE 3000
# Mode développement avec hot reload et logs verbeux
# --turbopack-trace=verbose pour plus de détails
CMD ["npm", "run", "dev", "--", "-H", "0.0.0.0", "--port", "3000"]