-
Notifications
You must be signed in to change notification settings - Fork 123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Investigate and list what needs to be done for Vue 3 migration #2084
Comments
@MarkBind/active-devs, if you're interested as well this is very nice to have. |
I will give this a try. |
@MarkBind/active-devs
I dun think there is any need to change anything with regards to webpack. I updated some components to vue3 on my end. But there are still vue-warnings so they are not marked as checked here. Some components have dependencies from one another and I think it would be better to resolve those together so that it can be tested. |
Just as a side note, #1536 should be important to keep in mind :) |
@EltonGohJH could you elaborate on what you mean by "refactor"? What will we need to change when refactoring from Vue 2 to Vue 3? Will we need to change any libraries (that don't support Vue 3)? |
@jovyntls |
@MarkBind/active-devs Current Approach to Migrate to Vue 3:
Current Issues:
Future Steps:
How to migrate:
Tips to migrate:
What inputs do I require?
|
For those who are interested to see why there is an issue with SSR, https://github.com/EltonGohJH/markbind/tree/elton/test-SSR If you attempt to Markbind Serve with Navbar you would get, [Vue warn]: resolveComponent can only be used in render() or setup(). 4 errors because in Navbar there are two imported components. |
Removing SSR and hydration and then reintroducing it later will postpone and enlarge the effort required, and degrade UX in the meantime. I don't think it is the right direction.
Just to be clear on the wording in case I don't think we are using it for any of those benefits; It is served only directly from CDN only when using |
I recently closed an old PR that had been pending for some time. After considerable reflection and discussions, I've come to believe that a more effective approach might be to support both Vue 2 and Vue 3 simultaneously as we transition away from Vue 2. Upon reviewing my code and taking into account the insights from discussions and @ang-zeyu's comments, it's become evident that my understanding of the intricate details involved in our current SSR system is limited. (There are a lot of like implementation that I do not understand why and is not well documented.) Undertaking a comprehensive migration single-handedly seems overly ambitious, and the complexity of the task might pose a barrier for others who wish to contribute. In light of these considerations, and following discussions with Yongliang, I propose that we maintain support for both Vue 2 and Vue 3 concurrently. This approach would allow for a more gradual and meticulous migration from the old component system to the new one. Eventually, this would lead to a complete phase-out of the Vue 2 system once the migration is fully accomplished. I have been exploring Astro as a potential model for this approach. Given that Astro supports SSR for multiple frameworks simultaneously, it might offer valuable insights or strategies that we could adapt for our project. |
Just to add: I didn't research into whether vue 2 and vue 3 can co-exist so that needs to be explored :). Googling "is it possible to run vue 2 and vue 3 together" seems to yield interesting results that could be useful... including folks who share their experience migrating from vue 2 to vue 3, which might provide potential learning/lessons that can help us. Overall I think coming up with a proper plan (plus some proof of concept) is a good first step. |
Please confirm that you have searched existing issues in the repo
Yes, I have searched the existing issues
Any related issues?
No response
What is the area that this feature belongs to?
No response
Is your feature request related to a problem? Please describe.
This is a hard ticket as it requires fairly comprehensive understanding of the entire codebase, but would be nice to have soon.
With SSR, things are a tad bit more complex as well.
Describe the solution you'd like
The request here is to comprehensively investigate and document what needs to be done for vue v3 migration into a separate issue as a checklist of items.
If any, link said items to other tickets in the repository as well.
Describe alternatives you've considered
No response
Additional context
The text was updated successfully, but these errors were encountered: