New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

spawncommand

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

spawncommand

Spawn or fork a child process with a promise property resolved on exit with stdout, stderr and code.

  • 2.1.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
250
increased by0.4%
Maintainers
1
Weekly downloads
 
Created
Source

spawnCommand

npm version

SpawnCommand will run the spawn or fork methods from the child_process module, and add a promise property to the returned process instance. The promise will be resolved on process exit with an object consisting of code, stdout and stderr properties.

yarn add -E spawncommand

Table Of Contents

API

SpawnCommand can be used by importing the default spawn and named fork exports.

import spawn, { fork } from 'spawncommand'

Types

The package's main type is ChildProcessWithPromise which enriches the standard ChildProcess with a promise property.

import('child_process').ChildProcess ChildProcess

ChildProcess ChildProcessWithPromise: A child process with an extra promise property.

NameTypeDescriptionDefault
promise*Promise.<PromiseResult>A promise resolved when the process exits.-

PromiseResult

NameTypeDescriptionDefault
stdout*stringThe accumulated result of the stdout stream.-
stderr*stringThe accumulated result of the stderr stream.-
code*numberThe code with which the process exited.-

spawn(
  module: string,
  args: string[],
  options?: SpawnOptions,
): ChildProcessWithPromise

Spawns a command and returns a ChildProcess instance with the promise property resolved on exit. The promise will be rejected if an error was encountered when trying to spawn the process.

import('child_process').SpawnOptions SpawnOptions

import spawn from 'spawncommand'

(async () => {
  const { promise } = spawn('echo', ['hello world'])
  const { stderr, stdout, code } =  await promise
  console.log(JSON.stringify({
    stderr, stdout, code,
  }, null, 2))
})()
{
  "stderr": "",
  "stdout": "hello world\n",
  "code": 0
}

The returned object is a ChildProcess and all of its properties can be accessed in the standard way.

import spawnCommand from 'spawncommand'

(async () => {
  const { stdout, promise } = spawnCommand('echo', ['hello world'])

  stdout.pipe(process.stdout)
  await promise
})()
hello world

fork(
  module: string,
  args: string[],
  options?: ForkOptions,
): ChildProcessWithPromise

Forks a Node.js module and adds a promise property to the returned ChildProcess.

import { fork } from 'spawncommand'

(async () => {
  const { promise } = fork('example/index.js', ['example/spawn.js'], {
    stdio: 'pipe',
  })
  const { stdout } =  await promise
  console.log(stdout)
})()
{
  "stderr": "",
  "stdout": "hello world\n",
  "code": 0
}

The pipe option needs to be set in order to gather the output of the stderr and stdout streams (or an array for older versions of Node.js when this does not work).

(c) Art Deco 2018

Keywords

FAQs

Package last updated on 20 Sep 2018

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