JavaScript:GraphQL Inspector(Schema 检查工具)
graphql-github-io-zh-Hans生态项目与库
JavaScript:GraphQL Inspector(Schema 检查工具)
简介
GraphQL Inspector 是一款用于 GraphQL Schema 与文档检查的开源命令行工具。它能够帮助开发者在持续集成(CI)流程中自动比对 Schema 变更、验证 GraphQL 文档、发现破坏性变更(Breaking Changes),以及评估 Schema 的覆盖率,从而有效维护 GraphQL API 的质量与一致性。

核心功能
- Schema 比对:支持
diff命令,比对两个 Schema 版本的差异,并输出变更摘要。 - 验证文档:通过
validate命令,检查 GraphQL 文档(Queries / Mutations / Subscriptions)是否符合当前 Schema 定义。 - 破坏性变更检测:使用
breaking-change检测规则,自动标记可能导致客户端运行失败的变更,辅助版本管理与升级评估。 - 相似类型查找:通过
similar命令,识别 Schema 中结构相近的类型,帮助精简与规范化设计。 - Schema 覆盖率:通过
coverage命令,统计文档中实际使用的 Schema 字段占比,直观反映测试或使用范围。 - Git 集成:支持基于 Git 分支或提交记录的 Schema 变更检测,方便接入 Code Review 流程。
安装
GraphQL Inspector CLI 通过 npm 分发,包名为 @graphql-inspector/cli。
bash
npm install -g @graphql-inspector/cli
也可以在项目内作为开发依赖安装:
bash
npm install --save-dev @graphql-inspector/cli
基本用法
以下是几个常用命令示例:
比较两个 Schema
bash
graphql-inspector diff schema-old.graphql schema-new.graphql
检测破坏性变更
bash
graphql-inspector diff schema-old.graphql schema-new.graphql --rule breaking-change
验证文档合法性
bash
graphql-inspector validate schema.graphql 'src/**/*.graphql' --rule no-duplicate-fields
计算 Schema 覆盖率
bash
graphql-inspector coverage schema.graphql './src/**/*.ts' --silent
生态与集成
GraphQL Inspector 提供了多种集成方式:
- GitHub App:自动在 Pull Request 中发表 Schema 变更评论。
- GitLab CI / GitHub Actions:通过官方文档提供的配置模板,快速接入流水线。
- Webhook / Slack 通知:结合 CI 脚本,将变更报告推送到团队通信工具。
相关资源
帮助我们改进文档
发现翻译问题或内容错误?请告诉我们。
