vike 0.4.232-commit-1690f53 → 0.4.232

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 (56) hide show
  1. package/dist/cjs/node/prerender/runPrerender.js +4 -9
  2. package/dist/cjs/node/runtime/renderPage/execHookServer.js +4 -1
  3. package/dist/cjs/node/runtime/renderPage/{execHookDataAndOnBeforeRender.js → executeOnBeforeRenderAndDataHooks.js} +2 -2
  4. package/dist/cjs/node/runtime/renderPage/{execHookOnRenderHtml.js → executeOnRenderHtmlHook.js} +3 -3
  5. package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +13 -18
  6. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +11 -11
  7. package/dist/cjs/node/runtime/renderPage.js +48 -55
  8. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +2 -0
  9. package/dist/cjs/shared/createPageContextShared.js +3 -1
  10. package/dist/cjs/shared/hooks/execHook.js +54 -31
  11. package/dist/cjs/shared/route/{execHookGuard.js → executeGuardHook.js} +3 -3
  12. package/dist/cjs/shared/route/{execHookOnBeforeRoute.js → executeOnBeforeRouteHook.js} +4 -4
  13. package/dist/cjs/shared/route/index.js +2 -3
  14. package/dist/cjs/shared/route/resolveRouteFunction.js +1 -1
  15. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  16. package/dist/cjs/utils/styleFileRE.js +0 -1
  17. package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +2 -2
  18. package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.js +9 -9
  19. package/dist/esm/client/runtime-client-routing/renderPageClientSide.js +62 -97
  20. package/dist/esm/client/runtime-server-routing/createPageContextClientSide.js +4 -11
  21. package/dist/esm/client/runtime-server-routing/entry.js +2 -2
  22. package/dist/esm/client/shared/{execHookOnRenderClient.d.ts → executeOnRenderClientHook.d.ts} +2 -2
  23. package/dist/esm/client/shared/{execHookOnRenderClient.js → executeOnRenderClientHook.js} +4 -4
  24. package/dist/esm/client/shared/loadPageConfigsLazyClientSide.d.ts +4 -12
  25. package/dist/esm/client/shared/loadPageConfigsLazyClientSide.js +4 -4
  26. package/dist/esm/node/prerender/runPrerender.d.ts +4 -250
  27. package/dist/esm/node/prerender/runPrerender.js +6 -11
  28. package/dist/esm/node/runtime/renderPage/createHttpResponse.d.ts +1 -1
  29. package/dist/esm/node/runtime/renderPage/execHookServer.d.ts +3 -3
  30. package/dist/esm/node/runtime/renderPage/execHookServer.js +4 -1
  31. package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.d.ts +6 -0
  32. package/dist/esm/node/runtime/renderPage/{execHookDataAndOnBeforeRender.js → executeOnBeforeRenderAndDataHooks.js} +2 -2
  33. package/dist/esm/node/runtime/renderPage/{execHookOnRenderHtml.d.ts → executeOnRenderHtmlHook.d.ts} +2 -2
  34. package/dist/esm/node/runtime/renderPage/{execHookOnRenderHtml.js → executeOnRenderHtmlHook.js} +4 -4
  35. package/dist/esm/node/runtime/renderPage/getHttpResponseBody.d.ts +1 -1
  36. package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.d.ts +6 -15
  37. package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +13 -18
  38. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +2 -2
  39. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +13 -13
  40. package/dist/esm/node/runtime/renderPage.js +50 -57
  41. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +2 -0
  42. package/dist/esm/shared/createPageContextShared.js +3 -1
  43. package/dist/esm/shared/hooks/execHook.d.ts +28 -14
  44. package/dist/esm/shared/hooks/execHook.js +54 -31
  45. package/dist/esm/shared/route/executeGuardHook.d.ts +8 -0
  46. package/dist/esm/shared/route/{execHookGuard.js → executeGuardHook.js} +4 -4
  47. package/dist/esm/shared/route/{execHookOnBeforeRoute.d.ts → executeOnBeforeRouteHook.d.ts} +2 -2
  48. package/dist/esm/shared/route/{execHookOnBeforeRoute.js → executeOnBeforeRouteHook.js} +5 -5
  49. package/dist/esm/shared/route/index.js +2 -3
  50. package/dist/esm/shared/route/resolveRouteFunction.js +2 -2
  51. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  52. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  53. package/dist/esm/utils/styleFileRE.js +0 -1
  54. package/package.json +1 -1
  55. package/dist/esm/node/runtime/renderPage/execHookDataAndOnBeforeRender.d.ts +0 -6
  56. package/dist/esm/shared/route/execHookGuard.d.ts +0 -8
@@ -171,7 +171,7 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
171
171
  _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
172
172
  _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
173
173
  } & {
174
- urlParsed: import("../runtime/utils.js").UrlPublic;
174
+ urlParsed: import("../shared/utils.js").UrlPublic;
175
175
  urlPathname: string;
176
176
  url: string;
177
177
  } & {
@@ -292,7 +292,7 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
292
292
  _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
293
293
  _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
294
294
  } & {
295
- urlParsed: import("../runtime/utils.js").UrlPublic;
295
+ urlParsed: import("../shared/utils.js").UrlPublic;
296
296
  urlPathname: string;
297
297
  url: string;
298
298
  } & {
@@ -310,259 +310,13 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
310
310
  pageId: string;
311
311
  _debugRouteMatches: never[];
312
312
  routeParams: {};
313
- })) & (((({
314
- _isOriginalObject: true;
315
- isPageContext: true;
316
- } & {
317
- isClientSide: false;
318
- isPrerendering: boolean;
319
- } & Pick<import("../../types/PageContext.js").PageContextInternalServer, "urlOriginal" | "headersOriginal"> & {
320
- url?: string;
321
- headers?: Record<string, string>;
322
- } & {
323
- _globalContext: {
324
- isGlobalContext: true;
325
- _isOriginalObject: true;
326
- _virtualFileExports: unknown;
327
- _pageFilesAll: PageFile[];
328
- _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
329
- _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
330
- _allPageIds: string[];
331
- _vikeConfigPublicGlobal: {
332
- config: import("../../types/index.js").ConfigResolved;
333
- _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
334
- _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
335
- _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
336
- };
337
- config: import("../../types/index.js").ConfigResolved;
338
- pages: {
339
- [k: string]: import("../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEager;
340
- };
341
- } & ({
342
- _isProduction: false;
343
- _isPrerendering: false;
344
- assetsManifest: null;
345
- _viteDevServer: import("vite").ViteDevServer;
346
- viteConfig: ResolvedConfig;
347
- viteConfigRuntime: {
348
- root: string;
349
- build: {
350
- outDir: string;
351
- };
352
- _baseViteOriginal: string;
353
- vitePluginServerEntry: {
354
- inject: boolean | undefined;
355
- };
356
- };
357
- baseServer: string;
358
- baseAssets: string;
359
- isClientSide: false;
360
- _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
361
- _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
362
- } | {
363
- _isPrerendering: true;
364
- viteConfig: ResolvedConfig;
365
- _isProduction: true;
366
- assetsManifest: import("../../types/ViteManifest.js").ViteManifest;
367
- _viteDevServer: null;
368
- viteConfigRuntime: {
369
- root: string;
370
- build: {
371
- outDir: string;
372
- };
373
- _baseViteOriginal: string;
374
- vitePluginServerEntry: {
375
- inject: boolean | undefined;
376
- };
377
- };
378
- _usesClientRouter: boolean;
379
- baseServer: string;
380
- baseAssets: string;
381
- isClientSide: false;
382
- _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
383
- _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
384
- } | {
385
- _isPrerendering: false;
386
- viteConfig: null;
387
- _isProduction: true;
388
- assetsManifest: import("../../types/ViteManifest.js").ViteManifest;
389
- _viteDevServer: null;
390
- viteConfigRuntime: {
391
- root: string;
392
- build: {
393
- outDir: string;
394
- };
395
- _baseViteOriginal: string;
396
- vitePluginServerEntry: {
397
- inject: boolean | undefined;
398
- };
399
- };
400
- _usesClientRouter: boolean;
401
- baseServer: string;
402
- baseAssets: string;
403
- isClientSide: false;
404
- _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
405
- _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
406
- });
407
- _pageFilesAll: PageFile[];
408
- _baseServer: string;
409
- _baseAssets: string;
410
- _pageContextInit: import("../runtime/renderPage.js").PageContextInit;
411
- _urlRewrite: null;
412
- _urlHandler: ((url: string) => string) | null;
413
- isClientSideNavigation: boolean;
414
- } & {
415
- config: import("../../types/index.js").ConfigResolved;
416
- _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
417
- _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
418
- _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
419
- } & {
420
- urlParsed: import("../runtime/utils.js").UrlPublic;
421
- urlPathname: string;
422
- url: string;
423
- } & {
424
- headers: Record<string, string> | null;
425
- } & {
426
- _urlHandler: null;
427
- _httpRequestId: null;
428
- _urlRewrite: null;
429
- _noExtraDir: boolean | null;
430
- _prerenderContext: PrerenderContext;
431
- _providedByHook: ProvidedByHook;
432
- _urlOriginalModifiedByHook: ProvidedByHookTransformer;
433
- is404: boolean;
434
- } & import("../../shared/route/index.js").PageContextFromRoute & Record<"pageId", string>) | ({
435
- _isOriginalObject: true;
436
- isPageContext: true;
437
- } & {
438
- isClientSide: false;
439
- isPrerendering: boolean;
440
- } & Pick<import("../../types/PageContext.js").PageContextInternalServer, "urlOriginal" | "headersOriginal"> & {
441
- url?: string;
442
- headers?: Record<string, string>;
443
- } & {
444
- _globalContext: {
445
- isGlobalContext: true;
446
- _isOriginalObject: true;
447
- _virtualFileExports: unknown;
448
- _pageFilesAll: PageFile[];
449
- _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
450
- _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
451
- _allPageIds: string[];
452
- _vikeConfigPublicGlobal: {
453
- config: import("../../types/index.js").ConfigResolved;
454
- _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
455
- _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
456
- _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
457
- };
458
- config: import("../../types/index.js").ConfigResolved;
459
- pages: {
460
- [k: string]: import("../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEager;
461
- };
462
- } & ({
463
- _isProduction: false;
464
- _isPrerendering: false;
465
- assetsManifest: null;
466
- _viteDevServer: import("vite").ViteDevServer;
467
- viteConfig: ResolvedConfig;
468
- viteConfigRuntime: {
469
- root: string;
470
- build: {
471
- outDir: string;
472
- };
473
- _baseViteOriginal: string;
474
- vitePluginServerEntry: {
475
- inject: boolean | undefined;
476
- };
477
- };
478
- baseServer: string;
479
- baseAssets: string;
480
- isClientSide: false;
481
- _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
482
- _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
483
- } | {
484
- _isPrerendering: true;
485
- viteConfig: ResolvedConfig;
486
- _isProduction: true;
487
- assetsManifest: import("../../types/ViteManifest.js").ViteManifest;
488
- _viteDevServer: null;
489
- viteConfigRuntime: {
490
- root: string;
491
- build: {
492
- outDir: string;
493
- };
494
- _baseViteOriginal: string;
495
- vitePluginServerEntry: {
496
- inject: boolean | undefined;
497
- };
498
- };
499
- _usesClientRouter: boolean;
500
- baseServer: string;
501
- baseAssets: string;
502
- isClientSide: false;
503
- _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
504
- _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
505
- } | {
506
- _isPrerendering: false;
507
- viteConfig: null;
508
- _isProduction: true;
509
- assetsManifest: import("../../types/ViteManifest.js").ViteManifest;
510
- _viteDevServer: null;
511
- viteConfigRuntime: {
512
- root: string;
513
- build: {
514
- outDir: string;
515
- };
516
- _baseViteOriginal: string;
517
- vitePluginServerEntry: {
518
- inject: boolean | undefined;
519
- };
520
- };
521
- _usesClientRouter: boolean;
522
- baseServer: string;
523
- baseAssets: string;
524
- isClientSide: false;
525
- _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
526
- _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
527
- });
528
- _pageFilesAll: PageFile[];
529
- _baseServer: string;
530
- _baseAssets: string;
531
- _pageContextInit: import("../runtime/renderPage.js").PageContextInit;
532
- _urlRewrite: null;
533
- _urlHandler: ((url: string) => string) | null;
534
- isClientSideNavigation: boolean;
535
- } & {
536
- config: import("../../types/index.js").ConfigResolved;
537
- _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
538
- _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
539
- _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
540
- } & {
541
- urlParsed: import("../runtime/utils.js").UrlPublic;
542
- urlPathname: string;
543
- url: string;
544
- } & {
545
- headers: Record<string, string> | null;
546
- } & {
547
- _urlHandler: null;
548
- _httpRequestId: null;
549
- _urlRewrite: null;
550
- _noExtraDir: boolean | null;
551
- _prerenderContext: PrerenderContext;
552
- _providedByHook: ProvidedByHook;
553
- _urlOriginalModifiedByHook: ProvidedByHookTransformer;
554
- is404: boolean;
555
- } & {
556
- pageId: string;
557
- _debugRouteMatches: never[];
558
- routeParams: {};
559
- })) & import("../../shared/getPageFiles.js").VikeConfigPublicPageLazy) & {
313
+ })) & import("../../shared/getPageFiles.js").VikeConfigPublicPageLazy & {
560
314
  Page: unknown;
561
315
  _isHtmlOnly: boolean;
562
316
  _passToClient: string[];
563
317
  _pageFilePathsLoaded: string[];
564
318
  } & {
565
319
  __getPageAssets: () => Promise<import("../runtime/renderPage/getPageAssets.js").PageAsset[]>;
566
- })) & {
320
+ }) & {
567
321
  _usesClientRouter: boolean;
568
322
  }>;
@@ -18,18 +18,17 @@ import { getConfigValueRuntime } from '../../shared/page-configs/getConfigValueR
18
18
  import { loadConfigValues } from '../../shared/page-configs/loadConfigValues.js';
19
19
  import { getErrorPageId, isErrorPage } from '../../shared/error-page.js';
20
20
  import { isAbortError } from '../../shared/route/abort.js';
21
- import { loadPageConfigsLazyServerSideAndExecHook } from '../runtime/renderPage/loadPageConfigsLazyServerSide.js';
21
+ import { loadPageConfigsLazyServerSide } from '../runtime/renderPage/loadPageConfigsLazyServerSide.js';
22
22
  import { getHookFromPageConfig, getHookFromPageConfigGlobal, getHookTimeoutDefault, getHook_setIsPrerenderering, } from '../../shared/hooks/getHook.js';
23
23
  import { noRouteMatch } from '../../shared/route/noRouteMatch.js';
24
24
  import { getVikeConfigInternal } from '../vite/shared/resolveVikeConfigInternal.js';
25
- import { execHookDirectWithoutPageContext, isUserHookError } from '../../shared/hooks/execHook.js';
25
+ import { execHookWithoutPageContext, isUserHookError } from '../../shared/hooks/execHook.js';
26
26
  import { setWasPrerenderRun } from './context.js';
27
27
  import { resolvePrerenderConfigGlobal, resolvePrerenderConfigLocal } from './resolvePrerenderConfig.js';
28
28
  import { getOutDirs } from '../vite/shared/getOutDirs.js';
29
29
  import fs from 'node:fs';
30
30
  import { getProxyForPublicUsage } from '../../shared/getProxyForPublicUsage.js';
31
31
  import { getStaticRedirectsForPrerender } from '../runtime/renderPage/resolveRedirects.js';
32
- import { augmentType } from '../runtime/utils.js';
33
32
  const docLink = 'https://vike.dev/i18n#pre-rendering';
34
33
  async function runPrerender(options = {}, trigger) {
35
34
  setWasPrerenderRun(trigger);
@@ -216,7 +215,7 @@ async function callOnBeforePrerenderStartHooks(prerenderContext, globalContext,
216
215
  if (doNotPrerenderList.find((p) => p.pageId === pageId))
217
216
  return;
218
217
  const { hookName, hookFilePath } = hook;
219
- const prerenderResult = await execHookDirectWithoutPageContext(() => hook.hookFn(), hook);
218
+ const prerenderResult = await execHookWithoutPageContext(() => hook.hookFn(), hook);
220
219
  const result = normalizeOnPrerenderHookResult(prerenderResult, hookFilePath, hookName);
221
220
  // Handle result
222
221
  await Promise.all(result.map(async ({ url, pageContext }) => {
@@ -323,7 +322,7 @@ async function createPageContextPrerendering(urlOriginal, prerenderContext, glob
323
322
  routeParams: {},
324
323
  });
325
324
  }
326
- augmentType(pageContext, await loadPageConfigsLazyServerSideAndExecHook(pageContext));
325
+ objectAssign(pageContext, await loadPageConfigsLazyServerSide(pageContext));
327
326
  let usesClientRouter;
328
327
  {
329
328
  const { pageId } = pageContext;
@@ -444,7 +443,7 @@ async function callOnPrerenderStartHook(prerenderContext, globalContext, concurr
444
443
  preservePropertyGetters(pageContext);
445
444
  });
446
445
  const prerenderContextPublic = preparePrerenderContextForPublicUsage(prerenderContext);
447
- let result = await execHookDirectWithoutPageContext(() => hookFn(prerenderContextPublic), onPrerenderStartHook);
446
+ let result = await execHookWithoutPageContext(() => hookFn(prerenderContextPublic), onPrerenderStartHook);
448
447
  // Before applying result
449
448
  prerenderContext.pageContexts.forEach((pageContext) => {
450
449
  ;
@@ -726,13 +725,9 @@ function getRedirectHtml(urlTarget) {
726
725
  <meta charset="UTF-8">
727
726
  <meta http-equiv="refresh" content="0;url=${urlTargetSafe}">
728
727
  <title>Redirect ${urlTargetSafe}</title>
729
- <style>body{opacity:0}</style>
730
- <noscript>
731
- <style>body{opacity:1}</style>
732
- </noscript>
733
728
  </head>
734
729
  <body style="min-height: 100vh; margin: 0; font-family: sans-serif; display: flex; justify-content: center; align-items: center; transition: opacity 0.3s;">
735
- <script>setTimeout(()=>{document.body.style.opacity=1},2000)</script>
730
+ <script>document.body.style.opacity=0; setTimeout(()=>{document.body.style.opacity=1},1000);</script>
736
731
  <div>
737
732
  <h1>Redirect <a href="${urlTargetSafe}"><code style="background-color: #eaeaea; padding: 3px 5px; border-radius: 4px;">${urlTargetSafe}</code></a></h1>
738
733
  <p>If you aren't redirected, click the link above.</p>
@@ -8,7 +8,7 @@ export { createHttpResponseBaseIsMissing };
8
8
  export type { HttpResponse };
9
9
  import type { GetPageAssets } from './getPageAssets.js';
10
10
  import type { HtmlRender } from '../html/renderHtml.js';
11
- import type { RenderHook } from './execHookOnRenderHtml.js';
11
+ import type { RenderHook } from './executeOnRenderHtmlHook.js';
12
12
  import type { RedirectStatusCode, AbortStatusCode, UrlRedirect } from '../../../shared/route/abort.js';
13
13
  import { HttpResponseBody } from './getHttpResponseBody.js';
14
14
  import { type EarlyHint } from './getEarlyHints.js';
@@ -1,10 +1,10 @@
1
1
  export { execHookServer };
2
- export type { PageContextExecHookServer };
2
+ export type { PageContextExecuteHookServer };
3
3
  import { type PageContextForPublicUsageServer } from './preparePageContextForPublicUsageServer.js';
4
4
  import type { VikeConfigPublicPageLazy } from '../../../shared/getPageFiles.js';
5
5
  import type { HookName } from '../../../types/Config.js';
6
- type PageContextExecHookServer = VikeConfigPublicPageLazy & PageContextForPublicUsageServer;
7
- declare function execHookServer(hookName: HookName, pageContext: PageContextExecHookServer): Promise<(import("../../../shared/hooks/getHook.js").HookLoc & {
6
+ type PageContextExecuteHookServer = VikeConfigPublicPageLazy & PageContextForPublicUsageServer;
7
+ declare function execHookServer(hookName: HookName, pageContext: PageContextExecuteHookServer): 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;
10
10
  } & {
@@ -2,5 +2,8 @@ export { execHookServer };
2
2
  import { execHook } from '../../../shared/hooks/execHook.js';
3
3
  import { preparePageContextForPublicUsageServer, } from './preparePageContextForPublicUsageServer.js';
4
4
  async function execHookServer(hookName, pageContext) {
5
- return await execHook(hookName, pageContext, preparePageContextForPublicUsageServer);
5
+ return await execHook(hookName, pageContext, (p) => {
6
+ preparePageContextForPublicUsageServer(p);
7
+ return p;
8
+ });
6
9
  }
@@ -0,0 +1,6 @@
1
+ export { executeOnBeforeRenderAndDataHooks };
2
+ import { type PageContextExecuteHookServer } from './execHookServer.js';
3
+ declare function executeOnBeforeRenderAndDataHooks(pageContext: {
4
+ pageId: string;
5
+ _pageContextAlreadyProvidedByOnPrerenderHook?: true;
6
+ } & PageContextExecuteHookServer): Promise<void>;
@@ -1,7 +1,7 @@
1
- export { execHookDataAndOnBeforeRender };
1
+ export { executeOnBeforeRenderAndDataHooks };
2
2
  import { assertOnBeforeRenderHookReturn } from '../../../shared/assertOnBeforeRenderHookReturn.js';
3
3
  import { execHookServer } from './execHookServer.js';
4
- async function execHookDataAndOnBeforeRender(pageContext) {
4
+ async function executeOnBeforeRenderAndDataHooks(pageContext) {
5
5
  if (pageContext._pageContextAlreadyProvidedByOnPrerenderHook) {
6
6
  return;
7
7
  }
@@ -1,4 +1,4 @@
1
- export { execHookOnRenderHtml };
1
+ export { executeOnRenderHtmlHook };
2
2
  export type { RenderHook };
3
3
  import { type HtmlRender } from '../html/renderHtml.js';
4
4
  import { type Hook } from '../../../shared/hooks/getHook.js';
@@ -11,7 +11,7 @@ type RenderHook = Hook & {
11
11
  hookName: HookName;
12
12
  };
13
13
  type HookName = 'onRenderHtml' | 'render';
14
- declare function execHookOnRenderHtml(pageContext: PageContextForPublicUsageServer & PageContextSerialization & {
14
+ declare function executeOnRenderHtmlHook(pageContext: PageContextForPublicUsageServer & PageContextSerialization & {
15
15
  pageId: string;
16
16
  _globalContext: GlobalContextServerInternal;
17
17
  __getPageAssets: GetPageAssets;
@@ -1,4 +1,4 @@
1
- export { execHookOnRenderHtml };
1
+ export { executeOnRenderHtmlHook };
2
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';
@@ -8,11 +8,11 @@ import { preparePageContextForPublicUsageServer, } from './preparePageContextFor
8
8
  import { assertHookReturnedObject } from '../../../shared/assertHookReturnedObject.js';
9
9
  import { logRuntimeError } from '../loggerRuntime.js';
10
10
  import pc from '@brillout/picocolors';
11
- import { execHookDirectSingleWithReturn } from '../../../shared/hooks/execHook.js';
12
- async function execHookOnRenderHtml(pageContext) {
11
+ import { execHookSingleWithReturn } from '../../../shared/hooks/execHook.js';
12
+ async function executeOnRenderHtmlHook(pageContext) {
13
13
  const hook = getRenderHook(pageContext);
14
14
  objectAssign(pageContext, { _renderHook: hook });
15
- const { hookReturn } = await execHookDirectSingleWithReturn(hook, pageContext, preparePageContextForPublicUsageServer);
15
+ const { hookReturn } = await execHookSingleWithReturn(hook, pageContext, preparePageContextForPublicUsageServer);
16
16
  const { documentHtml, pageContextProvidedByRenderHook, pageContextPromise, injectFilter } = processHookReturnValue(hookReturn, hook);
17
17
  Object.assign(pageContext, pageContextProvidedByRenderHook);
18
18
  objectAssign(pageContext, { _pageContextPromise: pageContextPromise });
@@ -3,7 +3,7 @@ export { getHttpResponseBodyStreamHandlers };
3
3
  export type { HttpResponseBody };
4
4
  import { StreamPipeNode, StreamPipeWeb, StreamReadableNode, StreamReadableWeb, StreamWritableNode, StreamWritableWeb } from '../html/stream.js';
5
5
  import { type HtmlRender } from '../html/renderHtml.js';
6
- import type { RenderHook } from './execHookOnRenderHtml.js';
6
+ import type { RenderHook } from './executeOnRenderHtmlHook.js';
7
7
  type HttpResponseBody = {
8
8
  body: string;
9
9
  pipe: (writable: StreamWritableWeb | StreamWritableNode) => void;
@@ -1,27 +1,18 @@
1
- export { loadPageConfigsLazyServerSideAndExecHook };
1
+ export { loadPageConfigsLazyServerSide };
2
+ export type { PageFiles };
2
3
  export type { PageContext_loadPageConfigsLazyServerSide };
3
- export type { PageConfigsLazy };
4
4
  import { PromiseType } from '../utils.js';
5
5
  import { PageContextGetPageAssets, type PageAsset } from './getPageAssets.js';
6
6
  import { type PageContextDebugRouteMatches } from './debugPageFiles.js';
7
7
  import type { GlobalContextServerInternal } from '../globalContext.js';
8
- import { type PageContextExecHookServer } from './execHookServer.js';
9
- type PageContextExecuteHook = Omit<PageContextExecHookServer, keyof Awaited<ReturnType<typeof loadPageConfigsLazyServerSide>>>;
10
8
  type PageContext_loadPageConfigsLazyServerSide = PageContextGetPageAssets & PageContextDebugRouteMatches & {
11
- pageId: string;
12
9
  urlOriginal: string;
13
10
  _globalContext: GlobalContextServerInternal;
14
11
  };
15
- type PageConfigsLazy = PromiseType<ReturnType<typeof loadPageConfigsLazyServerSide>>;
16
- declare function loadPageConfigsLazyServerSideAndExecHook<PageContext extends PageContext_loadPageConfigsLazyServerSide & PageContextExecuteHook>(pageContext: PageContext): Promise<PageContext & import("../../../shared/getPageFiles.js").VikeConfigPublicPageLazy & {
17
- Page: unknown;
18
- _isHtmlOnly: boolean;
19
- _passToClient: string[];
20
- _pageFilePathsLoaded: string[];
21
- } & {
22
- __getPageAssets: () => Promise<PageAsset[]>;
23
- }>;
24
- declare function loadPageConfigsLazyServerSide(pageContext: PageContext_loadPageConfigsLazyServerSide): Promise<import("../../../shared/getPageFiles.js").VikeConfigPublicPageLazy & {
12
+ type PageFiles = PromiseType<ReturnType<typeof loadPageConfigsLazyServerSide>>;
13
+ declare function loadPageConfigsLazyServerSide(pageContext: {
14
+ pageId: string;
15
+ } & PageContext_loadPageConfigsLazyServerSide): Promise<import("../../../shared/getPageFiles.js").VikeConfigPublicPageLazy & {
25
16
  Page: unknown;
26
17
  _isHtmlOnly: boolean;
27
18
  _passToClient: string[];
@@ -1,4 +1,4 @@
1
- export { loadPageConfigsLazyServerSideAndExecHook };
1
+ export { loadPageConfigsLazyServerSide };
2
2
  import { getPageFilesServerSide } from '../../../shared/getPageFiles.js';
3
3
  import { resolveVikeConfigPublicPageLazy } from '../../../shared/page-configs/resolveVikeConfigPublic.js';
4
4
  import { analyzePageClientSideInit } from '../../../shared/getPageFiles/analyzePageClientSide.js';
@@ -8,13 +8,6 @@ import { debugPageFiles } from './debugPageFiles.js';
8
8
  import { findPageConfig } from '../../../shared/page-configs/findPageConfig.js';
9
9
  import { analyzePage } from './analyzePage.js';
10
10
  import { loadConfigValues } from '../../../shared/page-configs/loadConfigValues.js';
11
- import { execHookServer } from './execHookServer.js';
12
- async function loadPageConfigsLazyServerSideAndExecHook(pageContext) {
13
- const pageContextAddendum = await loadPageConfigsLazyServerSide(pageContext);
14
- objectAssign(pageContext, pageContextAddendum);
15
- await execHookServer('onCreatePageContext', pageContext);
16
- return pageContext;
17
- }
18
11
  async function loadPageConfigsLazyServerSide(pageContext) {
19
12
  const pageConfig = findPageConfig(pageContext._globalContext._pageConfigs, pageContext.pageId); // Make pageConfig globally available as pageContext._pageConfig ?
20
13
  const globalContext = pageContext._globalContext;
@@ -91,16 +84,18 @@ async function loadPageConfigsLazyServerSide(pageContext) {
91
84
  return pageAssetsOldFormat;
92
85
  },
93
86
  });
94
- debugPageFiles({
95
- pageContext,
96
- isHtmlOnly,
97
- isClientRouting,
98
- pageFilesLoaded,
99
- pageFilesClientSide,
100
- pageFilesServerSide,
101
- clientEntries,
102
- clientDependencies,
103
- });
87
+ {
88
+ debugPageFiles({
89
+ pageContext,
90
+ isHtmlOnly,
91
+ isClientRouting,
92
+ pageFilesLoaded,
93
+ pageFilesClientSide,
94
+ pageFilesServerSide,
95
+ clientEntries,
96
+ clientDependencies,
97
+ });
98
+ }
104
99
  return pageContextAddendum;
105
100
  }
106
101
  async function loadPageUserFiles(pageFilesAll, pageConfig, pageConfigGlobal, pageId, isDev) {
@@ -3,7 +3,7 @@ export { prerenderPage };
3
3
  export type { PageContextAfterRender };
4
4
  import { type PageContextUrlInternal } from '../../../shared/getPageContextUrlComputed.js';
5
5
  import { HttpResponse } from './createHttpResponse.js';
6
- import { PageContext_loadPageConfigsLazyServerSide, type PageConfigsLazy } from './loadPageConfigsLazyServerSide.js';
6
+ import { PageContext_loadPageConfigsLazyServerSide, type PageFiles } from './loadPageConfigsLazyServerSide.js';
7
7
  import type { PageContextCreated } from './createPageContextServerSide.js';
8
8
  type PageContextAfterRender = {
9
9
  httpResponse: HttpResponse;
@@ -17,7 +17,7 @@ declare function renderPageAlreadyRouted<PageContext extends {
17
17
  errorWhileRendering: null | Error;
18
18
  _httpRequestId: number;
19
19
  } & PageContextCreated & PageContextUrlInternal & PageContext_loadPageConfigsLazyServerSide>(pageContext: PageContext): Promise<PageContext & PageContextAfterRender>;
20
- declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy & {
20
+ declare function prerenderPage(pageContext: PageContextCreated & PageFiles & {
21
21
  routeParams: Record<string, string>;
22
22
  pageId: string;
23
23
  _urlRewrite: null;
@@ -2,16 +2,16 @@ export { renderPageAlreadyRouted };
2
2
  export { prerenderPage };
3
3
  import { getErrorPageId } from '../../../shared/error-page.js';
4
4
  import { getHtmlString } from '../html/renderHtml.js';
5
- import { assert, assertUsage, augmentType, hasProp, objectAssign } from '../utils.js';
5
+ import { assert, assertUsage, hasProp, objectAssign } from '../utils.js';
6
6
  import { getPageContextClientSerialized } from '../html/serializeContext.js';
7
7
  import { createHttpResponsePage, createHttpResponsePageContextJson } from './createHttpResponse.js';
8
- import { loadPageConfigsLazyServerSideAndExecHook, } from './loadPageConfigsLazyServerSide.js';
9
- import { execHookOnRenderHtml } from './execHookOnRenderHtml.js';
10
- import { execHookDataAndOnBeforeRender } from './execHookDataAndOnBeforeRender.js';
8
+ import { loadPageConfigsLazyServerSide, } from './loadPageConfigsLazyServerSide.js';
9
+ import { executeOnRenderHtmlHook } from './executeOnRenderHtmlHook.js';
10
+ import { executeOnBeforeRenderAndDataHooks } from './executeOnBeforeRenderAndDataHooks.js';
11
11
  import { logRuntimeError } from '../loggerRuntime.js';
12
12
  import { isNewError } from './isNewError.js';
13
13
  import { preparePageContextForPublicUsageServer } from './preparePageContextForPublicUsageServer.js';
14
- import { execHookGuard } from '../../../shared/route/execHookGuard.js';
14
+ import { executeGuardHook } from '../../../shared/route/executeGuardHook.js';
15
15
  import pc from '@brillout/picocolors';
16
16
  import { isServerSideError } from '../../../shared/misc/isServerSideError.js';
17
17
  async function renderPageAlreadyRouted(pageContext) {
@@ -23,16 +23,16 @@ async function renderPageAlreadyRouted(pageContext) {
23
23
  assert(isError ===
24
24
  (pageContext.pageId ===
25
25
  getErrorPageId(pageContext._globalContext._pageFilesAll, pageContext._globalContext._pageConfigs)));
26
- augmentType(pageContext, await loadPageConfigsLazyServerSideAndExecHook(pageContext));
26
+ objectAssign(pageContext, await loadPageConfigsLazyServerSide(pageContext));
27
27
  if (!isError) {
28
- await execHookGuard(pageContext, (pageContext) => preparePageContextForPublicUsageServer(pageContext));
28
+ await executeGuardHook(pageContext, (pageContext) => preparePageContextForPublicUsageServer(pageContext));
29
29
  }
30
30
  if (!isError) {
31
- await execHookDataAndOnBeforeRender(pageContext);
31
+ await executeOnBeforeRenderAndDataHooks(pageContext);
32
32
  }
33
33
  else {
34
34
  try {
35
- await execHookDataAndOnBeforeRender(pageContext);
35
+ await executeOnBeforeRenderAndDataHooks(pageContext);
36
36
  }
37
37
  catch (err) {
38
38
  if (isNewError(err, pageContext.errorWhileRendering)) {
@@ -49,7 +49,7 @@ async function renderPageAlreadyRouted(pageContext) {
49
49
  objectAssign(pageContext, { httpResponse });
50
50
  return pageContext;
51
51
  }
52
- const renderHookResult = await execHookOnRenderHtml(pageContext);
52
+ const renderHookResult = await executeOnRenderHtmlHook(pageContext);
53
53
  const { htmlRender, renderHook } = renderHookResult;
54
54
  const httpResponse = await createHttpResponsePage(htmlRender, renderHook, pageContext);
55
55
  objectAssign(pageContext, { httpResponse });
@@ -62,10 +62,10 @@ async function prerenderPage(pageContext) {
62
62
  });
63
63
  /* Should we execute the guard() hook upon pre-rendering? Is there a use case for this?
64
64
  * - It isn't trivial to implement, as it requires to duplicate / factor out the isAbortError() handling
65
- await execHookGuard(pageContext, (pageContext) => preparePageContextForPublicUsageServer(pageContext))
65
+ await executeGuardHook(pageContext, (pageContext) => preparePageContextForPublicUsageServer(pageContext))
66
66
  */
67
- await execHookDataAndOnBeforeRender(pageContext);
68
- const { htmlRender, renderHook } = await execHookOnRenderHtml(pageContext);
67
+ await executeOnBeforeRenderAndDataHooks(pageContext);
68
+ const { htmlRender, renderHook } = await executeOnRenderHtmlHook(pageContext);
69
69
  assertUsage(htmlRender !== null, `Cannot pre-render ${pc.cyan(pageContext.urlOriginal)} because the ${renderHook.hookName}() hook defined by ${renderHook.hookFilePath} didn't return an HTML string.`);
70
70
  assert(pageContext.isClientSideNavigation === false);
71
71
  const documentHtml = await getHtmlString(htmlRender);