diff --git a/next.config.js b/next.config.js index 2f42cad..df1ce99 100644 --- a/next.config.js +++ b/next.config.js @@ -1,4 +1,5 @@ const envVar = require('env-var') +const isBuildStage = envVar.get('IS_BUILD_STAGE').default('false').asBool() /** @type {import('next').NextConfig} */ const nextConfig = { @@ -6,13 +7,13 @@ const nextConfig = { swcMinify: true, /** @type {import('next/config').ServerRuntimeConfig} */ serverRuntimeConfig: { - MONGO_URL: envVar.get('MONGO_URL').required().asUrlString(), - MONGO_DB: envVar.get('MONGO_DB').required().asString(), - MONGO_USER: envVar.get('MONGO_USER').required().asString(), - MONGO_PASS: envVar.get('MONGO_PASS').required().asString() + MONGO_URL: envVar.get('MONGO_URL').required(!isBuildStage).asUrlString(), + MONGO_DB: envVar.get('MONGO_DB').required(!isBuildStage).asString(), + MONGO_USER: envVar.get('MONGO_USER').required(!isBuildStage).asString(), + MONGO_PASS: envVar.get('MONGO_PASS').required(!isBuildStage).asString() }, publicRuntimeConfig: { - TENANT_TYPE: envVar.get('TENANT_TYPE').asString() + TENANT_TYPE: envVar.get('TENANT_TYPE').required(!isBuildStage).asString() } } diff --git a/src/database/start.ts b/src/database/start.ts index 058e621..94bf841 100644 --- a/src/database/start.ts +++ b/src/database/start.ts @@ -9,6 +9,7 @@ const { } = getConfig() async function getDatabase() { + if (!MONGO_URL || !MONGO_DB) return undefined const url = `mongodb://${MONGO_USER ? `${MONGO_USER}:${MONGO_PASS ?? ''}@` : ''}${MONGO_URL}` const client = new MongoClient(url) await client.connect() diff --git a/src/next-types.d.ts b/src/next-types.d.ts index 5bdaa64..f2a2cbe 100644 --- a/src/next-types.d.ts +++ b/src/next-types.d.ts @@ -1,7 +1,7 @@ declare module 'next/config' { export interface ServerRuntimeConfig { - MONGO_URL: string - MONGO_DB: string + MONGO_URL?: string + MONGO_DB?: string MONGO_USER?: string MONGO_PASS?: string }