Skip to content

oshokin/protolinter

Repository files navigation

Protolinter

Protolinter - это инструмент командной строки для проверки и анализа файлов Protocol Buffer на соответствие лучшим практикам и стандартам разработки.
Он дает разработчикам возможность обеспечить правильность структуры файлов Protocol Buffer.

Возможности

  • Проверка файлов Protocol Buffer на соответствие стандартам разработки.
  • Настраивается через конфигурационный файл .protolinter.yaml.
  • Исключение конкретных проверок и дескрипторов в соответствии с вашими потребностями.
  • Создание конфигурации с исключенными элементами Protocol Buffer.

Установка

Вы можете установить Protolinter с помощью команды go install:

go install github.com/oshokin/protolinter@latest

Кроме того, вы можете скомпилировать исполняемый файл, используя предоставленный Makefile:

make build

Скомпилированный исполняемый файл будет находиться в подкаталоге bin.

Использование

# Проверка и анализ файлов protobuf
protolinter check [--config=<путь>] [--mimir] <file.proto>

# Генерация и вывод в консоль файла конфигурации
# с полными именами элементов protobuf, где были обнаружены ошибки при проверке
protolinter print-config [--config=<path>] <file.proto>

Конфигурация

Protolinter поддерживает настройку через файл .protolinter.yaml.
Если файл конфигурации отсутствует, Protolinter будет работать с настройками по умолчанию, выполняя все проверки и не исключая ни одного proto-дескриптора из анализа.
Вы можете определить исключенные проверки и дескрипторы для настройки анализа согласно потребностям вашего проекта.
Пример файла конфигурации можно найти в .protolinter.example.yaml.
Кроме того, вы можете сгенерировать файл конфигурации с помощью следующей команды:

protolinter print-config -m mimir.yaml > .protolinter.yaml

В корне данного проекта размещены два файла для удобства разработчика:
Makefile.example - это пример файла Makefile.
.gitlab-ci.example.yaml - это пример Gitlab CI/CD задания для protolinter.
Вы можете скопировать эти файлы в ваш проект и отредактировать их под свои нужды.

Выполняемые проверки

Protolinter выполняет различные проверки ваших файлов Protocol Buffer.
Следующие проверки могут быть исключены из анализа в файле конфигурации:

  • enum_value_has_comments: Проверяет, есть ли ведущие комментарии у значения перечисления.
  • field_description_ends_with_dot_or_question_mark: Проверяет, заканчивается ли описание поля точкой или знаком вопроса.
  • field_description_starts_with_capital: Проверяет, начинается ли описание поля с заглавной буквы.
  • field_has_correct_json_name: Проверяет, правильно ли указан тег JSON-имени для поля.
  • field_has_no_description: Проверяет, есть ли описание у поля.
  • field_name_is_snake_case: Проверяет, задано ли имя поля в формате snake_case.
  • method_has_body_tag: Проверяет, правильно ли у методов с обязательным телом указан тег тела.
  • method_has_correct_input_name: Проверяет, правильно ли назван входной параметр метода.
  • method_has_default_error_response: Проверяет, указан ли формат ошибки по умолчанию в описании Swagger для метода.
  • method_has_http_path: Проверяет, указан ли HTTP-путь для метода.
  • method_has_swagger_description: Проверяет, имеется ли допустимое описание Swagger для метода.
  • method_has_swagger_summary: Проверяет, имеется ли допустимое краткое описание Swagger для метода.
  • method_has_swagger_tags: Проверяет, имеются ли соответствующие теги Swagger для метода.
  • method_has_version: Проверяет, указана ли версия для метода.

Локализация

Documentation in English

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors