Skip to content

Commit

Permalink
Flag update
Browse files Browse the repository at this point in the history
  • Loading branch information
spiderCSman committed Jan 18, 2025
1 parent fa3f130 commit 7198fab
Showing 1 changed file with 29 additions and 34 deletions.
63 changes: 29 additions & 34 deletions apps/web/src/env.ts
Original file line number Diff line number Diff line change
@@ -1,39 +1,34 @@
import { createEnv } from "@t3-oss/env-nextjs";
import { z } from "zod";

// Helper function to handle empty strings as undefined
const stringOrUndefined = z
.string()
.refine((val) => val !== "", { message: "Value cannot be an empty string" })
.transform((val) => (val === "" ? undefined : val));

export const env = createEnv({
server: {
CLERK_SECRET_KEY: stringOrUndefined,
AWS_SES_ACCESS_KEY: stringOrUndefined,
AWS_SES_SECRET_ACCESS_KEY: stringOrUndefined,
AWS_REGION: stringOrUndefined,
AWS_SES_EMAIL_FROM: stringOrUndefined,
INTERNAL_AUTH_KEY: z.string().min(64, {
message: "INTERNAL_AUTH_KEY must be at least 64 characters",
}),
BOT_API_URL: stringOrUndefined,
NODE_ENV: z
.enum(["development", "test", "production"])
.default("development"),
},
client: {
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: stringOrUndefined,
},
// If you're using Next.js < 13.4.4, you'll need to specify the runtimeEnv manually
// runtimeEnv: {
// DATABASE_URL: process.env.DATABASE_URL,
// OPEN_AI_API_KEY: process.env.OPEN_AI_API_KEY,
// NEXT_PUBLIC_PUBLISHABLE_KEY: process.env.NEXT_PUBLIC_PUBLISHABLE_KEY,
// },
// For Next.js >= 13.4.4, you only need to destructure client variables:
experimental__runtimeEnv: {
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY:
process.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY,
},
server: {
CLERK_SECRET_KEY: z.string(),
AWS_SES_ACCESS_KEY: z.string(),
AWS_SES_SECRET_ACCESS_KEY: z.string(),
AWS_REGION: z.string(),
AWS_SES_EMAIL_FROM: z.string(),
INTERNAL_AUTH_KEY: z.string().min(64, {
message: "INTERNAL_AUTH_KEY must be at least 64 characters",
}),
BOT_API_URL: z.string(),
NODE_ENV: z
.enum(["development", "test", "production"])
.default("development"),
},
client: {
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: z.string(),
},
// If you're using Next.js < 13.4.4, you'll need to specify the runtimeEnv manually
// runtimeEnv: {
// DATABASE_URL: process.env.DATABASE_URL,
// OPEN_AI_API_KEY: process.env.OPEN_AI_API_KEY,
// NEXT_PUBLIC_PUBLISHABLE_KEY: process.env.NEXT_PUBLIC_PUBLISHABLE_KEY,
// },
// For Next.js >= 13.4.4, you only need to destructure client variables:
experimental__runtimeEnv: {
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: process.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY,
},
// Enable the flag to treat empty strings as undefined
emptyStringAsUndefined: true,
});

0 comments on commit 7198fab

Please sign in to comment.