2024-11-10 00:40:07 +00:00
|
|
|
import dotenv from 'dotenv';
|
2024-10-17 20:31:18 +00:00
|
|
|
|
2025-01-21 19:50:35 +00:00
|
|
|
export const getEnv = (env: string | undefined, defaultValue?: string, required?: boolean) => {
|
|
|
|
|
if (required && !env && !defaultValue) {
|
2025-02-12 21:05:44 +00:00
|
|
|
throw new Error(`Missing required environment variable: ${env}`);
|
2025-01-21 19:50:35 +00:00
|
|
|
}
|
|
|
|
|
|
2024-10-17 20:31:18 +00:00
|
|
|
return env ?? defaultValue;
|
|
|
|
|
}
|
|
|
|
|
|
2024-11-10 00:40:07 +00:00
|
|
|
export const getEnvBoolean = (env: string | undefined, defaultValue: boolean) => {
|
|
|
|
|
if (!env) {
|
|
|
|
|
return defaultValue;
|
|
|
|
|
}
|
|
|
|
|
return env === 'true' || env === '1';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
dotenv.config({
|
|
|
|
|
path: './.env',
|
|
|
|
|
});
|
2025-02-16 00:37:50 +00:00
|
|
|
dotenv.config({
|
|
|
|
|
path: './.env.local',
|
|
|
|
|
override: true
|
|
|
|
|
});
|
2024-11-10 00:40:07 +00:00
|
|
|
|
2025-01-21 19:50:35 +00:00
|
|
|
|
2024-11-26 05:04:52 +00:00
|
|
|
export const SOURCEBOT_LOG_LEVEL = getEnv(process.env.SOURCEBOT_LOG_LEVEL, 'info')!;
|
|
|
|
|
export const SOURCEBOT_TELEMETRY_DISABLED = getEnvBoolean(process.env.SOURCEBOT_TELEMETRY_DISABLED, false)!;
|
|
|
|
|
export const SOURCEBOT_INSTALL_ID = getEnv(process.env.SOURCEBOT_INSTALL_ID, 'unknown')!;
|
|
|
|
|
export const SOURCEBOT_VERSION = getEnv(process.env.SOURCEBOT_VERSION, 'unknown')!;
|
|
|
|
|
export const POSTHOG_PAPIK = getEnv(process.env.POSTHOG_PAPIK);
|
2024-11-10 00:40:07 +00:00
|
|
|
export const POSTHOG_HOST = getEnv(process.env.POSTHOG_HOST);
|
2025-02-16 00:37:50 +00:00
|
|
|
|
|
|
|
|
export const FALLBACK_GITHUB_TOKEN = getEnv(process.env.FALLBACK_GITHUB_TOKEN);
|
|
|
|
|
export const FALLBACK_GITLAB_TOKEN = getEnv(process.env.FALLBACK_GITLAB_TOKEN);
|
2025-02-16 00:58:05 +00:00
|
|
|
export const FALLBACK_GITEA_TOKEN = getEnv(process.env.FALLBACK_GITEA_TOKEN);
|
|
|
|
|
|
|
|
|
|
export const INDEX_CONCURRENCY_MULTIPLE = getEnv(process.env.INDEX_CONCURRENCY_MULTIPLE);
|