{"id":47494,"library":"envase","title":"envase","description":"Type-safe environment variable validation library (v1.5.0) that follows the Standard Schema specification, making it compatible with validation libraries like Zod, Valibot, and Arktype. It parses and validates environment variables from process.env, providing clear error messages and TypeScript type inference. Published as an ES-only package with npm release cadence; differentiates by plugging into the Standard Schema ecosystem, allowing reuse of existing schemas and tooling (e.g., TypeBox, Effect/Schema via adapters).","status":"active","version":"1.5.0","language":"javascript","source_language":"en","source_url":"https://github.com/CatchMe2/envase","tags":["javascript","typescript","environment-variables","validation","standard-schema","zod","valibot","arktype"],"install":[{"cmd":"npm install envase","lang":"bash","label":"npm"},{"cmd":"yarn add envase","lang":"bash","label":"yarn"},{"cmd":"pnpm add envase","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Standard Schema spec for interoperability","package":"standard-schema","optional":false}],"imports":[{"note":"ESM-only; CommonJS require not supported.","wrong":"const { env } = require('envase');","symbol":"env","correct":"import { env } from 'envase';"},{"note":"Direct import from main entry.","wrong":"import { parseEnv } from 'envase/parse';","symbol":"parseEnv","correct":"import { parseEnv } from 'envase';"},{"note":"Export available, but may not be needed if using standard schema errors.","symbol":"EnvaseError","correct":"import { EnvaseError } from 'envase';"}],"quickstart":{"code":"import { env } from 'envase';\nimport { z } from 'zod';\n\nconst schema = z.object({\n  NODE_ENV: z.enum(['development', 'production', 'test']).default('development'),\n  PORT: z.coerce.number().positive().int().default(3000),\n  DATABASE_URL: z.string().url(),\n  API_KEY: z.string().min(1),\n});\n\nconst safeEnv = env(schema);\nconsole.log(safeEnv.PORT); // number\nconsole.log(safeEnv.NODE_ENV); // 'development' | 'production' | 'test'\n","lang":"typescript","description":"Shows how to use env() with a Zod schema to parse and validate environment variables, with defaults and type inference."},"warnings":[{"fix":"Use z.coerce.number(), z.coerce.boolean() or transform from string.","message":"process.env values are always strings; use z.coerce for numbers, booleans, etc.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Wrap in try/catch or use parseEnv() which returns Result type.","message":"env() throws on missing required variables without default; catch to handle errors.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Ensure standard-schema dependency is at version 1.x.","message":"Version 1.x requires Standard Schema v1; upgrade if using older standard-schema.","severity":"breaking","affected_versions":">=1.0.0 <2.0.0"}],"env_vars":null,"search_vec":"'adapt':73 'allow':62 'arktyp':26,85 'cadenc':53 'clear':36 'compat':18 'differenti':54 'e.g':69 'ecosystem':61 'effect/schema':71 'envas':1 'environ':5,31,77 'environment-vari':76 'error':37 'es':47 'es-on':46 'exist':65 'follow':11 'infer':42 'javascript':74 'librari':8,21 'like':22 'make':16 'messag':38 'npm':51 'packag':49 'pars':28 'plug':56 'process.env':34 'provid':35 'publish':43 'releas':52 'reus':63 'safe':4 'schema':14,60,66,82 'specif':15 'standard':13,59,81 'standard-schema':80 'tool':68 'type':3,41 'type-saf':2 'typebox':70 'typescript':40,75 'v1.5.0':9 'valibot':24,84 'valid':7,20,30,79 'variabl':6,32,78 'via':72 'zod':23,83","created_at":"2026-06-07T16:51:47.579416+00:00","updated_at":"2026-06-07T16:51:47.579416+00:00","problems":[{"fix":"Use ESM imports (import) or ensure package.json type: module.","cause":"Trying to require envase with CommonJS","error":"Error: Cannot find module 'envase'"},{"fix":"Use named import: import { env } from 'envase';","cause":"Mis-importing env as default export","error":"TypeError: env is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/CatchMe2/envase","github":"https://github.com/CatchMe2/envase","docs":null,"changelog":null,"pypi":null,"npm":"envase","openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}