SuperAPI AI 工具集

codegen-and-toolchain

通用与其它

查看项目

更新于 10-16 00:20

技能介绍

用途:为使用 build_runner 或 gen-l10n 的 Flutter 项目建立确定性的代码生成纪律,让生成文件成为唯一事实来源。

主要能力:规定代码生成必须先于 flutter analyze 执行;统一使用带 --delete-conflicting-outputs 的一次性构建命令;要求每个含代码生成的包用 build.yaml 的 generate_for: 把生成范围限定到最窄目录;要求一次性决定生成文件是提交还是 gitignore,并配套对应 CI 门禁;要求把生成文件后缀同时加入分析器与 lcov 覆盖率排除;要求固定 SDK 版本且本地与 CI 一致;多包仓库使用 Dart pub workspace 并在根目录统一生成。

使用方式:在仓库根目录运行 dart run build_runner build --delete-conflicting-outputs,随后依次执行格式化、分析、测试;gen-l10n 用 flutter gen-l10n。编辑期间可本地使用 dart run build_runner watch --delete-conflicting-outputs,CI 与预分析步骤只用一次性命令。提交策略下 CI 需重新生成后运行 git diff --exit-code 作为新鲜度门禁;忽略策略下 CI 需先生成再分析。

适用场景:Flutter/Dart 项目中使用 drift_dev、freezed、json_serializable、riverpod_generator、mockito 等生成器,或需要多包工作区统一生成时。

限制:资料未提供具体价格、平台支持范围或性能数据;多包工作区仅适用于确实超出单包规模的项目,单应用项目无需使用。