mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-24 06:31:20 -08:00
refactor(vtt-thumbnail): [PKG-VTT-THUMB-04] type runtime data and resource boundaries
This commit is contained in:
1 parent
80588a3046
commit
7f2906ae52
22 files changed
+2940
-75
No files matched your search
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,22 @@
|
||||
# PKG-VTT-THUMB-04 严格运行时类型检查点
|
||||
|
||||
六个 JS 实现迁为 TS,并增加 types.ts,明确 Option/Result、字符串矩形和 Thumbnail、
|
||||
资源生命周期、事件元组与最小预览输入。分包 allowJs=false,继承 strict、
|
||||
noUncheckedIndexedAccess、skipLibCheck=false、types=[],不引入 any 或忽略检查。
|
||||
运行时注册准确返回 Promise<Result>,取消分支为 void;parser 输入用 unknown 并先验证。
|
||||
|
||||
新增由分包 tsconfig 检查的正反例,覆盖 URL/CSS、必传参数、异步结果、关闭状态、
|
||||
事件元组和矩形字段。非空/类型断言仅用于已校验正则/数组边界、四键对象构造、
|
||||
真实 Artplayer constructor 和关闭检查后的原生 Response;包内架构说明具体不变量。
|
||||
数值计算显式 Number 转换,保留正常坐标/进度样式及零值写入。
|
||||
|
||||
公开声明、package exports、版本、依赖保持原样。类型用例明确复现旧声明返回同步
|
||||
对象与实际 Promise 的冲突,没有靠给 Promise 增加 name 属性或类型断言伪造同步结果。
|
||||
04 继续 doing,下一步验证旧编译器/消费形式、异步类型视图、CJS default 兼容、
|
||||
模块声明和编辑器;不能将严格内部类型通过等同于公开声明已完成。
|
||||
|
||||
本次沿用 246 项本包契约/错误/候选测试,并验证正式构建和真实浏览器。
|
||||
准确入口、类型和 CI 结果见 [验证记录](../baselines/vtt-thumbnail-runtime-types.json)。
|
||||
正常构建生成 dist 与 docs 副本;无新依赖。内部源码路径从 .js 迁至 .ts,历史
|
||||
源码深导入仍归 06 分发审查,当前不能声称所有深路径已验收。
|
||||
独立本地检查点提交;回退可恢复前次 JS 实现,不影响历史冻结测试。不推送或发布。
|
||||
+3
-2
@@ -4,7 +4,7 @@
|
||||
|
||||
基线:`40fcda6a37d0049d42e49c1e64e70d4fd9ba5f7f`。总任务 222 项,范围 22 个包及工作区/示例。
|
||||
|
||||
状态:todo 93 / doing 12 / blocked 0 / done 117 / deferred 0。风险 L/M/H 表示兼容风险,不表示工期。
|
||||
状态:todo 92 / doing 13 / blocked 0 / done 117 / deferred 0。风险 L/M/H 表示兼容风险,不表示工期。
|
||||
|
||||
前置依赖是启动条件;验收是完成条件。任务可以继续拆分,但不能复用或悄悄删除旧 ID。
|
||||
|
||||
@@ -185,7 +185,7 @@
|
||||
| PKG-VTT-THUMB-01 | artplayer-plugin-vtt-thumbnail<br>核对包契约与历史用法 | BASE-05 | vtt/style、异步返回、预览控件名与样式契约 | 源码/声明/README/demo/发布包差异已登记;公开形状和版本范围冻结 | M | done |
|
||||
| PKG-VTT-THUMB-02 | artplayer-plugin-vtt-thumbnail<br>建立特有行为与错误测试 | PKG-VTT-THUMB-01, ENG-03, ENG-05 | VTT 解析、xywh、相对 URL、时间边界、请求失败和定位 | 旧版本行为可重跑,成功/失败/切源/销毁有必要断言 | M | done |
|
||||
| PKG-VTT-THUMB-03 | artplayer-plugin-vtt-thumbnail<br>整理内部职责与资源 | PKG-VTT-THUMB-02, CORE-09, CORE-19 | 纯解析/区间查找与 DOM、请求/定时器生命周期分离 | 结构变化和缺陷修复分开记录;原 API/事件/资源生命周期通过 | M | done |
|
||||
| PKG-VTT-THUMB-04 | artplayer-plugin-vtt-thumbnail<br>迁移自有源码和公开类型 | PKG-VTT-THUMB-03, ENG-04, ENG-06, CORE-07 | cue/rect/result 和参数可选性保持兼容 | 严格类型检查、旧消费样例通过;声明路径/导出和同步异步兼容 | M | todo |
|
||||
| PKG-VTT-THUMB-04 | artplayer-plugin-vtt-thumbnail<br>迁移自有源码和公开类型 | PKG-VTT-THUMB-03, ENG-04, ENG-06, CORE-07 | cue/rect/result 和参数可选性保持兼容 | 严格类型检查、旧消费样例通过;声明路径/导出和同步异步兼容 | M | doing |
|
||||
| PKG-VTT-THUMB-05 | artplayer-plugin-vtt-thumbnail<br>验证新旧核心和组合 | PKG-VTT-THUMB-04, CORE-22 | 鼠标和移动进度、全屏、切源、chapter 组合 | 最终核心与原支持范围核心分别通过;设备/SDK 缺证据不能标完成 | M | todo |
|
||||
| PKG-VTT-THUMB-06 | artplayer-plugin-vtt-thumbnail<br>验证分发并同步文档 | PKG-VTT-THUMB-05, ENG-07 | vtt.thumbnail.js、VTT/图片资源解析和产物验证 | tarball 入口/资源、类型、8082 demo 和 README 一致,有回退记录 | M | todo |
|
||||
|
||||
@@ -500,6 +500,7 @@
|
||||
- PKG-VTT-THUMB-01: [记录](baselines/vtt-thumbnail-release.json) [记录](baselines/vtt-thumbnail-contract.md) [记录](changes/2026-09-13-PKG-VTT-THUMB-01-contract.md)
|
||||
- PKG-VTT-THUMB-02: [记录](baselines/vtt-thumbnail-failures.json) [记录](changes/2026-09-13-PKG-VTT-THUMB-02-failures.md)
|
||||
- PKG-VTT-THUMB-03: [记录](changes/2026-09-13-PKG-VTT-THUMB-03-resources.md) [记录](baselines/vtt-thumbnail-resources.json) [记录](changes/2026-09-13-PKG-VTT-THUMB-03-parser.md) [记录](baselines/vtt-thumbnail-parser.json)
|
||||
- PKG-VTT-THUMB-04: [记录](changes/2026-09-13-PKG-VTT-THUMB-04-runtime-types.md) [记录](baselines/vtt-thumbnail-runtime-types.json)
|
||||
- PKG-HLS-01: [记录](baselines/hls-control-contract.md) [记录](baselines/hls-control-release.json) [记录](changes/2026-09-11-PKG-HLS-01-contract.md)
|
||||
- PKG-HLS-02: [记录](hls-validation.md) [记录](baselines/hls-sdk.json) [记录](baselines/hls-validation.json) [记录](changes/2026-09-11-PKG-HLS-02-tests.md)
|
||||
- PKG-HLS-03: [记录](changes/2026-09-12-PKG-HLS-03-modules.md) [记录](baselines/hls-modules-validation.json) [记录](hls-validation.md)
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# 进度与证据
|
||||
|
||||
## PKG-VTT-THUMB-04 严格运行时 TS 检查点(doing)
|
||||
|
||||
六个 JS 实现迁为 TS,另有明确数据/资源类型模块,分包 allowJs=false。TS 5.9.3/5.1.6
|
||||
严格检查及正反例通过,移除 expect-error 后各复现 8 个预期类型错误。内部注册准确为
|
||||
Promise<Result>,公开旧同步声明保持原样,旧消费者/类型视图和导出兼容仍待 04。
|
||||
源码/main/legacy 的解析与生命周期各 47 通过,原生三入口各 18 通过,共 54 项;
|
||||
实际 ESM 和完整 CI 2064 项通过,全仓严格生产 TS 增至 346 文件。包内架构和构建同步。
|
||||
见[变更](changes/2026-09-13-PKG-VTT-THUMB-04-runtime-types.md)和
|
||||
[验证](baselines/vtt-thumbnail-runtime-types.json)。222 项:117 done、13 doing、92 todo。
|
||||
本次为独立本地检查点提交,不推送、不发布。
|
||||
|
||||
|
||||
## PKG-VTT-THUMB-03 内部模块与解析修复完成
|
||||
|
||||
在资源检查点上完成纯解析/首个区间查找,支持 cue ID、注释/元数据块和 timing settings,
|
||||
|
||||
+3
-1
@@ -4200,7 +4200,9 @@
|
||||
"evidence": [
|
||||
"refactor/baselines/vtt-thumbnail-release.json",
|
||||
"refactor/baselines/vtt-thumbnail-contract.md",
|
||||
"refactor/scripts/vtt-thumbnail-contract.test.mjs"
|
||||
"refactor/scripts/vtt-thumbnail-contract.test.mjs",
|
||||
"test/types/vtt-thumbnail-runtime.ts",
|
||||
"refactor/baselines/vtt-thumbnail-runtime-types.json"
|
||||
],
|
||||
"compatibleResolution": "Preserve valid consumers and actual async runtime, with explicit decisions for irreconcilable inference changes.",
|
||||
"closureCriteria": "Isolated old/new compiler and installed consumers verify options, styles, callback and result forms."
|
||||
|
||||
+5
-2
@@ -1921,11 +1921,14 @@
|
||||
"ENG-06",
|
||||
"CORE-07"
|
||||
],
|
||||
"status": "todo",
|
||||
"status": "doing",
|
||||
"risk": "M",
|
||||
"deliverable": "cue/rect/result 和参数可选性保持兼容",
|
||||
"acceptance": "严格类型检查、旧消费样例通过;声明路径/导出和同步异步兼容",
|
||||
"evidence": []
|
||||
"evidence": [
|
||||
"changes/2026-09-13-PKG-VTT-THUMB-04-runtime-types.md",
|
||||
"baselines/vtt-thumbnail-runtime-types.json"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PKG-VTT-THUMB-05",
|
||||
|
||||
Reference in new issue
Block a user