Desperately missing Vue 3 support

Vue.js 2.7 is marked β€˜end of life’ since December 31, 2023. Vue 3.x was released in 10/2020 but it is still not supported by Nextcloud. Effectively we are stuck between two non-supported versions.

This is a bad situation for every app developer on Nextcloud!

Last thing I heard on this is that actually migrating to Vue 3 was considered β€˜a minor step’, but that was almost a year ago in March 2024, and this minor step was not made since.

According to the docs, @nextcloud/vue exists in v.9x for Nextcloud 28+ (https://next--nextcloud-vue-components.netlify.app/), only there seems no way of actually using it.

So, two questions:
1.) is there a commitment to a release date for Vue 3 support in NC?

2.) And is there a way of experimenting with the not already released classes before that? I am currently looking into using VueDesigner and would be thankful for NC components that can at least be integrated there.

2 Likes

Hello @birnbacs ,

such questions will be answered here :

https://cloud.nextcloud.com/call/xs25tz5y

I will leave a note there as well.

And in addition

We aim to have the first (larger) batch of app migrated to vue3 for v32, while you’d be able to migrate at any time when the above referenced libs have been released in final versions and even with the pre-releases work can already be started.

Yes we are working on Vue3 support, on Nextcloud we maintain a large ecosystem, so we need to align a lot of places like Server, apps and libraries to be ready and get the best and most stable software.

So we plan to release all needed libraries within the next few month and work on migrating apps to Vue 3 within the Nextcloud 32 release cycle.
You can see our current state here: Migration to Vue 3 Β· Issue #13 Β· nextcloud/standards Β· GitHub

Sure you can simply install @nextcloud/vue version 9 in its alpha stage:
E.g. a bare minimum package.json to develop Vue 3 apps with Nextcloud:

"dependencies": {
    "@nextcloud/vue": "^9.0.0-alpha.5",
    "vue": "^3.5.13",
    "vue-router": "^4.5.0"
  },
  "devDependencies": {
    "@nextcloud/browserslist-config": "^3.0.1",
    "@nextcloud/vite-config": "^2.3.0",
    "vite": "^6"
  }

So you can already test the alpha version of the components. The version 2.x of the vite config will provide you vue 3 support for bundling with Vite.

4 Likes

Could you also share the required β€œscripts” entries in package.json to relpace wekpack β€œdev”, β€œbuild” and β€œwatch”?

"build": "vite build",
"dev": "NODE_ENV=development vite build --mode development",
"watch": "NODE_ENV=development vite build --mode development --watch"

Documentation: Command Line Interface | Vite

You can now also have a look at the firstrunwizard which is already migrated to Vue 3.
Its a pretty small app so having a look at its code is probably a good example.

The PR for Vue 3 on that app: feat: migrate to Vue 3 by susnux Β· Pull Request #1605 Β· nextcloud/firstrunwizard Β· GitHub

1 Like

Thanks to this thread, I now have an App fully working with latest Nextcloud update, Vue 3.5.15, Typescript, @nextcloud/vue@9.0.0-rc.1. I use Vue 3 with composition API, Pinia for client state management, Bootstrap for styling and additional component, VueDraggableNext.

This project is totally custom and has no integration with any other App.

Futur additional projects will require integration with other App, at least Calendar.

Contact me PM for details. I cannot upload to Github.

2 Likes