We should make a plan for how we're going to migrate from Vue 2 to Vue 3.
Based on [[https://github.com/catrope/mediawiki-extensions-VueTest/commit/05cbf2109bcc2521a4bd13722a812d44130d0e7c|this]], the changes we'll need for a Vue 2 to Vue 3 migration include:
- Change the `vue` module from Vue 2 to Vue 3 (or provide a different one?)
- Migrate the i18n plugin (and possibly other plugins) from prototype to provide/inject //(could be done before)//
- Change the way root components are mounted //(see below; could be wrapped)//
We should also wait to see what Vue 2.7 and the Vue 3 compatibility build look like; those may provide backwards compatibility for some things.
Old mount code:
```
new Vue( {
el: '#vue-root',
render: function ( h ) {
return h( App );
}
} );
```
New mount code:
```
Vue
.createApp( App )
.use( i18n )
.use( api )
.mount( '#vue-root' );
```