facing-dev/vue-facing-decorator

Introducing vue3-class-component: Support for Vue 3.x and written in pure JavaScript

Haixing-Hu opened this issue · 2 comments

Hi,

I'm excited to announce the release of vue3-class-component, a new version of the Vue class component that brings support for Vue 3.x!

You can find it here:

What's New:

  • Vue 3.x Compatibility: vue3-class-component is now fully compatible with the latest Vue 3.x versions (currently v3.3.4), enabling you to leverage Vue 3's latest features and enhancements.
  • It's written in pure JavaScript rather than TypeScript, setting it apart from vue-facing-decorator.
  • It adopts the most recent (as of May 2023) stage 3 proposal of JavaScript decorators and stage 3 proposal of JavaScript decorator metadata.
  • It offers a set of commonly used decorators for class-style Vue components, including @Prop, @Watch, @Provide, and @Inject. In essence, it combines the functionalities of vue-class-component and vue-property-decorator.
  • It has undergone extensive unit testing, achieving a remarkable 100% code coverage.
  • The code has undergone a complete rewrite, and the functionality of decorators has been redesigned for improved coherence and efficiency.

Getting Started:

To get started with vue3-class-component for Vue 3.x, simply visit the GitHub repository for installation instructions and usage examples.

Feedback and Contributions:

We warmly welcome your feedback, bug reports, and contributions to enhance this library further. Please don't hesitate to open issues, submit pull requests, or participate in discussions within the GitHub Issues section.

Thank you for your support, and we eagerly anticipate your contributions to vue3-class-component as we strive to make it an invaluable asset for the Vue.js community.

Happy coding!

Glad to hear there is another wanted project.

I also should point out that v-f-d could be use in pure JS project and it is compatible with both stage3 and stage2 decorators. It doesn't dependents on decorator metadata because it provides another metadata mechanism by itself.

vuejs/vue-class-component#632 (comment)

  • It's written in pure JavaScript rather than TypeScript, setting it apart from vue-facing-decorator.

That's not a feature, it is a disadvantage, and I wouldn't put that so prominent to be honest. :D :D :D

It's like saying: "Hey, I deliberately used a language that made me introduce a lot of bugs probably and other weird stuff."