forked from tsai/budibase
7 changed files with 121 additions and 186 deletions
@ -1,17 +0,0 @@ |
|||||
// const { join } = require("path")
|
|
||||
// const { homedir } = require("os")
|
|
||||
|
|
||||
// // const initialiseBudibase = require("../src/utilities/initialiseBudibase")
|
|
||||
// // const DIRECTORY = "~/.budibase"
|
|
||||
|
|
||||
// function run() {
|
|
||||
// let opts = {}
|
|
||||
// // let dir = DIRECTORY
|
|
||||
// opts.quiet = true
|
|
||||
// // opts.dir = dir.startsWith("~") ? join(homedir(), dir.substring(1)) : dir
|
|
||||
// return initialiseBudibase(opts)
|
|
||||
// }
|
|
||||
|
|
||||
// run().then(() => {
|
|
||||
// console.log("Init complete.")
|
|
||||
// })
|
|
||||
@ -1,112 +1,112 @@ |
|||||
const { app, BrowserWindow, shell, dialog } = require("electron") |
// const { app, BrowserWindow, shell, dialog } = require("electron")
|
||||
const { join } = require("./utilities/centralPath") |
// const { join } = require("./utilities/centralPath")
|
||||
const isDev = require("electron-is-dev") |
// const isDev = require("electron-is-dev")
|
||||
const { autoUpdater } = require("electron-updater") |
// const { autoUpdater } = require("electron-updater")
|
||||
const unhandled = require("electron-unhandled") |
// const unhandled = require("electron-unhandled")
|
||||
const { existsSync } = require("fs-extra") |
// const { existsSync } = require("fs-extra")
|
||||
const initialiseBudibase = require("./utilities/initialiseBudibase") |
// const initialiseBudibase = require("./utilities/initialiseBudibase")
|
||||
const { budibaseAppsDir } = require("./utilities/budibaseDir") |
// const { budibaseAppsDir } = require("./utilities/budibaseDir")
|
||||
const { openNewGitHubIssue, debugInfo } = require("electron-util") |
// const { openNewGitHubIssue, debugInfo } = require("electron-util")
|
||||
const eventEmitter = require("./events") |
// const eventEmitter = require("./events")
|
||||
|
|
||||
const budibaseDir = budibaseAppsDir() |
// const budibaseDir = budibaseAppsDir()
|
||||
const envFile = join(budibaseDir, ".env") |
// const envFile = join(budibaseDir, ".env")
|
||||
|
|
||||
async function startApp() { |
// async function startApp() {
|
||||
if (!existsSync(envFile)) { |
// if (!existsSync(envFile)) {
|
||||
await initialiseBudibase({ dir: budibaseDir }) |
// await initialiseBudibase({ dir: budibaseDir })
|
||||
} |
// }
|
||||
// evict environment from cache, so it reloads when next asked
|
// // evict environment from cache, so it reloads when next asked
|
||||
delete require.cache[require.resolve("./environment")] |
// delete require.cache[require.resolve("./environment")]
|
||||
// store the port incase its going to get overridden
|
// // store the port incase its going to get overridden
|
||||
const port = process.env.PORT |
// const port = process.env.PORT
|
||||
require("dotenv").config({ path: envFile }) |
// require("dotenv").config({ path: envFile })
|
||||
// overwrite the port - don't want to use dotenv for the port
|
// // overwrite the port - don't want to use dotenv for the port
|
||||
require("./environment")._set("PORT", port) |
// require("./environment")._set("PORT", port)
|
||||
|
|
||||
unhandled({ |
// unhandled({
|
||||
showDialog: true, |
// showDialog: true,
|
||||
reportButton: error => { |
// reportButton: error => {
|
||||
openNewGitHubIssue({ |
// openNewGitHubIssue({
|
||||
title: error.message, |
// title: error.message,
|
||||
user: "Budibase", |
// user: "Budibase",
|
||||
labels: ["error-report"], |
// labels: ["error-report"],
|
||||
repo: "budibase", |
// repo: "budibase",
|
||||
body: `### Error that occurred when using the budibase builder:\n\`\`\`\n${ |
// body: `### Error that occurred when using the budibase builder:\n\`\`\`\n${
|
||||
error.stack |
// error.stack
|
||||
}\n\`\`\`\n### Operating System Information:\n---\n\n${debugInfo()}`, |
// }\n\`\`\`\n### Operating System Information:\n---\n\n${debugInfo()}`,
|
||||
}) |
// })
|
||||
}, |
// },
|
||||
}) |
// })
|
||||
|
|
||||
let win |
// let win
|
||||
|
|
||||
function handleRedirect(e, url) { |
// function handleRedirect(e, url) {
|
||||
e.preventDefault() |
// e.preventDefault()
|
||||
shell.openExternal(url) |
// shell.openExternal(url)
|
||||
} |
// }
|
||||
|
|
||||
async function createWindow() { |
// async function createWindow() {
|
||||
app.server = require("./app") |
// app.server = require("./app")
|
||||
eventEmitter.on("internal:port", port => { |
// eventEmitter.on("internal:port", port => {
|
||||
const APP_URL = `http://localhost:${port}/_builder` |
// const APP_URL = `http://localhost:${port}/_builder`
|
||||
const APP_TITLE = "Budibase Builder" |
// const APP_TITLE = "Budibase Builder"
|
||||
win = new BrowserWindow({ |
// win = new BrowserWindow({
|
||||
width: 1920, |
// width: 1920,
|
||||
height: 1080, |
// height: 1080,
|
||||
icon: join(__dirname, "..", "build", "icons", "512x512.png"), |
// icon: join(__dirname, "..", "build", "icons", "512x512.png"),
|
||||
}) |
// })
|
||||
win.setTitle(APP_TITLE) |
// win.setTitle(APP_TITLE)
|
||||
win.loadURL(APP_URL) |
// win.loadURL(APP_URL)
|
||||
if (isDev) { |
// if (isDev) {
|
||||
win.webContents.openDevTools() |
// win.webContents.openDevTools()
|
||||
} else { |
// } else {
|
||||
autoUpdater.checkForUpdatesAndNotify() |
// autoUpdater.checkForUpdatesAndNotify()
|
||||
} |
// }
|
||||
|
|
||||
// open _blank in default browser
|
// // open _blank in default browser
|
||||
win.webContents.on("new-window", handleRedirect) |
// win.webContents.on("new-window", handleRedirect)
|
||||
win.webContents.on("will-navigate", handleRedirect) |
// win.webContents.on("will-navigate", handleRedirect)
|
||||
}) |
// })
|
||||
} |
// }
|
||||
|
|
||||
app.whenReady().then(createWindow) |
// app.whenReady().then(createWindow)
|
||||
|
|
||||
// Quit when all windows are closed.
|
// // Quit when all windows are closed.
|
||||
app.on("window-all-closed", () => { |
// app.on("window-all-closed", () => {
|
||||
// On macOS it is common for applications and their menu bar
|
// // On macOS it is common for applications and their menu bar
|
||||
// to stay active until the user quits explicitly with Cmd + Q
|
// // to stay active until the user quits explicitly with Cmd + Q
|
||||
if (process.platform !== "darwin") { |
// if (process.platform !== "darwin") {
|
||||
app.server.close() |
// app.server.close()
|
||||
app.quit() |
// app.quit()
|
||||
} |
// }
|
||||
}) |
// })
|
||||
|
|
||||
app.on("activate", () => { |
// app.on("activate", () => {
|
||||
// On macOS it's common to re-create a window in the app when the
|
// // 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.
|
// // dock icon is clicked and there are no other windows open.
|
||||
if (win === null) createWindow() |
// if (win === null) createWindow()
|
||||
}) |
// })
|
||||
} |
// }
|
||||
|
|
||||
autoUpdater.on("update-downloaded", (event, releaseNotes, releaseName) => { |
// autoUpdater.on("update-downloaded", (event, releaseNotes, releaseName) => {
|
||||
const dialogOpts = { |
// const dialogOpts = {
|
||||
type: "info", |
// type: "info",
|
||||
buttons: ["Restart", "Later"], |
// buttons: ["Restart", "Later"],
|
||||
title: "Budibase Update Available", |
// title: "Budibase Update Available",
|
||||
message: process.platform === "win32" ? releaseNotes : releaseName, |
// message: process.platform === "win32" ? releaseNotes : releaseName,
|
||||
detail: |
// detail:
|
||||
"A new version of the budibase builder has been downloaded. Restart the application to apply the updates.", |
// "A new version of the budibase builder has been downloaded. Restart the application to apply the updates.",
|
||||
} |
// }
|
||||
|
|
||||
dialog.showMessageBox(dialogOpts).then(returnValue => { |
// dialog.showMessageBox(dialogOpts).then(returnValue => {
|
||||
if (returnValue.response === 0) autoUpdater.quitAndInstall() |
// if (returnValue.response === 0) autoUpdater.quitAndInstall()
|
||||
}) |
// })
|
||||
}) |
// })
|
||||
|
|
||||
autoUpdater.on("error", message => { |
// autoUpdater.on("error", message => {
|
||||
console.error("There was a problem updating the application") |
// console.error("There was a problem updating the application")
|
||||
console.error(message) |
// console.error(message)
|
||||
}) |
// })
|
||||
|
|
||||
startApp() |
// startApp()
|
||||
|
|||||
@ -1,37 +0,0 @@ |
|||||
// const { existsSync, readFile, writeFile, ensureDir } = require("fs-extra")
|
|
||||
// const { join, resolve } = require("./centralPath")
|
|
||||
// const { processString } = require("@budibase/string-templates")
|
|
||||
// const uuid = require("uuid")
|
|
||||
|
|
||||
// module.exports = async opts => {
|
|
||||
// // await ensureDir(opts.dir)
|
|
||||
// await setCouchDbUrl(opts)
|
|
||||
|
|
||||
// // need an env file
|
|
||||
// await createDevEnvFile(opts)
|
|
||||
// }
|
|
||||
|
|
||||
// const setCouchDbUrl = async opts => {
|
|
||||
// if (!opts.couchDbUrl) {
|
|
||||
// const dataDir = join(opts.dir, ".data")
|
|
||||
// await ensureDir(dataDir)
|
|
||||
// opts.couchDbUrl =
|
|
||||
// dataDir + (dataDir.endsWith("/") || dataDir.endsWith("\\") ? "" : "/")
|
|
||||
// }
|
|
||||
// }
|
|
||||
|
|
||||
// const createDevEnvFile = async opts => {
|
|
||||
// const destConfigFile = join(opts.dir, "./.env")
|
|
||||
// let createConfig = !existsSync(destConfigFile) || opts.quiet
|
|
||||
// if (createConfig) {
|
|
||||
// const template = await readFile(
|
|
||||
// resolve(__dirname, "..", "..", ".env.template"),
|
|
||||
// {
|
|
||||
// encoding: "utf8",
|
|
||||
// }
|
|
||||
// )
|
|
||||
// opts.cookieKey1 = opts.cookieKey1 || uuid.v4()
|
|
||||
// const config = await processString(template, opts)
|
|
||||
// await writeFile(destConfigFile, config, { flag: "w+" })
|
|
||||
// }
|
|
||||
// }
|
|
||||
Loading…
Reference in new issue