Results 125 comments of A-312

@madarche Can you take a look, I think the done issues should be closed (some are not reproductible, closed because I found a solution or fixed [by 6.0.0](https://github.com/mozilla/node-convict/pull/353#issue-359284445)). And take...

> ``` > var convict = require("convict") > > var config = convict({ > something: { > format: (val) => { /* noop */ }, > env: "SOMETHING" > }...

> Default values are required for every config key. > If a default value is not set, convict does not throw a validation error. We can't do that because :...

We can do that with convict or maybe with an external package, or convict dependancie like : yargs-parser but I think is not the goal of convict https://github.com/mozilla/node-convict/blob/be350a7ded016543b3eea16953be1f81c4bf34be/package.json#L43

> - doing some file splitting (not too much, just what's needed and legitimate) I split convict like that : https://github.com/A-312/node-blueconfig/tree/master/packages/blueconfig/lib (There is not breakchange with #353, ~~should I call...

Let finish #353 ?

I made #296 to improve this usage : https://github.com/mozilla/node-convict/tree/master/packages/convict#custom-format-for-array-items with children key: ```javascript const schema = { sources: { doc: 'A collection of data sources.', format: 'source-array', default: [], children:...

I think we should add `addCustomCoerce` (or `addCoerce`) like we do with a format, I will make a PR.

> Very useful for testing where you dynamically change config values to assert how the unit-under-test changes accordingly Is very easy to do without : https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Object/assign ```js Object.assign(process.env, { a:1,...

> If you could provide a failing test Should be closed ? Not reproductible :(