meteor-desktop
Version:
Build a Meteor's desktop client with hot code push.
61 lines (47 loc) • 5.15 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('--debug=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 => {
process.stdout.write(chunk);
});
child.stderr.on('data', chunk => {
process.stderr.write(chunk);
});
}
}
exports.default = Electron;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9lbGVjdHJvbi5qcyJdLCJuYW1lcyI6WyJFbGVjdHJvbiIsImNvbnN0cnVjdG9yIiwiJCIsImxvZyIsIkxvZyIsImluaXQiLCJlbGVjdHJvbiIsImdldERlcGVuZGVuY3kiLCJkZWZhdWx0RGVwZW5kZW5jaWVzIiwicnVuIiwiZW52IiwicHJvY2VzcyIsIkVMRUNUUk9OX0VOViIsImNtZCIsIm9wdGlvbnMiLCJkZWJ1ZyIsInB1c2giLCJjaGlsZCIsImRlcGVuZGVuY3kiLCJjd2QiLCJwYXRocyIsImVsZWN0cm9uQXBwIiwicm9vdCIsInN0ZG91dCIsIm9uIiwiY2h1bmsiLCJ3cml0ZSIsInN0ZGVyciJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUVBOztBQUNBOzs7O0FBRUE7Ozs7QUFJZSxNQUFNQSxRQUFOLENBQWU7QUFDMUJDLEVBQUFBLFdBQVcsQ0FBQ0MsQ0FBRCxFQUFJO0FBQ1gsU0FBS0MsR0FBTCxHQUFXLElBQUlDLFlBQUosQ0FBUSxVQUFSLENBQVg7QUFDQSxTQUFLRixDQUFMLEdBQVNBLENBQVQ7QUFDSDs7QUFFRCxRQUFNRyxJQUFOLEdBQWE7QUFDVCxTQUFLQyxRQUFMLEdBQWdCLE1BQU0sS0FBS0osQ0FBTCxDQUFPSyxhQUFQLENBQXFCLFVBQXJCLEVBQWlDQyw2QkFBb0JGLFFBQXJELENBQXRCO0FBQ0g7O0FBRURHLEVBQUFBLEdBQUcsR0FBRztBQUNGO0FBQ0EsVUFBTTtBQUFFQyxNQUFBQTtBQUFGLFFBQVVDLE9BQWhCO0FBQ0FELElBQUFBLEdBQUcsQ0FBQ0UsWUFBSixHQUFtQixhQUFuQjtBQUVBLFVBQU1DLEdBQUcsR0FBRyxFQUFaOztBQUVBLFFBQUksS0FBS1gsQ0FBTCxDQUFPUSxHQUFQLENBQVdJLE9BQVgsQ0FBbUJDLEtBQXZCLEVBQThCO0FBQzFCRixNQUFBQSxHQUFHLENBQUNHLElBQUosQ0FBUyxjQUFUO0FBQ0g7O0FBRURILElBQUFBLEdBQUcsQ0FBQ0csSUFBSixDQUFTLEdBQVQ7QUFFQSxVQUFNQyxLQUFLLEdBQUcseUJBQU0sS0FBS1gsUUFBTCxDQUFjWSxVQUFwQixFQUFnQ0wsR0FBaEMsRUFBcUM7QUFDL0NNLE1BQUFBLEdBQUcsRUFBRSxLQUFLakIsQ0FBTCxDQUFPUSxHQUFQLENBQVdVLEtBQVgsQ0FBaUJDLFdBQWpCLENBQTZCQyxJQURhO0FBRS9DWixNQUFBQTtBQUYrQyxLQUFyQyxDQUFkLENBYkUsQ0FrQkY7O0FBQ0FPLElBQUFBLEtBQUssQ0FBQ00sTUFBTixDQUFhQyxFQUFiLENBQWdCLE1BQWhCLEVBQXlCQyxLQUFELElBQVc7QUFDL0JkLE1BQUFBLE9BQU8sQ0FBQ1ksTUFBUixDQUFlRyxLQUFmLENBQXFCRCxLQUFyQjtBQUNILEtBRkQ7QUFHQVIsSUFBQUEsS0FBSyxDQUFDVSxNQUFOLENBQWFILEVBQWIsQ0FBZ0IsTUFBaEIsRUFBeUJDLEtBQUQsSUFBVztBQUMvQmQsTUFBQUEsT0FBTyxDQUFDZ0IsTUFBUixDQUFlRCxLQUFmLENBQXFCRCxLQUFyQjtBQUNILEtBRkQ7QUFHSDs7QUFuQ3lCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlZ2VuZXJhdG9yUnVudGltZSBmcm9tICdyZWdlbmVyYXRvci1ydW50aW1lL3J1bnRpbWUnO1xuaW1wb3J0IHNwYXduIGZyb20gJ2Nyb3NzLXNwYXduJztcblxuaW1wb3J0IExvZyBmcm9tICcuL2xvZyc7XG5pbXBvcnQgZGVmYXVsdERlcGVuZGVuY2llcyBmcm9tICcuL2RlZmF1bHREZXBlbmRlbmNpZXMnO1xuXG4vKipcbiAqIFNpbXBsZSBFbGVjdHJvbiBydW5uZXIuIFJ1bnMgdGhlIHByb2plY3Qgd2l0aCB0aGUgYmluIHByb3ZpZGVkIGJ5IHRoZSAnZWxlY3Ryb24nIHBhY2thZ2UuXG4gKiBAY2xhc3NcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRWxlY3Ryb24ge1xuICAgIGNvbnN0cnVjdG9yKCQpIHtcbiAgICAgICAgdGhpcy5sb2cgPSBuZXcgTG9nKCdlbGVjdHJvbicpO1xuICAgICAgICB0aGlzLiQgPSAkO1xuICAgIH1cblxuICAgIGFzeW5jIGluaXQoKSB7XG4gICAgICAgIHRoaXMuZWxlY3Ryb24gPSBhd2FpdCB0aGlzLiQuZ2V0RGVwZW5kZW5jeSgnZWxlY3Ryb24nLCBkZWZhdWx0RGVwZW5kZW5jaWVzLmVsZWN0cm9uKTtcbiAgICB9XG5cbiAgICBydW4oKSB7XG4gICAgICAgIC8vIFVudGlsOiBodHRwczovL2dpdGh1Yi5jb20vZWxlY3Ryb24tdXNlcmxhbmQvZWxlY3Ryb24tcHJlYnVpbHQvcHVsbC8xMThcbiAgICAgICAgY29uc3QgeyBlbnYgfSA9IHByb2Nlc3M7XG4gICAgICAgIGVudi5FTEVDVFJPTl9FTlYgPSAnZGV2ZWxvcG1lbnQnO1xuXG4gICAgICAgIGNvbnN0IGNtZCA9IFtdO1xuXG4gICAgICAgIGlmICh0aGlzLiQuZW52Lm9wdGlvbnMuZGVidWcpIHtcbiAgICAgICAgICAgIGNtZC5wdXNoKCctLWRlYnVnPTU4NTgnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNtZC5wdXNoKCcuJyk7XG5cbiAgICAgICAgY29uc3QgY2hpbGQgPSBzcGF3bih0aGlzLmVsZWN0cm9uLmRlcGVuZGVuY3ksIGNtZCwge1xuICAgICAgICAgICAgY3dkOiB0aGlzLiQuZW52LnBhdGhzLmVsZWN0cm9uQXBwLnJvb3QsXG4gICAgICAgICAgICBlbnZcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gVE9ETzogY2hlY2sgaWYgd2UgY2FuIGNvbmZpZ3VyZSBwaXBpbmcgaW4gc3Bhd24gb3B0aW9uc1xuICAgICAgICBjaGlsZC5zdGRvdXQub24oJ2RhdGEnLCAoY2h1bmspID0+IHtcbiAgICAgICAgICAgIHByb2Nlc3Muc3Rkb3V0LndyaXRlKGNodW5rKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNoaWxkLnN0ZGVyci5vbignZGF0YScsIChjaHVuaykgPT4ge1xuICAgICAgICAgICAgcHJvY2Vzcy5zdGRlcnIud3JpdGUoY2h1bmspO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
;