ts-env
An environment variable reader for TypeScript. Simple and minimal. ✨Install
This package requirestypescript
to be installed.# with npm
npm install @lpgera/ts-env
# or with Yarn
yarn add @lpgera/ts-env
Example
Reading different types of environment variables withoutts-env
:if (!process.env.PORT) {
throw new Error('process.env.PORT is missing')
}
if (!process.env.DATABASE) {
throw new Error('process.env.DATABASE is missing')
}
const port: number = parseInt(process.env.PORT)
const database: string = process.env.DATABASE
const debug: boolean | undefined = process.env.DEBUG === 'true'
Doing the same with
ts-env
:import tsEnv from '@lpgera/ts-env'
const port: number = tsEnv.numberOrThrow('PORT')
const database: string = tsEnv.stringOrThrow('DATABASE')
const debug: boolean | undefined = tsEnv.boolean('DEBUG')
API
.string(key: string): string | undefined
Reads a string value fromprocess.env[key]
..stringOrThrow(key: string): string
Reads a string value fromprocess.env[key]
.
Throws an error if it's undefined
..boolean(key: string): boolean | undefined
Reads a boolean value fromprocess.env[key]
.
"0" and "false" are considered false
, "1" and "true" are considered true
.
Everything else will be read as undefined
..booleanOrThrow(key: string): boolean
Reads a boolean value fromprocess.env[key]
.
"0" and "false" are considered false
, "1" and "true" are considered true
.
Everything else will result in an error thrown..number(key: string): number | undefined
Reads a number value fromprocess.env[key]
.
If a number cannot be parsed, it will return undefined
..numberOrThrow(key: string): number
Reads a number value fromprocess.env[key]
.
If a number cannot be parsed, an error will be thrown..stringArray(key: string, separator: string = ','): string | undefined
Reads a string array fromprocess.env[key]
..stringArrayOrThrow(key: string, separator: string = ','): string
Reads a string array fromprocess.env[key]
.
Throws an error if it's undefined
..numberArray(key: string, separator: string = ','): number | undefined
Reads a number array fromprocess.env[key]
.
If any item cannot be parsed, it will return undefined
..numberArrayOrThrow(key: string, separator: string = ','): number
Reads a number array fromprocess.env[key]
.
If any item cannot be parsed, an error will be thrown.