lobe-chat

Форк
0
/
analytics.ts 
62 строки · 2.3 Кб
1
/* eslint-disable sort-keys-fix/sort-keys-fix */
2
import { createEnv } from '@t3-oss/env-nextjs';
3
import { z } from 'zod';
4

5
export const getAnalyticsConfig = () => {
6
  return createEnv({
7
    server: {
8
      ENABLED_PLAUSIBLE_ANALYTICS: z.boolean(),
9
      PLAUSIBLE_SCRIPT_BASE_URL: z.string(),
10
      PLAUSIBLE_DOMAIN: z.string().optional(),
11

12
      ENABLED_POSTHOG_ANALYTICS: z.boolean(),
13
      POSTHOG_KEY: z.string().optional(),
14
      POSTHOG_HOST: z.string(),
15
      DEBUG_POSTHOG_ANALYTICS: z.boolean(),
16

17
      ENABLED_UMAMI_ANALYTICS: z.boolean(),
18
      UMAMI_WEBSITE_ID: z.string().optional(),
19
      UMAMI_SCRIPT_URL: z.string(),
20

21
      ENABLED_CLARITY_ANALYTICS: z.boolean(),
22
      CLARITY_PROJECT_ID: z.string().optional(),
23

24
      ENABLE_VERCEL_ANALYTICS: z.boolean(),
25
      DEBUG_VERCEL_ANALYTICS: z.boolean(),
26

27
      ENABLE_GOOGLE_ANALYTICS: z.boolean(),
28
      GOOGLE_ANALYTICS_MEASUREMENT_ID: z.string().optional(),
29
    },
30
    runtimeEnv: {
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',
35

36
      // Posthog Analytics
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',
41

42
      // Umami Analytics
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,
46

47
      // Clarity Analytics
48
      ENABLED_CLARITY_ANALYTICS: !!process.env.CLARITY_PROJECT_ID,
49
      CLARITY_PROJECT_ID: process.env.CLARITY_PROJECT_ID,
50

51
      // Vercel Analytics
52
      ENABLE_VERCEL_ANALYTICS: process.env.ENABLE_VERCEL_ANALYTICS === '1',
53
      DEBUG_VERCEL_ANALYTICS: process.env.DEBUG_VERCEL_ANALYTICS === '1',
54

55
      // Google Analytics
56
      ENABLE_GOOGLE_ANALYTICS: !!process.env.GOOGLE_ANALYTICS_MEASUREMENT_ID,
57
      GOOGLE_ANALYTICS_MEASUREMENT_ID: process.env.GOOGLE_ANALYTICS_MEASUREMENT_ID,
58
    },
59
  });
60
};
61

62
export const analyticsEnv = getAnalyticsConfig();
63

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.