vue-class-component is likely going to be the biggest pain point to migrating the Tuleap Vue 2 apps to Vue 3.
Even when working in a Vue 2 app there is no need to continue to add components using vue-class-component. The Composition API is (mostly) accessible in Vue 2 and present the same advantages from a typechecking PoV and is easy to migrate to Vue 3 (the Composition API has basically been backported to Vue from Vue 3)
As an example, the Vue 2 app of the testplan plugin is going to be converted. It is a good playground as it covers most of our usages of Vue in Tuleap and it is well tested.
Following steps are expected:
- Basic setup with the conversion of a component using props
- Migration of a component using the Vuex state
- Migrate the remaining components to see if there are other pain points
- Check if we can use
<script setup>
without too much trouble
- Update Tuleap dev docs to stop stop recommending vue-class-component