Skip to content

更新日志

vureact 遵循 Semantic Versioning 2.0.0 语义化版本规范,版本按时间倒序排列。

v1.6.0 (2026-04-13)

✨ 新增功能

  • 新增 SFC 元数据收集:解析阶段收集 props、emits、options 元数据
  • 新增 useAttrs 转换:Vue useAttrs() 转 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

Released under the MIT License