Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
async-child-process
Advanced tools
A simple Promise
-based API for working with ChildProcess
es.
npm install --save async-child-process
join(child: ChildProcess): Promise<Result>
Waits for child
to exit.
Returns a Promise
that:
{code: 0}
if child
exits with code 0error.code
will be the exit code if the child exited normallyerror.signal
will be the signal the child was terminated with, if anychild
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:
child
is killederror
if child
emits oneExample:
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:
predicate
orchild
exited or errored before printing a message that matched predicate
Arguments:
ChildProcess
to listen tochildPrinted
will wait until child
's stream(s) output a message matching the predicatechild
'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:
{stdout: string, stderr: string}
from running command
if it exited with code 0error.code
will be the exit code if the child exited normallyerror.signal
will be the signal the child was terminated with, if anychild
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()
}
FAQs
Promise-based child process interface
We found that async-child-process demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
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.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.