SuperAPI AI 工具集

performance-budget

测试与质量

查看项目

更新于 10-16 06:08

技能介绍

用途

该技能用于在 CI 中强制执行性能预算。没有自动化约束时,性能会逐渐退化:每个 PR 增加一个小型库,每个功能增加几 KB,几个月后原本 2 秒加载的应用变成 5 秒。性能预算让回退在 PR 阶段就可见,而不是等到用户投诉之后。在评审中发现“这个 PR 给打包体积增加了 200KB”,远比调试缓慢的生产站点成本更低。

主要能力

  • 定义具体阈值:最大打包体积、最低 Lighthouse 分数、最大 LCP 时间。
  • 在超出预算时让 CI 失败,以阻止性能回退。
  • 区分两类预算:体积预算用于捕获意外引入的沉重依赖;Lighthouse 预算用于捕获运行时回退。
  • 支持从宽松预算起步,随着优化逐步收紧。
  • 结合生产环境 RUM 监控,使回退在部署后也能被发现,而不仅限于 CI。

使用方式

该技能提供检查、修复、解释和代码评审四种操作模式:

  • 检查:判断项目是否定义了性能预算,查看 package.json 和 CI 配置中是否存在体积或 Lighthouse 阈值。
  • 修复:在 CI 流水线中使用 size-limit 设置打包体积限制,并配置 Lighthouse CI 断言。
  • 解释:说明性能预算的概念、如何选择合适的阈值,以及如何用 size-limit 和 Lighthouse CI 强制执行。
  • 代码评审:检查 CI 工作流、package.json 以及 Lighthouse 或打包体积配置中是否有明确阈值;标记缺少预算、预算过松无法捕获回退、或未在 PR 上强制执行的仓库;检查是否接入生产环境 RUM 和告警以在发布后检测回退。

完整实现细节、代码示例和框架相关指导见 references/rule.md。规则页面:https://frontendchecklist.io/en/rules/testing/performance-budget

适用场景

适用于审查 CI 配置、打包分析工作流,或评审新增依赖和资源的 PR。适合需要防止前端性能随迭代逐渐退化的团队,尤其是关注打包体积和运行时指标(如 LCP、Lighthouse 分数)的项目。

限制

资料未提供具体的默认阈值数值、支持的框架列表、size-limit 与 Lighthouse CI 的详细配置代码,以及生产环境 RUM 的具体接入方式。这些内容需参考 references/rule.md 或规则页面。