Skip to content
This repository has been archived by the owner on Aug 28, 2022. It is now read-only.
/ config.json Public archive

nconf wrapper that simplifies work with environment specific configuration files

License

Notifications You must be signed in to change notification settings

bulyshko/config.json

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

config.json

nconf wrapper that simplifies work with environment specific configuration files.

config.json is easy to use; it:

  • loads the default configuration file;
  • loads environment specific configuration file and overrides defaults;

and then:

  • uses environment variables;
  • and command-line arguments to override data from configuration files.

This package is no longer supported.

Installation

npm install config.json

Usage

The top-level of `config.json` is a function that loads configuration file with the given `filepath`.

Create default configuration file

vi sample.json
{
  "domain": "www.example.com",
  "mongodb": {
    "host": "localhost",
    "port": 27017
  }
}

Create environment specific configuration file

vi sample.development.json
{
  "domain": "dev.example.com"
}

Note: Environment specific configuration files should be in the same directory as the default one.

Test config.json in action

vi sample.js
var config = require('config.json')('./sample.json');

console.log("domain:", config.domain);
console.log("mongodb:\n",
  "host:", config.mongodb.host, "\n",
  "port:", config.mongodb.port);

Run the above script:

NODE_ENV=development node ./sample.js --mongodb:host "dharma.mongohq.com" --mongodb:port 10065

The output will be:

domain: dev.example.com
mongodb:
 host: dharma.mongohq.com
 port: 10065

Load configuration for the specific environment

Environment can be set by passing env argument:

var developmentConfig = require('config.json')('./sample.json', 'development');
var productionConfig = require('config.json')('./sample.json', 'production');

One more thing...

filepath can be empty if your configuration file is in the current working directory of the process and is called config.json.

License

Released under the MIT license.

About

nconf wrapper that simplifies work with environment specific configuration files

Resources

License

Stars

Watchers

Forks

Packages

No packages published