vuejs/eslint-plugin-vue

Official ESLint plugin for Vue.js

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 26 minutes ago
Added to GitGenius on September 15th, 2026
Created on August 29th, 2016
Open Issues & Pull Requests: 209 (+0)
GitHub issues: Enabled
Number of forks: 718
Total Stargazers: 4,590 (+0)
Total Subscribers: 52 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 16.7 hours
Mean response time: 64.1 days
90th percentile: 172.3 days
Tracked items: 241

Most active contributors

Sign in to see contributor activity.

How this project is maintained

About 15% of issues opened in the past year have never received a reply. 90% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "enhancement" is answered fastest, typically in about 13 hours, while "new rule proposition" waits about 5 days. Only 51% of issues opened in the past year have been closed. Three people close 85% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 83
New in 7 days: 3
Closed in 7 days: 1
Avg open age: 740 days
Stale 30+ days: 80
Stale 90+ days: 64

Recent activity

Opened in 7 days: 3
Closed in 7 days: 1
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • accepted proposition (25)
  • bug (25)
  • enhancement (21)
  • new rule proposition (16)
  • feat: typescript (13)
  • help wanted (12)
  • question (8)
  • needs repro (7)

Detailed Description

eslint-plugin-vue is an ESLint plugin that enforces code quality and style standards for Vue.js projects.

The plugin addresses the need to lint Vue single-file components, which are not plain JavaScript but a custom file format combining templates, scripts, and styles. The standard ESLint parser cannot handle this syntax, so the plugin uses vue-eslint-parser as a replacement parser. This parser generates an enhanced abstract syntax tree with nodes representing specific parts of template syntax alongside script contents, allowing ESLint rules to inspect and validate both the template and script portions of Vue components.

Teams building Vue applications should adopt this plugin to catch common mistakes and enforce consistency across their codebase. It suits any Vue project, from small applications to large frameworks like Nuxt. The plugin is the official tool maintained by the Vue team, making it the natural choice for Vue-specific linting rather than relying on generic JavaScript linters alone.

The project maintains an active development cadence with regular releases published through GitHub Releases. The maintainers follow a non-standard versioning approach where minor version updates may introduce stricter rules and report additional linting errors, requiring users to pin versions with the tilde operator to avoid unexpected build failures. The project actively welcomes contributions and provides comprehensive developer documentation including guides for writing new rules, with examples and references to the vue-eslint-parser AST documentation to help contributors understand the enhanced syntax tree structure.