@diotoborg/officia-iste v6.11.95
@diotoborg/officia-iste
Envey is a library designed to simplify the process of managing and validating environment variables in Node.js applications. It provides a fully type-safe solution for defining and parsing configuration schemas, leveraging the power of Zod's excellent type system.
Installation
pnpm i -E zod @diotoborg/officia-iste
Usage
import { z } from 'zod'
import { createConfig } from '@diotoborg/officia-iste'
const result = createConfig(
z,
{
databaseUrl: {
env: 'DATABASE_URL',
format: z.string(),
},
port: {
env: 'PORT',
format: z.coerce.number().int().positive().max(65535),
},
},
{ validate: true },
)
if (!result.success) {
console.error(result.error.issues)
// Handle error
}
const { config } = result
// ^? {
// readonly databaseUrl: string;
// readonly port: number;
// }
Supports schema type inference, similar to Zod's infer:
const schema = {
logLevel: {
env: 'LOG_LEVEL',
format: z.enum([
'fatal',
'error',
'warn',
'info',
'debug',
'trace',
'silent',
]),
},
} satisfies EnveySchema
type Config = InferEnveyConfig<typeof schema>
// ^? {
// readonly logLevel: "fatal" | "error" | "warn" | "info" | "debug" | "trace" | "silent"
// }
License
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago