@electron-forge/installer-darwin
Version:
Base darwin file installer for Electron Forge
68 lines (67 loc) • 6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "InstallerOptions", {
enumerable: true,
get: function() {
return _installerBase.InstallerOptions;
}
});
exports.default = void 0;
var _installerBase = _interopRequireWildcard(require("@electron-forge/installer-base"));
var _fsExtra = _interopRequireDefault(require("fs-extra"));
var _path = _interopRequireDefault(require("path"));
var _util = require("util");
var _sudoPrompt = _interopRequireDefault(require("sudo-prompt"));
var _childProcess = require("child_process");
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
function _interopRequireWildcard(obj) {
if (obj && obj.__esModule) {
return obj;
} else {
var newObj = {};
if (obj != null) {
for(var key in obj){
if (Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
if (desc.get || desc.set) {
Object.defineProperty(newObj, key, desc);
} else {
newObj[key] = obj[key];
}
}
}
}
newObj.default = obj;
return newObj;
}
}
class InstallerDarwin extends _installerBase.default {
async moveApp(appPath, targetApplicationPath, spinner, copyInstead = false) {
let writeAccess = true;
try {
await _fsExtra.default.access('/Applications', _fsExtra.default.constants.W_OK);
} catch (err) {
writeAccess = false;
}
if (await _fsExtra.default.pathExists(targetApplicationPath)) {
spinner.fail();
throw new Error(`The application "${_path.default.basename(targetApplicationPath)}" appears to already exist in /Applications.`);
}
const moveCommand = `${copyInstead ? 'cp -r' : 'mv'} "${appPath}" "${targetApplicationPath}"`;
if (writeAccess) {
await (0, _util).promisify(_childProcess.exec)(moveCommand);
} else {
await (0, _util).promisify(_sudoPrompt.default.exec)(moveCommand, {
name: 'Electron Forge'
});
}
}
}
exports.default = InstallerDarwin;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9JbnN0YWxsZXJEYXJ3aW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3JhSW1wbCB9IGZyb20gJ0BlbGVjdHJvbi1mb3JnZS9hc3luYy1vcmEnO1xuaW1wb3J0IEluc3RhbGxlckJhc2UsIHsgSW5zdGFsbGVyT3B0aW9ucyB9IGZyb20gJ0BlbGVjdHJvbi1mb3JnZS9pbnN0YWxsZXItYmFzZSc7XG5cbmltcG9ydCBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IHByb21pc2lmeSB9IGZyb20gJ3V0aWwnO1xuaW1wb3J0IHN1ZG8gZnJvbSAnc3Vkby1wcm9tcHQnO1xuaW1wb3J0IHsgZXhlYyB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuXG5leHBvcnQgeyBJbnN0YWxsZXJPcHRpb25zIH07XG5cbmV4cG9ydCBkZWZhdWx0IGFic3RyYWN0IGNsYXNzIEluc3RhbGxlckRhcndpbiBleHRlbmRzIEluc3RhbGxlckJhc2Uge1xuICBhc3luYyBtb3ZlQXBwKGFwcFBhdGg6IHN0cmluZywgdGFyZ2V0QXBwbGljYXRpb25QYXRoOiBzdHJpbmcsIHNwaW5uZXI6IE9yYUltcGwsIGNvcHlJbnN0ZWFkID0gZmFsc2UpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBsZXQgd3JpdGVBY2Nlc3MgPSB0cnVlO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBmcy5hY2Nlc3MoJy9BcHBsaWNhdGlvbnMnLCBmcy5jb25zdGFudHMuV19PSyk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB3cml0ZUFjY2VzcyA9IGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChhd2FpdCBmcy5wYXRoRXhpc3RzKHRhcmdldEFwcGxpY2F0aW9uUGF0aCkpIHtcbiAgICAgIHNwaW5uZXIuZmFpbCgpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgYXBwbGljYXRpb24gXCIke3BhdGguYmFzZW5hbWUodGFyZ2V0QXBwbGljYXRpb25QYXRoKX1cIiBhcHBlYXJzIHRvIGFscmVhZHkgZXhpc3QgaW4gL0FwcGxpY2F0aW9ucy5gKTtcbiAgICB9XG5cbiAgICBjb25zdCBtb3ZlQ29tbWFuZCA9IGAke2NvcHlJbnN0ZWFkID8gJ2NwIC1yJyA6ICdtdid9IFwiJHthcHBQYXRofVwiIFwiJHt0YXJnZXRBcHBsaWNhdGlvblBhdGh9XCJgO1xuICAgIGlmICh3cml0ZUFjY2Vzcykge1xuICAgICAgYXdhaXQgcHJvbWlzaWZ5KGV4ZWMpKG1vdmVDb21tYW5kKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgKHByb21pc2lmeShzdWRvLmV4ZWMpIGFzIChjbWQ6IHN0cmluZywgb3B0czogdW5rbm93bikgPT4gUHJvbWlzZTx1bmtub3duPikobW92ZUNvbW1hbmQsIHtcbiAgICAgICAgbmFtZTogJ0VsZWN0cm9uIEZvcmdlJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbIkluc3RhbGxlck9wdGlvbnMiLCJJbnN0YWxsZXJEYXJ3aW4iLCJJbnN0YWxsZXJCYXNlIiwibW92ZUFwcCIsImFwcFBhdGgiLCJ0YXJnZXRBcHBsaWNhdGlvblBhdGgiLCJzcGlubmVyIiwiY29weUluc3RlYWQiLCJ3cml0ZUFjY2VzcyIsImZzIiwiYWNjZXNzIiwiY29uc3RhbnRzIiwiV19PSyIsImVyciIsInBhdGhFeGlzdHMiLCJmYWlsIiwiRXJyb3IiLCJwYXRoIiwiYmFzZW5hbWUiLCJtb3ZlQ29tbWFuZCIsInByb21pc2lmeSIsImV4ZWMiLCJzdWRvIiwibmFtZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFTU0EsQ0FBZ0I7OztlQUFoQkEsY0FBZ0I7Ozs7QUFSdUIsR0FBZ0MsQ0FBaEMsY0FBZ0M7QUFFakUsR0FBVSxDQUFWLFFBQVU7QUFDUixHQUFNLENBQU4sS0FBTTtBQUNHLEdBQU0sQ0FBTixLQUFNO0FBQ2YsR0FBYSxDQUFiLFdBQWE7QUFDVCxHQUFlLENBQWYsYUFBZTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BSU5DLGVBQWUsU0FBU0MsY0FBYTtVQUMzREMsT0FBTyxDQUFDQyxPQUFlLEVBQUVDLHFCQUE2QixFQUFFQyxPQUFnQixFQUFFQyxXQUFXLEdBQUcsS0FBSyxFQUFpQixDQUFDO1FBQ25ILEdBQUcsQ0FBQ0MsV0FBVyxHQUFHLElBQUk7UUFDdEIsR0FBRyxDQUFDLENBQUM7WUFDSCxLQUFLLENBQUNDLFFBQUUsU0FBQ0MsTUFBTSxDQUFDLENBQWUsZ0JBQUVELFFBQUUsU0FBQ0UsU0FBUyxDQUFDQyxJQUFJO1FBQ3BELENBQUMsQ0FBQyxLQUFLLEVBQUVDLEdBQUcsRUFBRSxDQUFDO1lBQ2JMLFdBQVcsR0FBRyxLQUFLO1FBQ3JCLENBQUM7UUFFRCxFQUFFLEVBQUUsS0FBSyxDQUFDQyxRQUFFLFNBQUNLLFVBQVUsQ0FBQ1QscUJBQXFCLEdBQUcsQ0FBQztZQUMvQ0MsT0FBTyxDQUFDUyxJQUFJO1lBQ1osS0FBSyxDQUFDLEdBQUcsQ0FBQ0MsS0FBSyxFQUFFLGlCQUFpQixFQUFFQyxLQUFJLFNBQUNDLFFBQVEsQ0FBQ2IscUJBQXFCLEVBQUUsNENBQTRDO1FBQ3ZILENBQUM7UUFFRCxLQUFLLENBQUNjLFdBQVcsTUFBTVosV0FBVyxHQUFHLENBQU8sU0FBRyxDQUFJLElBQUMsRUFBRSxFQUFFSCxPQUFPLENBQUMsR0FBRyxFQUFFQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzVGLEVBQUUsRUFBRUcsV0FBVyxFQUFFLENBQUM7WUFDaEIsS0FBSyxLQUFDWSxLQUFTLFlBQUNDLGFBQUksT0FBRUYsV0FBVztRQUNuQyxDQUFDLE1BQU0sQ0FBQztZQUNOLEtBQUssS0FBRUMsS0FBUyxZQUFDRSxXQUFJLFNBQUNELElBQUksRUFBdURGLFdBQVcsRUFBRSxDQUFDO2dCQUM3RkksSUFBSSxFQUFFLENBQWdCO1lBQ3hCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzs7a0JBdEIyQnRCLGVBQWUifQ==