tiny-vue3 icon indicating copy to clipboard operation
tiny-vue3 copied to clipboard

A tiny vue3 library.

tiny vue3


English | 中文


Overview

Tiny version of the Vue3 based on TDD, in order to learning deeply Vue3 and clarify the core logic

Feature

reactivity

  • [x] implement reactive
  • [x] effect.scheduler
  • [x] effect.stop
  • [x] track dependency collection
  • [x] trigger triggering dependencies
  • [x] implement readonly
  • [x] isReactive
  • [x] isReadonly
  • [x] nested reactive
  • [x] shallowReadonly
  • [x] shallowReactive
  • [x] isProxy
  • [x] implement ref
  • [x] shallowRef
  • [x] proxyRefs
  • [x] implement computed

runtime-core

  • [x] component type
  • [x] element type
  • [x] props
  • [x] props 和 context
  • [x] component emit
  • [x] proxy
  • [x] setup
  • [x] nextTick
  • [x] getCurrentInstance
  • [x] provide/inject
  • [x] slots
  • [x] Fragment node component
  • [x] Text node component
  • [x] $el

compiler-core

  • [x] parse slots
  • [x] parse element
  • [x] parse text

runtime-dom

  • [x] custom renderer

monorepo & vitest

  • [x] refactor by pnpm monorepo
  • [x] vitest replace jest

License

Tiny-vue3 is MIT licensed.