simplify try catch in manage script
This commit is contained in:
parent
81452c3a7f
commit
90228e3334
|
@ -7,8 +7,6 @@ const { join, resolve } = require("path")
|
||||||
const initialiseBudibase = require("../../server/src/utilities/initialiseBudibase")
|
const initialiseBudibase = require("../../server/src/utilities/initialiseBudibase")
|
||||||
const cypressConfig = require("../cypress.json")
|
const cypressConfig = require("../cypress.json")
|
||||||
|
|
||||||
const homedir = join(require("os").homedir(), ".budibase")
|
|
||||||
|
|
||||||
process.env.BUDIBASE_API_KEY = "6BE826CB-6B30-4AEC-8777-2E90464633DE"
|
process.env.BUDIBASE_API_KEY = "6BE826CB-6B30-4AEC-8777-2E90464633DE"
|
||||||
process.env.NODE_ENV = "cypress"
|
process.env.NODE_ENV = "cypress"
|
||||||
process.env.ENABLE_ANALYTICS = "false"
|
process.env.ENABLE_ANALYTICS = "false"
|
||||||
|
@ -17,9 +15,8 @@ process.env.PORT = cypressConfig.env.PORT
|
||||||
// Stop info logs polluting test outputs
|
// Stop info logs polluting test outputs
|
||||||
process.env.LOG_LEVEL = "error"
|
process.env.LOG_LEVEL = "error"
|
||||||
|
|
||||||
async function run(dir) {
|
async function run() {
|
||||||
process.env.BUDIBASE_DIR = resolve(dir)
|
// require("dotenv").config({ path: resolve(dir, ".env") })
|
||||||
require("dotenv").config({ path: resolve(dir, ".env") })
|
|
||||||
|
|
||||||
// dont make this a variable or top level require
|
// dont make this a variable or top level require
|
||||||
// it will cause environment module to be loaded prematurely
|
// it will cause environment module to be loaded prematurely
|
||||||
|
@ -27,12 +24,15 @@ async function run(dir) {
|
||||||
server.on("close", () => console.log("Server Closed"))
|
server.on("close", () => console.log("Server Closed"))
|
||||||
}
|
}
|
||||||
|
|
||||||
initialiseBudibase({ dir: homedir, clientId: "cypress-test" })
|
run()
|
||||||
.then(() => {
|
|
||||||
delete require.cache[require.resolve("../../server/src/environment")]
|
// TODO: ensure that this still works
|
||||||
const xPlatHomeDir = homedir.startsWith("~")
|
// initialiseBudibase({ dir: homedir, clientId: "cypress-test" })
|
||||||
? join(homedir(), homedir.substring(1))
|
// .then(() => {
|
||||||
: homedir
|
// delete require.cache[require.resolve("../../server/src/environment")]
|
||||||
run(xPlatHomeDir)
|
// const xPlatHomeDir = homedir.startsWith("~")
|
||||||
})
|
// ? join(homedir(), homedir.substring(1))
|
||||||
.catch(e => console.error(e))
|
// : homedir
|
||||||
|
// run(xPlatHomeDir)
|
||||||
|
// })
|
||||||
|
// .catch(e => console.error(e))
|
||||||
|
|
|
@ -65,8 +65,7 @@
|
||||||
"!src/db/tests/**/*",
|
"!src/db/tests/**/*",
|
||||||
"!src/tests/**/*",
|
"!src/tests/**/*",
|
||||||
"!src/automations/tests/**/*",
|
"!src/automations/tests/**/*",
|
||||||
"!src/utilities/fileProcessor.js",
|
"!src/utilities/fileProcessor.js"
|
||||||
"!src/utilities/initialiseBudibase.js"
|
|
||||||
],
|
],
|
||||||
"coverageReporters": [
|
"coverageReporters": [
|
||||||
"lcov",
|
"lcov",
|
||||||
|
|
|
@ -17,31 +17,19 @@ const Commands = {
|
||||||
|
|
||||||
async function up() {
|
async function up() {
|
||||||
console.log("Spinning up your budibase dev environment... 🔧✨")
|
console.log("Spinning up your budibase dev environment... 🔧✨")
|
||||||
try {
|
await compose.upAll(CONFIG)
|
||||||
await compose.upAll(CONFIG)
|
|
||||||
} catch (err) {
|
|
||||||
console.log("Something went wrong:", err.message)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async function down() {
|
async function down() {
|
||||||
console.log("Spinning down your budibase dev environment... 🌇")
|
console.log("Spinning down your budibase dev environment... 🌇")
|
||||||
try {
|
await compose.stop(CONFIG)
|
||||||
await compose.stop(CONFIG)
|
|
||||||
} catch (err) {
|
|
||||||
console.log("Something went wrong:", err.message)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async function nuke() {
|
async function nuke() {
|
||||||
console.log(
|
console.log(
|
||||||
"Clearing down your budibase dev environment, including all containers and volumes... 💥"
|
"Clearing down your budibase dev environment, including all containers and volumes... 💥"
|
||||||
)
|
)
|
||||||
try {
|
await compose.down(CONFIG)
|
||||||
await compose.down(CONFIG)
|
|
||||||
} catch (err) {
|
|
||||||
console.log("Something went wrong:", err.message)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const managementCommand = process.argv.slice(2)[0]
|
const managementCommand = process.argv.slice(2)[0]
|
||||||
|
@ -74,6 +62,9 @@ command()
|
||||||
.then(() => {
|
.then(() => {
|
||||||
console.log("Done! 🎉")
|
console.log("Done! 🎉")
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(err => {
|
||||||
console.log("Error while managing budibase dev environment.")
|
console.error(
|
||||||
|
"Something went wrong while managing budibase dev environment:",
|
||||||
|
err.message
|
||||||
|
)
|
||||||
})
|
})
|
||||||
|
|
|
@ -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,7 +1,6 @@
|
||||||
const Router = require("@koa/router")
|
const Router = require("@koa/router")
|
||||||
const controller = require("../controllers/static")
|
const controller = require("../controllers/static")
|
||||||
const { budibaseTempDir } = require("../../utilities/budibaseDir")
|
const { budibaseTempDir } = require("../../utilities/budibaseDir")
|
||||||
const env = require("../../environment")
|
|
||||||
const authorized = require("../../middleware/authorized")
|
const authorized = require("../../middleware/authorized")
|
||||||
const { BUILDER } = require("../../utilities/security/permissions")
|
const { BUILDER } = require("../../utilities/security/permissions")
|
||||||
const usage = require("../../middleware/usageQuota")
|
const usage = require("../../middleware/usageQuota")
|
||||||
|
|
|
@ -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