vuejs/vue-class-component — explained in plain English
Analysis updated 2026-06-26
Writing Vue components using TypeScript classes and decorators instead of the options object style
Maintaining legacy Vue projects that were built with class-based component syntax
Migrating existing vue-class-component code to modern Vue 3 Composition API using the vue-class-migrator tool
Referencing deprecated patterns when evaluating community fork vue-facing-decorator as a replacement
| vuejs/vue-class-component | galacean/engine | piotrwitek/utility-types | |
|---|---|---|---|
| Stars | 5,765 | 5,768 | 5,759 |
| Language | TypeScript | TypeScript | TypeScript |
| Setup difficulty | easy | moderate | easy |
| Complexity | 2/5 | 4/5 | 2/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Project is deprecated. For new projects use Vue 3 Composition API with script setup. For class-style components consider vue-facing-decorator. For migration use vue-class-migrator CLI tool.
Vue Class Component was a library that let developers write Vue components using a class-based syntax with decorators, rather than the standard object-based options style that Vue uses by default. Instead of writing a component as a plain JavaScript object with properties like data, methods, and computed, you could define it as a TypeScript class where each method and property had a more familiar object-oriented structure. The library is now deprecated and no longer actively maintained by the Vue team. The README explicitly states that class-based components are no longer the recommended approach for Vue 3. The current recommendation for building Vue 3 applications is to use Single-File Components with the Composition API and the script setup syntax, which offers better TypeScript support and more flexibility without needing class syntax or decorators. For developers who still want to write class-style Vue components, the README points to a community-maintained fork called vue-facing-decorator. For developers who have existing code written with vue-class-component and want to migrate away from it, a separate CLI migration tool called vue-class-migrator is mentioned as a starting point for that transition. The original library is MIT licensed and documentation for earlier versions remains available at class-component.vuejs.org. The README for this repository is intentionally sparse since the project is no longer being developed.
Vue Class Component was a library enabling TypeScript class-based syntax for Vue components using decorators. Now deprecated by the Vue team, who recommend the Composition API with script setup instead. Community fork vue-facing-decorator exists for those who still want class-style components.
Mainly TypeScript. The stack also includes TypeScript, Vue.js, Decorators.
MIT licensed. Free to use, modify, and distribute for any purpose including commercial projects.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.