@vuepress/client
Advanced tools
Comparing version 2.0.0-beta.50-pre.1 to 2.0.0-rc.0
101
dist/app.js
import { | ||
ClientOnly, | ||
Content, | ||
Vuepress, | ||
pageData, | ||
layoutsSymbol, | ||
pageDataSymbol, | ||
pageFrontmatterSymbol, | ||
@@ -10,2 +10,4 @@ pageHeadSymbol, | ||
pageLangSymbol, | ||
pageLayoutSymbol, | ||
pagesData, | ||
resolvers, | ||
@@ -18,8 +20,9 @@ routeLocaleSymbol, | ||
usePageLang, | ||
usePageLayout, | ||
withBase | ||
} from "./chunk-V3MKNX2O.js"; | ||
} from "./chunk-DHNSDB55.js"; | ||
// src/app.ts | ||
import { clientConfigs } from "@internal/clientConfigs"; | ||
import { createApp, createSSRApp, h } from "vue"; | ||
import { createApp, createSSRApp, h as h2 } from "vue"; | ||
import { RouterView } from "vue-router"; | ||
@@ -39,2 +42,14 @@ | ||
import { pagesRoutes } from "@internal/pagesRoutes"; | ||
// src/components/Vuepress.ts | ||
import { defineComponent, h } from "vue"; | ||
var Vuepress = defineComponent({ | ||
name: "Vuepress", | ||
setup() { | ||
const layout = usePageLayout(); | ||
return () => h(layout.value); | ||
} | ||
}); | ||
// src/routes.ts | ||
var createRoutes = () => pagesRoutes.reduce( | ||
@@ -49,4 +64,17 @@ (result, [name, path, meta, redirects]) => { | ||
}, | ||
{ | ||
path: path.endsWith("/") ? ( | ||
// redirect from `/index.html` to `/` | ||
path + "index.html" | ||
) : ( | ||
// redirect from `/foo` to `/foo.html` | ||
path.substring(0, path.length - 5) | ||
), | ||
redirect: path | ||
}, | ||
...redirects.map((item) => ({ | ||
path: item, | ||
path: item === ":md" ? ( | ||
// redirect from `/foo.md` to `/foo.html` | ||
path.substring(0, path.length - 5) + ".md" | ||
) : item, | ||
redirect: path | ||
@@ -70,3 +98,4 @@ })) | ||
const router = createRouter({ | ||
history: historyCreator(removeEndingSlash(siteData.value.base)), | ||
// it might be an issue of vue-router that have to remove the ending slash | ||
history: historyCreator(removeEndingSlash(__VUEPRESS_BASE__)), | ||
routes: createRoutes(), | ||
@@ -84,3 +113,3 @@ scrollBehavior: (to, from, savedPosition) => { | ||
; | ||
[pageData.value] = await Promise.all([ | ||
[to.meta._data] = await Promise.all([ | ||
resolvers.resolvePageData(to.name), | ||
@@ -101,10 +130,23 @@ pagesComponents[to.name]?.__asyncLoader() | ||
// src/setupGlobalComputed.ts | ||
import { computedEager, computedWithControl } from "@vueuse/core"; | ||
import { computed } from "vue"; | ||
var setupGlobalComputed = (app, router) => { | ||
const routeLocale = computed( | ||
() => resolvers.resolveRouteLocale( | ||
siteData.value.locales, | ||
router.currentRoute.value.path | ||
) | ||
var setupGlobalComputed = (app, router, clientConfigs2) => { | ||
const routePath = computedEager(() => router.currentRoute.value.path); | ||
const routeLocale = computedEager( | ||
() => resolvers.resolveRouteLocale(siteData.value.locales, routePath.value) | ||
); | ||
const pageData = computedWithControl( | ||
routePath, | ||
() => router.currentRoute.value.meta._data | ||
); | ||
if (__VUEPRESS_DEV__ && (import.meta.webpackHot || import.meta.hot)) { | ||
__VUE_HMR_RUNTIME__.updatePageData = (data) => { | ||
pagesData.value[data.key] = () => Promise.resolve(data); | ||
if (data.key === router.currentRoute.value.meta._data?.key) { | ||
router.currentRoute.value.meta._data = data; | ||
pageData.trigger(); | ||
} | ||
}; | ||
} | ||
const layouts = computed(() => resolvers.resolveLayouts(clientConfigs2)); | ||
const siteLocaleData = computed( | ||
@@ -126,5 +168,10 @@ () => resolvers.resolveSiteLocaleData(siteData.value, routeLocale.value) | ||
); | ||
const pageLang = computed(() => resolvers.resolvePageLang(pageData.value)); | ||
app.provide(routeLocaleSymbol, routeLocale); | ||
app.provide(siteLocaleDataSymbol, siteLocaleData); | ||
const pageLang = computed( | ||
() => resolvers.resolvePageLang(pageData.value, siteLocaleData.value) | ||
); | ||
const pageLayout = computed( | ||
() => resolvers.resolvePageLayout(pageData.value, layouts.value) | ||
); | ||
app.provide(layoutsSymbol, layouts); | ||
app.provide(pageDataSymbol, pageData); | ||
app.provide(pageFrontmatterSymbol, pageFrontmatter); | ||
@@ -134,2 +181,5 @@ app.provide(pageHeadTitleSymbol, pageHeadTitle); | ||
app.provide(pageLangSymbol, pageLang); | ||
app.provide(pageLayoutSymbol, pageLayout); | ||
app.provide(routeLocaleSymbol, routeLocale); | ||
app.provide(siteLocaleDataSymbol, siteLocaleData); | ||
Object.defineProperties(app.config.globalProperties, { | ||
@@ -147,2 +197,3 @@ $frontmatter: { get: () => pageFrontmatter.value }, | ||
return { | ||
layouts, | ||
pageData, | ||
@@ -153,2 +204,3 @@ pageFrontmatter, | ||
pageLang, | ||
pageLayout, | ||
routeLocale, | ||
@@ -163,5 +215,3 @@ siteData, | ||
import { onMounted, provide, ref, useSSRContext, watch } from "vue"; | ||
import { useRoute } from "vue-router"; | ||
var setupUpdateHead = () => { | ||
const route = useRoute(); | ||
const head = usePageHead(); | ||
@@ -206,6 +256,3 @@ const lang = usePageLang(); | ||
updateHead(); | ||
watch( | ||
() => __VUEPRESS_DEV__ ? head.value : route.path, | ||
() => updateHead() | ||
); | ||
watch(() => head.value, updateHead); | ||
}); | ||
@@ -220,3 +267,3 @@ }; | ||
if (isString(value)) { | ||
return `[${key}="${value}"]`; | ||
return `[${key}=${JSON.stringify(value)}]`; | ||
} | ||
@@ -268,5 +315,5 @@ if (value === true) { | ||
return () => [ | ||
h(RouterView), | ||
h2(RouterView), | ||
...clientConfigs.flatMap( | ||
({ rootComponents = [] }) => rootComponents.map((component) => h(component)) | ||
({ rootComponents = [] }) => rootComponents.map((component) => h2(component)) | ||
) | ||
@@ -278,5 +325,5 @@ ]; | ||
setupGlobalComponents(app); | ||
const globalComputed = setupGlobalComputed(app, router); | ||
const globalComputed = setupGlobalComputed(app, router, clientConfigs); | ||
if (__VUEPRESS_DEV__ || __VUE_PROD_DEVTOOLS__) { | ||
const { setupDevtools } = await import("./setupDevtools-EXVHPMXB.js"); | ||
const { setupDevtools } = await import("./setupDevtools-X4YFRK4B.js"); | ||
setupDevtools(app, globalComputed); | ||
@@ -283,0 +330,0 @@ } |
import { PageData, PageFrontmatter, HeadConfig, SiteData } from '@vuepress/shared'; | ||
export { PageData, PageFrontmatter, PageHeader, SiteData } from '@vuepress/shared'; | ||
import * as vue from 'vue'; | ||
import { Ref, ComputedRef, InjectionKey, App, Component } from 'vue'; | ||
import { Component, App, ComputedRef, InjectionKey, Ref } from 'vue'; | ||
import { Router, RouteMeta } from 'vue-router'; | ||
@@ -9,3 +9,3 @@ | ||
[key: string]: any; | ||
}>[] | null | undefined, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, vue.EmitsOptions, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{}>>, {}>; | ||
}>[] | null | undefined, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{}>>, {}, {}>; | ||
@@ -23,3 +23,3 @@ /** | ||
[key: string]: any; | ||
}>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{ | ||
}>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{ | ||
pageKey: { | ||
@@ -32,10 +32,57 @@ type: StringConstructor; | ||
pageKey: string; | ||
}, {}>; | ||
type Layouts = Record<string, Component>; | ||
/** | ||
* Configure vuepress client | ||
*/ | ||
interface ClientConfig { | ||
/** | ||
* An enhance function to be called after vue app instance and | ||
* vue-router instance has been created | ||
*/ | ||
enhance?: (context: { | ||
app: App; | ||
router: Router; | ||
siteData: SiteDataRef; | ||
}) => void | Promise<void>; | ||
/** | ||
* A function to be called inside the setup function of vue app | ||
*/ | ||
setup?: () => void; | ||
/** | ||
* Layout components | ||
*/ | ||
layouts?: Layouts; | ||
/** | ||
* Components to be placed directly into the root node of vue app | ||
*/ | ||
rootComponents?: Component[]; | ||
} | ||
type CreateVueAppFunction = () => Promise<{ | ||
app: App; | ||
router: Router; | ||
}>; | ||
type PageRouteItem = [ | ||
name: string, | ||
path: string, | ||
meta: RouteMeta, | ||
redirects: string[] | ||
]; | ||
/** | ||
* Global Layout | ||
* Ref wrapper of `Layouts` | ||
*/ | ||
declare const Vuepress: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, { | ||
[key: string]: any; | ||
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, vue.EmitsOptions, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{}>>, {}>; | ||
type LayoutsRef = ComputedRef<Layouts>; | ||
/** | ||
* Injection key for layouts | ||
*/ | ||
declare const layoutsSymbol: InjectionKey<LayoutsRef>; | ||
/** | ||
* Returns layouts component map | ||
*/ | ||
declare const useLayouts: () => LayoutsRef; | ||
@@ -45,11 +92,11 @@ /** | ||
*/ | ||
declare type PageDataRef<T extends Record<any, any> = Record<never, never>> = Ref<PageData<T>>; | ||
type PageDataRef<T extends Record<any, any> = Record<never, never>> = Ref<PageData<T>>; | ||
/** | ||
* Empty page data to be used as the fallback value | ||
* Injection key for page data | ||
*/ | ||
declare const pageDataEmpty: PageData<Record<never, never>, Record<string, unknown>>; | ||
declare const pageDataSymbol: InjectionKey<PageDataRef>; | ||
/** | ||
* Global page data ref | ||
* Empty page data to be used as the fallback value | ||
*/ | ||
declare const pageData: PageDataRef; | ||
declare const pageDataEmpty: PageData; | ||
/** | ||
@@ -63,3 +110,3 @@ * Returns the ref of the data of current page | ||
*/ | ||
declare type PageFrontmatterRef<T extends Record<any, any> = Record<string, unknown>> = ComputedRef<PageFrontmatter<T>>; | ||
type PageFrontmatterRef<T extends Record<any, any> = Record<string, unknown>> = ComputedRef<PageFrontmatter<T>>; | ||
/** | ||
@@ -77,7 +124,7 @@ * Injection key for page frontmatter | ||
*/ | ||
declare type PageHead = HeadConfig[]; | ||
type PageHead = HeadConfig[]; | ||
/** | ||
* Ref wrapper of `PageHead` | ||
*/ | ||
declare type PageHeadRef = ComputedRef<PageHead>; | ||
type PageHeadRef = ComputedRef<PageHead>; | ||
/** | ||
@@ -95,7 +142,7 @@ * Injection key for page head | ||
*/ | ||
declare type PageHeadTitle = string; | ||
type PageHeadTitle = string; | ||
/** | ||
* Ref wrapper of `PageHeadTitle` | ||
*/ | ||
declare type PageHeadTitleRef = ComputedRef<PageHeadTitle>; | ||
type PageHeadTitleRef = ComputedRef<PageHeadTitle>; | ||
/** | ||
@@ -113,7 +160,7 @@ * Injection key for page head title | ||
*/ | ||
declare type PageLang = string; | ||
type PageLang = string; | ||
/** | ||
* Ref wrapper of `PageLang` | ||
*/ | ||
declare type PageLangRef = ComputedRef<PageLang>; | ||
type PageLangRef = ComputedRef<PageLang>; | ||
/** | ||
@@ -129,2 +176,15 @@ * Injection key for page language | ||
/** | ||
* Ref wrapper of `PageLayout` | ||
*/ | ||
type PageLayoutRef = ComputedRef<Component>; | ||
/** | ||
* Injection key for page layout | ||
*/ | ||
declare const pageLayoutSymbol: InjectionKey<PageLayoutRef>; | ||
/** | ||
* Returns layout component of current page | ||
*/ | ||
declare const usePageLayout: () => ComputedRef<Component>; | ||
/** | ||
* Data resolvers of all pages | ||
@@ -135,7 +195,7 @@ * | ||
*/ | ||
declare type PagesData = Record<string, (() => Promise<PageData>) | undefined>; | ||
type PagesData = Record<string, (() => Promise<PageData>) | undefined>; | ||
/** | ||
* Ref wrapper of `PagesData` | ||
*/ | ||
declare type PagesDataRef = Ref<PagesData>; | ||
type PagesDataRef = Ref<PagesData>; | ||
/** | ||
@@ -153,7 +213,7 @@ * Global pages data ref | ||
*/ | ||
declare type RouteLocale = string; | ||
type RouteLocale = string; | ||
/** | ||
* Ref wrapper of `RouteLocale` | ||
*/ | ||
declare type RouteLocaleRef = ComputedRef<RouteLocale>; | ||
type RouteLocaleRef = Readonly<Ref<RouteLocale>>; | ||
/** | ||
@@ -171,3 +231,3 @@ * Injection key for page route locale path | ||
*/ | ||
declare type SiteDataRef = Ref<SiteData>; | ||
type SiteDataRef = Ref<SiteData>; | ||
/** | ||
@@ -185,7 +245,7 @@ * Global site data ref | ||
*/ | ||
declare type SiteLocaleData = SiteData; | ||
type SiteLocaleData = SiteData; | ||
/** | ||
* Ref wrapper of `SiteLocaleData` | ||
*/ | ||
declare type SiteLocaleDataRef = ComputedRef<SiteLocaleData>; | ||
type SiteLocaleDataRef = ComputedRef<SiteLocaleData>; | ||
/** | ||
@@ -203,3 +263,3 @@ * Injection key for site locale data | ||
*/ | ||
declare type UpdateHead = () => void; | ||
type UpdateHead = () => void; | ||
/** | ||
@@ -215,40 +275,10 @@ * Injection key for `updateHead` util | ||
/** | ||
* Configure vuepress client | ||
* A helper function to help you define vuepress client config file | ||
*/ | ||
interface ClientConfig { | ||
/** | ||
* An enhance function to be called after vue app instance and | ||
* vue-router instance has been created | ||
*/ | ||
enhance?: (context: { | ||
app: App; | ||
router: Router; | ||
siteData: SiteDataRef; | ||
}) => void | Promise<void>; | ||
/** | ||
* A function to be called inside the setup function of vue app | ||
*/ | ||
setup?: () => void; | ||
/** | ||
* Components to be placed directly into the root node of vue app | ||
*/ | ||
rootComponents?: Component[]; | ||
} | ||
declare const defineClientConfig: (clientConfig?: ClientConfig) => ClientConfig; | ||
declare type CreateVueAppFunction = () => Promise<{ | ||
app: App; | ||
router: Router; | ||
}>; | ||
declare type PageRouteItem = [ | ||
name: string, | ||
path: string, | ||
meta: RouteMeta, | ||
redirects: string[] | ||
]; | ||
/** | ||
* A helper function to help you define vuepress client config file | ||
* Prefix url with site base | ||
*/ | ||
declare const defineClientConfig: (clientConfig: ClientConfig) => ClientConfig; | ||
declare const withBase: (url: string) => string; | ||
@@ -261,2 +291,3 @@ /** | ||
declare const resolvers: { | ||
resolveLayouts: (clientConfigs: ClientConfig[]) => Layouts; | ||
resolvePageData: (pageKey: string) => Promise<PageData>; | ||
@@ -266,3 +297,4 @@ resolvePageFrontmatter: (pageData: PageData) => PageFrontmatter; | ||
resolvePageHeadTitle: (page: PageData, siteLocale: SiteLocaleData) => PageHeadTitle; | ||
resolvePageLang: (pageData: PageData) => PageLang; | ||
resolvePageLang: (page: PageData, siteLocale: SiteLocaleData) => PageLang; | ||
resolvePageLayout: (page: PageData, layouts: Layouts) => Component; | ||
resolveRouteLocale: (locales: SiteData['locales'], routePath: string) => RouteLocale; | ||
@@ -272,7 +304,2 @@ resolveSiteLocaleData: (site: SiteData, routeLocale: RouteLocale) => SiteLocaleData; | ||
/** | ||
* Prefix url with site base | ||
*/ | ||
declare const withBase: (url: string) => string; | ||
export { ClientConfig, ClientOnly, Content, CreateVueAppFunction, PageDataRef, PageFrontmatterRef, PageHead, PageHeadRef, PageHeadTitle, PageHeadTitleRef, PageLang, PageLangRef, PageRouteItem, PagesData, PagesDataRef, RouteLocale, RouteLocaleRef, SiteDataRef, SiteLocaleData, SiteLocaleDataRef, UpdateHead, Vuepress, defineClientConfig, pageData, pageDataEmpty, pageFrontmatterSymbol, pageHeadSymbol, pageHeadTitleSymbol, pageLangSymbol, pagesData, resolvers, routeLocaleSymbol, siteData, siteLocaleDataSymbol, updateHeadSymbol, usePageData, usePageFrontmatter, usePageHead, usePageHeadTitle, usePageLang, usePagesData, useRouteLocale, useSiteData, useSiteLocaleData, useUpdateHead, withBase }; | ||
export { ClientConfig, ClientOnly, Content, CreateVueAppFunction, Layouts, LayoutsRef, PageDataRef, PageFrontmatterRef, PageHead, PageHeadRef, PageHeadTitle, PageHeadTitleRef, PageLang, PageLangRef, PageLayoutRef, PageRouteItem, PagesData, PagesDataRef, RouteLocale, RouteLocaleRef, SiteDataRef, SiteLocaleData, SiteLocaleDataRef, UpdateHead, defineClientConfig, layoutsSymbol, pageDataEmpty, pageDataSymbol, pageFrontmatterSymbol, pageHeadSymbol, pageHeadTitleSymbol, pageLangSymbol, pageLayoutSymbol, pagesData, resolvers, routeLocaleSymbol, siteData, siteLocaleDataSymbol, updateHeadSymbol, useLayouts, usePageData, usePageFrontmatter, usePageHead, usePageHeadTitle, usePageLang, usePageLayout, usePagesData, useRouteLocale, useSiteData, useSiteLocaleData, useUpdateHead, withBase }; |
import { | ||
ClientOnly, | ||
Content, | ||
Vuepress, | ||
pageData, | ||
defineClientConfig, | ||
layoutsSymbol, | ||
pageDataEmpty, | ||
pageDataSymbol, | ||
pageFrontmatterSymbol, | ||
@@ -11,2 +12,3 @@ pageHeadSymbol, | ||
pageLangSymbol, | ||
pageLayoutSymbol, | ||
pagesData, | ||
@@ -18,2 +20,3 @@ resolvers, | ||
updateHeadSymbol, | ||
useLayouts, | ||
usePageData, | ||
@@ -24,2 +27,3 @@ usePageFrontmatter, | ||
usePageLang, | ||
usePageLayout, | ||
usePagesData, | ||
@@ -31,13 +35,10 @@ useRouteLocale, | ||
withBase | ||
} from "./chunk-V3MKNX2O.js"; | ||
// src/helpers/defineClientConfig.ts | ||
var defineClientConfig = (clientConfig) => clientConfig; | ||
} from "./chunk-DHNSDB55.js"; | ||
export { | ||
ClientOnly, | ||
Content, | ||
Vuepress, | ||
defineClientConfig, | ||
pageData, | ||
layoutsSymbol, | ||
pageDataEmpty, | ||
pageDataSymbol, | ||
pageFrontmatterSymbol, | ||
@@ -47,2 +48,3 @@ pageHeadSymbol, | ||
pageLangSymbol, | ||
pageLayoutSymbol, | ||
pagesData, | ||
@@ -54,2 +56,3 @@ resolvers, | ||
updateHeadSymbol, | ||
useLayouts, | ||
usePageData, | ||
@@ -60,2 +63,3 @@ usePageFrontmatter, | ||
usePageLang, | ||
usePageLayout, | ||
usePagesData, | ||
@@ -62,0 +66,0 @@ useRouteLocale, |
{ | ||
"name": "@vuepress/client", | ||
"version": "2.0.0-beta.50-pre.1", | ||
"version": "2.0.0-rc.0", | ||
"description": "Client package of VuePress", | ||
@@ -36,6 +36,7 @@ "keywords": [ | ||
"dependencies": { | ||
"@vue/devtools-api": "^6.2.1", | ||
"@vuepress/shared": "2.0.0-beta.50-pre.1", | ||
"vue": "^3.2.37", | ||
"vue-router": "^4.1.3" | ||
"@vue/devtools-api": "^6.5.1", | ||
"@vueuse/core": "^10.6.1", | ||
"vue": "^3.3.8", | ||
"vue-router": "^4.2.5", | ||
"@vuepress/shared": "2.0.0-rc.0" | ||
}, | ||
@@ -65,3 +66,3 @@ "publishConfig": { | ||
"sourcemap": false, | ||
"target": "es2020", | ||
"target": "es2022", | ||
"tsconfig": "./tsconfig.dts.json" | ||
@@ -68,0 +69,0 @@ }, |
declare const __VUEPRESS_VERSION__: string | ||
declare const __VUEPRESS_BASE__: string | ||
declare const __VUEPRESS_DEV__: boolean | ||
@@ -3,0 +4,0 @@ declare const __VUEPRESS_SSR__: boolean |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Deprecated
MaintenanceThe maintainer of the package marked it as deprecated. This could indicate that a single version should not be used, or that the package is no longer maintained and any new vulnerabilities will not be fixed.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
33689
1069
0
5
+ Added@vueuse/core@^10.6.1
+ Added@mdit-vue/types@1.0.0(transitive)
+ Added@types/web-bluetooth@0.0.20(transitive)
+ Added@vuepress/shared@2.0.0-rc.0(transitive)
+ Added@vueuse/core@10.11.1(transitive)
+ Added@vueuse/metadata@10.11.1(transitive)
+ Added@vueuse/shared@10.11.1(transitive)
+ Addedvue-demi@0.14.10(transitive)
- Removed@vuepress/shared@2.0.0-beta.50-pre.1(transitive)
Updated@vue/devtools-api@^6.5.1
Updated@vuepress/shared@2.0.0-rc.0
Updatedvue@^3.3.8
Updatedvue-router@^4.2.5