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
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?
Here are vue 2 library docs https://www.primefaces.org/primevue/showcase-v2/#/ and here are vue 3 docs https://www.primefaces.org/primevue/showcase/#/
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
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.
vue-ctk-date-time-picker: https://github.com/chronotruck/vue-ctk-date-time-picker/issues/315
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
vue-good-table: xaksis/vue-good-table#758
@casl/vue (casl-vue): stalniy/casl#396
vue-json-viewer: chenfengjw163/vue-json-viewer#57
vue-i18n already supports vue3 since v9.0.0 (vue-i18n@next) https://github.com/intlify/vue-i18n-next
v-clipboard: euvl/v-clipboard#17
vue-focus: simplesmiler/vue-focus#20
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
vue2-perfect-scrollbar: mercs600/vue2-perfect-scrollbar#60
vue-clickaway: simplesmiler/vue-clickaway#48
v-click-outside: ndelvalle/v-click-outside#238
@elevatebart The link to vee-validate's v4
docs:
Thank you @logaretm
Vue-cropperjs Agontuk/vue-cropperjs#83
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.
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/
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
https://vuestic.dev/ is updated to 3