vuejs/core
vuejs/core overview
Vue.js is a progressive JavaScript framework for building user interfaces. This repository (vuejs/core) hosts Vue 3 — a complete rewrite of Vue 2 that ships a reactivity system, a virtual DOM renderer, a template compiler, and a Single-File Component (SFC) toolchain as a set of cooperating packages under one monorepo.


The current source corresponds to Vue 3.5.x with the 3.6 line in active development. The repo is the upstream for the vue npm package and all @vue/* scoped packages that power both bundler-based and CDN-based usage.
What lives here
The codebase is split into eleven public packages and a handful of private workspace packages, all coordinated via pnpm workspaces and Rollup:
- Reactivity (
packages/reactivity) — the standalone, framework-agnostic implementation ofref,reactive,computed,effect,watch, and effect scopes. - Runtime core (
packages/runtime-core) — the platform-agnostic component system, virtual DOM renderer, scheduler, and lifecycle/composition APIs. - Runtime DOM (
packages/runtime-dom) — the browser-targeted runtime: DOM node operations, prop patching,<Transition>/<TransitionGroup>, custom element support, and DOM-only directives (v-show,v-model). - Runtime test (
packages/runtime-test) — a tiny in-memory renderer used by Vue's own test suite to exercise renderer logic without a DOM. - Server renderer (
packages/server-renderer) —renderToString, streaming SSR, and the SSR helper runtime. - Compiler core (
packages/compiler-core) — the platform-agnostic template compiler: tokenizer, parser, AST, transform pipeline, and codegen. - Compiler DOM (
packages/compiler-dom) — the browser-flavored compiler that adds DOM-specific transforms and directive handling. - Compiler SFC (
packages/compiler-sfc) — the Single-File Component toolchain (<template>,<script setup>,<style scoped>, asset URL rewriting, type-based macros). - Compiler SSR (
packages/compiler-ssr) — generates string-concatenation render functions optimized for server rendering. - Shared (
packages/shared) — environment-agnostic helpers (patch flags, shape flags, normalizers, code frame, escape) used by both runtime and compiler. - vue (
packages/vue) — the public-facing aggregate package. Ships the "full build" (compiler + runtime), runtime-only build, JSX types, and is what usersimport vue from 'vue'. - vue-compat (
packages/vue-compat) — Vue 2 compatibility build, opt-in via configuration.
For the high-level interaction between these, see architecture. For each package's internals, see the packages section.
Who uses this
- Application authors consume the
vuepackage, either through a bundler (esm-bundlerbuilds), a CDN (globalbuilds), or via the SFC toolchain integrated into Vite, vue-loader, or the SFC Playground. - Custom-renderer authors (Vue Native, Onsen UI, Lottie renderers, the
runtime-testpackage itself) import from@vue/runtime-coredirectly and supply their ownnodeOps/patchPropto drive non-DOM targets. - Tooling authors (Vite's plugin-vue, Volar, vue-loader, the
@vue/replSFC playground) consume@vue/compiler-sfcto parse.vuefiles and generate render functions and HMR-aware module code.
Quick links
- Architecture — package graph, render pipeline, and reactive update cycle
- Getting started — clone, install, build, test, and run the SFC Playground
- Glossary — Vue-specific vocabulary used throughout this wiki and the source
- How to contribute — workflow, branches, conventions
- Packages — per-package deep dives
- Features — cross-cutting capabilities (reactivity, compilation, SSR, hydration)
- Reference — feature flags, dependencies, configuration
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.