1.0.1 • Published 9 years ago
json-configurator v1.0.1
json-configurator
Configuration tool for loading json that contains environment variables and self references. It also supports variables which is deeply nested!! Prefix your environment variables with $ and postfix it with _ (se example). To reference to another variable inside the same json prefix it with <%= and postfix it with %>
I´ve added a CLI utility for this package.
Se examples:
var config = {
apiEndpoint : 'https://test.com',
$prod_apiEndpoint' : 'https://prod.com'
$local_apiEndpoint' : 'http://localhost:8080'
userEndpoint: '<%= apiEndpoint %>/users'
};
require('json-configurator')(configJson, process.env.STAGE ).userEndpoint; // let say that STAGE === 'prod'
// https://prod.com/users
require('json-configurator')(configJson, 'local').userEndpoint;
// http://localhost:8080/users
require('json-configurator')(configJson, 'foobar').userEndpoint;
//https://test.com/users
require('json-configurator')(configJson).userEndpoint;
//https://test.com/users
Install
$ npm install --save json-configurator
Usage
var configJson = {
'baseUrl': 'http://test.com',
'$prod_baseUrl': 'https://prod.com',
'endpoints': {
'users': '<%= baseUrl %>/users',
'accounts': '<%= baseUrl %>/accounts'
},
foo: 'bar',
foobar: 'foobar',
$prod_foo: 'foo in prod',
$test_foo: 'foo in test',
deep:{
veryDeep: {
publicKey: 'abc',
secret: 'secret',
$prod_secret: 'super secret'
}
}
};
var config = require('json-configurator')(configJson, 'prod');
console.log(config.deep.veryDeep.secret)
// super secret
console.log(config.endpoints.users)
// https://prod.com/users
install CLI
$ npm install -g json-configurator
Usage CLI
First create a json file:
$ echo '{"a":111, "$prod_a":999}' > test.json
# with pipe
$ cat test.json | json-configurator // => {a:111}
$ cat test.json | json-configurator -e prod // => { a: 999 }
# with argument
$ json-configurator test.json // => {a:111}
$ json-configurator -e prod test.json // => { a: 999 }
License
MIT © cmartin81
1.0.1
9 years ago
1.0.0
9 years ago
0.0.17
9 years ago
0.0.16
9 years ago
0.0.15
9 years ago
0.0.14
9 years ago
0.0.13
9 years ago
0.0.12
10 years ago
0.0.11
10 years ago
0.0.10
10 years ago
0.0.9
10 years ago
0.0.8
10 years ago
0.0.7
10 years ago
0.0.6
10 years ago
0.0.5
10 years ago
0.0.4
10 years ago
0.0.3
10 years ago
0.0.2
10 years ago
0.0.1
10 years ago