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

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-WOIWBUXI.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
  }
@@ -92,26 +86,32 @@ var usePageLang = () => {
92
86
 
93
87
  // src/composables/pageLayout.ts
94
88
  import {
95
- inject as inject6
89
+ inject as inject7
96
90
  } from "vue";
97
91
  var pageLayoutSymbol = Symbol(
98
92
  __VUEPRESS_DEV__ ? "pageLayout" : ""
99
93
  );
100
94
  var usePageLayout = () => {
101
- const pageLayout = inject6(pageLayoutSymbol);
95
+ const pageLayout = inject7(pageLayoutSymbol);
102
96
  if (!pageLayout) {
103
97
  throw new Error("usePageLayout() is called without provider.");
104
98
  }
105
99
  return pageLayout;
106
100
  };
107
101
 
102
+ // src/composables/pagesData.ts
103
+ import { pagesData as pagesDataRaw } from "@internal/pagesData";
104
+ import { ref } from "vue";
105
+ var pagesData = ref(pagesDataRaw);
106
+ var usePagesData = () => pagesData;
107
+
108
108
  // src/composables/routeLocale.ts
109
- import { inject as inject7 } from "vue";
109
+ import { inject as inject8 } from "vue";
110
110
  var routeLocaleSymbol = Symbol(
111
111
  __VUEPRESS_DEV__ ? "routeLocale" : ""
112
112
  );
113
113
  var useRouteLocale = () => {
114
- const routeLocale = inject7(routeLocaleSymbol);
114
+ const routeLocale = inject8(routeLocaleSymbol);
115
115
  if (!routeLocale) {
116
116
  throw new Error("useRouteLocale() is called without provider.");
117
117
  }
@@ -120,8 +120,8 @@ var useRouteLocale = () => {
120
120
 
121
121
  // src/composables/siteData.ts
122
122
  import { siteData as siteDataRaw } from "@internal/siteData";
123
- import { ref as ref3 } from "vue";
124
- var siteData = ref3(siteDataRaw);
123
+ import { ref as ref2 } from "vue";
124
+ var siteData = ref2(siteDataRaw);
125
125
  var useSiteData = () => siteData;
126
126
  if (__VUEPRESS_DEV__ && (import.meta.webpackHot || import.meta.hot)) {
127
127
  __VUE_HMR_RUNTIME__.updateSiteData = (data) => {
@@ -130,12 +130,12 @@ if (__VUEPRESS_DEV__ && (import.meta.webpackHot || import.meta.hot)) {
130
130
  }
131
131
 
132
132
  // src/composables/siteLocaleData.ts
133
- import { inject as inject8 } from "vue";
133
+ import { inject as inject9 } from "vue";
134
134
  var siteLocaleDataSymbol = Symbol(
135
135
  __VUEPRESS_DEV__ ? "siteLocaleData" : ""
136
136
  );
137
137
  var useSiteLocaleData = () => {
138
- const siteLocaleData = inject8(siteLocaleDataSymbol);
138
+ const siteLocaleData = inject9(siteLocaleDataSymbol);
139
139
  if (!siteLocaleData) {
140
140
  throw new Error("useSiteLocaleData() is called without provider.");
141
141
  }
@@ -143,12 +143,12 @@ var useSiteLocaleData = () => {
143
143
  };
144
144
 
145
145
  // src/composables/updateHead.ts
146
- import { inject as inject9 } from "vue";
146
+ import { inject as inject10 } from "vue";
147
147
  var updateHeadSymbol = Symbol(
148
148
  __VUEPRESS_DEV__ ? "updateHead" : ""
149
149
  );
150
150
  var useUpdateHead = () => {
151
- const updateHead = inject9(updateHeadSymbol);
151
+ const updateHead = inject10(updateHeadSymbol);
152
152
  if (!updateHead) {
153
153
  throw new Error("useUpdateHead() is called without provider.");
154
154
  }
@@ -185,13 +185,13 @@ var resolvers = reactive({
185
185
  */
186
186
  resolvePageData: async (pageKey) => {
187
187
  const pageDataResolver = pagesData.value[pageKey];
188
- const pageData2 = await pageDataResolver?.();
189
- return pageData2 ?? pageDataEmpty;
188
+ const pageData = await pageDataResolver?.();
189
+ return pageData ?? pageDataEmpty;
190
190
  },
191
191
  /**
192
192
  * Resolve page frontmatter from page data
193
193
  */
194
- resolvePageFrontmatter: (pageData2) => pageData2.frontmatter,
194
+ resolvePageFrontmatter: (pageData) => pageData.frontmatter,
195
195
  /**
196
196
  * Merge the head config in frontmatter and site locale
197
197
  *
@@ -252,11 +252,11 @@ var resolvers = reactive({
252
252
  });
253
253
 
254
254
  // src/components/ClientOnly.ts
255
- import { defineComponent, onMounted, ref as ref4 } from "vue";
255
+ import { defineComponent, onMounted, ref as ref3 } from "vue";
256
256
  var ClientOnly = defineComponent({
257
257
  name: "ClientOnly",
258
258
  setup(_, ctx) {
259
- const isMounted = ref4(false);
259
+ const isMounted = ref3(false);
260
260
  onMounted(() => {
261
261
  isMounted.value = true;
262
262
  });
@@ -309,10 +309,8 @@ var withBase = (url) => {
309
309
  export {
310
310
  layoutsSymbol,
311
311
  useLayouts,
312
- pagesData,
313
- usePagesData,
312
+ pageDataSymbol,
314
313
  pageDataEmpty,
315
- pageData,
316
314
  usePageData,
317
315
  pageFrontmatterSymbol,
318
316
  usePageFrontmatter,
@@ -324,6 +322,8 @@ export {
324
322
  usePageLang,
325
323
  pageLayoutSymbol,
326
324
  usePageLayout,
325
+ pagesData,
326
+ usePagesData,
327
327
  routeLocaleSymbol,
328
328
  useRouteLocale,
329
329
  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-WOIWBUXI.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.67",
4
4
  "description": "Client package of VuePress",
5
5
  "keywords": [
6
6
  "vuepress",
@@ -34,10 +34,10 @@
34
34
  ],
35
35
  "dependencies": {
36
36
  "@vue/devtools-api": "^6.5.0",
37
- "@vueuse/core": "^10.2.1",
37
+ "@vueuse/core": "^10.4.1",
38
38
  "vue": "^3.3.4",
39
39
  "vue-router": "^4.2.4",
40
- "@vuepress/shared": "2.0.0-beta.66"
40
+ "@vuepress/shared": "2.0.0-beta.67"
41
41
  },
42
42
  "publishConfig": {
43
43
  "access": "public"