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-dompackages/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.tseslint.config.jsrollup.config.jsrollup.dts.config.js
code-style
TypeScript is the primary language
All new files should be .ts or .tsxvitest.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.jseslint.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 functionspackages/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.tspackages/global.d.tspackages/vue/jsx.d.ts