- Introduced `client.ts` and `server.ts` for structured environment variable management using `@t3-oss/env-nextjs`. - Updated references to environment variables in various files to use the new `clientEnv` and `serverEnv` objects. - Enhanced the `next.config.mjs` file to validate environment variables during build. - Added new dependencies: `@t3-oss/env-nextjs` and `jiti` for improved environment handling. - Cleaned up imports and ensured consistent usage of environment variables across the application.
17 lines
556 B
TypeScript
17 lines
556 B
TypeScript
// https://env.t3.gg/docs/nextjs#create-your-schema
|
|
import { createEnv } from '@t3-oss/env-nextjs'
|
|
import { z } from 'zod'
|
|
|
|
export const clientEnv = createEnv({
|
|
client: {
|
|
NEXT_PUBLIC_MAPBOX_TOKEN: z.string().min(1),
|
|
NEXT_PUBLIC_POSTHOG_KEY: z.string().min(1),
|
|
NEXT_PUBLIC_POSTHOG_HOST: z.string().min(1).url(),
|
|
},
|
|
runtimeEnv: {
|
|
NEXT_PUBLIC_MAPBOX_TOKEN: process.env.NEXT_PUBLIC_MAPBOX_TOKEN,
|
|
NEXT_PUBLIC_POSTHOG_KEY: process.env.NEXT_PUBLIC_POSTHOG_KEY,
|
|
NEXT_PUBLIC_POSTHOG_HOST: process.env.NEXT_PUBLIC_POSTHOG_HOST,
|
|
},
|
|
})
|