🔀 Excute shell commands in queue
JavaScript
Switch branches/tags
Latest commit 92406a4 May 30, 2017 @afc163 committed on GitHub Merge pull request #12 from monkindey/master
event example typo
Permalink
Failed to load latest commit information.
tests use naive Promise always Mar 13, 2016
.gitignore promise Jan 14, 2015
.travis.yml remove bluebird from deps Nov 1, 2015
LICENSE first commit Nov 12, 2013
README.md event example typo May 30, 2017
index.js use naive Promise always Mar 13, 2016
package.json use naive Promise always Mar 13, 2016

README.md

exeq

Excute shell commands in queue.

NPM version Build Status David Status NPM downloads


Install

$ npm install exeq --save

Usage

exeq()

exeq(
  'mkdir example',
  'rm -rf example'
);

Promise 2.0.0+

// promise
exeq(
  'mkdir example',
  'cd example',
  'touch README.md',
  'touch somefile',
  'rm somefile',
  'ls -l',
  'cd ..',
  'rm -rf example',
  'ls -l > output.txt'
).then(function() {
  console.log('done!');
}).catch(function(err) {
  console.log(err);
});

Array

exeq([
  'mkdir example',
  'rm -rf example'
]);

stdout & stderr

exeq(
  'echo 123',
  'echo 456',
  'echo 789'
).then(function(results) {
  console.log(results[0].stdout); // '123'
  console.log(results[1].stdout); // '456'
  console.log(results[2].stdout); // '789'
});
exeq(
  'not-existed-command'
).then(function(results) {
}).catch(function(err) {
  console.log(err); // { code: '127', stderr: ' ... ' }
});

change cwd

// cd command would change spawn cwd automatically
// create README.md in example
exeq(
  'mkdir example',
  'cd example',
  'touch README.md'
);

Kill the execution

var proc = exeq([
  'echo 1',
  'sleep 10',
  'echo 2'
]);
proc.q.kill();

Events

var proc = exeq([
  'echo 1',
  'echo 2'
]);

proc.q.on('stdout', function(data) {
  console.log(data);
});

proc.q.on('stderr', function(data) {
  console.log(data);
});

proc.q.on('killed', function(reason) {
  console.log(reason);
});

proc.q.on('done', function() {
});

proc.q.on('failed', function() {
});

Test

$ npm test

License

The MIT License (MIT)

Support on Beerpay

Hey dude! Help me out for a couple of 🍻!

Beerpay Beerpay