exec-cmd

2.0.1 • Public • Published

exec-cmd npmjs.com The MIT License

Flexible and cross-platform executing commands. Hybrid, Async and Promise API.

code climate standard code style travis build status coverage status dependency status

Install

npm i exec-cmd --save
npm test

API

For more use-cases see the tests

execCmd

Hybrid execute command via spawn. Actually this is hybridify wrapper for async-exec-cmd, so for more detailed information see async-exec-cmd readme

  • <cmd> {String} command to execute
  • [args] {Array} sub-commands or flags, you also can pass them to cmd
  • [opts] {Object} options to pass to cross-spawn and child_process.spawn
  • [cb] {Function} optional node style callback
  • returns {Promise}

Example:

The command will directly output "Hello world!", because stdio: inherit, so res[0] which is the actual response of execution, will be empty string ''.

var run = require('exec-cmd')
var promise = run('echo "Hello world!"', {stdio: 'inherit'})
 
promise
.then(function(res) {
  var stdout = res[0]
  var code = res[1]
  var buffer = res[2]
 
  console.log(stdout, code, buffer)
  //=> '' 0 <Buffer >
})
.catch(console.error)

More advanced example

Say we want to install bluebird as dev dependency and after that uninstall it.

var run = require('exec-cmd');
 
run('npm install', ['--save-dev', 'bluebird'])
.then(function(arr) {
  var res = arr[0];
  var code = arr[1];
  var buffer = arr[2];
 
  console.log(res);
  //=> 'bluebird@2.9.3 node_modules/bluebird'
 
  // So we now want to uninstall it,
  // but we want to show response directly on console (stdout)
  return run('npm', ['uninstall', '--save-dev', 'bluebird'], {stdio: 'inherit'})
})
.then(function(arr) {
  // not need to console.log something,
  // it will directly output this
  //=> unbuild bluebird@2.9.3
})
.catch(console.error)

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
But before doing anything, please read the CONTRIBUTING.md guidelines.

Charlike Make Reagent new message to charlike freenode #charlike

tunnckocore.tk keybase tunnckocore tunnckoCore npm tunnckoCore twitter tunnckoCore github

Package Sidebar

Install

npm i exec-cmd

Weekly Downloads

7

Version

2.0.1

License

MIT

Last publish

Collaborators

  • vanchoy
  • tunnckocore