'use strict'; const execa = require('execa'); const executable = require('executable'); module.exports = (bin, args) => { if (!Array.isArray(args)) { args = ['--help']; } return executable(bin) .then(works => { if (!works) { throw new Error(`Couldn't execute the \`${bin}\` binary. Make sure it has the right permissions.`); } return execa(bin, args); }) .then(res => res.code === 0); }; module.exports.sync = (bin, args) => { if (!Array.isArray(args)) { args = ['--help']; } if (!executable.sync(bin)) { throw new Error(`Couldn't execute the \`${bin}\` binary. Make sure it has the right permissions.`); } return execa.sync(bin, args).status === 0; };