SuperAPI AI 工具集

dependabot-rollup

通用与其它

查看项目

更新于 10-16 00:31

技能介绍

用途:作为仓库原生 Dependabot 分组功能的回退方案,手动构建可审查的 Dependabot 更新汇总(rollup)。默认操作为只读,先发现候选、分类并给出计划;在用户明确批准前,不创建分支、不合并提交、不推送、不关闭 PR、不开汇总 PR。

主要能力:通过 gh 列出指定仓库中由 dependabot 应用提交的开放 PR;剥离 chore(deps): 或 chore(deps-dev): 前缀后解析 bump <dependency> from <version> to <version>;仅保留严格三段语义化版本、主版本相同、目标版本更高且为 minor 或 patch 的更新;按依赖去重,保留目标版本最高者,同版本保留最近更新者;对照 BASE_BRANCH 上被改动 package.json 的当前声明,排除已过时或歧义候选;按 updatedAt 从旧到新排序,最多选 11 个。

使用方式:默认参数为 --repo microsoft/fluentui、--base master、--max 11、--push-remote 取当前分支配置的远程。先运行 gh auth status 与 git remote -v 检查前置条件,再执行 gh pr list 发现 PR,随后展示 dry-run 计划并请求批准。批准后创建形如 dependabot-rollup/YYYYMMDD-HHMMSS 的分支,逐个 git fetch 并 git merge --no-ff --no-edit,冲突仅限 package.json 与根 yarn.lock 时按规则解决,之后运行 yarn dedupe、yarn install --immutable 与 yarn nx affected -t build test lint type-check --nxBail --base="$BASE_SHA" --head=HEAD 验证,验证通过并再次确认后才推送并创建草稿 PR。

适用场景:需要把多个零散 Dependabot 更新集中审查、减少 PR 数量的仓库维护流程。

限制:不处理 semver-major、非语义化、降级或无法解析的更新;不包含已被 Dependabot 原生分组的 PR;同一依赖只保留一个 PR;最多 11 个;不按计划运行,不添加 GitHub Actions 工作流;不请求或打印 GitHub token;不绕过失败的验证;不自动关闭或修改原始 Dependabot PR;根 yarn.lock 有本地改动时停止。