更新日志
vureact 遵循 Semantic Versioning 2.0.0 语义化版本规范,版本按时间倒序排列。
v1.6.0 (2026-04-13)
✨ 新增功能
- 新增 SFC 元数据收集:解析阶段收集 props、emits、options 元数据
- 新增
useAttrs转换:VueuseAttrs()转 React props,TS 环境自动断言为Record类型,隔离原有 props 类型提示 - 新增 TS 交叉类型支持:使用
useAttrs时自动为 props 追加Record交叉类型,保证类型完整
🐞 修复问题
- 修复 import 注入与顶部注释位置冲突,对齐注释与导入语句
- 修复带特定指令的
<template>节点错误迁移问题 - 修复
<template>节点:key未正确转移到首个子节点问题 - 修复 SFC 顶层 TS 类型声明中函数字段被误转为
ReactNode问题
🚀 优化改进
- 重构脚本元数据收集逻辑,模块化提升可维护性与扩展性
v1.5.2 (2026-04-08)
🐞 修复问题
- 传统
<script>语法转换不完整导致产物不可运行:调整为编译期直接抛出清晰错误
🚀 优化改进
- 移除传统语法的残缺处理逻辑,避免运行时错误
v1.5.1 (2026-04-04)
🐞 修复问题
- 产物代码注释位置混乱:优化代码生成逻辑,对齐注释位置
- Babel minified 关闭后 import 模块名丢失引号:调整 Babel 配置处理逻辑
- 非 const 简单字面量被静态提升:优化静态提升判定逻辑
- 顶部 import 注入与注释位置冲突:调整导入注入逻辑兼容现有注释
🚀 优化改进
- 移除产物中无用的 @vr 特殊注释
- 脚本产物默认不压缩,保留可读性
v1.5.0 (2026-03-30)
✨ 新增功能
output.packageJson配置项:支持自定义产物 package.json 内容
🐞 修复问题
- 事件名未规范化、事件处理函数包裹异常:统一事件名格式与处理逻辑
- 非 SFC 脚本文件错误改写 slot 顶层类型:优化类型处理范围判定
- 脚本文件错误注入 React.memo/dir 工具包导入:精准控制导入注入逻辑
- Vite 初始化失败但进程未退出:完善错误处理与进程退出机制
- Vue API 识别冲突(同名局部变量):优化 API 识别逻辑
- HTML 动态属性处理异常(字符串值/ data-* 格式/模板字面量):修复属性值转换逻辑
🚀 优化改进
- 移除 SFC style 块 @import 警告
- 不支持的 Vue API 抛出明确错误提示
- Vue 导入类型接口统一替换为 any,简化类型处理
- 优化运行时 import 注入逻辑,提升编译效率
- vue-router 导入映射为 @vureact-router 并保留类型导入
- 升级运行时适配包版本,同步编译器版本
- 优化作用域样式 ID 注入,避免无样式元素注入 scopeId
v1.4.0 (2026-03-22)
✨ 新增功能
- React 产物入口自动注入路由提供器
- 基于 proper-lockfile 实现跨进程文件锁,解决并发编译数据混乱
- bootstrapVite 支持指定 Vite/React 版本
- 全量编译失败自动清理工作区产物
- 支持 ts 格式配置文件(vureact.config.ts),提供类型提示
- 批量缓存更新/清理功能
- SetupManager 架构:重构编译器管理器依赖注入逻辑
- 配置加载器/合并器:分离加载逻辑,支持灵活合并策略
🐞 修复问题
- 未初始化 Vite 导致构建失败:完善 Vite 初始化流程与错误处理
- useMemo 优化的顶层变量依赖收集不精确/未识别:精准收集引用的根变量
- CLI 选项覆盖用户配置:调整配置合并策略,仅覆盖路径相关配置
- 首次编译 JSON 解析报错:优化缓存文件读取与错误恢复
- 并发编译文件操作冲突:通过文件锁保证数据一致性
- 全量编译缓存丢失导致增量编译失效:优化缓存持久化逻辑
- 关闭 Vite 初始化未创建工作区目录:强制保证目录创建
- 静态资产拷贝无缓存优化/统计异常:优化资产管理缓存与统计逻辑
- 删除样式文件后产物/缓存未清理:完善清理管理器逻辑
🚀 优化改进
- 外部 import/函数内部依赖收集优化:减少无效依赖收集,提升编译性能
- 对象访问依赖添加可选链保护,避免运行时空值报错
- CLI 精简为仅保留路径相关选项
- 优化全量编译 CLI 统计输出格式
- 依赖分析器重构:优化路由配置,减少不必要的 useCallback 包装
- 编译器架构模块化:引入函数式配置,提升可维护性
移除
- 自动输出路由适配指南功能
- CLI 行为相关配置选项
- 编译器 templates 目录(路由配置模板)
- 代码中冗余注释,简化文档
v1.3.0 (2026-03-17)
✨ 新增功能
- CLI 启动时自动检查版本更新(依赖 update-notifier)
- 路由配置自动生成使用指南
🐞 修复问题
- v-for 中 ref 访问未自动添加 .value:补充 ref 访问后缀处理
- 事件调用未做可选调用:统一改为 onClick?.() 形式
- 依赖分析可选链保护缺失:补充 ref.value 访问保护
- 缓存存储样式源码导致体积过大:移除缓存中样式源码
- CLI 构建未正确注入 shebang:修复构建配置
🚀 优化改进
- 示例项目结构精简,移除旧示例
- 更新 README/FAQ 文档,优化内容与排版
- 编译管线流程优化:改进错误处理与进度展示
v1.2.1 (2026-03-15)
🐞 修复问题
- provide 转换异常:优化 Provider 组件属性处理逻辑
- 事件调用未做可选处理:统一改为可选调用形式
- v-model 事件名生成错误:修复事件名转换逻辑
- template/slot 节点错误注入 scopeId:调整作用域样式注入范围
- 插槽作用域参数类型定义异常:支持含连字符等特殊字段
- ReactNode 类型导入缺失 type 修饰符:补充类型导入修饰符
- Vue Router 历史模式 API 适配错误:修正映射关系
- emit 事件名格式化异常:支持 update:xxx -> onUpdateXxx 转换
- provide 处理顺序错误:调整收集与重命名执行顺序
v1.2.0 (2026-03-06)
✨ 新增功能
- 支持 defineExpose 宏 API 转换
- defineExpose 场景下自动用 React.forwardRef 包装组件
🚀 优化改进
- API 适配逻辑优化
- 组件 ref 处理逻辑优化
v1.1.1 (2026-03-05)
🐞 修复问题
- 样式预处理时,less/scss 导入后缀未替换为 css:修正后缀替换逻辑
v1.1.0 (2026-03-05)
✨ 新增功能
- 单独编译 style 文件(less/sass 等)
- 样式文件内 import 后缀自动替换(scss→css 等)
🐞 修复问题
- 未排除项目根目录 yarn-lock 文件:补充排除规则
v1.0.4 (2026-03-05)
🐞 修复问题
- 插槽类型定义错误:默认/非作用域插槽统一使用 ReactNode 类型
- ignoreAssets 未配置时预设排除列表失效:启用默认排除规则
v1.0.3 (2026-03-04)
🐞 修复问题
- TSX 组件参数异常:仅当 Vue 组件有 props 时返回函数参数
- Vue 模板转 JSX 文本特殊字符处理错误:完善字符转义逻辑
v1.0.2 (2026-03-04)
🐞 修复问题
- VUE_PACKAGES 常量缺失 @vureact/compiler-core:补充排除列表
v1.0.1 (2026-03-04)
🐞 修复问题
- 生产环境 CLI 入口文件引用错误:修正路径引用
v1.0.0 (2026-03-03)
里程碑
- 首个先行版本(代号“心灵控制”),Vue→React 编译从概念验证进入工程实践
核心能力
- 完整 Vue SFC (template/script setup/style) 转 React 链路
- Composition API 映射为 React Hooks
- 编译期处理 scoped/module 样式,输出静态 CSS
- 基础 CLI (build/watch)、缓存、Vite 初始化、混合开发支持
1.0.0 细节参考:https://github.com/vureact-js/core/blob/master/packages/compiler-core/CHANGELOG.md
