vuex-easy-firestore icon indicating copy to clipboard operation
vuex-easy-firestore copied to clipboard

feat: upgrade firebase to v9.0 and vue3

Open adrianjost opened this issue 3 years ago • 6 comments

💬 About

I've updated the dependencies of one of my hobby projects to use Vue3 and the latest firebase SDK (v9, not in compat mode). To keep it running, I patched this package until it worked for my specific use case. ~I have not updated any test cases nor am I sure I've covered all cases. But in my limited use case everything worked as expected.~

Maybe this can be a starting point for someone else to update this library to the latest dependency versions. Unfortunately, I don't have time for that.

🔁 What has changed?

  • replaced Vue's reactive helpers with plain JS. Vue 3 can now handle these itself
  • replaced the firebase 8 syntax with the new explicit firebase 9 function calls.

💥 Breaking Changes

🚫 What's missing

  • ✅ ~documentation needs to be updated. The Vue.use(Vuex) example is definitely outdated~
  • ✅ ~Tests need to be checked and eventually fixed.~
  • ✅ ~Maybe I missed some firestore legacy code. But the compiler didn't complain, so maybe it's complete. 🤷‍♂️~

👨‍💻 How can I use that?

Currently, you could use: npm i --save vuex-easy-firestore@github:adrianjost/vuex-easy-firestore#sdk-9 to test the patch from this PR in your repo. But I don't recommend doing this except for testing compatibility and adding further fixes.

adrianjost avatar Feb 08 '22 13:02 adrianjost

  • The patch for vuex-easy-access can be removed when https://github.com/mesqueeb/vuex-easy-access/pull/70 is merged.

adrianjost avatar Feb 09 '22 10:02 adrianjost

A little update: I got all tests working ✅

adrianjost avatar Feb 09 '22 19:02 adrianjost

And now I even got some time to update the docs as well. 🎉

adrianjost avatar Feb 09 '22 19:02 adrianjost

@adrianjost really amazing job! let's get this released. I contacted you via your website.

mesqueeb avatar Feb 10 '22 00:02 mesqueeb

Feel free to merge and release this whenever you want. From my side the code should be ready for it.

I'm just not 100% sure, if it should be released as 2.0.0 (because the new dependency versions are incompatible with the old ones) or it's okay the way it is. Semver isn't that clear to me in this case: https://semver.org/#what-should-i-do-if-i-update-my-own-dependencies-without-changing-the-public-api

adrianjost avatar Feb 11 '22 12:02 adrianjost

would love to see this feature finally merged. I was super happy to find this library as this is exactly what I was planning to implement for my project. Unfortunately I got emidiate disappointment when the library failed to load due to broken imports. Please continue your great work and merge this feature.

dassmilytier avatar Jun 30 '23 08:06 dassmilytier