Configuration plugin for bi-service
Loads a config file from a fs path which defaults to /config/NODE_ENV/config.json5
.
NODE_ENV
defaults to development
string value.
Config values can be either in valid JSON
or in more lighweight JSON5 format.
Example use:
const config = require('bi-config');
config.initialize();
var listenPort = config.get("path:to:nested:option");
JSON pointer
Supports pointers only within a file (does not support referencing other files from within a file)
Example use:
{
public: {
storage: {
couchbase: {$ref: '#/storage/couchbase'}
}
},
storage: {
couchbase: {
host: '127.0.0.1'
}
}
}
will be resolved to
{
public: {
storage: {
couchbase: {
host: '127.0.0.1'
}
}
},
storage: {
couchbase: {
host: '127.0.0.1'
}
}
}
$join
keyword
Joins all items of an array into one value. JSON pointer are resolved before concatenation
Example use:
{
host: 'localhost',
listen: 3000,
url: {$join: [
'http://',
{$ref: '#/host'},
':'
{$ref: '#/listen'},
]}
}