nextcloud-vue icon indicating copy to clipboard operation
nextcloud-vue copied to clipboard

Migrate to Vue 3

Open raimund-schluessler opened this issue 4 years ago • 6 comments

This issue exists to track the migration towards Vue 3.

There are multiple things that should be done before any migration can take place. They won't break compatibility with Vue 2, but will help with the later migration towards Vue 3.

Preparations:

  • [x] Migrate to webpack 5 #2593
  • [x] Upgrade to @nextcloud/eslint-config@7 #2594
  • [x] Upgrade to @nextcloud/stylelint-config@2 #2595
  • [x] Upgrade to [email protected] #2613
  • [x] Migrate to @fontsource/roboto #2598
  • [x] Migrate from vue-jest to @vue/vue2-jest #2599
  • [x] Migrate from node-sass to sass #2631
  • [ ] Migrate to common webpack configuration @nextcloud/webpack-vue-config #2625
  • [x] Migrate from v-tooltip to floating-vue@1 (the library got renamed and rewritten)
  • [x] Definitely more stuff

Actual migration to Vue 3 #2637:

  • [x] Migrate from floating-vue@1 to floating-vue@2
  • [x] Migrate from @vue/vue2-jest to @vue/vue3-jest
  • [x] Migrate from @cypress/vue@2 to @cypress/vue@3
  • [x] Migrate from splitpanes@2 to splitpanes@3
  • [x] Migrate from vue-multiselect@2 to vue-multiselect@3
  • [x] Migrate from vue-color@2 to @ckpack/vue-color@1
  • [x] More dependency migrations
  • [ ] Do the actual migration to Vue 3
  • [ ] ...
  • [ ] Profit

raimund-schluessler avatar Aug 02 '21 12:08 raimund-schluessler

https://github.com/robcresswell/vue-material-design-icons/issues/230 might be a possible blocker as functional components are used there and are incompatible according to https://v3.vuejs.org/guide/migration/migration-build.html#incompatible

juliusknorr avatar Aug 02 '21 18:08 juliusknorr

Since we're using vue-ripple-directive for the Button component https://github.com/nextcloud/nextcloud-vue/pull/1808, linking this issue https://github.com/PygmySlowLoris/vue-ripple-directive/issues/32 for future reference 🖖

Pytal avatar Aug 20 '21 21:08 Pytal

@juliushaertl Heh, I can see my slowness updating this is causing issues. I have a free weekend, I'll get this fixed. I was quite amazed to see nextcloud using my little plugin, that was nice 😊

robcresswell avatar Sep 17 '21 16:09 robcresswell

I would like to bumb this issue. At least for the app developers it would be a valuable information, if any roadmap exists or will be released, since the migration of most NC apps will not be done in a sprint. There might some more repos affected, like https://github.com/nextcloud/webpack-vue-config.

The blocker of https://github.com/robcresswell/vue-material-design-icons/issues/230 seems to be removed.

dartcafe avatar Feb 08 '22 10:02 dartcafe

Yes! Sorry, I didn't update here. My lib supports Vue 3 now. Apologies again for holding you up.

robcresswell avatar Feb 16 '22 16:02 robcresswell

I updated the original issue https://github.com/nextcloud/nextcloud-vue/issues/2154#issue-958099601 to sketch a possible migration path to Vue 3. Feel free to update and adjust.

raimund-schluessler avatar Apr 03 '22 19:04 raimund-schluessler

Hi :wave:

I ask for news :slightly_smiling_face: Is the migration to vue3 going well?

zak39 avatar Dec 07 '23 10:12 zak39

Hi 👋

I ask for news 🙂 Is the migration to vue3 going well?

There is one final PR pending, see https://github.com/nextcloud-libraries/nextcloud-vue/pull/4842. If this is merged we could aim for an alpha release of nextcloud/vue with vue 3 support.

raimund-schluessler avatar Dec 07 '23 10:12 raimund-schluessler

The last component was migrated with #4976.

raimund-schluessler avatar Dec 21 '23 14:12 raimund-schluessler