Results 125 comments of A-312

Why not a custom format which accept `false` or `String` ? Or simply with `default: ''` ? Actually you have several solution to do that.

validate don't check property with `default === undefined and value === undefined`... Set another value for `default`. ;-) https://github.com/mozilla/node-convict/commit/553537910c1708d738a36a3a53c570adf7efe1ba#diff-7763d1369911b91b757ba7ff51d734a2R65 Solution ```js var convict = require("convict"); var config = convict({ something:...

Similar to #237 ### Solution 4 Add `compiler` functions which allow custom functions, like that : ```js list = {}; convict.addCompiler('value', (v) => v.format(..., (k) => config.get(k))) const config =...

> If anyone has other ideas, please propose them. With customGetter #313 devs can rewrite env and arg getters like they want.

With custom getter (next update, 6.0.0) : ```js convict.addGetter('env', function(value, schema, stopPropagation) { if (value in this.getEnv()) { stopPropagation(); return schema._cvtCoerce(this.getEnv()[value]); } }, false, true); ```

I have the same issue for a big project. A solution (for wait a change/PR) is to write something like : ```javascript function new_require(packageName) { const path = require.resolve(packageName) const...

> I'd suggest that either overriding formats should no longer be allowed. It is probably even better to add formats to a convict instance instead of adding them to the...

Not reproductible anymore, your code don't throw an error. code ```js var convict = require('convict'); var conf = convict({ foo: { default: { some: 'data' } } }); conf.load({ foo:...