适用于 v1.0.0-alpha.5。
包依赖图
依赖方向——使用方指向其依赖。
| 包 | 角色 | 依赖 |
|---|---|---|
@openelement/element |
运行时 · 零框架依赖 | — |
@openelement/router |
页面 · 路由 · 构建 | 使用 @openelement/element |
@openelement/ui |
可选原语 | 可选 |
@openelement/create |
starter · 构建期 | — |
已退役:
core·signal·protocol·content·ssg·app·adapter-vite·app/preact·app/spa。
深模块隐藏实现复杂度。
作者使用产品接口。renderer、router、signal、content 与构建期细节保持内部化,直到真实的变体需求证明需要公开接缝。
| 层 | 包 | 职责 |
|---|---|---|
| element | @openelement/element |
Custom Elements、JSX、DSD、hydration 与 signals 的统一创作界面。 |
| application | @openelement/router |
面向完整应用的页面、路由、islands 与渲染语义。 |
| build | @openelement/router |
Vite 集成、静态生成与可部署的 Nitro 输出,收敛在一个构建边界之内。 |
| adoption | @openelement/create,可选 @openelement/ui |
以 starter 为先的采用路径与可选原语;两者都不暴露已退役的实现包。 |
Web Components 就是应用架构。
路线图以兼容性证据、完整的应用闭环与可移植的运维能力赢得 WC 全栈领导地位——而不是靠不断增长的包数量。
WC SSR
当前版本线会把已准入的标准、Lit、FAST 与 Stencil 元素分类为 DSD、light DOM 或仅客户端渲染,并提供可操作的诊断与语料证据——该契约最初随 0.43 线交付,并在编译型版本线上由 CI 持续验证。
应用闭环
路由、数据、渐进式表单、action、重定向与重新校验构成一个深的 App 接口,而不是一堆浅包。
可移植输出
Node 与 Workers 输出从打包后的公开产物验证。服务提供方自有的恢复路径由参考栈证明;框架自有 cache/recovery API 尚未分配版本,必须经过未来的决策记录。
当前真相由机器校验。
包表面、文档真相、产物、关键路径与浏览器测试,共同拒绝退回已退役的产品图。
| 门禁 | 要求 |
|---|---|
| 4 个包 | 当前消费面、starter 与文档保持一致。 |
| 输出切分 | static 与 request-time 的输出切分已冻结;0.41.x 静态冻结未被触动。 |
| 3 个浏览器 | 候选版本发布需要 Chromium、Firefox 与 WebKit 的验证。 |
| 打包产物验证 | 消费方从公开产物构建,而不是 workspace 别名。 |
Package 兼容性
openElement 把第三方 Custom Elements 视为基于标准的依赖。当前构建通过显式的 package island 配置与可用的 Custom Elements Manifest metadata 完成 SSR 准入。
当前契约
@openelement/element 负责编写体验;router 包把应用行为与构建行为收敛在一个边界之内。
显式准入
已知包可配置为 package island,并利用可用的 CEM metadata,无需引入已退役的包接口。
当前诊断
当前版本线交付通用 DSD/light/client-only 分类、hydration 不匹配诊断与已跟踪的第三方 WC SSR 语料库——最初随 0.43 线交付,并在编译型版本线上由 CI 持续验证。准入仍依赖显式 package-island 配置与已观测 metadata,并不意味着对所有第三方组件作笼统认证。
另见
- openElement 对比主流框架——这套架构的定位。
- DSD 渲染——这张图所依赖的平台标准契约。
- 核心概念——同一套模型在作者视角下的表述。