Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import DotEnv from "dotenv";
- interface AppConfig {
- ENVIRONMENT: string,
- SERVER_PORT: number,
- REDIS_ADDRESS: string,
- REDIS_PORT: number,
- MONGODB_ADDRESS: string,
- MONGODB_PORT: number,
- MONGODB_DB: string,
- SESSION_SECRET: string,
- GOOGLE_OAUTH_CLIENT_ID: string,
- GOOGLE_OAUTH_CLIENT_SECRET: string
- }
- const envOverridesUntreated = {
- GOOGLE_OAUTH_CLIENT_ID: process.env.GOOGLE_OAUTH_CLIENT_ID,
- GOOGLE_OAUTH_CLIENT_SECRET: process.env.GOOGLE_OAUTH_CLIENT_ID,
- SESSION_SECRET: process.env.SESSION_SECRET,
- REDIS_PORT: process.env.REDIS_PORT,
- REDIS_ADDRESS: process.env.REDIS_ADDRESS,
- MONGODB_PORT: process.env.MONGODB_PORT,
- MONGODB_ADDRESS: process.env.MONGODB_ADDRESS,
- };
- const envOverridesTreated: any = Object.entries(envOverridesUntreated).reduce((overrides, [key, value]) => {
- if (value) {
- overrides[key] = value;
- }
- return overrides;
- }, {});
- const AppConfig: AppConfig = Object.freeze({ ...DotEnv.config().parsed, ...envOverridesTreated }) as unknown as AppConfig;
- export default AppConfig;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement