[
https://issues.apache.org/jira/browse/CB-10052?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Kotikov updated CB-10052:
----------------------------------
Description:
Sometimes it is useful to process spawned process stdout and stderr in some way
before out this to console. The current implementation of superspawn doesn't
give a way to do this. One of the cases when this could be helpful - CB-9971
(see https://github.com/apache/cordova-android/pull/240 for some discussion).
The proposed approach is:
1. Add ability to accept any valid stdio configuration, just like the original
child_process.spawn does
(https://nodejs.org/api/child_process.html#child_process_options_stdio)
2. Give a way to caller to listen to stdout and stderr events. This might be
implemented as resultant promise progress notification:
{code:JavaScript}
spawn('mycommand', [], {stdio: 'pipe'})
.progress(function (stdio){
if (stdio.stderr) {
console.error(stdio.stderr);
}
})
.then(function(result){
// do other stuff
})
{code}
> Improve superspawn to allow to handle spawned process io streams
> ----------------------------------------------------------------
>
> Key: CB-10052
> URL: https://issues.apache.org/jira/browse/CB-10052
> Project: Apache Cordova
> Issue Type: Improvement
> Components: CordovaCommon
> Affects Versions: 1.0.0
> Reporter: Vladimir Kotikov
> Assignee: Vladimir Kotikov
> Priority: Minor
> Fix For: 1.1.0
>
>
> Sometimes it is useful to process spawned process stdout and stderr in some
> way before out this to console. The current implementation of superspawn
> doesn't give a way to do this. One of the cases when this could be helpful -
> CB-9971 (see https://github.com/apache/cordova-android/pull/240 for some
> discussion).
> The proposed approach is:
> 1. Add ability to accept any valid stdio configuration, just like the
> original child_process.spawn does
> (https://nodejs.org/api/child_process.html#child_process_options_stdio)
> 2. Give a way to caller to listen to stdout and stderr events. This might be
> implemented as resultant promise progress notification:
> {code:JavaScript}
> spawn('mycommand', [], {stdio: 'pipe'})
> .progress(function (stdio){
> if (stdio.stderr) {
> console.error(stdio.stderr);
> }
> })
> .then(function(result){
> // do other stuff
> })
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]