@@ -56,9 +56,11 @@ async function startDevServer(serverOptions) {
5656 echoOutput : true ,
5757 } ;
5858
59- // For Windows, we need to use stdin: 'ignore' to simulate < NUL
59+ // For Windows, we need to ignore stdin to simulate < NUL
60+ // spawn-rx's 'stdin' option expects an Observable, not 'ignore'
61+ // Use Node's stdio option instead
6062 if ( isWindows ) {
61- spawnOptions . stdin = "ignore" ;
63+ spawnOptions . stdio = [ "ignore" , "pipe" , "pipe" ] ;
6264 }
6365
6466 const server = spawn ( serverCommand , serverArgs , spawnOptions ) ;
@@ -140,13 +142,21 @@ async function startDevClient(clientOptions) {
140142 const clientCommand = "npx" ;
141143 const host = process . env . HOST || "localhost" ;
142144 const clientArgs = [ "vite" , "--port" , CLIENT_PORT , "--host" , host ] ;
145+ const isWindows = process . platform === "win32" ;
143146
144- const client = spawn ( clientCommand , clientArgs , {
147+ const spawnOptions = {
145148 cwd : resolve ( __dirname , ".." ) ,
146149 env : { ...process . env , CLIENT_PORT } ,
147150 signal : abort . signal ,
148151 echoOutput : true ,
149- } ) ;
152+ } ;
153+
154+ // For Windows, we need to ignore stdin to prevent hanging
155+ if ( isWindows ) {
156+ spawnOptions . stdio = [ "ignore" , "pipe" , "pipe" ] ;
157+ }
158+
159+ const client = spawn ( clientCommand , clientArgs , spawnOptions ) ;
150160
151161 const url = getClientUrl (
152162 CLIENT_PORT ,
0 commit comments