📦 ️Vue 3 Migration - Roadmap
Open
@susnux is already working on this.
Since Sep 9, 2026.
❄️ 2026-Winter
❄️ 2027-Winter
- Dominant language
- PHP
- Stars
- 36.9k
- Forks
- 5.2k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 713
Description
Apps in server repository
- Prepare Vue 3 migration by having 2 build processes one for Vue 2 and one for migrated Vue 3 apps
- Migrate to ESLint v9 to make linting on Vue 3 work ( https://github.com/nextcloud/server/pull/55495 )
- Prepare migration by splitting the build process ( https://github.com/nextcloud/server/pull/55432 )
- Moving forward with necessary migrations to Vue3, the following apps should be migrated.
(names in parenthesis are respective app maintainers)- appstore ( https://github.com/nextcloud/server/pull/57290 )
- comments ( https://github.com/nextcloud/server/pull/58353 )
- dashboard ( https://github.com/nextcloud/server/pull/62624 )
- dav ( https://github.com/nextcloud/server/pull/55951 )
- encryption ( https://github.com/nextcloud/server/pull/57515 )
- federation ( https://github.com/nextcloud/server/pull/57341 )
- federatedfilesharing ( https://github.com/nextcloud/server/pull/56942 )
- files_external ( https://github.com/nextcloud/server/pull/57237 )
- files_reminders ( https://github.com/nextcloud/server/pull/56694 )
- files_trashbin ( https://github.com/nextcloud/server/pull/56439 )
- files_versions ( https://github.com/nextcloud/server/pull/55965 )
- oauth2 ( https://github.com/nextcloud/server/pull/57012 )
- profile ( https://github.com/nextcloud/server/pull/57236 )
- sharebymail ( https://github.com/nextcloud/server/pull/55432 )
- systemtags ( https://github.com/nextcloud/server/pull/57855 )
- theming (https://github.com/nextcloud/server/pull/57163)
- twofactor_backupcodes ( https://github.com/nextcloud/server/pull/56067 )
- updatenotification ( https://github.com/nextcloud/server/pull/63798 )
- user_ldap (https://github.com/nextcloud/server/pull/56570)
- user_status ( https://github.com/nextcloud/server/pull/56544 )
- weather_status ( https://github.com/nextcloud/server/pull/62625 )
- core (📁 & 🪪 team) (this should be done close before or after the files app)
- files (📁 team)
- files_sharing (📁 team)
- settings ( @artonge 🪪 IDP-team)
QUESTION: shall we for simplicity split this app into a new account_management app + separate settings ? - workflowengine ( @blizzz 📑 productivity-team)
Ideally all files apps in "one go". Maintaining both Vue versions duplicates dependencies which has a performance impact.
External applications
- Migrate end_to_end_encryption to Vue 3 ( https://github.com/nextcloud/end_to_end_encryption/pull/1149 )
- Migrate Teamfolders to Vue 3 ( https://github.com/nextcloud/groupfolders/pull/4301 )
- Migrate
privacyto Vue 3 ( https://github.com/nextcloud/privacy/pull/1278 ) - Migrate
files_antivirusto Vue 3 ( https://github.com/nextcloud/files_antivirus/pull/543 )
How to migrate apps?
- Migrate the code to Vue 3
- Remove symlink from
build/frontend-legacy/apps - Remove entry from
build/frontend-legacy/webpack.modules.cjs - Add symlink to
build/frontend/apps - Add entry to
build/frontend/vite.config.ts
If the migrated app has dependencies not already present in the Vue 3 version move the dependencies to the root package.json (and remove from build/frontend-legacy if no longer needed for the Vue 2 apps).
This way we can throw away everything from build/frontend* once done.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.