UNPKG

better-npm-init

Version:

A better version of npm init, with templates and more. Usage: better-npm-init <template> [--yarn] [--install] [--git] [--yes] [--help]

66 lines (46 loc) 5.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; require("source-map-support/register"); var _installerDarwin = _interopRequireDefault(require("@electron-forge/installer-darwin")); var _crossSpawnPromise = require("@malept/cross-spawn-promise"); var _fsExtra = _interopRequireDefault(require("fs-extra")); var _path = _interopRequireDefault(require("path")); var _hdiutil = require("./util/hdiutil"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } class InstallerDMG extends _installerDarwin.default { constructor(...args) { super(...args); _defineProperty(this, "name", 'dmg'); } async install({ filePath, installSpinner }) { const mounts = await (0, _hdiutil.getMountedImages)(); let targetMount = mounts.find(mount => mount.imagePath === filePath); if (!targetMount) { targetMount = await (0, _hdiutil.mountImage)(filePath); } try { const volumePath = _path.default.resolve('/Volumes', targetMount.mountPath); const appName = (await _fsExtra.default.readdir(volumePath)).find(file => file.endsWith('.app')); if (!appName) { throw new Error('Failed to find .app file in DMG'); } const appPath = _path.default.resolve(volumePath, appName); const targetApplicationPath = `/Applications/${_path.default.basename(appPath)}`; await this.moveApp(appPath, targetApplicationPath, installSpinner, true); await (0, _crossSpawnPromise.spawn)('open', ['-R', targetApplicationPath], { detached: true }); } finally { await (0, _hdiutil.unmountImage)(targetMount); } } } exports.default = InstallerDMG; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9JbnN0YWxsZXJETUcudHMiXSwibmFtZXMiOlsiSW5zdGFsbGVyRE1HIiwiSW5zdGFsbGVyRGFyd2luIiwiaW5zdGFsbCIsImZpbGVQYXRoIiwiaW5zdGFsbFNwaW5uZXIiLCJtb3VudHMiLCJ0YXJnZXRNb3VudCIsImZpbmQiLCJtb3VudCIsImltYWdlUGF0aCIsInZvbHVtZVBhdGgiLCJwYXRoIiwicmVzb2x2ZSIsIm1vdW50UGF0aCIsImFwcE5hbWUiLCJmcyIsInJlYWRkaXIiLCJmaWxlIiwiZW5kc1dpdGgiLCJFcnJvciIsImFwcFBhdGgiLCJ0YXJnZXRBcHBsaWNhdGlvblBhdGgiLCJiYXNlbmFtZSIsIm1vdmVBcHAiLCJkZXRhY2hlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBRUE7Ozs7OztBQUVlLE1BQU1BLFlBQU4sU0FBMkJDLHdCQUEzQixDQUEyQztBQUFBO0FBQUE7O0FBQUEsa0NBQ2pELEtBRGlEO0FBQUE7O0FBRzNDLFFBQVBDLE9BQU8sQ0FBQztBQUFFQyxJQUFBQSxRQUFGO0FBQVlDLElBQUFBO0FBQVosR0FBRCxFQUFnRTtBQUMzRSxVQUFNQyxNQUFNLEdBQUcsTUFBTSxnQ0FBckI7QUFDQSxRQUFJQyxXQUFXLEdBQUdELE1BQU0sQ0FBQ0UsSUFBUCxDQUFhQyxLQUFELElBQVdBLEtBQUssQ0FBQ0MsU0FBTixLQUFvQk4sUUFBM0MsQ0FBbEI7O0FBRUEsUUFBSSxDQUFDRyxXQUFMLEVBQWtCO0FBQ2hCQSxNQUFBQSxXQUFXLEdBQUcsTUFBTSx5QkFBV0gsUUFBWCxDQUFwQjtBQUNEOztBQUVELFFBQUk7QUFDRixZQUFNTyxVQUFVLEdBQUdDLGNBQUtDLE9BQUwsQ0FBYSxVQUFiLEVBQXlCTixXQUFXLENBQUNPLFNBQXJDLENBQW5COztBQUNBLFlBQU1DLE9BQU8sR0FBRyxDQUFDLE1BQU1DLGlCQUFHQyxPQUFILENBQVdOLFVBQVgsQ0FBUCxFQUErQkgsSUFBL0IsQ0FBcUNVLElBQUQsSUFBVUEsSUFBSSxDQUFDQyxRQUFMLENBQWMsTUFBZCxDQUE5QyxDQUFoQjs7QUFDQSxVQUFJLENBQUNKLE9BQUwsRUFBYztBQUNaLGNBQU0sSUFBSUssS0FBSixDQUFVLGlDQUFWLENBQU47QUFDRDs7QUFDRCxZQUFNQyxPQUFPLEdBQUdULGNBQUtDLE9BQUwsQ0FBYUYsVUFBYixFQUF5QkksT0FBekIsQ0FBaEI7O0FBQ0EsWUFBTU8scUJBQXFCLEdBQUksaUJBQWdCVixjQUFLVyxRQUFMLENBQWNGLE9BQWQsQ0FBdUIsRUFBdEU7QUFFQSxZQUFNLEtBQUtHLE9BQUwsQ0FBYUgsT0FBYixFQUFzQkMscUJBQXRCLEVBQTZDakIsY0FBN0MsRUFBNkQsSUFBN0QsQ0FBTjtBQUVBLFlBQU0sOEJBQU0sTUFBTixFQUFjLENBQUMsSUFBRCxFQUFPaUIscUJBQVAsQ0FBZCxFQUE2QztBQUFFRyxRQUFBQSxRQUFRLEVBQUU7QUFBWixPQUE3QyxDQUFOO0FBQ0QsS0FaRCxTQVlVO0FBQ1IsWUFBTSwyQkFBYWxCLFdBQWIsQ0FBTjtBQUNEO0FBQ0Y7O0FBMUJ1RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBJbnN0YWxsZXJEYXJ3aW4sIHsgSW5zdGFsbGVyT3B0aW9ucyB9IGZyb20gJ0BlbGVjdHJvbi1mb3JnZS9pbnN0YWxsZXItZGFyd2luJztcblxuaW1wb3J0IHsgc3Bhd24gfSBmcm9tICdAbWFsZXB0L2Nyb3NzLXNwYXduLXByb21pc2UnO1xuaW1wb3J0IGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQgeyBnZXRNb3VudGVkSW1hZ2VzLCBtb3VudEltYWdlLCB1bm1vdW50SW1hZ2UgfSBmcm9tICcuL3V0aWwvaGRpdXRpbCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEluc3RhbGxlckRNRyBleHRlbmRzIEluc3RhbGxlckRhcndpbiB7XG4gIG5hbWUgPSAnZG1nJztcblxuICBhc3luYyBpbnN0YWxsKHsgZmlsZVBhdGgsIGluc3RhbGxTcGlubmVyIH06IEluc3RhbGxlck9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBtb3VudHMgPSBhd2FpdCBnZXRNb3VudGVkSW1hZ2VzKCk7XG4gICAgbGV0IHRhcmdldE1vdW50ID0gbW91bnRzLmZpbmQoKG1vdW50KSA9PiBtb3VudC5pbWFnZVBhdGggPT09IGZpbGVQYXRoKTtcblxuICAgIGlmICghdGFyZ2V0TW91bnQpIHtcbiAgICAgIHRhcmdldE1vdW50ID0gYXdhaXQgbW91bnRJbWFnZShmaWxlUGF0aCk7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHZvbHVtZVBhdGggPSBwYXRoLnJlc29sdmUoJy9Wb2x1bWVzJywgdGFyZ2V0TW91bnQubW91bnRQYXRoKTtcbiAgICAgIGNvbnN0IGFwcE5hbWUgPSAoYXdhaXQgZnMucmVhZGRpcih2b2x1bWVQYXRoKSkuZmluZCgoZmlsZSkgPT4gZmlsZS5lbmRzV2l0aCgnLmFwcCcpKTtcbiAgICAgIGlmICghYXBwTmFtZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmaW5kIC5hcHAgZmlsZSBpbiBETUcnKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGFwcFBhdGggPSBwYXRoLnJlc29sdmUodm9sdW1lUGF0aCwgYXBwTmFtZSk7XG4gICAgICBjb25zdCB0YXJnZXRBcHBsaWNhdGlvblBhdGggPSBgL0FwcGxpY2F0aW9ucy8ke3BhdGguYmFzZW5hbWUoYXBwUGF0aCl9YDtcblxuICAgICAgYXdhaXQgdGhpcy5tb3ZlQXBwKGFwcFBhdGgsIHRhcmdldEFwcGxpY2F0aW9uUGF0aCwgaW5zdGFsbFNwaW5uZXIsIHRydWUpO1xuXG4gICAgICBhd2FpdCBzcGF3bignb3BlbicsIFsnLVInLCB0YXJnZXRBcHBsaWNhdGlvblBhdGhdLCB7IGRldGFjaGVkOiB0cnVlIH0pO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCB1bm1vdW50SW1hZ2UodGFyZ2V0TW91bnQpO1xuICAgIH1cbiAgfVxufVxuIl19