Socket
Socket
Sign inDemoInstall

async-child-process

Package Overview
Dependencies
3
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    async-child-process

Promise-based child process interface


Version published
Weekly downloads
854
increased by2.64%
Maintainers
1
Install size
2.25 MB
Created
Weekly downloads
 

Readme

Source

async-child-process

Build Status Coverage Status

A simple Promise-based API for working with ChildProcesses.

Usage

npm install --save async-child-process

join(child: ChildProcess): Promise<Result>

Waits for child to exit.

Returns a Promise that:

  • will resolve {code: 0} if child exits with code 0
  • with reject with an error otherwise
    • error.code will be the exit code if the child exited normally
    • error.signal will be the signal the child was terminated with, if any
    • Note: if child emits an error, it may be the rejection reason and it may not have code or signal

Example:

import {exec} from 'child_process'
import {join} from 'async-child-process'

async function test() {
  await join(exec('echo hello world'))
}

kill(child: ChildProcess, signal?: string): Promise<void>

Sends a signal to child and waits for it to exit.

Returns a Promise that:

  • will resolve once child is killed
  • will reject with an error if child emits one

Example:

import {exec} from 'child_process'
import {kill} from 'async-child-process'

async function test() {
  const child = exec(`node -e 'setTimeout(() => console.log("finally!"), 1e11)'`)
  await kill(child)
}

childPrinted(child: ChildProcess, predicate: (output: string) => boolean | RegExp, stream?: 'stdout' | 'stderr'): Promise<string>

Waits for child to print something to its stdout and/or stderr. Returns a promise that:

  • will resolve with the message that matched predicate or
  • will reject if child exited or errored before printing a message that matched predicate

Arguments:

  • child: the ChildProcess to listen to
  • predicate: childPrinted will wait until child's stream(s) output a message matching the predicate
  • stream: which of child's streams to listen to, omit to listen to both stdout and stderr

Example:

import {exec} from 'child_process'
import {childPrinted} from 'async-child-process'

async function test() {
  const child = exec(`webpack --config webpack.config.dev.js`)
  await childPrinted(child, /webpack built in \d+ ms/)
}

execAsync(command: string, options?: Object): Promise<Result>

Like exec, but returns a Promise that:

  • will resolve with {stdout: string, stderr: string} from running command if it exited with code 0
  • will reject with an error otherwise
    • error.code will be the exit code if the child exited normally
    • error.signal will be the signal the child was terminated with, if any
    • Note: if child emits an error, it may be the rejection reason and it may not have code or signal

Example:

import {execAsync} from 'async-child-process'

async function test() {
  const {stdout} = await execAsync('docker-compose port webapp 80')
  const testUrl = stdout.trim()
}

Keywords

FAQs

Last updated on 27 Oct 2016

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc