@@ -2,49 +2,50 @@ import express from 'express';
2
2
import { utilityProcess } from 'electron' ;
3
3
import state from '../state' ;
4
4
import { notifyLaravel } from "../utils" ;
5
+ import { join } from 'path'
5
6
6
7
const router = express . Router ( ) ;
7
8
8
9
router . post ( '/start' , ( req , res ) => {
9
10
const { alias, cmd, args, cwd, env} = req . body
10
11
11
- console . log ( req . body )
12
-
13
- if ( state . processes [ alias ] !== null ) {
12
+ if ( state . processes [ alias ] !== undefined ) {
14
13
res . sendStatus ( 409 )
15
14
return
16
15
}
17
16
18
17
const proc = utilityProcess . fork (
18
+ join ( __dirname , '../../electron-plugin/dist/server/childProcess.js' ) ,
19
19
cmd ,
20
- args || null ,
21
20
{
22
- env : env || null ,
23
- cwd : cwd || null ,
21
+ cwd,
24
22
serviceName : alias ,
23
+ stdio : 'pipe' ,
24
+ env : {
25
+ ...process . env ,
26
+ ...env ,
27
+ }
25
28
}
26
29
)
27
30
28
- console . log ( proc )
29
-
30
31
proc . stdout . on ( 'data' , ( data ) => {
31
- console . log ( 'Message received from process [' + alias + ']:' , data )
32
+ console . log ( 'Message received from process [' + alias + ']:' , data . toString ( ) )
32
33
notifyLaravel ( 'events' , {
33
34
event : 'Native\\Laravel\\Events\\ChildProcess\\MessageReceived' ,
34
35
payload : {
35
36
alias,
36
- data,
37
+ data : data . toString ( ) ,
37
38
}
38
39
} )
39
40
} )
40
41
41
42
proc . stderr . on ( 'data' , ( data ) => {
42
- console . log ( 'Error received from process [' + alias + ']:' , data )
43
+ console . log ( 'Error received from process [' + alias + ']:' , data . toString ( ) )
43
44
notifyLaravel ( 'events' , {
44
45
event : 'Native\\Laravel\\Events\\ChildProcess\\ErrorReceived' ,
45
46
payload : {
46
47
alias,
47
- data,
48
+ data : data . toString ( ) ,
48
49
}
49
50
} )
50
51
} )
@@ -58,14 +59,15 @@ router.post('/start', (req, res) => {
58
59
} )
59
60
60
61
proc . on ( 'exit' , ( code ) => {
61
- console . log ( 'Process [' + alias + '] exited!' )
62
+ console . log ( 'Process [' + alias + '] exited with code [' + code + '] !')
62
63
notifyLaravel ( 'events' , {
63
64
event : 'Native\\Laravel\\Events\\ChildProcess\\ProcessExited' ,
64
65
payload : {
65
66
alias,
66
67
code,
67
68
}
68
69
} )
70
+ delete state . processes [ alias ]
69
71
} )
70
72
71
73
state . processes [ alias ] = proc
@@ -78,7 +80,7 @@ router.post('/stop', (req, res) => {
78
80
79
81
const proc = state . processes [ alias ]
80
82
81
- if ( proc === null ) {
83
+ if ( proc === undefined ) {
82
84
res . sendStatus ( 200 )
83
85
return
84
86
}
0 commit comments