Как избавиться от ошибок в .env-файлах?
Что такое dotenv-linter?
Согласно манифесту разработки «The Twelve-factor», чтобы упростить работу и избежать ошибок, лучше хранить все настройки в переменных окружения. Для этого подходят .env файлы — в них можно хранить эти переменные. Но количество переменных растёт в ходе работы, как и вероятность допустить ошибку.
Чтобы не сталкиваться с проблемами при работе с .env файлами, Михаил Грачёв, Backend-разработчик и DevOps-инженер Evrone, придумал dotenv-linter — анализатор, который проверяет эти файлы на наличие самых частых ошибок:
- дублирование имён,
- неправильный разделитель,
- переменные без значения,
- имена переменных в нижнем регистре,
- лишние пробелы,
- неотсортированные имена.
Эти проблемы могут быть незаметны с первого взгляда, но позже потребуют времени и внимания, иногда даже нескольких разработчиков и тимлида.
Dotenv-linter работает везде вне зависимости от используемого языка программирования. Он написан на Rust, а значит он — чрезвычайно быстрый. Также доступна интеграция dotenv-linter с различными инструментами и CI.
Инструкция по установке линтера и проверке кода доступна в репозитории
Зачем нужен линтер?
Любой продукт проходит несколько стадий разработки, меняются команды, которые работают над ним. Конечно, не всё идёт гладко — в коде бывают ошибки, задачи могут решаться неэффективно. Никто не пишет плохой код специально, а для минимизации человеческого фактора есть инструменты повышения качества кода, такие как dotenv-linter. Анализаторы качества кода есть для каждого языка программирования.
Использование линтера помогает разработчику сделать свой код чище и аккуратнее, что в итоге делает процесс ревью более продуктивным, помогает учиться и развиваться на сложных моментах, а не типовых ошибках. Конечно, можно отслеживать ошибки самостоятельно, но использование линтеров позволяет сэкономить время, а значит и бюджет проекта.
Дизайн
Для этого проекта дизайнеры Evrone разработали логотип, который состоит из перевернутой буквы "L" в форме молнии. Она символизирует огромную скорость, с которой работает dotenv-linter, а красно-оранжевый оттенок — отсылка к Rust — языку, на котором написан линтер.
Evrone активно поддерживает open-source сообщество и помогает запускать новые сервисы и инструменты. Мы рады, что разработчики по всему миру доверяют и нашим решениям и используют их в своих проектах.
Познакомьтесь с изменениями dotenv-linter
версии 2.0.0. Вот, что вошло в релиз:
- 4 новые проверки
- Возможность отключать проверки с помощью аргумента
--skip
- Улучшение производительности
- Исправление ошибок
В июне 2020 GitHub опубликовали свой Super-Linter и включили dotenv-linter в этот стартовый набор инструментов для проверки качества кода!
А в январе 2021-го вышла новая версия — dotenv-linter v3.0.0
. Познакомьтесь с его новым возможностями здесь.
Если вам кажется, что для решения вашей задачи необходимо разработать какой-то новый, уникальный инструмент, вроде утилиты для проверки кода — команда Evrone отлично подойдёт для этого.