// All of the Node.js APIs are available in the preload process. // It has the same sandbox as a Chrome extension. import { ipcRenderer } from "electron"; declare global { interface Window { ipcRenderer: typeof ipcRenderer; } } window.ipcRenderer = ipcRenderer; process.once("loaded", () => { window.addEventListener("message", event => { // do something with custom event const message = event.data; if (message.myTypeField === "send-message") { ipcRenderer.send("send-message", message.message); } if (message.myTypeField === "update-menu-bar") { ipcRenderer.send("update-menu-bar", message); } if (message.myTypeField === "update-recorder") { ipcRenderer.send("update-recorder", message.record); } }); });