Feathers-vuex: Vue-3 Support plans

Created on 10 Oct 2020  路  7Comments  路  Source: feathersjs-ecosystem/feathers-vuex

Hello and thanks for the great package!!

This isn't really an issue. I just wanted to know what the plans & timelines are for supporting Vue 3. Also any pointers towards using feathers-vuex along with Vue 3 would be great : I'm just integrating feeathersvuex into an existing vue-3 project and getting errors like
export 'createElement' (imported as 'baseCreateElement') was not found in '@vue/composition-api and
export 'default' (imported as 'Vue') was not found in 'vue'

Most helpful comment

@kaizenseed I rewrote feathers-vuex with all tests passing for Vue 3, then we started getting some amazing contributions from the community for the current (Vue 2) version. The changes have been so substantial and important that I've scrapped the original rewrite.

It seems the pull requests are coming to a calm, now, so I may look at doing a rewrite again, soon.

All 7 comments

@kaizenseed I rewrote feathers-vuex with all tests passing for Vue 3, then we started getting some amazing contributions from the community for the current (Vue 2) version. The changes have been so substantial and important that I've scrapped the original rewrite.

It seems the pull requests are coming to a calm, now, so I may look at doing a rewrite again, soon.

Thanks for the update @marshallswain :+1: Looking forward to all the goodness!

I've been thinking about this a bit more, today. Ideally we don't end up with two separate codebases, one for each version of Vue. My original rewrite was a bit naive in this respect, so I'm giving it another start.

There are a few main concerns to consider

  • The reactivity API is different under the hood.
  • The plug-in registration process is different
  • The composition API

I've looked into Vue-Demi and I think it is probably going to give us the ability to have a single codebase for both versions of Vue.

  • For the reactivity changes, we can use branching logic with the utilities for detecting the Vue version. This way we can use mergeWithAccessors with Vue 2, and support proxy objects for the 3.0 version.
  • Maybe it's possible to make a single plug-in that works for both.

https://github.com/antfu/vue-demi

Yeah I had thought to suggest vue-demi too :+1: I saw a few other projects are using it to support both simultaneously too!

Just curious if there is a timeline set for this?

@tasker204, I've started work, today, to convert this project to use vue-demi with no other changes. Let's cross our fingers that it just works!

Closing in favor of #555

Was this page helpful?
0 / 5 - 0 ratings