Commit Graph

600 Commits

Author SHA1 Message Date
“chenhuachun”
9eba4a17a2 build: 📦 release
- vtj-project-app@0.18.0
 - vtj-extension@0.18.0
 - vtj-project-h5@0.18.0
 - vtj-project-library@0.13.0
 - vtj-material@0.18.0
 - vtj-plugin@0.18.0
 - vtj-project-uniapp@0.18.0
 - create-vtj@0.13.0
 - dev-web@0.18.0
 - @vtj/docs@0.18.0
 - @vtj/base@0.13.0
 - @vtj/charts@0.18.0
 - @vtj/cli@0.13.0
 - @vtj/coder@0.18.0
 - @vtj/core@0.18.0
 - @vtj/designer@0.18.0
 - @vtj/icons@0.18.0
 - @vtj/local@0.18.0
 - @vtj/materials@0.18.0
 - @vtj/node@0.13.0
 - @vtj/parser@0.18.0
 - @vtj/renderer@0.18.0
 - @vtj/ui@0.18.0
 - @vtj/uni@0.18.0
 - @vtj/utils@0.18.0
 - @vtj/h5@0.18.0
 - @vtj/pro@0.18.0
 - @vtj/pro-uni@0.18.0
 - @vtj/uni-app@0.18.0
 - @vtj/web@0.18.0
2026-06-20 20:36:23 +08:00
“chenhuachun”
ce6c2a985d docs(utils): 补充日期处理文档并调整章节标题
- 增加 dayjs 和 dateFormat 的核心API说明及使用示例
- 说明在组件中如何使用 @vtj/utils 导出的日期处理工具
- 调整后续章节编号,新增“日期处理”章节为第十三章
- 明确 @vtj/utils 中 dayjs 已默认配置中文 locale,简化使用说明

parser(fixer): 支持跳过动态绑定的 name 属性避免误替换

- 在处理 vant-icon name 属性时,跳过包含 :name 或 v-bind:name 的动态绑定情况

parser(vue): 增强 parseTemplate 返回context,支持上下文变量替换

- parseTemplate 函数返回值中新增 context 字段
- 在 compositionPatch 处理中,将 v-for 和 slot 上下文变量等替换为 this.context.xxx 访问形式

parser(tests): 补充 Composition API 模式下 v-for 和 slot 上下文变量转换测试

- 新增测试覆盖 vant-icon 动态 name 属性转换为 this.context.xxx
- 测试 v-for 中上下文变量转换为 this.context.xxx
- 测试 slot 作用域变量转换为 this.context.xxx

parser(utils): 清理移除旧的复杂 replacer 函数及相关注释

- 删除无用代码,减小包体积,提高可维护性

test(debug): 新增调试用例打印 v-for 中 card.user 的节点转换结果
2026-06-16 00:41:29 +08:00
“chenhuachun”
405b2c22ef chore(scope): 更新描述信息及完善测试覆盖
- 更新各包 package.json 中描述为 AI 驱动的 Vue3 企业级开发平台
- 调整 library 包版本号及版权信息
- 修改库中的测试命令为 vitest run
- 新增多个包的单元测试,覆盖组件导入、钩子函数、工具函数等
- 为多个包添加导出测试确保类型和成员完整
- 修正插件测试中导入判断逻辑
- 增强 UI 组件的测试,覆盖容器组件、内置字段编辑器等
- 引入新的公共测试依赖 @vue/test-utils
- 在 createViteConfig 相关测试中增加更多场景验证
- 重构部分测试用例结构,使用 describe 分组提升可读性
- 删除 CLI tsconfig 的 ignoreDeprecations 配置
- 删除 package 中一些无效或注释掉的测试代码
- 为文件操作相关功能新增测试验证基本读写、拷贝等功能正常
- 扩展对图表包 hooks 和组件的导出测试
- 添加图标包中图标组件的导出和功能测试
- 为附件组件相关工具函数添加文件类型识别和转换测试
- 优化和丰富 grid 组件的工具函数和常量测试覆盖率
- 新增 UI 包中安装器和公共工具函数的测试用例
- 修复 local 包中导入名称错误的问题,改为 createDevTools
- 在 charts 包新增对 hooks 的导出支持
- 调整部分包新增依赖和关键词,强调 AI 低代码等特性
2026-06-15 11:54:45 +08:00
“chenhuachun”
7b3312b057 feat(parser): 支持全局 composable 解构字段的精确反向映射
- 新增 GlobalApiDestructured 接口以表示全局 composable 及其解构字段
- 在 scriptSetup 解析阶段收集全局 composable 解构信息
- reverseGlobalApi 构建 composable 成员映射,实现解构字段到全局 API 的精确映射
- reverseSymbolTable 中合并解构字段映射以支持模板表达式中的标识符正确解析
- 增加单元测试覆盖解构 i18n 相关功能,验证解构字段映射正确替换为全局 API 标识符
- compositionPatch 支持通过 globalApiVars 映射解构字段调用为全局 this.$api 形式
2026-06-15 00:46:12 +08:00
“chenhuachun”
f19cd22bb1 refactor(parser): 优化.then回调函数提取逻辑
- 在vue/scripts.ts中新增extractThenCallback函数,准确提取.then()的回调内容
- 替换原先使用正则匹配.then()方法的写法,提升匹配准确性
- 在vue/scriptSetup.ts中同步新增并使用extractThenCallback函数
- 更新相关单元测试,覆盖含.catch和.finally链式调用场景下的回调函数提取
- 改进代码可读性和健壮性,确保对复杂.then回调的正确解析
2026-06-14 21:39:27 +08:00
“chenhuachun”
9738c24c23 fix(parser): 修复模板字符串和表达式处理逻辑
- 修改判断条件,支持字符串和JS表达式作为子节点内容
- 确保字符串和表达式都被包装在 'span' 节点内
- 解决原先只支持字符串的限制,提升模板处理灵活性
2026-06-14 21:12:19 +08:00
“chenhuachun”
e4b78c6b9c fix(parser): 修正删除可选参数标志的逻辑
- 修改删除 node.optional 的条件,仅对 Identifier 类型节点执行
- 避免删除 OptionalMemberExpression 和 OptionalCallExpression 的 optional,防止 ?. 丢失
- 保持对 TypeScript 函数可选参数 ? 的正确处理

fix(renderer): 防止全局状态返回 undefined 报错

- useStore、usePinia、useLibs、useApis 函数返回默认空对象
- 避免 globals 中对应属性不存在时导致调用失败或异常
- 提高对缺失全局状态的容错性
2026-06-14 19:43:44 +08:00
“chenhuachun”
4ff9a370f2 fix(parser): 优化顶层声明解析及错误提示
- 当顶层变量声明均为对象或数组字面量时,自动转换为 reactive()
- 对支持范围外的顶层变量声明抛出明确异常,要求使用 ref/reactive/computed 或函数声明
- 禁止顶层 class 声明,抛出异常提示使用其他声明方式
- 禁止游离顶层表达式和函数调用,改用生命周期钩子或方法声明
- 更新相关单元测试,确保异常抛出和 reactive 转换逻辑正确
- 调整 notify 通知参数容错,兼容多种错误消息格式
- 修改 API 响应处理,统一 fail 消息为 msg.message 或 msg
- 关闭 renderer 服务中 failMessage 字段,优化响应校验逻辑
2026-06-14 18:56:33 +08:00
“chenhuachun”
edcc7977f2 refactor(parser): 使用安全替换函数增强表达式反转转换
- 添加 safeReplace 函数,跳过普通字符串字面量但处理模板字符串插值中的替换
- 实现 processTemplateString 辅助函数,专门处理模板字符串中的 ${} 表达式内容替换
- 将表达式中涉及 .value 和成员访问的替换逻辑统一用 safeReplace 实现
- 修复了之前直接替换可能误伤字符串字面量内容的问题
- 提升了 reverseTransformExpression 中多处正则替换的安全性和准确性
2026-06-14 16:19:20 +08:00
“chenhuachun”
c1cb7bc964 fix(local): 修复service返回错误处理逻辑和优化fixer图标导入
- 修改service返回值逻辑,错误时返回fail错误结果,成功时返回success结果
- 在fixer中跨ImportDeclaration追踪defaultVtjIcon添加状态,防止重复导入声明
- 调整fixer脚本标签拼接,针对script setup添加setup属性,确保代码一致性
- 保留style标签的scss和scoped属性未更改,避免样式影响
2026-06-14 15:27:07 +08:00
“chenhuachun”
75f29a11d2 feat(parser): 支持模板中直接使用 $t 等裸标识符
- 在 reverseGlobalApi 映射中添加 simple 支持,允许裸标识符直接映射
- 使模板中 $t('ABC') 自动转换为 this.$t('ABC')
- 新增测试覆盖模板中使用 $t 的解析与转换逻辑
2026-06-14 13:55:47 +08:00
“chenhuachun”
05c5f39dce docs(tooling): 添加 VTJ 工具速查清单文档
- 新增 VTJ 工具速查清单,涵盖页面管理、区块管理、API 管理等核心功能
- 对各功能点提供对应工具方法和参考文档链接,方便快速定位和使用

refactor(parser): 增加 TypeScript 代码剥离功能,统一处理为纯 JavaScript

- 新增 traverse 递归遍历 AST,删除 TypeScript 类型标注属性,确保生成纯 JS 代码
- 在 Vue 解析流程中调用 stripTypeScript 转换 script 内容
- 实现 stripTypeScript 方法,使用 babel traverse 处理多种 TS 特性和声明的删除

refactor(coder): 调整 Composition API 模板中 setupStatements 位置

- 将 setupStatements 模板代码块由 createdStatements 后移至 methods 之后,优化代码结构

refactor(parser): 优化 scriptSetup composable 收集逻辑

- 跳过本地定义的函数,不将其收集为 composable,交由 setupStatements 处理
- 使用统一的 this.$libs.XXX 格式引用外部导入的 composable,简化生成代码

fix(renderer): 修复 block 渲染中 setup 函数执行顺序问题

- 移除旧位置对 setup 的执行,改为在状态创建后执行 setup
- 确保 setup 函数可正确调用并完成初始化逻辑
2026-06-14 11:25:09 +08:00
“chenhuachun”
36d2ecbb08 refactor(parser): 优化 scriptSetup 解析和模板生成
- 支持顶层类声明,将类声明归入 setup 语句处理
- 修正生命周期函数名 from 'mounted' 到 'onMounted'
- 在模板生成中调整代码片段顺序,合理插入 urlSchemas、blockPlugins、createdStatements 和 setupStatements
- 在渲染逻辑中新增对 setup 初始化代码的执行,兼容 composition API 模式
- 更新 pro 平台配置中的远程地址为本地调试地址 http://localhost:8000
2026-06-13 17:12:25 +08:00
“chenhuachun”
46b72a8d29 fix(parser): 修复 setup 函数中异步处理的组装逻辑
- 检测 setup 语句中是否包含 await
- 根据是否包含 await 来决定 setup 函数是否声明为 async
- 优化 setup 函数的拼接模板,使代码更清晰易维护
2026-06-13 13:32:24 +08:00
“chenhuachun”
3cbbe94570 feat(parser): 添加Uniapp专用生命周期钩子支持
- 扩展vue脚本解析器,增加Uniapp专用生命周期钩子映射
- 支持onLoad、onShow、onReady、onHide、onUnload等多个Uniapp钩子
- 兼容Uniapp钩子名称与Options API名称相同的情况
- 提升在Uniapp环境中Composition API的生命周期支持能力
2026-06-13 09:26:50 +08:00
“chenhuachun”
a5b347bcfb refactor(parser): 支持父组件子组件的const声明生成
- 解析组件导入时,区分父组件与子组件
- 父组件子组件生成类似 const AButtonGroup = AButton.Group 声明
- 确保父组件若未导入则自动添加导入语句
- 在模板代码生成中注入生成的const声明
- scriptSetup中跳过父组件子组件的初始化写入
- 增强import导入映射以支持别名语法处理
- 更新package描述,突显AI低代码引擎定位
2026-06-12 20:15:42 +08:00
“chenhuachun”
4a2d49da0f test(composition): 统一测试代码中所有vue composables的变量命名
- 将useAttrs返回值变量名由attrs改为__attrs
- 将useRouter和useRoute返回值变量名前加__前缀
- 将useStore调用返回值变量名添加__前缀
- 统一变量命名风格,避免命名冲突
- 修改相应测试内容中的变量名匹配
- 使测试代码与编码规范保持一致
2026-06-12 16:16:00 +08:00
“chenhuachun”
633b52de94 refactor(composition): 将 props 和 emit 重命名为 __props 和 __emit
- 更新模板中 defineProps 和 defineEmits 的变量名为 __props 和 __emit
- 修改全局 API 替换配置,将 props 和 emit 替换为 __props 和 __emit
- 调整组合式解析逻辑,使用 __props 和 __emit 访问属性和事件
- 更新反向转换器以支持 __props 转换为 this.prop
- 修改相关单元测试,确保使用 __props 和 __emit 变量名
- 支持裸露的 __props 和 __emit 在转换时映射到 this.$props 和 this.$emit
2026-06-12 16:09:05 +08:00
“chenhuachun”
def14e80c5 refactor(composition): 将 provider 改为 __provider 以避免命名冲突
- 把模板和代码中的 provider 变量重命名为 __provider
- 更新相关的全局 API 替换配置,将 replace 从 provider 改为 __provider
- 修改方法中对 provider.createMock 和 provider.apis 的调用为 __provider
- 调整测试用例以匹配新的 __provider 名称
- Vue 组件中根据 composition 模式调整 exposeOptions 的状态键名
- 更新代码中检测数据源方法相关的 provider 调用判断为 __provider
2026-06-12 15:06:35 +08:00
“chenhuachun”
d266472d2d refactor(composition): 将 state 重命名为 __state 以避免命名冲突
- 在全局 API 映射中新增 __state 配置
- 将 reactive 声明中的 state 重命名为 __state
- 更新符号表中的 reactives 集合,替换 state 为 __state
- 变换器中将 name 为 state 的标识转换为 __state
- 单元测试中替换所有 state 为 __state
- scriptSetup 解析中区分 __state 并正确处理
- 反向转换中将 __state 映射回 this.state
- 修正相关测试用例,确保 __state 正确替代 state
2026-06-12 14:31:54 +08:00
“chenhuachun”
2d83a650b8 fix(parser): 修复 ref/computed 属性访问匹配逻辑
- 使用负向后顾避免匹配成员访问属性(如 __apis.api1.value)
- 增强对裸名替换的正则表达式,防止重复添加 .value
- 添加对 _ctx 前缀的支持,匹配 Vue 模板编译器生成的上下文引用
- 添加测试用例确保 __apis.api1 等成员访问不被错误替换
- 确保 __apis.api1.value 保持正确的成员访问形式
2026-06-12 14:12:28 +08:00
“chenhuachun”
bec1c9e84b refactor(parser): 优化全局 composable 的来源和名称管理
- 从 @vtj/coder 动态引入 GLOBAL_API_MAP 以推导全局 composable 名称
- 将全局 composable 来源包新增 @vtj/renderer,包含常用 composable
- 移除硬编码的全局 composable 名称,改为动态生成确保准确性
- 确保 this.$xxx 系列的全局 composable 不会被加入 DSL composables 字段
2026-06-12 13:39:22 +08:00
“chenhuachun”
60be7b67ca fix(parser): 排除内部变量和优化全局 API 解析逻辑
- 在 scriptSetup 中过滤以 __ 开头的变量及调用 getCurrentInstance 的语句,避免误判
- 在顶层声明中排除包含 __ 前缀的内部变量声明
- 修改 reverseGlobalApi 中对 replace 字段包含多层属性拆分的逻辑,使用最后一个点分割,避免错误拆分
- reverseTransformer 中新增对 __instance.proxy.$forceUpdate.xxx 形式的归一化,确保成员映射正确
- 调整 reverseTransformer 中注释编号和描述,保持逻辑说明清晰完整
2026-06-12 11:56:53 +08:00
“chenhuachun”
d59699d6c7 fix(parser): 修正 Vue 组合式函数中 _ctx 前缀的转换逻辑
- 将 _ctx. 前缀统一替换为 this.,解决 Vue 编译器生成的上下文访问问题
- 避免出现多重 this. 前缀导致的错误
- 保持原有 libs 处理逻辑不变,确保导入库的正确访问
- 在单元测试中新增多个场景,覆盖 _ctx 到 this. 及 libs 引用的转换
- 通过测试验证 refs、state、props 和全局 API 变量的正确转换
2026-06-12 02:18:34 +08:00
“chenhuachun”
2834fc6e23 fix(parser): 修正 Composition 模式 props 映射及全局 API 变量处理
- 排除 $props 全局 API 映射,防止 props.title 被映射为 this.$this.title
- 调整 props.xxx 与裸 prop 名的替换顺序,确保先处理 props 后处理全局 API 变量
- 修改 reverseTransformer 逻辑避免 props 与 $props 映射冲突
- 新增 Composition 模式下模板表达式中 props 相关映射的单元测试
- 测试验证 props.title 和裸 prop 名正确映射为 this.title
2026-06-12 02:05:58 +08:00
“chenhuachun”
8e6ebb2dbd refactor(parser): 优化 Vue Composition API 反向转换流程
- 新增 reverseTransformer 模块,实现 Composition API 代码向 DSL this.xxx 形态的统一反向转换
- compositionPatch 函数内部委托给 reverseTransformExpression,简化实现并保持向后兼容
- 新增 reverseSymbolTable 模块,构建与 coder SymbolTable 镜像的反向符号表,支持解构字段的 composables
- 从 coder 导入 GLOBAL_API_MAP 统一全局 API 映射,支持成员访问形式的全局 API 反向映射
- 由 parseVue 内部使用反向符号表代替旧有的反向映射常量,更准确适配 UI 库标识符
- 增加 detectUIPackage 方法,根据 import 语句自动识别使用的 UI 包
- 扩展测试覆盖,增加 i18n 及 element-plus 等全局 API 调用的正确转换验证
- 移除旧的基于 replacer 的多步替换代码,防止重复替换及维护负担
- 修改 packages/coder 入口,对外导出 GlobalApi 相关工具与类型,方便跨包统一使用
2026-06-12 01:02:54 +08:00
踩着两条虫
66127565d1 !581 ci: commit
Merge pull request !581 from 踩着两条虫/next
2026-06-11 05:28:22 +00:00
“chenhuachun”
c98d29e354 ci: 👷commit 2026-06-11 13:13:46 +08:00
“chenhuachun”
c715fe46b8 build: 📦 release
- vtj-project-app@0.17.8
 - vtj-extension@0.17.8
 - vtj-project-h5@0.17.8
 - vtj-material@0.17.8
 - vtj-plugin@0.17.8
 - vtj-project-uniapp@0.17.8
 - create-vtj@0.12.23
 - dev-web@0.17.8
 - @vtj/docs@0.17.8
 - @vtj/charts@0.17.8
 - @vtj/coder@0.17.8
 - @vtj/core@0.17.8
 - @vtj/designer@0.17.8
 - @vtj/icons@0.17.8
 - @vtj/local@0.17.8
 - @vtj/materials@0.17.8
 - @vtj/parser@0.17.8
 - @vtj/renderer@0.17.8
 - @vtj/ui@0.17.8
 - @vtj/uni@0.17.8
 - @vtj/utils@0.17.8
 - @vtj/h5@0.17.8
 - @vtj/pro@0.17.8
 - @vtj/pro-uni@0.17.8
 - @vtj/uni-app@0.17.8
 - @vtj/web@0.17.8
2026-06-11 13:12:14 +08:00
“chenhuachun”
08ce05f08a ci: 👷commit 2026-06-11 11:59:15 +08:00
“chenhuachun”
e4f5bb4e9c build: 📦 release
- vtj-project-app@0.17.7
 - vtj-extension@0.17.7
 - vtj-project-h5@0.17.7
 - vtj-material@0.17.7
 - vtj-plugin@0.17.7
 - vtj-project-uniapp@0.17.7
 - create-vtj@0.12.22
 - dev-web@0.17.7
 - @vtj/docs@0.17.7
 - @vtj/charts@0.17.7
 - @vtj/coder@0.17.7
 - @vtj/core@0.17.7
 - @vtj/designer@0.17.7
 - @vtj/icons@0.17.7
 - @vtj/local@0.17.7
 - @vtj/materials@0.17.7
 - @vtj/parser@0.17.7
 - @vtj/renderer@0.17.7
 - @vtj/ui@0.17.7
 - @vtj/uni@0.17.7
 - @vtj/utils@0.17.7
 - @vtj/h5@0.17.7
 - @vtj/pro@0.17.7
 - @vtj/pro-uni@0.17.7
 - @vtj/uni-app@0.17.7
 - @vtj/web@0.17.7
2026-06-11 11:57:38 +08:00
踩着两条虫
60f02ff25a !578 chore: update platform URLs from lcdp.vtj.pro to app.vtj.pro
Merge pull request !578 from 踩着两条虫/next
2026-06-11 02:40:10 +00:00
“chenhuachun”
ebf2afb211 ci: 👷commit 2026-06-11 10:32:23 +08:00
“chenhuachun”
5220c9e9da build: 📦 release
- vtj-project-app@0.17.6
 - vtj-extension@0.17.6
 - vtj-project-h5@0.17.6
 - vtj-project-library@0.12.20
 - vtj-material@0.17.6
 - vtj-plugin@0.17.6
 - vtj-project-uniapp@0.17.6
 - create-vtj@0.12.21
 - dev-web@0.17.6
 - @vtj/docs@0.17.6
 - @vtj/charts@0.17.6
 - @vtj/cli@0.12.20
 - @vtj/coder@0.17.6
 - @vtj/core@0.17.6
 - @vtj/designer@0.17.6
 - @vtj/icons@0.17.6
 - @vtj/local@0.17.6
 - @vtj/materials@0.17.6
 - @vtj/node@0.12.7
 - @vtj/parser@0.17.6
 - @vtj/renderer@0.17.6
 - @vtj/ui@0.17.6
 - @vtj/uni@0.17.6
 - @vtj/utils@0.17.6
 - @vtj/h5@0.17.6
 - @vtj/pro@0.17.6
 - @vtj/pro-uni@0.17.6
 - @vtj/uni-app@0.17.6
 - @vtj/web@0.17.6
2026-06-11 10:30:51 +08:00
“chenhuachun”
54cf9081f3 feat(composition): 支持 $provider 作为全局 API 并优化引用处理
- 新增 $provider 配置,使用 inject 从 vue 中注入 provider
- 调整全局声明生成逻辑,跳过 $provider 声明,避免重复声明
- 扩展 compositionPatch 测试,新增对 provider 引用替换的验证
- 在 Vue 相关映射中添加 provider 映射为 $provider
- 修改 provider.ts,避免将 $provider 赋值到全局以防覆盖
- 增加测试用例,确保代码正确处理 provider 相关逻辑
2026-06-11 00:31:14 +08:00
“chenhuachun”
4f01bda197 fix(parser): 优化 composable 识别与库名映射逻辑
- 构建模块路径到库名的映射,支持识别依赖库名
- 调整 composable 表达式生成,使用 this.$libs.库名.函数格式
- 在找不到库名时回退到直接使用函数名
- 更新测试用例,增强 composable 匹配条件
- 验证 composable 表达式改为包含库名的完整路径形式
2026-06-10 21:56:24 +08:00
“chenhuachun”
adae502136 refactor(renderer): 支持 composable 使用 JSExpression 表达式
- 将 composable 表达式从字符串改为 JSExpression 类型,支持通过 this.$libs 访问
- 更新解析和执行逻辑,解析 JSExpression 引用并调用对应函数
- 修改 composables 配置示例,采用 JSExpression 格式
- 调整代码生成和导入处理,兼容旧协议字符串形式
- 更新类型定义,composable 字段改为 JSExpression 类型
- 增强错误处理,执行失败时提供更明确的降级提示
2026-06-10 21:41:55 +08:00
“chenhuachun”
f19a201028 feat(vue): 支持第三方库标识符映射替换
- 在 compositionPatch 添加 libs 字段,用于管理第三方库标识符映射
- parseVue 中从依赖分析中提取 libs 并传递给组合补丁逻辑
- 在组合函数 patch 过程中,将第三方库标识符替换为 this.$libs.库名.标识符 访问形式
- 修正替换顺序,确保第三方库标识符正确注入,完善整体解析能力
2026-06-10 21:21:27 +08:00
“chenhuachun”
c31470e3a5 feat(renderer): 支持 props 中 title 属性绑定和模板裸 props 访问
- 在 props.vue 模板中新增 title 展示,props 中添加 title 声明及默认值
- compositionPatch.ts 中增强 props 访问替换逻辑,支持 props.key 和裸 prop 名均替换为 this.key
- 裸 prop 名替换时使用 replacer 避免对声明、参数或 this.prop 造成误替换
- 保持现有 state 及其他替换逻辑不变,确保模板变量访问一致性
2026-06-10 20:26:39 +08:00
“chenhuachun”
7e4858e6cc fix(parser): 统一 ref/computed 变量访问形式处理
- 在 transformer 中优先匹配并替换 this.xxx.value 整段,保证模板与脚本语境兼容
- 调整 compositionPatch 中的替换逻辑,区分裸变量和已带 .value 访问的情况
- 修改 replaceRefOrComputed 函数,精确转换裸变量和 .value 访问为 this.xxx.value 形式
- 添加对已转换表达式的保护,防止重复添加 .value 后缀
- 新增单元测试覆盖 ref/computed 变量的多种访问模式,保证转换结果正确
- 修复旧逻辑对脚本和模板环境中 ref/computed 解包处理不一致的问题
2026-06-10 20:04:45 +08:00
“chenhuachun”
5bcc2b6c4e fix(parser): 优化 composable 去重和 useProvider 过滤逻辑
- 在 composition composables 中新增 processedNames 集合实现同名 composable 去重
- 过滤 useProvider composable,避免重复处理,由模板写死版本生效
- 在 vue scriptSetup 中增加 useProvider 过滤,避免 Options API 模板重复处理
- 实现 scriptSetup 中同名 composable 去重,保留第一个定义
- 统一提升 composable 收集的准确性和稳定性
2026-06-10 19:56:47 +08:00
“chenhuachun”
afcc737c1b feat(parser): 支持 Vue 3 <script setup> 解析与 Composition API 反向转换
- 新增 compositionPatch 功能,实现 <script setup> 代码中标识符到 this.xxx 的自动转换
- 扩展全局 API map,新增 pinia 和 vue-i18n 相关全局变量支持与合并声明
- 增加 ScriptSetup 解析模块,完整解析 refs、reactives、computed、methods 等组成部分
- 修改 parseVue 实现,单点分流支持 Composition API 和 Options API 两种模式解析
- 修正工具函数,调整 props 替换逻辑,避免不必要的 this.props 访问替换
- 扩展 Vitest 测试用例,覆盖 Composition API 使用场景
- 增加对 defineProps、defineEmits、inject、provide 等新语法的支持与提取
- 优化 AST 遍历,准确识别 setup 函数内容及生命周期函数映射
- 添加全局 @vueuse/core 和自定义 composable 支持逻辑
- 规范代码结构,拆分解析细节并提升整体可维护性与扩展性
2026-06-10 19:11:02 +08:00
“chenhuachun”
5178c3f921 ci: 👷commit 2026-06-09 11:20:06 +08:00
“chenhuachun”
ec147697bc build: 📦 release
- vtj-project-app@0.17.5
 - vtj-extension@0.17.5
 - vtj-project-h5@0.17.5
 - vtj-material@0.17.5
 - vtj-plugin@0.17.5
 - vtj-project-uniapp@0.17.5
 - create-vtj@0.12.20
 - dev-web@0.17.5
 - @vtj/docs@0.17.5
 - @vtj/charts@0.17.5
 - @vtj/coder@0.17.5
 - @vtj/core@0.17.5
 - @vtj/designer@0.17.5
 - @vtj/icons@0.17.5
 - @vtj/local@0.17.5
 - @vtj/materials@0.17.5
 - @vtj/parser@0.17.5
 - @vtj/renderer@0.17.5
 - @vtj/ui@0.17.5
 - @vtj/uni@0.17.5
 - @vtj/utils@0.17.5
 - @vtj/h5@0.17.5
 - @vtj/pro@0.17.5
 - @vtj/pro-uni@0.17.5
 - @vtj/uni-app@0.17.5
 - @vtj/web@0.17.5
2026-06-09 11:18:29 +08:00
“chenhuachun”
23ed2faeab ci: 👷commit 2026-06-07 15:00:05 +08:00
“chenhuachun”
95964a7907 build: 📦 release
- vtj-project-app@0.17.4
 - vtj-extension@0.17.4
 - vtj-project-h5@0.17.4
 - vtj-material@0.17.4
 - vtj-plugin@0.17.4
 - vtj-project-uniapp@0.17.4
 - dev-web@0.17.4
 - @vtj/docs@0.17.4
 - @vtj/charts@0.17.4
 - @vtj/coder@0.17.4
 - @vtj/core@0.17.4
 - @vtj/designer@0.17.4
 - @vtj/icons@0.17.4
 - @vtj/local@0.17.4
 - @vtj/materials@0.17.4
 - @vtj/parser@0.17.4
 - @vtj/renderer@0.17.4
 - @vtj/ui@0.17.4
 - @vtj/uni@0.17.4
 - @vtj/utils@0.17.4
 - @vtj/h5@0.17.4
 - @vtj/pro@0.17.4
 - @vtj/pro-uni@0.17.4
 - @vtj/uni-app@0.17.4
 - @vtj/web@0.17.4
2026-06-07 14:58:33 +08:00
“chenhuachun”
41ea206ef6 ci: 👷commit 2026-06-07 10:57:57 +08:00
“chenhuachun”
08003011d6 build: 📦 release
- vtj-project-app@0.17.3
 - vtj-extension@0.17.3
 - vtj-project-h5@0.17.3
 - vtj-material@0.17.3
 - vtj-plugin@0.17.3
 - vtj-project-uniapp@0.17.3
 - dev-web@0.17.3
 - @vtj/docs@0.17.3
 - @vtj/charts@0.17.3
 - @vtj/coder@0.17.3
 - @vtj/core@0.17.3
 - @vtj/designer@0.17.3
 - @vtj/icons@0.17.3
 - @vtj/local@0.17.3
 - @vtj/materials@0.17.3
 - @vtj/parser@0.17.3
 - @vtj/renderer@0.17.3
 - @vtj/ui@0.17.3
 - @vtj/uni@0.17.3
 - @vtj/utils@0.17.3
 - @vtj/h5@0.17.3
 - @vtj/pro@0.17.3
 - @vtj/pro-uni@0.17.3
 - @vtj/uni-app@0.17.3
 - @vtj/web@0.17.3
2026-06-07 10:56:22 +08:00
“chenhuachun”
dbc4f687d3 ci: 👷commit 2026-06-06 14:51:41 +08:00
“chenhuachun”
ef7b635c65 build: 📦 release
- vtj-project-app@0.17.2
 - vtj-extension@0.17.2
 - vtj-project-h5@0.17.2
 - vtj-material@0.17.2
 - vtj-plugin@0.17.2
 - vtj-project-uniapp@0.17.2
 - dev-web@0.17.2
 - @vtj/docs@0.17.2
 - @vtj/charts@0.17.2
 - @vtj/coder@0.17.2
 - @vtj/core@0.17.2
 - @vtj/designer@0.17.2
 - @vtj/icons@0.17.2
 - @vtj/local@0.17.2
 - @vtj/materials@0.17.2
 - @vtj/parser@0.17.2
 - @vtj/renderer@0.17.2
 - @vtj/ui@0.17.2
 - @vtj/uni@0.17.2
 - @vtj/utils@0.17.2
 - @vtj/h5@0.17.2
 - @vtj/pro@0.17.2
 - @vtj/pro-uni@0.17.2
 - @vtj/uni-app@0.17.2
 - @vtj/web@0.17.2
2026-06-06 14:50:08 +08:00