@vuepress/client 2.0.0-beta.66 → 2.0.0-beta.68

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/app.js CHANGED
@@ -2,12 +2,13 @@ import {
2
2
  ClientOnly,
3
3
  Content,
4
4
  layoutsSymbol,
5
- pageData,
5
+ pageDataSymbol,
6
6
  pageFrontmatterSymbol,
7
7
  pageHeadSymbol,
8
8
  pageHeadTitleSymbol,
9
9
  pageLangSymbol,
10
10
  pageLayoutSymbol,
11
+ pagesData,
11
12
  resolvers,
12
13
  routeLocaleSymbol,
13
14
  siteData,
@@ -17,7 +18,7 @@ import {
17
18
  usePageLang,
18
19
  usePageLayout,
19
20
  withBase
20
- } from "./chunk-IKARB3UY.js";
21
+ } from "./chunk-DHNSDB55.js";
21
22
 
22
23
  // src/app.ts
23
24
  import { clientConfigs } from "@internal/clientConfigs";
@@ -104,7 +105,7 @@ var createVueRouter = () => {
104
105
  router.beforeResolve(async (to, from) => {
105
106
  if (to.path !== from.path || from === START_LOCATION) {
106
107
  ;
107
- [pageData.value] = await Promise.all([
108
+ [to.meta._data] = await Promise.all([
108
109
  resolvers.resolvePageData(to.name),
109
110
  pagesComponents[to.name]?.__asyncLoader()
110
111
  ]);
@@ -120,14 +121,27 @@ var setupGlobalComponents = (app) => {
120
121
  };
121
122
 
122
123
  // src/setupGlobalComputed.ts
123
- import { computedEager } from "@vueuse/core";
124
+ import { computedEager, computedWithControl } from "@vueuse/core";
124
125
  import { computed } from "vue";
125
126
  var setupGlobalComputed = (app, router, clientConfigs2) => {
126
- const layouts = computed(() => resolvers.resolveLayouts(clientConfigs2));
127
127
  const routePath = computedEager(() => router.currentRoute.value.path);
128
128
  const routeLocale = computedEager(
129
129
  () => resolvers.resolveRouteLocale(siteData.value.locales, routePath.value)
130
130
  );
131
+ const pageData = computedWithControl(
132
+ routePath,
133
+ () => router.currentRoute.value.meta._data
134
+ );
135
+ if (__VUEPRESS_DEV__ && (import.meta.webpackHot || import.meta.hot)) {
136
+ __VUE_HMR_RUNTIME__.updatePageData = (data) => {
137
+ pagesData.value[data.key] = () => Promise.resolve(data);
138
+ if (data.key === router.currentRoute.value.meta._data?.key) {
139
+ router.currentRoute.value.meta._data = data;
140
+ pageData.trigger();
141
+ }
142
+ };
143
+ }
144
+ const layouts = computed(() => resolvers.resolveLayouts(clientConfigs2));
131
145
  const siteLocaleData = computed(
132
146
  () => resolvers.resolveSiteLocaleData(siteData.value, routeLocale.value)
133
147
  );
@@ -151,6 +165,7 @@ var setupGlobalComputed = (app, router, clientConfigs2) => {
151
165
  () => resolvers.resolvePageLayout(pageData.value, layouts.value)
152
166
  );
153
167
  app.provide(layoutsSymbol, layouts);
168
+ app.provide(pageDataSymbol, pageData);
154
169
  app.provide(pageFrontmatterSymbol, pageFrontmatter);
155
170
  app.provide(pageHeadTitleSymbol, pageHeadTitle);
156
171
  app.provide(pageHeadSymbol, pageHead);
@@ -11,14 +11,11 @@ var useLayouts = () => {
11
11
  return layouts;
12
12
  };
13
13
 
14
- // src/composables/pagesData.ts
15
- import { pagesData as pagesDataRaw } from "@internal/pagesData";
16
- import { ref } from "vue";
17
- var pagesData = ref(pagesDataRaw);
18
- var usePagesData = () => pagesData;
19
-
20
14
  // src/composables/pageData.ts
21
- import { readonly, ref as ref2 } from "vue";
15
+ import { inject as inject2, readonly } from "vue";
16
+ var pageDataSymbol = Symbol(
17
+ __VUEPRESS_DEV__ ? "pageData" : ""
18
+ );
22
19
  var pageDataEmpty = readonly({
23
20
  key: "",
24
21
  path: "",
@@ -27,24 +24,21 @@ var pageDataEmpty = readonly({
27
24
  frontmatter: {},
28
25
  headers: []
29
26
  });
30
- var pageData = ref2(pageDataEmpty);
31
- var usePageData = () => pageData;
32
- if (__VUEPRESS_DEV__ && (import.meta.webpackHot || import.meta.hot)) {
33
- __VUE_HMR_RUNTIME__.updatePageData = (data) => {
34
- pagesData.value[data.key] = () => Promise.resolve(data);
35
- if (data.key === pageData.value.key) {
36
- pageData.value = data;
37
- }
38
- };
39
- }
27
+ var usePageData = () => {
28
+ const pageData = inject2(pageDataSymbol);
29
+ if (!pageData) {
30
+ throw new Error("pageData() is called without provider.");
31
+ }
32
+ return pageData;
33
+ };
40
34
 
41
35
  // src/composables/pageFrontmatter.ts
42
- import { inject as inject2 } from "vue";
36
+ import { inject as inject3 } from "vue";
43
37
  var pageFrontmatterSymbol = Symbol(
44
38
  __VUEPRESS_DEV__ ? "pageFrontmatter" : ""
45
39
  );
46
40
  var usePageFrontmatter = () => {
47
- const pageFrontmatter = inject2(pageFrontmatterSymbol);
41
+ const pageFrontmatter = inject3(pageFrontmatterSymbol);
48
42
  if (!pageFrontmatter) {
49
43
  throw new Error("usePageFrontmatter() is called without provider.");
50
44
  }
@@ -52,12 +46,12 @@ var usePageFrontmatter = () => {
52
46
  };
53
47
 
54
48
  // src/composables/pageHead.ts
55
- import { inject as inject3 } from "vue";
49
+ import { inject as inject4 } from "vue";
56
50
  var pageHeadSymbol = Symbol(
57
51
  __VUEPRESS_DEV__ ? "pageHead" : ""
58
52
  );
59
53
  var usePageHead = () => {
60
- const pageHead = inject3(pageHeadSymbol);
54
+ const pageHead = inject4(pageHeadSymbol);
61
55
  if (!pageHead) {
62
56
  throw new Error("usePageHead() is called without provider.");
63
57
  }
@@ -65,12 +59,12 @@ var usePageHead = () => {
65
59
  };
66
60
 
67
61
  // src/composables/pageHeadTitle.ts
68
- import { inject as inject4 } from "vue";
62
+ import { inject as inject5 } from "vue";
69
63
  var pageHeadTitleSymbol = Symbol(
70
64
  __VUEPRESS_DEV__ ? "pageHeadTitle" : ""
71
65
  );
72
66
  var usePageHeadTitle = () => {
73
- const pageHeadTitle = inject4(pageHeadTitleSymbol);
67
+ const pageHeadTitle = inject5(pageHeadTitleSymbol);
74
68
  if (!pageHeadTitle) {
75
69
  throw new Error("usePageHeadTitle() is called without provider.");
76
70
  }
@@ -78,12 +72,12 @@ var usePageHeadTitle = () => {
78
72
  };
79
73
 
80
74
  // src/composables/pageLang.ts
81
- import { inject as inject5 } from "vue";
75
+ import { inject as inject6 } from "vue";
82
76
  var pageLangSymbol = Symbol(
83
77
  __VUEPRESS_DEV__ ? "pageLang" : ""
84
78
  );
85
79
  var usePageLang = () => {
86
- const pageLang = inject5(pageLangSymbol);
80
+ const pageLang = inject6(pageLangSymbol);
87
81
  if (!pageLang) {
88
82
  throw new Error("usePageLang() is called without provider.");
89
83
  }
@@ -91,27 +85,31 @@ var usePageLang = () => {
91
85
  };
92
86
 
93
87
  // src/composables/pageLayout.ts
94
- import {
95
- inject as inject6
96
- } from "vue";
88
+ import { inject as inject7 } from "vue";
97
89
  var pageLayoutSymbol = Symbol(
98
90
  __VUEPRESS_DEV__ ? "pageLayout" : ""
99
91
  );
100
92
  var usePageLayout = () => {
101
- const pageLayout = inject6(pageLayoutSymbol);
93
+ const pageLayout = inject7(pageLayoutSymbol);
102
94
  if (!pageLayout) {
103
95
  throw new Error("usePageLayout() is called without provider.");
104
96
  }
105
97
  return pageLayout;
106
98
  };
107
99
 
100
+ // src/composables/pagesData.ts
101
+ import { pagesData as pagesDataRaw } from "@internal/pagesData";
102
+ import { ref } from "vue";
103
+ var pagesData = ref(pagesDataRaw);
104
+ var usePagesData = () => pagesData;
105
+
108
106
  // src/composables/routeLocale.ts
109
- import { inject as inject7 } from "vue";
107
+ import { inject as inject8 } from "vue";
110
108
  var routeLocaleSymbol = Symbol(
111
109
  __VUEPRESS_DEV__ ? "routeLocale" : ""
112
110
  );
113
111
  var useRouteLocale = () => {
114
- const routeLocale = inject7(routeLocaleSymbol);
112
+ const routeLocale = inject8(routeLocaleSymbol);
115
113
  if (!routeLocale) {
116
114
  throw new Error("useRouteLocale() is called without provider.");
117
115
  }
@@ -120,8 +118,8 @@ var useRouteLocale = () => {
120
118
 
121
119
  // src/composables/siteData.ts
122
120
  import { siteData as siteDataRaw } from "@internal/siteData";
123
- import { ref as ref3 } from "vue";
124
- var siteData = ref3(siteDataRaw);
121
+ import { ref as ref2 } from "vue";
122
+ var siteData = ref2(siteDataRaw);
125
123
  var useSiteData = () => siteData;
126
124
  if (__VUEPRESS_DEV__ && (import.meta.webpackHot || import.meta.hot)) {
127
125
  __VUE_HMR_RUNTIME__.updateSiteData = (data) => {
@@ -130,12 +128,12 @@ if (__VUEPRESS_DEV__ && (import.meta.webpackHot || import.meta.hot)) {
130
128
  }
131
129
 
132
130
  // src/composables/siteLocaleData.ts
133
- import { inject as inject8 } from "vue";
131
+ import { inject as inject9 } from "vue";
134
132
  var siteLocaleDataSymbol = Symbol(
135
133
  __VUEPRESS_DEV__ ? "siteLocaleData" : ""
136
134
  );
137
135
  var useSiteLocaleData = () => {
138
- const siteLocaleData = inject8(siteLocaleDataSymbol);
136
+ const siteLocaleData = inject9(siteLocaleDataSymbol);
139
137
  if (!siteLocaleData) {
140
138
  throw new Error("useSiteLocaleData() is called without provider.");
141
139
  }
@@ -143,12 +141,12 @@ var useSiteLocaleData = () => {
143
141
  };
144
142
 
145
143
  // src/composables/updateHead.ts
146
- import { inject as inject9 } from "vue";
144
+ import { inject as inject10 } from "vue";
147
145
  var updateHeadSymbol = Symbol(
148
146
  __VUEPRESS_DEV__ ? "updateHead" : ""
149
147
  );
150
148
  var useUpdateHead = () => {
151
- const updateHead = inject9(updateHeadSymbol);
149
+ const updateHead = inject10(updateHeadSymbol);
152
150
  if (!updateHead) {
153
151
  throw new Error("useUpdateHead() is called without provider.");
154
152
  }
@@ -185,13 +183,13 @@ var resolvers = reactive({
185
183
  */
186
184
  resolvePageData: async (pageKey) => {
187
185
  const pageDataResolver = pagesData.value[pageKey];
188
- const pageData2 = await pageDataResolver?.();
189
- return pageData2 ?? pageDataEmpty;
186
+ const pageData = await pageDataResolver?.();
187
+ return pageData ?? pageDataEmpty;
190
188
  },
191
189
  /**
192
190
  * Resolve page frontmatter from page data
193
191
  */
194
- resolvePageFrontmatter: (pageData2) => pageData2.frontmatter,
192
+ resolvePageFrontmatter: (pageData) => pageData.frontmatter,
195
193
  /**
196
194
  * Merge the head config in frontmatter and site locale
197
195
  *
@@ -252,11 +250,11 @@ var resolvers = reactive({
252
250
  });
253
251
 
254
252
  // src/components/ClientOnly.ts
255
- import { defineComponent, onMounted, ref as ref4 } from "vue";
253
+ import { defineComponent, onMounted, ref as ref3 } from "vue";
256
254
  var ClientOnly = defineComponent({
257
255
  name: "ClientOnly",
258
256
  setup(_, ctx) {
259
- const isMounted = ref4(false);
257
+ const isMounted = ref3(false);
260
258
  onMounted(() => {
261
259
  isMounted.value = true;
262
260
  });
@@ -309,10 +307,8 @@ var withBase = (url) => {
309
307
  export {
310
308
  layoutsSymbol,
311
309
  useLayouts,
312
- pagesData,
313
- usePagesData,
310
+ pageDataSymbol,
314
311
  pageDataEmpty,
315
- pageData,
316
312
  usePageData,
317
313
  pageFrontmatterSymbol,
318
314
  usePageFrontmatter,
@@ -324,6 +320,8 @@ export {
324
320
  usePageLang,
325
321
  pageLayoutSymbol,
326
322
  usePageLayout,
323
+ pagesData,
324
+ usePagesData,
327
325
  routeLocaleSymbol,
328
326
  useRouteLocale,
329
327
  siteData,
package/dist/index.d.ts CHANGED
@@ -88,13 +88,13 @@ declare const useLayouts: () => LayoutsRef;
88
88
  */
89
89
  type PageDataRef<T extends Record<any, any> = Record<never, never>> = Ref<PageData<T>>;
90
90
  /**
91
- * Empty page data to be used as the fallback value
91
+ * Injection key for page data
92
92
  */
93
- declare const pageDataEmpty: PageData;
93
+ declare const pageDataSymbol: InjectionKey<PageDataRef>;
94
94
  /**
95
- * Global page data ref
95
+ * Empty page data to be used as the fallback value
96
96
  */
97
- declare const pageData: PageDataRef;
97
+ declare const pageDataEmpty: PageData;
98
98
  /**
99
99
  * Returns the ref of the data of current page
100
100
  */
@@ -284,4 +284,4 @@ declare const resolvers: {
284
284
  resolveSiteLocaleData: (site: SiteData, routeLocale: RouteLocale) => SiteLocaleData;
285
285
  };
286
286
 
287
- 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, pageData, pageDataEmpty, pageFrontmatterSymbol, pageHeadSymbol, pageHeadTitleSymbol, pageLangSymbol, pageLayoutSymbol, pagesData, resolvers, routeLocaleSymbol, siteData, siteLocaleDataSymbol, updateHeadSymbol, useLayouts, usePageData, usePageFrontmatter, usePageHead, usePageHeadTitle, usePageLang, usePageLayout, usePagesData, useRouteLocale, useSiteData, useSiteLocaleData, useUpdateHead, withBase };
287
+ 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 };
package/dist/index.js CHANGED
@@ -3,8 +3,8 @@ import {
3
3
  Content,
4
4
  defineClientConfig,
5
5
  layoutsSymbol,
6
- pageData,
7
6
  pageDataEmpty,
7
+ pageDataSymbol,
8
8
  pageFrontmatterSymbol,
9
9
  pageHeadSymbol,
10
10
  pageHeadTitleSymbol,
@@ -29,14 +29,14 @@ import {
29
29
  useSiteLocaleData,
30
30
  useUpdateHead,
31
31
  withBase
32
- } from "./chunk-IKARB3UY.js";
32
+ } from "./chunk-DHNSDB55.js";
33
33
  export {
34
34
  ClientOnly,
35
35
  Content,
36
36
  defineClientConfig,
37
37
  layoutsSymbol,
38
- pageData,
39
38
  pageDataEmpty,
39
+ pageDataSymbol,
40
40
  pageFrontmatterSymbol,
41
41
  pageHeadSymbol,
42
42
  pageHeadTitleSymbol,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vuepress/client",
3
- "version": "2.0.0-beta.66",
3
+ "version": "2.0.0-beta.68",
4
4
  "description": "Client package of VuePress",
5
5
  "keywords": [
6
6
  "vuepress",
@@ -33,11 +33,11 @@
33
33
  "types.d.ts"
34
34
  ],
35
35
  "dependencies": {
36
- "@vue/devtools-api": "^6.5.0",
37
- "@vueuse/core": "^10.2.1",
38
- "vue": "^3.3.4",
39
- "vue-router": "^4.2.4",
40
- "@vuepress/shared": "2.0.0-beta.66"
36
+ "@vue/devtools-api": "^6.5.1",
37
+ "@vueuse/core": "^10.6.0",
38
+ "vue": "^3.3.8",
39
+ "vue-router": "^4.2.5",
40
+ "@vuepress/shared": "2.0.0-beta.68"
41
41
  },
42
42
  "publishConfig": {
43
43
  "access": "public"
@@ -62,7 +62,7 @@
62
62
  ],
63
63
  "outDir": "./dist",
64
64
  "sourcemap": false,
65
- "target": "es2020",
65
+ "target": "es2022",
66
66
  "tsconfig": "./tsconfig.dts.json"
67
67
  },
68
68
  "scripts": {
@@ -6,10 +6,11 @@
6
6
  <meta name="generator" content="VuePress {{ version }}">
7
7
  <!--vuepress-ssr-head-->
8
8
  <!--vuepress-ssr-styles-->
9
- <!--vuepress-ssr-resources-->
9
+ <!--vuepress-ssr-preload-->
10
+ <!--vuepress-ssr-prefetch-->
10
11
  </head>
11
12
  <body>
12
- <div id="app"><!--vuepress-ssr-app--></div>
13
+ <div id="app"><!--vuepress-ssr-content--></div>
13
14
  <!--vuepress-ssr-scripts-->
14
15
  </body>
15
16
  </html>