sjinks / node-config-reloadable

Reloadable version of lorenwest/node-config
https://www.npmjs.com/package/config-reloadable
MIT License
8 stars 1 forks source link
config configuration node-config reload-config

node-config-reloadable

Build and Test npm version

Reloadable version of lorenwest/node-config

Install

npm install --save config-reloadable

Why?

It looks like there is no official support for reloading configuration files; instead, the author suggest a workaround, which, unfortunately, does not always work (for example, if your configuration files are *.js).

config-reloadable forces node-config to reload configuration files by clearing the require cache for both node-config itself and all configuration files that have been loaded.

Example

const config = require('config-reloadable');

console.log(config().something);

// Now change that `something`

config.reloadConfigs();

console.log(config().something);

// Displayed values should differ

Instead of config.reloadConfigs() it is possible to use config(true) (it is less intuitive but makes the code less verbose).

Reload configuration files on SIGHUP:

const config = require('config-reloadable');

let conf = config();

process.on('SIGHUP', function () {
  conf = config.reloadConfigs();
});