node-dev icon indicating copy to clipboard operation
node-dev copied to clipboard

child_process needs to use shell

Open shavyg2 opened this issue 7 years ago • 1 comments

var cmd = nodeArgs.concat(wrapper, script, scriptArgs);
    child = fork(cmd[0], cmd.slice(1), {
      cwd: process.cwd(),
      env: process.env
    });

should be

var cmd = nodeArgs.concat(wrapper, script, scriptArgs);
    child = fork(cmd[0], cmd.slice(1), {
      cwd: process.cwd(),
      env: process.env,
      shell:true
    });

This would allow it to work on windows and should be able to spawn cmd files. The is because on windows a global module is in a file eg. mocha.cmd

when you call mocha the shell will look for mocha.exe, mocha.cmd etc however, if you are not using the shell it will only look for mocha.exe

therefore node-dev mocha fails

with shell as true

it will run the mocha.cmd file

shavyg2 avatar Nov 11 '17 15:11 shavyg2

I realize you are using fork so you can send messages.

is the intended usage to only call js / (node executable files)

so something like node-dev mocha should not work?

shavyg2 avatar Nov 11 '17 16:11 shavyg2