Repository: chibivue-land/chibivue
Branch: main
Commit: ab71c44c228c
Files: 4744
Total size: 10.2 MB
Directory structure:
gitextract_gbw6qa65/
├── .github/
│ ├── contributing.md
│ └── workflows/
│ ├── check.yml
│ └── deploy.yml
├── .gitignore
├── .oxlintrc.json
├── .textlintrc.json
├── .vscode/
│ ├── extensions.json
│ └── settings.json
├── CODEOWNERS
├── LICENSE
├── README-zh-cn.md
├── README-zh-tw.md
├── README.md
├── book/
│ ├── figures-src/
│ │ ├── README.md
│ │ └── legacy-drawio/
│ │ ├── c1c2map.drawio
│ │ ├── c1c2map_deleted.drawio
│ │ ├── c1c2map_inserted.drawio
│ │ ├── c1c2map_inserted_correct.drawio
│ │ └── reactive_observer.drawio
│ ├── impls/
│ │ ├── 00_introduction/
│ │ │ └── 010_project_setup/
│ │ │ ├── examples/
│ │ │ │ └── playground/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── index.html
│ │ │ │ ├── package.json
│ │ │ │ ├── src/
│ │ │ │ │ └── main.ts
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── vite.config.ts
│ │ │ ├── package.json
│ │ │ ├── packages/
│ │ │ │ └── index.ts
│ │ │ └── tsconfig.json
│ │ ├── 10_minimum_example/
│ │ │ ├── 010_create_app/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ └── index.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 015_package_architecture/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── renderer.ts
│ │ │ │ │ └── runtime-dom/
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── nodeOps.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 020_simple_h_function/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ └── runtime-dom/
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── modules/
│ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ └── events.ts
│ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ └── patchProp.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 030_reactive_system/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── reactive.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ └── runtime-dom/
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── modules/
│ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ └── events.ts
│ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ └── patchProp.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 040_vdom_system/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── reactive.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ └── runtime-dom/
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── modules/
│ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ └── events.ts
│ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ └── patchProp.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 050_component_system/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── reactive.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ └── runtime-dom/
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── modules/
│ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ └── events.ts
│ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ └── patchProp.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 050_component_system2/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── reactive.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ └── runtime-dom/
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── modules/
│ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ └── events.ts
│ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ └── patchProp.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 050_component_system3/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── reactive.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ └── events.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 060_template_compiler/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── reactive.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ └── events.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 060_template_compiler2/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── reactive.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ └── events.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 060_template_compiler3/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── reactive.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ └── events.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 070_sfc_compiler/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── reactive.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ └── events.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── plugin-sample/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── .vscode/
│ │ │ │ │ │ └── extensions.json
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ ├── components/
│ │ │ │ │ │ │ └── HelloWorld.vue
│ │ │ │ │ │ ├── main.ts
│ │ │ │ │ │ ├── plugin.sample.js
│ │ │ │ │ │ ├── style.css
│ │ │ │ │ │ └── vite-env.d.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ ├── tsconfig.node.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 070_sfc_compiler2/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── reactive.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ └── events.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 070_sfc_compiler3/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── reactive.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ └── events.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ └── 070_sfc_compiler4/
│ │ │ ├── examples/
│ │ │ │ └── playground/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── index.html
│ │ │ │ ├── package.json
│ │ │ │ ├── src/
│ │ │ │ │ ├── App.vue
│ │ │ │ │ └── main.ts
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── vite.config.ts
│ │ │ ├── package.json
│ │ │ ├── packages/
│ │ │ │ ├── @extensions/
│ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ └── index.ts
│ │ │ │ ├── compiler-core/
│ │ │ │ │ ├── ast.ts
│ │ │ │ │ ├── codegen.ts
│ │ │ │ │ ├── compile.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── options.ts
│ │ │ │ │ └── parse.ts
│ │ │ │ ├── compiler-dom/
│ │ │ │ │ └── index.ts
│ │ │ │ ├── compiler-sfc/
│ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── parse.ts
│ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── reactivity/
│ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ ├── dep.ts
│ │ │ │ │ ├── effect.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── reactive.ts
│ │ │ │ ├── runtime-core/
│ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ ├── component.ts
│ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ ├── h.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── renderer.ts
│ │ │ │ │ └── vnode.ts
│ │ │ │ ├── runtime-dom/
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── modules/
│ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ └── events.ts
│ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ └── patchProp.ts
│ │ │ │ └── shared/
│ │ │ │ ├── general.ts
│ │ │ │ └── index.ts
│ │ │ ├── tests/
│ │ │ │ └── e2e.spec.ts
│ │ │ └── tsconfig.json
│ │ ├── 20_basic_virtual_dom/
│ │ │ ├── 010_patch_keyed_children/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── reactive.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ └── events.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 020_bit_flags/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── reactive.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ └── events.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── shapeFlags.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 040_scheduler/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── reactive.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ └── events.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── shapeFlags.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 050_next_tick/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── reactive.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ └── events.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── shapeFlags.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ └── 060_other_props/
│ │ │ ├── examples/
│ │ │ │ └── playground/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── index.html
│ │ │ │ ├── package.json
│ │ │ │ ├── src/
│ │ │ │ │ └── main.ts
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── vite.config.ts
│ │ │ ├── package.json
│ │ │ ├── packages/
│ │ │ │ ├── @extensions/
│ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ └── index.ts
│ │ │ │ ├── compiler-core/
│ │ │ │ │ ├── ast.ts
│ │ │ │ │ ├── codegen.ts
│ │ │ │ │ ├── compile.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── options.ts
│ │ │ │ │ └── parse.ts
│ │ │ │ ├── compiler-dom/
│ │ │ │ │ └── index.ts
│ │ │ │ ├── compiler-sfc/
│ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── parse.ts
│ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── reactivity/
│ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ ├── dep.ts
│ │ │ │ │ ├── effect.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── reactive.ts
│ │ │ │ ├── runtime-core/
│ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ ├── component.ts
│ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ ├── h.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── renderer.ts
│ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ └── vnode.ts
│ │ │ │ ├── runtime-dom/
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── modules/
│ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ └── style.ts
│ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ └── patchProp.ts
│ │ │ │ └── shared/
│ │ │ │ ├── general.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── shapeFlags.ts
│ │ │ ├── tests/
│ │ │ │ └── e2e.spec.ts
│ │ │ └── tsconfig.json
│ │ ├── 30_basic_reactivity_system/
│ │ │ ├── 010_ref/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── shapeFlags.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 020_shallow_ref/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── shapeFlags.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 030_to_ref/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 040_to_refs/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 050_computed/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 060_computed_setter/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 070_watch/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 080_watch_api_extends/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 090_watch_effect/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 100_reactive_proxy_target_type/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 110_template_refs/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 120_proxy_handler_improvement/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 130_cleanup_effects/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 140_effect_scope/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ └── 150_other_apis/
│ │ │ ├── examples/
│ │ │ │ └── playground/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── index.html
│ │ │ │ ├── package.json
│ │ │ │ ├── src/
│ │ │ │ │ └── main.ts
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── vite.config.ts
│ │ │ ├── package.json
│ │ │ ├── packages/
│ │ │ │ ├── @extensions/
│ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ └── index.ts
│ │ │ │ ├── compiler-core/
│ │ │ │ │ ├── ast.ts
│ │ │ │ │ ├── codegen.ts
│ │ │ │ │ ├── compile.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── options.ts
│ │ │ │ │ └── parse.ts
│ │ │ │ ├── compiler-dom/
│ │ │ │ │ └── index.ts
│ │ │ │ ├── compiler-sfc/
│ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── parse.ts
│ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── reactivity/
│ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ ├── computed.ts
│ │ │ │ │ ├── dep.ts
│ │ │ │ │ ├── effect.ts
│ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactive.ts
│ │ │ │ │ └── ref.ts
│ │ │ │ ├── runtime-core/
│ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ ├── component.ts
│ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ ├── h.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── renderer.ts
│ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ └── vnode.ts
│ │ │ │ ├── runtime-dom/
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── modules/
│ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ └── style.ts
│ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ └── patchProp.ts
│ │ │ │ └── shared/
│ │ │ │ ├── general.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── shapeFlags.ts
│ │ │ │ └── typeUtils.ts
│ │ │ ├── tests/
│ │ │ │ └── e2e.spec.ts
│ │ │ └── tsconfig.json
│ │ ├── 40_basic_component_system/
│ │ │ ├── 010_lifecycle_hooks/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 020_provide_inject/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 030_component_proxy/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 040_setup_context/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 050_component_slot/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentRenderContext.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 060_slot_extend/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ └── parse.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ └── 070_options_api/
│ │ │ ├── examples/
│ │ │ │ └── playground/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── index.html
│ │ │ │ ├── package.json
│ │ │ │ ├── src/
│ │ │ │ │ └── main.ts
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── vite.config.ts
│ │ │ ├── package.json
│ │ │ ├── packages/
│ │ │ │ ├── @extensions/
│ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ └── index.ts
│ │ │ │ ├── compiler-core/
│ │ │ │ │ ├── ast.ts
│ │ │ │ │ ├── codegen.ts
│ │ │ │ │ ├── compile.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── options.ts
│ │ │ │ │ └── parse.ts
│ │ │ │ ├── compiler-dom/
│ │ │ │ │ └── index.ts
│ │ │ │ ├── compiler-sfc/
│ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── parse.ts
│ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── reactivity/
│ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ ├── computed.ts
│ │ │ │ │ ├── dep.ts
│ │ │ │ │ ├── effect.ts
│ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactive.ts
│ │ │ │ │ └── ref.ts
│ │ │ │ ├── runtime-core/
│ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ ├── component.ts
│ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ ├── enums.ts
│ │ │ │ │ ├── h.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── renderer.ts
│ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ └── vnode.ts
│ │ │ │ ├── runtime-dom/
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── modules/
│ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ └── style.ts
│ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ └── patchProp.ts
│ │ │ │ └── shared/
│ │ │ │ ├── general.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── shapeFlags.ts
│ │ │ │ └── typeUtils.ts
│ │ │ ├── tests/
│ │ │ │ └── e2e.spec.ts
│ │ │ └── tsconfig.json
│ │ ├── 50_basic_template_compiler/
│ │ │ ├── 010_transformer/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ ├── transform.ts
│ │ │ │ │ │ └── transforms/
│ │ │ │ │ │ └── transformElement.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 020_v_bind/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ ├── transform.ts
│ │ │ │ │ │ ├── transforms/
│ │ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ │ └── vBind.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── normalizeProp.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 022_transform_expression/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── babelUtils.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ ├── transform.ts
│ │ │ │ │ │ ├── transforms/
│ │ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ │ ├── transformExpression.ts
│ │ │ │ │ │ │ └── vBind.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── makeMap.ts
│ │ │ │ │ ├── normalizeProp.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 025_v_on/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── babelUtils.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ ├── runtimeHelpers.ts
│ │ │ │ │ │ ├── transform.ts
│ │ │ │ │ │ ├── transforms/
│ │ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ │ ├── transformExpression.ts
│ │ │ │ │ │ │ ├── vBind.ts
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── helpers/
│ │ │ │ │ │ │ └── toHandlers.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ └── patchProp.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── makeMap.ts
│ │ │ │ │ ├── normalizeProp.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 027_event_modifier/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── babelUtils.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ ├── runtimeHelpers.ts
│ │ │ │ │ │ ├── transform.ts
│ │ │ │ │ │ ├── transforms/
│ │ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ │ ├── transformExpression.ts
│ │ │ │ │ │ │ ├── vBind.ts
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── transforms/
│ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── helpers/
│ │ │ │ │ │ │ └── toHandlers.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── directives/
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ ├── patchProp.ts
│ │ │ │ │ │ └── runtimeHelpers.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── makeMap.ts
│ │ │ │ │ ├── normalizeProp.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 027_event_modifier2/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── babelUtils.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ ├── runtimeHelpers.ts
│ │ │ │ │ │ ├── transform.ts
│ │ │ │ │ │ ├── transforms/
│ │ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ │ ├── transformExpression.ts
│ │ │ │ │ │ │ ├── vBind.ts
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── transforms/
│ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── helpers/
│ │ │ │ │ │ │ └── toHandlers.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── directives/
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ ├── patchProp.ts
│ │ │ │ │ │ └── runtimeHelpers.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── makeMap.ts
│ │ │ │ │ ├── normalizeProp.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 030_fragment/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── babelUtils.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ ├── runtimeHelpers.ts
│ │ │ │ │ │ ├── transform.ts
│ │ │ │ │ │ ├── transforms/
│ │ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ │ ├── transformExpression.ts
│ │ │ │ │ │ │ ├── vBind.ts
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── transforms/
│ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── helpers/
│ │ │ │ │ │ │ └── toHandlers.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── directives/
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ ├── patchProp.ts
│ │ │ │ │ │ └── runtimeHelpers.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── makeMap.ts
│ │ │ │ │ ├── normalizeProp.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 035_comment/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── babelUtils.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ ├── runtimeHelpers.ts
│ │ │ │ │ │ ├── transform.ts
│ │ │ │ │ │ ├── transforms/
│ │ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ │ ├── transformExpression.ts
│ │ │ │ │ │ │ ├── vBind.ts
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── transforms/
│ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── helpers/
│ │ │ │ │ │ │ └── toHandlers.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── directives/
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ ├── patchProp.ts
│ │ │ │ │ │ └── runtimeHelpers.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── makeMap.ts
│ │ │ │ │ ├── normalizeProp.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 040_v_if_and_structural_directive/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── babelUtils.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ ├── runtimeHelpers.ts
│ │ │ │ │ │ ├── transform.ts
│ │ │ │ │ │ ├── transforms/
│ │ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ │ ├── transformExpression.ts
│ │ │ │ │ │ │ ├── vBind.ts
│ │ │ │ │ │ │ ├── vIf.ts
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── transforms/
│ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── helpers/
│ │ │ │ │ │ │ └── toHandlers.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── directives/
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ ├── patchProp.ts
│ │ │ │ │ │ └── runtimeHelpers.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── makeMap.ts
│ │ │ │ │ ├── normalizeProp.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 050_v_for/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.js
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── babelUtils.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ ├── runtimeHelpers.ts
│ │ │ │ │ │ ├── transform.ts
│ │ │ │ │ │ ├── transforms/
│ │ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ │ ├── transformExpression.ts
│ │ │ │ │ │ │ ├── vBind.ts
│ │ │ │ │ │ │ ├── vFor.ts
│ │ │ │ │ │ │ ├── vIf.ts
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── transforms/
│ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── helpers/
│ │ │ │ │ │ │ ├── renderList.ts
│ │ │ │ │ │ │ └── toHandlers.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── directives/
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ ├── patchProp.ts
│ │ │ │ │ │ └── runtimeHelpers.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── makeMap.ts
│ │ │ │ │ ├── normalizeProp.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 060_resolve_components/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ ├── components/
│ │ │ │ │ │ │ └── Counter.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── babelUtils.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ ├── runtimeHelpers.ts
│ │ │ │ │ │ ├── transform.ts
│ │ │ │ │ │ ├── transforms/
│ │ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ │ ├── transformExpression.ts
│ │ │ │ │ │ │ ├── vBind.ts
│ │ │ │ │ │ │ ├── vFor.ts
│ │ │ │ │ │ │ ├── vIf.ts
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parserOptions.ts
│ │ │ │ │ │ └── transforms/
│ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentRenderContext.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── helpers/
│ │ │ │ │ │ │ ├── renderList.ts
│ │ │ │ │ │ │ ├── resolveAssets.ts
│ │ │ │ │ │ │ └── toHandlers.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── directives/
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ ├── patchProp.ts
│ │ │ │ │ │ └── runtimeHelpers.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── domTagConfig.ts
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── makeMap.ts
│ │ │ │ │ ├── normalizeProp.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 080_component_slot_outlet/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ ├── Comp.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── babelUtils.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ ├── runtimeHelpers.ts
│ │ │ │ │ │ ├── transform.ts
│ │ │ │ │ │ ├── transforms/
│ │ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ │ ├── transformExpression.ts
│ │ │ │ │ │ │ ├── transformSlotOutlet.ts
│ │ │ │ │ │ │ ├── vBind.ts
│ │ │ │ │ │ │ ├── vFor.ts
│ │ │ │ │ │ │ ├── vIf.ts
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parserOptions.ts
│ │ │ │ │ │ └── transforms/
│ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentRenderContext.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── helpers/
│ │ │ │ │ │ │ ├── renderList.ts
│ │ │ │ │ │ │ ├── renderSlot.ts
│ │ │ │ │ │ │ ├── resolveAssets.ts
│ │ │ │ │ │ │ └── toHandlers.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── directives/
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ ├── patchProp.ts
│ │ │ │ │ │ └── runtimeHelpers.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── domTagConfig.ts
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── makeMap.ts
│ │ │ │ │ ├── normalizeProp.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 085_component_slot_insert/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ ├── Comp.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── babelUtils.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ ├── runtimeHelpers.ts
│ │ │ │ │ │ ├── transform.ts
│ │ │ │ │ │ ├── transforms/
│ │ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ │ ├── transformExpression.ts
│ │ │ │ │ │ │ ├── transformSlotOutlet.ts
│ │ │ │ │ │ │ ├── vBind.ts
│ │ │ │ │ │ │ ├── vFor.ts
│ │ │ │ │ │ │ ├── vIf.ts
│ │ │ │ │ │ │ ├── vOn.ts
│ │ │ │ │ │ │ └── vSlot.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parserOptions.ts
│ │ │ │ │ │ └── transforms/
│ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentRenderContext.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── helpers/
│ │ │ │ │ │ │ ├── renderList.ts
│ │ │ │ │ │ │ ├── renderSlot.ts
│ │ │ │ │ │ │ ├── resolveAssets.ts
│ │ │ │ │ │ │ └── toHandlers.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── directives/
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ ├── patchProp.ts
│ │ │ │ │ │ └── runtimeHelpers.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── domTagConfig.ts
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── makeMap.ts
│ │ │ │ │ ├── normalizeProp.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 090_other_directives/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── babelUtils.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ ├── runtimeHelpers.ts
│ │ │ │ │ │ ├── transform.ts
│ │ │ │ │ │ ├── transforms/
│ │ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ │ ├── transformExpression.ts
│ │ │ │ │ │ │ ├── transformSlotOutlet.ts
│ │ │ │ │ │ │ ├── vBind.ts
│ │ │ │ │ │ │ ├── vFor.ts
│ │ │ │ │ │ │ ├── vIf.ts
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parserOptions.ts
│ │ │ │ │ │ └── transforms/
│ │ │ │ │ │ ├── vHtml.ts
│ │ │ │ │ │ ├── vOn.ts
│ │ │ │ │ │ └── vText.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentRenderContext.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── helpers/
│ │ │ │ │ │ │ ├── renderList.ts
│ │ │ │ │ │ │ ├── renderSlot.ts
│ │ │ │ │ │ │ ├── resolveAssets.ts
│ │ │ │ │ │ │ └── toHandlers.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── directives/
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ ├── patchProp.ts
│ │ │ │ │ │ └── runtimeHelpers.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── domTagConfig.ts
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── makeMap.ts
│ │ │ │ │ ├── normalizeProp.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ └── 100_chore_compiler/
│ │ │ ├── examples/
│ │ │ │ └── playground/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── index.html
│ │ │ │ ├── package.json
│ │ │ │ ├── src/
│ │ │ │ │ ├── App.vue
│ │ │ │ │ └── main.ts
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── vite.config.ts
│ │ │ ├── package.json
│ │ │ ├── packages/
│ │ │ │ ├── @extensions/
│ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ └── index.ts
│ │ │ │ ├── compiler-core/
│ │ │ │ │ ├── ast.ts
│ │ │ │ │ ├── babelUtils.ts
│ │ │ │ │ ├── codegen.ts
│ │ │ │ │ ├── compile.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── options.ts
│ │ │ │ │ ├── parse.ts
│ │ │ │ │ ├── runtimeHelpers.ts
│ │ │ │ │ ├── transform.ts
│ │ │ │ │ ├── transforms/
│ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ ├── transformExpression.ts
│ │ │ │ │ │ ├── transformSlotOutlet.ts
│ │ │ │ │ │ ├── vBind.ts
│ │ │ │ │ │ ├── vFor.ts
│ │ │ │ │ │ ├── vIf.ts
│ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── compiler-dom/
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── parserOptions.ts
│ │ │ │ │ └── transforms/
│ │ │ │ │ ├── vHtml.ts
│ │ │ │ │ ├── vOn.ts
│ │ │ │ │ └── vText.ts
│ │ │ │ ├── compiler-sfc/
│ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── parse.ts
│ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── reactivity/
│ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ ├── computed.ts
│ │ │ │ │ ├── dep.ts
│ │ │ │ │ ├── effect.ts
│ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactive.ts
│ │ │ │ │ └── ref.ts
│ │ │ │ ├── runtime-core/
│ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ ├── component.ts
│ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ ├── componentRenderContext.ts
│ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ ├── enums.ts
│ │ │ │ │ ├── h.ts
│ │ │ │ │ ├── helpers/
│ │ │ │ │ │ ├── renderList.ts
│ │ │ │ │ │ ├── renderSlot.ts
│ │ │ │ │ │ ├── resolveAssets.ts
│ │ │ │ │ │ └── toHandlers.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── renderer.ts
│ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ └── vnode.ts
│ │ │ │ ├── runtime-dom/
│ │ │ │ │ ├── directives/
│ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── modules/
│ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ └── style.ts
│ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ ├── patchProp.ts
│ │ │ │ │ └── runtimeHelpers.ts
│ │ │ │ └── shared/
│ │ │ │ ├── domTagConfig.ts
│ │ │ │ ├── general.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── makeMap.ts
│ │ │ │ ├── normalizeProp.ts
│ │ │ │ ├── shapeFlags.ts
│ │ │ │ └── typeUtils.ts
│ │ │ ├── tests/
│ │ │ │ └── e2e.spec.ts
│ │ │ └── tsconfig.json
│ │ ├── 60_basic_sfc_compiler/
│ │ │ ├── .gitkeep
│ │ │ ├── 010_script_setup/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── babelUtils.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ ├── runtimeHelpers.ts
│ │ │ │ │ │ ├── transform.ts
│ │ │ │ │ │ ├── transforms/
│ │ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ │ ├── transformExpression.ts
│ │ │ │ │ │ │ ├── transformSlotOutlet.ts
│ │ │ │ │ │ │ ├── vBind.ts
│ │ │ │ │ │ │ ├── vFor.ts
│ │ │ │ │ │ │ ├── vIf.ts
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parserOptions.ts
│ │ │ │ │ │ └── transforms/
│ │ │ │ │ │ ├── vHtml.ts
│ │ │ │ │ │ ├── vOn.ts
│ │ │ │ │ │ └── vText.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileScript.ts
│ │ │ │ │ │ ├── compileSfc.ts
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentRenderContext.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── helpers/
│ │ │ │ │ │ │ ├── renderList.ts
│ │ │ │ │ │ │ ├── renderSlot.ts
│ │ │ │ │ │ │ ├── resolveAssets.ts
│ │ │ │ │ │ │ └── toHandlers.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── directives/
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ ├── patchProp.ts
│ │ │ │ │ │ └── runtimeHelpers.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── domTagConfig.ts
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── makeMap.ts
│ │ │ │ │ ├── normalizeProp.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 020_define_props/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ ├── Child.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── babelUtils.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ ├── runtimeHelpers.ts
│ │ │ │ │ │ ├── transform.ts
│ │ │ │ │ │ ├── transforms/
│ │ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ │ ├── transformExpression.ts
│ │ │ │ │ │ │ ├── transformSlotOutlet.ts
│ │ │ │ │ │ │ ├── vBind.ts
│ │ │ │ │ │ │ ├── vFor.ts
│ │ │ │ │ │ │ ├── vIf.ts
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parserOptions.ts
│ │ │ │ │ │ └── transforms/
│ │ │ │ │ │ ├── vHtml.ts
│ │ │ │ │ │ ├── vOn.ts
│ │ │ │ │ │ └── vText.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileScript.ts
│ │ │ │ │ │ ├── compileSfc.ts
│ │ │ │ │ │ ├── compileStyle.ts
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentRenderContext.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── helpers/
│ │ │ │ │ │ │ ├── renderList.ts
│ │ │ │ │ │ │ ├── renderSlot.ts
│ │ │ │ │ │ │ ├── resolveAssets.ts
│ │ │ │ │ │ │ └── toHandlers.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── directives/
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ ├── patchProp.ts
│ │ │ │ │ │ └── runtimeHelpers.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── domTagConfig.ts
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── makeMap.ts
│ │ │ │ │ ├── normalizeProp.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 030_define_emits/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ ├── Child.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── babelUtils.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ ├── runtimeHelpers.ts
│ │ │ │ │ │ ├── transform.ts
│ │ │ │ │ │ ├── transforms/
│ │ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ │ ├── transformExpression.ts
│ │ │ │ │ │ │ ├── transformSlotOutlet.ts
│ │ │ │ │ │ │ ├── vBind.ts
│ │ │ │ │ │ │ ├── vFor.ts
│ │ │ │ │ │ │ ├── vIf.ts
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parserOptions.ts
│ │ │ │ │ │ └── transforms/
│ │ │ │ │ │ ├── vHtml.ts
│ │ │ │ │ │ ├── vOn.ts
│ │ │ │ │ │ └── vText.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileScript.ts
│ │ │ │ │ │ ├── compileSfc.ts
│ │ │ │ │ │ ├── compileStyle.ts
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentRenderContext.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── helpers/
│ │ │ │ │ │ │ ├── renderList.ts
│ │ │ │ │ │ │ ├── renderSlot.ts
│ │ │ │ │ │ │ ├── resolveAssets.ts
│ │ │ │ │ │ │ └── toHandlers.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── directives/
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ ├── patchProp.ts
│ │ │ │ │ │ └── runtimeHelpers.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── domTagConfig.ts
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── makeMap.ts
│ │ │ │ │ ├── normalizeProp.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 040_scoped_css/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ ├── Child.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── babelUtils.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ ├── runtimeHelpers.ts
│ │ │ │ │ │ ├── transform.ts
│ │ │ │ │ │ ├── transforms/
│ │ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ │ ├── transformExpression.ts
│ │ │ │ │ │ │ ├── transformSlotOutlet.ts
│ │ │ │ │ │ │ ├── vBind.ts
│ │ │ │ │ │ │ ├── vFor.ts
│ │ │ │ │ │ │ ├── vIf.ts
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parserOptions.ts
│ │ │ │ │ │ └── transforms/
│ │ │ │ │ │ ├── vHtml.ts
│ │ │ │ │ │ ├── vOn.ts
│ │ │ │ │ │ └── vText.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileScript.ts
│ │ │ │ │ │ ├── compileSfc.ts
│ │ │ │ │ │ ├── compileStyle.ts
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentRenderContext.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── helpers/
│ │ │ │ │ │ │ ├── renderList.ts
│ │ │ │ │ │ │ ├── renderSlot.ts
│ │ │ │ │ │ │ ├── resolveAssets.ts
│ │ │ │ │ │ │ └── toHandlers.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── directives/
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ ├── patchProp.ts
│ │ │ │ │ │ └── runtimeHelpers.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── domTagConfig.ts
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── makeMap.ts
│ │ │ │ │ ├── normalizeProp.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 050_props_destructure/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ ├── Child.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── babelUtils.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ ├── runtimeHelpers.ts
│ │ │ │ │ │ ├── transform.ts
│ │ │ │ │ │ ├── transforms/
│ │ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ │ ├── transformExpression.ts
│ │ │ │ │ │ │ ├── transformSlotOutlet.ts
│ │ │ │ │ │ │ ├── vBind.ts
│ │ │ │ │ │ │ ├── vFor.ts
│ │ │ │ │ │ │ ├── vIf.ts
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parserOptions.ts
│ │ │ │ │ │ └── transforms/
│ │ │ │ │ │ ├── vHtml.ts
│ │ │ │ │ │ ├── vOn.ts
│ │ │ │ │ │ └── vText.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileScript.ts
│ │ │ │ │ │ ├── compileSfc.ts
│ │ │ │ │ │ ├── compileStyle.ts
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentRenderContext.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── helpers/
│ │ │ │ │ │ │ ├── renderList.ts
│ │ │ │ │ │ │ ├── renderSlot.ts
│ │ │ │ │ │ │ ├── resolveAssets.ts
│ │ │ │ │ │ │ └── toHandlers.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── directives/
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ ├── patchProp.ts
│ │ │ │ │ │ └── runtimeHelpers.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── domTagConfig.ts
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── makeMap.ts
│ │ │ │ │ ├── normalizeProp.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ └── 060_type_based_macros/
│ │ │ ├── examples/
│ │ │ │ └── playground/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── index.html
│ │ │ │ ├── package.json
│ │ │ │ ├── src/
│ │ │ │ │ ├── App.vue
│ │ │ │ │ ├── Child.vue
│ │ │ │ │ └── main.ts
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── vite.config.ts
│ │ │ ├── package.json
│ │ │ ├── packages/
│ │ │ │ ├── @extensions/
│ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ └── index.ts
│ │ │ │ ├── compiler-core/
│ │ │ │ │ ├── ast.ts
│ │ │ │ │ ├── babelUtils.ts
│ │ │ │ │ ├── codegen.ts
│ │ │ │ │ ├── compile.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── options.ts
│ │ │ │ │ ├── parse.ts
│ │ │ │ │ ├── runtimeHelpers.ts
│ │ │ │ │ ├── transform.ts
│ │ │ │ │ ├── transforms/
│ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ ├── transformExpression.ts
│ │ │ │ │ │ ├── transformSlotOutlet.ts
│ │ │ │ │ │ ├── vBind.ts
│ │ │ │ │ │ ├── vFor.ts
│ │ │ │ │ │ ├── vIf.ts
│ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── compiler-dom/
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── parserOptions.ts
│ │ │ │ │ └── transforms/
│ │ │ │ │ ├── vHtml.ts
│ │ │ │ │ ├── vOn.ts
│ │ │ │ │ └── vText.ts
│ │ │ │ ├── compiler-sfc/
│ │ │ │ │ ├── compileScript.ts
│ │ │ │ │ ├── compileSfc.ts
│ │ │ │ │ ├── compileStyle.ts
│ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── parse.ts
│ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── reactivity/
│ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ ├── computed.ts
│ │ │ │ │ ├── dep.ts
│ │ │ │ │ ├── effect.ts
│ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactive.ts
│ │ │ │ │ └── ref.ts
│ │ │ │ ├── runtime-core/
│ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ ├── component.ts
│ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ ├── componentRenderContext.ts
│ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ ├── enums.ts
│ │ │ │ │ ├── h.ts
│ │ │ │ │ ├── helpers/
│ │ │ │ │ │ ├── renderList.ts
│ │ │ │ │ │ ├── renderSlot.ts
│ │ │ │ │ │ ├── resolveAssets.ts
│ │ │ │ │ │ └── toHandlers.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── renderer.ts
│ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ └── vnode.ts
│ │ │ │ ├── runtime-dom/
│ │ │ │ │ ├── directives/
│ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── modules/
│ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ └── style.ts
│ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ ├── patchProp.ts
│ │ │ │ │ └── runtimeHelpers.ts
│ │ │ │ └── shared/
│ │ │ │ ├── domTagConfig.ts
│ │ │ │ ├── general.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── makeMap.ts
│ │ │ │ ├── normalizeProp.ts
│ │ │ │ ├── shapeFlags.ts
│ │ │ │ └── typeUtils.ts
│ │ │ ├── tests/
│ │ │ │ └── e2e.spec.ts
│ │ │ └── tsconfig.json
│ │ ├── 90_web_application_essentials/
│ │ │ ├── 010_ssr/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── babelUtils.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ ├── runtimeHelpers.ts
│ │ │ │ │ │ ├── transform.ts
│ │ │ │ │ │ ├── transforms/
│ │ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ │ ├── transformExpression.ts
│ │ │ │ │ │ │ ├── transformSlotOutlet.ts
│ │ │ │ │ │ │ ├── vBind.ts
│ │ │ │ │ │ │ ├── vFor.ts
│ │ │ │ │ │ │ ├── vIf.ts
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parserOptions.ts
│ │ │ │ │ │ └── transforms/
│ │ │ │ │ │ ├── vHtml.ts
│ │ │ │ │ │ ├── vOn.ts
│ │ │ │ │ │ └── vText.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentRenderContext.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── helpers/
│ │ │ │ │ │ │ ├── renderList.ts
│ │ │ │ │ │ │ ├── renderSlot.ts
│ │ │ │ │ │ │ ├── resolveAssets.ts
│ │ │ │ │ │ │ └── toHandlers.ts
│ │ │ │ │ │ ├── hydration.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── directives/
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ ├── patchProp.ts
│ │ │ │ │ │ └── runtimeHelpers.ts
│ │ │ │ │ ├── server-renderer/
│ │ │ │ │ │ ├── helpers/
│ │ │ │ │ │ │ ├── ssrInterpolate.ts
│ │ │ │ │ │ │ ├── ssrRenderAttrs.ts
│ │ │ │ │ │ │ ├── ssrRenderList.ts
│ │ │ │ │ │ │ └── ssrUtils.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── render.ts
│ │ │ │ │ │ └── renderToString.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── domTagConfig.ts
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── makeMap.ts
│ │ │ │ │ ├── normalizeProp.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 020_keep_alive/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ ├── Counter.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── babelUtils.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ ├── runtimeHelpers.ts
│ │ │ │ │ │ ├── transform.ts
│ │ │ │ │ │ ├── transforms/
│ │ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ │ ├── transformExpression.ts
│ │ │ │ │ │ │ ├── transformSlotOutlet.ts
│ │ │ │ │ │ │ ├── vBind.ts
│ │ │ │ │ │ │ ├── vFor.ts
│ │ │ │ │ │ │ ├── vIf.ts
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parserOptions.ts
│ │ │ │ │ │ └── transforms/
│ │ │ │ │ │ ├── vHtml.ts
│ │ │ │ │ │ ├── vOn.ts
│ │ │ │ │ │ └── vText.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentRenderContext.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── components/
│ │ │ │ │ │ │ └── KeepAlive.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── helpers/
│ │ │ │ │ │ │ ├── renderList.ts
│ │ │ │ │ │ │ ├── renderSlot.ts
│ │ │ │ │ │ │ ├── resolveAssets.ts
│ │ │ │ │ │ │ └── toHandlers.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── directives/
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ ├── patchProp.ts
│ │ │ │ │ │ └── runtimeHelpers.ts
│ │ │ │ │ ├── server-renderer/
│ │ │ │ │ │ ├── helpers/
│ │ │ │ │ │ │ ├── ssrInterpolate.ts
│ │ │ │ │ │ │ ├── ssrRenderAttrs.ts
│ │ │ │ │ │ │ ├── ssrRenderList.ts
│ │ │ │ │ │ │ └── ssrUtils.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── render.ts
│ │ │ │ │ │ └── renderToString.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── domTagConfig.ts
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── makeMap.ts
│ │ │ │ │ ├── normalizeProp.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 030_transition/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── babelUtils.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ ├── runtimeHelpers.ts
│ │ │ │ │ │ ├── transform.ts
│ │ │ │ │ │ ├── transforms/
│ │ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ │ ├── transformExpression.ts
│ │ │ │ │ │ │ ├── transformSlotOutlet.ts
│ │ │ │ │ │ │ ├── vBind.ts
│ │ │ │ │ │ │ ├── vFor.ts
│ │ │ │ │ │ │ ├── vIf.ts
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parserOptions.ts
│ │ │ │ │ │ └── transforms/
│ │ │ │ │ │ ├── vHtml.ts
│ │ │ │ │ │ ├── vOn.ts
│ │ │ │ │ │ └── vText.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentRenderContext.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── components/
│ │ │ │ │ │ │ └── KeepAlive.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── helpers/
│ │ │ │ │ │ │ ├── renderList.ts
│ │ │ │ │ │ │ ├── renderSlot.ts
│ │ │ │ │ │ │ ├── resolveAssets.ts
│ │ │ │ │ │ │ └── toHandlers.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── components/
│ │ │ │ │ │ │ └── Transition.ts
│ │ │ │ │ │ ├── directives/
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ ├── patchProp.ts
│ │ │ │ │ │ └── runtimeHelpers.ts
│ │ │ │ │ ├── server-renderer/
│ │ │ │ │ │ ├── helpers/
│ │ │ │ │ │ │ ├── ssrInterpolate.ts
│ │ │ │ │ │ │ ├── ssrRenderAttrs.ts
│ │ │ │ │ │ │ ├── ssrRenderList.ts
│ │ │ │ │ │ │ └── ssrUtils.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── render.ts
│ │ │ │ │ │ └── renderToString.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── domTagConfig.ts
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── makeMap.ts
│ │ │ │ │ ├── normalizeProp.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── 040_static_hoisting/
│ │ │ │ ├── examples/
│ │ │ │ │ └── playground/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── App.vue
│ │ │ │ │ │ └── main.ts
│ │ │ │ │ ├── tsconfig.json
│ │ │ │ │ └── vite.config.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── packages/
│ │ │ │ │ ├── @extensions/
│ │ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── compiler-core/
│ │ │ │ │ │ ├── ast.ts
│ │ │ │ │ │ ├── babelUtils.ts
│ │ │ │ │ │ ├── codegen.ts
│ │ │ │ │ │ ├── compile.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── options.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ ├── runtimeHelpers.ts
│ │ │ │ │ │ ├── transform.ts
│ │ │ │ │ │ ├── transforms/
│ │ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ │ ├── transformExpression.ts
│ │ │ │ │ │ │ ├── transformSlotOutlet.ts
│ │ │ │ │ │ │ ├── vBind.ts
│ │ │ │ │ │ │ ├── vFor.ts
│ │ │ │ │ │ │ ├── vIf.ts
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── compiler-dom/
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parserOptions.ts
│ │ │ │ │ │ └── transforms/
│ │ │ │ │ │ ├── vHtml.ts
│ │ │ │ │ │ ├── vOn.ts
│ │ │ │ │ │ └── vText.ts
│ │ │ │ │ ├── compiler-sfc/
│ │ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── parse.ts
│ │ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactivity/
│ │ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ │ ├── computed.ts
│ │ │ │ │ │ ├── dep.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── reactive.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ ├── runtime-core/
│ │ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ │ ├── componentRenderContext.ts
│ │ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ │ ├── components/
│ │ │ │ │ │ │ └── KeepAlive.ts
│ │ │ │ │ │ ├── enums.ts
│ │ │ │ │ │ ├── h.ts
│ │ │ │ │ │ ├── helpers/
│ │ │ │ │ │ │ ├── renderList.ts
│ │ │ │ │ │ │ ├── renderSlot.ts
│ │ │ │ │ │ │ ├── resolveAssets.ts
│ │ │ │ │ │ │ └── toHandlers.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ │ └── vnode.ts
│ │ │ │ │ ├── runtime-dom/
│ │ │ │ │ │ ├── components/
│ │ │ │ │ │ │ └── Transition.ts
│ │ │ │ │ │ ├── directives/
│ │ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── modules/
│ │ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ │ └── style.ts
│ │ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ │ ├── patchProp.ts
│ │ │ │ │ │ └── runtimeHelpers.ts
│ │ │ │ │ ├── server-renderer/
│ │ │ │ │ │ ├── helpers/
│ │ │ │ │ │ │ ├── ssrInterpolate.ts
│ │ │ │ │ │ │ ├── ssrRenderAttrs.ts
│ │ │ │ │ │ │ ├── ssrRenderList.ts
│ │ │ │ │ │ │ └── ssrUtils.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── render.ts
│ │ │ │ │ │ └── renderToString.ts
│ │ │ │ │ └── shared/
│ │ │ │ │ ├── domTagConfig.ts
│ │ │ │ │ ├── general.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── makeMap.ts
│ │ │ │ │ ├── normalizeProp.ts
│ │ │ │ │ ├── shapeFlags.ts
│ │ │ │ │ └── typeUtils.ts
│ │ │ │ ├── tests/
│ │ │ │ │ └── e2e.spec.ts
│ │ │ │ └── tsconfig.json
│ │ │ └── 050_patch_flags/
│ │ │ ├── examples/
│ │ │ │ └── playground/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── index.html
│ │ │ │ ├── package.json
│ │ │ │ ├── src/
│ │ │ │ │ ├── App.vue
│ │ │ │ │ └── main.ts
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── vite.config.ts
│ │ │ ├── package.json
│ │ │ ├── packages/
│ │ │ │ ├── @extensions/
│ │ │ │ │ └── vite-plugin-chibivue/
│ │ │ │ │ └── index.ts
│ │ │ │ ├── compiler-core/
│ │ │ │ │ ├── ast.ts
│ │ │ │ │ ├── babelUtils.ts
│ │ │ │ │ ├── codegen.ts
│ │ │ │ │ ├── compile.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── options.ts
│ │ │ │ │ ├── parse.ts
│ │ │ │ │ ├── runtimeHelpers.ts
│ │ │ │ │ ├── transform.ts
│ │ │ │ │ ├── transforms/
│ │ │ │ │ │ ├── transformElement.ts
│ │ │ │ │ │ ├── transformExpression.ts
│ │ │ │ │ │ ├── transformSlotOutlet.ts
│ │ │ │ │ │ ├── vBind.ts
│ │ │ │ │ │ ├── vFor.ts
│ │ │ │ │ │ ├── vIf.ts
│ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── compiler-dom/
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── parserOptions.ts
│ │ │ │ │ └── transforms/
│ │ │ │ │ ├── vHtml.ts
│ │ │ │ │ ├── vOn.ts
│ │ │ │ │ └── vText.ts
│ │ │ │ ├── compiler-sfc/
│ │ │ │ │ ├── compileTemplate.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── parse.ts
│ │ │ │ │ └── rewriteDefault.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── reactivity/
│ │ │ │ │ ├── baseHandler.ts
│ │ │ │ │ ├── collectionHandlers.ts
│ │ │ │ │ ├── computed.ts
│ │ │ │ │ ├── dep.ts
│ │ │ │ │ ├── effect.ts
│ │ │ │ │ ├── effectScope.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── reactive.ts
│ │ │ │ │ └── ref.ts
│ │ │ │ ├── runtime-core/
│ │ │ │ │ ├── apiCreateApp.ts
│ │ │ │ │ ├── apiDefineComponent.ts
│ │ │ │ │ ├── apiInject.ts
│ │ │ │ │ ├── apiLifecycle.ts
│ │ │ │ │ ├── apiWatch.ts
│ │ │ │ │ ├── component.ts
│ │ │ │ │ ├── componentEmits.ts
│ │ │ │ │ ├── componentOptions.ts
│ │ │ │ │ ├── componentProps.ts
│ │ │ │ │ ├── componentPublicInstance.ts
│ │ │ │ │ ├── componentRenderContext.ts
│ │ │ │ │ ├── componentSlots.ts
│ │ │ │ │ ├── components/
│ │ │ │ │ │ └── KeepAlive.ts
│ │ │ │ │ ├── enums.ts
│ │ │ │ │ ├── h.ts
│ │ │ │ │ ├── helpers/
│ │ │ │ │ │ ├── renderList.ts
│ │ │ │ │ │ ├── renderSlot.ts
│ │ │ │ │ │ ├── resolveAssets.ts
│ │ │ │ │ │ └── toHandlers.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── renderer.ts
│ │ │ │ │ ├── rendererTemplateRef.ts
│ │ │ │ │ ├── scheduler.ts
│ │ │ │ │ └── vnode.ts
│ │ │ │ ├── runtime-dom/
│ │ │ │ │ ├── components/
│ │ │ │ │ │ └── Transition.ts
│ │ │ │ │ ├── directives/
│ │ │ │ │ │ └── vOn.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── modules/
│ │ │ │ │ │ ├── attrs.ts
│ │ │ │ │ │ ├── class.ts
│ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ ├── props.ts
│ │ │ │ │ │ └── style.ts
│ │ │ │ │ ├── nodeOps.ts
│ │ │ │ │ ├── patchProp.ts
│ │ │ │ │ └── runtimeHelpers.ts
│ │ │ │ ├── server-renderer/
│ │ │ │ │ ├── helpers/
│ │ │ │ │ │ ├── ssrInterpolate.ts
│ │ │ │ │ │ ├── ssrRenderAttrs.ts
│ │ │ │ │ │ ├── ssrRenderList.ts
│ │ │ │ │ │ └── ssrUtils.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── render.ts
│ │ │ │ │ └── renderToString.ts
│ │ │ │ └── shared/
│ │ │ │ ├── domTagConfig.ts
│ │ │ │ ├── general.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── makeMap.ts
│ │ │ │ ├── normalizeProp.ts
│ │ │ │ ├── patchFlags.ts
│ │ │ │ ├── shapeFlags.ts
│ │ │ │ └── typeUtils.ts
│ │ │ ├── tests/
│ │ │ │ └── e2e.spec.ts
│ │ │ └── tsconfig.json
│ │ └── bonus/
│ │ └── hyper-ultimate-super-extreme-minimal-vue/
│ │ ├── examples/
│ │ │ └── playground/
│ │ │ ├── .gitignore
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── App.vue
│ │ │ │ └── main.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.ts
│ │ ├── package.json
│ │ ├── packages/
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── online-book/
│ │ ├── .vitepress/
│ │ │ ├── config/
│ │ │ │ ├── en.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── ja.ts
│ │ │ │ ├── shared.ts
│ │ │ │ ├── zh-cn.ts
│ │ │ │ └── zh-tw.ts
│ │ │ └── theme/
│ │ │ ├── Layout.vue
│ │ │ ├── chibivue-theme-light.json
│ │ │ ├── chibivue-theme.json
│ │ │ ├── components/
│ │ │ │ ├── CustomHome.vue
│ │ │ │ ├── FeatureCard.vue
│ │ │ │ ├── FeaturesSection.vue
│ │ │ │ ├── HeroSection.vue
│ │ │ │ ├── KawaikoNote.vue
│ │ │ │ ├── SidebarEnhancer.vue
│ │ │ │ └── WipBanner.vue
│ │ │ ├── index.ts
│ │ │ └── main.css
│ │ └── src/
│ │ ├── 00-introduction/
│ │ │ ├── 010-about.md
│ │ │ ├── 020-what-is-vue.md
│ │ │ ├── 030-vue-core-components.md
│ │ │ └── 040-setup-project.md
│ │ ├── 10-minimum-example/
│ │ │ ├── 010-create-app-api.md
│ │ │ ├── 015-package-architecture.md
│ │ │ ├── 020-simple-h-function.md
│ │ │ ├── 025-event-handler-and-attrs.md
│ │ │ ├── 030-prerequisite-knowledge-for-the-reactivity-system.md
│ │ │ ├── 035-try-implementing-a-minimum-reactivity-system.md
│ │ │ ├── 040-minimum-virtual-dom.md
│ │ │ ├── 050-minimum-component.md
│ │ │ ├── 051-component-props.md
│ │ │ ├── 052-component-emits.md
│ │ │ ├── 060-template-compiler.md
│ │ │ ├── 061-template-compiler-impl.md
│ │ │ ├── 070-more-complex-parser.md
│ │ │ ├── 080-template-binding.md
│ │ │ ├── 090-prerequisite-knowledge-for-the-sfc.md
│ │ │ ├── 091-parse-sfc.md
│ │ │ ├── 092-compile-sfc-template.md
│ │ │ ├── 093-compile-sfc-script.md
│ │ │ ├── 094-compile-sfc-style.md
│ │ │ └── 100-break.md
│ │ ├── 20-basic-virtual-dom/
│ │ │ ├── 010-patch-keyed-children.md
│ │ │ ├── 020-bit-flags.md
│ │ │ ├── 030-scheduler.md
│ │ │ └── 040-patch-other-attrs.md
│ │ ├── 30-basic-reactivity-system/
│ │ │ ├── 005-reactivity-optimization.md
│ │ │ ├── 010-ref-api.md
│ │ │ ├── 020-computed-watch.md
│ │ │ ├── 030-reactive-proxy-handlers.md
│ │ │ ├── 040-effect-scope.md
│ │ │ └── 050-other-apis.md
│ │ ├── 40-basic-component-system/
│ │ │ ├── 010-lifecycle-hooks.md
│ │ │ ├── 020-provide-inject.md
│ │ │ ├── 030-component-proxy-setup-context.md
│ │ │ ├── 040-component-slot.md
│ │ │ └── 050-options-api.md
│ │ ├── 50-basic-template-compiler/
│ │ │ ├── 010-transform.md
│ │ │ ├── 020-v-bind.md
│ │ │ ├── 022-transform-expression.md
│ │ │ ├── 025-v-on.md
│ │ │ ├── 027-event-modifier.md
│ │ │ ├── 030-fragment.md
│ │ │ ├── 035-comment.md
│ │ │ ├── 040-v-if-and-structural-directive.md
│ │ │ ├── 050-v-for.md
│ │ │ ├── 070-resolve-component.md
│ │ │ ├── 080-component-slot-outlet.md
│ │ │ ├── 080-slot.md
│ │ │ ├── 085-component-slot-insert.md
│ │ │ ├── 090-other-directives.md
│ │ │ ├── 100-chore-compiler.md
│ │ │ ├── 110-parser-optimization.md
│ │ │ └── 500-custom-directive.md
│ │ ├── 60-basic-sfc-compiler/
│ │ │ ├── 010-script-setup.md
│ │ │ ├── 020-define-props.md
│ │ │ ├── 030-define-emits.md
│ │ │ ├── 040-scoped-css.md
│ │ │ ├── 050-props-destructure.md
│ │ │ └── 060-type-based-macros.md
│ │ ├── 90-web-application-essentials/
│ │ │ ├── 010-plugins/
│ │ │ │ ├── 010-router.md
│ │ │ │ ├── 020-preprocessors.md
│ │ │ │ ├── 020-store.md
│ │ │ │ ├── 030-data-fetch.md
│ │ │ │ └── 040-language-tools.md
│ │ │ ├── 020-ssr/
│ │ │ │ ├── 010-create-ssr-app.md
│ │ │ │ ├── 020-hydration.md
│ │ │ │ └── 030-compiler-ssr.md
│ │ │ ├── 030-builtins/
│ │ │ │ ├── 010-keep-alive.md
│ │ │ │ ├── 020-suspense.md
│ │ │ │ └── 030-transition.md
│ │ │ ├── 040-optimizations/
│ │ │ │ ├── 010-static-hoisting.md
│ │ │ │ ├── 020-patch-flags.md
│ │ │ │ └── 030-tree-flattening.md
│ │ │ └── 050-vapor/
│ │ │ ├── 010-introduction.md
│ │ │ ├── 020-vapor-compiler.md
│ │ │ └── 030-vapor-ssr.md
│ │ ├── bonus/
│ │ │ ├── debug-vuejs-core.md
│ │ │ └── hyper-ultimate-super-extreme-minimal-vue/
│ │ │ ├── 15-min-impl.md
│ │ │ └── index.md
│ │ ├── index.md
│ │ ├── ja/
│ │ │ ├── 00-introduction/
│ │ │ │ ├── 010-about.md
│ │ │ │ ├── 020-what-is-vue.md
│ │ │ │ ├── 030-vue-core-components.md
│ │ │ │ └── 040-setup-project.md
│ │ │ ├── 10-minimum-example/
│ │ │ │ ├── 010-create-app-api.md
│ │ │ │ ├── 015-package-architecture.md
│ │ │ │ ├── 020-simple-h-function.md
│ │ │ │ ├── 025-event-handler-and-attrs.md
│ │ │ │ ├── 030-prerequisite-knowledge-for-the-reactivity-system.md
│ │ │ │ ├── 035-try-implementing-a-minimum-reactivity-system.md
│ │ │ │ ├── 040-minimum-virtual-dom.md
│ │ │ │ ├── 050-minimum-component.md
│ │ │ │ ├── 051-component-props.md
│ │ │ │ ├── 052-component-emits.md
│ │ │ │ ├── 060-template-compiler.md
│ │ │ │ ├── 061-template-compiler-impl.md
│ │ │ │ ├── 070-more-complex-parser.md
│ │ │ │ ├── 080-template-binding.md
│ │ │ │ ├── 090-prerequisite-knowledge-for-the-sfc.md
│ │ │ │ ├── 091-parse-sfc.md
│ │ │ │ ├── 092-compile-sfc-template.md
│ │ │ │ ├── 093-compile-sfc-script.md
│ │ │ │ ├── 094-compile-sfc-style.md
│ │ │ │ └── 100-break.md
│ │ │ ├── 20-basic-virtual-dom/
│ │ │ │ ├── 010-patch-keyed-children.md
│ │ │ │ ├── 020-bit-flags.md
│ │ │ │ ├── 030-scheduler.md
│ │ │ │ └── 040-patch-other-attrs.md
│ │ │ ├── 30-basic-reactivity-system/
│ │ │ │ ├── 005-reactivity-optimization.md
│ │ │ │ ├── 010-ref-api.md
│ │ │ │ ├── 020-computed-watch.md
│ │ │ │ ├── 030-reactive-proxy-handlers.md
│ │ │ │ ├── 040-effect-scope.md
│ │ │ │ └── 050-other-apis.md
│ │ │ ├── 40-basic-component-system/
│ │ │ │ ├── 010-lifecycle-hooks.md
│ │ │ │ ├── 020-provide-inject.md
│ │ │ │ ├── 030-component-proxy-setup-context.md
│ │ │ │ ├── 040-component-slot.md
│ │ │ │ └── 050-options-api.md
│ │ │ ├── 50-basic-template-compiler/
│ │ │ │ ├── 010-transform.md
│ │ │ │ ├── 020-v-bind.md
│ │ │ │ ├── 022-transform-expression.md
│ │ │ │ ├── 025-v-on.md
│ │ │ │ ├── 027-event-modifier.md
│ │ │ │ ├── 030-fragment.md
│ │ │ │ ├── 035-comment.md
│ │ │ │ ├── 040-v-if-and-structural-directive.md
│ │ │ │ ├── 050-v-for.md
│ │ │ │ ├── 070-resolve-component.md
│ │ │ │ ├── 080-component-slot-outlet.md
│ │ │ │ ├── 085-component-slot-insert.md
│ │ │ │ ├── 090-other-directives.md
│ │ │ │ ├── 100-chore-compiler.md
│ │ │ │ ├── 110-parser-optimization.md
│ │ │ │ └── 500-custom-directive.md
│ │ │ ├── 60-basic-sfc-compiler/
│ │ │ │ ├── 010-script-setup.md
│ │ │ │ ├── 020-define-props.md
│ │ │ │ ├── 030-define-emits.md
│ │ │ │ ├── 040-scoped-css.md
│ │ │ │ ├── 050-props-destructure.md
│ │ │ │ └── 060-type-based-macros.md
│ │ │ ├── 90-web-application-essentials/
│ │ │ │ ├── 010-plugins/
│ │ │ │ │ ├── 010-router.md
│ │ │ │ │ ├── 020-preprocessors.md
│ │ │ │ │ ├── 020-store.md
│ │ │ │ │ ├── 030-data-fetch.md
│ │ │ │ │ └── 040-language-tools.md
│ │ │ │ ├── 020-ssr/
│ │ │ │ │ ├── 010-create-ssr-app.md
│ │ │ │ │ ├── 020-hydration.md
│ │ │ │ │ └── 030-compiler-ssr.md
│ │ │ │ ├── 030-builtins/
│ │ │ │ │ ├── 010-keep-alive.md
│ │ │ │ │ ├── 020-suspense.md
│ │ │ │ │ └── 030-transition.md
│ │ │ │ ├── 040-optimizations/
│ │ │ │ │ ├── 010-static-hoisting.md
│ │ │ │ │ ├── 020-patch-flags.md
│ │ │ │ │ └── 030-tree-flattening.md
│ │ │ │ └── 050-vapor/
│ │ │ │ ├── 010-introduction.md
│ │ │ │ ├── 020-vapor-compiler.md
│ │ │ │ └── 030-vapor-ssr.md
│ │ │ ├── bonus/
│ │ │ │ ├── debug-vuejs-core.md
│ │ │ │ └── hyper-ultimate-super-extreme-minimal-vue/
│ │ │ │ ├── 15-min-impl.md
│ │ │ │ └── index.md
│ │ │ └── index.md
│ │ ├── zh-cn/
│ │ │ ├── 00-introduction/
│ │ │ │ ├── 010-about.md
│ │ │ │ ├── 020-what-is-vue.md
│ │ │ │ ├── 030-vue-core-components.md
│ │ │ │ └── 040-setup-project.md
│ │ │ ├── 10-minimum-example/
│ │ │ │ ├── 010-create-app-api.md
│ │ │ │ ├── 015-package-architecture.md
│ │ │ │ ├── 020-simple-h-function.md
│ │ │ │ ├── 025-event-handler-and-attrs.md
│ │ │ │ ├── 030-prerequisite-knowledge-for-the-reactivity-system.md
│ │ │ │ ├── 035-try-implementing-a-minimum-reactivity-system.md
│ │ │ │ ├── 040-minimum-virtual-dom.md
│ │ │ │ ├── 050-minimum-component.md
│ │ │ │ ├── 051-component-props.md
│ │ │ │ ├── 052-component-emits.md
│ │ │ │ ├── 060-template-compiler.md
│ │ │ │ ├── 061-template-compiler-impl.md
│ │ │ │ ├── 070-more-complex-parser.md
│ │ │ │ ├── 080-template-binding.md
│ │ │ │ ├── 090-prerequisite-knowledge-for-the-sfc.md
│ │ │ │ ├── 091-parse-sfc.md
│ │ │ │ ├── 092-compile-sfc-template.md
│ │ │ │ ├── 093-compile-sfc-script.md
│ │ │ │ ├── 094-compile-sfc-style.md
│ │ │ │ └── 100-break.md
│ │ │ ├── 20-basic-virtual-dom/
│ │ │ │ ├── 010-patch-keyed-children.md
│ │ │ │ ├── 020-bit-flags.md
│ │ │ │ ├── 030-scheduler.md
│ │ │ │ └── 040-patch-other-attrs.md
│ │ │ ├── 30-basic-reactivity-system/
│ │ │ │ ├── 005-reactivity-optimization.md
│ │ │ │ ├── 010-ref-api.md
│ │ │ │ ├── 020-computed-watch.md
│ │ │ │ ├── 030-reactive-proxy-handlers.md
│ │ │ │ ├── 040-effect-scope.md
│ │ │ │ └── 050-other-apis.md
│ │ │ ├── 40-basic-component-system/
│ │ │ │ ├── 010-lifecycle-hooks.md
│ │ │ │ ├── 020-provide-inject.md
│ │ │ │ ├── 030-component-proxy-setup-context.md
│ │ │ │ ├── 040-component-slot.md
│ │ │ │ └── 050-options-api.md
│ │ │ ├── 50-basic-template-compiler/
│ │ │ │ ├── 010-transform.md
│ │ │ │ ├── 020-v-bind.md
│ │ │ │ ├── 022-transform-expression.md
│ │ │ │ ├── 025-v-on.md
│ │ │ │ ├── 027-event-modifier.md
│ │ │ │ ├── 030-fragment.md
│ │ │ │ ├── 035-comment.md
│ │ │ │ ├── 040-v-if-and-structural-directive.md
│ │ │ │ ├── 050-v-for.md
│ │ │ │ ├── 070-resolve-component.md
│ │ │ │ ├── 080-component-slot-outlet.md
│ │ │ │ ├── 080-slot.md
│ │ │ │ ├── 085-component-slot-insert.md
│ │ │ │ ├── 090-other-directives.md
│ │ │ │ ├── 100-chore-compiler.md
│ │ │ │ ├── 110-parser-optimization.md
│ │ │ │ └── 500-custom-directive.md
│ │ │ ├── 60-basic-sfc-compiler/
│ │ │ │ ├── 010-script-setup.md
│ │ │ │ ├── 020-define-props.md
│ │ │ │ ├── 030-define-emits.md
│ │ │ │ ├── 040-scoped-css.md
│ │ │ │ ├── 050-props-destructure.md
│ │ │ │ └── 060-type-based-macros.md
│ │ │ ├── 90-web-application-essentials/
│ │ │ │ ├── 010-plugins/
│ │ │ │ │ ├── 010-router.md
│ │ │ │ │ ├── 020-preprocessors.md
│ │ │ │ │ ├── 020-store.md
│ │ │ │ │ ├── 030-data-fetch.md
│ │ │ │ │ └── 040-language-tools.md
│ │ │ │ ├── 020-ssr/
│ │ │ │ │ ├── 010-create-ssr-app.md
│ │ │ │ │ ├── 020-hydration.md
│ │ │ │ │ └── 030-compiler-ssr.md
│ │ │ │ ├── 030-builtins/
│ │ │ │ │ ├── 010-keep-alive.md
│ │ │ │ │ ├── 020-suspense.md
│ │ │ │ │ └── 030-transition.md
│ │ │ │ ├── 040-optimizations/
│ │ │ │ │ ├── 010-static-hoisting.md
│ │ │ │ │ ├── 020-patch-flags.md
│ │ │ │ │ └── 030-tree-flattening.md
│ │ │ │ └── 050-vapor/
│ │ │ │ ├── 010-introduction.md
│ │ │ │ ├── 020-vapor-compiler.md
│ │ │ │ └── 030-vapor-ssr.md
│ │ │ ├── bonus/
│ │ │ │ ├── debug-vuejs-core.md
│ │ │ │ └── hyper-ultimate-super-extreme-minimal-vue/
│ │ │ │ ├── 15-min-impl.md
│ │ │ │ └── index.md
│ │ │ └── index.md
│ │ └── zh-tw/
│ │ ├── 00-introduction/
│ │ │ ├── 010-about.md
│ │ │ ├── 020-what-is-vue.md
│ │ │ ├── 030-vue-core-components.md
│ │ │ └── 040-setup-project.md
│ │ ├── 10-minimum-example/
│ │ │ ├── 010-create-app-api.md
│ │ │ ├── 015-package-architecture.md
│ │ │ ├── 020-simple-h-function.md
│ │ │ ├── 025-event-handler-and-attrs.md
│ │ │ ├── 030-prerequisite-knowledge-for-the-reactivity-system.md
│ │ │ ├── 035-try-implementing-a-minimum-reactivity-system.md
│ │ │ ├── 040-minimum-virtual-dom.md
│ │ │ ├── 050-minimum-component.md
│ │ │ ├── 051-component-props.md
│ │ │ ├── 052-component-emits.md
│ │ │ ├── 060-template-compiler.md
│ │ │ ├── 061-template-compiler-impl.md
│ │ │ ├── 070-more-complex-parser.md
│ │ │ ├── 080-template-binding.md
│ │ │ ├── 090-prerequisite-knowledge-for-the-sfc.md
│ │ │ ├── 091-parse-sfc.md
│ │ │ ├── 092-compile-sfc-template.md
│ │ │ ├── 093-compile-sfc-script.md
│ │ │ ├── 094-compile-sfc-style.md
│ │ │ └── 100-break.md
│ │ ├── 20-basic-virtual-dom/
│ │ │ ├── 010-patch-keyed-children.md
│ │ │ ├── 020-bit-flags.md
│ │ │ ├── 030-scheduler.md
│ │ │ └── 040-patch-other-attrs.md
│ │ ├── 30-basic-reactivity-system/
│ │ │ ├── 005-reactivity-optimization.md
│ │ │ ├── 010-ref-api.md
│ │ │ ├── 020-computed-watch.md
│ │ │ ├── 030-reactive-proxy-handlers.md
│ │ │ ├── 040-effect-scope.md
│ │ │ └── 050-other-apis.md
│ │ ├── 40-basic-component-system/
│ │ │ ├── 010-lifecycle-hooks.md
│ │ │ ├── 020-provide-inject.md
│ │ │ ├── 030-component-proxy-setup-context.md
│ │ │ ├── 040-component-slot.md
│ │ │ └── 050-options-api.md
│ │ ├── 50-basic-template-compiler/
│ │ │ ├── 010-transform.md
│ │ │ ├── 020-v-bind.md
│ │ │ ├── 022-transform-expression.md
│ │ │ ├── 025-v-on.md
│ │ │ ├── 027-event-modifier.md
│ │ │ ├── 030-fragment.md
│ │ │ ├── 035-comment.md
│ │ │ ├── 040-v-if-and-structural-directive.md
│ │ │ ├── 050-v-for.md
│ │ │ ├── 070-resolve-component.md
│ │ │ ├── 080-component-slot-outlet.md
│ │ │ ├── 080-slot.md
│ │ │ ├── 085-component-slot-insert.md
│ │ │ ├── 090-other-directives.md
│ │ │ ├── 100-chore-compiler.md
│ │ │ ├── 110-parser-optimization.md
│ │ │ └── 500-custom-directive.md
│ │ ├── 60-basic-sfc-compiler/
│ │ │ ├── 010-script-setup.md
│ │ │ ├── 020-define-props.md
│ │ │ ├── 030-define-emits.md
│ │ │ ├── 040-scoped-css.md
│ │ │ ├── 050-props-destructure.md
│ │ │ └── 060-type-based-macros.md
│ │ ├── 90-web-application-essentials/
│ │ │ ├── 010-plugins/
│ │ │ │ ├── 010-router.md
│ │ │ │ ├── 020-preprocessors.md
│ │ │ │ ├── 020-store.md
│ │ │ │ ├── 030-data-fetch.md
│ │ │ │ └── 040-language-tools.md
│ │ │ ├── 020-ssr/
│ │ │ │ ├── 010-create-ssr-app.md
│ │ │ │ ├── 020-hydration.md
│ │ │ │ └── 030-compiler-ssr.md
│ │ │ ├── 030-builtins/
│ │ │ │ ├── 010-keep-alive.md
│ │ │ │ ├── 020-suspense.md
│ │ │ │ └── 030-transition.md
│ │ │ ├── 040-optimizations/
│ │ │ │ ├── 010-static-hoisting.md
│ │ │ │ ├── 020-patch-flags.md
│ │ │ │ └── 030-tree-flattening.md
│ │ │ └── 050-vapor/
│ │ │ ├── 010-introduction.md
│ │ │ ├── 020-vapor-compiler.md
│ │ │ └── 030-vapor-ssr.md
│ │ ├── bonus/
│ │ │ ├── debug-vuejs-core.md
│ │ │ └── hyper-ultimate-super-extreme-minimal-vue/
│ │ │ ├── 15-min-impl.md
│ │ │ └── index.md
│ │ └── index.md
│ └── playground/
│ ├── .gitignore
│ ├── index.html
│ ├── package.json
│ ├── scripts/
│ │ └── generate-chapters.ts
│ ├── src/
│ │ ├── App.vue
│ │ ├── main.ts
│ │ ├── style.css
│ │ ├── types.ts
│ │ └── vite-env.d.ts
│ ├── tsconfig.json
│ └── vite.config.ts
├── examples/
│ ├── app/
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.vue
│ │ │ ├── components/
│ │ │ │ ├── CompilerMacroDemo.vue
│ │ │ │ ├── SimpleBtn.vue
│ │ │ │ └── SimpleCard.vue
│ │ │ ├── main.ts
│ │ │ ├── router.ts
│ │ │ ├── store/
│ │ │ │ └── count.store.ts
│ │ │ └── views/
│ │ │ ├── compiler-macro.vue
│ │ │ ├── directive.vue
│ │ │ ├── index.vue
│ │ │ ├── inline.ts
│ │ │ ├── options-api.vue
│ │ │ ├── props-emits.vue
│ │ │ ├── state.vue
│ │ │ ├── store-counter.vue
│ │ │ └── todo-list.vue
│ │ └── vite.config.ts
│ └── vapor/
│ ├── index.html
│ ├── package.json
│ ├── src/
│ │ ├── App.vue
│ │ ├── Counter.vue
│ │ ├── MyComponent.vapor.ts
│ │ └── main.ts
│ └── vite.config.ts
├── impl/
│ ├── @extensions/
│ │ ├── chibivue-fetch/
│ │ │ ├── package.json
│ │ │ └── src/
│ │ │ ├── index.ts
│ │ │ ├── queryCache.ts
│ │ │ ├── types.ts
│ │ │ ├── useMutation.ts
│ │ │ └── useQuery.ts
│ │ ├── chibivue-language-core/
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.ts
│ │ │ │ ├── languagePlugin.ts
│ │ │ │ ├── parseSfc.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── virtualCode.ts
│ │ │ └── tsconfig.json
│ │ ├── chibivue-language-server/
│ │ │ ├── bin/
│ │ │ │ └── chibivue-language-server.js
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ ├── index.ts
│ │ │ │ └── server.ts
│ │ │ └── tsconfig.json
│ │ ├── chibivue-router/
│ │ │ ├── package.json
│ │ │ └── src/
│ │ │ ├── RouterView.ts
│ │ │ ├── history.ts
│ │ │ ├── index.ts
│ │ │ ├── injectionSymbols.ts
│ │ │ ├── router.ts
│ │ │ ├── types/
│ │ │ │ └── index.ts
│ │ │ └── useApi.ts
│ │ ├── chibivue-store/
│ │ │ ├── package.json
│ │ │ └── src/
│ │ │ ├── createStore.ts
│ │ │ ├── index.ts
│ │ │ ├── rootStore.ts
│ │ │ └── store.ts
│ │ ├── global.d.ts
│ │ ├── vite-plugin-chibivue/
│ │ │ ├── package.json
│ │ │ └── src/
│ │ │ ├── index.ts
│ │ │ ├── main.ts
│ │ │ ├── script.ts
│ │ │ ├── template.ts
│ │ │ └── utils/
│ │ │ ├── descriptorCache.ts
│ │ │ └── query.ts
│ │ └── vscode-chibivue/
│ │ ├── language-configuration.json
│ │ ├── package.json
│ │ ├── src/
│ │ │ └── extension.ts
│ │ ├── syntaxes/
│ │ │ └── vue.tmLanguage.json
│ │ └── tsconfig.json
│ ├── chibivue/
│ │ ├── package.json
│ │ └── src/
│ │ └── index.ts
│ ├── compiler-core/
│ │ ├── package.json
│ │ └── src/
│ │ ├── ast.ts
│ │ ├── babelUtils.ts
│ │ ├── codegen.ts
│ │ ├── compile.ts
│ │ ├── index.ts
│ │ ├── options.ts
│ │ ├── parse.ts
│ │ ├── runtimeHelpers.ts
│ │ ├── transform.ts
│ │ ├── transforms/
│ │ │ ├── hoistStatic.ts
│ │ │ ├── transformElement.ts
│ │ │ ├── transformExpression.ts
│ │ │ ├── vBind.ts
│ │ │ ├── vFor.ts
│ │ │ ├── vIf.ts
│ │ │ ├── vModel.ts
│ │ │ └── vOn.ts
│ │ └── utils.ts
│ ├── compiler-dom/
│ │ ├── package.json
│ │ └── src/
│ │ ├── codegen.ts
│ │ ├── index.ts
│ │ ├── parserOptions.ts
│ │ ├── runtimeHelpers.ts
│ │ └── transforms/
│ │ ├── vHtml.ts
│ │ ├── vModel.ts
│ │ ├── vOn.ts
│ │ ├── vShow.ts
│ │ └── vText.ts
│ ├── compiler-sfc/
│ │ ├── package.json
│ │ └── src/
│ │ ├── compileScript.ts
│ │ ├── compileStyle.ts
│ │ ├── compileTemplate.ts
│ │ ├── index.ts
│ │ ├── parse.ts
│ │ └── rewriteDefault.ts
│ ├── compiler-ssr/
│ │ ├── package.json
│ │ └── src/
│ │ ├── index.ts
│ │ ├── runtimeHelpers.ts
│ │ ├── ssrCodegenTransform.ts
│ │ └── transforms/
│ │ ├── ssrTransformComponent.ts
│ │ ├── ssrTransformElement.ts
│ │ ├── ssrVFor.ts
│ │ └── ssrVIf.ts
│ ├── compiler-vapor/
│ │ ├── package.json
│ │ └── src/
│ │ ├── codegen.ts
│ │ ├── compile.ts
│ │ ├── index.ts
│ │ ├── ir.ts
│ │ ├── runtimeHelpers.ts
│ │ └── transform.ts
│ ├── reactivity/
│ │ ├── package.json
│ │ └── src/
│ │ ├── baseHandler.ts
│ │ ├── collectionHandlers.ts
│ │ ├── computed.ts
│ │ ├── dep.ts
│ │ ├── effect.ts
│ │ ├── effectScope.ts
│ │ ├── index.ts
│ │ ├── reactive.ts
│ │ └── ref.ts
│ ├── runtime-core/
│ │ ├── package.json
│ │ └── src/
│ │ ├── apiAsyncComponent.ts
│ │ ├── apiComputed.ts
│ │ ├── apiCreateApp.ts
│ │ ├── apiDefineComponent.ts
│ │ ├── apiInject.ts
│ │ ├── apiLifecycle.ts
│ │ ├── apiWatch.ts
│ │ ├── component.ts
│ │ ├── componentEmits.ts
│ │ ├── componentOptions.ts
│ │ ├── componentProps.ts
│ │ ├── componentPublicInstance.ts
│ │ ├── componentRenderContext.ts
│ │ ├── componentRenderUtils.ts
│ │ ├── componentSlots.ts
│ │ ├── components/
│ │ │ ├── KeepAlive.ts
│ │ │ └── Teleport.ts
│ │ ├── directives.ts
│ │ ├── enums.ts
│ │ ├── h.ts
│ │ ├── helpers/
│ │ │ ├── renderList.ts
│ │ │ ├── resolveAssets.ts
│ │ │ └── toHandlers.ts
│ │ ├── index.ts
│ │ ├── renderer.ts
│ │ ├── rendererTemplateRef.ts
│ │ ├── scheduler.ts
│ │ └── vnode.ts
│ ├── runtime-dom/
│ │ ├── package.json
│ │ └── src/
│ │ ├── components/
│ │ │ └── Transition.ts
│ │ ├── directives/
│ │ │ ├── vModel.ts
│ │ │ ├── vOn.ts
│ │ │ └── vShow.ts
│ │ ├── index.ts
│ │ ├── modules/
│ │ │ ├── attrs.ts
│ │ │ ├── events.ts
│ │ │ └── style.ts
│ │ ├── nodeOps.ts
│ │ ├── patchProp.ts
│ │ └── runtimeHelpers.ts
│ ├── runtime-vapor/
│ │ ├── README.md
│ │ ├── package.json
│ │ └── src/
│ │ ├── apiCreateVaporApp.ts
│ │ ├── component.ts
│ │ ├── hydration.ts
│ │ └── index.ts
│ ├── server-renderer/
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── helpers/
│ │ │ │ ├── ssrInterpolate.ts
│ │ │ │ ├── ssrRenderAttrs.ts
│ │ │ │ ├── ssrRenderList.ts
│ │ │ │ └── ssrUtils.ts
│ │ │ ├── index.ts
│ │ │ ├── render.ts
│ │ │ ├── renderToString.ts
│ │ │ └── renderVapor.ts
│ │ └── tsconfig.json
│ └── shared/
│ ├── package.json
│ └── src/
│ ├── domAttrConfig.ts
│ ├── domTagConfig.ts
│ ├── escapeHtml.ts
│ ├── index.ts
│ ├── makeMap.ts
│ ├── normalizeProp.ts
│ ├── patchFlags.ts
│ ├── shapeFlags.ts
│ ├── toDisplayString.ts
│ └── typeUtils.ts
├── package.json
├── pnpm-workspace.yaml
├── rolldown.config.ts
├── rules/
│ └── prh-punctuation-mark.yml
├── tools/
│ ├── book-figures/
│ │ └── generate.mjs
│ ├── book-size/
│ │ ├── book/
│ │ │ ├── char-counts.json
│ │ │ └── count-chars.ts
│ │ └── pkg/
│ │ └── files.txt
│ ├── chibivue-playground/
│ │ ├── main.ts
│ │ └── template/
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── App.vue
│ │ │ ├── main.ts
│ │ │ ├── router.ts
│ │ │ ├── store/
│ │ │ │ └── counter.ts
│ │ │ └── views/
│ │ │ ├── counter.vue
│ │ │ └── store.vue
│ │ └── vite.config.ts
│ ├── create-chibivue/
│ │ ├── main.ts
│ │ └── template/
│ │ ├── examples/
│ │ │ └── playground/
│ │ │ ├── .gitignore
│ │ │ ├── index.html
│ │ │ ├── package.json
│ │ │ ├── src/
│ │ │ │ └── main.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vite.config.js
│ │ ├── package.json
│ │ ├── packages/
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── translator/
│ │ └── ja2en/
│ │ ├── completion.ts
│ │ ├── constant.ts
│ │ ├── init.ts
│ │ └── main.ts
│ └── vue-playground/
│ ├── generate.ts
│ ├── helpers.ts
│ ├── locale.ts
│ ├── main.ts
│ ├── prompt.ts
│ └── template/
│ ├── index.html
│ ├── package.json.template
│ ├── setup/
│ │ ├── dev.ts.template
│ │ └── start.ts
│ ├── src/
│ │ ├── App.vue
│ │ └── main.ts
│ ├── tsconfig.json.template
│ ├── vite.config.ts
│ └── vue-standalone.js.template
├── tsconfig.json
├── vite.config.shared.ts
└── vitest.config.ts
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/contributing.md
================================================
# Contributing to chibivue
Are you looking at this page now because you're interested in contributing to chibivue? If so, I'd be very pleased.
I'd appreciate it if you could create some pull request, no matter how minor.
I've written some guides below on how to contribute, so please take a moment to read them.
Thank you to all chibivue fans. 💖
ubugeeei.
---
## Guide to the main directories/files
First, let's talk about the top-level directories:
```sh
book # Contains materials related to the online book
impl # Contains the latest source code of chibivue packages (runtime-core, runtime-dom, reactivity, compiler-core, compiler-dom, compiler-sfc, compiler-vapor, runtime-vapor, server-renderer, etc.)
examples # Contains sample code using the packages. Not directly related to the online book.
tools # Development and reader tools for the online book.
.github # Contains CI configuration files and contribution guides.
```
Now, let's take a closer look at the book directory.
```sh
book
|- images # Contains image files used in the online book.
|- online-book # The main body of the online book. It is a Vitepress project.
|- impls # Contains the source code for each chapter.
```
## Guide about the method of contribution
### Before submitting a pull request
### Forking the repository
Access https://github.com/chibivue-land/chibivue and click on the `Fork` button on this page to fork it to your own account.
You can choose any name for the repository. Feel free to set other information as well.
### Setting up the local environment
#### Installing the necessary tools
- [Node.js](https://nodejs.org/en) (v24+)
- [pnpm](https://pnpm.io/) (v10+)
### Getting Started
First, install the dependencies and set up the playground.
```sh
pnpm i && pnpm setup
```
Then, you can start the development server.
```sh
pnpm dev
```
### Available Scripts
| Script | Description |
|--------|-------------|
| **Book** | |
| `dev` | Start online book dev server |
| `build` | Build online book |
| `preview` | Preview built online book |
| `lint:text` | Lint book text |
| **Setup** | |
| `setup` | Install dependencies and generate playground |
| `setup:dev` | Generate playground files to examples/playground |
| `setup:vue` | Set up Vue.js core comparison environment |
| `setup:book` | Generate chibivue implementation for book readers |
| **Implementation** | |
| `impl:dev` | Start playground dev server |
| `impl:dev:app` | Start app example dev server |
| `impl:dev:vapor` | Start vapor mode example dev server |
| `impl:dev:vue` | Start Vue.js core dev server for comparison |
| `impl:build` | Build all packages |
| `impl:clean` | Remove all dist folders |
| `impl:check` | Run all checks (lint, fmt, typecheck, build, test) |
| **Quality** | |
| `check` | Run type checking (tsgo) |
| `lint` | Run linter (oxlint) |
| `lint:fix` | Run linter with auto-fix |
| `fmt` | Format code (oxfmt) |
| `fmt:check` | Check code formatting |
| `test` | Run tests once |
| `test:watch` | Run tests in watch mode |
### Running book chapter implementations
If you want to run the source code for each chapter, you can do so with the following command.
```sh
cd book/impls/${section-name}/${chapter-name}
pnpm dev
```
### Book Playground
The project includes a WebContainer-based playground (`book/playground`) that allows readers to try each chapter's implementation directly in the browser.
To start the playground:
```sh
pnpm play # Start the playground dev server
```
The playground supports:
- Selecting different chapters to explore
- Editing code with Monaco editor
- Running the development server in the browser
- Persisting edits to localStorage
- Resetting files to their original state
If you modify chapter implementations in `book/impls/`, run `pnpm play:generate` to update the playground data.
#### Creating a branch (start making changes)
Clone the forked repository and create a branch.
Before creating a branch, make sure the upstream is set to the main branch.
As for the branch name, if it is related to a specific issue, please use the format `${issue-number}-${description (kebab-case)}`.
Please make the description as clear and unique as possible.
There are no strict rules at the moment, but please avoid very short names or names that are too generic (lack uniqueness).
If it is not related to a specific issue, the issue number is not necessary.
It would be helpful if you could create an issue whenever possible. It is not necessary for simple typo fixes.
Also, if the changes are expected to be significant or critical in content, it would be appreciated if you could consult with @ubugeeei in advance.
(If such changes are made without consultation, there is a possibility that the PR will be rejected depending on the case.)
### Creating commits
There are no strict rules regarding the content and granularity of commit messages to the working branch.
For commit messages, we have provided a configuration file for git-cz (changelog.config.cjs), so it is recommended to use it (but not required).
If you want to use git-cz, you need to install it locally.
```sh
npm install -g git-cz
```
```sh
# When you run the cz command with the staged changes, an interactive shell will start.
git cz
```
Of course, if you have any suggestions for the git-cz configuration file, please feel free to send a PR.
Regarding commit messages, if the issue number is included in the branch name, the issue number will be automatically included in the commit message.
This is achieved by husky, and you can check the details in `/.husky/commit-msg`.
### Creating a Pull Request
Once you have finished making changes locally and pushed the changes, please create a Pull Request to the main branch of https://github.com/chibivue-land/chibivue.
Please make the title and description of the Pull Request as clear as possible.
Please always notify @ubugeeei when the work is completed to keep track of whether the work is in progress or completed.
You can mention @ubugeeei in the PR comment. The same applies when the changes are completed after the review.
Also, please make sure to check that the CI has succeeded before reporting completion.
Basically, all PRs are managed by @ubugeeei, so please contact @ubugeeei for any inquiries.
## Guide about the contents of contribution
This is a guide to the changes you make. Here are a few points to keep in mind.
- When making changes to the online book, please make sure that the content is consistent across all language versions (English, Japanese, Simplified Chinese, Traditional Chinese).
- When making changes to the source code of each chapter, please appropriately incorporate those changes into the source code of subsequent chapters.
- When including images, figures, or text from other sources, please make sure to provide proper attribution.
================================================
FILE: .github/workflows/check.yml
================================================
name: ci
on:
push:
branches:
- '**'
permissions:
contents: read
jobs:
check:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version-file: 'package.json'
- uses: pnpm/action-setup@v4
name: Install pnpm
- name: Get pnpm store directory
shell: bash
run: echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install dependencies
run: pnpm install
- name: Install Playwright browsers
run: pnpm exec playwright install --with-deps chromium
- name: Check fmt
run: pnpm fmt:check
- name: Check lint
run: pnpm lint
- name: Check lint text
run: pnpm lint:text
- name: Check types
run: pnpm check
- name: Check impl building
run: pnpm impl:build
- name: Check test
run: pnpm test
- name: Build book
run: pnpm build
================================================
FILE: .github/workflows/deploy.yml
================================================
name: Deploy chibivue Book to Pages
on:
push:
branches: [main]
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: pages
cancel-in-progress: false
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Check if it's the original repo and the main branch
run: |
if [[ "${{ github.repository }}" == "ubugeeei/chibivue" && "${{ github.ref }}" == "refs/heads/main" ]]; then
echo "This is the original repo's main branch, running the workflow."
else
echo "This is a fork or a different branch, skipping the workflow."
exit 0
fi
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version-file: 'package.json'
- uses: pnpm/action-setup@v4
name: Install pnpm
- name: Get pnpm store directory
shell: bash
run: echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Install dependencies
run: pnpm install
- name: Build with VitePress
run: pnpm build
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: book/online-book/.vitepress/dist
deploy:
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
================================================
FILE: .gitignore
================================================
node_modules
dist
examples/playground
examples/vuejs-core
.env
tools/translator/ja2en/input.md
tools/translator/ja2en/output.md
book/online-book/.vitepress/cache
book/online-book/.vitepress/dist
# for dts-bundle
temp
# VSCode extension
*.vsix
.vscode-test
out
================================================
FILE: .oxlintrc.json
================================================
{
"$schema": "https://raw.githubusercontent.com/oxc-project/oxlint/main/npm/oxlint/configuration_schema.json",
"ignorePatterns": ["examples/vuejs-core"],
"rules": {
"no-unused-vars": "off",
"no-unused-expressions": "off",
"no-useless-escape": "off",
"no-this-alias": "off",
"no-async-promise-executor": "off",
"only-used-in-recursion": "off",
"no-non-null-asserted-optional-chain": "off",
"no-wrapper-object-types": "off",
"unicorn/no-new-array": "off",
"unicorn/no-useless-spread": "off",
"unicorn/no-useless-fallback-in-spread": "off"
}
}
================================================
FILE: .textlintrc.json
================================================
{
"rules": {
"ja-space-between-half-and-full-width": {
"space": "always"
},
"prh": {
"rulePaths": ["rules/prh-punctuation-mark.yml"]
}
}
}
================================================
FILE: .vscode/extensions.json
================================================
{
"recommendations": [
"oxc.oxc-vscode"
]
}
================================================
FILE: .vscode/settings.json
================================================
{
"cSpell.words": [
"antfu",
"augmentor",
"chainsi",
"chibi",
"chibivue",
"citty",
"consola",
"cytoscape",
"deduped",
"deindent",
"estree",
"fizzbuzz",
"hyperscript",
"jiti",
"klass",
"lightningcss",
"nocheck",
"onwarn",
"oxfmt",
"oxlint",
"paren",
"Parens",
"RAWTEXT",
"RCDATA",
"resetsix",
"rolldown",
"textlint",
"tokei",
"unref",
"vdom",
"vitepress",
"vnode",
"Vnodes",
"vuejs"
],
"material-icon-theme.folders.associations": {
"book": "resource",
"impls": "vue",
"online-book": "vuepress",
"vuejs-core": "vue",
"@extensions": "lib"
},
"material-icon-theme.files.associations": {},
"editor.formatOnSave": true,
"editor.defaultFormatter": "oxc.oxc-vscode",
"editor.codeActionsOnSave": {
"source.fixAll.oxc": "explicit"
},
"oxc.enable": true
}
================================================
FILE: CODEOWNERS
================================================
* @ubugeeei
/book/online-book/src/zh-cn @resetsix
/book/online-book/src/zh-tw @resetsix
/book/online-book/.vitepress/config/zh-cn.ts @resetsix
/book/online-book/.vitepress/config/zh-tw.ts @resetsix
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2023-present ubugeeei
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README-zh-cn.md
================================================
chibivue
编写 Vue.js:从一行 "Hello, World" 开始,逐步构建。
在线书籍 ·
Discord ·
赞助
English ·
繁體中文
---
**chibivue** 是 [Vue.js](https://github.com/vuejs/core) 的最小化教学实现.
- 响应式系统
- 虚拟 DOM 和补丁渲染
- 组件系统
- 模板编译器
- SFC 编译器
- Vapor Mode(实验性)
> "chibi" 在日语中意思是 "小"。
## 在线书籍
[](https://github.com/chibivue-land/chibivue/actions/workflows/deploy.yml)
| 语言 | 链接 |
|------|------|
| English | https://book.chibivue.land |
| 日本語 | https://book.chibivue.land/ja |
| 简体中文 | https://book.chibivue.land/zh-cn |
| 繁體中文 | https://book.chibivue.land/zh-tw |
## 快速开始
### 环境要求
- [Node.js](https://nodejs.org/) v24+
- [pnpm](https://pnpm.io/) v10+
### 本地阅读书籍
```sh
git clone https://github.com/chibivue-land/chibivue
cd chibivue
pnpm install
pnpm dev
```
### 尝试实现
```sh
pnpm setup # 生成 playground
pnpm impl:dev # 启动开发服务器
```
## 附加章节
**超极限超极端最小 Vue**
仅用 **110 行**代码实现 createApp,虚拟 DOM,响应式,模板编译器和 SFC 编译器.
[阅读章节](https://book.chibivue.land/zh-cn/bonus/hyper-ultimate-super-extreme-minimal-vue) · [查看源码](https://github.com/chibivue-land/chibivue/blob/main/book/impls/bonus/hyper-ultimate-super-extreme-minimal-vue/packages/index.ts)
## 贡献
请查看 [contributing.md](.github/contributing.md).
## 社区
加入我们的 [Discord 服务器](https://discord.gg/aVHvmbmSRy) 参与讨论,提问和获取公告.
---
## 赞助商
[成为赞助商](https://github.com/sponsors/ubugeeei)
================================================
FILE: README-zh-tw.md
================================================
chibivue
編寫 Vue.js:從一行 "Hello, World" 開始,逐步構建。
線上書籍 ·
Discord ·
贊助
English ·
简体中文
---
**chibivue** 是 [Vue.js](https://github.com/vuejs/core) 的最小化教學實現.
- 響應式系統
- 虛擬 DOM 和補丁渲染
- 組件系統
- 模板編譯器
- SFC 編譯器
- Vapor Mode(實驗性)
> "chibi" 在日語中意思是 "小"。
## 線上書籍
[](https://github.com/chibivue-land/chibivue/actions/workflows/deploy.yml)
| 語言 | 連結 |
|------|------|
| English | https://book.chibivue.land |
| 日本語 | https://book.chibivue.land/ja |
| 简体中文 | https://book.chibivue.land/zh-cn |
| 繁體中文 | https://book.chibivue.land/zh-tw |
## 快速開始
### 環境要求
- [Node.js](https://nodejs.org/) v24+
- [pnpm](https://pnpm.io/) v10+
### 本地閱讀書籍
```sh
git clone https://github.com/chibivue-land/chibivue
cd chibivue
pnpm install
pnpm dev
```
### 嘗試實現
```sh
pnpm setup # 生成 playground
pnpm impl:dev # 啟動開發伺服器
```
## 附加章節
**超極限超極端最小 Vue**
僅用 **110 行**程式碼實現 createApp,虛擬 DOM,響應式,模板編譯器和 SFC 編譯器.
[閱讀章節](https://book.chibivue.land/zh-tw/bonus/hyper-ultimate-super-extreme-minimal-vue) · [查看原始碼](https://github.com/chibivue-land/chibivue/blob/main/book/impls/bonus/hyper-ultimate-super-extreme-minimal-vue/packages/index.ts)
## 貢獻
請查看 [contributing.md](.github/contributing.md).
## 社群
加入我們的 [Discord 伺服器](https://discord.gg/aVHvmbmSRy) 參與討論,提問和獲取公告.
---
## 贊助商
[成為贊助商](https://github.com/sponsors/ubugeeei)
================================================
FILE: README.md
================================================
chibivue
Writing Vue.js: Step by Step, from just one line of "Hello, World".
Online Book ·
Discord ·
Sponsor
简体中文 ·
繁體中文
---
**chibivue** is a minimal implementation of [Vue.js](https://github.com/vuejs/core) for educational purposes.
- Reactivity System
- Virtual DOM & Patch Rendering
- Component System
- Template Compiler
- SFC Compiler
- Vapor Mode (experimental)
> "chibi" means "small" in Japanese.
## Online Book
[](https://github.com/chibivue-land/chibivue/actions/workflows/deploy.yml)
| Language | URL |
|----------|-----|
| English | https://book.chibivue.land |
| 日本語 | https://book.chibivue.land/ja |
| 简体中文 | https://book.chibivue.land/zh-cn |
| 繁體中文 | https://book.chibivue.land/zh-tw |
## Quick Start
### Requirements
- [Node.js](https://nodejs.org/) v24+
- [pnpm](https://pnpm.io/) v10+
### Read the Book Locally
```sh
git clone https://github.com/chibivue-land/chibivue
cd chibivue
pnpm install
pnpm dev
```
### Try the Implementation
```sh
pnpm setup # Generate playground
pnpm impl:dev # Start dev server
```
## Bonus Track
**Hyper Ultimate Super Extreme Minimal Vue**
Implements createApp, Virtual DOM, Reactivity, Template Compiler, and SFC Compiler in just **110 lines**.
[Read the Chapter](https://book.chibivue.land/bonus/hyper-ultimate-super-extreme-minimal-vue) · [View Source](https://github.com/chibivue-land/chibivue/blob/main/book/impls/bonus/hyper-ultimate-super-extreme-minimal-vue/packages/index.ts)
## Contributing
See [contributing.md](.github/contributing.md).
## Community
Join our [Discord Server](https://discord.gg/aVHvmbmSRy) for discussions, questions, and announcements.
---
## Sponsors
[Become a Sponsor](https://github.com/sponsors/ubugeeei)
================================================
FILE: book/figures-src/README.md
================================================
# Book figure assets
The online book serves figure assets from `book/online-book/src/public/figures`.
Use paths that mirror the book structure:
```txt
figures///.
```
Examples:
- `figures/_brand/logo.png`
- `figures/_people/ubugeeei-avatar.jpg`
- `figures/_sponsors/ubugeeei-sponsors.png`
- `figures/10-minimum-example/reactivity/target-map-structure.svg`
- `figures/20-basic-virtual-dom/patch-keyed-children/inserted-child-keyed-match.svg`
- `figures/50-basic-template-compiler/v-bind/transform-vbind-flow.svg`
Generated explanatory diagrams are SVG files created by `tools/book-figures/generate.mjs`.
Regenerate them with:
```sh
node tools/book-figures/generate.mjs
```
Screenshots should keep their closest article directory and use descriptive names such as `*-result.png`, `*-console.png`, or `*-flow.png`.
Legacy pre-rebrand assets are archived here:
- `legacy-drawio/`: old draw.io source files
- `legacy-raster/`: old exported raster diagrams
- `unreferenced/`: old files that are not currently used by the online book
================================================
FILE: book/figures-src/legacy-drawio/c1c2map.drawio
================================================
================================================
FILE: book/figures-src/legacy-drawio/c1c2map_deleted.drawio
================================================
================================================
FILE: book/figures-src/legacy-drawio/c1c2map_inserted.drawio
================================================
================================================
FILE: book/figures-src/legacy-drawio/c1c2map_inserted_correct.drawio
================================================
================================================
FILE: book/figures-src/legacy-drawio/reactive_observer.drawio
================================================
================================================
FILE: book/impls/00_introduction/010_project_setup/examples/playground/.gitignore
================================================
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
dist
dist-ssr
*.local
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
================================================
FILE: book/impls/00_introduction/010_project_setup/examples/playground/index.html
================================================
chibivue
================================================
FILE: book/impls/00_introduction/010_project_setup/examples/playground/package.json
================================================
{
"name": "playground",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"preview": "vite preview"
},
"devDependencies": {
"typescript": "^5.9.3",
"vite": "^8.0.0"
},
"license": "MIT"
}
================================================
FILE: book/impls/00_introduction/010_project_setup/examples/playground/src/main.ts
================================================
import "chibivue";
================================================
FILE: book/impls/00_introduction/010_project_setup/examples/playground/tsconfig.json
================================================
{
"compilerOptions": {
"target": "ESNext",
"useDefineForClassFields": true,
"module": "ESNext",
"lib": ["ESNext", "DOM"],
"moduleResolution": "Bundler",
"strict": true,
"resolveJsonModule": true,
"isolatedModules": true,
"esModuleInterop": true,
"noEmit": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"skipLibCheck": true,
"paths": {
"chibivue": ["../../packages"]
}
},
"include": ["src"]
}
================================================
FILE: book/impls/00_introduction/010_project_setup/examples/playground/vite.config.ts
================================================
import path from "node:path";
import { fileURLToPath } from "node:url";
import { defineConfig } from "vite";
const dirname = path.dirname(fileURLToPath(new URL(import.meta.url)));
export default defineConfig({
resolve: {
alias: {
chibivue: path.resolve(dirname, "../../packages"),
},
},
});
================================================
FILE: book/impls/00_introduction/010_project_setup/package.json
================================================
{
"name": "01_project_setup",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "cd examples/playground && pnpm i && pnpm run dev"
},
"keywords": [],
"author": "ubugeeei ",
"license": "MIT",
"devDependencies": {
"@types/node": "^24.10.9"
}
}
================================================
FILE: book/impls/00_introduction/010_project_setup/packages/index.ts
================================================
console.log("Hello chibivue!");
================================================
FILE: book/impls/00_introduction/010_project_setup/tsconfig.json
================================================
{
"compilerOptions": {
"target": "ESNext",
"module": "ESNext",
"lib": ["DOM", "ESNext"],
"strict": true,
"paths": {
"chibivue": ["./packages"]
},
"moduleResolution": "Bundler",
"allowJs": true,
"esModuleInterop": true
},
"include": ["packages/**/*.ts", "examples/**/**.ts"],
"exclude": ["node_modules", "dist"]
}
================================================
FILE: book/impls/10_minimum_example/010_create_app/examples/playground/.gitignore
================================================
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
dist
dist-ssr
*.local
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
================================================
FILE: book/impls/10_minimum_example/010_create_app/examples/playground/index.html
================================================
chibivue
================================================
FILE: book/impls/10_minimum_example/010_create_app/examples/playground/package.json
================================================
{
"name": "playground",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"preview": "vite preview"
},
"devDependencies": {
"typescript": "^5.9.3",
"vite": "^8.0.0"
},
"license": "MIT"
}
================================================
FILE: book/impls/10_minimum_example/010_create_app/examples/playground/src/main.ts
================================================
import { createApp } from "chibivue";
const app = createApp({
render() {
return "Hello world.";
},
});
app.mount("#app");
================================================
FILE: book/impls/10_minimum_example/010_create_app/examples/playground/tsconfig.json
================================================
{
"compilerOptions": {
"target": "ESNext",
"useDefineForClassFields": true,
"module": "ESNext",
"lib": ["ESNext", "DOM"],
"moduleResolution": "Bundler",
"strict": true,
"resolveJsonModule": true,
"isolatedModules": true,
"esModuleInterop": true,
"noEmit": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"skipLibCheck": true,
"paths": {
"chibivue": ["../../packages"]
}
},
"include": ["src"]
}
================================================
FILE: book/impls/10_minimum_example/010_create_app/examples/playground/vite.config.ts
================================================
import path from "node:path";
import { fileURLToPath } from "node:url";
import { defineConfig } from "vite";
const dirname = path.dirname(fileURLToPath(new URL(import.meta.url)));
export default defineConfig({
resolve: {
alias: {
chibivue: path.resolve(dirname, "../../packages"),
},
},
});
================================================
FILE: book/impls/10_minimum_example/010_create_app/package.json
================================================
{
"name": "01_project_setup",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "cd examples/playground && pnpm i && pnpm run dev"
},
"keywords": [],
"author": "ubugeeei ",
"license": "MIT",
"devDependencies": {
"@types/node": "^24.10.9"
}
}
================================================
FILE: book/impls/10_minimum_example/010_create_app/packages/index.ts
================================================
export type Options = {
render: () => string;
};
export type App = {
mount: (selector: string) => void;
};
export const createApp = (options: Options): App => {
return {
mount: (selector) => {
const root = document.querySelector(selector);
if (root) {
root.innerHTML = options.render();
}
},
};
};
================================================
FILE: book/impls/10_minimum_example/010_create_app/tests/e2e.spec.ts
================================================
import { afterEach, beforeEach, describe, expect, it } from "vitest";
import { createApp } from "../packages";
let host: HTMLElement;
const initHost = () => {
host = document.createElement("div");
host.setAttribute("id", "host");
document.body.appendChild(host);
};
beforeEach(() => initHost());
afterEach(() => host.remove());
describe("10_minimum_example/010_create_app", () => {
it("should render a message", () => {
const app = createApp({
render() {
return "Hello world.";
},
});
app.mount("#host");
expect(host.innerHTML).toBe("Hello world.");
});
});
================================================
FILE: book/impls/10_minimum_example/010_create_app/tsconfig.json
================================================
{
"compilerOptions": {
"target": "ESNext",
"module": "ESNext",
"lib": ["DOM", "ESNext"],
"strict": true,
"paths": {
"chibivue": ["./packages"]
},
"moduleResolution": "Bundler",
"allowJs": true,
"esModuleInterop": true
},
"include": ["packages/**/*.ts", "examples/**/**.ts"],
"exclude": ["node_modules", "dist"]
}
================================================
FILE: book/impls/10_minimum_example/015_package_architecture/examples/playground/.gitignore
================================================
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
dist
dist-ssr
*.local
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
================================================
FILE: book/impls/10_minimum_example/015_package_architecture/examples/playground/index.html
================================================
chibivue
================================================
FILE: book/impls/10_minimum_example/015_package_architecture/examples/playground/package.json
================================================
{
"name": "playground",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"preview": "vite preview"
},
"devDependencies": {
"typescript": "^5.9.3",
"vite": "^8.0.0"
},
"license": "MIT"
}
================================================
FILE: book/impls/10_minimum_example/015_package_architecture/examples/playground/src/main.ts
================================================
import { createApp } from "chibivue";
const app = createApp({
render() {
return "Hello world.";
},
});
app.mount("#app");
================================================
FILE: book/impls/10_minimum_example/015_package_architecture/examples/playground/tsconfig.json
================================================
{
"compilerOptions": {
"target": "ESNext",
"useDefineForClassFields": true,
"module": "ESNext",
"lib": ["ESNext", "DOM"],
"moduleResolution": "Bundler",
"strict": true,
"resolveJsonModule": true,
"isolatedModules": true,
"esModuleInterop": true,
"noEmit": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"skipLibCheck": true,
"paths": {
"chibivue": ["../../packages"]
}
},
"include": ["src"]
}
================================================
FILE: book/impls/10_minimum_example/015_package_architecture/examples/playground/vite.config.ts
================================================
import path from "node:path";
import { fileURLToPath } from "node:url";
import { defineConfig } from "vite";
const dirname = path.dirname(fileURLToPath(new URL(import.meta.url)));
export default defineConfig({
resolve: {
alias: {
chibivue: path.resolve(dirname, "../../packages"),
},
},
});
================================================
FILE: book/impls/10_minimum_example/015_package_architecture/package.json
================================================
{
"name": "01_project_setup",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "cd examples/playground && pnpm i && pnpm run dev"
},
"keywords": [],
"author": "ubugeeei ",
"license": "MIT",
"devDependencies": {
"@types/node": "^24.10.9"
}
}
================================================
FILE: book/impls/10_minimum_example/015_package_architecture/packages/index.ts
================================================
export * from "./runtime-dom";
================================================
FILE: book/impls/10_minimum_example/015_package_architecture/packages/runtime-core/apiCreateApp.ts
================================================
import type { Component } from "./component";
import type { RootRenderFunction } from "./renderer";
export interface App {
mount(rootContainer: HostElement | string): void;
}
export type CreateAppFunction = (rootComponent: Component) => App;
export function createAppAPI(
render: RootRenderFunction,
): CreateAppFunction {
return function createApp(rootComponent) {
const app: App = {
mount(rootContainer: HostElement) {
const message = rootComponent.render!();
render(message, rootContainer);
},
};
return app;
};
}
================================================
FILE: book/impls/10_minimum_example/015_package_architecture/packages/runtime-core/component.ts
================================================
import type { ComponentOptions } from "./componentOptions";
export type Component = ComponentOptions;
================================================
FILE: book/impls/10_minimum_example/015_package_architecture/packages/runtime-core/componentOptions.ts
================================================
export type ComponentOptions = {
render?: Function;
};
================================================
FILE: book/impls/10_minimum_example/015_package_architecture/packages/runtime-core/index.ts
================================================
export type { App, CreateAppFunction } from "./apiCreateApp";
export { createAppAPI } from "./apiCreateApp";
export type { RendererOptions } from "./renderer";
export { createRenderer } from "./renderer";
================================================
FILE: book/impls/10_minimum_example/015_package_architecture/packages/runtime-core/renderer.ts
================================================
export type RootRenderFunction = (
message: string,
container: HostElement,
) => void;
export interface RendererOptions {
setElementText(node: HostNode, text: string): void;
}
export interface RendererNode {
[key: string]: any;
}
export interface RendererElement extends RendererNode {}
export function createRenderer(options: RendererOptions) {
const { setElementText: hostSetElementText } = options;
const render: RootRenderFunction = (message, container) => {
hostSetElementText(container, message);
};
return { render };
}
================================================
FILE: book/impls/10_minimum_example/015_package_architecture/packages/runtime-dom/index.ts
================================================
import { type CreateAppFunction, createAppAPI, createRenderer } from "../runtime-core";
import { nodeOps } from "./nodeOps";
const { render } = createRenderer(nodeOps);
const _createApp = createAppAPI(render);
export const createApp = ((...args) => {
const app = _createApp(...args);
const { mount } = app;
app.mount = (selector: string) => {
const container = document.querySelector(selector);
if (!container) return;
mount(container);
};
return app;
}) as CreateAppFunction;
================================================
FILE: book/impls/10_minimum_example/015_package_architecture/packages/runtime-dom/nodeOps.ts
================================================
import type { RendererOptions } from "../runtime-core";
export const nodeOps: RendererOptions = {
setElementText(node, text) {
node.textContent = text;
},
};
================================================
FILE: book/impls/10_minimum_example/015_package_architecture/tests/e2e.spec.ts
================================================
import { afterEach, beforeEach, describe, expect, it } from "vitest";
import { createApp } from "../packages";
let host: HTMLElement;
const initHost = () => {
host = document.createElement("div");
host.setAttribute("id", "host");
document.body.appendChild(host);
};
beforeEach(() => initHost());
afterEach(() => host.remove());
describe("10_minimum_example/015_package_architecture", () => {
it("should render a message", () => {
const app = createApp({
render() {
return "Hello world.";
},
});
app.mount("#host");
expect(host.innerHTML).toBe("Hello world.");
});
});
================================================
FILE: book/impls/10_minimum_example/015_package_architecture/tsconfig.json
================================================
{
"compilerOptions": {
"target": "ESNext",
"module": "ESNext",
"lib": ["DOM", "ESNext"],
"strict": true,
"paths": {
"chibivue": ["./packages"]
},
"moduleResolution": "Bundler",
"allowJs": true,
"esModuleInterop": true
},
"include": ["packages/**/*.ts", "examples/**/**.ts"],
"exclude": ["node_modules", "dist"]
}
================================================
FILE: book/impls/10_minimum_example/020_simple_h_function/examples/playground/.gitignore
================================================
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
dist
dist-ssr
*.local
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
================================================
FILE: book/impls/10_minimum_example/020_simple_h_function/examples/playground/index.html
================================================
chibivue
================================================
FILE: book/impls/10_minimum_example/020_simple_h_function/examples/playground/package.json
================================================
{
"name": "playground",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"preview": "vite preview"
},
"devDependencies": {
"typescript": "^5.9.3",
"vite": "^8.0.0"
},
"license": "MIT"
}
================================================
FILE: book/impls/10_minimum_example/020_simple_h_function/examples/playground/src/main.ts
================================================
import { createApp, h } from "chibivue";
const app = createApp({
render() {
return h("div", { id: "my-app" }, [
h("p", { style: "color: red; font-weight: bold;" }, ["Hello world."]),
h(
"button",
{
onClick() {
alert("Hello world!");
},
},
["click me!"],
),
]);
},
});
app.mount("#app");
================================================
FILE: book/impls/10_minimum_example/020_simple_h_function/examples/playground/tsconfig.json
================================================
{
"compilerOptions": {
"target": "ESNext",
"useDefineForClassFields": true,
"module": "ESNext",
"lib": ["ESNext", "DOM"],
"moduleResolution": "Bundler",
"strict": true,
"resolveJsonModule": true,
"isolatedModules": true,
"esModuleInterop": true,
"noEmit": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"skipLibCheck": true,
"paths": {
"chibivue": ["../../packages"]
}
},
"include": ["src"]
}
================================================
FILE: book/impls/10_minimum_example/020_simple_h_function/examples/playground/vite.config.ts
================================================
import path from "node:path";
import { fileURLToPath } from "node:url";
import { defineConfig } from "vite";
const dirname = path.dirname(fileURLToPath(new URL(import.meta.url)));
export default defineConfig({
resolve: {
alias: {
chibivue: path.resolve(dirname, "../../packages"),
},
},
});
================================================
FILE: book/impls/10_minimum_example/020_simple_h_function/package.json
================================================
{
"name": "01_project_setup",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "cd examples/playground && pnpm i && pnpm run dev"
},
"keywords": [],
"author": "ubugeeei ",
"license": "MIT",
"devDependencies": {
"@types/node": "^24.10.9"
}
}
================================================
FILE: book/impls/10_minimum_example/020_simple_h_function/packages/index.ts
================================================
export * from "./runtime-core";
export * from "./runtime-dom";
================================================
FILE: book/impls/10_minimum_example/020_simple_h_function/packages/runtime-core/apiCreateApp.ts
================================================
import type { Component } from "./component";
import type { RootRenderFunction } from "./renderer";
export interface App {
mount(rootContainer: HostElement | string): void;
}
export type CreateAppFunction = (rootComponent: Component) => App;
export function createAppAPI(
render: RootRenderFunction,
): CreateAppFunction {
return function createApp(rootComponent) {
const app: App = {
mount(rootContainer: HostElement) {
const vnode = rootComponent.render!();
render(vnode, rootContainer);
},
};
return app;
};
}
================================================
FILE: book/impls/10_minimum_example/020_simple_h_function/packages/runtime-core/component.ts
================================================
import type { ComponentOptions } from "./componentOptions";
export type Component = ComponentOptions;
================================================
FILE: book/impls/10_minimum_example/020_simple_h_function/packages/runtime-core/componentOptions.ts
================================================
export type ComponentOptions = {
render?: Function;
};
================================================
FILE: book/impls/10_minimum_example/020_simple_h_function/packages/runtime-core/h.ts
================================================
import type { VNode, VNodeProps } from "./vnode";
export function h(type: string, props: VNodeProps, children: (VNode | string)[]) {
return { type, props, children };
}
================================================
FILE: book/impls/10_minimum_example/020_simple_h_function/packages/runtime-core/index.ts
================================================
export type { App, CreateAppFunction } from "./apiCreateApp";
export { createAppAPI } from "./apiCreateApp";
export type { RendererOptions } from "./renderer";
export { createRenderer } from "./renderer";
export { h } from "./h";
================================================
FILE: book/impls/10_minimum_example/020_simple_h_function/packages/runtime-core/renderer.ts
================================================
import type { VNode } from "./vnode";
export type RootRenderFunction = (
vnode: VNode,
container: HostElement,
) => void;
export interface RendererOptions {
patchProp(el: HostElement, key: string, value: any): void;
createElement(type: string): HostElement;
createText(text: string): HostNode;
setElementText(node: HostNode, text: string): void;
insert(child: HostNode, parent: HostNode, anchor?: HostNode | null): void;
}
export interface RendererNode {
[key: string]: any;
}
export interface RendererElement extends RendererNode {}
export function createRenderer(options: RendererOptions) {
const {
patchProp: hostPatchProp,
createElement: hostCreateElement,
createText: hostCreateText,
insert: hostInsert,
} = options;
function renderVNode(vnode: VNode | string) {
if (typeof vnode === "string") return hostCreateText(vnode);
const el = hostCreateElement(vnode.type);
Object.entries(vnode.props).forEach(([key, value]) => {
hostPatchProp(el, key, value);
});
for (const child of vnode.children) {
const childEl = renderVNode(child);
hostInsert(childEl, el);
}
return el;
}
const render: RootRenderFunction = (vnode, container) => {
const el = renderVNode(vnode);
hostInsert(el, container);
};
return { render };
}
================================================
FILE: book/impls/10_minimum_example/020_simple_h_function/packages/runtime-core/vnode.ts
================================================
export interface VNode {
type: string;
props: VNodeProps;
children: (VNode | string)[];
}
export interface VNodeProps {
[key: string]: any;
}
================================================
FILE: book/impls/10_minimum_example/020_simple_h_function/packages/runtime-dom/index.ts
================================================
import { type CreateAppFunction, createAppAPI, createRenderer } from "../runtime-core";
import { nodeOps } from "./nodeOps";
import { patchProp } from "./patchProp";
const { render } = createRenderer({ ...nodeOps, patchProp });
const _createApp = createAppAPI(render);
export const createApp = ((...args) => {
const app = _createApp(...args);
const { mount } = app;
app.mount = (selector: string) => {
const container = document.querySelector(selector);
if (!container) return;
mount(container);
};
return app;
}) as CreateAppFunction;
================================================
FILE: book/impls/10_minimum_example/020_simple_h_function/packages/runtime-dom/modules/attrs.ts
================================================
export function patchAttr(el: Element, key: string, value: any) {
if (value == null) {
el.removeAttribute(key);
} else {
el.setAttribute(key, value);
}
}
================================================
FILE: book/impls/10_minimum_example/020_simple_h_function/packages/runtime-dom/modules/events.ts
================================================
interface Invoker extends EventListener {
value: EventValue;
}
type EventValue = Function;
export function addEventListener(el: Element, event: string, handler: EventListener) {
el.addEventListener(event, handler);
}
export function removeEventListener(el: Element, event: string, handler: EventListener) {
el.removeEventListener(event, handler);
}
export function patchEvent(
el: Element & { _vei?: Record },
rawName: string,
value: EventValue | null,
) {
// vei = vue event invokers
const invokers = el._vei || (el._vei = {});
const existingInvoker = invokers[rawName];
if (value && existingInvoker) {
// patch
existingInvoker.value = value;
} else {
const name = parseName(rawName);
if (value) {
// add
const invoker = (invokers[rawName] = createInvoker(value));
addEventListener(el, name, invoker);
} else if (existingInvoker) {
// remove
removeEventListener(el, name, existingInvoker);
invokers[rawName] = undefined;
}
}
}
function parseName(rawName: string): string {
return rawName.slice(2).toLocaleLowerCase();
}
function createInvoker(initialValue: EventValue) {
const invoker: Invoker = (e: Event) => {
invoker.value(e);
};
invoker.value = initialValue;
return invoker;
}
================================================
FILE: book/impls/10_minimum_example/020_simple_h_function/packages/runtime-dom/nodeOps.ts
================================================
import type { RendererOptions } from "../runtime-core";
export const nodeOps: Omit, "patchProp"> = {
createElement: (tagName) => {
return document.createElement(tagName);
},
createText: (text: string) => {
return document.createTextNode(text);
},
setElementText(node, text) {
node.textContent = text;
},
insert: (child, parent, anchor) => {
parent.insertBefore(child, anchor || null);
},
};
================================================
FILE: book/impls/10_minimum_example/020_simple_h_function/packages/runtime-dom/patchProp.ts
================================================
import type { RendererOptions } from "../runtime-core";
import { patchAttr } from "./modules/attrs";
import { patchEvent } from "./modules/events";
type DOMRendererOptions = RendererOptions;
const onRE = /^on[^a-z]/;
export const isOn = (key: string) => onRE.test(key);
export const patchProp: DOMRendererOptions["patchProp"] = (el, key, value) => {
if (isOn(key)) {
patchEvent(el, key, value);
} else {
patchAttr(el, key, value);
}
};
================================================
FILE: book/impls/10_minimum_example/020_simple_h_function/tests/e2e.spec.ts
================================================
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
import { createApp, h } from "../packages";
let host: HTMLElement;
const initHost = () => {
host = document.createElement("div");
host.setAttribute("id", "host");
document.body.appendChild(host);
};
beforeEach(() => initHost());
afterEach(() => host.remove());
describe("10_minimum_example/020_simple_h_function", () => {
it("should render with h function", () => {
const app = createApp({
render() {
return h("div", { id: "my-app" }, [h("p", {}, ["Hello world."])]);
},
});
app.mount("#host");
expect(host.innerHTML).toBe('');
});
it("should handle click events", () => {
const onClick = vi.fn();
const app = createApp({
render() {
return h("button", { id: "btn", onClick }, ["click me"]);
},
});
app.mount("#host");
const btn = host.querySelector("#btn") as HTMLButtonElement;
btn.click();
expect(onClick).toHaveBeenCalled();
});
});
================================================
FILE: book/impls/10_minimum_example/020_simple_h_function/tsconfig.json
================================================
{
"compilerOptions": {
"target": "ESNext",
"module": "ESNext",
"lib": ["DOM", "ESNext"],
"strict": true,
"paths": {
"chibivue": ["./packages"]
},
"moduleResolution": "Bundler",
"allowJs": true,
"esModuleInterop": true
},
"include": ["packages/**/*.ts", "examples/**/**.ts"],
"exclude": ["node_modules", "dist"]
}
================================================
FILE: book/impls/10_minimum_example/030_reactive_system/examples/playground/.gitignore
================================================
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
dist
dist-ssr
*.local
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
================================================
FILE: book/impls/10_minimum_example/030_reactive_system/examples/playground/index.html
================================================
chibivue
================================================
FILE: book/impls/10_minimum_example/030_reactive_system/examples/playground/package.json
================================================
{
"name": "playground",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"preview": "vite preview"
},
"devDependencies": {
"typescript": "^5.9.3",
"vite": "^8.0.0"
},
"license": "MIT"
}
================================================
FILE: book/impls/10_minimum_example/030_reactive_system/examples/playground/src/main.ts
================================================
import { createApp, h, reactive } from "chibivue";
const app = createApp({
setup() {
const state = reactive({ count: 0 });
const increment = () => state.count++;
return function render() {
return h("div", { id: "my-app" }, [
h("p", {}, [`count: ${state.count}`]),
h("button", { onClick: increment }, ["increment"]),
]);
};
},
});
app.mount("#app");
================================================
FILE: book/impls/10_minimum_example/030_reactive_system/examples/playground/tsconfig.json
================================================
{
"compilerOptions": {
"target": "ESNext",
"useDefineForClassFields": true,
"module": "ESNext",
"lib": ["ESNext", "DOM"],
"moduleResolution": "Bundler",
"strict": true,
"resolveJsonModule": true,
"isolatedModules": true,
"esModuleInterop": true,
"noEmit": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"skipLibCheck": true,
"paths": {
"chibivue": ["../../packages"]
}
},
"include": ["src"]
}
================================================
FILE: book/impls/10_minimum_example/030_reactive_system/examples/playground/vite.config.ts
================================================
import path from "node:path";
import { fileURLToPath } from "node:url";
import { defineConfig } from "vite";
const dirname = path.dirname(fileURLToPath(new URL(import.meta.url)));
export default defineConfig({
resolve: {
alias: {
chibivue: path.resolve(dirname, "../../packages"),
},
},
});
================================================
FILE: book/impls/10_minimum_example/030_reactive_system/package.json
================================================
{
"name": "01_project_setup",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "cd examples/playground && pnpm i && pnpm run dev"
},
"keywords": [],
"author": "ubugeeei ",
"license": "MIT",
"devDependencies": {
"@types/node": "^24.10.9"
}
}
================================================
FILE: book/impls/10_minimum_example/030_reactive_system/packages/index.ts
================================================
export * from "./runtime-core";
export * from "./runtime-dom";
export * from "./reactivity";
================================================
FILE: book/impls/10_minimum_example/030_reactive_system/packages/reactivity/baseHandler.ts
================================================
import { track, trigger } from "./effect";
import { reactive } from "./reactive";
export const mutableHandlers: ProxyHandler