mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-11 22:06:17 -08:00
fix(vast): [PKG-VAST-03] preserve npm initialization with explicit workspace mode
This commit is contained in:
1 parent
314a1c3163
commit
c162d2b3b3
27 files changed
+13189
-191
No files matched your search
@@ -0,0 +1,61 @@
|
||||
# PKG-VAST-03:按已确认决策完成运行时兼容与资源整理
|
||||
|
||||
基线314a1c3163e4c5bc8d1a9f1432726824ea3af7dc;本记录完成早期
|
||||
[03检查点](2026-09-12-PKG-VAST-03-lifecycle.md)的剩余初始化兼容任务。
|
||||
2026-09-14用户明确接受“保留 npm 默认行为,显式选择工作区惰性模式”,
|
||||
[具体决策与迁移示例](../vast-compatibility-decision.md)现在是实现依据。
|
||||
|
||||
## 实现及兼容边界
|
||||
|
||||
五个TS模块已分离工厂/异步注册、SDK边界、会话资源、DOM样式和内部类型。
|
||||
默认工厂在callback前创建Player,恢复实际npm1.0.0的id/$container/imaPlayer
|
||||
可写数据属性与SDK默认设置。默认包装层不添加工作区四事件显隐或活动请求抑制,
|
||||
透明容器保留发布样式,显式请求继续逐次转发;没有把SDK行为复制到包装层。
|
||||
|
||||
可选第二参数`{ compatibility: 'workspace-1.2' }`保留未发布工作区的惰性初始化、
|
||||
设置/选项原对象、两个默认flags、黑色overlay、四事件显隐、活动广告抑制和资源
|
||||
实时getter。模式在工厂创建时快照一次,未知值在加载SDK前抛TypeError。
|
||||
普通已发布JS调用无需变化;依赖未发布默认惰性的代码必须按已批准方案增加选项。
|
||||
|
||||
两种模式共享早期修复的core销毁终止、晚到SDK/回调取消、失败回滚、会话身份隔离、
|
||||
重复清理与显式重建。默认发布数据字段保留已释放资源快照,扩展container getter归零;
|
||||
后续显式重建更新数据字段,core销毁禁止重建。工作区资源getter随当前会话归零。
|
||||
ID保留各自art-/art-vast-前缀并增加递增后缀,保留已复现同毫秒碰撞的修复。
|
||||
|
||||
公开声明没有在本任务完成:04仍须协调历史同步误声明、回调字段、第二参数和准确
|
||||
类型入口;本次运行时授权不自动授权其他类型取舍。实际Google IMA由05验收,最终
|
||||
安装分发由06验收。README明确JS示例及当前声明门槛;未改变包版本或依赖/lockfile。
|
||||
现有docs/assets/example/vast.js使用默认回调和playUrl,符合npm模式,不需改写。
|
||||
|
||||
## 验证与失败记录
|
||||
|
||||
完整输入/日志/产物指纹见[验证索引](../baselines/vast-compatibility-validation.json)。
|
||||
|
||||
- 新兼容文件初始7项:旧候选2通过5失败,包含默认初始化、旧字段与提前构造失败。
|
||||
修复后7通过,再补回调失败的二次清理异常、显式重建和选项快照/非法值,最终10通过。
|
||||
- 当前完整`yarn test:vast`82通过、零跳过;包括旧发布/冻结工作区观察、显式模式及默认
|
||||
生命周期。该文件进入test:vast/test:unit;工程脚本相关12项测试通过。
|
||||
- 三桌面引擎×三个核心×四种实现/模式162通过:99候选、63历史。核验异步注册门控、
|
||||
回调开始前资源、字段描述符、默认值、真实DOM显隐/清理、主片解码及切源。
|
||||
候选两模式执行同一份编译源码,以选项区分;第三方SDK为明确标记的受控记录器。
|
||||
本次报告确认核心实际为npm5.1.7、npm5.4.0、候选5.4.1;早期文档将published路径
|
||||
写成5.4.1不准确,以附件中的来源哈希和实际coreVersion为准,本次更正维护说明。
|
||||
- 首轮153通过9失败:旧candidate显隐用例沿用工作区art-vast-选择器与四事件显隐,
|
||||
和已确认的npm默认语义不符。保留原日志/trace;按两种历史行为验证实际容器数、
|
||||
0/4监听、显隐,再验证重建/销毁。回调失败也按实际容器前缀检测,避免虚假零残留。
|
||||
增加回调开始时字段/时机断言后162通过;源码lint整理后最终162再次通过。
|
||||
- 严格TS5.9.3及源/测试lint通过。初次lint6项格式/声明顺序错误已修正并保留日志;
|
||||
没有引入禁用规则。严格固定工具链检查通过。
|
||||
- 正常VAST构建三格式成功,dist与docs/compiled对应文件哈希一致。实际main+ESM和
|
||||
legacy+ESM分别4项导出用例通过:CommonJS/global/AMD和原生ESM,均验证default别名。
|
||||
这些产物用例使用已销毁宿主,不执行IMA;不能把它们解释为正式SDK广告播放通过。
|
||||
|
||||
## 任务边界及回退
|
||||
|
||||
PKG-VAST-03完成运行时结构/资源/初始化协调,VAST-CONTEXT-01按用户决策接受限定范围。
|
||||
VAST-LIFE-01保留实际供应商恢复验证门槛;VAST-TYPE/DIST及04/05/06仍开放。
|
||||
没有使用VPN例外、模拟广告成功、远端CI或npm发布声明。
|
||||
|
||||
本任务独立本地commit包含源、测试、构建、文档、任务及风险索引,提交后核验审计。
|
||||
回退本提交并重建VAST会恢复此前默认工作区初始化,也撤销本次兼容选择;旧已发布
|
||||
默认调用的失败将重现。早期资源修复检查点不随本提交回退而消失。
|
||||
Reference in new issue
Block a user