0.2.0 • Published 6 years ago

ispawn v0.2.0

Weekly downloads
407
License
MIT
Repository
github
Last release
6 years ago

ispawn build status

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

0.2.0

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago