What is ArkEnv?
Link to section: introductionIntroduction
Tip
📖 Reading this on GitHub? Check out this page in our docs to hover over code blocks and get type hints!
ArkEnv is an environment variable parser powered by ArkType, TypeScript's 1:1 validator. ArkEnv lets you use familiar TypeScript-like syntax to create a ready to use, typesafe environment variable object:
import arkenv from 'arkenv';
const env = arkenv({
HOST: "string.host", // valid IP address or localhost
PORT: "number.port", // valid port number (0-65535)
NODE_ENV: "'development' | 'production' | 'test'",
});
// Hover to see ✨exact✨ types
const host = env.HOST;
const port = env.PORT;
const nodeEnv = env.NODE_ENV;With ArkEnv, your environment variables are guaranteed to match your schema. If any variable is incorrect or missing, the app won't start and a clear error will be thrown:
ArkEnvError: Errors found while validating environment variables
HOST must be a string or "localhost" (was missing)
PORT must be an integer between 0 and 65535 (was "hello")Link to section: featuresFeatures
- Zero external dependencies
- Works in Node.js, Bun, and Vite
- Tiny: <1kB gzipped
- Build-time and runtime validation
- Single import, zero config for most projects
- Validated, defaultable, typesafe environment variables
- Powered by ArkType, TypeScript's 1:1 validator
- Optimized from editor to runtime