
Security News
Open Source Maintainers Feeling the Weight of the EU’s Cyber Resilience Act
The EU Cyber Resilience Act is prompting compliance requests that open source maintainers may not be obligated or equipped to handle.
spawncommand
Advanced tools
Spawn or fork a child process with a promise property resolved on exit with stdout, stderr and code.
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 spawncommand
SpawnCommand can be used by importing the default spawn
and named fork
exports.
import spawn, { fork } from 'spawncommand'
The package's main type is ChildProcessWithPromise which enriches the standard ChildProcess with a promise
property.
import('child_process').ChildProcess
child_process.ChildProcess
_spawncommand.ChildProcessWithPromise
: A child process with an extra promise
property.
Name | Type | Description |
---|---|---|
promise* | !Promise<!_spawncommand.PromiseResult> | A promise resolved when the process exits. |
spawnCommand* | string | The spawn arguments joined by whitespace. |
Name | Type | Description |
---|---|---|
stdout* | string | The accumulated result of the stdout stream. |
stderr* | string | The accumulated result of the stderr stream. |
code* | number | The 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
child_process.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('child_process').ForkOptions
child_process.ForkOptions
import { fork } from 'spawncommand'
(async () => {
const { promise } = fork('node_modules/.bin/alanode',
['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).
![]() | © Art Deco 2019 |
![]() | Tech Nation Visa Sucks |
---|
FAQs
Spawn or fork a child process with a promise property resolved on exit with stdout, stderr and code.
The npm package spawncommand receives a total of 714 weekly downloads. As such, spawncommand popularity was classified as not popular.
We found that spawncommand 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.
Security News
The EU Cyber Resilience Act is prompting compliance requests that open source maintainers may not be obligated or equipped to handle.
Security News
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.