env

Initialize type-safe environment variables in your app

1. Install dependencies

pnpm add @t3-oss/env-nextjs zod

2. Folder Structure

Tree View

src
env.ts
next.config.ts
TypeScript
src/env.ts
import { createEnv } from '@t3-oss/env-nextjs'
import { z } from 'zod'

export const env = createEnv({
  shared: {
    NODE_ENV: z.enum(['development', 'production']).default('development')
  },
  server: {
    // Add server environment variables here
  },
  experimental__runtimeEnv: {
    NODE_ENV: process.env.NODE_ENV
  },
  emptyStringAsUndefined: true
})

3. Modify next.config.ts

TypeScript
next.config.ts
import type { NextConfig } from 'next'

import './src/env'

const nextConfig: NextConfig = {
  // Your Next.js config
}

export default nextConfig
Edit on GitHub