ispawn
Spawn a process to inspect it.
Last updated 2 years ago by thlorenz .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install ispawn 
SYNC missed versions from official npm registry.

ispawn build status

become a patron

Spawn a process to inspect it.

Installation

npm install ispawn

API

createSpawn

Configures a process to be spawned but doesn't spawn it yet

Parameters

  • $0 Objects options (same as @see spawn)

Returns Spawner that will spawn the configured process via spawner.spawn

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.

onStdout and onStderr interceptors

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.

Example

 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)
 }

full example

Parameters

  • $0 Object options
    • $0.execArgv Array<String>? arguments passed to Node.js/V8 directly (not to your app) (optional, default [])
    • $0.argv Array<String> file to run followed by flags to pass to your app
    • $0.node String? path to Node.js executable (optional, default process.execPath)
    • $0.spawnOpts Object? options passed to child_process.spawn (optional, default {})
    • $0.onStdout Function? function to call with each line written to stdout (optional, default null)
    • $0.onStderr Function? function to call with each line written to stderr (optional, default null)

Returns Object with the following properties- termination: {Promise} that resolves when process exits

  • proc: the spawned process

Kudos

Lots of the ideas and code were extracted from the 0x tool.

License

MIT

Current Tags

  • 0.2.0                                ...           latest (2 years ago)

4 Versions

  • 0.2.0                                ...           2 years ago
  • 0.1.2                                ...           2 years ago
  • 0.1.1                                ...           2 years ago
  • 0.1.0                                ...           2 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 2
Last Day 0
Last Week 1
Last Month 0
Dependencies (4)
Dev Dependencies (1)
Dependents (1)

Copyright 2014 - 2017 © taobao.org |