Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

exec-cmd

hybridables152MIT2.0.1

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

api, apis, aplus, async, bluebird, callback, callbacks, cb, cmd, cmds, command, commands, cross, cross-platform, easy, exec, execute, fast, hybrid, hybridify, hybridify-api, hybridify-apis, native, platform, promise, promises, promises-aplus, simple, spawn

readme

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

changelog

2.0.1 - 2015-05-17

  • Release v2.0.1 / npm@v2.0.1
  • update license year
  • update changelog
  • update readme/docs
  • update repo template
  • update code style, apply feross/standard

2.0.0 - 2015-01-30

  • Release v2.0.0 / npm@v2.0.0
  • update dependencies - bumping major, because the breaking change in async-exec-cmd
  • update docs
  • update tests

1.0.6 - 2015-01-26

  • Release v1.0.6 / npm@v1.0.6
  • update links, because the transfer tunnckoCore -> hybridables

1.0.5 - 2015-01-22

  • Release v1.0.5 / npm@v1.0.5
  • fix version ranges
  • fix api docs/docblocks
  • fix api docs
  • edit description
  • edit scripts
  • add async-exec-cmd
  • just move async logic to async-exec-cmd

1.0.4 - 2015-01-21

  • Release v1.0.4 / npm@v1.0.4
  • make it hybrid (with hybrid api) using hybridify
  • add more keywords
  • update license year and dotfiles

1.0.3 - 2014-12-21

1.0.2 - 2014-12-21

  • Release v1.0.2 / npm@v1.0.2
  • istabul ignores, coverage
  • switch to native-or-another, bump deps

1.0.1 - 2014-12-20

  • Release v1.0.1 / npm@v1.0.1
  • fix test fail on error code != 0 failing on travis

1.0.0 - 2014-12-20

  • Release v1.0.0 / npm@v1.0.0
  • remove Makefile
  • add lcov reporter, istanbul
  • add usage

0.0.1 - 2014-12-20

  • first commits