environment variables made easy
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib
test
History.md
LICENSE
README.md
example.js
main.js
package.json

README.md

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 = require('envious');

envious.development = 
{
  "mongodb_hostname": "dev.local",
  "site_url": "http://127.0.0.1/",
}

envious.production = 
{
  "mongodb_hostname": "masterdb.sterlingcooper.com",
  "site_url": "http://zombo.com/",
}

envious.default_env = "development";

var env = envious.apply();

console.log(env.site_url);

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