Skip to content

Upgrading vue-router 2 to 3

Unknown2.8.1 β†’ 3.6.5

UnknownUpgrade verdict

DepDelta hasn't looked for this range's notes yet, so breaking changes can't be ruled out.

  • DepDelta hasn't finished looking for the notes in this range, so it can't rule out breaking changes yet.
Unknown for releases without notes

Releases without notes may still need changes. Check their commits before upgrading.

Generated by DepDelta from published .d.ts files. Not mixed with prose notes.

  • added: export * from './types/composables'
  • changed: property ComponentOptions.beforeRouteEnter?: NavigationGuard β†’ property ComponentOptions.beforeRouteEnter?: NavigationGuard<V>
  • changed: property ComponentOptions.beforeRouteLeave?: NavigationGuard β†’ property ComponentOptions.beforeRouteLeave?: NavigationGuard<V>
  • changed: property ComponentOptions.beforeRouteUpdate?: NavigationGuard β†’ property ComponentOptions.beforeRouteUpdate?: NavigationGuard<V>
  • added: function onBeforeRouteLeave(leaveGuard: NavigationGuard): void
  • added: function onBeforeRouteUpdate(updateGuard: NavigationGuard): void
  • added: function useLink({ to, replace }: RouterLinkOptions): { route: ComputedRef<Route>, isActive: ComputedRef<boolean>, isExactActive: ComputedRef<boolean>, href: ComputedRef<string>, navigate: () => Promise<void> }
  • added: function useRoute(): Route
  • added: function useRouter(): VueRouter
  • added: interface RouterLinkOptions
  • added: property RouterLinkOptions.replace?: boolean
  • added: property RouterLinkOptions.to: Route | Ref<Route>
  • removed: class VueRouter extends R.VueRouter
  • removed: export = VueRouter
  • removed: namespace VueRouter
  • removed: type VueRouter.Location = R.Location
  • removed: type VueRouter.NavigationGuard = R.NavigationGuard
  • removed: type VueRouter.RawLocation = R.RawLocation
  • removed: type VueRouter.RedirectOption = R.RedirectOption
  • removed: type VueRouter.Route = R.Route
  • removed: type VueRouter.RouteConfig = R.RouteConfig
  • removed: type VueRouter.RouteRecord = R.RouteRecord
  • removed: type VueRouter.RouterMode = R.RouterMode
  • removed: type VueRouter.RouterOptions = R.RouterOptions
  • added: default VueRouter
  • added: export { Location } from './router'
  • added: export { NavigationFailure } from './router'
  • added: export { NavigationFailureType }
  • added: export { NavigationGuard } from './router'
  • added: export { NavigationGuardNext } from './router'
  • added: export { RawLocation } from './router'
  • added: export { RedirectOption } from './router'
  • added: export { Route } from './router'
  • added: export { RouteConfig } from './router'
  • added: export { RouteMeta } from './router'
  • added: export { RouteRecord } from './router'
  • added: export { RouteRecordPublic } from './router'
  • added: export { RouterLink }
  • added: export { RouterMode } from './router'
  • added: export { RouterOptions } from './router'
  • added: export { RouterView }
  • added: export { START_LOCATION }
  • added: export { isNavigationFailure }
  • removed: interface RouteConfig
  • removed: property RouteConfig.alias?: string | string[]
  • removed: property RouteConfig.beforeEnter?: NavigationGuard
  • removed: property RouteConfig.caseSensitive?: boolean
  • removed: property RouteConfig.children?: RouteConfig[]
  • removed: property RouteConfig.component?: Component
  • removed: property RouteConfig.components?: Dictionary<Component>
  • removed: property RouteConfig.meta?: any
  • removed: property RouteConfig.name?: string
  • removed: property RouteConfig.path: string
  • removed: property RouteConfig.pathToRegexpOptions?: PathToRegexpOptions
  • removed: property RouteConfig.props?: boolean | Object | RoutePropsFunction
  • removed: property RouteConfig.redirect?: RedirectOption
  • changed: property Location.query?: Dictionary<string> β†’ property Location.query?: Dictionary<string | (string | null)[] | null | undefined>
  • changed: property Route.meta?: any β†’ property Route.meta?: RouteMeta
  • changed: property Route.name?: string β†’ property Route.name?: string | null
  • changed: property Route.query: Dictionary<string> β†’ property Route.query: Dictionary<string | (string | null)[]>
  • changed: property RouteRecord.meta: any β†’ property RouteRecord.meta: RouteMeta
  • changed: property RouteRecord.props: boolean | Object | RoutePropsFunction | Dictionary<boolean | Object | RoutePropsFunction> β†’ property RouteRecord.props: | boolean | Object | RoutePropsFunction | Dictionary<boolean | Object | RoutePropsFunction>
  • changed: property RouterOptions.scrollBehavior?: (to: Route, from: Route, savedPosition: Position | void) => PositionResult | Promise<PositionResult> β†’ property RouterOptions.scrollBehavior?: (to: Route, from: Route, savedPosition: Position | void) => PositionResult | Promise<PositionResult> | undefined | null
  • changed: type NavigationGuard = (to: Route, from: Route, next: (to?: RawLocation | false | ((vm: Vue) => any) | void) => void) => any β†’ type NavigationGuard<V extends Vue = Vue> = (to: Route, from: Route, next: NavigationGuardNext<V>) => any
  • added: class VueRouter
  • added: const RouterLink: new () => { $props: RouterLinkProps; $scopedSlots: { default?: ({ href, route, navigate, isActive, isExactActive }: RouterLinkSlotArgument) => VNode[] | undefi…
  • added: const RouterView: new () => { $props: RouterViewProps }
  • added: const START_LOCATION: Route
  • added: constructor VueRouter(options?: RouterOptions)
  • added: enum NavigationFailureType
  • added: function isNavigationFailure(error: any, type?: NavigationFailureType): error is NavigationFailure
  • added: interface NavigationFailure extends Error
  • added: interface RouteMeta extends Record<string | number | symbol, any>
  • added: interface RouteRecordPublic
  • added: interface RouterLinkProps
  • added: interface RouterLinkSlotArgument
  • added: interface RouterViewProps
  • added: member NavigationFailureType.aborted = 4
  • added: member NavigationFailureType.cancelled = 8
  • added: member NavigationFailureType.duplicated = 16
  • added: member NavigationFailureType.redirected = 2
  • added: method VueRouter.addRoute(parentName: string, route: RouteConfig): void
  • added: method VueRouter.addRoute(route: RouteConfig): void
  • added: method VueRouter.addRoutes(routes: RouteConfig[]): void
  • added: method VueRouter.afterEach(hook: (to: Route, from: Route) => any): () => void
  • added: method VueRouter.back(): void
  • added: method VueRouter.beforeEach(guard: NavigationGuard): () => void
  • added: method VueRouter.beforeResolve(guard: NavigationGuard): () => void
  • added: method VueRouter.forward(): void
  • added: method VueRouter.getMatchedComponents(to?: RawLocation | Route): Component[]
  • added: method VueRouter.getRoutes(): RouteRecordPublic[]
  • added: method VueRouter.go(n: number): void
  • added: method VueRouter.match (raw: RawLocation, current?: Route, redirectedFrom?: Location): Route
  • added: method VueRouter.onError(cb: ErrorHandler): void
  • added: method VueRouter.onReady(cb: () => void, errorCb?: ErrorHandler): void
  • added: method VueRouter.push(to: RawLocation): Promise<Route>
  • added: method VueRouter.push(to: RawLocation, onComplete?: (route: Route) => void, onAbort?: ErrorHandler): void
  • added: method VueRouter.replace(to: RawLocation): Promise<Route>
  • added: method VueRouter.replace(to: RawLocation, onComplete?: (route: Route) => void, onAbort?: ErrorHandler): void
  • added: method VueRouter.resolve(to: RawLocation, current?: Route, append?: boolean): { location: Location; route: Route; href: string; normalizedTo: Location; resolved: Route }
  • added: property NavigationFailure.from: Route
  • added: property NavigationFailure.to: Route
  • added: property NavigationFailure.type: NavigationFailureType.aborted | NavigationFailureType.cancelled | NavigationFailureType.duplicated
  • added: property RouteRecordPublic.beforeEnter?: (route: Route, redirect: (location: RawLocation) => void, next: () => void) => any
  • added: property RouteRecordPublic.components: Dictionary<Component>
  • added: property RouteRecordPublic.instances: Dictionary<Vue>
  • added: property RouteRecordPublic.meta: any
  • added: property RouteRecordPublic.name?: string
  • added: property RouteRecordPublic.path: string
  • added: property RouteRecordPublic.props: | boolean | Object | RoutePropsFunction | Dictionary<boolean | Object | RoutePropsFunction>
  • added: property RouteRecordPublic.redirect?: RedirectOption
  • added: property RouterLinkProps.activeClass?: string
  • added: property RouterLinkProps.append?: boolean
  • added: property RouterLinkProps.ariaCurrentValue?: | 'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false'
  • added: property RouterLinkProps.event?: string | ReadonlyArray<string>
  • added: property RouterLinkProps.exact?: boolean
  • added: property RouterLinkProps.exactActiveClass?: string
  • added: property RouterLinkProps.exactPath?: boolean
  • added: property RouterLinkProps.exactPathActiveClass?: string
  • added: property RouterLinkProps.replace?: boolean
  • added: property RouterLinkProps.tag?: string
  • added: property RouterLinkProps.to: string | Location
  • added: property RouterLinkSlotArgument.href: string
  • added: property RouterLinkSlotArgument.isActive: boolean
  • added: property RouterLinkSlotArgument.isExactActive: boolean
  • added: property RouterLinkSlotArgument.navigate: (e?: MouseEvent) => Promise<undefined | NavigationFailure>
  • added: property RouterLinkSlotArgument.route: Route
  • added: property RouterViewProps.name?: string
  • added: property VueRouter.app: Vue
  • added: property VueRouter.currentRoute: Route
  • added: property VueRouter.mode: RouterMode
  • added: property VueRouter.options: RouterOptions
  • added: static property VueRouter.NavigationFailureType: { [k in keyof typeof NavigationFailureType]: NavigationFailureType }
  • added: static property VueRouter.START_LOCATION: Route
  • added: static property VueRouter.install: PluginFunction<never>
  • added: static property VueRouter.isNavigationFailure: typeof isNavigationFailure
  • added: static property VueRouter.version: string
  • added: type NavigationGuardNext<V extends Vue = Vue> = (to?: RawLocation | false | ((vm: V) => any) | void) => void
  • added: type RouteConfig = RouteConfigSingleView | RouteConfigMultipleViews