Add AI DEV Node deployment foundation
This commit is contained in:
28
server/config/env.ts
Normal file
28
server/config/env.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
import { existsSync } from 'node:fs';
|
||||
import path from 'node:path';
|
||||
import dotenv from 'dotenv';
|
||||
|
||||
const projectEnvPath = path.resolve(process.cwd(), '.project-env');
|
||||
const dotEnvPath = path.resolve(process.cwd(), '.env');
|
||||
|
||||
if (existsSync(projectEnvPath)) {
|
||||
dotenv.config({ path: projectEnvPath });
|
||||
} else if (existsSync(dotEnvPath)) {
|
||||
dotenv.config({ path: dotEnvPath });
|
||||
}
|
||||
|
||||
export const env = {
|
||||
nodeEnv: process.env.NODE_ENV ?? 'development',
|
||||
port: Number(process.env.PORT ?? 3000),
|
||||
databaseUrl: process.env.DATABASE_URL,
|
||||
sessionSecret: process.env.SESSION_SECRET ?? 'dev-only-change-me',
|
||||
publicBaseUrl: process.env.ACS_PUBLIC_BASE_URL ?? 'http://localhost:3000',
|
||||
smsProvider: process.env.ACS_SMS_PROVIDER ?? 'dev',
|
||||
};
|
||||
|
||||
export function requireDatabaseUrl(): string {
|
||||
if (!env.databaseUrl) {
|
||||
throw new Error('DATABASE_URL is required. In AI DEV it should be supplied by .project-env.');
|
||||
}
|
||||
return env.databaseUrl;
|
||||
}
|
||||
Reference in New Issue
Block a user