Get configuration variable via config file, environment variable, package, npm or cli with optional required error handling
npm install convar --save
var convar = require('convar')
, token = convar('token') // e27d9f2a29b7
Required values pass in error message or Error
var convar = require('convar')
, token = convar('token', 'Missing access token') // e27d9f2a29b7
, url = convar('url', new Error('Missing URL'))
node app.js --token e27d9f2a29b7 --node_env dev
node app.js --debug
app.js
:
var convar = require('convar')
, debug = convar('debug') // true
token=e27d9f2a29b7
node_dev=dev
node app.js
This will also work
TOKEN=e27d9f2a29b7
NODE_ENV=dev
config='{ "token":"e27d9f2a29b7", "NODE_ENV":"dev" }'
Value via JSONIC simplified JSON
config=token:e27d9f2a29b7,NODE_ENV:dev
JSON or JSONIC variables
node app.js --config token:e27d9f2a29b7,NODE_ENV:dev --firebase url:https://example.firebaseio.com,token:e27d9f2a29b7e27d9f2a29b7
var convar = require('convar')
, token = convar('token') // e27d9f2a29b7
, fbUrl = convar('firebase').url // example.firebaseio.com
config.json
file:
{
"token": "e27d9f2a29b7",
"NODE_ENV": "dev",
"firebase": {
"url": "https://example.firebaseio.com",
"token": "e27d9f2a29b7e27d9f2a29b7"
}
}
config
parameter is a file if it isn't JSON or JSONIC and a string that contains .json
node app.js --config config.json
Example with yo_
prefix
node app.js --yo_token e27d9f2a29b7
Use
var convar = require('convar')
convar.prefix('yo_')
var token = convar('token') // e27d9f2a29b7
var convar = require('convar')
console.log(convar.package.version) // 1.0.0