pnpm + monorepo + tsup + vitest 实现一个简单的 vue3
# 使用 pnpm -r,借助 pnpm 自动分析依赖关系,递归打包 packages
pnpm build
# 运行测试
pnpm test
@mini-vue3/reactivity
- reactive
- ref
- readonly
- computed
- track 依赖收集
- trigger 依赖触发
- isReactive
- 嵌套 reactive
- toRaw
- effect.scheduler
- effect.stop
- isReadonly
- isProxy
- shallowReadonly
- proxyRefs
@mini-vue3/runtime-core
- 支持组件类型
- 支持 element 类型
- 初始化 props
- setup 可获取 props 和 context
- 支持 component emit
- 支持 proxy
- 可以在 render 函数中获取 setup 返回的对象
- nextTick 的实现
- 支持 getCurrentInstance
- 支持 provide/inject
- 支持最基础的 slots
- 支持 Text 类型节点
- 支持 $el api
@mini-vue3/shared
- extend
- isObject
- hasChanged
@mini-vue3/compiler-core
- 解析插值
- 解析 element
- 解析 text
@mini-vue3/runtime-dom
- 支持 custom renderer