mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-14 00:06:17 -08:00
refactor(ambilight): [PKG-AMBILIGHT-04] preserve published types and dual CommonJS exports
This commit is contained in:
1 parent
6caee44dbf
commit
959cccf515
30 files changed
+877
-69
No files matched your search
@@ -0,0 +1,46 @@
|
||||
# PKG-AMBILIGHT-04 公开类型与历史导出兼容
|
||||
|
||||
03已完成自有生产源码的严格TS拆分;04补齐公共声明、Node解析模式和真实安装消费者。
|
||||
最终验证结果见 [类型与安装证据](../baselines/ambilight-types-validation.json)。
|
||||
|
||||
## 兼容门面
|
||||
|
||||
工厂增加指向自身的default属性:同时支持1.0.0的require(pkg).default、1.1.0的直接
|
||||
require调用和ESM默认导入。公共声明使用callable与类型namespace合并;Option/Result/
|
||||
Callable/Factory可显式导入,start/stop仍为void、name仍是原字面量。可选调用重载补齐
|
||||
省略参数及undefined,最后一个必填Option重载保持Parameters<typeof factory>[0]不增加
|
||||
顶层undefined。zIndex保留但清楚标注运行时忽略。
|
||||
|
||||
1.0.0所有字段必填,1.1.0已经改成可选;旧的“读取字段一定是string/number”推导差异
|
||||
是已发布历史变化。本候选保持1.1.0推导,不能声称恢复1.0.0的必填字段推导,也没有
|
||||
套用Ads的专属批准。两版实际声明和合法调用分别编译对照,精确断言已有差异。
|
||||
|
||||
main/module/legacy/types旧路径保留;import和require分别增加d.mts/d.cts转发,旧TS
|
||||
通过typesVersions解析legacy。编辑器改用已有语义生成器,重新运行build:ts,不手改
|
||||
生成声明。包排除tsconfig.json,修复真实pack发现的实现配置泄漏。
|
||||
|
||||
## 证据范围
|
||||
|
||||
新增类型/产物测试先在03状态运行:4组中3失败,历史调用对照通过。工作区测试覆盖
|
||||
TS5.9.3的Node10/NodeNext CJS、ESM/Bundler及TS4.3.5,10项非法用法去掉expect-error后
|
||||
必须逐项报错。编辑器消费亦有负向断言;Node执行正式main/legacy/global/ESM产物。
|
||||
|
||||
新脚本test:ambilight-types-package在仓库外安装两个真实npm发布及候选tarball,搭配
|
||||
同一打包候选核心;核对每个已安装文件哈希、非workspace链接、离线及frozen二次安装。
|
||||
候选额外验证两个TS版本关闭esModuleInterop仍可默认导入。旧npm1.1.0在NodeNext ESM
|
||||
实装中暴露默认导出不可调用的既有错误,按精确4个诊断保存,候选该模式必须零诊断。
|
||||
不修改历史包或把该错误当作候选容许失败。
|
||||
|
||||
本步没有新依赖;只添加专项脚本和消费者。代理/实际设备归05,完整分发/8082 demo及
|
||||
安装包浏览器归06;本步包内README/架构说明同步更新,未推送或发布。
|
||||
|
||||
## 最终验收
|
||||
|
||||
四组专项检查通过;真实安装17个场景中候选7个、历史9个零诊断,另1个历史场景按
|
||||
固定4条诊断核验。候选每个场景去掉expect-error后均拒绝10项非法输入。正式三格式
|
||||
与编辑器生成通过;完整CI975项通过(878单元+14工程+83基线),另44项重复契约观察,
|
||||
278个生产TS文件严格检查。18项三核心/三引擎原生Canvas媒体回归通过,无skip。
|
||||
|
||||
AMBILIGHT-TYPE-01及AMBILIGHT-DIST-01对应的已复现类型/导出问题关闭,本任务独立
|
||||
本地提交并审计自身。关闭这两条具体问题不等于05/06或npm发布验收完成;VAST专属
|
||||
VPN外部脚本例外没有用于本任务。
|
||||
Reference in new issue
Block a user