Open jordaniza opened 3 years ago
It would sure improve one or two of my current projects. If you need some help don't hesitate to ask.
@hfoffani on review II'm concerned with the open PRs from the maintainer. Doesn't seem like they are interested in accepting fixes at this time.
My understanding is that his focus is in backend frameworks, services and tools. So yes, the chances that he would accept PRs are almost zero. However, as an open source project it's always possible to fork it and there's nothing wrong with it.
@hfoffani on review II'm concerned with the open PRs from the maintainer. Doesn't seem like they are interested in accepting fixes at this time.
I think we should start working on this proposal without not caring about PR approval. As a result, Anybody who wanted can make their project from your open PR. If you need any support for upgrading vue and vuetify versions, I am highly excited to do this.
Any progress here? @jordaniza
Hi @tiangolo and community,
I work heavily with the stack used in this application (FastAPI, Vue, Docker, Typescript), and noticed that the frontend is using Vue 2 and class components, and I would like to improve it.
We're currently working with the "alpha" version of Vuetify which seems to work absolutely fine with Vue 3 now, so I'd be very happy to work on migrating the frontend to the following stack:
Stage 1: Migrate Vue to Vue 3, keep class components and typesafe Vuex
Benefit to the user: The user can now develop on top of the application using more modern Vue features like composition api and multiple v-model.
Stage 2: Deprecate class components in favour of composition API with
<script setup>
, add additional Jest TestsBenefit to the user: class components were a great way to add typescript to Vue, but composition API in Vue 3 has first class support for Typescript. Additionally, we can enrich the test suite to give a couple of examples to new users on: testing the store, testing composable functions, testing components etc.
Stage 3: Rework Vuex to use typesafe modules, without native plugins.
Benefit to the user: Latest version of Vuex support typesafety without external plugins, reducing the dependency risk of the whole project.
That said, the setup is a lot more complex. I actually use the current Vuex helper library for my Vue 2 projects, it might actually be a better choice as it hides a lot of the verbose Typescript generics and utility types that can be confusing. I propose to add this functionality only if we feel it is needed.
Overall, I think the above work could be completed over the next several weeks, given my timelines, would appreciate any feedback on whether people see this as a worthwhile investment.