mesqueeb / vuex-easy-firestore

Easy coupling of firestore and a vuex module. 2-way sync with 0 boilerplate!
https://mesqueeb.github.io/vuex-easy-firestore
MIT License
234 stars 28 forks source link

[RFC] Vue 3 & vuex-easy-firestore version 2 #239

Open mesqueeb opened 5 years ago

mesqueeb commented 5 years ago

I am planning to update the library to version 2, once Vue 3 and the next Vuex are released!!

For v2 I will focus mainly on:

re-writing my architecture to be more modular ‼️

If the library is more modular, vuex-easy-firestore will:

  1. ... have much better readability 👀 When I make a modular system, the dev would have to import the actions they need inside their app. This makes it much easier to see what all the actions are your vef-module actually can do. Eg.:
// pokemonModule.js
import {
  vuexEasyFirestoreModule,
  set,
  insert,
  patch,
  delete
} from '@vuex-easy-firestore/core'

export default vuexEasyFirestoreModule({
  // the usual setup
  firestorePath: 'pokemen',
  firestoreRefType: 'collection',
}, {
  // then import only what you need
  actions: {
    set, insert, patch, delete
  },
})
  1. ... have a smaller footprint 🐾 Keep the core code as small as possible & have better treeshaking support. As you can see in the example above, only the actions you only want to use will be imported! This will make your modules much cleaner!!!

  2. ... become VERY powerful through plugins 💪 Extra functions that not everyone needs can be implemented as a plugin. Eg.

    
    // pokemonModule.js
    import { vuexEasyFirestoreModule, set } from '@vuex-easy-firestore/core'
    import { automaticCounter, duplicate } from '@vuex-easy-firestore/plugins'

export default vuexEasyFirestoreModule({ firestorePath: 'pokemen', firestoreRefType: 'collection',

// automaticCounter could enhance your module with automatic counters automaticCounter,

// duplicate could be a custom action to duplicate docs in your collection actions: { set, duplicate }, })



4. **... support custom & COMMUNITY plugins 🎉**
If I make the plugin source code & documentation easy to understand, everyone could easily create their own plugin and have it featured on the official docs!!

# Tell me what you think!!

I'm interested to hear any opinions and ideas for the next version!!!

Please also see the [list of planned features](https://github.com/mesqueeb/vuex-easy-firestore/issues/238) (regardless of version 1 or 2)

<sub>--<br>Vuex Easy Firestore was made with ♥ by Luca Ban.<br>If this library helped you in any way you can support me by buying me <a href="https://www.buymeacoffee.com/mesqueeb">a cup of coffee</a>. ☕️<br>You can also reach out <a href="https://twitter.com/mesqueeb">on twitter</a> if you want a one-on-one coding review/lesson. 🦜</sub>
ctwhome commented 4 years ago

Well, I think you are doing an amazing job! thank you for the effort!

fergusmeiklejohn commented 4 years ago

It's a great library! I bought you a coffee, thanks for working so hard on it! I think for v2, I'm mostly looking for good Typescript support: ie play nice with the upcoming new Vuex and Vue 3 release.

mesqueeb commented 4 years ago

After about two years of open source, I finally got accepted for Github Sponsors! 💜 github.com/sponsors/mesqueeb 💜

A little about me:

If anyone was helped with vuex-easy-firestore, I'd greatly appreciate any support! BTW, donations get's paid DOUBLE by GitHub! (they're alchemists... 🦾)

I got great plans for the future of vuex-easy-firestore going above and beyond!! Look forward to it!! On to many more years of open-sourcing! 🎉

tormjens commented 3 years ago

Hey and thank you for your work with this package. I was just wondering if a v2 is still on the horizon? :)

mesqueeb commented 3 years ago

@tormjens you bet ya!! I'm pretty much done, but still need to work on documentation and other details. I'd love some feedback from some seasoned devs! can you discuss on Discord? I emailed you with my discord tag : )

jakobnoergaard commented 3 years ago

Hey @mesqueeb, awesome job with this package!!! I was just wondering how the vue3 version is progressing and if its still on the table. I would love to try it out on a new vue3 project. Either way, awesome job with the current version - you are amazing :)

LarsRefsgaard commented 3 years ago

Hey @mesqueeb, awesome job with this package!!! I was just wondering how the vue3 version is progressing and if its still on the table. I would love to try it out on a new vue3 project. Either way, awesome job with the current version - you are amazing :)

I agree, would love to know how far along the process of updating is, or if you have some kind of working version already? @mesqueeb