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: { NODE_ENV: z.enum(["development", "test", "production"]), REDIS_API_HOST: z.string().optional(), REDIS_API_KEY: z.string().optional(), BRANCH: process.env.NODE_ENV !== "development" ? z.string() : z.string().optional().default("dev"), GIT_SHA: z.string().optional(), CURITY_ISSUER_USER: z.string(), CURITY_CLIENT_ID_SERVICE: z.string().default("scandichotels-web-backend"), CURITY_CLIENT_SECRET_SERVICE: z.string(), CURITY_CLIENT_SERVICE_SCOPES: z.string().transform((val) => val .split(",") .map((s) => s.trim()) .filter(Boolean) .toSorted() ), }, emptyStringAsUndefined: true, runtimeEnv: { NODE_ENV: process.env.NODE_ENV, REDIS_API_HOST: process.env.REDIS_API_HOST, REDIS_API_KEY: process.env.REDIS_API_KEY, BRANCH: process.env.BRANCH, GIT_SHA: process.env.GIT_SHA, CURITY_CLIENT_SECRET_SERVICE: process.env.CURITY_CLIENT_SECRET_SERVICE, CURITY_ISSUER_USER: process.env.CURITY_ISSUER_USER, CURITY_CLIENT_ID_SERVICE: process.env.CURITY_CLIENT_ID_SERVICE, CURITY_CLIENT_SERVICE_SCOPES: process.env.CURITY_CLIENT_SERVICE_SCOPES, }, })