上文讲了 Buf lint 命令的基础方法,本文将介绍 Buf lint 命令的一些常用配置。
如果你的项目中没有 buf.yaml 配置文件, Buf lint 会提供一个默认的配置文件,默认内容如下:
version: v1
lint:
use:
- DEFAULT
except:
- FILE_LOWER_SNAKE_CASE
ignore:
- bat
- ban/ban.proto
ignore_only:
ENUM_PASCAL_CASE:
- foo/foo.proto
- bar
BASIC:
- foo
enum_zero_value_suffix: _UNSPECIFIED
rpc_allow_same_request_response: false
rpc_allow_google_protobuf_empty_requests: false
rpc_allow_google_protobuf_empty_responses: false
service_suffix: Service
allow_comment_ignores: true
配置选项
接下来开始介绍 Buf lint 命令的配置选项。
use
use 选项配置 lint 的类别,不同类别有相应的规则,有多种类别:DEFAULT、FILE_LOWER_SNAKE_CASE、BASIC等。 默认是 DEFAULT 类别。
except
except 选项配置 lint 不使用的类别。
下面的配置,显示使用 DEFAULT 类别,但是不使用 ENUM_NO_ALLOW_ALIAS ,BASIC类别中的规则。
version: v1
lint:
use:
- DEFAULT
except:
- ENUM_NO_ALLOW_ALIAS
- BASIC
ignore
ignore 选项指定忽略的文件,可以是文件名,也可以是目录,注意路径是要相对于 buf.yaml 文件的。
ignore_only
ignore_only 与 ignore 选项类似,但是只有指定的类别才忽略。
version: v1
lint:
ignore_only:
ENUM_PASCAL_CASE:
- foo/foo.proto
- bar
BASIC:
- foo
allow_comment_ignores
allow_comment_ignores 的作用是在 proto 文件中通过注释忽略 lint.
service_suffix
默认情况下 lint 都会检测 service 是否以 Service 结尾,如果不想要这个规则,可以配置 service_suffix 选项以显示规定后缀。