Deprecate vue-class-component
What problem does this feature solve?
I am posting this in this repo because it seems that vue-class-component repo is dead.
vue-class-component (https://github.com/vuejs/vue-class-component) library made sense for Vue 2.x when the TypeScript support was really bad. Currently this library provides no additional benefits, it just modifies the syntax of a component. Additionally almost all users of vue-class-component are using vue-property-decorator library which also seems abandoned.
For 3.x the author of vue-class-component introduced a new way of declaring component https://github.com/vuejs/vue-class-component/issues/465 which looks ugly and IMO most developers will not like it. This creates additional chaos because now you can use the new way of declaring props into class components or just install vue-property-decorator and use decorators like it was before.
In conclusion, my suggestion is to deprecate vue-class-component library and do not further suggest new developers using it.
There is no point to fragment the Vue ecosystem into class components and object components where class components provides gain to the standard Vue syntax.
What does the proposed API look like?
- deprecate vue-class-component and vue-property-decorator
- remove "class components" option from vue-cli
It definitely isn't a recommended option anymore in official docs or default tooling (moving to Vite-based soon and vue-cli will be in maintenance mode).
Deprecation will depend on actual usage and @ktsn's intention on further working on the project. I suggest moving the discussion to vue-class-component
repo itself.