UNPKG

electron-forge

Version:

A complete tool for building modern Electron applications

64 lines (46 loc) 1.68 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.sudo = undefined; var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); 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 }; } var which = function () { var _ref = (0, _bluebird.coroutine)(_regenerator2.default.mark(function _callee(type, prog, promise) { return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: if (!((0, _child_process.spawnSync)('which', [prog]).status === 0)) { _context.next = 5; break; } _context.next = 3; return promise; case 3: _context.next = 6; break; case 5: throw new Error(prog + ' is required to install ' + type + ' packages'); case 6: case 'end': return _context.stop(); } } }, _callee, undefined); })); return function which(_x, _x2, _x3) { return _ref.apply(this, arguments); }; }(); var sudo = exports.sudo = function sudo(type, prog, args) { return which(type, prog, (0, _pify2.default)(_sudoPrompt2.default.exec)(prog + ' ' + args, { name: 'Electron Forge' })); }; exports.default = which;