From f1fb7a5a782eff5e024c722ffd03786f4f847bc4 Mon Sep 17 00:00:00 2001 From: ajnart Date: Wed, 9 Aug 2023 18:36:27 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix=20env=20schema?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://env.t3.gg/docs/recipes --- src/env.js | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/env.js b/src/env.js index 4f52b8476..1ea009853 100644 --- a/src/env.js +++ b/src/env.js @@ -31,10 +31,23 @@ const env = createEnv({ */ client: { // NEXT_PUBLIC_CLIENTVAR: z.string().min(1), - NEXT_PUBLIC_DEFAULT_COLOR_SCHEME: z.enum(['light', 'dark']).optional().default('light'), NEXT_PUBLIC_PORT: portSchema, NEXT_PUBLIC_NODE_ENV: envSchema, - NEXT_PUBLIC_DOCKER_ENABLED: z.boolean().optional().default(false), + NEXT_PUBLIC_DEFAULT_COLOR_SCHEME: z + .string() + .toLowerCase() + .refine((s) => s === 'light' || s === 'dark') + .optional() + .default('light'), + NEXT_PUBLIC_DOCKER_ENABLED: z + .string() + .toLowerCase() + // only allow "true" or "false" + .refine((s) => s === 'true' || s === 'false') + // transform to boolean + .transform((s) => s === 'true') + .optional() + .default('false'), }, /** @@ -51,7 +64,7 @@ const env = createEnv({ NEXT_PUBLIC_DEFAULT_COLOR_SCHEME: process.env.DEFAULT_COLOR_SCHEME, NEXT_PUBLIC_PORT: process.env.PORT, NEXT_PUBLIC_NODE_ENV: process.env.NODE_ENV, - NEXT_PUBLIC_DOCKER_ENABLED: !!process.env.DOCKER_HOST, + NEXT_PUBLIC_DOCKER_ENABLED: process.env.DOCKER_ENABLED, }, });