Files
acs/server/config/env.ts
2026-07-13 10:33:21 +09:00

29 lines
941 B
TypeScript

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;
}