budibase/packages/server/src/electron.js

113 lines
3.8 KiB
JavaScript

// const { app, BrowserWindow, shell, dialog } = require("electron")
// const { join } = require("./utilities/centralPath")
// const isDev = require("electron-is-dev")
// const { autoUpdater } = require("electron-updater")
// const unhandled = require("electron-unhandled")
// const { existsSync } = require("fs-extra")
// const initialiseBudibase = require("./utilities/initialiseBudibase")
// const { budibaseAppsDir } = require("./utilities/budibaseDir")
// const { openNewGitHubIssue, debugInfo } = require("electron-util")
// const eventEmitter = require("./events")
// const budibaseDir = budibaseAppsDir()
// const envFile = join(budibaseDir, ".env")
// async function startApp() {
// if (!existsSync(envFile)) {
// await initialiseBudibase({ dir: budibaseDir })
// }
// // evict environment from cache, so it reloads when next asked
// delete require.cache[require.resolve("./environment")]
// // store the port incase its going to get overridden
// const port = process.env.PORT
// require("dotenv").config({ path: envFile })
// // overwrite the port - don't want to use dotenv for the port
// require("./environment")._set("PORT", port)
// unhandled({
// showDialog: true,
// reportButton: error => {
// openNewGitHubIssue({
// title: error.message,
// user: "Budibase",
// labels: ["error-report"],
// repo: "budibase",
// body: `### Error that occurred when using the budibase builder:\n\`\`\`\n${
// error.stack
// }\n\`\`\`\n### Operating System Information:\n---\n\n${debugInfo()}`,
// })
// },
// })
// let win
// function handleRedirect(e, url) {
// e.preventDefault()
// shell.openExternal(url)
// }
// async function createWindow() {
// app.server = require("./app")
// eventEmitter.on("internal:port", port => {
// const APP_URL = `http://localhost:${port}/_builder`
// const APP_TITLE = "Budibase Builder"
// win = new BrowserWindow({
// width: 1920,
// height: 1080,
// icon: join(__dirname, "..", "build", "icons", "512x512.png"),
// })
// win.setTitle(APP_TITLE)
// win.loadURL(APP_URL)
// if (isDev) {
// win.webContents.openDevTools()
// } else {
// autoUpdater.checkForUpdatesAndNotify()
// }
// // open _blank in default browser
// win.webContents.on("new-window", handleRedirect)
// win.webContents.on("will-navigate", handleRedirect)
// })
// }
// app.whenReady().then(createWindow)
// // Quit when all windows are closed.
// app.on("window-all-closed", () => {
// // On macOS it is common for applications and their menu bar
// // to stay active until the user quits explicitly with Cmd + Q
// if (process.platform !== "darwin") {
// app.server.close()
// app.quit()
// }
// })
// app.on("activate", () => {
// // On macOS it's common to re-create a window in the app when the
// // dock icon is clicked and there are no other windows open.
// if (win === null) createWindow()
// })
// }
// autoUpdater.on("update-downloaded", (event, releaseNotes, releaseName) => {
// const dialogOpts = {
// type: "info",
// buttons: ["Restart", "Later"],
// title: "Budibase Update Available",
// message: process.platform === "win32" ? releaseNotes : releaseName,
// detail:
// "A new version of the budibase builder has been downloaded. Restart the application to apply the updates.",
// }
// dialog.showMessageBox(dialogOpts).then(returnValue => {
// if (returnValue.response === 0) autoUpdater.quitAndInstall()
// })
// })
// autoUpdater.on("error", message => {
// console.error("There was a problem updating the application")
// console.error(message)
// })
// startApp()