Found an issue where environment variables would load before they had actually been updated from dotenv, made sure they are always loaded correctly.

This commit is contained in:
mike12345567 2020-10-26 17:49:33 +00:00
parent 9fc1406c22
commit 27acbac235
4 changed files with 34 additions and 14 deletions

View File

@ -3,6 +3,7 @@ const authenticated = require("../middleware/authenticated")
const compress = require("koa-compress")
const zlib = require("zlib")
const { budibaseAppsDir } = require("../utilities/budibaseDir")
const { isDev } = require("../utilities")
const {
authRoutes,
pageRoutes,
@ -45,10 +46,7 @@ router
jwtSecret: env.JWT_SECRET,
useAppRootPath: true,
}
ctx.isDev =
process.env.NODE_ENV !== "production" &&
process.env.NODE_ENV !== "jest" &&
process.env.NODE_ENV !== "cypress"
ctx.isDev = isDev()
await next()
})
.use("/health", ctx => (ctx.status = 200))

View File

@ -1,3 +1,17 @@
const { resolve, join } = require("./utilities/centralPath")
const { homedir } = require("os")
const { app } = require("electron")
let LOADED = false
if (!LOADED) {
const homeDir = app ? app.getPath("home") : homedir()
const budibaseDir = join(homeDir, ".budibase")
process.env.BUDIBASE_DIR = budibaseDir
require("dotenv").config({ path: resolve(budibaseDir, ".env") })
LOADED = true
}
module.exports = {
CLIENT_ID: process.env.CLIENT_ID,
NODE_ENV: process.env.NODE_ENV,

View File

@ -1,18 +1,18 @@
const { resolve, join } = require("./utilities/centralPath")
const { homedir } = require("os")
const { app } = require("electron")
const { budibaseTempDir } = require("./utilities/budibaseDir")
const { isDev } = require("./utilities")
const fixPath = require("fix-path")
const fs = require("fs")
async function runServer() {
const homeDir = app ? app.getPath("home") : homedir()
const budibaseDir = join(homeDir, ".budibase")
process.env.BUDIBASE_DIR = budibaseDir
if (isDev() && !fs.existsSync(budibaseTempDir())) {
console.error(
"Please run a build before attempting to run server indepdently to fill 'tmp' directory."
)
process.exit(-1)
}
fixPath()
require("dotenv").config({ path: resolve(budibaseDir, ".env") })
require("./app")
}

View File

@ -1 +1,9 @@
exports.wait = ms => new Promise(resolve => setTimeout(resolve, ms))
exports.isDev = () => {
return (
process.env.NODE_ENV !== "production" &&
process.env.NODE_ENV !== "jest" &&
process.env.NODE_ENV !== "cypress"
)
}