Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
exec-series
Advanced tools
A Node module to run commands in order
const execSeries = require('exec-series');
execSeries(['echo "foo"', 'echo "bar"'], (err, stdouts, stderrs) => {
if (err) {
throw err;
}
console.log(stdouts); // yields: ['foo\n', 'bar\n']
console.log(stderrs); // yields: ['', '']
});
On Linux, you can do almost the same thing with &&
operator like below:
const {exec} = require('child_process');
exec('echo "foo" && echo "bar"', (err, stdout, stderr) => {
//...
});
However, some environments, such as Windows PowerShell, don't support &&
operator. This module helps you to create a cross-platform Node program.
npm install exec-series
const execSeries = require('exec-series');
commands: Array
of String
(the commands to run)
options: Object
(child_process.exec options with maxBuffer
defaulting to 10 MB)
callback: Function
It sequentially runs the commands using child_process.exec. If the first command has finished successfully, the second command will run, and so on.
After the last command has finished, it runs the callback function.
When one of the commands fails, it immediately calls the callback function and the rest of the commands won't be run.
error: Error
if one of the commands fails, otherwise undefined
stdoutArray: Array
of String
(stdout of the commands)
stderrArray: Array
of String
(stderr of the commands)
execSeries([
'mkdir foo',
'echo bar',
'exit 200',
'mkdir baz'
], (err, stdouts, stderrs) => {
err.code; //=> 200
stdouts; //=> ['', 'bar\n', '']
stderrs; //=> ['', '', '']
fs.statSync('foo').isDirectory; //=> true
fs.statSync('baz'); // throw an error
});
Callback function is optional.
execSeries(['mkdir foo', 'mkdir bar']);
setTimeout(() => {
fs.statSync('foo').isDirectory(); //=> true
fs.statSync('bar').isDirectory(); //=> true
}, 1000);
Copyright (c) 2014 - 2016 Shinnosuke Watanabe
Licensed under the MIT License.
FAQs
Run commands in order
The npm package exec-series receives a total of 54,922 weekly downloads. As such, exec-series popularity was classified as popular.
We found that exec-series demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.