import path from "path" import * as dotenv from "dotenv" import { stripTrailingSlash } from "@/utils/strip-trailing-slash" export const NODE_ENV = process.env.NODE_ENV || "development" let dotEnvPath switch (process.env.NODE_ENV) { case "test": dotEnvPath = path.resolve(__dirname, "../.env.test") break case "production": dotEnvPath = path.resolve(__dirname, "../.env.production") break default: dotEnvPath = path.resolve(__dirname, "../.env.development") } dotenv.config({ path: dotEnvPath }) if (process.env.NODE_ENV !== "test") { console.log("Loading env: ", dotEnvPath) } export const API_PORT = process.env.API_PORT || "3000" export const JOB_PORT = process.env.JOB_PORT || "3001" export const FRONTEND_URL = process.env.FRONTEND_URL || "" export const AUTH0_DOMAIN = stripTrailingSlash(process.env.VITE_AUTH0_DOMAIN || "") export const AUTH0_AUDIENCE = process.env.VITE_AUTH0_AUDIENCE export const AUTH0_REDIRECT = process.env.VITE_AUTH0_REDIRECT || process.env.FRONTEND_URL || "" export const APPLICATION_NAME = process.env.VITE_APPLICATION_NAME || "" export const DB_HOST = process.env.DB_HOST || "" export const DB_USERNAME = process.env.DB_USERNAME || "" export const DB_PASSWORD = process.env.DB_PASSWORD || "" export const DB_DATABASE = process.env.DB_DATABASE || "" export const DB_PORT = parseInt(process.env.DB_PORT || "1433") export const DB_TRUST_SERVER_CERTIFICATE = process.env.DB_TRUST_SERVER_CERTIFICATE === "true" export const REDIS_CONNECTION_URL = process.env.REDIS_CONNECTION_URL || "" export const DB_HEALTH_CHECK_INTERVAL_SECONDS = parseInt( process.env.DB_HEALTH_CHECK_INTERVAL_SECONDS || "5" ) export const DB_HEALTH_CHECK_TIMEOUT_SECONDS = parseInt( process.env.DB_HEALTH_CHECK_TIMEOUT_SECONDS || "10" ) export const DB_HEALTH_CHECK_RETRIES = parseInt(process.env.DB_HEALTH_CHECK_RETRIES || "3") export const DB_HEALTH_CHECK_START_PERIOD_SECONDS = parseInt( process.env.DB_HEALTH_CHECK_START_PERIOD_SECONDS || "5" ) export const SEQUELIZE_LOGGING = process.env.SEQUELIZE_LOGGING === "true" export const RELEASE_TAG = process.env.RELEASE_TAG || "" export const GIT_COMMIT_HASH = process.env.GIT_COMMIT_HASH || "" export const RUN_SCHEDULER = process.env.RUN_SCHEDULER || "false" export const DEFAULT_LOG_LEVEL = process.env.DEFAULT_LOG_LEVEL || "debug" // Internal Helpers export const APP_ROOT_PATH = path.resolve(__dirname, "..") export const SOURCE_ROOT_PATH = NODE_ENV === "production" ? path.join(APP_ROOT_PATH, "dist") : path.join(APP_ROOT_PATH, "src")