terminal-spawn
![MIT license](http://img.shields.io/badge/license-MIT-brightgreen.svg)
A library which wraps Node's child_process.spawn
to provide easy use of terminal commands.
It does this in an easy to use way by providing a nice interface on top of
child_process.spawn
which allows you to call it exactly the same way as if
you were running commands directly in the terminal.
I personally use this for running gulp tasks, since I got used to using npm scripts and their ability to directly run terminal commands very easily. Since it returns a ChildProcess
object, the result of calling child_process.spawn
it can be directly used in gulp, see the gulpfile.babel.ts
in the project for an example.
Installation
npm install terminal-spawn
Usage
import terminalSpawn from 'terminal-spawn';
terminalSpawn('echo "hello world!"');
API
terminalSpawn(command, options)
return type: ChildProcess
Executes the command inside of Node.js as if it were run in the shell. Since it is just a lightweight wrapper around
command
type: string
The command will be run using the shell and the output will be redirected to the shell. This means that it will essentially function as if you ran it directly in a shell such as /bin/sh
, but inside of Node.js.
options
type: SpawnOptions
These are the options to pass to child_process.spawn
they are the same as the spawn
options and are passed directly to child_process.spawn
.
By default they are:
{
stdio: 'inherit',
shell: true,
}
Which allows terminalSpawn
to act like a terminal. However, if you wanted the nice argument passing of terminalSpawn, e.g. 'echo "hello world!"
without actually using the terminal, then you could disable this using options
.
License
MIT Copyright (c) David Piper