const { ipcRenderer, contextBridge } = require('electron'); // forward logs received from exe to web console ipcRenderer.on('log', (event, message) => console.log(message)); contextBridge.exposeInMainWorld('electron', { // allow fetching app version in electron browser window appVersion: async function() { return await ipcRenderer.invoke('app-version'); }, // show an alert dialog in electron browser window, this fixes a bug where alert breaks input fields on windows alert: async function(message) { return await ipcRenderer.invoke('alert', message); }, // show a confirm dialog in electron browser window, this fixes a bug where confirm breaks input fields on windows confirm: async function(message) { return await ipcRenderer.invoke('confirm', message); }, // add support for using "prompt" in electron browser window prompt: async function(message) { return await ipcRenderer.invoke('prompt', message); }, // allow relaunching app in electron browser window relaunch: async function() { return await ipcRenderer.invoke('relaunch'); }, // allow showing a file path in os file manager showPathInFolder: async function(path) { return await ipcRenderer.invoke('showPathInFolder', path); }, });