@nurliman/env-valibot@0.7.2Built and signed on GitHub ActionsBuilt and signed on GitHub Actions
Built and signed on GitHub Actions
latest
nurliman/env-valibotDeploying your app with invalid environment variables is a hassle. This package helps you to avoid that.
This package works with Cloudflare Workers, Node.js, Deno, Bun, Browsers




JSR Score
100%
Published
7 months ago (0.7.2)
Typesafe Envs made Simple
Deploying your app with invalid environment variables is a hassle. This package helps you to avoid that.
Usage
For full documentation, see https://env.t3.gg
This package supports the full power of Valibot, meaning you can use transforms
and default
values.
Define your schema
// src/env.mjs import { createNextjsEnv } from "@nurliman/env-valibot"; import * as v from "@valibot/valibot"; export const env = createNextjsEnv({ // Serverside Environment variables, not available on the client. // Will throw if you access these variables on the client. server: { DATABASE_URL: v.pipe(v.string(), v.url()), OPEN_AI_API_KEY: v.pipe(v.string(), v.minLength(1)), }, // Environment variables available on the client (and server). // 💡 You'll get type errors if these are not prefixed with NEXT_PUBLIC_. client: { NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: v.pipe(v.string(), v.minLength(1)), }, // Due to how Next.js bundles environment variables on Edge and Client, // we need to manually destructure them to make sure all are included in bundle. // 💡 You'll get type errors if not all variables from `server` & `client` are included here. runtimeEnv: { DATABASE_URL: process.env.DATABASE_URL, OPEN_AI_API_KEY: process.env.OPEN_AI_API_KEY, NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: process.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY, }, });
Use the schema in your app with autocompletion and type inference
// src/app/hello/route.ts import { env } from "../env.mjs"; export const GET = (req: Request) => { const DATABASE_URL = env.DATABASE_URL; // use it... };
Built and signed on
GitHub Actions
Add Package
deno add jsr:@nurliman/env-valibot
Import symbol
import * as env_valibot from "@nurliman/env-valibot";
Import directly with a jsr specifier
import * as env_valibot from "jsr:@nurliman/env-valibot";
Add Package
pnpm i jsr:@nurliman/env-valibot
pnpm dlx jsr add @nurliman/env-valibot
Import symbol
import * as env_valibot from "@nurliman/env-valibot";
Add Package
yarn add jsr:@nurliman/env-valibot
yarn dlx jsr add @nurliman/env-valibot
Import symbol
import * as env_valibot from "@nurliman/env-valibot";
Add Package
vlt install jsr:@nurliman/env-valibot
Import symbol
import * as env_valibot from "@nurliman/env-valibot";
Add Package
npx jsr add @nurliman/env-valibot
Import symbol
import * as env_valibot from "@nurliman/env-valibot";
Add Package
bunx jsr add @nurliman/env-valibot
Import symbol
import * as env_valibot from "@nurliman/env-valibot";