vuejs / awesome-vue

🎉 A curated list of awesome things related to Vue.js
MIT License
71.42k stars 9.44k forks source link

Vue3 compatibility status of central vue libraries #3544

Open elevatebart opened 3 years ago

elevatebart commented 3 years ago

Objective:

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

Contents

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
elevatebart commented 3 years ago

This issue closes the one on awesome-vue3

https://github.com/blacksonic/awesome-vue-3/issues/30

Scrum commented 3 years ago

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.

tudorels commented 3 years ago

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

elevatebart commented 3 years ago

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

@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

elevatebart commented 3 years ago

@tudorels I will add it right now.

elevatebart commented 3 years ago

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

tudorels commented 3 years ago

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/#/

elevatebart commented 3 years ago

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

tudorels commented 3 years ago

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

Scrum commented 3 years ago
  • 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

elevatebart commented 3 years ago

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.

crutch12 commented 3 years ago

vue-ctk-date-time-picker: https://github.com/chronotruck/vue-ctk-date-time-picker/issues/315

elevatebart commented 3 years ago

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?

crutch12 commented 3 years ago

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

crutch12 commented 3 years ago

jsdoc-vuejs: https://github.com/Kocal/jsdoc-vuejs/issues/386 better-docs (it uses vue-docgen-api to generate vue docs): https://github.com/SoftwareBrothers/better-docs/issues/109

crutch12 commented 3 years ago

vue-good-table: https://github.com/xaksis/vue-good-table/issues/758

crutch12 commented 3 years ago

@casl/vue (casl-vue): https://github.com/stalniy/casl/issues/396

crutch12 commented 3 years ago

vue-json-viewer: https://github.com/chenfengjw163/vue-json-viewer/issues/57

crutch12 commented 3 years ago

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

crutch12 commented 3 years ago

v-clipboard: https://github.com/euvl/v-clipboard/issues/17

crutch12 commented 3 years ago

vue-focus: https://github.com/simplesmiler/vue-focus/issues/20

crutch12 commented 3 years ago

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

elevatebart commented 3 years ago

@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.

crutch12 commented 3 years ago

@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

elevatebart commented 3 years ago

@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:

Contras:

crutch12 commented 3 years ago

vue2-perfect-scrollbar: https://github.com/mercs600/vue2-perfect-scrollbar/issues/60

crutch12 commented 3 years ago

vue-clickaway: https://github.com/simplesmiler/vue-clickaway/issues/48 v-click-outside: https://github.com/ndelvalle/v-click-outside/issues/238

elevatebart commented 3 years ago

vue-class-store

vue3 branch: feature/vue-3

To install it

npm install vue-class-store@3.0.0

Thank you @davestewart

logaretm commented 3 years ago

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

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

elevatebart commented 3 years ago

Thank you @logaretm

christhofer commented 3 years ago

Vue-cropperjs https://github.com/Agontuk/vue-cropperjs/issues/83

FelixSchwarz commented 3 years ago

The link to vue-ctk-date-time-picker in the table above points to vue-prism-editor. Correct link in https://github.com/vuejs/awesome-vue/issues/3544#issuecomment-715338835

Norserium commented 3 years ago

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

djcaesar9114 commented 3 years ago

Three JS can also give migration problems: https://github.com/mrdoob/three.js/issues/21075

Tommytrg commented 3 years ago

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

leezng commented 3 years ago

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

npm install vue-json-pretty
benmo1602 commented 3 years ago

有人 对vue-codemirror 升级vue3 吗 ?

elevatebart commented 3 years ago

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

RedFoxxxxx commented 3 years ago

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

Dbuyou commented 3 years ago

vue-cookies升级支持vue3吗?

jeroenqui commented 3 years ago

Quasar with Vue3 is now stable: https://github.com/quasarframework/quasar/discussions/9734

IlCallo commented 2 years ago

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

andrew-boyd commented 2 years ago

👋 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/

davestewart commented 2 years ago

Vuex Pathify is now in Beta for Vue 3:

AustinGil commented 2 years ago

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 1 year ago

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