1.0.0 • Published 7 months ago

@polioan/zod-env v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

zod-env

version license

Install

npm

npm i @polioan/zod-env

yarn

yarn add @polioan/zod-env

Usage

Normal

import { defineEnvSchema } from '@polioan/zod-env'
import { z } from 'zod'

const env = defineEnvSchema({
  schema: z.object({ NODE_ENV: z.enum(['production', 'development']) }),
})

const value = env('NODE_ENV') // "production" | "development"
const unknownValue = env('FOO') // string | undefined

In bundler environment

import { defineEnvSchema } from '@polioan/zod-env'
import { z } from 'zod'

const env = defineEnvSchema({
  schema: z.object({ NODE_ENV: z.enum(['production', 'development']) }),
  values: {
    NODE_ENV: process.env.NODE_ENV,
  },
})

const value = env('NODE_ENV') // "production" | "development"
const unknownValue = env('FOO') // string | undefined

With Deno or other "non process.env"

const env = defineEnvSchema({
  schema: z.object({ NODE_ENV: z.enum(['production', 'development']) }),
  envResolver: {
    getFallback() {
      return Deno.env.toObject()
    },
    get(key) {
      return Deno.env.get(key)
    },
  },
})
1.0.0

7 months ago