0.0.1 • Published 10 years ago

confe v0.0.1

Weekly downloads
6
License
-
Repository
github
Last release
10 years ago

confe

Simple config file management.

Top level keys that include the special "extends" key will include, and overwrite, keys from that top level key. This process is recursive.

The two required arguments can be set via the enviroment variables;

  • NODE_CONFIG_FILE
  • NODE_ENV

or provided inline (in order);

  • path to config file
  • top level key name

Installation

$ npm install -g confe

Examples

The following examples show you how to use confe.

var confe = require('confe');

// example config file (config.json)
/*
{
	"dev": {"email": "dev-webmaster@test.com", "google-key": "abcxyz"}
	, "local-developer1": {"extends": "dev", "email": "tom1@test.com"}
	, "local-developer2": {"extends": "dev", "email": "kay2@test.com", "google-key": "123"}
	
	, "prod": {"email": "webmaster@test.com", "google-key": "asdf4567"}
}
*/

var config = confe('./config.json', 'dev');
// { email: 'dev-webmaster@test.com', 'google-key': 'abcxyz' }

// or

var config = confe('./config.json', 'local-developer1');
// { email: 'tom1@test.com', 'google-key': 'abcxyz', extends: 'dev' }

// or

var config = confe('./config.json', 'local-developer2');
// { email: 'kay2@test.com', 'google-key': '123', extends: 'dev' }

// or
// NODE_CONFIG_FILE=/path/to/config.json
// NODE_ENV=prod

var config = confe();
// { email: 'webmaster@test.com', 'google-key': 'asdf4567' }

Running tests

$ npm test