vike 0.4.255 → 0.4.256-commit-414bdc0

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 (62) hide show
  1. package/dist/client/runtime-client-routing/createPageContextClient.d.ts +2 -24
  2. package/dist/client/runtime-client-routing/getGlobalContextClientInternal.d.ts +2 -24
  3. package/dist/client/runtime-client-routing/getPageContextFromHooks.d.ts +8 -96
  4. package/dist/client/runtime-client-routing/renderPageClient.d.ts +8 -96
  5. package/dist/client/runtime-server-routing/createPageContextClient.d.ts +2 -24
  6. package/dist/client/runtime-server-routing/getGlobalContextClientInternal.d.ts +2 -24
  7. package/dist/client/shared/getGlobalContextClientInternalShared.d.ts +2 -24
  8. package/dist/node/prerender/runPrerender.d.ts +9 -36
  9. package/dist/node/prerender/runPrerender.js +17 -11
  10. package/dist/node/vite/index.js +2 -0
  11. package/dist/node/vite/plugins/pluginExtractAssets.js +2 -0
  12. package/dist/node/vite/plugins/pluginReplaceConstantsGlobalThis.js +2 -0
  13. package/dist/node/vite/plugins/pluginUniversalDeploy/common.d.ts +20 -0
  14. package/dist/node/vite/plugins/pluginUniversalDeploy/common.js +7 -0
  15. package/dist/node/vite/plugins/pluginUniversalDeploy/detectDeprecated.d.ts +3 -0
  16. package/dist/node/vite/plugins/pluginUniversalDeploy/detectDeprecated.js +15 -0
  17. package/dist/node/vite/plugins/pluginUniversalDeploy/getDeployConfigs.d.ts +27 -0
  18. package/dist/node/vite/plugins/pluginUniversalDeploy/getDeployConfigs.js +70 -0
  19. package/dist/node/vite/plugins/pluginUniversalDeploy/getServerInfo.d.ts +7 -0
  20. package/dist/node/vite/plugins/pluginUniversalDeploy/getServerInfo.js +33 -0
  21. package/dist/node/vite/plugins/pluginUniversalDeploy/pluginResolveAlias.d.ts +3 -0
  22. package/dist/node/vite/plugins/pluginUniversalDeploy/pluginResolveAlias.js +19 -0
  23. package/dist/node/vite/plugins/pluginUniversalDeploy/pluginResolvePlusServer.d.ts +6 -0
  24. package/dist/node/vite/plugins/pluginUniversalDeploy/pluginResolvePlusServer.js +22 -0
  25. package/dist/node/vite/plugins/pluginUniversalDeploy/pluginUnwrapProdOptions.d.ts +3 -0
  26. package/dist/node/vite/plugins/pluginUniversalDeploy/pluginUnwrapProdOptions.js +19 -0
  27. package/dist/node/vite/plugins/pluginUniversalDeploy/pluginVikeVirtualEntry.d.ts +3 -0
  28. package/dist/node/vite/plugins/pluginUniversalDeploy/pluginVikeVirtualEntry.js +25 -0
  29. package/dist/node/vite/plugins/pluginUniversalDeploy.d.ts +5 -0
  30. package/dist/node/vite/plugins/pluginUniversalDeploy.js +58 -0
  31. package/dist/node/vite/shared/addSsrMiddleware.js +1 -0
  32. package/dist/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +18 -0
  33. package/dist/server/assertEnvServer.js +1 -1
  34. package/dist/server/runtime/fetch.d.ts +10 -0
  35. package/dist/server/runtime/fetch.js +5 -0
  36. package/dist/server/runtime/globalContext.d.ts +10 -120
  37. package/dist/server/runtime/renderPageServer/createHttpResponse.d.ts +5 -3
  38. package/dist/server/runtime/renderPageServer/createHttpResponse.js +13 -1
  39. package/dist/server/runtime/renderPageServer/createPageContextServer.d.ts +15 -39
  40. package/dist/server/runtime/renderPageServer/loadPageConfigsLazyServerSide.d.ts +9 -36
  41. package/dist/server/runtime/renderPageServer/renderPageServerAfterRoute.d.ts +36 -144
  42. package/dist/server/runtime/renderPageServer.d.ts +13 -39
  43. package/dist/server/runtime/renderPageServer.js +51 -3
  44. package/dist/server/runtime/universal-middleware.d.ts +9 -2
  45. package/dist/server/runtime/universal-middleware.js +9 -1
  46. package/dist/shared-server-client/createGlobalContextShared.d.ts +4 -48
  47. package/dist/shared-server-client/page-configs/resolveVikeConfigPublic.d.ts +1 -0
  48. package/dist/types/Config.d.ts +28 -1
  49. package/dist/types/PageContext.d.ts +6 -0
  50. package/dist/types/Server.d.ts +8 -0
  51. package/dist/types/Server.js +1 -0
  52. package/dist/types/index.d.ts +1 -0
  53. package/dist/utils/PROJECT_VERSION.d.ts +1 -1
  54. package/dist/utils/PROJECT_VERSION.js +1 -1
  55. package/dist/utils/assertKeys.js +2 -2
  56. package/dist/utils/assertNodeVersion.js +1 -1
  57. package/dist/utils/assertVersion.js +1 -1
  58. package/dist/utils/joinEnglish.d.ts +4 -1
  59. package/dist/utils/joinEnglish.js +4 -4
  60. package/dist/utils/path.js +1 -1
  61. package/fetch.js +3 -0
  62. package/package.json +29 -11
@@ -31,21 +31,13 @@ declare function prerenderPage(pageContext: Parameters<typeof prerenderPageEntry
31
31
  isPrerendering: boolean;
32
32
  _requestId: number;
33
33
  } & import("../renderPageServer.js").PageContextInit & {
34
+ _reqDev?: import("http").IncomingMessage;
35
+ _reqWeb?: Request;
36
+ } & {
34
37
  _globalContext: ({
35
38
  _globalConfigPublic: {
36
39
  pages: {
37
- [k: string]: {
38
- config: import("../../../types/index.js").ConfigResolved;
39
- _source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
40
- _sources: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
41
- _from: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
42
- } & ({
43
- route: import("../../../types/Config.js").Route;
44
- isErrorPage?: undefined;
45
- } | {
46
- route?: undefined;
47
- isErrorPage: true;
48
- });
40
+ [k: string]: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
49
41
  };
50
42
  config: import("../../../types/index.js").ConfigResolved;
51
43
  _source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
@@ -53,18 +45,7 @@ declare function prerenderPage(pageContext: Parameters<typeof prerenderPageEntry
53
45
  _from: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
54
46
  };
55
47
  pages: {
56
- [k: string]: {
57
- config: import("../../../types/index.js").ConfigResolved;
58
- _source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
59
- _sources: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
60
- _from: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
61
- } & ({
62
- route: import("../../../types/Config.js").Route;
63
- isErrorPage?: undefined;
64
- } | {
65
- route?: undefined;
66
- isErrorPage: true;
67
- });
48
+ [k: string]: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
68
49
  };
69
50
  config: import("../../../types/index.js").ConfigResolved;
70
51
  _source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
@@ -126,24 +107,16 @@ declare function prerenderPage(pageContext: Parameters<typeof prerenderPageEntry
126
107
  _baseServer: string;
127
108
  _baseAssets: string;
128
109
  _pageContextInit: import("../renderPageServer.js").PageContextInit & {
110
+ _reqDev?: import("http").IncomingMessage;
111
+ _reqWeb?: Request;
112
+ } & {
129
113
  headers?: Record<string, unknown>;
130
114
  };
131
115
  _urlHandler: ((url: string) => string) | null;
132
116
  isClientSideNavigation: boolean;
133
117
  } & {
134
118
  pages: {
135
- [k: string]: {
136
- config: import("../../../types/index.js").ConfigResolved;
137
- _source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
138
- _sources: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
139
- _from: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
140
- } & ({
141
- route: import("../../../types/Config.js").Route;
142
- isErrorPage?: undefined;
143
- } | {
144
- route?: undefined;
145
- isErrorPage: true;
146
- });
119
+ [k: string]: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
147
120
  };
148
121
  config: import("../../../types/index.js").ConfigResolved;
149
122
  _source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
@@ -194,21 +167,13 @@ declare function prerenderPage(pageContext: Parameters<typeof prerenderPageEntry
194
167
  isPrerendering: boolean;
195
168
  _requestId: number;
196
169
  } & import("../renderPageServer.js").PageContextInit & {
170
+ _reqDev?: import("http").IncomingMessage;
171
+ _reqWeb?: Request;
172
+ } & {
197
173
  _globalContext: ({
198
174
  _globalConfigPublic: {
199
175
  pages: {
200
- [k: string]: {
201
- config: import("../../../types/index.js").ConfigResolved;
202
- _source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
203
- _sources: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
204
- _from: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
205
- } & ({
206
- route: import("../../../types/Config.js").Route;
207
- isErrorPage?: undefined;
208
- } | {
209
- route?: undefined;
210
- isErrorPage: true;
211
- });
176
+ [k: string]: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
212
177
  };
213
178
  config: import("../../../types/index.js").ConfigResolved;
214
179
  _source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
@@ -216,18 +181,7 @@ declare function prerenderPage(pageContext: Parameters<typeof prerenderPageEntry
216
181
  _from: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
217
182
  };
218
183
  pages: {
219
- [k: string]: {
220
- config: import("../../../types/index.js").ConfigResolved;
221
- _source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
222
- _sources: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
223
- _from: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
224
- } & ({
225
- route: import("../../../types/Config.js").Route;
226
- isErrorPage?: undefined;
227
- } | {
228
- route?: undefined;
229
- isErrorPage: true;
230
- });
184
+ [k: string]: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
231
185
  };
232
186
  config: import("../../../types/index.js").ConfigResolved;
233
187
  _source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
@@ -289,24 +243,16 @@ declare function prerenderPage(pageContext: Parameters<typeof prerenderPageEntry
289
243
  _baseServer: string;
290
244
  _baseAssets: string;
291
245
  _pageContextInit: import("../renderPageServer.js").PageContextInit & {
246
+ _reqDev?: import("http").IncomingMessage;
247
+ _reqWeb?: Request;
248
+ } & {
292
249
  headers?: Record<string, unknown>;
293
250
  };
294
251
  _urlHandler: ((url: string) => string) | null;
295
252
  isClientSideNavigation: boolean;
296
253
  } & {
297
254
  pages: {
298
- [k: string]: {
299
- config: import("../../../types/index.js").ConfigResolved;
300
- _source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
301
- _sources: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
302
- _from: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
303
- } & ({
304
- route: import("../../../types/Config.js").Route;
305
- isErrorPage?: undefined;
306
- } | {
307
- route?: undefined;
308
- isErrorPage: true;
309
- });
255
+ [k: string]: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
310
256
  };
311
257
  config: import("../../../types/index.js").ConfigResolved;
312
258
  _source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
@@ -365,21 +311,13 @@ declare function prerenderPageEntry(pageContext: PageContextCreatedServer & Page
365
311
  isPrerendering: boolean;
366
312
  _requestId: number;
367
313
  } & import("../renderPageServer.js").PageContextInit & {
314
+ _reqDev?: import("http").IncomingMessage;
315
+ _reqWeb?: Request;
316
+ } & {
368
317
  _globalContext: ({
369
318
  _globalConfigPublic: {
370
319
  pages: {
371
- [k: string]: {
372
- config: import("../../../types/index.js").ConfigResolved;
373
- _source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
374
- _sources: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
375
- _from: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
376
- } & ({
377
- route: import("../../../types/Config.js").Route;
378
- isErrorPage?: undefined;
379
- } | {
380
- route?: undefined;
381
- isErrorPage: true;
382
- });
320
+ [k: string]: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
383
321
  };
384
322
  config: import("../../../types/index.js").ConfigResolved;
385
323
  _source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
@@ -387,18 +325,7 @@ declare function prerenderPageEntry(pageContext: PageContextCreatedServer & Page
387
325
  _from: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
388
326
  };
389
327
  pages: {
390
- [k: string]: {
391
- config: import("../../../types/index.js").ConfigResolved;
392
- _source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
393
- _sources: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
394
- _from: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
395
- } & ({
396
- route: import("../../../types/Config.js").Route;
397
- isErrorPage?: undefined;
398
- } | {
399
- route?: undefined;
400
- isErrorPage: true;
401
- });
328
+ [k: string]: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
402
329
  };
403
330
  config: import("../../../types/index.js").ConfigResolved;
404
331
  _source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
@@ -460,24 +387,16 @@ declare function prerenderPageEntry(pageContext: PageContextCreatedServer & Page
460
387
  _baseServer: string;
461
388
  _baseAssets: string;
462
389
  _pageContextInit: import("../renderPageServer.js").PageContextInit & {
390
+ _reqDev?: import("http").IncomingMessage;
391
+ _reqWeb?: Request;
392
+ } & {
463
393
  headers?: Record<string, unknown>;
464
394
  };
465
395
  _urlHandler: ((url: string) => string) | null;
466
396
  isClientSideNavigation: boolean;
467
397
  } & {
468
398
  pages: {
469
- [k: string]: {
470
- config: import("../../../types/index.js").ConfigResolved;
471
- _source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
472
- _sources: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
473
- _from: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
474
- } & ({
475
- route: import("../../../types/Config.js").Route;
476
- isErrorPage?: undefined;
477
- } | {
478
- route?: undefined;
479
- isErrorPage: true;
480
- });
399
+ [k: string]: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
481
400
  };
482
401
  config: import("../../../types/index.js").ConfigResolved;
483
402
  _source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
@@ -528,21 +447,13 @@ declare function prerenderPageEntry(pageContext: PageContextCreatedServer & Page
528
447
  isPrerendering: boolean;
529
448
  _requestId: number;
530
449
  } & import("../renderPageServer.js").PageContextInit & {
450
+ _reqDev?: import("http").IncomingMessage;
451
+ _reqWeb?: Request;
452
+ } & {
531
453
  _globalContext: ({
532
454
  _globalConfigPublic: {
533
455
  pages: {
534
- [k: string]: {
535
- config: import("../../../types/index.js").ConfigResolved;
536
- _source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
537
- _sources: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
538
- _from: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
539
- } & ({
540
- route: import("../../../types/Config.js").Route;
541
- isErrorPage?: undefined;
542
- } | {
543
- route?: undefined;
544
- isErrorPage: true;
545
- });
456
+ [k: string]: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
546
457
  };
547
458
  config: import("../../../types/index.js").ConfigResolved;
548
459
  _source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
@@ -550,18 +461,7 @@ declare function prerenderPageEntry(pageContext: PageContextCreatedServer & Page
550
461
  _from: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
551
462
  };
552
463
  pages: {
553
- [k: string]: {
554
- config: import("../../../types/index.js").ConfigResolved;
555
- _source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
556
- _sources: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
557
- _from: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
558
- } & ({
559
- route: import("../../../types/Config.js").Route;
560
- isErrorPage?: undefined;
561
- } | {
562
- route?: undefined;
563
- isErrorPage: true;
564
- });
464
+ [k: string]: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
565
465
  };
566
466
  config: import("../../../types/index.js").ConfigResolved;
567
467
  _source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
@@ -623,24 +523,16 @@ declare function prerenderPageEntry(pageContext: PageContextCreatedServer & Page
623
523
  _baseServer: string;
624
524
  _baseAssets: string;
625
525
  _pageContextInit: import("../renderPageServer.js").PageContextInit & {
526
+ _reqDev?: import("http").IncomingMessage;
527
+ _reqWeb?: Request;
528
+ } & {
626
529
  headers?: Record<string, unknown>;
627
530
  };
628
531
  _urlHandler: ((url: string) => string) | null;
629
532
  isClientSideNavigation: boolean;
630
533
  } & {
631
534
  pages: {
632
- [k: string]: {
633
- config: import("../../../types/index.js").ConfigResolved;
634
- _source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
635
- _sources: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
636
- _from: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
637
- } & ({
638
- route: import("../../../types/Config.js").Route;
639
- isErrorPage?: undefined;
640
- } | {
641
- route?: undefined;
642
- isErrorPage: true;
643
- });
535
+ [k: string]: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
644
536
  };
645
537
  config: import("../../../types/index.js").ConfigResolved;
646
538
  _source: import("../../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
@@ -1,20 +1,21 @@
1
1
  export { renderPageServer };
2
2
  export { getRequestTag };
3
3
  export type { PageContextInit };
4
+ export type { PageContextInternalInit };
4
5
  export type { PageContextBegin };
5
6
  export type { RequestTag };
6
7
  import { type PageContextAborted } from '../../shared-server-client/route/abort.js';
7
8
  import { type GlobalContextServerInternal } from './globalContext.js';
8
9
  import { type HttpResponse } from './renderPageServer/createHttpResponse.js';
9
10
  import type { PageContextServer } from '../../types/index.js';
10
- import type { PageContextInit } from '../../types/PageContext.js';
11
+ import type { PageContextInit, PageContextInternalInit } from '../../types/PageContext.js';
11
12
  import { type AsyncStore } from './asyncHook.js';
12
13
  import '../assertEnvServer.js';
13
14
  type PageContextBegin = ReturnType<typeof getPageContextBegin>;
14
- declare function renderPageServer<PageContextUserAdded extends {}, PageContextInitUser extends PageContextInit>(pageContextInit: PageContextInitUser): Promise<PageContextInitUser & {
15
+ declare function renderPageServer<PageContextUserAdded extends {}, PageContextInitUser extends PageContextInternalInit>(pageContextInit: PageContextInitUser): Promise<PageContextInitUser & {
15
16
  httpResponse: HttpResponse;
16
17
  } & Partial<PageContextServer & PageContextUserAdded>>;
17
- declare function getPageContextBegin(pageContextInit: PageContextInit, globalContext: GlobalContextServerInternal, requestId: number, asyncStore: AsyncStore): {
18
+ declare function getPageContextBegin(pageContextInit: PageContextInternalInit, globalContext: GlobalContextServerInternal, requestId: number, asyncStore: AsyncStore): {
18
19
  _isOriginalObject: true;
19
20
  isPageContext: true;
20
21
  } & {
@@ -22,21 +23,13 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
22
23
  isPrerendering: boolean;
23
24
  _requestId: number;
24
25
  } & PageContextInit & {
26
+ _reqDev?: import("http").IncomingMessage;
27
+ _reqWeb?: Request;
28
+ } & {
25
29
  _globalContext: ({
26
30
  _globalConfigPublic: {
27
31
  pages: {
28
- [k: string]: {
29
- config: import("../../types/index.js").ConfigResolved;
30
- _source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
31
- _sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
32
- _from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
33
- } & ({
34
- route: import("../../types/Config.js").Route;
35
- isErrorPage?: undefined;
36
- } | {
37
- route?: undefined;
38
- isErrorPage: true;
39
- });
32
+ [k: string]: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
40
33
  };
41
34
  config: import("../../types/index.js").ConfigResolved;
42
35
  _source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
@@ -44,18 +37,7 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
44
37
  _from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
45
38
  };
46
39
  pages: {
47
- [k: string]: {
48
- config: import("../../types/index.js").ConfigResolved;
49
- _source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
50
- _sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
51
- _from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
52
- } & ({
53
- route: import("../../types/Config.js").Route;
54
- isErrorPage?: undefined;
55
- } | {
56
- route?: undefined;
57
- isErrorPage: true;
58
- });
40
+ [k: string]: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
59
41
  };
60
42
  config: import("../../types/index.js").ConfigResolved;
61
43
  _source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
@@ -117,24 +99,16 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
117
99
  _baseServer: string;
118
100
  _baseAssets: string;
119
101
  _pageContextInit: PageContextInit & {
102
+ _reqDev?: import("http").IncomingMessage;
103
+ _reqWeb?: Request;
104
+ } & {
120
105
  headers?: Record<string, unknown>;
121
106
  };
122
107
  _urlHandler: ((url: string) => string) | null;
123
108
  isClientSideNavigation: boolean;
124
109
  } & {
125
110
  pages: {
126
- [k: string]: {
127
- config: import("../../types/index.js").ConfigResolved;
128
- _source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
129
- _sources: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Sources;
130
- _from: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").From;
131
- } & ({
132
- route: import("../../types/Config.js").Route;
133
- isErrorPage?: undefined;
134
- } | {
135
- route?: undefined;
136
- isErrorPage: true;
137
- });
111
+ [k: string]: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
138
112
  };
139
113
  config: import("../../types/index.js").ConfigResolved;
140
114
  _source: import("../../shared-server-client/page-configs/resolveVikeConfigPublic.js").Source;
@@ -17,7 +17,7 @@ import { updateType } from '../../utils/updateType.js';
17
17
  import { getPageContextAddendumAbort, isAbortError, logAbort, addNewPageContextAborted, } from '../../shared-server-client/route/abort.js';
18
18
  import { getGlobalContextServerInternal, initGlobalContext_renderPage, } from './globalContext.js';
19
19
  import { handlePageContextRequestUrl } from './renderPageServer/handlePageContextRequestUrl.js';
20
- import { createHttpResponse404, createHttpResponseRedirect, createHttpResponsePageJson, createHttpResponseErrorFallback, createHttpResponseErrorFallback_noGlobalContext, createHttpResponseBaseIsMissing, } from './renderPageServer/createHttpResponse.js';
20
+ import { createHttpResponse404, createHttpResponseRedirect, createHttpResponsePageJson, createHttpResponseErrorFallback, createHttpResponseErrorFallback_noGlobalContext, createHttpResponseBaseIsMissing, createHttpResponseFromUniversalMiddleware, } from './renderPageServer/createHttpResponse.js';
21
21
  import { logRuntimeError, logRuntimeInfo } from './loggerRuntime.js';
22
22
  import { assertArguments } from './renderPageServer/assertArguments.js';
23
23
  import { log404 } from './renderPageServer/log404/index.js';
@@ -31,6 +31,8 @@ import { getVikeConfigError } from '../../shared-server-node/getVikeConfigError.
31
31
  import { forkPageContext } from '../../shared-server-client/forkPageContext.js';
32
32
  import { getAsyncLocalStorage } from './asyncHook.js';
33
33
  import '../assertEnvServer.js';
34
+ import { enhance, apply, universalSymbol, UniversalRouter, getAdapterRuntime, } from '@universal-middleware/core';
35
+ import { createRequestAdapter } from '@universal-middleware/node/request';
34
36
  const globalObject = getGlobalObject('runtime/renderPageServer.ts', {
35
37
  httpRequestsCount: 0,
36
38
  });
@@ -48,14 +50,14 @@ async function renderPageServer(pageContextInit) {
48
50
  logHttpRequest(urlOriginalPretty, pageContextInit, requestId);
49
51
  const asyncLocalStorage = await getAsyncLocalStorage();
50
52
  const asyncStore = !asyncLocalStorage ? null : { requestId };
51
- const render = async () => await renderPageServerEntryOnce(pageContextInit, requestId, asyncStore);
53
+ const render = async () => await renderPageServerEntryOnceBegin(pageContextInit, requestId, asyncStore);
52
54
  const pageContextFinish = !asyncLocalStorage ? await render() : await asyncLocalStorage.run(asyncStore, render);
53
55
  logHttpResponse(urlOriginalPretty, pageContextFinish);
54
56
  checkType(pageContextFinish);
55
57
  assertPageContextFinish(pageContextFinish);
56
58
  return pageContextFinish;
57
59
  }
58
- async function renderPageServerEntryOnce(pageContextInit, requestId, asyncStore) {
60
+ async function renderPageServerEntryOnceBegin(pageContextInit, requestId, asyncStore) {
59
61
  // Invalid config
60
62
  {
61
63
  const vikeConfigError = getVikeConfigError();
@@ -91,6 +93,16 @@ async function renderPageServerEntryOnce(pageContextInit, requestId, asyncStore)
91
93
  }
92
94
  const { globalContext } = await getGlobalContextServerInternal();
93
95
  const pageContextBegin = getPageContextBegin(pageContextInit, globalContext, requestId, asyncStore);
96
+ const middlewares = (globalContext.config.middleware ?? []).flat();
97
+ const renderPageServerEntry = () => renderPageServerEntryOnce(pageContextBegin, globalContext, requestId);
98
+ if (middlewares.length === 0) {
99
+ return renderPageServerEntry();
100
+ }
101
+ else {
102
+ return renderPageServerEntryWithMiddlewares(pageContextBegin, renderPageServerEntry, middlewares);
103
+ }
104
+ }
105
+ async function renderPageServerEntryOnce(pageContextBegin, globalContext, requestId) {
94
106
  // Check Base URL
95
107
  {
96
108
  const pageContextHttpResponse = await checkBaseUrl(pageContextBegin, globalContext);
@@ -227,6 +239,42 @@ async function renderPageServerEntryRecursive_onError(err, pageContextBegin, pag
227
239
  }
228
240
  return pageContextErrorPage;
229
241
  }
242
+ const requestAdapter = createRequestAdapter();
243
+ async function renderPageServerEntryWithMiddlewares(pageContext, renderPageServerEntry, middlewares) {
244
+ const router = new UniversalRouter(true, false);
245
+ let httpResponseVikeCore = undefined;
246
+ // Wrap rendering into universal-middleware routing
247
+ apply(router, [
248
+ enhance(async function adaptRenderPageServerEntryOnceInternal() {
249
+ const pageContextHttpResponse = await renderPageServerEntry();
250
+ const { httpResponse } = pageContextHttpResponse;
251
+ pageContext = pageContextHttpResponse;
252
+ httpResponseVikeCore = httpResponse;
253
+ const readable = httpResponse.getReadableWebStream();
254
+ return new Response(readable, {
255
+ status: httpResponse.statusCode,
256
+ headers: httpResponse.headers,
257
+ });
258
+ }, {
259
+ name: 'vike',
260
+ method: ['GET', 'POST', 'PUT', 'PATCH', 'HEAD', 'OPTIONS'],
261
+ path: '/**', // rou3 format
262
+ immutable: true, // avoids cloning the function we just created
263
+ }),
264
+ ...middlewares,
265
+ ]);
266
+ const handler = router[universalSymbol];
267
+ const request = pageContext._reqWeb ??
268
+ (pageContext._reqDev
269
+ ? requestAdapter(pageContext._reqDev)
270
+ : new Request(new URL(pageContext.urlOriginal, 'http://localhost').toString(), {
271
+ headers: pageContext.headers ?? {},
272
+ }));
273
+ const res = await handler(request, {}, getAdapterRuntime('other', { params: undefined }));
274
+ const httpResponse = createHttpResponseFromUniversalMiddleware(res, httpResponseVikeCore?.earlyHints);
275
+ objectAssign(pageContext, { httpResponse });
276
+ return pageContext;
277
+ }
230
278
  function logHttpRequest(urlOriginal, pageContextInit, requestId) {
231
279
  const pageContext = createPageContextServerWithoutGlobalContext(pageContextInit, requestId);
232
280
  logRuntimeInfo?.(getRequestInfoMessage(urlOriginal), pageContext, 'info');
@@ -1,3 +1,10 @@
1
- export default universalVikeHandler;
1
+ import { type RuntimeAdapterTarget } from '@universal-middleware/core';
2
2
  import '../assertEnvServer.js';
3
- declare function universalVikeHandler(request: Request, context: Record<string, unknown>, runtime: Record<string, unknown>): Promise<Response>;
3
+ declare function universalVikeHandler<T extends string>(request: Request, context: Universal.Context, runtime: RuntimeAdapterTarget<T>): Promise<Response>;
4
+ declare const universalVikeHandlerEnhanced: typeof universalVikeHandler & import("@universal-middleware/core").WithUniversalSymbols<{
5
+ name: string;
6
+ method: ("GET" | "HEAD" | "POST" | "PUT" | "OPTIONS" | "PATCH")[];
7
+ path: string;
8
+ immutable: true;
9
+ }>;
10
+ export default universalVikeHandlerEnhanced;
@@ -1,4 +1,4 @@
1
- export default universalVikeHandler;
1
+ import { enhance } from '@universal-middleware/core';
2
2
  import { renderPageServer } from './renderPageServer.js';
3
3
  import '../assertEnvServer.js';
4
4
  async function universalVikeHandler(request, context, runtime) {
@@ -8,6 +8,7 @@ async function universalVikeHandler(request, context, runtime) {
8
8
  runtime,
9
9
  urlOriginal: request.url,
10
10
  headersOriginal: request.headers,
11
+ _reqWeb: request,
11
12
  };
12
13
  const pageContext = await renderPageServer(pageContextInit);
13
14
  const response = pageContext.httpResponse;
@@ -17,3 +18,10 @@ async function universalVikeHandler(request, context, runtime) {
17
18
  headers: response.headers,
18
19
  });
19
20
  }
21
+ const universalVikeHandlerEnhanced = enhance(universalVikeHandler, {
22
+ name: 'vike',
23
+ method: ['GET', 'POST', 'PUT', 'PATCH', 'HEAD', 'OPTIONS'],
24
+ path: '/**',
25
+ immutable: true,
26
+ });
27
+ export default universalVikeHandlerEnhanced;
@@ -17,18 +17,7 @@ declare function createGlobalContextShared<GlobalContextAdded extends {}, Global
17
17
  }, addGlobalContext?: (globalContext: GlobalContextBase) => GlobalContextAdded, addGlobalContextTmp?: (globalContext: GlobalContextBase) => Promise<GlobalContextAdded>, addGlobalContextAsync?: (globalContext: GlobalContextBase) => Promise<GlobalContextAddedAsync>): Promise<{
18
18
  _globalConfigPublic: {
19
19
  pages: {
20
- [k: string]: {
21
- config: import("../types/index.js").ConfigResolved;
22
- _source: import("./page-configs/resolveVikeConfigPublic.js").Source;
23
- _sources: import("./page-configs/resolveVikeConfigPublic.js").Sources;
24
- _from: import("./page-configs/resolveVikeConfigPublic.js").From;
25
- } & ({
26
- route: import("../types/Config.js").Route;
27
- isErrorPage?: undefined;
28
- } | {
29
- route?: undefined;
30
- isErrorPage: true;
31
- });
20
+ [k: string]: import("./page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
32
21
  };
33
22
  config: import("../types/index.js").ConfigResolved;
34
23
  _source: import("./page-configs/resolveVikeConfigPublic.js").Source;
@@ -36,18 +25,7 @@ declare function createGlobalContextShared<GlobalContextAdded extends {}, Global
36
25
  _from: import("./page-configs/resolveVikeConfigPublic.js").From;
37
26
  };
38
27
  pages: {
39
- [k: string]: {
40
- config: import("../types/index.js").ConfigResolved;
41
- _source: import("./page-configs/resolveVikeConfigPublic.js").Source;
42
- _sources: import("./page-configs/resolveVikeConfigPublic.js").Sources;
43
- _from: import("./page-configs/resolveVikeConfigPublic.js").From;
44
- } & ({
45
- route: import("../types/Config.js").Route;
46
- isErrorPage?: undefined;
47
- } | {
48
- route?: undefined;
49
- isErrorPage: true;
50
- });
28
+ [k: string]: import("./page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
51
29
  };
52
30
  config: import("../types/index.js").ConfigResolved;
53
31
  _source: import("./page-configs/resolveVikeConfigPublic.js").Source;
@@ -71,18 +49,7 @@ type GlobalContextBase = ReturnType<typeof createGlobalContextBase>;
71
49
  declare function createGlobalContextBase(virtualFileExportsGlobalEntry: unknown): {
72
50
  _globalConfigPublic: {
73
51
  pages: {
74
- [k: string]: {
75
- config: import("../types/index.js").ConfigResolved;
76
- _source: import("./page-configs/resolveVikeConfigPublic.js").Source;
77
- _sources: import("./page-configs/resolveVikeConfigPublic.js").Sources;
78
- _from: import("./page-configs/resolveVikeConfigPublic.js").From;
79
- } & ({
80
- route: import("../types/Config.js").Route;
81
- isErrorPage?: undefined;
82
- } | {
83
- route?: undefined;
84
- isErrorPage: true;
85
- });
52
+ [k: string]: import("./page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
86
53
  };
87
54
  config: import("../types/index.js").ConfigResolved;
88
55
  _source: import("./page-configs/resolveVikeConfigPublic.js").Source;
@@ -90,18 +57,7 @@ declare function createGlobalContextBase(virtualFileExportsGlobalEntry: unknown)
90
57
  _from: import("./page-configs/resolveVikeConfigPublic.js").From;
91
58
  };
92
59
  pages: {
93
- [k: string]: {
94
- config: import("../types/index.js").ConfigResolved;
95
- _source: import("./page-configs/resolveVikeConfigPublic.js").Source;
96
- _sources: import("./page-configs/resolveVikeConfigPublic.js").Sources;
97
- _from: import("./page-configs/resolveVikeConfigPublic.js").From;
98
- } & ({
99
- route: import("../types/Config.js").Route;
100
- isErrorPage?: undefined;
101
- } | {
102
- route?: undefined;
103
- isErrorPage: true;
104
- });
60
+ [k: string]: import("./page-configs/resolveVikeConfigPublic.js").PageConfigPublicWithRoute;
105
61
  };
106
62
  config: import("../types/index.js").ConfigResolved;
107
63
  _source: import("./page-configs/resolveVikeConfigPublic.js").Source;
@@ -2,6 +2,7 @@ export { resolveGlobalConfigPublic };
2
2
  export { resolvePageContextConfig };
3
3
  export { resolveGlobalContextConfig };
4
4
  export type { PageContextConfig };
5
+ export type { PageConfigPublicWithRoute };
5
6
  export type { GlobalConfigPublic };
6
7
  export type { Source };
7
8
  export type { Sources };