零框架运行时 Core · 原生 RPC · OpenProps + Lit · 单 deno.json
核心变更
零框架运行时 Core
将 @openelement/core 拆分为构建时工具 + 零运行时。Core 在 SSG 构建后不进入客户端 bundle。页面只携带:
- 主题初始化脚本(~200 bytes)
- Service Worker 注册(~200 bytes)
- Island chunk(按需,每个 ~2-6 KB gzip)
对比之前 Core 运行时 ~15KB,这是数量级的减小。
原生 RPC
@openelement/rpc 基于 Hono RPC 的类型安全客户端。不再使用代码生成,直接从 Hono 路由定义推断类型:
// server
app.post('/api/ping', (c) => c.json({ ok: true }));
// client — 类型自动推断
const res = await rpc.ping.$post();
OpenProps + Lit
UI 包从硬编码 CSS 值迁移到 OpenProps 设计令牌。所有颜色、间距、字体大小使用 CSS Custom Properties,支持暗色模式零成本切换。
单 deno.json
项目配置从 kiss.config.ts + deno.json + tsconfig.json 三个文件合并为单一 deno.json。Deno workspace 管理 monorepo 依赖,不再需要 npm workarounds。
包结构
| 包 | 版本 | 说明 |
|---|---|---|
| @openelement/core | 0.5.0 | Vite 插件 + SSG + DSD 渲染 |
| @openelement/rpc | 0.5.0 | 类型安全 RPC 客户端 |
| @openelement/ui | 0.5.0 | Lit Web Component 库 |
| @openelement/adapter-lit | 0.5.0 | Lit SSR 适配器 |
| @openelement/create | 0.5.0 | 项目脚手架 CLI |