An environment variable reader for TypeScript
npm install @beesley/ts-env  
An environment variable reader for TypeScript. Simple and minimal. ✨
This is basically the package created by @lpgera, but since that package doesn't play well at all with typescript when you're using es modules I've forked it and rebuilt is as a universal package to work with either es modules or common js.
This package requires typescript to be installed.
``bashwith npm
npm install @beesley/ts-env
Example
Reading different types of environment variables without
ts-env:`typescript
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:`typescript
import tsEnv from '@beesley/ts-env'const port: number = tsEnv.numberOrThrow('PORT')
const database: string = tsEnv.stringOrThrow('DATABASE')
const debug: boolean | undefined = tsEnv.boolean('DEBUG')
`API
$3
Reads a string value from
process.env[key].$3
Reads a string value from
process.env[key].
Throws an error if it's undefined.$3
Reads a boolean value from
process.env[key].
"0" and "false" are considered false, "1" and "true" are considered true.
Everything else will be read as undefined.$3
Reads a boolean value from
process.env[key].
"0" and "false" are considered false, "1" and "true" are considered true.
Everything else will result in an error thrown.$3
Reads a number value from
process.env[key].
If a number cannot be parsed, it will return undefined.$3
Reads a number value from
process.env[key].
If a number cannot be parsed, an error will be thrown.$3
Reads a string array from
process.env[key].$3
Reads a string array from
process.env[key].
Throws an error if it's undefined.$3
Reads a number array from
process.env[key].
If any item cannot be parsed, it will return undefined.$3
Reads a number array from
process.env[key]`.