ktsn / vuex-smart-module

Type safe Vuex module with powerful module features
MIT License
381 stars 19 forks source link

Composition API? #106

Closed NikitaKA closed 3 years ago

NikitaKA commented 4 years ago

Is that possible (or how to do that in proper way?) to use vuex-smart-module with new Composition API (as Vue 2 plugin)?

ktsn commented 4 years ago

Yes, I'm going to support it!

nicolidin commented 3 years ago

Is there a version to already test it with vue3 ?

CoskunSunali commented 3 years ago

Is there a version to already test it with vue3 ?

I am also pretty curious of the same thing. Planning to migrate some projects from Vue 2 to 3 and vuex-smart-module is the only remaining uncertainty for me.

laurisstepanovs commented 3 years ago

@ktsn Can you please estimate when it will be done?

LifeIsStrange commented 3 years ago

note that vuex 4 has been released https://next.vuex.vuejs.org/guide/migrating-to-4-0-from-3-x.html It is crucial for vuex smart module to rebase onit as it is the last blocker for us given that Vue property decorator has been updated for vue 3

nicolidin commented 3 years ago

@ktsn this library is really important for a lot of vue typescript class users. And as vue-class-component and vue-property-decorator is now working really great with vue3, Vuex-Smart-Module is the only staying library that needs to support Vue3! We need you more than ever @ktsn!

LifeIsStrange commented 3 years ago

Hi @kaorun343 given that you recently made vue-property-decorator compliant with Vue 3, I wonder if you might help @ktsn with making vuex-smart-module compliant with Vuex4 given that those libraries are relatively similar in the Vue Class ideology, that would be wonderful. Only few people have the required expertise to make such a contribution and I believe that you have such expertise related to typescript meta-programming/reflection/vue APIs.

nicolidin commented 3 years ago

Hi @yyx990803, I afford to tag you on this issue because it is the only one that still prevents a lot of vue typescript developers to be able to move on vue3. I, my team, and a lot of other vue-typescript developers need this library mainly because it allows doing abstraction on vuex stores by creating class, abstract class, and interfaces for each Action, Mutation, Getter and State. Sadly, @ktsn does not contribute anymore to vuejs projects for a long time and not a lot of developers can contribute to vuex-smart-modules because it requires a lot of knowledge about javascript reflections and especially cause this library needs to be totally compliant with the vuex API.

We really hope, @yyx990803, you can do something to help the community (or other vue developers as @posva, @kiaking..?) because it's been a lot of months we are waiting for this specific library to be compliant with vue3 and thus to allow us to move on vue3. Thanks a lot,

BTW: this library is definitely not enough famous and I think it could be interesting to move it to the Vuejs organization (it could be in synergy with vue-class-component).

posva commented 3 years ago

Hi @nicolidin

I don't have the bandwidth to take the time to do a PR on this project and I don't use it personally. I think it would make sense for people using this project to do a PR. When it comes to TS, Stores, and Vue 3, I'm focused on https://github.com/posva/pinia, helping out with Vuex 5 (https://github.com/vuejs/rfcs/discussions/270) and making pinia' API as close as Vuex 5 to ease migration in the future.

nicolidin commented 3 years ago

Actually, we were wrong (@NikitaKA, @CoskunSunali, @laurisstepanovs, @LifeIsStrange), vuex-smart-module works with vue3, I think this issue can be close @ktsn. Sorry for all those previous requests yyx990803, posva, kiaking and ktsn. Thanks! (I still think it could be a great idea to move this repo into the Vue organization!)