Atocha
Run a command in your terminal. Tiny exec() with promises and trim() for Node.js:
import cmd from 'atocha';
(async () => {
console.log(await cmd('ls'));
console.log(await cmd('ls').split('\n'));
console.log(await cmd('sort record.txt | uniq'));
})();
Terminal Atocha; Madrid's train station.
Better exec()
- Automatic
.trim()
so you don't have to do it manually. - Higher max buffer. 10 MB instead of 200 KB.
- Await/Async Promise interface works as you know and love.
- Better error handling.
stderr
will reject the promise with an error instance. Can be caught as normal with .catch()
or try {} catch (error) {}
. - Advanced Promise interface so you can concatenate operations easily.
- Full commands, commands with piping, etc. Note: Do not pass unsanitized input since there's no filtering going on. See execa for that.
Getting started
Install it in your project:
npm install atocha
Import it to be able to use it in your code:
const cmd = require('atocha');
import cmd from 'atocha';
Examples
Parsing this package's information:
const out = await cmd(`npm info atocha --json`);
const info = JSON.parse(out);
console.log(info.name + '@' + info.version);