2.2 KiB
ENG-11 正式构建模块分析
CORE-22 在处理 ENG-PERF-01 时,需要把实际产物增长与源码模块、历史提交对应。该工具对其他包同样可用,故从核心总验收中拆为独立工程任务;不将归因工具交付算作核心性能问题已解决。
新增可选 yarn build <package ... | all> --analyze。独立报告模块读取 Rollup 的实际模块信息并记录最终产物哈希,仍使用同一正式构建脚本、目标、压缩参数、banner 和兼容导出处理。报告在独立 cache 目录,不改变 dist 清单,不开启 sourcemap,不增加运行时依赖。默认构建方式不变。
验证使用既有真实构建夹具:TS、JS、Less、SVG 和 inline worker 的三个格式在分析开关前后字节一致,报告指纹与实际文件一致。实际核心分析结果也与 ENG-08 已验证产物完全一致。另用起点 40fcda6a 的源码在隔离目录和当前工具链重建作归因,清楚区分旧工作区与 npm 发布来源。完整数据及统计限制见 维护说明。
收尾核查 Rollup 实现发现其长度属性是 UTF-16 代码单元,而 code 的后续缩进也会改变长度。报告改为对实际模块 code 使用 Buffer.byteLength 计算 UTF-8 字节,保留两种原生长度为独立字段;重新构建两组对照,未将旧长度冒充字节。完整 CI 476 项通过;这项报告字段修正后,lint 和实际三格式构建用例再次通过。
冻结归因证据 保存两组各三格式报告、发布基线尺寸、历史提交尺寸、样式探针和构建工具指纹。当前三个 JS 产物与 ENG-08 一致,未改变播放器运行行为、公开接口或版本。类型/浏览器无需为相同字节重复制造新通过记录,CORE-22 的完整验收仍继续。
ENG-11 done,独立本地提交包含实现、测试、文档和计划调整。为了遵守任务前置规则,CORE-22 在该工具交付前暂回 todo,初步归因记录保留;本提交核实后恢复 doing。性能/体积风险仍 open,没有优化收益或发布放行结论。回退只移除分析开关、报告模块、相关测试和文档,不能回滚前置重构成果。