Advanced 30-minute summary
AI-generated appendix
This appendix was drafted with GPT-5.5 from the original chibivue book content. Treat this route as a guided learning path; the original chapters and implementation code remain the source of truth.
This is a compressed map for readers who want the whole book in one pass before reading source code. Spend about one minute per checkpoint. If a checkpoint is obvious, move on. If it is fuzzy, open the linked chapter.
30 checkpoints
- The book starts from one line of rendering: the point is not to clone Vue perfectly, but to rebuild the ideas by hand.
- Vue's core pieces: runtime, renderer, reactivity, compiler, and SFC tooling are separate concerns.
- Project setup: package boundaries make the learning path visible.
- createApp: the app API wraps mounting and gives users one entry point.
- Package architecture: runtime-core stays platform-neutral; runtime-dom owns browser operations.
- h and VNode: render output is a data structure, not DOM.
- Events and attributes: DOM patching needs platform-specific prop handling.
- Minimum reactivity: Proxy read means track; Proxy write means trigger.
- Minimum Virtual DOM: patch compares old and new VNodes to update the DOM.
- Minimum components: a component VNode mounts by creating an instance and running render.
- Props: parent data crosses into child components through normalized inputs.
- Emits: child events are just conventionally named parent handlers.
- Template compiler overview: templates become render functions.
- Compiler implementation: parse, transform, and codegen form the core compiler pipeline.
- Template binding: compiler output must read values from render context.
- SFC parse:
.vuefiles are split into script, template, and style blocks. - SFC template/script/style: a Vite plugin wires SFC transforms into development.
- Keyed patching: stable keys let the renderer move and reuse children.
- Shape flags: bit flags make repeated type checks cheap.
- Scheduler: reactive changes enqueue work so repeated updates can be batched.
- ref, computed, watch: reactivity grows from objects into value containers and user-facing effects.
- Reactive proxy handlers: collections, refs, readonly values, and shallow values need handler nuance.
- Effect cleanup and scope: effects need lifecycle management, not just reruns.
- Component lifecycle: component instances give the runtime places to call user hooks.
- Provide/Inject and setup context: component trees need structured dependency and context channels.
- Slots: children can be passed as lazy render functions.
- Template transforms: directives are compiler plugins that turn syntax into VNode data.
- Structural directives:
v-if,v-for, fragments, comments, and slots shape the generated tree. - SFC compiler macros:
script setup,defineProps,defineEmits, scoped CSS, and type-based macros are compile-time conveniences. - Application essentials and optimizations: router, store, SSR, built-ins, static hoisting, patch flags, tree flattening, and Vapor Mode show how the same core ideas scale.
After the summary
Read one source path without stopping:
txt
packages/reactivity -> packages/runtime-core -> packages/runtime-dom -> packages/compiler-core -> packages/compiler-sfcThen read Debugging the original source code and compare chibivue's simplified choices with vuejs/core.
