3 个版本
| 0.1.3 | 2024年4月26日 |
|---|---|
| 0.1.2 |
|
| 0.1.1 | 2024年4月26日 |
| 0.1.0 | 2024年4月26日 |
928 在 数据库接口
692 每月下载
在 gqlint 中使用
30KB
609 行
graphql-lint
GraphQL SDL 架构的 Rust 基础检查器。
graphql-lint 在 Grafbase 平台和 CLI 中使用。
当前支持的检查
- 命名约定
- 类型:
PascalCase- 禁止的前缀:
"Type" - 禁止的后缀:
"Type"
- 禁止的前缀:
- 字段:
camelCase - 输入值:
camelCase - 参数:
camelCase - 指令:
camelCase - 枚举:
PascalCase- 禁止的前缀:
"Enum" - 禁止的后缀:
"Enum"
- 禁止的前缀:
- 联合体
- 禁止的前缀:
"Union" - 禁止的后缀:
"Union"
- 禁止的前缀:
- 枚举值:
SCREAMING_SNAKE_CASE - 接口
- 禁止的前缀:
"Interface" - 禁止的后缀:
"Interface"
- 禁止的前缀:
- 查询字段
- 禁止的前缀:
["query", "get", "list"] - 禁止的后缀:
"Query"
- 禁止的前缀:
- 突变字段
- 禁止的前缀:
["mutation", "put", "post", "patch"] - 禁止的后缀:
"Mutation"
- 禁止的前缀:
- 订阅字段
- 禁止的前缀:
"subscription" - 禁止的后缀:
"Subscription"
- 禁止的前缀:
- 类型:
- 使用
@deprecated指令需要指定reason参数
用法
[dependencies]
graphql-lint = "0.1.3"
use graphql_lint::lint;
fn main () {
let schema = r#"
type Query {
hello: String!
}
"#;
let violations = lint(schema).unwrap();
}
依赖项
~4MB
~56K SLoC