@sharekey/meteor-desktop
Version:
Build a Meteor's desktop client with hot code push.
64 lines (62 loc) • 7.55 kB
JavaScript
;
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==