import { createEnv } from "@t3-oss/env-nextjs" import { z } from "zod" import { getSemver } from "@scandic-hotels/common/utils/getSemver" export const env = createEnv({ client: { NEXT_PUBLIC_NODE_ENV: z.enum(["development", "test", "production"]), NEXT_PUBLIC_PORT: z.string().default("3000"), NEXT_PUBLIC_SENTRY_ENVIRONMENT: z.string().default("development"), NEXT_PUBLIC_SENTRY_CLIENT_SAMPLERATE: z.coerce.number().default(0.001), NEXT_PUBLIC_PUBLIC_URL: z.string().optional(), NEXT_PUBLIC_RELEASE_TAG: z .string() .optional() .transform((s) => getSemver("scandic-web", s, process.env.BRANCH || "development") ), }, emptyStringAsUndefined: true, runtimeEnv: { NEXT_PUBLIC_NODE_ENV: process.env.NODE_ENV, NEXT_PUBLIC_PORT: process.env.NEXT_PUBLIC_PORT, NEXT_PUBLIC_SENTRY_ENVIRONMENT: process.env.NEXT_PUBLIC_SENTRY_ENVIRONMENT, NEXT_PUBLIC_SENTRY_CLIENT_SAMPLERATE: process.env.NEXT_PUBLIC_SENTRY_CLIENT_SAMPLERATE, NEXT_PUBLIC_PUBLIC_URL: process.env.NEXT_PUBLIC_PUBLIC_URL, NEXT_PUBLIC_RELEASE_TAG: process.env.NEXT_PUBLIC_RELEASE_TAG, }, })