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


0341.1.4810 days ago4 years agoMinified + gzip package size for @jcoreio/require-env in KB



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.


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.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.