Сам я лишней работы как раз таки не хочу, у меня и так мало времени. но, например, на D у меня уже 6 петов, мне нужно как-то поддерживать их и между ними шарить изменения, причем желательно максимально сближаться с проектами на других языках. Если я буду каждый раз в каждом все переделывать, то я угрохаю кучу времени. Проще бы выделить либы и просто подключать их к проекту, но я сразу же откинул этот вариант, это не позволяет делать быстро хренак-хренак и в продакшн, нужно каждый раз править их, нарушая работу других проектов и проще каждый проект делать монолитным, а копировать сурсники, но они должны быть расслоены для этого. Отсюда все сложности, мало времени + много разных проектов, каждый из которых чем-то для меня полезен, ну и как-тут по другому делать.
> но при этом не видишь смысла в абстрагирующем слое-маппере
про маппер не понял, у них уровни разные. Мой конфиг более низкоуровневый и построен на ключ-значение, маппер из ключ-значения рожает объект, но как и в реальности эти роды могут закончиться по-разному в разных ситуациях). Как я выше написал, у меня мало времени, чтобы эту логику педалить и вылизывать в ней баги.
> прокидыванием на все уровни логики
Реакт не юзал, не знаю, подозреваю, что речь идет о контейнере зависимостей, который сам по себе глобален, а уже сервис конфига или что там получается из него или что-то такое. Если же грубой статикой, то когда компонент пробрасывает другому зависимость, то это типичное дерево, где какой-то узел может заменить конфиг и передать дочерним компонентам что-то другое, например, плагины могут использовать свой конфиг, который хранится в директории с плагином, но грузится обычным модулем конфига и работа идет ровно также, как если бы это был конфиг приложения, просто он им подменяется, а может и не подменяется, в зависимости от хотелок. А если завязать что-то в логике работы плагинов на конфиг приложения, то тут могут быть неприятности скорее всего.