MCPcopy Index your code
hub / github.com/MMmaXingXing/mini-vue

github.com/MMmaXingXing/mini-vue @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
2,607 symbols 8,777 edges 540 files 24 documented · 1%

Browse by type

Functions 2,249 Types & classes 358
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

mini-vue

从零到一实现 mini-vue3。

reactivity

  • [x] 支持 jest 环境搭建
  • [x] 支持 effect & reactive 依赖搜集 & 依赖触发
  • [x] 支持 effect.runner
  • [x] 支持 effect.scheduler
  • [x] 支持 effect.stop
  • [x] 支持 eadonly
  • [x] 支持 isReactive、isReadonly
  • [x] 支持嵌套 reactive
  • [x] 支持 shallowReadonly
  • [x] 支持 isProxy
  • [x] 支持 toRaw
  • [x] 支持 ref
  • [x] 支持 isRef、unRef
  • [x] 支持 proxyRefs
  • [x] 支持 computed 计算属性

runtime-core

  • [x] 初始化 Component
  • [x] 支持 rollup 打包
  • [x] 初始化 element 主流程
  • [x] 支持 组件代理对象
  • [x] 支持 shapeFlags
  • [x] 支持 注册事件功能
  • [x] 实现 组件 props 逻辑
  • [x] 实现 组件 emit 功能
  • [x] 支持 slots 功能
  • [x] 支持 Fragment 和 Text 类型节点
  • [x] 支持 getCurrentInstance
  • [x] 支持 provide/inject

runtime-dom

  • [x] 自定义渲染器(createReader) custom renderer
  • [x] 更新 element 流程搭建
  • [x] 更新 element props
  • [x] 更新 element children
  • [x] 实现 双端对比 diff 算法
  • [x] 实现 组件更新
  • [x] 支持 nextTick

compiler-core

  • [x] 实现 解析插值功能
  • [x] 实现 解析 element 标签
  • [x] 实现 解析 text 功能
  • [x] 实现 解析三种联合类型
  • [x] 实现 parse&有限状态机
  • [x] 实现 transform
  • [x] 实现 代码生成 string 类型
  • [x] 实现 代码生成插值类型 cmproj
  • [x] 实现 代码生成三种联合类型
  • [x] 实现 编译 template 成 render 函数

build

yarn build

// 测试可以使用
yarn build --watch

run test

打开 example 中文件以 server 形式运行 index.html

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Function 2,096
Interface 255
Method 153
Class 64
Enum 39

Languages

TypeScript100%

Modules by API surface

code/lib/guide-mini-vue.esm.js132 symbols
code/lib/guide-mini-vue.cjs.js132 symbols
read/vue-next/packages/compiler-core/src/ast.ts75 symbols
read/vue-next/packages/runtime-core/src/renderer.ts62 symbols
read/vue-next/packages/runtime-dom/types/jsx.d.ts61 symbols
read/vue-next/packages/compiler-sfc/src/compileScript.ts46 symbols
read/vue-next/packages/compiler-core/src/codegen.ts44 symbols
read/vue-next/packages/runtime-core/src/component.ts35 symbols
read/vue-next/packages/runtime-dom/src/components/Transition.ts33 symbols
read/vue-next/packages/runtime-core/src/componentOptions.ts33 symbols
read/vue-next/packages/compiler-core/src/transform.ts31 symbols
read/vue-next/packages/runtime-core/__tests__/apiOptions.spec.ts30 symbols

For agents

$ claude mcp add mini-vue \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page