Skip to content

Commit 0aca0f2

Browse files
save file
1 parent 2add367 commit 0aca0f2

1 file changed

Lines changed: 19 additions & 8 deletions

File tree

utils/misc/nodejs-terminal/nodejs-terminal.html

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -871,11 +871,13 @@
871871

872872
mod.stack.complete;
873873

874-
term.write('node ');
875-
await spawn('node -v');
876-
term.write('npm ');
877-
await spawn('npm -v');
878-
874+
var [result1,result2] = await Promise.all([spawn('node -v',{output:true}),spawn('npm -v',{output:true})]);
875+
if(result1.code==0){
876+
term.write('node '+result1.output);
877+
}
878+
if(result2.code==0){
879+
term.write('npm '+result2.output);
880+
}
879881

880882
webcontainer.on('server-ready',(port,url)=>{
881883
console.log('server-ready',url,port);
@@ -963,15 +965,24 @@
963965
//:
964966

965967

966-
async function spawn(cmdline){
968+
async function spawn(cmdline,{output}={}){
967969

968970
var args = cmdline.split(' ');
969971
var cmd = args.shift();
970972
var process = await webcontainer.spawn(cmd,args,{cwd,output:true});
971-
var stream = new WritableStream({write(data){term.write(data)}});
973+
var str = '';
974+
var stream = new WritableStream({write(data){
975+
976+
if(output){
977+
str += data.toString();
978+
}else{
979+
term.write(data)
980+
}
981+
982+
}});
972983
process.output.pipeTo(stream)
973984
var code = await process.exit;
974-
return code;
985+
return {code,output:str};
975986

976987
}//spawn
977988

0 commit comments

Comments
 (0)