Объяснение
Модули задают явные зависимости. TypeScript стирает типы, поэтому env и JSON требуют runtime-проверки. Приложение должно завершать запуск с понятной ошибкой при отсутствующей обязательной конфигурации.
Задача для самостоятельного решения
Что делать с PORT='abc'?
Показать разбор ответа
Проверить целое число и диапазон до запуска listener. Молчаливое приведение NaN или запасное значение скрывает неверное окружение.