SuperAPI AI 工具集

dependency-hygiene

通用与其它

查看项目

更新于 10-16 00:20

技能介绍

用途:为 Flutter/Dart 项目建立依赖治理规则,目标是让依赖在多年后仍可解析与构建,而非追求最新版本。

主要能力:规定 pubspec.yaml 使用 caret 范围(如 drift: ^2.31.0),精确固定只放在 pubspec.lock;应用项目必须提交 pubspec.lock(删除默认 .gitignore 中的该行);pubspec 变更必须同一次提交带上 lock 差异。新增依赖前用 scripts/audit-deps.sh 审计完整解析图,拒绝引入未选择的网络路径、崩溃/使用上报、遥测核心、设备标识收集,或需要 --enable-experiment 的包;记录许可证,宽松许可证是后续 vendor 的前提。SDK 版本单独记录在 CI 可读的文件中,environment: sdk 保留真实范围;SDK 升级后需确认版本固定的 lint include 文件在解析后的包中存在。移除依赖后需 grep -r "package:<name>" lib/ 确认无残留。对 bus-factor-1 的原生插件,先用接口封装,真正损坏时再按最后可用 tag 克隆到 third_party/ 并记录 SHA 与改动。

使用方式:在改动 pubspec.yaml 的 PR 前运行 scripts/audit-deps.sh;可用 dart pub add --dry-run <package>、dart pub deps --json、dart pub outdated 辅助检查;审计脚本顶部的 BANNED/ALLOW 列表需按自身策略维护。

适用场景:Flutter 应用与 Dart 工作区/单仓(工作区在根目录解析并提交共享 lock,审计针对整个工作区)。

限制:资料未提供具体价格、平台支持范围或效果数据;CI 通过不能证明原生能力可用,能力关键插件升级后需在真机手动验证。