config 3.2.3 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/History.md +20 -0
- package/LICENSE +1 -1
- package/README.md +8 -8
- package/lib/config.js +15 -5
- package/package.json +1 -1
package/History.md
CHANGED
|
@@ -1,3 +1,23 @@
|
|
|
1
|
+
3.3.0 / 2020-02-26
|
|
2
|
+
==================
|
|
3
|
+
|
|
4
|
+
* Allow all defined values in `substituteDeep` - @fostyfost
|
|
5
|
+
|
|
6
|
+
3.2.6 / 2020-02-21
|
|
7
|
+
==================
|
|
8
|
+
|
|
9
|
+
* Updated copyright date ranges
|
|
10
|
+
|
|
11
|
+
3.2.5 / 2020-01-16
|
|
12
|
+
==================
|
|
13
|
+
|
|
14
|
+
* Fixed issue with getCustomEnvVars and multiple config dirs #585 - @dekelev
|
|
15
|
+
|
|
16
|
+
3.2.4 / 2019-10-25
|
|
17
|
+
==================
|
|
18
|
+
|
|
19
|
+
* Improved error handling of env variables value parse - @leonardovillela
|
|
20
|
+
|
|
1
21
|
3.2.3 / 2019-10-03
|
|
2
22
|
==================
|
|
3
23
|
|
package/LICENSE
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright 2010-
|
|
1
|
+
// Copyright 2010-2020, Loren West and other contributors
|
|
2
2
|
|
|
3
3
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
4
|
// of this software and associated documentation files (the "Software"), to
|
package/README.md
CHANGED
|
@@ -126,7 +126,7 @@ Articles
|
|
|
126
126
|
|
|
127
127
|
Further Information
|
|
128
128
|
---------------------
|
|
129
|
-
If you still don't see what you are looking for, here more resources to check:
|
|
129
|
+
If you still don't see what you are looking for, here are some more resources to check:
|
|
130
130
|
|
|
131
131
|
* The [wiki may have more pages](https://github.com/lorenwest/node-config/wiki) which are not directly linked from here.
|
|
132
132
|
* Review [questions tagged with node-config](https://stackexchange.com/filters/207096/node-config) on StackExchange. These are monitored by `node-config` contributors.
|
|
@@ -147,23 +147,23 @@ Contributors
|
|
|
147
147
|
<td><img src=https://avatars2.githubusercontent.com/u/1656140?v=4><a href="https://github.com/eheikes">eheikes</a></td>
|
|
148
148
|
<td><img src=https://avatars3.githubusercontent.com/u/138707?v=4><a href="https://github.com/th507">th507</a></td>
|
|
149
149
|
</tr><tr><td><img src=https://avatars2.githubusercontent.com/u/506460?v=4><a href="https://github.com/Osterjour">Osterjour</a></td>
|
|
150
|
+
<td><img src=https://avatars3.githubusercontent.com/u/1751645?v=4><a href="https://github.com/cunneen">cunneen</a></td>
|
|
150
151
|
<td><img src=https://avatars0.githubusercontent.com/u/842998?v=4><a href="https://github.com/nsabovic">nsabovic</a></td>
|
|
151
152
|
<td><img src=https://avatars0.githubusercontent.com/u/5138570?v=4><a href="https://github.com/BadgerBadgerBadgerBadger">BadgerBadgerBadgerBadger</a></td>
|
|
152
153
|
<td><img src=https://avatars2.githubusercontent.com/u/2529835?v=4><a href="https://github.com/simon-scherzinger">simon-scherzinger</a></td>
|
|
153
|
-
<td><img src=https://
|
|
154
|
+
<td><img src=https://avatars3.githubusercontent.com/u/8650543?v=4><a href="https://github.com/leonardovillela">leonardovillela</a></td>
|
|
155
|
+
</tr><tr><td><img src=https://avatars1.githubusercontent.com/u/175627?v=4><a href="https://github.com/axelhzf">axelhzf</a></td>
|
|
154
156
|
<td><img src=https://avatars3.githubusercontent.com/u/7782055?v=4><a href="https://github.com/benkroeger">benkroeger</a></td>
|
|
155
|
-
|
|
157
|
+
<td><img src=https://avatars3.githubusercontent.com/u/1872824?v=4><a href="https://github.com/fgheorghe">fgheorghe</a></td>
|
|
156
158
|
<td><img src=https://avatars3.githubusercontent.com/u/1443067?v=4><a href="https://github.com/IvanVergiliev">IvanVergiliev</a></td>
|
|
157
159
|
<td><img src=https://avatars0.githubusercontent.com/u/1736957?v=4><a href="https://github.com/jpwilliams">jpwilliams</a></td>
|
|
158
160
|
<td><img src=https://avatars2.githubusercontent.com/u/1246875?v=4><a href="https://github.com/jaylynch">jaylynch</a></td>
|
|
159
|
-
|
|
161
|
+
</tr><tr><td><img src=https://avatars1.githubusercontent.com/u/145742?v=4><a href="https://github.com/jberrisch">jberrisch</a></td>
|
|
160
162
|
<td><img src=https://avatars1.githubusercontent.com/u/9355665?v=4><a href="https://github.com/kgoerlitz">kgoerlitz</a></td>
|
|
161
|
-
|
|
162
|
-
<td><img src=https://avatars3.githubusercontent.com/u/8650543?v=4><a href="https://github.com/leonardovillela">leonardovillela</a></td>
|
|
163
|
+
<td><img src=https://avatars0.githubusercontent.com/u/8525267?v=4><a href="https://github.com/bertho-zero">bertho-zero</a></td>
|
|
163
164
|
<td><img src=https://avatars3.githubusercontent.com/u/1918551?v=4><a href="https://github.com/nitzan-shaked">nitzan-shaked</a></td>
|
|
164
165
|
<td><img src=https://avatars3.githubusercontent.com/u/3058150?v=4><a href="https://github.com/robertrossmann">robertrossmann</a></td>
|
|
165
166
|
<td><img src=https://avatars2.githubusercontent.com/u/498929?v=4><a href="https://github.com/roncli">roncli</a></td>
|
|
166
|
-
<td><img src=https://avatars2.githubusercontent.com/u/1355559?v=4><a href="https://github.com/superoven">superoven</a></td>
|
|
167
167
|
</tr></table>
|
|
168
168
|
|
|
169
169
|
License
|
|
@@ -171,6 +171,6 @@ License
|
|
|
171
171
|
|
|
172
172
|
May be freely distributed under the [MIT license](https://raw.githubusercontent.com/lorenwest/node-config/master/LICENSE).
|
|
173
173
|
|
|
174
|
-
Copyright (c) 2010-
|
|
174
|
+
Copyright (c) 2010-2020 Loren West
|
|
175
175
|
[and other contributors](https://github.com/lorenwest/node-config/graphs/contributors)
|
|
176
176
|
|
package/lib/config.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// config.js (c) 2010-
|
|
1
|
+
// config.js (c) 2010-2020 Loren West and other contributors
|
|
2
2
|
// May be freely distributed under the MIT license.
|
|
3
3
|
// For further details and documentation:
|
|
4
4
|
// http://lorenwest.github.com/node-config
|
|
@@ -1033,13 +1033,18 @@ util.substituteDeep = function (substitutionMap, variables) {
|
|
|
1033
1033
|
for (var prop in map) {
|
|
1034
1034
|
var value = map[prop];
|
|
1035
1035
|
if (typeof(value) === 'string') { // We found a leaf variable name
|
|
1036
|
-
if (vars[value]) { // if the vars provide a value set the value in the result map
|
|
1036
|
+
if (vars[value] !== undefined) { // if the vars provide a value set the value in the result map
|
|
1037
1037
|
util.setPath(result, pathTo.concat(prop), vars[value]);
|
|
1038
1038
|
}
|
|
1039
1039
|
}
|
|
1040
1040
|
else if (util.isObject(value)) { // work on the subtree, giving it a clone of the pathTo
|
|
1041
|
-
if('__name' in value && '__format' in value && vars[value.__name]) {
|
|
1042
|
-
|
|
1041
|
+
if ('__name' in value && '__format' in value && vars[value.__name] !== undefined) {
|
|
1042
|
+
try {
|
|
1043
|
+
var parsedValue = util.parseString(vars[value.__name], value.__format);
|
|
1044
|
+
} catch(err) {
|
|
1045
|
+
err.message = '__format parser error in ' + value.__name + ': ' + err.message;
|
|
1046
|
+
throw err;
|
|
1047
|
+
}
|
|
1043
1048
|
util.setPath(result, pathTo.concat(prop), parsedValue);
|
|
1044
1049
|
} else {
|
|
1045
1050
|
_substituteVars(value, vars, pathTo.concat(prop));
|
|
@@ -1068,8 +1073,13 @@ util.substituteDeep = function (substitutionMap, variables) {
|
|
|
1068
1073
|
*/
|
|
1069
1074
|
util.getCustomEnvVars = function (CONFIG_DIR, extNames) {
|
|
1070
1075
|
var result = {};
|
|
1076
|
+
var resolutionIndex = 1;
|
|
1077
|
+
var allowedFiles = {};
|
|
1071
1078
|
extNames.forEach(function (extName) {
|
|
1072
|
-
|
|
1079
|
+
allowedFiles['custom-environment-variables' + '.' + extName] = resolutionIndex++;
|
|
1080
|
+
});
|
|
1081
|
+
var locatedFiles = util.locateMatchingFiles(CONFIG_DIR, allowedFiles);
|
|
1082
|
+
locatedFiles.forEach(function (fullFilename) {
|
|
1073
1083
|
var configObj = util.parseFile(fullFilename);
|
|
1074
1084
|
if (configObj) {
|
|
1075
1085
|
var environmentSubstitutions = util.substituteDeep(configObj, process.env);
|