npm.io
1.1.7 • Published 11 years ago

convar

Licence
MIT
Version
1.1.7
Deps
4
Vulns
5
Weekly
0

CONVAR

Get configuration variable via config file, environment variable, package, npm or cli with optional required error handling

Install

npm install convar --save

Use

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'))
Value via command line
node app.js --token e27d9f2a29b7 --node_env dev
Conditional flags
node app.js --debug

app.js :

var convar = require('convar')
  , debug  = convar('debug') // true
Value via environment variable
token=e27d9f2a29b7
node_dev=dev

node app.js
Ignore case

This will also work

TOKEN=e27d9f2a29b7
NODE_ENV=dev
Value via JSON config
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
JSON config file

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

Prefixed values

Example with yo_ prefix

node app.js --yo_token e27d9f2a29b7

Use

var convar = require('convar')
convar.prefix('yo_')
var token  = convar('token')        // e27d9f2a29b7

Package values

var convar = require('convar')
console.log(convar.package.version) // 1.0.0

License: MIT

Keywords