import { EnvEmitter } from "../utils/Events"; import { exitProcess } from "../utils/Process"; import { log } from "../utils/Function"; import { ExitCodes } from "./Errors"; import { InDev } from "./Env"; export function CheckEnv(Env_Field: string, exitCode: ICode) { if (!process.env[Env_Field]) { log(`🔴 Failed on loading env field => '${Env_Field}'`); exitProcess(exitCode, { field: Env_Field }); } log(`🟢 Checking env field => '${Env_Field}' : ${process.env[Env_Field]}`); return process.env[Env_Field] as string; } // checkable env log("---------------------------- Necessary ENV ----------------------------"); export const MONGODB_URI = CheckEnv("BACK_MONGODB_URI", ExitCodes.ENV_ERROR_COULDNT_FIND_FIELD); export const MONGODB_NAME = CheckEnv("BACK_MONGODB_NAME", ExitCodes.ENV_ERROR_COULDNT_FIND_FIELD); export const JWT_SECRET = CheckEnv("BACK_SECRET", ExitCodes.ENV_ERROR_COULDNT_FIND_FIELD); export const ORIGINS = !InDev ? CheckEnv("CORPS_ORIGINS", ExitCodes.ENV_ERROR_COULDNT_FIND_FIELD).split(" ") : []; log("--------------------------------------------------------\n"); EnvEmitter.emit("loaded");