-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathstart.js
More file actions
45 lines (36 loc) · 956 Bytes
/
start.js
File metadata and controls
45 lines (36 loc) · 956 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
const { spawn } = require('node:child_process');
const path = require('node:path');
// Start backend server
function startBackend() {
const backend = spawn('npm', ['run', 'dev'], {
cwd: path.join(__dirname, 'backend'),
stdio: 'inherit',
shell: true
});
backend.on('error', (err) => {
console.error('Failed to start backend:', err);
});
return backend;
}
// Start frontend server
function startFrontend() {
const frontend = spawn('npm', ['run', 'dev'], {
cwd: path.join(__dirname, 'frontend'),
stdio: 'inherit',
shell: true
});
frontend.on('error', (err) => {
console.error('Failed to start frontend:', err);
});
return frontend;
}
console.log('Starting servers...');
const backend = startBackend();
const frontend = startFrontend();
// Handle process termination
process.on('SIGINT', () => {
console.log('\nShutting down servers...');
backend.kill();
frontend.kill();
process.exit();
});