Skip to content

Latest commit

 

History

History
43 lines (32 loc) · 1.85 KB

README.md

File metadata and controls

43 lines (32 loc) · 1.85 KB

@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.