protolinter

command module
v1.1.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 1, 2025 License: MIT Imports: 1 Imported by: 0

README

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

Documentation

Overview

Package main is the entry point for the application.

Directories

Path Synopsis
Package cmd implements the command-line interface methods.
Package cmd implements the command-line interface methods.
internal
checker
Package checker provides functionality for checking and validating Protocol Buffer (protobuf) files and their contents against predefined rules and conventions.
Package checker provides functionality for checking and validating Protocol Buffer (protobuf) files and their contents against predefined rules and conventions.
common
Package common provides common utility functions and constants for logging.
Package common provides common utility functions and constants for logging.
config
Package config provides functionality for loading and working with the configuration settings.
Package config provides functionality for loading and working with the configuration settings.
logger
Package logger provides utilities for working with logging using the Zap logging library.
Package logger provides utilities for working with logging using the Zap logging library.
parser
Package parser provides functions for parsing and encoding Protobuf messages into URL values.
Package parser provides functions for parsing and encoding Protobuf messages into URL values.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL