multiparty-meeting/app/src/electron-wait-react.js

40 lines
772 B
JavaScript

const net = require('net');
const port = process.env.PORT ? (process.env.PORT - 100) : 3000;
process.env.ELECTRON_START_URL = `http://localhost:${port}`;
const client = new net.Socket();
let startedElectron = false;
const tryConnection = () =>
client.connect({ port: port }, () =>
{
client.end();
if (!startedElectron)
{
// eslint-disable-next-line no-console
console.log('starting electron');
startedElectron = true;
const exec = require('child_process').exec;
const electron = exec('npm run electron');
electron.stdout.on('data', (data) =>
{
// eslint-disable-next-line no-console
console.log(`stdout: ${data.toString()}`);
});
}
});
tryConnection();
client.on('error', () =>
{
setTimeout(tryConnection, 1000);
});