19 lines
631 B
TypeScript
19 lines
631 B
TypeScript
/**
|
|
* Read a required env var. Throws on startup if missing — never use a default
|
|
* for credentials, hostnames, or anything that should be explicitly configured.
|
|
*/
|
|
export function requireEnv(name: string): string {
|
|
const v = process.env[name];
|
|
if (!v || v.length === 0) {
|
|
throw new Error(`Missing required environment variable: ${name}`);
|
|
}
|
|
return v;
|
|
}
|
|
|
|
/**
|
|
* Read an optional env var with a non-secret default (e.g. log level, port).
|
|
* NEVER pass a credential or internal hostname as fallback.
|
|
*/
|
|
export function optionalEnv(name: string, fallback: string): string {
|
|
return process.env[name] || fallback;
|
|
}
|