Public Wiki52,917View on GitHub
Want vuejs/core knowledge in your AI?

Vue.js

Vue.js is a progressive JavaScript framework for building user interfaces. This is the official Vue 3 monorepo containing the complete framework implementation: a fine-grained reactivity system, a virtual DOM runtime, template compilers for browser and server-side rendering, and Single File Component (SFC) tooling with script setup syntax.

Tech Stack

Vue.jsVitestReactTypeScript

Key Features

  • Fine-grained Reactivity
  • Template Compiler
  • Single File Components
  • Virtual DOM Runtime
  • Built-in Components
  • Server-Side Rendering
  • Vue 2 Compatibility

Coding Conventions

Standards and patterns used in this codebase

file-organization

Monorepo structure: apps/ contains deployable applications, packages/ contains shared libraries

Packages: packages/global.d.ts, packages/compiler-core, packages/compiler-dom
packages/global.d.tspackages/compiler-core
naming

File naming uses: kebab-case, camelCase

eslint.config.js, rollup.config.js, rollup.dts.config.js, vitest.config.ts, global.d.ts
eslint.config.jsrollup.config.jsrollup.dts.config.js
code-style

TypeScript is the primary language

All new files should be .ts or .tsx
vitest.config.tspackages/global.d.tsscripts/setup-vitest.ts
testing

Tests use .spec. pattern

Test files are named like component.test.ts or placed in __tests__/
packages/compiler-sfc/__tests__/compileScript.spec.ts
configuration

Configuration is centralized in config files

Config files: eslint.config.js, rollup.config.js
eslint.config.jsrollup.config.jsrollup.dts.config.js
module-exports

Use index.ts barrel files to export module public API

Each module has index.ts that re-exports public functions
packages/compiler-core/index.jspackages/compiler-dom/index.jspackages/reactivity/index.js
typescript

Types are defined in dedicated type files

Type files: packages/global.d.ts, packages/vue/jsx.d.ts
packages/global.d.tspackages/vue/jsx.d.ts