Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

json-configurator

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

json-configurator

Small module for handling environment variables

latest
Source
npmnpm
Version
1.0.1
Version published
Maintainers
1
Created
Source

Build Status

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

Keywords

configuration

FAQs

Package last updated on 09 Apr 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts