vuejs/awesome-vue

Vue3 compatibility status of central vue libraries

elevatebart opened this issue · 46 comments

Objective:

Guide developers in their migration from vue 2 to vue 3, specifically in their dependencies

Contents

  • name of library
  • name of the branch where the vue 3 work has started
  • how to install the vue 3 compatible version
  • The GH issue where the progress is tracked
  • if the author(s) has started documenting how to migrate from vue 2 to vue 3, add a link to the docs.
Framework Branch name npm install GH Issue # Docs
NuxtJS - - 5708
Gridsome vue-next - 1289
Quasar vue3-work - 7836
vuepress vuepress-next (other repo) - 2550
NativeScript-Vue rigor789/nativescript-vue-next (fork) nativescript-vue@next 583
Library Branch name npm install GH Issue # Docs
vuetify next - - Notion board
bootstrap-vue lamebear/vue3 (fork) - 5196
buefy - - 2505
chakra-ui - - 116
element-ui element-plus (other repo) element-plus 20061
inkline - - 207
primevue master primevue
oruga oruga-next (monorepo) oruga-next
Tool Branch name npm install GH Issue # Docs
Vue Formulate axwalker/support-vue-3 (fork) - 198
@testing-library/vue vue3 @testing-library/vue@next -
vue-apollo v4 - 1011 V4 docs (Vue 3)
vue-meta next - 558
vue-axe vue-axe-next (other repo) vue-axe@beta 1 demo site
vee-validate next vee-validate@next 2670 v4 docs
vuelidate next @vuelidate/core @vuelidate/validators 2.0 V2 docs
jsdoc-vuejs - - 386
Workbench Branch name npm install GH Issue # Docs
Storybook - - 10654
Vue Styleguidist next - 997
Component Branch name npm install GH Issue # Docs
vue-multiselect - - 1291
vue2-leaflet vue-leaflet (other repo) - 455
tiptap - - 735
tsParticles vue3 particle.vue3 - migration docs
vue-live next vue-live@next 54
vue-prism-editor feature/next vue-prism-editor@alpha 90
vue-ctk-date-time-picker - - 315

This issue closes the one on awesome-vue3

sonicoder86/awesome-vue-3#30

Scrum commented

Great table, we can put it in a separate markdown file and add a link to the main list.

Let me know what you think about it.

Hello, can you add this library https://github.com/primefaces/primevue is allready compatible with vue 3. Thank you!

@Scrum There are a couple of features I like about having it in an issue.

  • Comments are easy
  • Links to issues are real references (for back linking and helping discoverability)
  • Easy to "pin"

@bencodezen and I thought about it.
Since there might not be too long before this issue is not necessary anymore, it can remain a pinned issue.
I would be maintaining the table of course.

What is your opinion on it?

The docs team referenced the issue in the main docs

@tudorels I will add it right now.

@tudorels do you have a vue 2 compatible library? And some migration docs?

Thank you @tudorels,
I take that you have nothing specific to migration then?

The migration is very easy, there are only a few changes, in general those brought by vue 3 version

Scrum commented
  • Comments are easy

  • Links to issues are real references (for back linking and helping discoverability)

  • Easy to "pin"

These are definitely advantages except perhaps comments which will definitely grow uncontrollably in the near future

I agree about the uncontrollable comments.
Let's hope they don't become uncontrollable too quickly.

When they do, I'll make a Pull Request.

Thank you @crutch12

I will add ctk-date-picker to the list.
You earlier posted links to jsdoc-vuejs and another library.
I did not have time to update the issue.

Do you think they should appear in this list?

@elevatebart is this list about awesome-vue libraries or about any vue relative library? In the second case I think they should be here.

jsdoc-vuejs: Kocal/jsdoc-vuejs#386
better-docs (it uses vue-docgen-api to generate vue docs): SoftwareBrothers/better-docs#109

@casl/vue (casl-vue): stalniy/casl#396

vue-i18n already supports vue3 since v9.0.0 (vue-i18n@next) https://github.com/intlify/vue-i18n-next

Vue3 custom directives have a breaking change: https://v3.vuejs.org/guide/migration/custom-directives.html#overview

So all of vue2 directives won't work

@crutch12 I thought vue-i18n was an official package (which I carefully avoided in this list)
Is it still maintained by the amazing @kazupon?
I will add it to the list.

I initially wanted to keep the list short as long as I could so that it is digestible.
Since the comments are visible by everyone, I will try and sort them in a visible way later this week-end.

I hope you understand.

@elevatebart
vue-i18n is still maintained by the @kazupon, right.

I don't get what you want. Should I stop posting these comments? :) I just walk through my main work project and check dependencies. If a dependency doesn't support Vue 3 - I add a comment here

@crutch12
You should keep posting the comments, as they will be useful for other devs looking for the same library.

Through this table, I want to give vue2 users a feel of when they should start the migration process.
We can do it by giving most of them an idea of what the status of their core libraries is.

If you think it should be more, we should probably create a PR and allow people to create Pull Request.

Pros:

  • Better reading experience
  • Less work for me because people can PR so I don't need to do it all on my own

Contras:

  • No deep connection on GitHub
  • Size of the table will overwhelm people: they might not get an overall vision of the status of their ecosystem

vue-class-store

vue3 branch: feature/vue-3

To install it

npm install vue-class-store@3.0.0

Thank you @davestewart

@elevatebart The link to vee-validate's v4 docs:

https://vee-validate.logaretm.com/v4

Thank you @logaretm

The link to vue-ctk-date-time-picker in the table above points to vue-prism-editor. Correct link in #3544 (comment)

The library vue-advanced-cropper for cropping images is available for Vue 3 now (vue-next branch).

To install it:

npm install --save vue-advanced-cropper@next

The linked issue to discuss problems. This port still may be raw, so I would be glad to receive any feedback.

Examples: Bundler / CDN

Three JS can also give migration problems: mrdoob/three.js#21075

You can install vue-apollo v4 alpha can be installed through @vue/apollo-composable: https://v4.apollo.vuejs.org/guide-composable/setup.html#_1-install-vue-apollo-composable

vue-json-pretty is allready compatible with Vue 3.

npm install vue-json-pretty

有人 对vue-codemirror 升级vue3 吗 ?

@benmo1602 Not that I know of no, there is a request for it surmon-china/vue-codemirror#124.
Can you try out your hand at a Pull Request?

Can you also add @bachdgvn/vue-otp-input for vue 3 support? Thank you

vue-cookies升级支持vue3吗?

Quasar with Vue3 is now stable:
quasarframework/quasar#9734

Can confirm Quasar v2 (using Vue3) is stable and marked as latest on NPM.
The linked vue3-work branch has been deleted so it now returns a 404 error

👋 Really happy to see VueFormulate represented here! For Vue3 we're working on a ground-up rewrite that's about to enter Alpha status for testers called FormKit. So, moving from Vue2 to Vue3 will be a migration between those packages — but the experience will be very familiar to users of VueFormulate.

Things will be a bit more complicated if you're using your own custom inputs within your project.

Anyways, just wanted to provide some clarity that there are no plans to add Vue3 support to VueFormulate. The successor is FormKit. In the future we may backport FormKit to Vue2, but that's not high on the priority list.

Details on FormKit can be found here: https://formkit.com/

Vuex Pathify is now in Beta for Vue 3:

Vuetensils supports Vue 2 and 3. It's not a super huge project, so I brought in vue-demi to provide some checks to support both libraries within the same project. No separate branch.

npm install vuetensils

Jogai commented

https://vuestic.dev/ is updated to 3