UNPKG

@pulzar/core

Version:

Next-generation Node.js framework for ultra-fast web applications with zero-reflection DI, GraphQL, WebSockets, events, and edge runtime support

42 lines 1.33 kB
import { z } from "zod"; // Environment variable schema const EnvSchema = z.object({ NODE_ENV: z .enum(["development", "production", "test"]) .default("development"), PORT: z .string() .transform(Number) .pipe(z.number().min(1).max(65535)) .default("3000"), HOST: z.string().default("localhost"), DATABASE_URL: z.string().optional(), REDIS_URL: z.string().optional(), REDIS_HOST: z.string().default("localhost"), REDIS_PORT: z.coerce.number().default(6379), JWT_SECRET: z.string().min(1), JWT_EXPIRES_IN: z.string().default("24h"), CORS_ORIGIN: z.string().default("*"), LOG_LEVEL: z.enum(["trace", "debug", "info", "warn", "error", "fatal"]).default("info"), TRACING_ENABLED: z .string() .transform((val) => val === "true") .default("false"), SERVICE_NAME: z.string().default("pulzar-app"), }); export function loadEnv() { return EnvSchema.parse(process.env); } export function getEnv(key) { return process.env[key]; } export function isDevelopment() { return process.env.NODE_ENV === "development"; } export function isProduction() { return process.env.NODE_ENV === "production"; } export function isTest() { return process.env.NODE_ENV === "test"; } //# sourceMappingURL=env.js.map