Определяйте один раз — доверяйте везде

CtroEnv использует четыре основные фабрики валидаторов, чтобы обеспечить безопасность ваших переменных окружения.

Вот как они работают:

Полезные инструменты для каждого валидатора:

• .default(value) — устанавливает значение по умолчанию, если переменная отсутствует. • .optional() — позволяет переменной быть undefined. • .secret() — маскирует конфиденциальные данные в ваших логах. • .describe(text) — добавляет документацию к вашим сообщениям об ошибках. • .validate(fn) — позволяет писать пользовательскую логику для разовых правил.

CtroEnv работает в различных средах:

Когда валидация не проходит, CtroEnv не просто останавливается. Он собирает каждую ошибку и выводит их все сразу. Вы получаете четкий список того, что отсутствует, что имеет неверный тип и что не прошло ваши пользовательские правила.

Это делает вашу конфигурацию неизменяемой, а runtime — предсказуемым.

Источник: https://dev.to/ctrotech/define-once-trust-everywhere-ctroenv-deep-dive-3bjl