node-json-config-loader
v1.2.0
Published
JSON Configuration File Loader for Node Js Applications. Includes an application secret loader, simply pass in a secret mapping and a value store (environment variables, for example).
Downloads
3
Readme
Json Configuration Loader - IoT Shaman
Load multiple configurations files with one easy API. Have application secrets stored in environmental variables or any other key store? No problem, simply pass in a mapping and the key store and it will resolve this just like a regular json configuration file.
Requirements
In order to use node-json-config-loader you will need the following resource(s):
- npm
Installation
npm install node-json-config-loader --save
Quick Start
The entry point into the application is a factory method that will generate the config loader. Simply pass in a configuration object containing your files list / secret mappings + key stores (with names for later retrieval) and the factory will return a promise. When the promise resolves, you can access the config objects by calling 'get' on the return value.
var path = require('path');
var config = {
files: [{
name: "myDefaultConfig",
path: path.join(__dirname, 'config.json')
}],
secret_maps: [{
name: "mySecretConfig",
path: path.join(__dirname, 'secrets.map.json'),
store: process.env
}]
}
var loader = require('node-json-config-loader');
loader(config).then(function(rslt) {
// ...
});
API Reference
The factory method (read above section 'Quick Start') will return a config object with the following interface:
interface ConfigApi {
get(key: string): any;
}
Secret Maps
Secret maps are simple json objects that have the required keys as properties in the object, and the values should be boolean. For example:
{
"some_key": true,
"some_other_key": true
}