nextcloud / groupware

Meta repo for the groupware team
7 stars 0 forks source link

Migrate from Vue 2 to Vue 3 #64

Open ChristophWurst opened 1 year ago

ChristophWurst commented 1 year ago

Describe the task

https://v3-migration.vuejs.org/

Exemplary migration: https://github.com/nextcloud/spreed/issues/9448

Affected components

Calendar, ~Calendar Resource Management~, Contacts, Mail, Calendar-availability-vue

Preparation

Upgrades

To do

to be defined

ChristophWurst commented 1 year ago

Related: https://github.com/nextcloud/nextcloud-vue/pull/3692

ChristophWurst commented 7 months ago

We can take inspiration from https://github.com/nextcloud/spreed/issues/9448 for a less bumpy upgrade path and changes we can do while staying on Vue 2.7.

ChristophWurst commented 6 months ago

nextcloud/calendar-availability-vue does not need adjustments for Vue 3 accoring to @GVodyanov. Removing it from the list of affected components.

ChristophWurst commented 6 months ago

Replace Vuex with pinia

Item broken down into chunks. @GVodyanov please assign yourself to the ticket of the store you're tackling :)

https://github.com/nextcloud/calendar/issues/5685 would be a good first migration. It's the smallest store we have.

raimund-schluessler commented 5 months ago

Migrating to pinia is not a bad idea, but certainly not required for a migration to vue 3. Tasks works just fine with vue 3 and vuex 4 and the adjustments to the store required to make it work with vue 3 are quite small.

See https://github.com/nextcloud/tasks/pull/1971 as well.