yexec
TypeScript icon, indicating that this package has built-in type declarations

2.0.2 • Public • Published

yexec

Build Status Coverage Status

Yet another process execution wrapper. Uses child_process.spawn to execute an external process and capture stdout and stderr.

  • Logs stdout and stderr to a logger implementation of your choice as long as it supports the standard level functions like info, warn, and error.
  • Supports optional log filter
  • Protects against double callbacks from error and exit events.
  • Throws an Error if process exits with non-zero code
  • Specify an optional timeout. If the process has not exited within the interval the process is force killed and a TIMEOUT error is thrown.

Usage

npm install yexec
var yexec = require('yexec');
var winston = require('winston');
 
var params = {
  executable: 'git',
  args: ['clone', 'https://github.com/nodejs/node.git'],
  logger: winston,
  timeout: 5000, // 5 seconds
  logFilter: function(level, msg) {
    return level !== 'info';
  }
};
 
try {
  await yexec(params);
} catch (err) {
  // If timeout occurred, err.code will be 'TIMEOUT'
  winston.error('Oops, git failed with code %s', err.code);
}

/yexec/

    Package Sidebar

    Install

    npm i yexec

    Weekly Downloads

    5

    Version

    2.0.2

    License

    ISC

    Unpacked Size

    7.11 kB

    Total Files

    7

    Last publish

    Collaborators

    • dvonlehman