electron-forge
Version:
A complete tool for building modern Electron applications
39 lines (27 loc) • 2.7 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.sudo = undefined;
var _bluebird = require('bluebird');
var _child_process = require('child_process');
var _pify = require('pify');
var _pify2 = _interopRequireDefault(_pify);
var _sudoPrompt = require('sudo-prompt');
var _sudoPrompt2 = _interopRequireDefault(_sudoPrompt);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const which = (() => {
var _ref = (0, _bluebird.coroutine)(function* (type, prog, promise) {
if ((0, _child_process.spawnSync)('which', [prog]).status === 0) {
yield promise;
} else {
throw new Error(`${prog} is required to install ${type} packages`);
}
});
return function which(_x, _x2, _x3) {
return _ref.apply(this, arguments);
};
})();
const sudo = exports.sudo = (type, prog, args) => which(type, prog, (0, _pify2.default)(_sudoPrompt2.default.exec)(`${prog} ${args}`, { name: 'Electron Forge' }));
exports.default = which;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWwvbGludXgtaW5zdGFsbGVyLmpzIl0sIm5hbWVzIjpbIndoaWNoIiwidHlwZSIsInByb2ciLCJwcm9taXNlIiwic3RhdHVzIiwiRXJyb3IiLCJzdWRvIiwiYXJncyIsInN1ZG9Qcm9tcHQiLCJleGVjIiwibmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7Ozs7QUFDQTs7Ozs7O0FBRUEsTUFBTUE7QUFBQSxzQ0FBUSxXQUFPQyxJQUFQLEVBQWFDLElBQWIsRUFBbUJDLE9BQW5CLEVBQStCO0FBQzNDLFFBQUksOEJBQVUsT0FBVixFQUFtQixDQUFDRCxJQUFELENBQW5CLEVBQTJCRSxNQUEzQixLQUFzQyxDQUExQyxFQUE2QztBQUMzQyxZQUFNRCxPQUFOO0FBQ0QsS0FGRCxNQUVPO0FBQ0wsWUFBTSxJQUFJRSxLQUFKLENBQVcsR0FBRUgsSUFBSywyQkFBMEJELElBQUssV0FBakQsQ0FBTjtBQUNEO0FBQ0YsR0FOSzs7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQUFOOztBQVFPLE1BQU1LLHNCQUFPLENBQUNMLElBQUQsRUFBT0MsSUFBUCxFQUFhSyxJQUFiLEtBQ2xCUCxNQUFNQyxJQUFOLEVBQVlDLElBQVosRUFBa0Isb0JBQUtNLHFCQUFXQyxJQUFoQixFQUF1QixHQUFFUCxJQUFLLElBQUdLLElBQUssRUFBdEMsRUFBeUMsRUFBRUcsTUFBTSxnQkFBUixFQUF6QyxDQUFsQixDQURLOztrQkFHUVYsSyIsImZpbGUiOiJ1dGlsL2xpbnV4LWluc3RhbGxlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNwYXduU3luYyB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0IHBpZnkgZnJvbSAncGlmeSc7XG5pbXBvcnQgc3Vkb1Byb21wdCBmcm9tICdzdWRvLXByb21wdCc7XG5cbmNvbnN0IHdoaWNoID0gYXN5bmMgKHR5cGUsIHByb2csIHByb21pc2UpID0+IHtcbiAgaWYgKHNwYXduU3luYygnd2hpY2gnLCBbcHJvZ10pLnN0YXR1cyA9PT0gMCkge1xuICAgIGF3YWl0IHByb21pc2U7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAke3Byb2d9IGlzIHJlcXVpcmVkIHRvIGluc3RhbGwgJHt0eXBlfSBwYWNrYWdlc2ApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgc3VkbyA9ICh0eXBlLCBwcm9nLCBhcmdzKSA9PlxuICB3aGljaCh0eXBlLCBwcm9nLCBwaWZ5KHN1ZG9Qcm9tcHQuZXhlYykoYCR7cHJvZ30gJHthcmdzfWAsIHsgbmFtZTogJ0VsZWN0cm9uIEZvcmdlJyB9KSk7XG5cbmV4cG9ydCBkZWZhdWx0IHdoaWNoO1xuIl19
;