import { createEnv } from "@t3-oss/env-nextjs" import { z } from "zod" export const env = createEnv({ /** * Due to t3-env only checking typeof window === "undefined" * and Netlify running Deno, window is never "undefined" * https://github.com/t3-oss/t3-env/issues/154 */ isServer: typeof window === "undefined" || "Deno" in window, server: { ADOBE_SDK_SCRIPT_SRC: z.string().optional(), ENABLE_GTMSCRIPT: z .string() // only allow "true" or "false" .refine((s) => s === "true" || s === "false") // transform to boolean .transform((s) => s === "true") .default("false"), PUBLIC_URL: z.string().default(""), SAS_AUTH_ENDPOINT: z.string(), SAS_AUTH_CLIENTID: z.string(), SAS_AUTH_CLIENT_SECRET: z.string(), NEXTAUTH_DEBUG: z .string() .refine((s) => s === "true" || s === "false") .transform((s) => s === "true") .default("false"), SENTRY_ENVIRONMENT: z.string().default("development"), SENTRY_SERVER_SAMPLERATE: z.coerce.number().default(0.001), IRON_SESSION_SECRET: z.string().min(32), CURITY_ISSUER_USER: z.string(), CURITY_CLIENT_SECRET_USER: z.string(), REDEMPTION_ENABLED: z .string() .refine((s) => s === "true" || s === "false") .transform((s) => s === "true") .default("false"), RELEASE_TAG: z.string().optional(), }, emptyStringAsUndefined: true, runtimeEnv: { ADOBE_SDK_SCRIPT_SRC: process.env.ADOBE_SDK_SCRIPT_SRC, CURITY_CLIENT_SECRET_USER: process.env.CURITY_CLIENT_SECRET_USER, CURITY_ISSUER_USER: process.env.CURITY_ISSUER_USER, ENABLE_GTMSCRIPT: process.env.ENABLE_GTMSCRIPT, IRON_SESSION_SECRET: process.env.IRON_SESSION_SECRET, NEXTAUTH_DEBUG: process.env.NEXTAUTH_DEBUG, PUBLIC_URL: process.env.NEXT_PUBLIC_PUBLIC_URL, SAS_AUTH_CLIENTID: process.env.SAS_AUTH_CLIENTID, SAS_AUTH_CLIENT_SECRET: process.env.SAS_AUTH_CLIENT_SECRET, SAS_AUTH_ENDPOINT: process.env.SAS_AUTH_ENDPOINT, SENTRY_ENVIRONMENT: process.env.NEXT_PUBLIC_SENTRY_ENVIRONMENT, SENTRY_SERVER_SAMPLERATE: process.env.SENTRY_SERVER_SAMPLERATE, REDEMPTION_ENABLED: process.env.REDEMPTION_ENABLED, RELEASE_TAG: process.env.NEXT_PUBLIC_RELEASE_TAG, }, })