envious: environment variables made easy, fun, and finally profitable
envious makes it absurdly easy for you to configure your environment, so you can have a central place to define credentials and whatnot.
install
npm install envious
textbook example
put this in your pipe
var envious = ; enviousdevelopment = "mongodb_hostname": "dev.local" "site_url": "http://127.0.0.1/" enviousproduction = "mongodb_hostname": "masterdb.sterlingcooper.com" "site_url": "http://zombo.com/" enviousdefault_env = "development"; var env = envious; console;
and smoke it
NODE_ENV=production node app.js
options
strict
: strict environment checking
var env = envious.apply({strict: true});
When strict is on, it will throw an error if the environment does not exist. normally, it would simply fall back to the default.
strictProperties
: if the current environment is missing properties that the default environment has, throw an error.
var env = envious.apply({strictProperties: true});
By default, properties not defined in the current environment will be copied from the default environment.
tests
you have to run the tests a certain way.
- normal.js: tests normal function.
NODE_ENV=production node normal.js
- default.js: tests the default environment feature.
node default.js
- strict.js: tests strict mode.
NODE_ENV=bogus node strict.js