DemocracyOS / config

Node configuration json files loader. Overrideable by environment variables. Very opinionated.
MIT License
6 stars 1 forks source link
configuration environment node server variable

Config

Build Status Greenkeeper badge

Configuration manager for node apps. Keep all your default settings on a json file, and override them per environment, using another file or environment variables.

| DISCLAIMER: Use https://github.com/DemocracyOS/dos-config, unless you want to customize default options.

Install

npm i democracyos-config -S

Usage

1- Create defaults.json file. It will define the schema of the config, including default values and types it should have:

/config/defaults.json

{
  "port": 3000,
  "title": "My awesome app Defaults"
}

2- Environment specific overrides are optional, using {NODE_ENV}.json or development.json as default:

/config/development.json

{
  "title": "My awesome app on Development"
}

3- Only commit default values! You wouldn't want to commit any keys, etc.

/config/.gitignore

*.json
!defaults.json

4- Load your config, specify the path to where all the config files are located.

/config/index.js

module.exports = require('democracyos-config')({
  path: __dirname
})

5- Use it:

And, in your /server.js, or wherever:

var config = require('./config')

console.log(config.title) // My awesome app on Development

Environment Variables

You can also define values using environment variables, this is the recommended approach for production.

Tests

npm run test

License