Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

async-child-process

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

async-child-process

Promise-based child process interface

  • 1.1.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
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

Package last updated on 27 Oct 2016

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc