Comments (10)
Confirming that I'm seeing this on any script that uses npm-run-all
, but running the scripts individually has no issues.
from npm-run-all.
I'm seeing the same problem here. It looks like this happened after the code refractor patch...
from npm-run-all.
Seeing this too. Confirmed that it is past 8004ce4 (“Refactoring”).
I’ve traced it down to stdout/err problems. When I added a fs.createWriteableStream()
to the options passed to spawn()
in spawn-posix.js
(e.g. log stdout/err into files). Things work as expected.
Do this in spawn-posix.js
if you want to reproduce:
function spawn(command, args, options) {
var fs = require('fs')
var ofd = fs.openSync('npm-run-all.stdout', 'w')
var efd = fs.openSync('npm-run-all.stderr', 'w')
var out = fs.createWriteStream('', {fd: ofd, flags:'w'});
var err = fs.createWriteStream('', {fd: efd, flags:'w'});
options.detached = true; // eslint-disable-line no-param-reassign
options = {
stdio: [options.stdio[0], out, err]
}
console.log(command, args, options);
var child = _child_process2["default"].spawn(command, args, options);
child.on("exit", removeFromPool);
child.on("error", function(error) {
console.log(error);
removeFromPool()
});
child.kill = kill;
// Add to the pool to kill on exit.
children.push(child);
return child;
}
Good luck with this one <3
from npm-run-all.
And again as a diff, if that’s easier, full commit here: janl@2889479 branch here: https://github.com/janl/npm-run-all/tree/issue/14
diff --git a/src/lib/spawn-posix.js b/src/lib/spawn-posix.js
index c04abc1..8f10254 100644
--- a/src/lib/spawn-posix.js
+++ b/src/lib/spawn-posix.js
@@ -48,8 +48,18 @@ function kill() {
* @returns {ChildProcess} A ChildProcess instance of new process.
* @private
*/
+
+var fs = require('fs')
export default function spawn(command, args, options) {
+ var ofd = fs.openSync('npm-run-all.stdout', 'w')
+ var efd = fs.openSync('npm-run-all.stderr', 'w')
+ var out = fs.createWriteStream('', {fd: ofd});
+ var err = fs.createWriteStream('', {fd: efd});
+
options.detached = true; // eslint-disable-line no-param-reassign
+ options = {
+ stdio: [options.stdio[0], out, err]
+ }
const child = cp.spawn(command, args, options);
child.on("exit", removeFromPool);
from npm-run-all.
Oh my God, I apologize for it.
For a first aid, I reverted to v1.2.13
and published as v1.3.1
.
My bad, I had not been having tests for stdin/stdout, so these were not tested in Travis CI.
from npm-run-all.
@janl Thank you for investigating.
Hmm, I seem to need changing my strategy that I use process group id to kill child processes.
from npm-run-all.
Hmm, I'm trying to add tests for this bug, but it works in Travis CI...
This might be related with nodejs/node#3596
from npm-run-all.
@mysticatea Thanks for great support!
from npm-run-all.
👍
from npm-run-all.
nice! <3
from npm-run-all.
Related Issues (20)
- dependency shell-quote CVE-2021-42740 HOT 1
- zcds`z;;x;vvvvdc x=
- --race appears to be non-functional HOT 2
- 安装后不认识命令npm-run-all HOT 1
- Task not found HOT 1
- Why do installations of run-s and run-p succeed without installing npm-run-all ?
- remove string.prototype.padend dependency HOT 2
- Exit code 134 not propagated
- [feature] Group outputs like if tasks were run in sequence
- Add option, or set by default, `FORCE_COLOR=1`
- OWASP Dependency scan results HOT 1
- Veracode vulnerability in dependent package shell-quote HOT 1
- Unknown option: 'xxxx:commitizen_path' with pnpm HOT 8
- Ditching `padend`? HOT 1
- high vulnerability issue in dependent package minimatch
- How can I run a command directly without creating a new script for it
- $ npm install npm-run-all --save-dev
- Not maintained anymore? HOT 1
- npm-run-all is reported as having a moderate severity vulnerabilty HOT 4
- Allow default values when args is empty HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from npm-run-all.