
Security News
The Hidden Blast Radius of the Axios Compromise
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.
env-configuration
Advanced tools
Configuration manager feeding values from Env Vars and driven by objects or JSON files
NodeJS configuration set/get and reader for package.json data Configuration management tool feeding values from environment variables, files and code.
0.1.3
Post all your comments and bug reports to @martinswiderski
To include code in your project and add it permanently as dependency to your *package.json file run following:
$ npm install --save env-configuration
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.
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
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');
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).
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
Get (from 0.1.3) supports a callback:
console.log(config.get('proxy'));
http://yourProxy:8080
Call get method:
console.log(config.package.jsonpath('$..dependencies.system'));
0.1.3
Just call method returning true|false
config.isValid();
Good luck!
FAQs
Configuration manager feeding values from Env Vars and driven by objects or JSON files
The npm package env-configuration receives a total of 3 weekly downloads. As such, env-configuration popularity was classified as not popular.
We found that env-configuration demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

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.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.