Configures a process to be spawned but doesn't spawn it yet
(Objects)
options (same as @see
spawn
)
Spawner
:
that will spawn the configured process via
spawner.spawn
Spawns a process with the given options allowing to intercept stdout
and stderr
output of the application itself or the underlying process,
i.e. V8 and Node.js messages.
The functions, onStdout
, onStderr
called with each line written to the
respective file descriptor have the following signature:
onStdout(line:String, fromApp:Boolean)
where fromApp
is true
when the
line came from the app itself and false
when it came from the underlying
runtime, i.e. Node.js or V8 when flags triggered diagnostics output.
To mark a line as handled return true
from the function and it will not
be printed to the console.
function onStdout(line, fromApp) {
// Don't intercept app output, just have it printed as usual
if (fromApp) return false
// Do something with diagnositics messages here ...
return true
}
const { termination } = spawn({
execArgv: [ '--trace-turbo-inlining' ]
, argv: [ require.resolve('./bind.js') ]
, onStdout
})
try {
const code = await termination
console.log('The app returned with code', code)
} catch (err) {
console.error(err)
}
(Object)
options
Name | Description |
---|---|
$0.execArgv Array<String>?
(default [] )
|
arguments passed to Node.js/V8 directly (not to your app) |
$0.argv Array<String>
|
file to run followed by flags to pass to your app |
$0.node String?
(default process.execPath )
|
path to Node.js executable |
$0.spawnOpts Object?
(default {} )
|
options passed to
child_process.spawn
|
$0.onStdout Function?
(default null )
|
function to call with each line written to stdout |
$0.onStderr Function?
(default null )
|
function to call with each line written to stderr |
Object
:
with the following properties