Все верно, нужно делать динамику, в моем проекте я сделал чтение важных параметров из консоли, а дальше все конфиги при импорте отдают нужные данные, основной код получает уже готовое и знать не знает про дев прод
так переменная не просто так добавляется, потом где то внутри кода появляется условная конструкция if (env == 'prod') ... if (env == 'dev') и дальше меняются какие то настройки. Видел такое много раз. Возможно у вас другой случай
То есть банально создаете 3 обьекта с одинаковыми полями и разными настройками И сервис возвращает один из этих обьектов в зависимости от переменных - все.
Дальше в коде просто используете поля не заботясь о проверках.
Причем там можно делать что-то типо field: process.env.FIELD || 123 И у вас будут значения из переменных сред браться если нужно
как говаривал один мой препод : на пятерку даже я не знаю - это кто профессионалом захочет назваться))) а так то Метархия это перспективное направление мета программирования и передовая архитектура - то что там говориться будет реализовано уже в ближайшее время
Подход интересный, у меня на работе такой же, но не очень удобный, потому что становится не очень прозрачно откуда какие переменные будут приходить в конкретный момент. Особенно с учётом того, что часть будет опционально из env залетать.
вот у меня сейчас в монорепе 6 проектов, я просто завёл под каждый проект sh скрипт который нужные настройки в терминал подгружает. dotenv уже не поможет.