File tree 1 file changed +15
-2
lines changed
1 file changed +15
-2
lines changed Original file line number Diff line number Diff line change @@ -112,9 +112,18 @@ export class StdioClientTransport implements Transport {
112
112
env : this . _serverParams . env ?? getDefaultEnvironment ( ) ,
113
113
stdio : [ "pipe" , "pipe" , this . _serverParams . stderr ?? "inherit" ] ,
114
114
shell : false ,
115
- detached : process . platform === "win32" ,
116
115
signal : this . _abortController . signal ,
117
- } ,
116
+
117
+ // NB: The behavior of detached varies based on platform, and also
118
+ // is different based on whether the process is a Win32 Subsystem
119
+ // process or a Console Subsystem process. Strangely, the behavior
120
+ // of detached is almost 1:1 the opposite in Electron+Windows vs
121
+ // what is documented on the node.js website, and also is different
122
+ // based on whether you launch Electron in a development environment
123
+ // (i.e. via `electron-forge start`) vs a production environment
124
+ // (i.e. YourApp.exe).
125
+ detached : process . platform === "win32" && isElectron ( ) ,
126
+ }
118
127
) ;
119
128
120
129
this . _process . on ( "error" , ( error ) => {
@@ -188,3 +197,7 @@ export class StdioClientTransport implements Transport {
188
197
} ) ;
189
198
}
190
199
}
200
+
201
+ function isElectron ( ) {
202
+ return "type" in process ;
203
+ }
You can’t perform that action at this time.
0 commit comments