Configuration settings for lower layer components like the database and ops and any helpers should be implemented by accepting function parameters (e.g. an optional options object). The only users of config are the highest layers at or near the view, where config is loaded and then passed as parameters in calls to the lower layers.
This simplifies testing
This is closer to dependency injection
This decouples more things
This way functionality exposes what options it uses, instead of potentially involving the hundreds of possible different settings coming from config, most of which are irrelevant in most places.
Configuration settings for lower layer components like the database and ops and any helpers should be implemented by accepting function parameters (e.g. an optional options object). The only users of config are the highest layers at or near the view, where config is loaded and then passed as parameters in calls to the lower layers.