1
/* eslint-disable sort-keys-fix/sort-keys-fix */
2
import { createEnv } from '@t3-oss/env-nextjs';
3
import { z } from 'zod';
5
export const getAnalyticsConfig = () => {
8
ENABLED_PLAUSIBLE_ANALYTICS: z.boolean(),
9
PLAUSIBLE_SCRIPT_BASE_URL: z.string(),
10
PLAUSIBLE_DOMAIN: z.string().optional(),
12
ENABLED_POSTHOG_ANALYTICS: z.boolean(),
13
POSTHOG_KEY: z.string().optional(),
14
POSTHOG_HOST: z.string(),
15
DEBUG_POSTHOG_ANALYTICS: z.boolean(),
17
ENABLED_UMAMI_ANALYTICS: z.boolean(),
18
UMAMI_WEBSITE_ID: z.string().optional(),
19
UMAMI_SCRIPT_URL: z.string(),
21
ENABLED_CLARITY_ANALYTICS: z.boolean(),
22
CLARITY_PROJECT_ID: z.string().optional(),
24
ENABLE_VERCEL_ANALYTICS: z.boolean(),
25
DEBUG_VERCEL_ANALYTICS: z.boolean(),
27
ENABLE_GOOGLE_ANALYTICS: z.boolean(),
28
GOOGLE_ANALYTICS_MEASUREMENT_ID: z.string().optional(),
31
// Plausible Analytics
32
ENABLED_PLAUSIBLE_ANALYTICS: !!process.env.PLAUSIBLE_DOMAIN,
33
PLAUSIBLE_DOMAIN: process.env.PLAUSIBLE_DOMAIN,
34
PLAUSIBLE_SCRIPT_BASE_URL: process.env.PLAUSIBLE_SCRIPT_BASE_URL || 'https://plausible.io',
37
ENABLED_POSTHOG_ANALYTICS: !!process.env.POSTHOG_KEY,
38
POSTHOG_KEY: process.env.POSTHOG_KEY,
39
POSTHOG_HOST: process.env.POSTHOG_HOST || 'https://app.posthog.com',
40
DEBUG_POSTHOG_ANALYTICS: process.env.DEBUG_POSTHOG_ANALYTICS === '1',
43
ENABLED_UMAMI_ANALYTICS: !!process.env.UMAMI_WEBSITE_ID,
44
UMAMI_SCRIPT_URL: process.env.UMAMI_SCRIPT_URL || 'https://analytics.umami.is/script.js',
45
UMAMI_WEBSITE_ID: process.env.UMAMI_WEBSITE_ID,
48
ENABLED_CLARITY_ANALYTICS: !!process.env.CLARITY_PROJECT_ID,
49
CLARITY_PROJECT_ID: process.env.CLARITY_PROJECT_ID,
52
ENABLE_VERCEL_ANALYTICS: process.env.ENABLE_VERCEL_ANALYTICS === '1',
53
DEBUG_VERCEL_ANALYTICS: process.env.DEBUG_VERCEL_ANALYTICS === '1',
56
ENABLE_GOOGLE_ANALYTICS: !!process.env.GOOGLE_ANALYTICS_MEASUREMENT_ID,
57
GOOGLE_ANALYTICS_MEASUREMENT_ID: process.env.GOOGLE_ANALYTICS_MEASUREMENT_ID,
62
export const analyticsEnv = getAnalyticsConfig();