vue-router migration
We need to ensure our `vue-router` code runs well after we apply `vue-compat`. In order to do this we must create wrappers for the `vue-router` API that works well with both `vue-router@v3` and `vue-router@v4` (this one is for Vue 3). This is needed because `vue-router` has introduced [many breaking changes](https://router.vuejs.org/guide/migration/) that we must handle. - [New bootstrapping API](https://gitlab.com/gitlab-org/gitlab/-/issues/396471): - [`new VueRouter` → `createRouter`](https://router.vuejs.org/guide/migration/#new-router-becomes-createrouter) - [`mode` → `history`](https://router.vuejs.org/guide/migration/#new-history-option-to-replace-mode) - [`base` being part of `history`](https://router.vuejs.org/guide/migration/#moved-the-base-option) - [`*` route paths must use a `pathMatch`](https://router.vuejs.org/guide/migration/#removed-star-or-catch-all-routes) (only 2 instances found) - [`scrollBehavior` new format](https://router.vuejs.org/guide/migration/#scrollbehavior-changes) - [Component changes](https://gitlab.com/gitlab-org/gitlab/-/issues/396472): - [`<keep-alive>` must be used inside `<router-view>`](https://router.vuejs.org/guide/migration/#router-view-keep-alive-and-transition) (1 instance) This list is not exhaustive and might not contain all the things we need to migrate.
epic