UNPKG

electron-forge

Version:

A complete tool for building modern Electron applications

114 lines (88 loc) 3.55 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.isSupportedOnCurrentPlatform = undefined; var _assign = require('babel-runtime/core-js/object/assign'); var _assign2 = _interopRequireDefault(_assign); var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); var _bluebird = require('bluebird'); var _fsPromise = require('fs-promise'); var _fsPromise2 = _interopRequireDefault(_fsPromise); var _path = require('path'); var _path2 = _interopRequireDefault(_path); var _pify = require('pify'); var _pify2 = _interopRequireDefault(_pify); var _ensureOutput = require('../../util/ensure-output'); var _configFn = require('../../util/config-fn'); var _configFn2 = _interopRequireDefault(_configFn); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // electron-installer-dmg doesn't set its 'os' field even though it depends on // appdmg, which is darwin-only var isSupportedOnCurrentPlatform = exports.isSupportedOnCurrentPlatform = function () { var _ref = (0, _bluebird.coroutine)(_regenerator2.default.mark(function _callee() { return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: return _context.abrupt('return', process.platform === 'darwin'); case 1: case 'end': return _context.stop(); } } }, _callee, undefined); })); return function isSupportedOnCurrentPlatform() { return _ref.apply(this, arguments); }; }(); exports.default = function () { var _ref2 = (0, _bluebird.coroutine)(_regenerator2.default.mark(function _callee2(_ref3) { var dir = _ref3.dir, appName = _ref3.appName, targetArch = _ref3.targetArch, forgeConfig = _ref3.forgeConfig, packageJSON = _ref3.packageJSON; var electronDMG, userConfig, outPath, wantedOutPath, dmgConfig; return _regenerator2.default.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: electronDMG = require('electron-installer-dmg'); userConfig = (0, _configFn2.default)(forgeConfig.electronInstallerDMG, targetArch); outPath = _path2.default.resolve(dir, '../make', (userConfig.name || appName) + '.dmg'); wantedOutPath = _path2.default.resolve(dir, '../make', appName + '-' + packageJSON.version + '.dmg'); _context2.next = 6; return (0, _ensureOutput.ensureFile)(outPath); case 6: dmgConfig = (0, _assign2.default)({ overwrite: true, name: appName }, userConfig, { appPath: _path2.default.resolve(dir, appName + '.app'), out: _path2.default.dirname(outPath) }); _context2.next = 9; return (0, _pify2.default)(electronDMG)(dmgConfig); case 9: if (userConfig.name) { _context2.next = 12; break; } _context2.next = 12; return _fsPromise2.default.rename(outPath, wantedOutPath); case 12: return _context2.abrupt('return', [wantedOutPath]); case 13: case 'end': return _context2.stop(); } } }, _callee2, undefined); })); return function (_x) { return _ref2.apply(this, arguments); }; }();