🏗️ TDesign Vue Mono Repo #4251
Labels
💭 discussion
we are discussing
🙏🏻 help wanted
Extra attention is needed
🏃 in progress
someone is developing
Discussed in #4247
Originally posted by zhangpaopao0609 June 3, 2024
标题
将 tdesign-vue-next 改造成 monorepo,同时支持 vue2/vue3 的组件版本发布,减少重复开发的成本,提高同步效率;
同时承载 nuxt 模块、chat 等组件的代码开源
背景
为什么要改造成单仓?
vue23 仓库整合,使用一套 UI 来实现。
这就需要基于单仓来进行整合
这里有个问题?就是,整合 vue23 就一定要单仓吗?似乎非单仓也能实现?那为什么要采用单仓呢?
答:我们要改,确实用不用 workspace 都可以,但不用的话,结构同样需要重新安排,因为现在的结构下肯定是无法实现整合的。既然结构要改我们完全可以利用workspace的机制来帮助我们更好的管理和发包。
在不用单仓的情况下,管理会相对更麻烦一些,同时,发包也会变得非常麻烦
单仓非常契合我们的仓库
单仓其它的优势
改造方案
逐步改造为 Mono Repo 的仓库结构,尽可能不影响其他开发者的代码合入
monorepo
label的所有相关PR: https://github.com/Tencent/tdesign-vue-next/issues?q=is%3Aissue%20state%3Aclosed%20label%3Amonorepo改造为 Mono Repo 后,加入 Adapter 层
configs:仓库多处使用的配置
sites:官网
internal:供仓库各处使用的内部包
packages:仓库主要包
目前存在的问题
结构有些分离
问题:types、props example 等文件在 tdesign-vue-next 目录下,而 UI 却在 components / common / vue3 / vue2.7 下,在 UI 结构上有些分离。
解决方案
利用文件结构引导开发者,减少开发者的开发感知
文件结构冗余
注意事项
所有的改动都需要通过 Git 操作,这样才能保留历史记录。
The text was updated successfully, but these errors were encountered: