envoodoo

Environment variable loader

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
envoodoo
212.1.18 years ago9 years agoMinified + gzip package size for envoodoo in KB

Readme

Build Status
Coverage Status
NPM
Media Suite
envoodoo
Environment variable loader
The 'env voodoo' under the hood is node streams! (FTW)

Description

This module loads environment files into process.env for you. By default it looks for a .env file in your project root but you can pass in a path to any other files you might wish to load environment variables from.

Usage

Basic usage examples

Loading a .env file in the root of the project
require('envoodoo')()

Loading a file somewhere else
var envoodoo = require('envoodoo')
envoodoo('path/to/.env')
// or
envoodoo('path/to/.env', function(err) {
  // do something
})

Loading multiple files
var envoodoo = require('envoodoo')
envoodoo() //loads default .env
envoodoo('path/to/file1')
envoodoo('path/to/file2')

.env files

envoodoo generally handles simple KEY=VALUE .env files.
However, note the following:
  • KEY='VALUE' is acceptable
  • KEY="VALUE" is acceptable
  • export KEY=VALUE is also acceptable, envoodoo will strip the export from the start
  • comments using a hash (#) - are acceptable and will be ignored by envoodoo
  • empty lines - are acceptable and will be ignored by envoodoo

Example .env file

# My .env file

# user information
NAME=bob
AGE=31

# using export keyword
export ANIMAL=cat

# crazy key strings with weird characters
KEY1='12@3$%^asd'
KEY2="12@3$%^asd"

If this file were to be loaded with envoodoo, then:
process.env.NAME   === 'bob'
process.env.AGE    === '31'
process.env.ANIMAL === 'cat'
process.env.KEY1   === '12@3$%^asd'
process.env.KEY2   === '12@3$%^asd'