sb-exec

4.0.0 • Public • Published

Exec

Greenkeeper badge

Node's Process spawning APIs beautified

Installation

npm install --save sb-exec

API

type $OptionsAccepted = {
  timeout?: number | Infinity, // In milliseconds
  stream?: 'stdout' | 'stderr'  | 'both',
  env: Object,
  stdin?: string | Buffer,
  local?: {
    directory: string,
    prepend?: boolean
  },
  throwOnStderr?: boolean = true,
  allowEmptyStderr?: boolean = false,
  ignoreExitCode?: boolean
} // Also supports all options of child_process::spawn
 
type PromisedProcess = {
  then(callback: Function): Promise
  catch(callback: Function): Promise
  kill(signal: number)
}
 
export function exec(filePath: string, parameters: array, options: $OptionsAccepted): PromisedProcess
export function execNode(filePath: string, parameters: array, options: $OptionsAccepted): PromisedProcess

Explanation

Promise callbacks

  • then callback is supposed to accept one of these results, depending on options.stream:
    • stdout and stderr will result in a string, representing an stdout or stderr stream, respectively.
    • both will result in an object of {stdout, stderr, exitCode} representing their respective streams and an exit code of a process.
    • If options.stream is not provided it is assumed to be stdout, so a promise will result in a string representing an stdout stream.

options.local

options.local adds node executables in node_modules relative to options.local.directory to PATH like in npm scripts.

options.local.prepend prioritizes local executables over ones already in PATH.

License

This project is licensed under the terms of MIT License, see the LICENSE file for more info

Package Sidebar

Install

npm i sb-exec

Weekly Downloads

143

Version

4.0.0

License

MIT

Last publish

Collaborators

  • arcanemagus
  • steelbrain