const { spawn } = require('child_process'); const path = require('path'); console.log('šŸš€ Starting Lin Development Environment...'); console.log('==========================================\n'); // Start backend process console.log('šŸ”§ Starting Backend Server...'); const backend = spawn('python', ['app.py'], { cwd: path.join(__dirname, 'backend'), stdio: 'inherit', shell: true }); // Start frontend process console.log('šŸŽØ Starting Frontend Development Server...'); const frontend = spawn('npm', ['run', 'dev'], { cwd: path.join(__dirname, 'frontend'), stdio: 'inherit', shell: true }); // Handle process events backend.on('close', (code) => { console.log(`Backend process exited with code ${code}`); frontend.kill(); }); frontend.on('close', (code) => { console.log(`Frontend process exited with code ${code}`); backend.kill(); }); // Handle exit signals process.on('SIGINT', () => { console.log('\nšŸ›‘ Shutting down development servers...'); backend.kill(); frontend.kill(); process.exit(0); }); process.on('SIGTERM', () => { console.log('\nšŸ›‘ Shutting down development servers...'); backend.kill(); frontend.kill(); process.exit(0); });