spawn-npm-install

1.3.0 • Public • Published

spawn-npm-install

stable

Programmatically install/uninstall npm dependencies by spawning a npm child process.

var install = require('spawn-npm-install')

install(['through2', 'quote-stream'], { saveDev: true }, function(err) {
  if (err)
    console.error("Could not install:\n" + err.message)
  else
    console.log("Installed.")
})

Returns the child process, so you can print install log/warnings like so:

var proc = install('tape')
proc.stderr.pipe(process.stderr)
proc.stdout.pipe(process.stdout)

Or, to preserve log output and colors:

install('tape', { stdio: 'inherit' })

PRs welcome.

Usage

NPM

spawn = require('spawn-npm-install')

proc = spawn.install(dependencies, [opt], [cb])

Spawns an npm install using the given dependencies (string or array of strings). You can pass opt to the command, which will convert camel case to dash-case for the CLI arguments. The last parameter cb is the callback which is passed (err) on failure, or null otherwise.

You can specify a command for options to use instead of the default npm (e.g. for specialized analytics or other hooks).

Also accepts some options for the child process:

  • env environment variables
  • stdio the standard err/out
  • cwd the current working directory

Returns the child process.

Examples:

var install = require('spawn-npm-install')
install('tape', { saveDev: true }, done)

install(['zalgo', 'img'], function(err) {
  if (err) 
    console.error(err.message)
})

The default export spawn is the same as spawn.install, for symmetry.

proc = spawn.uninstall(dependencies, [opt], [cb])

The same as above, but triggers npm uninstall instead.

License

MIT, see LICENSE.md for details.

Package Sidebar

Install

npm i spawn-npm-install

Weekly Downloads

2,563

Version

1.3.0

License

MIT

Unpacked Size

5.84 kB

Total Files

4

Last publish

Collaborators

  • mattdesl