| name | zuix-dev |
| description | 维护独立 ZUI 扩展库的 README/dev.md 调试页及 dev.ts,并按需通过宿主验证交互和 HMR。需求明确时直接实施。 |
ZUI 扩展库开发调试页
准备
按 共享工作流 解析本次所需上下文、读取适用规则并检查所有权;已有且未变化的发现直接复用。阅读 调试页规范 中与本次修改有关的部分。
检查实际页面源及相关 dev.ts、API 或样式。开发管线通常优先 dev.md、缺失时回退 README.md,以目标现状和当前宿主为准,不无理由迁移或复制两份。需要新场景或生命周期判断时再参考相关实现;真实交互/HMR 验收需要已确认的宿主。
实施
- 按共享工作流先检查请求、已确认决定和目标现状,合理沿用既有约定;仅有无法可靠消除且会实质改变调试页目标、公开契约或交付边界的歧义时询问,否则直接在本领域内实施,不增加确认门禁。
- 在实际页面源中使用当前宿主支持的
html:example fence 和 utility class 语法构建实例 DOM;资源通过扩展开发管线实际支持的路径引用,不硬编码某个扩展品牌或组名。
dev.ts 中用真实 packageName 导入目标入口和演示依赖;不要把 folderName 或 zuiName 当成模块包名。库内相对入口可沿用目标现状。
- DOM 首次建立和 HMR 重建后都必须执行的实例化、查询和局部绑定放入
onPageUpdate;真正一次性的全局设置才放入 onPageLoad。
- 避免重复全局监听、冲突 ID、不可清理的 timer/observer 和遗留实例。组件可销毁时,在重建或重新实例化前清理旧实例。
- 若调试页需要覆盖
LibLoader 的本地资源,使用同一 loader 注册名和 check,并从 resolver 的 extsName、folderName、publicPath 及宿主实际 URL 规则构造路径;禁止写死项目名或假定三者相同。
- 只修改
targetLibRoot 中调试页及批准的演示资源。源码 lint、类型、依赖与测试从 extensionRoot 执行;不修改宿主源码、package、lockfile 或注册;宿主生成物和缓存写入遵循共享工作流的验证隔离与批准规则。
- 不为使演示成立而悄悄修改运行时 API、正式文档或 i18n。发现越界问题时单独报告。
宿主联合验证
按共享工作流完成本次所需检查、范围内修复和复验。涉及渲染、交互或 HMR 时,再通过已确认的宿主及注册组复用或启动扩展开发服务,从实际导航进入目标页。
根据本次变更验证首次加载、相关状态与交互、键盘/焦点、销毁重建或 HMR,检查控制台异常。服务归属、宿主写入和验证隔离遵循共享工作流。
组合边界与交付
- 独立调用且目标明确时直接实施。
- 作为子流程时只处理共享范围内的本领域工作;上下文、批准和增量范围统一遵循共享工作流。
- 用户只要求评审时保持只读。
- 交付时汇报实际页面源、演示矩阵、生命周期处理、四层上下文、本地与宿主验证结果及未覆盖项,不自动提交、推送或发布。