@@ -21,35 +21,38 @@ echo -e "\033[1;32m━━━━━━━━━━━━━━━━━━━━
2121echo -e " \033[1;32m🦞 ClawBridge Development Mode\033[0m"
2222
2323if [ " $FAST_MODE " = true ]; then
24- # Fast mode: Build once, serve static (like start.sh but foreground)
24+ # Fast mode: Build once, serve static
2525 echo -e " \033[1;33m Mode: Fast (no hot reload)\033[0m"
2626 echo -e " \033[1;34m URL: http://127.0.0.1:1337\033[0m"
2727 echo -e " \033[1;32m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m"
2828
29- # Build the UI
3029 cd web && npm run build && cd ..
31- # Clean and move files to public
3230 rm -rf public/* && cp -r web/out/* public/
33-
34- # Start Backend in production style (serves static files from /public)
35- # Don't set NODE_ENV=development here to avoid proxying
3631 node server.js
3732else
3833 # Normal mode: Hot reload enabled
3934 echo -e " \033[1;33m Mode: Hot Reload (use --fast for faster startup)\033[0m"
4035 echo -e " \033[1;34m URL: http://127.0.0.1:1337\033[0m"
4136 echo -e " \033[1;32m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m"
4237
43- # Start Backend with proxying enabled
44- export NODE_OPTIONS=" --max-old-space-size=4096"
38+ # WSL Memory Optimization
39+ export NODE_OPTIONS=" --max-old-space-size=2048"
40+
41+ # Start Backend
4542 NODE_ENV=development node server.js &
4643 BACKEND_PID=$!
4744
48- # Start Frontend Dev Server
45+ # Start Frontend
4946 (cd web && npm run dev -- --port 3000) &
5047 FRONTEND_PID=$!
5148
52- # Handle shutdown
53- trap " kill $BACKEND_PID $FRONTEND_PID 2>/dev/null; exit" SIGINT SIGTERM
49+ # Handle shutdown (Clean up entire process tree to prevent WSL memory leaks)
50+ cleanup () {
51+ echo -e ' \n\033[1;33m[Stop] Cleaning up all processes...\033[0m'
52+ pkill -P $$ 2> /dev/null
53+ kill $BACKEND_PID $FRONTEND_PID 2> /dev/null
54+ exit
55+ }
56+ trap cleanup SIGINT SIGTERM
5457 wait
5558fi
0 commit comments