用途:在 TanStack Router 仓库中优化实测客户端 bundle 体积。真实依据是 @benchmarks/bundle-size:build、benchmarks/bundle-size/results/current.json 及 benchmarks/bundle-size/dist/ 中产出的 JS,而不是源码字节数。
主要能力:本地迭代测量(pnpm benchmark:bundle-size:run)、保存与对比基线(--name、--baseline、--scenario)、结果查询与 diff、历史增量(benchmark:bundle-size:history)、来源归因(--analysis 与 benchmark:bundle-size:analyze)、符号引用检查(pnpm ts:symbol-references)。可配合 --test-projects 与 -- 传入的测试选择器运行单元测试。
使用方式:以 gzipBytes 为主要指标,同时看 initialGzipBytes、rawBytes、brotliBytes、jsFiles 与逐文件体积。优化顺序是先算法后语法:分析冗余循环、重复分支、重复扫描/切片/小写化、分配热点、搜索顺序与数据形状,做最小的保持行为不变的算法修改,再考虑纯语法改动。每次候选后用同一基线重新测量,只保留已验证的收益。落地前做归因:把生产差异拆成逻辑 hunk,逐个和组合对着同一基线测量,只保留改善体积或性能、或为正确性/测试/风格所必需的改动,回退中性或有害的优化。最后跑全量没有 --scenario 的基准比较所有场景,并做优化后覆盖/性能工作流(补测试与基准、commit 测试、stash 实现、跑 BEFORE、pop、跑 AFTER、对比)。
限制与规则:一次只跑一个 Nx 命令;用 runner 而非 shell 链;agent 运行用 pnpm --silent。runner 会设 CI=1、NX_DAEMON=false,失败时最多打印 40 行、8000 字符日志。包源码变更后不要加 --skip-package-builds。不得为体积牺牲运行时性能、安全、可读性或可维护性。注解方面,/* @PURE / 只可用于可丢弃结果的调用/表达式,/ @NO_SIDE_EFFECTS */ 只可用于真正无副作用的函数,sideEffects/module 标志不得误标有 import 副作用的模块。未提供价格、平台或收费等信息。若需改动测量流程本身,先读 benchmarks/bundle-size/README.md。