confe

0.0.1 • Public • Published

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

/confe/

    Package Sidebar

    Install

    npm i confe

    Weekly Downloads

    2

    Version

    0.0.1

    License

    none

    Last publish

    Collaborators

    • zacbarton