Skip to content

兼容性 ​

这张表记录仓库的接入范围和验证用例。Beta 表格描述已发布的包,后面的新增部分描述可选的 0.2 Alpha 范围。版本与发布节奏见发布线说明。

Beta 四框架适配情况 ​

Vue、React、Solid、Svelte 的 adapter 都已随 0.1.0-beta.0 发布,可以从 npm beta 渠道安装。但“已发包”不等于“支持宿主框架的全部功能”:Vue/React 是主支持 路径,Solid/Svelte 仍为实验性支持。

能力与验收Vue 3React 19Solid 1.9Svelte 5
Beta 支持级别支持支持实验性实验性
Rust 组件挂载、props 更新、事件回调已验证已验证已验证已验证
实例级 Store action 与响应式快照Ref:state.valuesnapshot:stateAccessor:state()Readable:$state
组件/Store 声明、owned struct 与 unit enum 类型生成已实现已实现已实现已实现
生命周期证据挂载卸载、Store 延迟返回清理StrictMode、Store 延迟返回清理adapter 测试覆盖 owner 清理和延迟返回子组件卸载时 Component/Store 各 dispose 一次
Rust 源码生产构建与浏览器用例Vite 7 + ChromiumVite 7 + ChromiumVite 7 + ChromiumVite 7 + Chromium
已发布 Beta 的干净项目安装打包产物验收已覆盖已覆盖尚未覆盖尚未覆盖
npm registry 独立验收已覆盖已覆盖尚未覆盖尚未覆盖
已发布 Beta 的 SSR / hydration / slots未支持未支持未支持未支持

Beta.0 发布流程 已通过完整 verify:release,其中包含四个 test:rust-* 浏览器用例。adapter 单元测试与共享 build-core 声明测试补充类型和生命周期证据;test:packed-release 与 test:registry 的干净消费项目则仅覆盖 Vue/React,不能因为四个包都已发布就 把这项证据扩展到 Solid/Svelte。

这次 Beta 还修复了 React 将已就绪的 null Store 快照当成未加载的问题,以及 Vue 将未传入的可选 Boolean prop 转成 false 的问题。Solid/Svelte 原有路径已 保留这些值,不需要照搬相同修复。

当前 main 的 test:vite8-frameworks 对 Vue/React/Solid/Svelte 分别进行干净 tarball 安装,验证 Vite 8.2.1 的生产构建、Chromium 交互、严格声明类型,以及开发时 Rust 修改、编译错误恢复、连续保存与宿主组件修改。Svelte 的 Vite 8 路径使用 @sveltejs/vite-plugin-svelte 7.1.2。这些打包源码用例不等于 Solid/Svelte 的独立 npm registry 浏览器证据,支持级别仍为 实验性。这些是 Alpha 对应源码的具名验收,不属于上表的 Beta 证据。已发布安装路径见快速开始。

版本与工具链边界 ​

本表分别记录 Beta、Alpha 与私有实验;Alpha 行不能通过安装 @beta 获得。

层版本状态边界
Node.js^20.19.0 || >=22.12.0Supportedquickstart 覆盖 Ubuntu/Node 20、macOS/Node 22、Windows/Node 22
Vue>=3.5.2 <4Supported3.5.2–3.5.41 声明检查通过;3.6/Vapor 仍是 experimental evidence
React>=19Supportedfixture 覆盖 19.0.0 与 19.2.0
Solid>=1.9 <2ExperimentalVite 7 browser fixture 覆盖 Rust Component、callback event 和 Accessor 驱动的 Store 更新;adapter unit test 覆盖 owner cleanup 与 late resolve
Svelte>=5 <6ExperimentalSvelte 5 + Vite 7 Chromium fixture 覆盖 Component mount/callback、Store action、prop update、Readable 声明,以及 Component/Store owner cleanup
Octane0.9.0私有 workspace 实验;不纳入 0.2独立 fixture 使用 plugin 0.2.1、Vite 8.0.16,覆盖 Component/Store 实例隔离、props/event、销毁重建和声明;Node >=22.22.2;尚无 npm 发布或 SSR 承诺
Vite>=7 <9主路径Vite 8.2.1 四框架独立打包、类型、生产浏览器和开发恢复验收;Vite 7 保持回归测试
Vite+0.2.9,core alias 0.2.9(Vite 8.2.1)Alpha 四框架具名验收Vue/React/Solid/Svelte 的干净 tarball 安装、.rs 生产构建、Chromium、严格声明检查、dev 重建与错误恢复
Rspack / RsbuildRspack >=2.1.10;Rsbuild >=2.1.13ExperimentalBeta 保留旧 Vue/React/Rslib fixture;Alpha 增加 Vue/React .rs 生产验收
Webpack>=5Experimental5.101.0、5.109.2 fixture;Webpack 4 不支持
Vue VaporVue 3.6.0-beta.17 + Vite 8.2.1Experimental需要 Vue 的 vaporInteropPlugin,不是 Vooya 自己的 renderer

Solid 这一行只说明当前 Vite 7 + Chromium fixture 与 adapter unit test 的证据, Alpha 另有 Vite 8 packed 证据;不推导 Rspack/Webpack、SSR、hydration 或其他浏览器已经兼容。 Svelte 这一行同样只说明具名 Vite 7 + Chromium fixture;不推导 Svelte 3/4、 SvelteKit、SSR/hydration、Rspack/Webpack 或其他浏览器已经兼容。fixture 在卸载子组件后断言 Component handle 与 generated Store 各调用一次 dispose()。

当前 main 的 test:vite-plus-frameworks 还覆盖快速连续保存及宿主组件更新;Rust 编辑使用整页刷新, 不承诺保留状态。test:vite-plus 单独保留旧 .voo 回归。依赖按官方 alias/overrides 配置即可正常 npm 安装,不需要 legacy peer resolver。范围限定为上述版本的 dev/build, 不推导其他 Vite+ 版本、其全部工具或 SSR 支持。配置见 Vite+ 接入。

0.2 Alpha:Rust-file bundler 接入 ​

test:rust-bundlers 从当前源码打包,在干净项目中验证 Webpack 5.109.2、 Rspack 2.1.10 与 Vue/React 的 .rs Component、Store、props/event、scoped CSS、 卸载重建,以及应用根目录 rust.sourceRoot: "."。这是下一版代码的验证, 不代表已发布 Beta 包具备此能力。Vue 的 Rust-file watch 还覆盖错误恢复、 CSS 更新、新增 .rs 和产物不会造成循环重建。Next.js/SSR、Webpack/Rspack 下的 Solid/Svelte 尚未完成验收。

0.2 Alpha:SSR 接入 ​

当前源码将 Vue Store 的创建推迟到浏览器挂载,并保留 React 的客户端边界。 adapter 测试覆盖服务端渲染和 hydration,Nuxt 独立打包用例覆盖 WASM 加载、 props/event、独立 Store 和路由清理。服务端渲染的是宿主容器,Rust 组件内容仍由 浏览器生成。Next.js 尚未验证,具体 API 边界见 SSR 范围。

尚未支持或未验证 ​

Safari/WebKit、移动浏览器、Rollup、Turbopack 和未列出的 bundler 没有当前兼容性声明。没有正式预编译组件产品;保留的 Vue fixture 只是 build-contract 证据。.voo 是已退休的探索格式,不能作为新组件输入。

查看每项命令和完整边界请看英文兼容性矩阵。

Vooya is a beta project. Check the compatibility matrix before relying on a path.