electron-forge
Version:
A complete tool for building modern Electron applications
115 lines (90 loc) • 6.82 kB
JavaScript
;
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 _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);
var _isInstalled = require('../../util/is-installed');
var _isInstalled2 = _interopRequireDefault(_isInstalled);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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', (0, _isInstalled2.default)('electron-installer-flatpak'));
case 1:
case 'end':
return _context.stop();
}
}
}, _callee, undefined);
}));
return function isSupportedOnCurrentPlatform() {
return _ref.apply(this, arguments);
};
}();
function flatpakArch(nodeArch) {
switch (nodeArch) {
case 'ia32':
return 'i386';
case 'x64':
return 'x86_64';
case 'armv7l':
return 'arm';
// arm => arm
default:
return nodeArch;
}
}
exports.default = function () {
var _ref2 = (0, _bluebird.coroutine)(_regenerator2.default.mark(function _callee2(_ref3) {
var dir = _ref3.dir,
targetArch = _ref3.targetArch,
forgeConfig = _ref3.forgeConfig,
packageJSON = _ref3.packageJSON;
var installer, arch, outPath, flatpakDefaults, flatpakConfig;
return _regenerator2.default.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
installer = require('electron-installer-flatpak');
arch = flatpakArch(targetArch);
outPath = _path2.default.resolve(dir, '../make', packageJSON.name + '_' + packageJSON.version + '_' + arch + '.flatpak');
_context2.next = 5;
return (0, _ensureOutput.ensureFile)(outPath);
case 5:
flatpakDefaults = {
arch: arch,
dest: _path2.default.dirname(outPath),
src: dir
};
flatpakConfig = (0, _assign2.default)({}, (0, _configFn2.default)(forgeConfig.electronInstallerFlatpak, targetArch), flatpakDefaults);
_context2.next = 9;
return (0, _pify2.default)(installer)(flatpakConfig);
case 9:
return _context2.abrupt('return', [outPath]);
case 10:
case 'end':
return _context2.stop();
}
}
}, _callee2, undefined);
}));
return function (_x) {
return _ref2.apply(this, arguments);
};
}();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1ha2Vycy9saW51eC9mbGF0cGFrLmpzIl0sIm5hbWVzIjpbImlzU3VwcG9ydGVkT25DdXJyZW50UGxhdGZvcm0iLCJmbGF0cGFrQXJjaCIsIm5vZGVBcmNoIiwiZGlyIiwidGFyZ2V0QXJjaCIsImZvcmdlQ29uZmlnIiwicGFja2FnZUpTT04iLCJpbnN0YWxsZXIiLCJyZXF1aXJlIiwiYXJjaCIsIm91dFBhdGgiLCJyZXNvbHZlIiwibmFtZSIsInZlcnNpb24iLCJmbGF0cGFrRGVmYXVsdHMiLCJkZXN0IiwiZGlybmFtZSIsInNyYyIsImZsYXRwYWtDb25maWciLCJlbGVjdHJvbkluc3RhbGxlckZsYXRwYWsiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7QUFDQTs7OztBQUVBOztBQUNBOzs7O0FBQ0E7Ozs7OztBQUVPLElBQU1BO0FBQUEsaUVBQStCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSw2Q0FBWSwyQkFBWSw0QkFBWixDQUFaOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEdBQS9COztBQUFBO0FBQUE7QUFBQTtBQUFBLEdBQU47O0FBRVAsU0FBU0MsV0FBVCxDQUFxQkMsUUFBckIsRUFBK0I7QUFDN0IsVUFBUUEsUUFBUjtBQUNFLFNBQUssTUFBTDtBQUFhLGFBQU8sTUFBUDtBQUNiLFNBQUssS0FBTDtBQUFZLGFBQU8sUUFBUDtBQUNaLFNBQUssUUFBTDtBQUFlLGFBQU8sS0FBUDtBQUNmO0FBQ0E7QUFBUyxhQUFPQSxRQUFQO0FBTFg7QUFPRDs7O2tFQUVjO0FBQUEsUUFBU0MsR0FBVCxTQUFTQSxHQUFUO0FBQUEsUUFBY0MsVUFBZCxTQUFjQSxVQUFkO0FBQUEsUUFBMEJDLFdBQTFCLFNBQTBCQSxXQUExQjtBQUFBLFFBQXVDQyxXQUF2QyxTQUF1Q0EsV0FBdkM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ1BDLHFCQURPLEdBQ0tDLFFBQVEsNEJBQVIsQ0FETDtBQUdQQyxnQkFITyxHQUdBUixZQUFZRyxVQUFaLENBSEE7QUFJUE0sbUJBSk8sR0FJRyxlQUFLQyxPQUFMLENBQWFSLEdBQWIsRUFBa0IsU0FBbEIsRUFBZ0NHLFlBQVlNLElBQTVDLFNBQW9ETixZQUFZTyxPQUFoRSxTQUEyRUosSUFBM0UsY0FKSDtBQUFBO0FBQUEsbUJBTVAsOEJBQVdDLE9BQVgsQ0FOTzs7QUFBQTtBQU9QSSwyQkFQTyxHQU9XO0FBQ3RCTCx3QkFEc0I7QUFFdEJNLG9CQUFNLGVBQUtDLE9BQUwsQ0FBYU4sT0FBYixDQUZnQjtBQUd0Qk8sbUJBQUtkO0FBSGlCLGFBUFg7QUFZUGUseUJBWk8sR0FZUyxzQkFBYyxFQUFkLEVBQWtCLHdCQUFTYixZQUFZYyx3QkFBckIsRUFBK0NmLFVBQS9DLENBQWxCLEVBQThFVSxlQUE5RSxDQVpUO0FBQUE7QUFBQSxtQkFjUCxvQkFBS1AsU0FBTCxFQUFnQlcsYUFBaEIsQ0FkTzs7QUFBQTtBQUFBLDhDQWVOLENBQUNSLE9BQUQsQ0FmTTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHIiwiZmlsZSI6Im1ha2Vycy9saW51eC9mbGF0cGFrLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgcGlmeSBmcm9tICdwaWZ5JztcblxuaW1wb3J0IHsgZW5zdXJlRmlsZSB9IGZyb20gJy4uLy4uL3V0aWwvZW5zdXJlLW91dHB1dCc7XG5pbXBvcnQgY29uZmlnRm4gZnJvbSAnLi4vLi4vdXRpbC9jb25maWctZm4nO1xuaW1wb3J0IGlzSW5zdGFsbGVkIGZyb20gJy4uLy4uL3V0aWwvaXMtaW5zdGFsbGVkJztcblxuZXhwb3J0IGNvbnN0IGlzU3VwcG9ydGVkT25DdXJyZW50UGxhdGZvcm0gPSBhc3luYyAoKSA9PiBpc0luc3RhbGxlZCgnZWxlY3Ryb24taW5zdGFsbGVyLWZsYXRwYWsnKTtcblxuZnVuY3Rpb24gZmxhdHBha0FyY2gobm9kZUFyY2gpIHtcbiAgc3dpdGNoIChub2RlQXJjaCkge1xuICAgIGNhc2UgJ2lhMzInOiByZXR1cm4gJ2kzODYnO1xuICAgIGNhc2UgJ3g2NCc6IHJldHVybiAneDg2XzY0JztcbiAgICBjYXNlICdhcm12N2wnOiByZXR1cm4gJ2FybSc7XG4gICAgLy8gYXJtID0+IGFybVxuICAgIGRlZmF1bHQ6IHJldHVybiBub2RlQXJjaDtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBhc3luYyAoeyBkaXIsIHRhcmdldEFyY2gsIGZvcmdlQ29uZmlnLCBwYWNrYWdlSlNPTiB9KSA9PiB7XG4gIGNvbnN0IGluc3RhbGxlciA9IHJlcXVpcmUoJ2VsZWN0cm9uLWluc3RhbGxlci1mbGF0cGFrJyk7XG5cbiAgY29uc3QgYXJjaCA9IGZsYXRwYWtBcmNoKHRhcmdldEFyY2gpO1xuICBjb25zdCBvdXRQYXRoID0gcGF0aC5yZXNvbHZlKGRpciwgJy4uL21ha2UnLCBgJHtwYWNrYWdlSlNPTi5uYW1lfV8ke3BhY2thZ2VKU09OLnZlcnNpb259XyR7YXJjaH0uZmxhdHBha2ApO1xuXG4gIGF3YWl0IGVuc3VyZUZpbGUob3V0UGF0aCk7XG4gIGNvbnN0IGZsYXRwYWtEZWZhdWx0cyA9IHtcbiAgICBhcmNoLFxuICAgIGRlc3Q6IHBhdGguZGlybmFtZShvdXRQYXRoKSxcbiAgICBzcmM6IGRpcixcbiAgfTtcbiAgY29uc3QgZmxhdHBha0NvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIGNvbmZpZ0ZuKGZvcmdlQ29uZmlnLmVsZWN0cm9uSW5zdGFsbGVyRmxhdHBhaywgdGFyZ2V0QXJjaCksIGZsYXRwYWtEZWZhdWx0cyk7XG5cbiAgYXdhaXQgcGlmeShpbnN0YWxsZXIpKGZsYXRwYWtDb25maWcpO1xuICByZXR1cm4gW291dFBhdGhdO1xufTtcbiJdfQ==