UNPKG

electron-forge

Version:

A complete tool for building modern Electron applications

52 lines (35 loc) 4.4 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _bluebird = require('bluebird'); var _crossSpawnPromise = require('cross-spawn-promise'); var _crossSpawnPromise2 = _interopRequireDefault(_crossSpawnPromise); var _fsExtra = require('fs-extra'); var _fsExtra2 = _interopRequireDefault(_fsExtra); var _path = require('path'); var _path2 = _interopRequireDefault(_path); var _moveApp = require('../../util/move-app'); var _moveApp2 = _interopRequireDefault(_moveApp); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = (() => { var _ref = (0, _bluebird.coroutine)(function* (filePath, installSpinner) { yield (0, _crossSpawnPromise2.default)('unzip', ['-q', '-o', _path2.default.basename(filePath)], { cwd: _path2.default.dirname(filePath) }); const appPath = (yield _fsExtra2.default.readdir(_path2.default.dirname(filePath))).filter(function (file) { return file.endsWith('.app'); }).map(function (file) { return _path2.default.resolve(_path2.default.dirname(filePath), file); }).sort(function (fA, fB) { return _fsExtra2.default.statSync(fA).ctime.getTime() - _fsExtra2.default.statSync(fB).ctime.getTime(); })[0]; const targetApplicationPath = `/Applications/${_path2.default.basename(appPath)}`; yield (0, _moveApp2.default)(appPath, targetApplicationPath, installSpinner); yield (0, _crossSpawnPromise2.default)('open', ['-R', targetApplicationPath], { detached: true }); }); return function (_x, _x2) { return _ref.apply(this, arguments); }; })(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluc3RhbGxlcnMvZGFyd2luL3ppcC5qcyJdLCJuYW1lcyI6WyJmaWxlUGF0aCIsImluc3RhbGxTcGlubmVyIiwicGF0aCIsImJhc2VuYW1lIiwiY3dkIiwiZGlybmFtZSIsImFwcFBhdGgiLCJmcyIsInJlYWRkaXIiLCJmaWx0ZXIiLCJmaWxlIiwiZW5kc1dpdGgiLCJtYXAiLCJyZXNvbHZlIiwic29ydCIsImZBIiwiZkIiLCJzdGF0U3luYyIsImN0aW1lIiwiZ2V0VGltZSIsInRhcmdldEFwcGxpY2F0aW9uUGF0aCIsImRldGFjaGVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7Ozs7O3NDQUVlLFdBQU9BLFFBQVAsRUFBaUJDLGNBQWpCLEVBQW9DO0FBQ2pELFVBQU0saUNBQWEsT0FBYixFQUFzQixDQUFDLElBQUQsRUFBTyxJQUFQLEVBQWFDLGVBQUtDLFFBQUwsQ0FBY0gsUUFBZCxDQUFiLENBQXRCLEVBQTZEO0FBQ2pFSSxXQUFLRixlQUFLRyxPQUFMLENBQWFMLFFBQWI7QUFENEQsS0FBN0QsQ0FBTjs7QUFJQSxVQUFNTSxVQUFVLENBQUMsTUFBTUMsa0JBQUdDLE9BQUgsQ0FBV04sZUFBS0csT0FBTCxDQUFhTCxRQUFiLENBQVgsQ0FBUCxFQUEyQ1MsTUFBM0MsQ0FBa0Q7QUFBQSxhQUFRQyxLQUFLQyxRQUFMLENBQWMsTUFBZCxDQUFSO0FBQUEsS0FBbEQsRUFDYkMsR0FEYSxDQUNUO0FBQUEsYUFBUVYsZUFBS1csT0FBTCxDQUFhWCxlQUFLRyxPQUFMLENBQWFMLFFBQWIsQ0FBYixFQUFxQ1UsSUFBckMsQ0FBUjtBQUFBLEtBRFMsRUFFYkksSUFGYSxDQUVSLFVBQUNDLEVBQUQsRUFBS0MsRUFBTDtBQUFBLGFBQVlULGtCQUFHVSxRQUFILENBQVlGLEVBQVosRUFBZ0JHLEtBQWhCLENBQXNCQyxPQUF0QixLQUFrQ1osa0JBQUdVLFFBQUgsQ0FBWUQsRUFBWixFQUFnQkUsS0FBaEIsQ0FBc0JDLE9BQXRCLEVBQTlDO0FBQUEsS0FGUSxFQUV1RSxDQUZ2RSxDQUFoQjs7QUFJQSxVQUFNQyx3QkFBeUIsaUJBQWdCbEIsZUFBS0MsUUFBTCxDQUFjRyxPQUFkLENBQXVCLEVBQXRFOztBQUVBLFVBQU0sdUJBQVFBLE9BQVIsRUFBaUJjLHFCQUFqQixFQUF3Q25CLGNBQXhDLENBQU47O0FBRUEsVUFBTSxpQ0FBYSxNQUFiLEVBQXFCLENBQUMsSUFBRCxFQUFPbUIscUJBQVAsQ0FBckIsRUFBb0QsRUFBRUMsVUFBVSxJQUFaLEVBQXBELENBQU47QUFDRCxHIiwiZmlsZSI6Imluc3RhbGxlcnMvZGFyd2luL3ppcC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzcGF3blByb21pc2UgZnJvbSAnY3Jvc3Mtc3Bhd24tcHJvbWlzZSc7XG5pbXBvcnQgZnMgZnJvbSAnZnMtZXh0cmEnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgbW92ZUFwcCBmcm9tICcuLi8uLi91dGlsL21vdmUtYXBwJztcblxuZXhwb3J0IGRlZmF1bHQgYXN5bmMgKGZpbGVQYXRoLCBpbnN0YWxsU3Bpbm5lcikgPT4ge1xuICBhd2FpdCBzcGF3blByb21pc2UoJ3VuemlwJywgWyctcScsICctbycsIHBhdGguYmFzZW5hbWUoZmlsZVBhdGgpXSwge1xuICAgIGN3ZDogcGF0aC5kaXJuYW1lKGZpbGVQYXRoKSxcbiAgfSk7XG5cbiAgY29uc3QgYXBwUGF0aCA9IChhd2FpdCBmcy5yZWFkZGlyKHBhdGguZGlybmFtZShmaWxlUGF0aCkpKS5maWx0ZXIoZmlsZSA9PiBmaWxlLmVuZHNXaXRoKCcuYXBwJykpXG4gICAgLm1hcChmaWxlID0+IHBhdGgucmVzb2x2ZShwYXRoLmRpcm5hbWUoZmlsZVBhdGgpLCBmaWxlKSlcbiAgICAuc29ydCgoZkEsIGZCKSA9PiBmcy5zdGF0U3luYyhmQSkuY3RpbWUuZ2V0VGltZSgpIC0gZnMuc3RhdFN5bmMoZkIpLmN0aW1lLmdldFRpbWUoKSlbMF07XG5cbiAgY29uc3QgdGFyZ2V0QXBwbGljYXRpb25QYXRoID0gYC9BcHBsaWNhdGlvbnMvJHtwYXRoLmJhc2VuYW1lKGFwcFBhdGgpfWA7XG5cbiAgYXdhaXQgbW92ZUFwcChhcHBQYXRoLCB0YXJnZXRBcHBsaWNhdGlvblBhdGgsIGluc3RhbGxTcGlubmVyKTtcblxuICBhd2FpdCBzcGF3blByb21pc2UoJ29wZW4nLCBbJy1SJywgdGFyZ2V0QXBwbGljYXRpb25QYXRoXSwgeyBkZXRhY2hlZDogdHJ1ZSB9KTtcbn07XG4iXX0=