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>
84 lines
2.5 KiB
Bash
Executable File
84 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# E-Voting System - Frontend Development Mode Helper
|
|
# This script helps run the Next.js frontend in development mode with detailed logging
|
|
|
|
set -e
|
|
|
|
case "${1:-help}" in
|
|
start)
|
|
echo "🚀 Starting frontend in DEVELOPMENT mode with full logging..."
|
|
echo ""
|
|
echo "Features:"
|
|
echo " ✓ Hot reload on file changes"
|
|
echo " ✓ Detailed browser console logs"
|
|
echo " ✓ Server-side render logs"
|
|
echo " ✓ API request/response logs"
|
|
echo ""
|
|
|
|
# Stop the production frontend if running
|
|
if docker compose ps | grep -q "evoting_frontend"; then
|
|
echo "Stopping production frontend..."
|
|
docker compose stop frontend
|
|
fi
|
|
|
|
# Start dev frontend with other services
|
|
echo "Starting all services..."
|
|
docker compose -f docker-compose.yml -f docker-compose.dev.yml up frontend-dev
|
|
;;
|
|
|
|
stop)
|
|
echo "⏹️ Stopping frontend development mode..."
|
|
docker compose -f docker-compose.yml -f docker-compose.dev.yml down
|
|
;;
|
|
|
|
logs)
|
|
echo "📋 Showing frontend development logs (streaming)..."
|
|
echo ""
|
|
docker compose -f docker-compose.yml -f docker-compose.dev.yml logs -f frontend-dev
|
|
;;
|
|
|
|
logs-all)
|
|
echo "📋 Showing all services logs..."
|
|
echo ""
|
|
docker compose logs -f
|
|
;;
|
|
|
|
rebuild)
|
|
echo "🔨 Rebuilding frontend dev image..."
|
|
docker compose -f docker-compose.yml -f docker-compose.dev.yml build --no-cache frontend-dev
|
|
;;
|
|
|
|
shell)
|
|
echo "🐚 Opening shell in frontend dev container..."
|
|
docker compose -f docker-compose.yml -f docker-compose.dev.yml exec frontend-dev sh
|
|
;;
|
|
|
|
status)
|
|
echo "📊 Frontend development status:"
|
|
echo ""
|
|
docker compose -f docker-compose.yml -f docker-compose.dev.yml ps frontend-dev
|
|
;;
|
|
|
|
*)
|
|
echo "E-Voting System - Frontend Development Mode Helper"
|
|
echo ""
|
|
echo "Usage: ./dev-mode.sh [command]"
|
|
echo ""
|
|
echo "Commands:"
|
|
echo " start - Start frontend in development mode with hot reload"
|
|
echo " stop - Stop development mode"
|
|
echo " logs - Show frontend logs (streaming)"
|
|
echo " logs-all - Show all services logs"
|
|
echo " rebuild - Rebuild frontend dev image"
|
|
echo " shell - Open shell in dev container"
|
|
echo " status - Show development container status"
|
|
echo ""
|
|
echo "Examples:"
|
|
echo " ./dev-mode.sh start # Start dev mode"
|
|
echo " ./dev-mode.sh logs # Stream logs"
|
|
echo " ./dev-mode.sh logs-all # All services"
|
|
echo ""
|
|
;;
|
|
esac
|