env not required during build
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
const envVar = require('env-var')
|
const envVar = require('env-var')
|
||||||
|
const isBuildStage = envVar.get('IS_BUILD_STAGE').default('false').asBool()
|
||||||
|
|
||||||
/** @type {import('next').NextConfig} */
|
/** @type {import('next').NextConfig} */
|
||||||
const nextConfig = {
|
const nextConfig = {
|
||||||
@@ -6,13 +7,13 @@ const nextConfig = {
|
|||||||
swcMinify: true,
|
swcMinify: true,
|
||||||
/** @type {import('next/config').ServerRuntimeConfig} */
|
/** @type {import('next/config').ServerRuntimeConfig} */
|
||||||
serverRuntimeConfig: {
|
serverRuntimeConfig: {
|
||||||
MONGO_URL: envVar.get('MONGO_URL').required().asUrlString(),
|
MONGO_URL: envVar.get('MONGO_URL').required(!isBuildStage).asUrlString(),
|
||||||
MONGO_DB: envVar.get('MONGO_DB').required().asString(),
|
MONGO_DB: envVar.get('MONGO_DB').required(!isBuildStage).asString(),
|
||||||
MONGO_USER: envVar.get('MONGO_USER').required().asString(),
|
MONGO_USER: envVar.get('MONGO_USER').required(!isBuildStage).asString(),
|
||||||
MONGO_PASS: envVar.get('MONGO_PASS').required().asString()
|
MONGO_PASS: envVar.get('MONGO_PASS').required(!isBuildStage).asString()
|
||||||
},
|
},
|
||||||
publicRuntimeConfig: {
|
publicRuntimeConfig: {
|
||||||
TENANT_TYPE: envVar.get('TENANT_TYPE').asString()
|
TENANT_TYPE: envVar.get('TENANT_TYPE').required(!isBuildStage).asString()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ const {
|
|||||||
} = getConfig()
|
} = getConfig()
|
||||||
|
|
||||||
async function getDatabase() {
|
async function getDatabase() {
|
||||||
|
if (!MONGO_URL || !MONGO_DB) return undefined
|
||||||
const url = `mongodb://${MONGO_USER ? `${MONGO_USER}:${MONGO_PASS ?? ''}@` : ''}${MONGO_URL}`
|
const url = `mongodb://${MONGO_USER ? `${MONGO_USER}:${MONGO_PASS ?? ''}@` : ''}${MONGO_URL}`
|
||||||
const client = new MongoClient(url)
|
const client = new MongoClient(url)
|
||||||
await client.connect()
|
await client.connect()
|
||||||
|
|||||||
4
src/next-types.d.ts
vendored
4
src/next-types.d.ts
vendored
@@ -1,7 +1,7 @@
|
|||||||
declare module 'next/config' {
|
declare module 'next/config' {
|
||||||
export interface ServerRuntimeConfig {
|
export interface ServerRuntimeConfig {
|
||||||
MONGO_URL: string
|
MONGO_URL?: string
|
||||||
MONGO_DB: string
|
MONGO_DB?: string
|
||||||
MONGO_USER?: string
|
MONGO_USER?: string
|
||||||
MONGO_PASS?: string
|
MONGO_PASS?: string
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user