Open navigation

Blog/release

LessJS v0.5-alpha-0 — 架构精简

零框架运行时 Core · 原生 RPC · OpenProps + Lit · 单 deno.json

零框架运行时 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