UNPKG

@sharekey/meteor-desktop

Version:

Build a Meteor's desktop client with hot code push.

64 lines (62 loc) 7.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _runtime = _interopRequireDefault(require("regenerator-runtime/runtime")); var _crossSpawn = _interopRequireDefault(require("cross-spawn")); var _log = _interopRequireDefault(require("./log")); var _defaultDependencies = _interopRequireDefault(require("./defaultDependencies")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Simple Electron runner. Runs the project with the bin provided by the 'electron' package. * @class */ class Electron { constructor($) { this.log = new _log.default('electron'); this.$ = $; } async init() { this.electron = await this.$.getDependency('electron', _defaultDependencies.default.electron); } run() { // Until: https://github.com/electron-userland/electron-prebuilt/pull/118 const { env } = process; env.ELECTRON_ENV = 'development'; const cmd = []; if (this.$.env.options.debug) { cmd.push('--inspect=5858'); } cmd.push('.'); const child = (0, _crossSpawn.default)(this.electron.dependency, cmd, { cwd: this.$.env.paths.electronApp.root, env }); // TODO: check if we can configure piping in spawn options child.stdout.on('data', chunk => { // Filter DevTools errors from output // https://github.com/electron/electron/issues/12185 // https://github.com/electron/electron/issues/12438 // https://github.com/electron/electron/issues/13008 if (/\[\d+:\d+\/|\d+\.\d+:ERROR:CONSOLE\(\d+\)\]/.test(chunk)) { return; } process.stdout.write(chunk); }); child.stderr.on('data', chunk => { // Filter DevTools errors from output // https://github.com/electron/electron/issues/12185 // https://github.com/electron/electron/issues/12438 // https://github.com/electron/electron/issues/13008 if (/\[\d+:\d+\/|\d+\.\d+:ERROR:CONSOLE\(\d+\)\]/.test(chunk)) { return; } process.stderr.write(chunk); }); } } exports.default = Electron; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcnVudGltZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2Nyb3NzU3Bhd24iLCJfbG9nIiwiX2RlZmF1bHREZXBlbmRlbmNpZXMiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIkVsZWN0cm9uIiwiY29uc3RydWN0b3IiLCIkIiwibG9nIiwiTG9nIiwiaW5pdCIsImVsZWN0cm9uIiwiZ2V0RGVwZW5kZW5jeSIsImRlZmF1bHREZXBlbmRlbmNpZXMiLCJydW4iLCJlbnYiLCJwcm9jZXNzIiwiRUxFQ1RST05fRU5WIiwiY21kIiwib3B0aW9ucyIsImRlYnVnIiwicHVzaCIsImNoaWxkIiwic3Bhd24iLCJkZXBlbmRlbmN5IiwiY3dkIiwicGF0aHMiLCJlbGVjdHJvbkFwcCIsInJvb3QiLCJzdGRvdXQiLCJvbiIsImNodW5rIiwidGVzdCIsIndyaXRlIiwic3RkZXJyIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uL2xpYi9lbGVjdHJvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcmVnZW5lcmF0b3JSdW50aW1lIGZyb20gJ3JlZ2VuZXJhdG9yLXJ1bnRpbWUvcnVudGltZSc7XG5pbXBvcnQgc3Bhd24gZnJvbSAnY3Jvc3Mtc3Bhd24nO1xuXG5pbXBvcnQgTG9nIGZyb20gJy4vbG9nJztcbmltcG9ydCBkZWZhdWx0RGVwZW5kZW5jaWVzIGZyb20gJy4vZGVmYXVsdERlcGVuZGVuY2llcyc7XG5cbi8qKlxuICogU2ltcGxlIEVsZWN0cm9uIHJ1bm5lci4gUnVucyB0aGUgcHJvamVjdCB3aXRoIHRoZSBiaW4gcHJvdmlkZWQgYnkgdGhlICdlbGVjdHJvbicgcGFja2FnZS5cbiAqIEBjbGFzc1xuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFbGVjdHJvbiB7XG4gICAgY29uc3RydWN0b3IoJCkge1xuICAgICAgICB0aGlzLmxvZyA9IG5ldyBMb2coJ2VsZWN0cm9uJyk7XG4gICAgICAgIHRoaXMuJCA9ICQ7XG4gICAgfVxuXG4gICAgYXN5bmMgaW5pdCgpIHtcbiAgICAgICAgdGhpcy5lbGVjdHJvbiA9IGF3YWl0IHRoaXMuJC5nZXREZXBlbmRlbmN5KCdlbGVjdHJvbicsIGRlZmF1bHREZXBlbmRlbmNpZXMuZWxlY3Ryb24pO1xuICAgIH1cblxuICAgIHJ1bigpIHtcbiAgICAgICAgLy8gVW50aWw6IGh0dHBzOi8vZ2l0aHViLmNvbS9lbGVjdHJvbi11c2VybGFuZC9lbGVjdHJvbi1wcmVidWlsdC9wdWxsLzExOFxuICAgICAgICBjb25zdCB7IGVudiB9ID0gcHJvY2VzcztcbiAgICAgICAgZW52LkVMRUNUUk9OX0VOViA9ICdkZXZlbG9wbWVudCc7XG5cbiAgICAgICAgY29uc3QgY21kID0gW107XG5cbiAgICAgICAgaWYgKHRoaXMuJC5lbnYub3B0aW9ucy5kZWJ1Zykge1xuICAgICAgICAgICAgY21kLnB1c2goJy0taW5zcGVjdD01ODU4Jyk7XG4gICAgICAgIH1cblxuICAgICAgICBjbWQucHVzaCgnLicpO1xuXG4gICAgICAgIGNvbnN0IGNoaWxkID0gc3Bhd24odGhpcy5lbGVjdHJvbi5kZXBlbmRlbmN5LCBjbWQsIHtcbiAgICAgICAgICAgIGN3ZDogdGhpcy4kLmVudi5wYXRocy5lbGVjdHJvbkFwcC5yb290LFxuICAgICAgICAgICAgZW52XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFRPRE86IGNoZWNrIGlmIHdlIGNhbiBjb25maWd1cmUgcGlwaW5nIGluIHNwYXduIG9wdGlvbnNcbiAgICAgICAgY2hpbGQuc3Rkb3V0Lm9uKCdkYXRhJywgKGNodW5rKSA9PiB7XG4gICAgICAgICAgICAvLyBGaWx0ZXIgRGV2VG9vbHMgZXJyb3JzIGZyb20gb3V0cHV0XG4gICAgICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZWxlY3Ryb24vZWxlY3Ryb24vaXNzdWVzLzEyMTg1XG4gICAgICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZWxlY3Ryb24vZWxlY3Ryb24vaXNzdWVzLzEyNDM4XG4gICAgICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZWxlY3Ryb24vZWxlY3Ryb24vaXNzdWVzLzEzMDA4XG4gICAgICAgICAgICBpZiAoL1xcW1xcZCs6XFxkK1xcL3xcXGQrXFwuXFxkKzpFUlJPUjpDT05TT0xFXFwoXFxkK1xcKVxcXS8udGVzdChjaHVuaykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHByb2Nlc3Muc3Rkb3V0LndyaXRlKGNodW5rKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNoaWxkLnN0ZGVyci5vbignZGF0YScsIChjaHVuaykgPT4ge1xuICAgICAgICAgICAgLy8gRmlsdGVyIERldlRvb2xzIGVycm9ycyBmcm9tIG91dHB1dFxuICAgICAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2VsZWN0cm9uL2VsZWN0cm9uL2lzc3Vlcy8xMjE4NVxuICAgICAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2VsZWN0cm9uL2VsZWN0cm9uL2lzc3Vlcy8xMjQzOFxuICAgICAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2VsZWN0cm9uL2VsZWN0cm9uL2lzc3Vlcy8xMzAwOFxuICAgICAgICAgICAgaWYgKC9cXFtcXGQrOlxcZCtcXC98XFxkK1xcLlxcZCs6RVJST1I6Q09OU09MRVxcKFxcZCtcXClcXF0vLnRlc3QoY2h1bmspKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwcm9jZXNzLnN0ZGVyci53cml0ZShjaHVuayk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUUsSUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsb0JBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUF3RCxTQUFBRCx1QkFBQUssR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUV4RDtBQUNBO0FBQ0E7QUFDQTtBQUNlLE1BQU1HLFFBQVEsQ0FBQztFQUMxQkMsV0FBV0EsQ0FBQ0MsQ0FBQyxFQUFFO0lBQ1gsSUFBSSxDQUFDQyxHQUFHLEdBQUcsSUFBSUMsWUFBRyxDQUFDLFVBQVUsQ0FBQztJQUM5QixJQUFJLENBQUNGLENBQUMsR0FBR0EsQ0FBQztFQUNkO0VBRUEsTUFBTUcsSUFBSUEsQ0FBQSxFQUFHO0lBQ1QsSUFBSSxDQUFDQyxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUNKLENBQUMsQ0FBQ0ssYUFBYSxDQUFDLFVBQVUsRUFBRUMsNEJBQW1CLENBQUNGLFFBQVEsQ0FBQztFQUN4RjtFQUVBRyxHQUFHQSxDQUFBLEVBQUc7SUFDRjtJQUNBLE1BQU07TUFBRUM7SUFBSSxDQUFDLEdBQUdDLE9BQU87SUFDdkJELEdBQUcsQ0FBQ0UsWUFBWSxHQUFHLGFBQWE7SUFFaEMsTUFBTUMsR0FBRyxHQUFHLEVBQUU7SUFFZCxJQUFJLElBQUksQ0FBQ1gsQ0FBQyxDQUFDUSxHQUFHLENBQUNJLE9BQU8sQ0FBQ0MsS0FBSyxFQUFFO01BQzFCRixHQUFHLENBQUNHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUM5QjtJQUVBSCxHQUFHLENBQUNHLElBQUksQ0FBQyxHQUFHLENBQUM7SUFFYixNQUFNQyxLQUFLLEdBQUcsSUFBQUMsbUJBQUssRUFBQyxJQUFJLENBQUNaLFFBQVEsQ0FBQ2EsVUFBVSxFQUFFTixHQUFHLEVBQUU7TUFDL0NPLEdBQUcsRUFBRSxJQUFJLENBQUNsQixDQUFDLENBQUNRLEdBQUcsQ0FBQ1csS0FBSyxDQUFDQyxXQUFXLENBQUNDLElBQUk7TUFDdENiO0lBQ0osQ0FBQyxDQUFDOztJQUVGO0lBQ0FPLEtBQUssQ0FBQ08sTUFBTSxDQUFDQyxFQUFFLENBQUMsTUFBTSxFQUFHQyxLQUFLLElBQUs7TUFDL0I7TUFDQTtNQUNBO01BQ0E7TUFDQSxJQUFJLDZDQUE2QyxDQUFDQyxJQUFJLENBQUNELEtBQUssQ0FBQyxFQUFFO1FBQzNEO01BQ0o7TUFFQWYsT0FBTyxDQUFDYSxNQUFNLENBQUNJLEtBQUssQ0FBQ0YsS0FBSyxDQUFDO0lBQy9CLENBQUMsQ0FBQztJQUNGVCxLQUFLLENBQUNZLE1BQU0sQ0FBQ0osRUFBRSxDQUFDLE1BQU0sRUFBR0MsS0FBSyxJQUFLO01BQy9CO01BQ0E7TUFDQTtNQUNBO01BQ0EsSUFBSSw2Q0FBNkMsQ0FBQ0MsSUFBSSxDQUFDRCxLQUFLLENBQUMsRUFBRTtRQUMzRDtNQUNKO01BRUFmLE9BQU8sQ0FBQ2tCLE1BQU0sQ0FBQ0QsS0FBSyxDQUFDRixLQUFLLENBQUM7SUFDL0IsQ0FBQyxDQUFDO0VBQ047QUFDSjtBQUFDSSxPQUFBLENBQUEvQixPQUFBLEdBQUFDLFFBQUEifQ==