Vue

The progressive JavaScript framework for building fast, reactive user interfaces.

Framework
npm
v3.5.44
54,798 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
95 /100 Excellent
Development Activity 100
Maintenance 96
Community 84
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
93 /100 Excellent
Architecture 92
Code Quality 94
Innovation 90
Learning Curve 95

Vue (published to npm as vue, developed at github.com/vuejs/core) is a progressive JavaScript framework for building user interfaces on the web. It layers an approachable, template-driven core for simple pages on top of a fully typed Composition API for scaling up to large single-page applications, and it can be adopted incrementally — dropped into a page via a script tag or driven through a full build pipeline with single-file components.

The framework ships as a coordinated monorepo of packages: a standalone fine-grained reactivity system, a template compiler that produces optimized render functions, a platform-agnostic virtual-DOM runtime, and a server-renderer for SSR/SSG. Official companion libraries (Vue Router, Pinia, Vite tooling) extend it into a complete application stack without pulling third-party routing or state management into the core.

What You Get

  • A fine-grained reactivity system (reactive(), ref(), computed(), watch()) that tracks dependencies at the property level via Proxies, so only the DOM that actually changed re-renders.
  • Single-file components (.vue) compiled by @vue/compiler-sfc, combining template, script (Options API or <script setup> Composition API), and scoped styles in one file with full TypeScript inference.
  • A platform-agnostic virtual-DOM runtime (runtime-core + runtime-dom) with a createApp() API for plugins, mixins, directives, provide/inject dependency injection, and lifecycle hooks.
  • First-class server-side rendering and hydration via @vue/server-renderer, plus a template compiler that emits highly optimized render functions with static hoisting and patch-flag diffing.
  • An official ecosystem — Vue Router for navigation, Pinia for state management, and Vite-based tooling — maintained alongside the core so routing and state aren’t left to the community to standardize.

Common Use Cases

  • Building single-page applications with client-side routing and centralized state, using Vue Router and Pinia alongside the core reactivity and component model.
  • Progressively enhancing server-rendered pages by mounting Vue components into specific DOM elements without a full SPA build pipeline.
  • Server-side rendering and static site generation for content-heavy or SEO-sensitive sites, via @vue/server-renderer or meta-frameworks like Nuxt that build on Vue core.
  • Authoring reusable, typed UI component libraries with <script setup> and the Composition API for consumption across multiple applications.

Under The Hood

Architecture Vue Core is organized as a pnpm monorepo of tightly coupled packages under packages/: reactivity implements fine-grained dependency tracking through Proxy-based reactive()/ref() and a doubly-linked-list subscriber graph in effect.ts; compiler-core/compiler-dom/compiler-sfc/compiler-ssr parse templates into an AST (parser.ts, ast.ts) and transform/codegen them into render functions, with compiler-sfc additionally handling <script setup> compilation and scoped CSS; runtime-core/runtime-dom/runtime-test implement a platform-agnostic virtual-DOM renderer, component instance lifecycle, and the public createApp() API in apiCreateApp.ts; server-renderer renders component trees to HTML strings/streams for SSR; and shared holds cross-package utilities. The runtime consumes compiler output and reactivity effects together — component re-renders are scheduled reactive effects (scheduler.ts) triggered when tracked reactive state changes.

Tech Stack The codebase is ~97% TypeScript, built with Rollup (rollup.config.js, rollup.dts.config.js for bundled .d.ts output), tested with Vitest across unit, e2e, and browser projects, linted with ESLint and formatted with Prettier, and enforces both via simple-git-hooks + lint-staged pre-commit checks and a commit-message validator (verify-commit.js). The workspace is managed by pnpm 11 across 12 packages, with releases cut through a custom scripts/release.js and changelog generated via conventional-changelog.

Code Quality The repo carries 206 test files and roughly 3,962 individual test cases colocated under each package’s __tests__ directory, covering reactivity edge cases, compiler output snapshots, and runtime DOM behavior. Core internals like effect.ts use documented bitflag enums (EffectFlags) and a linked-list Subscriber/Link structure with JSDoc explaining the tracking algorithm, and public-API files follow a consistent apiXxx.ts naming convention that makes the framework’s exported surface easy to audit.

API Design Vue exposes two complementary authoring styles from the same runtime: the Options API (data/computed/methods, defined in componentOptions.ts) for approachable, self-contained components, and the Composition API (apiComputed.ts, apiWatch.ts, apiInject.ts, apiSetupHelpers.ts) for composing and reusing stateful logic across components, both fully typed through defineComponent/defineProps generics. A minimal app only needs createApp(App).mount('#app'), and <script setup> SFCs let compiler-sfc infer prop and emit types with almost no boilerplate.

Used by 75 apps in this directory

Rust
37%
Other

Hook0

Devops

1,504

Open-source Webhooks-as-a-Service: deliver events to your users with auto-retry, signed payloads, and a real-time subscriber dashboard — all without building the infrastructure yourself.

View details
84
Repo Health
82
Technical
69
Dependency
Built with
Rust 37%
TypeScript 12%
Updated 1 weeks ago
TypeScript
68%
MIT

Hoppscotch

Developer Tools

80,676

A lightweight, offline-capable API development ecosystem for testing HTTP, GraphQL, WebSocket, MQTT, and SSE endpoints across web, desktop, and CLI.

View details
91
Repo Health
83
Technical
62
Dependency
Built with
TypeScript 68%
Vue 24%
Updated 1 weeks ago
Python
74%
GPL 3.0

Frappe HR

Human Resources

8,954

Complete open-source HRMS for employee lifecycle, attendance, payroll, and performance — built on Frappe Framework with a mobile PWA.

View details
93
Repo Health
70
Technical
78
Dependency
Built with
Python 74%
JavaScript 15%
Updated 1 weeks ago
Vue
50%
GPL 3.0

IT-Tools

Developer Tools

40,954

A unified collection of 88 web-based developer utilities — from JSON formatting to subnet calculation — all self-hostable, keyboard-searchable, and offline-ready.

View details
60
Repo Health
74
Technical
63
Dependency
Built with
Vue 50%
TypeScript 48%
Updated 1 weeks ago
Java
56%
Apache 2.0

Kestra

Automation · Data Engineering · Devops

29,967

Event-driven orchestration platform for data, AI, and infrastructure workflows — define everything in YAML, run anywhere at scale.

View details
94
Repo Health
81
Technical
69
Dependency
Built with
Java 56%
TypeScript 29%
Vue 14%
Updated 1 weeks ago
TypeScript
98%
MIT

Kimi Code CLI

AI Agents · AI Code Assistants · Developer Tools

7,983

A single-binary, terminal-native coding agent that reads, edits, and runs code end to end, built by Moonshot AI for Kimi models but pluggable with Anthropic, OpenAI, and Google providers too.

View details
83
Repo Health
87
Technical
67
Dependency
Built with
TypeScript 98%
Updated 1 weeks ago
PHP
51%
MIT

Krayin CRM

CRM · Ecommerce

24,049

Free, open-source Laravel & Vue.js CRM for SMEs and enterprises to manage the complete customer lifecycle.

View details
90
Repo Health
68
Technical
67
Dependency
Built with
PHP 51%
Blade 41%
Updated 1 weeks ago
Go
51%
AGPL 3.0

listmonk

Blogging · Marketing

23,944

High-performance, self-hosted newsletter and mailing list manager packaged as a single binary with built-in analytics, transactional messaging, and multi-channel delivery.

View details
90
Repo Health
74
Technical
64
Dependency
Built with
Go 51%
JavaScript 22%
HTML 20%
Updated 6 days ago
TypeScript
72%
Apache 2.0

Litlyx

Analytics

1,746

Cookie-free, AI-powered web analytics you can self-host in 30 seconds with Docker.

View details
45
Repo Health
51
Technical
72
Dependency
Built with
TypeScript 72%
Vue 26%
Updated 11 months ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers