As a result of decisions made at the recent Vue.js Developer Summit, we will migrate to Vue 3 for all existing and new Vue-based code. This means Vue-based features will no longer be able to support IE11 and other non-ES5 browsers.
===== Acceptance criteria =====
The Vue 3 migration is complete. All code that uses Vue has been migrated, and the compatibility build has been removed.
===== Steps =====
[x] Prepare a patch to upgrade the Vue version in MediaWiki to the migration build of Vue 3.2 (more detail at T251974)
[x] Verify that this patch doesn't break any of the existing extensions using Vue (T289019)
[x] Wait for the security readiness review for Vue 3 (T257734) to be completed
[x] Merge the upgrade patch
[ ] Begin migrating all code using Vue, addressing migration warnings then disabling compat mode for migrated components (T289020)
[ ] Ensure all code using Vuex is ready to be migrated (T289089)
[ ] Wait for the security readiness review for Vuex 4 (T288768) to be completed
[ ] Upgrade the Vuex version in MediaWiki to 4.0.2 (T289102)
[ ] Migrate code using Vuex to the new calling style (T289103)
[ ] Once everything is migrated, remove compatibility code and switch from the migration build of Vue to the regular build (T289104)
[ ] Clean up other compatibility/migration remnants, like the `{ compatConfig: { MODE: 3 } }` settings disabling compat mode for migrated components (T289105)