Comparing version 0.3.0 to 0.4.0
10
etc.js
@@ -71,4 +71,4 @@ var util = require('util') | ||
Etc.prototype.unflattenKey = function (dest, key, value) { | ||
key.split(this.delim).reduce(function (obj, part, i, arr) { | ||
Etc.prototype.unflattenKey = function (dest, key, value, delim) { | ||
key.split(delim || this.delim).reduce(function (obj, part, i, arr) { | ||
obj[part] = (i === (arr.length - 1)) ? value : (obj[part] || {}); | ||
@@ -107,4 +107,4 @@ return obj[part]; | ||
Etc.prototype.env = function (prefix, delim) { | ||
delim = delim || '_'; | ||
prefix = (prefix || 'app') + delim; | ||
delim = delim || ':'; | ||
prefix = prefix || 'app_'; | ||
@@ -117,3 +117,3 @@ var self = this; | ||
if (key.indexOf(prefix) === 0) { | ||
self.unflattenKey(env, key.substr(len), process.env[key]); | ||
self.unflattenKey(env, key.substr(len), process.env[key], delim); | ||
} | ||
@@ -120,0 +120,0 @@ }); |
{ | ||
"name": "etc", | ||
"version": "0.3.0", | ||
"version": "0.4.0", | ||
"description": "Configuration loader for node.js applications", | ||
@@ -5,0 +5,0 @@ "main": "etc.js", |
@@ -76,3 +76,3 @@ var etc = require('../etc'), | ||
process.env['test_user:handle'] = 'cpsubrian'; | ||
conf.env('test'); | ||
conf.env('test_'); | ||
assert.deepEqual(conf.get('lang'), 'en'); | ||
@@ -85,2 +85,14 @@ assert.deepEqual(conf.get('user'), {name: 'Brian', handle: 'cpsubrian'}); | ||
it('can read conf from environment using custom delimiter', function () { | ||
process.env['test_lang'] = 'fr'; | ||
process.env['test_user_name'] = 'Joe'; | ||
process.env['test_user_handle'] = 'joemc'; | ||
conf.env('test_', '_'); | ||
assert.deepEqual(conf.get('lang'), 'fr'); | ||
assert.deepEqual(conf.get('user'), {name: 'Joe', handle: 'joemc'}); | ||
delete process.env['test_lang']; | ||
delete process.env['test_user_name']; | ||
delete process.env['test_user_handle']; | ||
}); | ||
it('can add conf using the `all` alias', function () { | ||
@@ -87,0 +99,0 @@ conf.all(); |
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 2 instances in 1 package
19826
337
17