docfy coverage
测量有多大比例的端点已经文档化。可以作为客观的质量指标,也可以作为 CI 门禁。
用法
bash
npx nestjs-docfy coverage [options]选项
| Option | Default | Description |
|---|---|---|
--root <path> | . | Project root directory |
--tsconfig <path> | auto-detected | Path to tsconfig.json |
--pattern <glob> | **/*.controller.ts | Glob pattern to find controllers |
--format <format> | ts | 要查找的 docs 文件格式:ts 或 js |
--min <percent> | none | 要求的最低覆盖率(0-100),低于该值时以 1 退出 |
--json | false | 输出单个 JSON 对象而不是格式化文本:覆盖率报告,外加 min 和 passed。 |
--quiet | false | Suppress all output except errors |
输出示例
text
Controllers: 42
Endpoints: 187
Documented: 174
Missing docs: 13
Coverage: 93.0%在 CI 中强制要求最低覆盖率
bash
npx nestjs-docfy coverage --min 95当覆盖率低于 --min 时,命令以退出码 1 结束,使构建失败。
.github/workflows/*.yml
# GitHub Actions example
- name: Enforce documentation coverage
run: npx nestjs-docfy coverage --min 95或者作为 npm script:
json
{
"scripts": {
"docs:coverage": "nestjs-docfy coverage --min 95"
}
}PR bot
nest-docfy 自己的 .github/workflows/pr-check.yml 就是一个真实的例子:它在每个 PR 上针对项目运行 check --json 和 coverage --json --min,并发布(更新而不是刷屏)一条汇总评论,完全基于 --json 输出和原生 fetch 调用 GitHub REST API,不需要额外依赖。