npm-run-parallel aborts when receiving a stderr
We are using npm-run-parallel to run protractor.
Since a recent node update it started to output this message to stderr: "(node:67222) DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.".
"npm-run-parallel" aborts right when it gets this message even though the protractor execution succeeds when ran separately.
This line is the culprit https://github.com/ianmcnally/npm-run-parallel/blob/4c8793efa8664fe6671b1c65d6dfc852c4127c4b/lib/run.js#L21.
The process should continue on a stderr and fail when all children stop depending of their exit codes.
(protractor or one of it's dependencies should also fix the warning)
A simple way to reproduce the issue is to create a file named test_stderr.js with this is it:
console.error("This is not a failure");
console.error("This is also not a failure");
node test_stderr.js will succeed and output everything
When running node test_stderr.js through npm-run-parallel it will output this:
This is not a failure
npm ERR! Test failed. See above for more details.
Hey Jules, thanks for the report! That's a good catch. The intended functionality of that exit is to make sure if any one process fails, they all fail. I'm curious if the put a catch around here if that would handle that.
A pull request with the exit-on-child-error, and a removal of exit-on-stderr would be most welcome!