I think we can start defining the path of migration and what steps need to be taken towards migrating the codebase to Vue 3.
In this issue we can define the progress and steps we need to take. Not all of the steps are fully necessary but they are nice to have.
There are 3 phases to the project: "Before migrating to Vue 3.0.0", "Switching to Vue 3.0.0" and "Clean up and Vue 3.5.0"
Before migrating to Vue 3.0.0
Switching to Vue 3.0.0
Then:
- Test that everything works
- Re-test that everything works
- Go to step 1
Clean up and enhancements
This section maybe is not necessary
This list is highly opinionated, but feel free to edit/add/remove items. Once we have a clear path, we can start taking small steps towards Vue 3 :)
I think we can start defining the path of migration and what steps need to be taken towards migrating the codebase to Vue 3.
In this issue we can define the progress and steps we need to take. Not all of the steps are fully necessary but they are nice to have.
There are 3 phases to the project: "Before migrating to Vue 3.0.0", "Switching to Vue 3.0.0" and "Clean up and Vue 3.5.0"
Before migrating to Vue 3.0.0
context.rootfrom every component #256addRoute#262useRouter().currentRoute. InsteaduseRoute()Replace.currentRoutewithuseRoute()#265@click="$router.push(...)withrouter-linkwatch())vite-vue-2. Update build scripts?typecheckcommand and solve types issuesSwitching to Vue 3.0.0
functionalin<template functional>as is no longer neededvue-tscand check typelint since I believe there is room for improvements in general::v-deepnow is:deep()Then:
Clean up and enhancements
This section maybe is not necessary
defineProps<{ prop: string[] }>()instead ofdefineProps({ prop:{ type: Array as PropType<string[]>, required: true })useRouterdirectly. Remove theuseRouterinrouter.tsnextTickdirectly. Remove the proxynextTick.useTemplateRef(?)This list is highly opinionated, but feel free to edit/add/remove items. Once we have a clear path, we can start taking small steps towards Vue 3 :)