vike 0.4.238-commit-3c1a09d → 0.4.238-commit-4c6aa0d

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.
Files changed (133) hide show
  1. package/dist/cjs/node/prerender/resolvePrerenderConfig.js +3 -2
  2. package/dist/cjs/node/runtime/index.js +3 -3
  3. package/dist/cjs/node/runtime/page-files/setup.js +3 -1
  4. package/dist/cjs/node/runtime/renderPage/createHttpResponse.js +2 -9
  5. package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +2 -2
  6. package/dist/cjs/node/runtime/{csp.js → renderPage/csp.js} +13 -12
  7. package/dist/cjs/node/runtime/renderPage/execHookOnRenderHtml.js +2 -2
  8. package/dist/cjs/node/runtime/renderPage/getEarlyHints.js +1 -1
  9. package/dist/cjs/node/runtime/renderPage/getHttpResponseBody.js +2 -2
  10. package/dist/cjs/node/runtime/renderPage/headersResponse.js +48 -0
  11. package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/getHtmlTags.js +6 -6
  12. package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/getViteDevScript.js +1 -1
  13. package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/inferHtmlTags.js +5 -6
  14. package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/injectAssets__public.js +1 -1
  15. package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/injectHtmlTags.js +1 -1
  16. package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/mergeScriptTags.js +2 -2
  17. package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets.js +2 -2
  18. package/dist/cjs/node/runtime/{html → renderPage/html}/propKeys.js +1 -1
  19. package/dist/cjs/node/runtime/{html → renderPage/html}/renderHtml.js +1 -1
  20. package/dist/cjs/node/runtime/{html → renderPage/html}/serializeContext.js +6 -6
  21. package/dist/cjs/node/runtime/{html → renderPage/html}/stream/react-streaming.js +1 -1
  22. package/dist/cjs/node/runtime/{html → renderPage/html}/stream.js +1 -1
  23. package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +16 -48
  24. package/dist/cjs/node/runtime/renderPage/renderPageAfterRoute.js +2 -2
  25. package/dist/cjs/node/runtime/renderPage.js +1 -1
  26. package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +1 -1
  27. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal.js +20 -22
  28. package/dist/cjs/shared/createGlobalContextShared.js +4 -22
  29. package/dist/cjs/shared/createPageContextShared.js +2 -2
  30. package/dist/cjs/shared/page-configs/resolveVikeConfigPublic.js +62 -44
  31. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  32. package/dist/cjs/utils/assert.js +16 -1
  33. package/dist/esm/client/runtime-client-routing/createPageContextClientSide.d.ts +39 -16
  34. package/dist/esm/client/runtime-client-routing/createPageContextClientSide.js +1 -1
  35. package/dist/esm/client/runtime-client-routing/getPageContextCurrent.d.ts +2 -2
  36. package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +97 -83
  37. package/dist/esm/client/runtime-client-routing/globalContext.d.ts +38 -10
  38. package/dist/esm/client/runtime-client-routing/prefetch/getPrefetchSettings.d.ts +2 -2
  39. package/dist/esm/client/runtime-client-routing/prefetch.d.ts +2 -2
  40. package/dist/esm/client/runtime-client-routing/prefetch.js +2 -2
  41. package/dist/esm/client/runtime-client-routing/preparePageContextForPublicUsageClient.d.ts +2 -2
  42. package/dist/esm/client/runtime-client-routing/renderPageClientSide.d.ts +43 -28
  43. package/dist/esm/client/runtime-server-routing/createPageContextClientSide.d.ts +39 -16
  44. package/dist/esm/client/runtime-server-routing/createPageContextClientSide.js +1 -1
  45. package/dist/esm/client/runtime-server-routing/globalContext.d.ts +38 -10
  46. package/dist/esm/client/runtime-server-routing/preparePageContextForPublicUsageClient.d.ts +2 -2
  47. package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +38 -10
  48. package/dist/esm/client/shared/execHookOnRenderClient.d.ts +2 -2
  49. package/dist/esm/client/shared/loadPageConfigsLazyClientSide.d.ts +1 -1
  50. package/dist/esm/client/shared/loadPageConfigsLazyClientSide.js +2 -3
  51. package/dist/esm/client/shared/preparePageContextForPublicUsageClientShared.d.ts +2 -2
  52. package/dist/esm/node/prerender/resolvePrerenderConfig.js +4 -3
  53. package/dist/esm/node/prerender/runPrerender.d.ts +56 -15
  54. package/dist/esm/node/runtime/globalContext.d.ts +152 -40
  55. package/dist/esm/node/runtime/index.d.ts +3 -3
  56. package/dist/esm/node/runtime/index.js +3 -3
  57. package/dist/esm/node/runtime/page-files/setup.js +3 -1
  58. package/dist/esm/node/runtime/renderPage/createHttpResponse.d.ts +1 -1
  59. package/dist/esm/node/runtime/renderPage/createHttpResponse.js +2 -9
  60. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +52 -10
  61. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +2 -2
  62. package/dist/esm/node/runtime/renderPage/csp.d.ts +12 -0
  63. package/dist/esm/node/runtime/{csp.js → renderPage/csp.js} +13 -12
  64. package/dist/esm/node/runtime/renderPage/execHookOnRenderHtml.d.ts +2 -2
  65. package/dist/esm/node/runtime/renderPage/execHookOnRenderHtml.js +2 -2
  66. package/dist/esm/node/runtime/renderPage/execHookServer.d.ts +2 -2
  67. package/dist/esm/node/runtime/renderPage/getEarlyHints.js +1 -1
  68. package/dist/esm/node/runtime/renderPage/getHttpResponseBody.d.ts +2 -2
  69. package/dist/esm/node/runtime/renderPage/getHttpResponseBody.js +2 -2
  70. package/dist/esm/node/runtime/renderPage/headersResponse.d.ts +10 -0
  71. package/dist/esm/node/runtime/renderPage/headersResponse.js +46 -0
  72. package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/getHtmlTags.d.ts +1 -1
  73. package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/getHtmlTags.js +6 -6
  74. package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/getViteDevScript.d.ts +1 -1
  75. package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/getViteDevScript.js +1 -1
  76. package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/inferHtmlTags.d.ts +3 -3
  77. package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/inferHtmlTags.js +4 -5
  78. package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/injectAssets__public.js +1 -1
  79. package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/injectHtmlTags.js +1 -1
  80. package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/mergeScriptTags.js +3 -3
  81. package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets.d.ts +2 -2
  82. package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets.js +2 -2
  83. package/dist/esm/node/runtime/{html → renderPage/html}/propKeys.js +1 -1
  84. package/dist/esm/node/runtime/{html → renderPage/html}/renderHtml.d.ts +1 -1
  85. package/dist/esm/node/runtime/{html → renderPage/html}/renderHtml.js +1 -1
  86. package/dist/esm/node/runtime/{html → renderPage/html}/serializeContext.d.ts +4 -4
  87. package/dist/esm/node/runtime/{html → renderPage/html}/serializeContext.js +6 -6
  88. package/dist/esm/node/runtime/{html → renderPage/html}/stream/react-streaming.js +1 -1
  89. package/dist/esm/node/runtime/{html → renderPage/html}/stream.js +1 -1
  90. package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.d.ts +61 -16
  91. package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +18 -50
  92. package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.d.ts +2 -2
  93. package/dist/esm/node/runtime/renderPage/renderPageAfterRoute.d.ts +112 -30
  94. package/dist/esm/node/runtime/renderPage/renderPageAfterRoute.js +2 -2
  95. package/dist/esm/node/runtime/renderPage.d.ts +52 -10
  96. package/dist/esm/node/runtime/renderPage.js +1 -1
  97. package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.js +1 -1
  98. package/dist/esm/node/vite/shared/resolveVikeConfigInternal.d.ts +4 -8
  99. package/dist/esm/node/vite/shared/resolveVikeConfigInternal.js +22 -24
  100. package/dist/esm/shared/createGlobalContextShared.d.ts +73 -17
  101. package/dist/esm/shared/createGlobalContextShared.js +5 -23
  102. package/dist/esm/shared/createPageContextShared.d.ts +2 -7
  103. package/dist/esm/shared/createPageContextShared.js +2 -2
  104. package/dist/esm/shared/getPageFiles.d.ts +1 -1
  105. package/dist/esm/shared/hooks/execHook.d.ts +2 -2
  106. package/dist/esm/shared/hooks/getHook.d.ts +3 -3
  107. package/dist/esm/shared/page-configs/resolveVikeConfigPublic.d.ts +91 -31
  108. package/dist/esm/shared/page-configs/resolveVikeConfigPublic.js +62 -44
  109. package/dist/esm/types/Config/ConfigResolved.d.ts +8 -0
  110. package/dist/esm/types/Config.d.ts +4 -4
  111. package/dist/esm/types/PageContext.d.ts +3 -26
  112. package/dist/esm/types/VikeNamespace.d.ts +0 -27
  113. package/dist/esm/types/index.d.ts +2 -2
  114. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  115. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  116. package/dist/esm/utils/assert.js +16 -1
  117. package/package.json +1 -1
  118. package/dist/cjs/types/Config/helpers.js +0 -2
  119. package/dist/esm/node/runtime/csp.d.ts +0 -12
  120. package/dist/esm/types/Config/PageContextConfig.d.ts +0 -15
  121. package/dist/esm/types/Config/helpers.d.ts +0 -10
  122. package/dist/esm/types/Config/helpers.js +0 -1
  123. /package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/sanitizeJson.js +0 -0
  124. /package/dist/cjs/types/Config/{PageContextConfig.js → ConfigResolved.js} +0 -0
  125. /package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/injectAssets__public.d.ts +0 -0
  126. /package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/injectHtmlTags.d.ts +0 -0
  127. /package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/mergeScriptTags.d.ts +0 -0
  128. /package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/sanitizeJson.d.ts +0 -0
  129. /package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/sanitizeJson.js +0 -0
  130. /package/dist/esm/node/runtime/{html → renderPage/html}/propKeys.d.ts +0 -0
  131. /package/dist/esm/node/runtime/{html → renderPage/html}/stream/react-streaming.d.ts +0 -0
  132. /package/dist/esm/node/runtime/{html → renderPage/html}/stream.d.ts +0 -0
  133. /package/dist/esm/types/Config/{PageContextConfig.js → ConfigResolved.js} +0 -0
@@ -30,23 +30,51 @@ type GlobalContextServer = Pick<GlobalContextServerInternal, 'assetsManifest' |
30
30
  type GlobalContextServerInternal = Awaited<ReturnType<typeof createGlobalContext>>;
31
31
  declare function getGlobalContextServerInternal(): Promise<{
32
32
  globalContext: (Record<string, unknown> & {
33
- isGlobalContext: true;
34
- _isOriginalObject: true;
35
- _virtualFileExportsGlobalEntry: unknown;
36
- _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
37
- _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
38
- _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
39
- _allPageIds: string[];
40
- _vikeConfigPublicGlobal: {
33
+ _globalConfigPublic: {
34
+ pages: {
35
+ [k: string]: {
36
+ config: import("../../types/index.js").ConfigResolved;
37
+ _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
38
+ _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
39
+ _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
40
+ } & ({
41
+ route: import("../../types/Config.js").Route;
42
+ isErrorPage?: undefined;
43
+ } | {
44
+ route?: undefined;
45
+ isErrorPage: true;
46
+ });
47
+ };
41
48
  config: import("../../types/index.js").ConfigResolved;
42
49
  _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
43
50
  _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
44
51
  _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
45
52
  };
46
- config: import("../../types/index.js").ConfigResolved;
47
53
  pages: {
48
- [k: string]: import("../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEagerLoaded;
54
+ [k: string]: {
55
+ config: import("../../types/index.js").ConfigResolved;
56
+ _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
57
+ _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
58
+ _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
59
+ } & ({
60
+ route: import("../../types/Config.js").Route;
61
+ isErrorPage?: undefined;
62
+ } | {
63
+ route?: undefined;
64
+ isErrorPage: true;
65
+ });
49
66
  };
67
+ config: import("../../types/index.js").ConfigResolved;
68
+ _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
69
+ _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
70
+ _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
71
+ isGlobalContext: true;
72
+ _isOriginalObject: true;
73
+ _virtualFileExportsGlobalEntry: unknown;
74
+ _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
75
+ _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
76
+ _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
77
+ _allPageIds: string[];
50
78
  } & {
51
79
  _isProduction: false;
52
80
  _isPrerendering: false;
@@ -70,23 +98,51 @@ declare function getGlobalContextServerInternal(): Promise<{
70
98
  };
71
99
  };
72
100
  }) | (Record<string, unknown> & {
73
- isGlobalContext: true;
74
- _isOriginalObject: true;
75
- _virtualFileExportsGlobalEntry: unknown;
76
- _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
77
- _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
78
- _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
79
- _allPageIds: string[];
80
- _vikeConfigPublicGlobal: {
101
+ _globalConfigPublic: {
102
+ pages: {
103
+ [k: string]: {
104
+ config: import("../../types/index.js").ConfigResolved;
105
+ _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
106
+ _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
107
+ _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
108
+ } & ({
109
+ route: import("../../types/Config.js").Route;
110
+ isErrorPage?: undefined;
111
+ } | {
112
+ route?: undefined;
113
+ isErrorPage: true;
114
+ });
115
+ };
81
116
  config: import("../../types/index.js").ConfigResolved;
82
117
  _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
83
118
  _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
84
119
  _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
85
120
  };
86
- config: import("../../types/index.js").ConfigResolved;
87
121
  pages: {
88
- [k: string]: import("../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEagerLoaded;
122
+ [k: string]: {
123
+ config: import("../../types/index.js").ConfigResolved;
124
+ _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
125
+ _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
126
+ _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
127
+ } & ({
128
+ route: import("../../types/Config.js").Route;
129
+ isErrorPage?: undefined;
130
+ } | {
131
+ route?: undefined;
132
+ isErrorPage: true;
133
+ });
89
134
  };
135
+ config: import("../../types/index.js").ConfigResolved;
136
+ _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
137
+ _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
138
+ _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
139
+ isGlobalContext: true;
140
+ _isOriginalObject: true;
141
+ _virtualFileExportsGlobalEntry: unknown;
142
+ _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
143
+ _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
144
+ _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
145
+ _allPageIds: string[];
90
146
  } & {
91
147
  _isPrerendering: true;
92
148
  viteConfig: ResolvedConfig;
@@ -111,23 +167,51 @@ declare function getGlobalContextServerInternal(): Promise<{
111
167
  };
112
168
  };
113
169
  }) | (Record<string, unknown> & {
114
- isGlobalContext: true;
115
- _isOriginalObject: true;
116
- _virtualFileExportsGlobalEntry: unknown;
117
- _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
118
- _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
119
- _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
120
- _allPageIds: string[];
121
- _vikeConfigPublicGlobal: {
170
+ _globalConfigPublic: {
171
+ pages: {
172
+ [k: string]: {
173
+ config: import("../../types/index.js").ConfigResolved;
174
+ _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
175
+ _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
176
+ _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
177
+ } & ({
178
+ route: import("../../types/Config.js").Route;
179
+ isErrorPage?: undefined;
180
+ } | {
181
+ route?: undefined;
182
+ isErrorPage: true;
183
+ });
184
+ };
122
185
  config: import("../../types/index.js").ConfigResolved;
123
186
  _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
124
187
  _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
125
188
  _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
126
189
  };
127
- config: import("../../types/index.js").ConfigResolved;
128
190
  pages: {
129
- [k: string]: import("../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEagerLoaded;
191
+ [k: string]: {
192
+ config: import("../../types/index.js").ConfigResolved;
193
+ _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
194
+ _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
195
+ _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
196
+ } & ({
197
+ route: import("../../types/Config.js").Route;
198
+ isErrorPage?: undefined;
199
+ } | {
200
+ route?: undefined;
201
+ isErrorPage: true;
202
+ });
130
203
  };
204
+ config: import("../../types/index.js").ConfigResolved;
205
+ _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
206
+ _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
207
+ _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
208
+ isGlobalContext: true;
209
+ _isOriginalObject: true;
210
+ _virtualFileExportsGlobalEntry: unknown;
211
+ _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
212
+ _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
213
+ _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
214
+ _allPageIds: string[];
131
215
  } & {
132
216
  _isPrerendering: false;
133
217
  viteConfig: null;
@@ -191,23 +275,51 @@ declare function updateUserFiles(): Promise<{
191
275
  success: boolean;
192
276
  }>;
193
277
  declare function createGlobalContext(virtualFileExportsGlobalEntry: unknown): Promise<{
194
- isGlobalContext: true;
195
- _isOriginalObject: true;
196
- _virtualFileExportsGlobalEntry: unknown;
197
- _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
198
- _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
199
- _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
200
- _allPageIds: string[];
201
- _vikeConfigPublicGlobal: {
278
+ _globalConfigPublic: {
279
+ pages: {
280
+ [k: string]: {
281
+ config: import("../../types/index.js").ConfigResolved;
282
+ _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
283
+ _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
284
+ _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
285
+ } & ({
286
+ route: import("../../types/Config.js").Route;
287
+ isErrorPage?: undefined;
288
+ } | {
289
+ route?: undefined;
290
+ isErrorPage: true;
291
+ });
292
+ };
202
293
  config: import("../../types/index.js").ConfigResolved;
203
294
  _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
204
295
  _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
205
296
  _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
206
297
  };
207
- config: import("../../types/index.js").ConfigResolved;
208
298
  pages: {
209
- [k: string]: import("../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEagerLoaded;
299
+ [k: string]: {
300
+ config: import("../../types/index.js").ConfigResolved;
301
+ _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
302
+ _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
303
+ _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
304
+ } & ({
305
+ route: import("../../types/Config.js").Route;
306
+ isErrorPage?: undefined;
307
+ } | {
308
+ route?: undefined;
309
+ isErrorPage: true;
310
+ });
210
311
  };
312
+ config: import("../../types/index.js").ConfigResolved;
313
+ _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
314
+ _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
315
+ _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
316
+ isGlobalContext: true;
317
+ _isOriginalObject: true;
318
+ _virtualFileExportsGlobalEntry: unknown;
319
+ _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
320
+ _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
321
+ _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
322
+ _allPageIds: string[];
211
323
  } & (({
212
324
  _isProduction: false;
213
325
  _isPrerendering: false;
@@ -1,11 +1,11 @@
1
1
  export { renderPage } from './renderPage.js';
2
- export { escapeInject, dangerouslySkipEscape } from './html/renderHtml.js';
3
- export { pipeWebStream, pipeNodeStream, pipeStream, stampPipe } from './html/stream.js';
2
+ export { escapeInject, dangerouslySkipEscape } from './renderPage/html/renderHtml.js';
3
+ export { pipeWebStream, pipeNodeStream, pipeStream, stampPipe } from './renderPage/html/stream.js';
4
4
  export { PROJECT_VERSION as version } from './utils.js';
5
5
  export { getGlobalContext, getGlobalContextSync, getGlobalContextAsync } from './globalContext.js';
6
6
  export { createDevMiddleware } from '../runtime-dev/index.js';
7
7
  export * from '../../types/index-dreprecated.js';
8
- export { injectAssets__public as _injectAssets } from './html/injectAssets/injectAssets__public.js';
8
+ export { injectAssets__public as _injectAssets } from './renderPage/html/injectAssets/injectAssets__public.js';
9
9
  export { createPageRenderer } from '../createPageRenderer.js';
10
10
  import { RenderErrorPage as RenderErrorPage_ } from '../../shared/route/abort.js';
11
11
  /** @deprecated
@@ -2,15 +2,15 @@ import { isBrowser } from '../../utils/isBrowser.js';
2
2
  import { assert } from '../../utils/assert.js';
3
3
  assert(!isBrowser());
4
4
  export { renderPage } from './renderPage.js';
5
- export { escapeInject, dangerouslySkipEscape } from './html/renderHtml.js';
6
- export { pipeWebStream, pipeNodeStream, pipeStream, stampPipe } from './html/stream.js';
5
+ export { escapeInject, dangerouslySkipEscape } from './renderPage/html/renderHtml.js';
6
+ export { pipeWebStream, pipeNodeStream, pipeStream, stampPipe } from './renderPage/html/stream.js';
7
7
  export { PROJECT_VERSION as version } from './utils.js';
8
8
  export { getGlobalContext, getGlobalContextSync, getGlobalContextAsync } from './globalContext.js';
9
9
  export { createDevMiddleware } from '../runtime-dev/index.js';
10
10
  // TO-DO/next-major-release: remove
11
11
  // Deprecated exports
12
12
  export * from '../../types/index-dreprecated.js';
13
- export { injectAssets__public as _injectAssets } from './html/injectAssets/injectAssets__public.js';
13
+ export { injectAssets__public as _injectAssets } from './renderPage/html/injectAssets/injectAssets__public.js';
14
14
  export { createPageRenderer } from '../createPageRenderer.js';
15
15
  import { assertWarning } from './utils.js';
16
16
  import pc from '@brillout/picocolors';
@@ -1,3 +1,5 @@
1
1
  export {};
2
- // TO-DO/next-major-release: remove https://github.com/vikejs/vike/issues/2122
2
+ // TO-DO/eventually: remove
3
+ // - This was used by some older Vike extensions made by Joël (I believe vite-plugin-vercel)
4
+ // - See also https://github.com/vikejs/vike/issues/2122
3
5
  // This doesn't do anything anymore. (It's kept to avoid introducing a breaking change.)
@@ -7,7 +7,7 @@ export { createHttpResponse404 };
7
7
  export { createHttpResponseBaseIsMissing };
8
8
  export type { HttpResponse };
9
9
  import type { GetPageAssets } from './getPageAssets.js';
10
- import type { HtmlRender } from '../html/renderHtml.js';
10
+ import type { HtmlRender } from './html/renderHtml.js';
11
11
  import type { RenderHook } from './execHookOnRenderHtml.js';
12
12
  import type { RedirectStatusCode, AbortStatusCode, UrlRedirect } from '../../../shared/route/abort.js';
13
13
  import { HttpResponseBody } from './getHttpResponseBody.js';
@@ -10,7 +10,7 @@ import { getErrorPageId, isErrorPage } from '../../../shared/error-page.js';
10
10
  import { getHttpResponseBody, getHttpResponseBodyStreamHandlers } from './getHttpResponseBody.js';
11
11
  import { getEarlyHints } from './getEarlyHints.js';
12
12
  import { assertNoInfiniteHttpRedirect } from './createHttpResponse/assertNoInfiniteHttpRedirect.js';
13
- import { cacheControlDisable } from './getCacheControl.js';
13
+ import { resolveHeadersResponseFinal } from './headersResponse.js';
14
14
  async function createHttpResponsePage(htmlRender, renderHook, pageContext) {
15
15
  let statusCode = pageContext.abortStatusCode;
16
16
  if (!statusCode) {
@@ -28,14 +28,7 @@ async function createHttpResponsePage(htmlRender, renderHook, pageContext) {
28
28
  }
29
29
  }
30
30
  const earlyHints = getEarlyHints(await pageContext.__getPageAssets());
31
- const headers = [];
32
- const headersResponse = pageContext.headersResponse || new Headers();
33
- headersResponse.forEach((value, key) => {
34
- headers.push([key, value]);
35
- });
36
- // An 5xx error page shouldn't be cached (it should be temporary)
37
- if (statusCode >= 500)
38
- headersResponse.set('Cache-Control', cacheControlDisable);
31
+ const headers = resolveHeadersResponseFinal(pageContext, statusCode);
39
32
  return createHttpResponse(statusCode, 'text/html;charset=utf-8', headers, htmlRender, earlyHints, renderHook);
40
33
  }
41
34
  function createHttpResponse404(errMsg404) {
@@ -24,23 +24,51 @@ declare function createPageContextServerSide(pageContextInit: PageContextInit, g
24
24
  headers?: Record<string, string>;
25
25
  } & {
26
26
  _globalContext: {
27
- isGlobalContext: true;
28
- _isOriginalObject: true;
29
- _virtualFileExportsGlobalEntry: unknown;
30
- _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
31
- _pageConfigs: import("../../../types/PageConfig.js").PageConfigRuntime[];
32
- _pageConfigGlobal: import("../../../types/PageConfig.js").PageConfigGlobalRuntime;
33
- _allPageIds: string[];
34
- _vikeConfigPublicGlobal: {
27
+ _globalConfigPublic: {
28
+ pages: {
29
+ [k: string]: {
30
+ config: import("../../../types/index.js").ConfigResolved;
31
+ _source: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Source;
32
+ _sources: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
33
+ _from: import("../../../shared/page-configs/resolveVikeConfigPublic.js").From;
34
+ } & ({
35
+ route: import("../../../types/Config.js").Route;
36
+ isErrorPage?: undefined;
37
+ } | {
38
+ route?: undefined;
39
+ isErrorPage: true;
40
+ });
41
+ };
35
42
  config: import("../../../types/index.js").ConfigResolved;
36
43
  _source: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Source;
37
44
  _sources: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
38
45
  _from: import("../../../shared/page-configs/resolveVikeConfigPublic.js").From;
39
46
  };
40
- config: import("../../../types/index.js").ConfigResolved;
41
47
  pages: {
42
- [k: string]: import("../../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEagerLoaded;
48
+ [k: string]: {
49
+ config: import("../../../types/index.js").ConfigResolved;
50
+ _source: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Source;
51
+ _sources: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
52
+ _from: import("../../../shared/page-configs/resolveVikeConfigPublic.js").From;
53
+ } & ({
54
+ route: import("../../../types/Config.js").Route;
55
+ isErrorPage?: undefined;
56
+ } | {
57
+ route?: undefined;
58
+ isErrorPage: true;
59
+ });
43
60
  };
61
+ config: import("../../../types/index.js").ConfigResolved;
62
+ _source: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Source;
63
+ _sources: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
64
+ _from: import("../../../shared/page-configs/resolveVikeConfigPublic.js").From;
65
+ isGlobalContext: true;
66
+ _isOriginalObject: true;
67
+ _virtualFileExportsGlobalEntry: unknown;
68
+ _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
69
+ _pageConfigs: import("../../../types/PageConfig.js").PageConfigRuntime[];
70
+ _pageConfigGlobal: import("../../../types/PageConfig.js").PageConfigGlobalRuntime;
71
+ _allPageIds: string[];
44
72
  } & (({
45
73
  _isProduction: false;
46
74
  _isPrerendering: false;
@@ -92,6 +120,20 @@ declare function createPageContextServerSide(pageContextInit: PageContextInit, g
92
120
  _urlHandler: ((url: string) => string) | null;
93
121
  isClientSideNavigation: boolean;
94
122
  } & {
123
+ pages: {
124
+ [k: string]: {
125
+ config: import("../../../types/index.js").ConfigResolved;
126
+ _source: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Source;
127
+ _sources: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
128
+ _from: import("../../../shared/page-configs/resolveVikeConfigPublic.js").From;
129
+ } & ({
130
+ route: import("../../../types/Config.js").Route;
131
+ isErrorPage?: undefined;
132
+ } | {
133
+ route?: undefined;
134
+ isErrorPage: true;
135
+ });
136
+ };
95
137
  config: import("../../../types/index.js").ConfigResolved;
96
138
  _source: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Source;
97
139
  _sources: import("../../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
@@ -17,7 +17,7 @@ function createPageContextServerSide(pageContextInit, globalContext, args) {
17
17
  _urlHandler: args.ssr?.urlHandler ?? null,
18
18
  isClientSideNavigation: args.ssr?.isClientSideNavigation ?? false,
19
19
  });
20
- objectAssign(pageContextCreated, globalContext._vikeConfigPublicGlobal);
20
+ objectAssign(pageContextCreated, globalContext._globalConfigPublic);
21
21
  // pageContext.urlParsed
22
22
  const pageContextUrlComputed = getPageContextUrlComputed(pageContextCreated);
23
23
  objectAssign(pageContextCreated, pageContextUrlComputed);
@@ -38,7 +38,7 @@ function createPageContextServerSide(pageContextInit, globalContext, args) {
38
38
  }
39
39
  objectAssign(pageContextCreated, { headers });
40
40
  }
41
- const pageContextAugmented = createPageContextShared(pageContextCreated, globalContext._vikeConfigPublicGlobal);
41
+ const pageContextAugmented = createPageContextShared(pageContextCreated, globalContext._globalConfigPublic);
42
42
  updateType(pageContextCreated, pageContextAugmented);
43
43
  return pageContextCreated;
44
44
  }
@@ -0,0 +1,12 @@
1
+ export { resolvePageContextCspNone };
2
+ export { inferNonceAttr };
3
+ export { addCspResponseHeader };
4
+ export type { PageContextCspNonce };
5
+ import type { PageContextConfig } from '../../../shared/getPageFiles.js';
6
+ import type { PageContextServer } from '../../../types/PageContext.js';
7
+ declare function resolvePageContextCspNone(pageContext: PageContextConfig & Partial<PageContextCspNonce>): Promise<null | {
8
+ cspNonce: string | null;
9
+ }>;
10
+ type PageContextCspNonce = Pick<PageContextServer, 'cspNonce'>;
11
+ declare function inferNonceAttr(pageContext: PageContextCspNonce): string;
12
+ declare function addCspResponseHeader(pageContext: PageContextCspNonce, headersResponse: Headers): void;
@@ -1,21 +1,21 @@
1
1
  export { resolvePageContextCspNone };
2
2
  export { inferNonceAttr };
3
- export { addCspHeader };
3
+ export { addCspResponseHeader };
4
4
  import { import_ } from '@brillout/import';
5
+ import { assert } from '../utils.js';
5
6
  async function resolvePageContextCspNone(pageContext) {
6
7
  if (pageContext.cspNonce)
7
- return; // already set by user e.g. `renderPage({ cspNonce: '123456789' })`
8
+ return null; // already set by user e.g. `renderPage({ cspNonce: '123456789' })`
8
9
  const { csp } = pageContext.config;
9
- if (!csp?.nonce)
10
- return;
11
- let cspNonce;
12
- if (csp.nonce === true) {
13
- cspNonce = await generateNonce();
14
- }
15
- else {
16
- cspNonce = await csp.nonce(pageContext);
10
+ const pageContextAddendum = { cspNonce: null };
11
+ if (csp?.nonce) {
12
+ if (csp.nonce === true) {
13
+ pageContextAddendum.cspNonce = await generateNonce();
14
+ }
15
+ else {
16
+ pageContextAddendum.cspNonce = await csp.nonce(pageContext);
17
+ }
17
18
  }
18
- const pageContextAddendum = { cspNonce };
19
19
  return pageContextAddendum;
20
20
  }
21
21
  // Generate a cryptographically secure nonce for Content Security Policy (CSP).
@@ -35,7 +35,8 @@ function inferNonceAttr(pageContext) {
35
35
  const nonceAttr = pageContext.cspNonce ? ` nonce="${pageContext.cspNonce}"` : '';
36
36
  return nonceAttr;
37
37
  }
38
- function addCspHeader(pageContext, headersResponse) {
38
+ function addCspResponseHeader(pageContext, headersResponse) {
39
+ assert(pageContext.cspNonce === null || typeof pageContext.cspNonce === 'string'); // ensure resolvePageContextCspNone() is called before addCspResponseHeader()
39
40
  if (!pageContext.cspNonce)
40
41
  return;
41
42
  if (headersResponse.get('Content-Security-Policy'))
@@ -1,10 +1,10 @@
1
1
  export { execHookOnRenderHtml };
2
2
  export type { RenderHook };
3
- import { type HtmlRender } from '../html/renderHtml.js';
3
+ import { type HtmlRender } from './html/renderHtml.js';
4
4
  import { type Hook } from '../../../shared/hooks/getHook.js';
5
5
  import type { PageAsset } from './getPageAssets.js';
6
6
  import { type PageContextForPublicUsageServer } from './preparePageContextForPublicUsageServer.js';
7
- import type { PageContextSerialization } from '../html/serializeContext.js';
7
+ import type { PageContextSerialization } from './html/serializeContext.js';
8
8
  import type { GlobalContextServerInternal } from '../globalContext.js';
9
9
  type GetPageAssets = () => Promise<PageAsset[]>;
10
10
  type RenderHook = Hook & {
@@ -1,8 +1,8 @@
1
1
  export { execHookOnRenderHtml };
2
- import { isDocumentHtml, renderDocumentHtml, dangerouslySkipEscape, } from '../html/renderHtml.js';
2
+ import { isDocumentHtml, renderDocumentHtml, dangerouslySkipEscape, } from './html/renderHtml.js';
3
3
  import { getHookFromPageContext } from '../../../shared/hooks/getHook.js';
4
4
  import { assert, assertUsage, assertWarning, isObject, objectAssign, isPromise, isCallable } from '../utils.js';
5
- import { isStream } from '../html/stream.js';
5
+ import { isStream } from './html/stream.js';
6
6
  import { assertPageContextProvidedByUser } from '../../../shared/assertPageContextProvidedByUser.js';
7
7
  import { preparePageContextForPublicUsageServer, } from './preparePageContextForPublicUsageServer.js';
8
8
  import { assertHookReturnedObject } from '../../../shared/assertHookReturnedObject.js';
@@ -1,9 +1,9 @@
1
1
  export { execHookServer };
2
2
  export type { PageContextExecHookServer };
3
3
  import { type PageContextForPublicUsageServer } from './preparePageContextForPublicUsageServer.js';
4
- import type { VikeConfigPublicPageLazyLoaded } from '../../../shared/getPageFiles.js';
4
+ import type { PageContextConfig } from '../../../shared/getPageFiles.js';
5
5
  import type { HookName } from '../../../types/Config.js';
6
- type PageContextExecHookServer = VikeConfigPublicPageLazyLoaded & PageContextForPublicUsageServer;
6
+ type PageContextExecHookServer = PageContextConfig & PageContextForPublicUsageServer;
7
7
  declare function execHookServer(hookName: HookName, pageContext: PageContextExecHookServer): Promise<(import("../../../shared/hooks/getHook.js").HookLoc & {
8
8
  hookFn: (arg: import("../../../shared/preparePageContextForPublicUsage.js").PageContextPrepareMinimum | import("../../../shared/prepareGlobalContextForPublicUsage.js").GlobalContextPrepareMinimum) => unknown;
9
9
  hookTimeout: import("../../../shared/hooks/getHook.js").HookTimeout;
@@ -1,6 +1,6 @@
1
1
  export { getEarlyHints };
2
2
  import { isFontFallback } from './isFontFallback.js';
3
- import { inferEarlyHintLink } from '../html/injectAssets/inferHtmlTags.js';
3
+ import { inferEarlyHintLink } from './html/injectAssets/inferHtmlTags.js';
4
4
  function getEarlyHints(assets) {
5
5
  const earlyHints = [];
6
6
  {
@@ -1,8 +1,8 @@
1
1
  export { getHttpResponseBody };
2
2
  export { getHttpResponseBodyStreamHandlers };
3
3
  export type { HttpResponseBody };
4
- import { StreamPipeNode, StreamPipeWeb, StreamReadableNode, StreamReadableWeb, StreamWritableNode, StreamWritableWeb } from '../html/stream.js';
5
- import { type HtmlRender } from '../html/renderHtml.js';
4
+ import { StreamPipeNode, StreamPipeWeb, StreamReadableNode, StreamReadableWeb, StreamWritableNode, StreamWritableWeb } from './html/stream.js';
5
+ import { type HtmlRender } from './html/renderHtml.js';
6
6
  import type { RenderHook } from './execHookOnRenderHtml.js';
7
7
  type HttpResponseBody = {
8
8
  body: string;
@@ -1,8 +1,8 @@
1
1
  export { getHttpResponseBody };
2
2
  export { getHttpResponseBodyStreamHandlers };
3
- import { isStream, getStreamName, inferStreamName, isStreamWritableWeb, isStreamWritableNode, isStreamReadableWeb, isStreamReadableNode, isStreamPipeWeb, isStreamPipeNode, getStreamReadableNode, getStreamReadableWeb, pipeToStreamWritableWeb, pipeToStreamWritableNode, } from '../html/stream.js';
3
+ import { isStream, getStreamName, inferStreamName, isStreamWritableWeb, isStreamWritableNode, isStreamReadableWeb, isStreamReadableNode, isStreamPipeWeb, isStreamPipeNode, getStreamReadableNode, getStreamReadableWeb, pipeToStreamWritableWeb, pipeToStreamWritableNode, } from './html/stream.js';
4
4
  import { assert, assertUsage, assertWarning } from '../utils.js';
5
- import { getHtmlString } from '../html/renderHtml.js';
5
+ import { getHtmlString } from './html/renderHtml.js';
6
6
  import pc from '@brillout/picocolors';
7
7
  const streamDocs = 'See https://vike.dev/streaming for more information.';
8
8
  function getHttpResponseBody(htmlRender, renderHook) {
@@ -0,0 +1,10 @@
1
+ export { resolveHeadersResponseEarly };
2
+ export { resolveHeadersResponseFinal };
3
+ import { PageContextCspNonce } from './csp.js';
4
+ import type { PageContextAfterPageEntryLoaded } from './loadPageConfigsLazyServerSide.js';
5
+ declare function resolveHeadersResponseFinal(pageContext: {
6
+ headersResponse?: Headers;
7
+ }, statusCode: number): [string, string][];
8
+ declare function resolveHeadersResponseEarly(pageContext: PageContextAfterPageEntryLoaded & PageContextCspNonce): Promise<{
9
+ headersResponse: Headers;
10
+ }>;
@@ -0,0 +1,46 @@
1
+ export { resolveHeadersResponseEarly };
2
+ export { resolveHeadersResponseFinal };
3
+ import { addCspResponseHeader } from './csp.js';
4
+ import { isCallable } from '../utils.js';
5
+ import { cacheControlDisable, getCacheControl } from './getCacheControl.js';
6
+ function resolveHeadersResponseFinal(pageContext, statusCode) {
7
+ const headersResponse = pageContext.headersResponse || new Headers();
8
+ // 5xx error pages are temporary and shouldn't be cached.
9
+ // This overrides any previously set Cache-Control value.
10
+ if (statusCode >= 500)
11
+ headersResponse.set('Cache-Control', cacheControlDisable);
12
+ const headers = [];
13
+ headersResponse.forEach((value, key) => {
14
+ headers.push([key, value]);
15
+ });
16
+ return headers;
17
+ }
18
+ async function resolveHeadersResponseEarly(pageContext) {
19
+ const headersResponse = await resolveHeadersResponseConfig(pageContext);
20
+ if (!headersResponse.get('Cache-Control')) {
21
+ const cacheControl = getCacheControl(pageContext.pageId, pageContext._globalContext._pageConfigs);
22
+ if (cacheControl)
23
+ headersResponse.set('Cache-Control', cacheControl);
24
+ }
25
+ addCspResponseHeader(pageContext, headersResponse);
26
+ const pageContextAddendum = {
27
+ headersResponse,
28
+ };
29
+ return pageContextAddendum;
30
+ }
31
+ async function resolveHeadersResponseConfig(pageContext) {
32
+ const headersMerged = new Headers();
33
+ await Promise.all((pageContext.config.headersResponse ?? []).map(async (headers) => {
34
+ let headersInit;
35
+ if (isCallable(headers)) {
36
+ headersInit = await headers(pageContext);
37
+ }
38
+ else {
39
+ headersInit = headers;
40
+ }
41
+ new Headers(headersInit).forEach((value, key) => {
42
+ headersMerged.append(key, value);
43
+ });
44
+ }));
45
+ return headersMerged;
46
+ }