refactor(ambilight): [PKG-AMBILIGHT-04] preserve published types and dual CommonJS exports

This commit is contained in:
Harvey Zhao committed 2026-09-12 11:50:22 +08:00
1 parent 6caee44dbf
commit 959cccf515
30 files changed
+877 -69

No files matched your search

+24
View File
@@ -46,3 +46,27 @@ candidate是当前源码;以browser-evidence的manifest和实际version为准
03证据见 [生命周期验证](baselines/ambilight-lifecycle-validation.json) 和
[实施记录](changes/2026-09-12-PKG-AMBILIGHT-03-lifecycle.md)。04公开声明及CJS.default、
05代理/实际设备、06安装包和8082 demo仍未完成;三浏览器通过不能代替这些验收。
## 04公开类型与安装消费者
`node --test refactor/scripts/ambilight-types.test.mjs`覆盖五种TS模式、10项非法用法、
实际1.0.0/1.1.0声明对照、编辑器语义生成及正式main/legacy/global/ESM导出。已接入
test:baseline和根typecheck。CommonJS自default别名兼容两代调用;可选参数重载放在前,
必填Option签名必须放最后以保护Parameters提取。新的d.mts/d.cts为相同公共声明提供
正确模块身份,typesVersions补齐旧解析器的legacy子路径。
`yarn test:ambilight-types-package`打包当前核心和插件,在仓库外分别安装两个真实
发布插件和候选,离线/frozen安装及逐文件哈希检查防止误用workspace链接。共17个
编译场景:候选7个(含TS5.9.3/4.3.5关闭interop)全部零诊断且各拒绝10项非法用法;
旧包10个场景中1.1.0 NodeNext ESM精确保留4个既有错误,其余零诊断。已发表的类型
不一致与候选失败严格分开,不把旧错误写成候选白名单。
1.0.0字段必填变为1.1.0可选是历史差异,本候选没有继续扩大推导。新测试在03提交上
3失败/1通过,实装额外复现旧TS legacy缺映射、tsconfig打包泄漏和旧NodeNext问题。
05代理/设备、06完整分发和8082 demo继续;当前统一test:package默认scope仍仅core/
chapter,专项安装命令的存在不代表全部包已加入该门槛。
04最终四组专项、975项完整CI及18项三引擎媒体回归通过;安装消费者证据、包哈希、
初始失败及明确限制见 [类型验证证据](baselines/ambilight-types-validation.json) 和
[实施记录](changes/2026-09-12-PKG-AMBILIGHT-04-types.md)。类型与两代导出具体风险已
关闭;当前待做范围为05/06,旧阶段记录保留其当时状态。