В настоящее время у нас есть одно репо, в котором содержится около 20 пакетов.
В корневой папке у нас есть один файл .env, в котором много env-переменных. У некоторых пакетов есть собственный файл .env, расширяющий или перезаписывающий глобальный.
В настоящее время я пытаюсь написать сценарий, который точно показывает, какой пакет использует какой env-var, и сравнивает их с теми, которые находятся в файлах .env и на реальных экземплярах AWS. Это только первый шаг к наведению порядка в этом беспорядке.
Есть ли способ узнать, какой пакет использует переменную среды? В настоящее время у меня есть что-то вроде этого (упрощенная версия):
grep -rhoE 'process\.env\.[a-zA-Z0-9_\-]+' $$ROOT_DIR/packages
При этом я получаю около 180 переменных. Но поскольку переменные среды также могут быть деструктурированы, этот «скрипт» не будет извлекать эти переменные.
Есть ли другой более надежный способ получить все использованные env-vars? Что-то вроде узлового модуля?
Выполнить код вручную невозможно, так как это слишком большой объем кода, и этот шаг следует автоматизировать.
Да, и чтобы убедиться, что у нас есть все необходимые переменные env, установленные в наших экземплярах AWS. Мы понимаем, что это уже ситуация. Это первый шаг к тому, чтобы очистить это и, возможно, использовать какой-нибудь инструмент для обработки env-vars.





Например, вы хотите знать, какая зависимость использует какую переменную env, чтобы вы могли удалить неиспользуемые записи в файле .env?