const {app, BrowserWindow, Menu} = require('electron') const pxt = require('pxt-core') const path = require('path') let win const cliPath = path.join(process.cwd(), "node_modules/pxt-microbit") function startServerAndCreateWindow() { pxt.mainCli(cliPath, ["serve", "-no-browser"]) createWindow() } function createWindow () { win = new BrowserWindow({ width: 800, height: 600, title: "code the micro:bit" }) Menu.setApplicationMenu(null) win.loadURL(`file://${__dirname}/index.html#local_token=${pxt.globalConfig.localToken}`) win.on('closed', () => { win = null }) } app.on('ready', startServerAndCreateWindow) app.on('window-all-closed', () => { if (process.platform !== 'darwin') { app.quit() } }) app.on('activate', () => { if (win === null) { createWindow() } })