Skip to content

get value of an environment variable; throw if undefined or empty string

License

Notifications You must be signed in to change notification settings

jcoreio/require-env

Folders and files

NameName
Last commit message
Last commit date
Sep 4, 2019
Jan 26, 2020
Jan 26, 2020
Dec 13, 2017
Feb 22, 2017
Dec 19, 2017
Jan 28, 2018
Feb 22, 2017
Jan 26, 2020
Dec 11, 2017
Jun 10, 2024
Feb 3, 2018
Jan 26, 2020
Jun 10, 2024

Repository files navigation

@jcoreio/require-env

CircleCI Coverage Status semantic-release Commitizen friendly npm version

A simple function that returns the value of an environment variable, but throws if it's not a non-empty string. Logs the entire environment to console.error to aid debugging. Flow type defs included.

Usage

npm install --save @jcoreio/require-env
var requireEnv = require('require-env')

var FOO = requireEnv('FOO')
// now you can be sure that FOO is a non-empty string, and Flow will trust that it is too.

By default it looks in process.env, but you can override this by passing the environment hash as the second argument:

var environment = {...process.env, ...require('./defaultEnv.js')}
var FOO = requireEnv('FOO', environment)

See also

  • defaultenv - fantastic CLI/Node API for loading default environment variable values

Error messages

In the past Errors thrown had all environment variables in their messages. I've since realized this was a huge security risk when error messages are sent from server to client. Now the message and environment variables are printed to console.error. You can customize this by monkeypatching the require('@jcoreio/require-env').logError function.