New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

env-configuration

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

env-configuration

Configuration manager feeding values from Env Vars and driven by objects or JSON files

latest
Source
npmnpm
Version
0.1.3
Version published
Weekly downloads
3
-50%
Maintainers
1
Weekly downloads
 
Created
Source

Node.js env-configuration

NodeJS configuration set/get and reader for package.json data Configuration management tool feeding values from environment variables, files and code.

Version

0.1.3

Build Status

Post all your comments and bug reports to @martinswiderski

Installation

To include code in your project and add it permanently as dependency to your *package.json file run following:

$ npm install --save env-configuration

Usage

This configuration tool approaches application configuration from a new angle. It uses JS objects or JSON files but only to drive mapping to config object property.

Basic configuration of object itself

It provides reset method diverse behaviour when comes across an error.

Use in your project:

var envConfig = require('env-configuration');

If you want not include details of your package JSON go:

var envConfig = require('env-configuration').readPackage('./package.json');

Set throw exceptions on each error:

envConfig.options({ errors: "throw" }); // throw exception

Or start gathering errors in a common envConfig.errors array

envConfig.options({ errors: "collect" }); // or log

Driving configuration from an object

You can pass a mapping object directly to config:


config.loadObject({
    proxy: {
        source: 'environment', // reads from env vars
        reference: 'http_proxy'
    },
    system: {
        source: 'declaration',  // sets value below as declared here
        reference: 'my system name'
    },
    json_config: {
        source: 'declaration',
        reference: '{"hello":"world","iam":{"many":"names"}}' // JSON as string
    }
});

Or, you can pass a JSON file (of the same structure)as argument

envConfig.loadJSON('./configuration.json');

Using multiple drivers (files and objects together and/or more than one)

You can drive config from JSON and from object. merging configs from multiple sources and overloading values of one another (last value set for given key wins).

Getting application config values

Calling get with a declared function:

    console.log(configuration.get('json_config', JSON.parse));
    { hello: 'world', iam: { many: 'names' } }

Calling get with a anonymous function:

    // no callback
    console.log(configuration.get('system'));
    hard-coded-value
    
    // callback added
    console.log(configuration.get('system', function(contents){
        return contents.toUpperCase();
    }));
    HARD-CODED-VALUE

Getting application config values processed with a callback

Get (from 0.1.3) supports a callback:

    console.log(config.get('proxy'));
    http://yourProxy:8080

Getting values from package.json

Call get method:

    console.log(config.package.jsonpath('$..dependencies.system'));
    0.1.3

Ensuring config is valid

Just call method returning true|false

config.isValid();

Good luck!

Keywords

config

FAQs

Package last updated on 01 Mar 2017

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