本次修复以 main 的 029bdb23 为基线,保留 Parser / Transform / Renderer 分层。
| 包 | 验证版本 |
|---|---|
| @lynx-js/react | 0.126.2 |
| @lynx-js/react-rsbuild-plugin | 0.20.3 |
| @lynx-js/rspeedy | 0.18.0 |
| @lynx-js/types | 4.3.0 |
| @lynx-js/qrcode-rsbuild-plugin | 0.7.3 |
| @rsbuild/plugin-type-check | 1.6.0 |
| @rsbuild/core | 2.2.11 |
| @rspack/core | 2.2.8 |
| postcss | 8.5.29 |
Node 要求为 ^20.19.0 || >=22.12.0,CI 使用 Node 22。
使用 pnpm@10.26.2;CI 安装加 --frozen-lockfile。
只对 Rsbuild / Rspack 2 的依赖做版本对齐,Rspress 1 的旧工具链保留其兼容版本。
React 与 types peer 范围分别为 ^0.126.2、^4.3.0;更早版本未纳入本次兼容验证。
示例使用 pluginReactLynx({ engineVersion: '3.9' })。
这是模板所需的最低引擎版本,与 React npm、types npm 和宿主原生 SDK 版本分别管理。
该工具链的编码器仍不接受 engineVersion: '4.0',因此没有启用 4.0 的动态元素或媒体查询能力。
engineVersion 和 TypeScript 的 lib 配置不保证宿主 JavaScript API 可用。
转换器使用 Object.prototype.hasOwnProperty.call 检查标签映射及文本样式,
不依赖 Object.hasOwn;文本合并也不依赖 Object.fromEntries。
回归测试在这两个 API 缺失时验证转换、继承、自定义标签和文本合并。
库的 main / types / exports 继续指向源码,以供 Lynx 编译器处理静态 JSX。
typecheck 使用覆盖全部 src 的配置,库构建也进行类型检查并生成声明,不再使用 noCheck。
示例类型配置包含完整源码,并通过模块 augmentation 声明 GlobalProps。
CodeCov vendored 插件 1.0.0 的 peer 声明仍只包含 Rspack 0.5 / 1.x,安装会提示警告。
本次已用 Rspack 2.2.8 验证其 dry-run 分析路径,并检查生成的 lhr-example-lynx-cjs-stats.json。
真实上传需要 CI 的 Codecov 凭据,未在本地执行。dry-run 会关闭 telemetry 并仅生成本地分析文件。
未扩展该插件的 peer 声明,也未把本地分析验证当成上传验证。
原生首帧、LynxExplorer / 真机布局、3.9 flex 与 !important、图片加载与滚动性能需要宿主验证。 本次没有实现跨行跨列表格、完整 CSS tokenizer / 能力过滤、图片尺寸策略或深度限制等 P2 工作。