const {app, BrowserWindow} = require('electron');
const {join} = require('path');
const os = require('os');
const argv = require('minimist')(process.argv.slice(2));
const projectRoots = argv._;
let mainWindow = null;
app.on('window-all-closed', function () {
app.quit();
});
app.on('ready', function () {
mainWindow = new BrowserWindow({
width: 800,
height: 600,
icon: join(__dirname, 'icons/icon128.png'),
frame: false,
webPreferences: {
contextIsolation: true,
enableRemoteModule: false,
sandbox: false,
preload: join(__dirname, 'preload.js'),
},
});
if (os.platform() === 'darwin') {
app.dock.setIcon(join(__dirname, 'icons/icon128.png'));
}
mainWindow.webContents.on('new-window', function (event, url) {
event.preventDefault();
require('electron').shell.openExternal(url);
});
mainWindow.loadURL('file://' + __dirname + '/app.html');
mainWindow.webContents.executeJavaScript(
'window.devtools.setProjectRoots(' + JSON.stringify(projectRoots) + ')',
);
mainWindow.on('closed', function () {
mainWindow = null;
});
});