用途:指导在 Dart 或 Flutter 项目中完整升级 very_good_analysis lint 包,目标是产出一个干净的聚焦 PR——只包含 pubspec.yaml 的版本升级,以及满足新版本 lint 规则所需的最小代码改动。
主要能力与标准:保留插入符写法 very_good_analysis: ^x.y.z(VGV 约定,便于补丁版 lint 无需 PR 即可生效);PR 只含版本升级与必要 lint 修复,拒绝无关依赖升级、注释清理和整体 dart fix --apply;只修复新出现的警告,不处理既有问题;不强制解决依赖冲突;若 lint 修复改变运行时行为需标记人工审查;最后以干净的 flutter analyze 或 dart analyze 收尾。
使用方式:先确认目标版本,若未提供则用 curl -s https://pub.dev/api/packages/very_good_analysis | jq -r '.latest.version' 查询最新版并告知用户。单包或 monorepo 需分别处理:monorepo 中每个子包的 pubspec.yaml 各自修改,pub get 在每个包内运行,analyze 从仓库根目录运行一次。纯 Dart 包用 dart pub get / dart analyze,依赖 Flutter 的用 flutter pub get / flutter analyze。随后修改 dev_dependencies 中的版本号,运行分析,逐个修复新警告,最后 git add pubspec.yaml pubspec.lock 及改动的 .dart 文件,提交信息如 chore: upgrade very_good_analysis to x.y.z,推送并开 PR。
适用场景:Dart/Flutter 项目升级 very_good_analysis 版本并处理新 lint 规则。
限制:若 pub get 解析失败,应停止并说明双方冲突约束,交由用户决定,不得强制升级、放宽或移除其他依赖,也不得运行 pub upgrade --major-versions;通常无需改动项目的 analysis_options.yaml;新版本可能禁用或调整规则严重级别,导致旧警告消失,属正常现象。参考资料 references/lint-fixes.md 提供常见 lint 规则修复表及行为风险提示。