vike 0.4.228-commit-90cfb1a → 0.4.228-commit-558224a

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 (115) hide show
  1. package/dist/cjs/__internal/index.js +2 -2
  2. package/dist/cjs/client/client-routing-runtime/globalContext.js +49 -0
  3. package/dist/cjs/client/server-routing-runtime/globalContext.js +41 -0
  4. package/dist/cjs/client/shared/createGetGlobalContext.js +31 -0
  5. package/dist/cjs/client/shared/getJsonSerializedInHtml.js +31 -0
  6. package/dist/cjs/client/shared/utils.js +21 -0
  7. package/dist/cjs/node/plugin/plugins/build/pluginModuleBanner.js +1 -0
  8. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +6 -1
  9. package/dist/cjs/node/prerender/runPrerender.js +42 -40
  10. package/dist/cjs/node/prerender/utils.js +1 -1
  11. package/dist/cjs/node/runtime/globalContext.js +87 -119
  12. package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +18 -5
  13. package/dist/cjs/node/runtime/html/injectAssets/getViteDevScript.js +2 -2
  14. package/dist/cjs/node/runtime/html/propKeys.js +47 -0
  15. package/dist/cjs/node/runtime/html/renderHtml.js +1 -1
  16. package/dist/cjs/node/runtime/html/{serializePageContextClientSide.js → serializeContext.js} +37 -67
  17. package/dist/cjs/node/runtime/renderPage/analyzePage.js +1 -1
  18. package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +14 -13
  19. package/dist/cjs/node/runtime/renderPage/getPageAssets.js +2 -2
  20. package/dist/cjs/node/runtime/renderPage/handleErrorWithoutErrorPage.js +1 -1
  21. package/dist/cjs/node/runtime/renderPage/loadUserFilesServerSide.js +1 -1
  22. package/dist/cjs/node/runtime/renderPage/log404/index.js +1 -1
  23. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -3
  24. package/dist/cjs/node/runtime/renderPage.js +10 -10
  25. package/dist/cjs/node/runtime/utils.js +1 -1
  26. package/dist/cjs/shared/createGlobalContextShared.js +45 -0
  27. package/dist/cjs/shared/createPageContextShared.js +2 -2
  28. package/dist/cjs/{node/runtime/renderPage → shared/hooks}/executeHookGeneric.js +4 -4
  29. package/dist/cjs/shared/htmlElementIds.js +5 -0
  30. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  31. package/dist/cjs/utils/catchInfiniteLoop.js +3 -3
  32. package/dist/cjs/utils/getPublicProxy.js +27 -0
  33. package/dist/cjs/utils/objectAssign.js +5 -5
  34. package/dist/cjs/utils/objectReplace.js +4 -4
  35. package/dist/esm/__internal/index.js +2 -2
  36. package/dist/esm/client/client-routing-runtime/{createPageContextClientSide.d.ts → createPageContext.d.ts} +17 -8
  37. package/dist/esm/client/client-routing-runtime/{createPageContextClientSide.js → createPageContext.js} +14 -16
  38. package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.js +1 -1
  39. package/dist/esm/client/client-routing-runtime/globalContext.d.ts +16 -0
  40. package/dist/esm/client/client-routing-runtime/globalContext.js +13 -0
  41. package/dist/esm/client/client-routing-runtime/prefetch.js +1 -1
  42. package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +2 -3
  43. package/dist/esm/client/server-routing-runtime/createPageContextClientSide.d.ts +13 -4
  44. package/dist/esm/client/server-routing-runtime/createPageContextClientSide.js +16 -15
  45. package/dist/esm/client/server-routing-runtime/globalContext.d.ts +13 -0
  46. package/dist/esm/client/server-routing-runtime/globalContext.js +5 -0
  47. package/dist/esm/client/shared/createGetGlobalContext.d.ts +11 -0
  48. package/dist/esm/client/shared/createGetGlobalContext.js +29 -0
  49. package/dist/esm/client/shared/{getPageContextSerializedInHtml.d.ts → getJsonSerializedInHtml.d.ts} +2 -0
  50. package/dist/esm/client/shared/getJsonSerializedInHtml.js +29 -0
  51. package/dist/esm/client/shared/utils.d.ts +3 -0
  52. package/dist/esm/client/shared/utils.js +3 -0
  53. package/dist/esm/node/plugin/plugins/build/pluginModuleBanner.js +1 -0
  54. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +6 -1
  55. package/dist/esm/node/prerender/runPrerender.d.ts +300 -5
  56. package/dist/esm/node/prerender/runPrerender.js +43 -41
  57. package/dist/esm/node/prerender/utils.d.ts +1 -1
  58. package/dist/esm/node/prerender/utils.js +1 -1
  59. package/dist/esm/node/runtime/globalContext.d.ts +393 -46
  60. package/dist/esm/node/runtime/globalContext.js +88 -120
  61. package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +18 -5
  62. package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.js +2 -2
  63. package/dist/esm/node/runtime/html/injectAssets.d.ts +1 -1
  64. package/dist/esm/node/runtime/html/propKeys.d.ts +8 -0
  65. package/dist/esm/node/runtime/html/propKeys.js +45 -0
  66. package/dist/esm/node/runtime/html/renderHtml.js +1 -1
  67. package/dist/esm/node/runtime/html/{serializePageContextClientSide.d.ts → serializeContext.d.ts} +7 -6
  68. package/dist/esm/node/runtime/html/{serializePageContextClientSide.js → serializeContext.js} +36 -67
  69. package/dist/esm/node/runtime/renderPage/analyzePage.js +1 -1
  70. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +95 -35
  71. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +14 -13
  72. package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.d.ts +1 -1
  73. package/dist/esm/node/runtime/renderPage/getPageAssets.js +2 -2
  74. package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.js +1 -1
  75. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.js +1 -1
  76. package/dist/esm/node/runtime/renderPage/log404/index.js +1 -1
  77. package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +2 -2
  78. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +186 -64
  79. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -3
  80. package/dist/esm/node/runtime/renderPage.d.ts +95 -34
  81. package/dist/esm/node/runtime/renderPage.js +10 -10
  82. package/dist/esm/node/runtime/utils.d.ts +1 -1
  83. package/dist/esm/node/runtime/utils.js +1 -1
  84. package/dist/esm/shared/VikeNamespace.d.ts +6 -0
  85. package/dist/esm/shared/createGlobalContextShared.d.ts +25 -0
  86. package/dist/esm/shared/createGlobalContextShared.js +43 -0
  87. package/dist/esm/shared/createPageContextShared.js +2 -2
  88. package/dist/esm/shared/hooks/executeHookGeneric.d.ts +8 -0
  89. package/dist/esm/{node/runtime/renderPage → shared/hooks}/executeHookGeneric.js +4 -4
  90. package/dist/esm/shared/htmlElementIds.d.ts +2 -0
  91. package/dist/esm/shared/htmlElementIds.js +2 -0
  92. package/dist/esm/shared/page-configs/Config.d.ts +8 -3
  93. package/dist/esm/shared/types.d.ts +20 -13
  94. package/dist/esm/types/index.d.ts +1 -5
  95. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  96. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  97. package/dist/esm/utils/catchInfiniteLoop.js +4 -4
  98. package/dist/esm/utils/getGlobalObject.d.ts +1 -1
  99. package/dist/esm/utils/getPublicProxy.d.ts +2 -0
  100. package/dist/esm/utils/getPublicProxy.js +25 -0
  101. package/dist/esm/utils/objectAssign.d.ts +1 -1
  102. package/dist/esm/utils/objectAssign.js +5 -5
  103. package/dist/esm/utils/objectReplace.d.ts +1 -1
  104. package/dist/esm/utils/objectReplace.js +4 -4
  105. package/package.json +2 -2
  106. package/dist/cjs/client/client-routing-runtime/globalContextClientSide.js +0 -10
  107. package/dist/cjs/client/client-routing-runtime/onLoad.js +0 -10
  108. package/dist/cjs/client/client-routing-runtime/utils.js +0 -43
  109. package/dist/cjs/utils/makePublicCopy.js +0 -32
  110. package/dist/esm/client/client-routing-runtime/globalContextClientSide.d.ts +0 -5
  111. package/dist/esm/client/client-routing-runtime/globalContextClientSide.js +0 -8
  112. package/dist/esm/client/shared/getPageContextSerializedInHtml.js +0 -20
  113. package/dist/esm/node/runtime/renderPage/executeHookGeneric.d.ts +0 -8
  114. package/dist/esm/utils/makePublicCopy.d.ts +0 -3
  115. package/dist/esm/utils/makePublicCopy.js +0 -30
@@ -1,16 +1,22 @@
1
1
  export { createPageContextClientSide };
2
2
  import { assertUsage, assertWarning, augmentType, objectAssign } from './utils.js';
3
- import { getPageContextSerializedInHtml } from '../shared/getPageContextSerializedInHtml.js';
3
+ import { getPageContextSerializedInHtml } from '../shared/getJsonSerializedInHtml.js';
4
4
  import { loadUserFilesClientSide } from '../shared/loadUserFilesClientSide.js';
5
5
  import { getCurrentUrl } from '../shared/getCurrentUrl.js';
6
- import { getPageConfigsRuntime } from '../../shared/getPageConfigsRuntime.js';
7
- // @ts-ignore
8
- import * as virtualFileExports from 'virtual:vike:importUserCode:client:server-routing';
9
6
  import { createPageContextShared } from '../../shared/createPageContextShared.js';
10
- const { pageFilesAll, pageConfigs, pageConfigGlobal } = getPageConfigsRuntime(virtualFileExports);
7
+ import { getGlobalContext } from './globalContext.js';
11
8
  const urlFirst = getCurrentUrl({ withoutHash: true });
12
9
  async function createPageContextClientSide() {
10
+ const globalContext = await getGlobalContext();
13
11
  const pageContextCreated = {
12
+ /* Don't spread globalContext for now? Or never spread it as it leads to confusion? The convenience isn't worth the added confusion?
13
+ ...globalContext, // least precedence
14
+ */
15
+ globalContext,
16
+ _pageFilesAll: globalContext._pageFilesAll,
17
+ _pageConfigs: globalContext._pageConfigs,
18
+ _pageConfigGlobal: globalContext._pageConfigGlobal,
19
+ _allPageIds: globalContext._allPageIds,
14
20
  isPrerendering: false,
15
21
  isClientSide: true,
16
22
  isHydration: true,
@@ -19,8 +25,8 @@ async function createPageContextClientSide() {
19
25
  _hasPageContextFromClient: false
20
26
  };
21
27
  objectAssign(pageContextCreated, getPageContextSerializedInHtml());
22
- objectAssign(pageContextCreated, await loadPageUserFiles(pageContextCreated.pageId));
23
- const pageContextAugmented = await createPageContextShared(pageContextCreated, pageConfigGlobal);
28
+ objectAssign(pageContextCreated, await loadPageUserFiles(pageContextCreated.pageId, pageContextCreated));
29
+ const pageContextAugmented = await createPageContextShared(pageContextCreated, globalContext._pageConfigGlobal);
24
30
  augmentType(pageContextCreated, pageContextAugmented);
25
31
  assertPristineUrl();
26
32
  return pageContextCreated;
@@ -29,15 +35,10 @@ function assertPristineUrl() {
29
35
  const urlCurrent = getCurrentUrl({ withoutHash: true });
30
36
  assertUsage(urlFirst === urlCurrent, `The URL was manipulated before the hydration finished ('${urlFirst}' to '${urlCurrent}'). Ensure the hydration has finished before manipulating the URL. Consider using the onHydrationEnd() hook.`);
31
37
  }
32
- async function loadPageUserFiles(pageId) {
38
+ async function loadPageUserFiles(pageId, pageContext) {
33
39
  const pageContextAddendum = {};
34
- objectAssign(pageContextAddendum, {
35
- _pageFilesAll: pageFilesAll,
36
- _pageConfigs: pageConfigs,
37
- _pageConfigGlobal: pageConfigGlobal
38
- });
39
- objectAssign(pageContextAddendum, await loadUserFilesClientSide(pageId, pageContextAddendum._pageFilesAll, pageContextAddendum._pageConfigs, pageContextAddendum._pageConfigGlobal));
40
- pageFilesAll
40
+ objectAssign(pageContextAddendum, await loadUserFilesClientSide(pageId, pageContext._pageFilesAll, pageContext._pageConfigs, pageContext._pageConfigGlobal));
41
+ pageContext._pageFilesAll
41
42
  .filter((p) => p.fileType !== '.page.server')
42
43
  .forEach((p) => {
43
44
  assertWarning(!p.fileExports?.onBeforeRender, `export { onBeforeRender } of ${p.filePath} is loaded in the browser but never executed (because you are using Server-side Routing). In order to reduce the size of you browser-side JavaScript, define onBeforeRender() in a .page.server.js file instead, see https://vike.dev/onBeforeRender-isomorphic#server-routing`, { onlyOnce: true });
@@ -0,0 +1,13 @@
1
+ export { getGlobalContext };
2
+ export type { GlobalContextClientWithServerRouting };
3
+ import type { GlobalContextSharedPublic } from '../../shared/createGlobalContextShared.js';
4
+ type GlobalContextClientWithServerRouting = GlobalContextSharedPublic & Vike.GlobalContext & {};
5
+ declare const getGlobalContext: () => Promise<{
6
+ _virtualFileExports: unknown;
7
+ _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
8
+ _pageConfigs: import("../../__internal/index.js").PageConfig[];
9
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
10
+ _allPageIds: string[];
11
+ config: import("../../types/index.js").ConfigResolved;
12
+ pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
13
+ } & object>;
@@ -0,0 +1,5 @@
1
+ export { getGlobalContext };
2
+ import { createGetGlobalContext } from '../shared/createGetGlobalContext.js';
3
+ // @ts-ignore
4
+ import * as virtualFileExports from 'virtual:vike:importUserCode:client:server-routing';
5
+ const getGlobalContext = createGetGlobalContext(virtualFileExports, false);
@@ -0,0 +1,11 @@
1
+ export { createGetGlobalContext };
2
+ import { type GlobalContextShared } from '../../shared/createGlobalContextShared.js';
3
+ declare function createGetGlobalContext<GlobalContextAddendum extends object>(virtualFileExports: unknown, isClientRouting: boolean, addGlobalContext?: (globalContext: GlobalContextShared) => Promise<GlobalContextAddendum>): () => Promise<{
4
+ _virtualFileExports: unknown;
5
+ _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
6
+ _pageConfigs: import("../../__internal/index.js").PageConfig[];
7
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
8
+ _allPageIds: string[];
9
+ config: import("../../types/index.js").ConfigResolved;
10
+ pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
11
+ } & Awaited<object & Awaited<GlobalContextAddendum>>>;
@@ -0,0 +1,29 @@
1
+ export { createGetGlobalContext };
2
+ import { createGlobalContextShared } from '../../shared/createGlobalContextShared.js';
3
+ import { getGlobalContextSerializedInHtml } from './getJsonSerializedInHtml.js';
4
+ import { assert, getGlobalObject, objectAssign } from './utils.js';
5
+ const globalObject = getGlobalObject('createGetGlobalContext.ts', {});
6
+ function createGetGlobalContext(virtualFileExports, isClientRouting, addGlobalContext) {
7
+ assert(globalObject.isClientRouting === undefined || globalObject.isClientRouting === isClientRouting);
8
+ globalObject.isClientRouting = isClientRouting;
9
+ // Eagerly call onCreateGlobalContext() hook
10
+ getGlobalContext();
11
+ return getGlobalContext;
12
+ async function getGlobalContext() {
13
+ // Cache
14
+ if (globalObject.globalContext &&
15
+ // Don't break HMR
16
+ globalObject.globalContext._virtualFileExports !== virtualFileExports) {
17
+ return globalObject.globalContext;
18
+ }
19
+ // Create
20
+ const globalContext = await createGlobalContextShared(virtualFileExports, globalObject, async (globalContext) => {
21
+ const globalContextAddendum = {};
22
+ objectAssign(globalContextAddendum, getGlobalContextSerializedInHtml());
23
+ objectAssign(globalContextAddendum, await addGlobalContext?.(globalContext));
24
+ return globalContextAddendum;
25
+ });
26
+ // Return
27
+ return globalContext;
28
+ }
29
+ }
@@ -1,5 +1,7 @@
1
1
  export { getPageContextSerializedInHtml };
2
+ export { getGlobalContextSerializedInHtml };
2
3
  declare function getPageContextSerializedInHtml(): {
3
4
  pageId: string;
4
5
  routeParams: Record<string, string>;
5
6
  };
7
+ declare function getGlobalContextSerializedInHtml(): object;
@@ -0,0 +1,29 @@
1
+ export { getPageContextSerializedInHtml };
2
+ export { getGlobalContextSerializedInHtml };
3
+ import { parse } from '@brillout/json-serializer/parse';
4
+ import { hasProp, assert, assertUsage } from './utils.js';
5
+ import { htmlElementId_globalContext, htmlElementId_pageContext } from '../../shared/htmlElementIds.js';
6
+ // elements should exist because:
7
+ // 1. <script id="vike_pageContext" type="application/json"> appears before the <script> that loads Vike's client runtime (which includes this file)
8
+ // 2. <script id="vike_pageContext" type="application/json"> is neither async nor defer
9
+ // See https://github.com/vikejs/vike/pull/1271
10
+ function getPageContextSerializedInHtml() {
11
+ const pageContextSerializedInHtml = findAndParseJson(htmlElementId_pageContext);
12
+ assert(hasProp(pageContextSerializedInHtml, 'pageId', 'string'));
13
+ assert(hasProp(pageContextSerializedInHtml, 'routeParams', 'string{}'));
14
+ return pageContextSerializedInHtml;
15
+ }
16
+ function getGlobalContextSerializedInHtml() {
17
+ const globalContextSerializedInHtml = findAndParseJson(htmlElementId_globalContext);
18
+ return globalContextSerializedInHtml;
19
+ }
20
+ function findAndParseJson(id) {
21
+ const elem = document.getElementById(id);
22
+ assertUsage(elem,
23
+ // It seems like it can be missing when HTML is malformed: https://github.com/vikejs/vike/issues/913
24
+ `Couldn't find #${id} (which Vike automatically injects in the HTML): make sure it exists (i.e. don't remove it and make sure your HTML isn't malformed)`);
25
+ const jsonStr = elem.textContent;
26
+ assert(jsonStr);
27
+ const json = parse(jsonStr);
28
+ return json;
29
+ }
@@ -1,2 +1,5 @@
1
1
  export * from '../../utils/assert.js';
2
2
  export * from '../../utils/parseUrl.js';
3
+ export * from '../../utils/getGlobalObject.js';
4
+ export * from '../../utils/objectAssign.js';
5
+ export * from '../../utils/hasProp.js';
@@ -1,2 +1,5 @@
1
1
  export * from '../../utils/assert.js';
2
2
  export * from '../../utils/parseUrl.js';
3
+ export * from '../../utils/getGlobalObject.js';
4
+ export * from '../../utils/objectAssign.js';
5
+ export * from '../../utils/hasProp.js';
@@ -26,6 +26,7 @@ function pluginModuleBanner() {
26
26
  id = removeVirtualIdTag(id);
27
27
  if (id.startsWith(config.root))
28
28
  id = id.slice(config.root.length + 1);
29
+ id = id.replaceAll('*/', '*\\/'); // https://github.com/vikejs/vike/issues/2377
29
30
  const s = new MagicString(code);
30
31
  // Use legal comment so that esbuild doesn't remove it.
31
32
  // - Terser still removes the comment, but I guess users use terser to minify JavaScript so I guess it's a good thing that comment is removed.
@@ -18,7 +18,12 @@ const configDefinitionsBuiltIn = {
18
18
  env: { client: true }
19
19
  },
20
20
  onCreatePageContext: {
21
- env: { server: true },
21
+ env: { server: true, client: true },
22
+ global: true,
23
+ cumulative: true
24
+ },
25
+ onCreateGlobalContext: {
26
+ env: { server: true, client: true },
22
27
  global: true,
23
28
  cumulative: true
24
29
  },
@@ -4,18 +4,31 @@ export { runPrerenderFromAutoRun };
4
4
  export { runPrerender_forceExit };
5
5
  export type { PrerenderOptions };
6
6
  export type { PrerenderContextPublic };
7
+ import type { PageFile } from '../../shared/getPageFiles.js';
8
+ import { type GlobalContextInternal, type GlobalContextServer } from '../runtime/globalContext.js';
7
9
  import type { InlineConfig, ResolvedConfig } from 'vite';
8
10
  import type { APIOptions } from '../api/types.js';
9
- import type { PageContextServer } from '../../shared/types.js';
10
11
  type ProvidedByHook = null | {
11
12
  hookFilePath: string;
12
13
  hookName: 'onBeforePrerenderStart' | 'prerender';
13
14
  };
15
+ type ProvidedByHookTransformer = null | {
16
+ hookFilePath: string;
17
+ hookName: 'onPrerenderStart' | 'onBeforePrerender';
18
+ };
14
19
  type PageContextPrerendered = {
15
20
  urlOriginal: string;
16
21
  _providedByHook?: ProvidedByHook;
17
22
  pageId: string;
18
23
  };
24
+ type PrerenderedPageContexts = Record<string, PageContextPrerendered>;
25
+ type PrerenderContext = {
26
+ pageContexts: PageContext[];
27
+ output: Output;
28
+ _pageContextInit: Record<string, unknown> | null;
29
+ _noExtraDir: boolean | null;
30
+ _prerenderedPageContexts: PrerenderedPageContexts;
31
+ };
19
32
  type Output<PageContext = PageContextPrerendered> = {
20
33
  filePath: string;
21
34
  fileType: FileType;
@@ -23,6 +36,9 @@ type Output<PageContext = PageContextPrerendered> = {
23
36
  pageContext: PageContext;
24
37
  }[];
25
38
  type FileType = 'HTML' | 'JSON';
39
+ type PageContext = Awaited<ReturnType<typeof createPageContextPrerendering>> & {
40
+ _urlOriginalBeforeHook?: string;
41
+ };
26
42
  type PrerenderOptions = APIOptions & {
27
43
  /** Initial `pageContext` values */
28
44
  pageContextInit?: Record<string, unknown>;
@@ -50,8 +66,287 @@ declare function runPrerenderFromCLIPrerenderCommand(): Promise<void>;
50
66
  declare function runPrerenderFromAutoRun(viteConfig: InlineConfig | undefined): Promise<{
51
67
  forceExit: boolean;
52
68
  }>;
69
+ declare function createPageContextPrerendering(urlOriginal: string, prerenderContext: PrerenderContext, globalContext: GlobalContextInternal, globalContext_public: GlobalContextServer, is404: boolean, pageId: string | undefined, providedByHook: ProvidedByHook): Promise<((({
70
+ isClientSide: boolean;
71
+ isPrerendering: boolean;
72
+ } & Pick<import("../../shared/types.js").PageContextBuiltInServerInternal, "urlOriginal" | "headersOriginal"> & {
73
+ url?: string;
74
+ headers?: Record<string, string>;
75
+ } & {
76
+ globalContext: GlobalContextServer;
77
+ _globalContext: {
78
+ _virtualFileExports: unknown;
79
+ _pageFilesAll: PageFile[];
80
+ _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
81
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
82
+ _allPageIds: string[];
83
+ config: import("../../types/index.js").ConfigResolved;
84
+ pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
85
+ } & ({
86
+ _isProduction: false;
87
+ _isPrerendering: false;
88
+ assetsManifest: null;
89
+ _viteDevServer: import("vite").ViteDevServer;
90
+ viteConfig: ResolvedConfig;
91
+ viteConfigRuntime: {
92
+ root: string;
93
+ build: {
94
+ outDir: string;
95
+ };
96
+ _baseViteOriginal: string;
97
+ vitePluginServerEntry: {
98
+ inject: boolean | undefined;
99
+ };
100
+ };
101
+ baseServer: string;
102
+ baseAssets: string;
103
+ _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
104
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
105
+ _virtualFileExports: unknown;
106
+ _pageFilesAll: PageFile[];
107
+ _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
108
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
109
+ _allPageIds: string[];
110
+ config: import("../../types/index.js").ConfigResolved;
111
+ pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
112
+ } | {
113
+ _isPrerendering: true;
114
+ viteConfig: ResolvedConfig;
115
+ _isProduction: true;
116
+ assetsManifest: import("../shared/ViteManifest.js").ViteManifest;
117
+ _viteDevServer: null;
118
+ viteConfigRuntime: {
119
+ root: string;
120
+ build: {
121
+ outDir: string;
122
+ };
123
+ _baseViteOriginal: string;
124
+ vitePluginServerEntry: {
125
+ inject: boolean | undefined;
126
+ };
127
+ };
128
+ _usesClientRouter: boolean;
129
+ baseServer: string;
130
+ baseAssets: string;
131
+ _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
132
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
133
+ _virtualFileExports: unknown;
134
+ _pageFilesAll: PageFile[];
135
+ _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
136
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
137
+ _allPageIds: string[];
138
+ config: import("../../types/index.js").ConfigResolved;
139
+ pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
140
+ } | {
141
+ _isPrerendering: false;
142
+ viteConfig: null;
143
+ _isProduction: true;
144
+ assetsManifest: import("../shared/ViteManifest.js").ViteManifest;
145
+ _viteDevServer: null;
146
+ viteConfigRuntime: {
147
+ root: string;
148
+ build: {
149
+ outDir: string;
150
+ };
151
+ _baseViteOriginal: string;
152
+ vitePluginServerEntry: {
153
+ inject: boolean | undefined;
154
+ };
155
+ };
156
+ _usesClientRouter: boolean;
157
+ baseServer: string;
158
+ baseAssets: string;
159
+ _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
160
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
161
+ _virtualFileExports: unknown;
162
+ _pageFilesAll: PageFile[];
163
+ _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
164
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
165
+ _allPageIds: string[];
166
+ config: import("../../types/index.js").ConfigResolved;
167
+ pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
168
+ });
169
+ _baseServer: string;
170
+ _baseAssets: string;
171
+ _includeAssetsImportedByServer: boolean;
172
+ _pageFilesAll: PageFile[];
173
+ _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
174
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
175
+ _allPageIds: string[];
176
+ _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
177
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
178
+ _pageContextInit: import("../runtime/renderPage.js").PageContextInit;
179
+ _urlRewrite: null;
180
+ _urlHandler: ((url: string) => string) | null;
181
+ isClientSideNavigation: boolean;
182
+ } & {
183
+ urlParsed: import("../shared/utils.js").UrlPublic;
184
+ urlPathname: string;
185
+ url: string;
186
+ } & {
187
+ headers: Record<string, string> | null;
188
+ } & {
189
+ config: import("../../types/index.js").ConfigResolved;
190
+ _source: import("../../shared/page-configs/getPageConfigUserFriendly.js").Source;
191
+ _sources: import("../../shared/page-configs/getPageConfigUserFriendly.js").Sources;
192
+ _from: import("../../shared/page-configs/getPageConfigUserFriendly.js").From;
193
+ _isPageContextObject: boolean;
194
+ } & {
195
+ _urlHandler: null;
196
+ _httpRequestId: null;
197
+ _urlRewrite: null;
198
+ _noExtraDir: boolean | null;
199
+ _prerenderContext: PrerenderContext;
200
+ _providedByHook: ProvidedByHook;
201
+ _urlOriginalModifiedByHook: ProvidedByHookTransformer;
202
+ is404: boolean;
203
+ } & import("../../shared/route/index.js").PageContextFromRoute & Record<"pageId", string>) | ({
204
+ isClientSide: boolean;
205
+ isPrerendering: boolean;
206
+ } & Pick<import("../../shared/types.js").PageContextBuiltInServerInternal, "urlOriginal" | "headersOriginal"> & {
207
+ url?: string;
208
+ headers?: Record<string, string>;
209
+ } & {
210
+ globalContext: GlobalContextServer;
211
+ _globalContext: {
212
+ _virtualFileExports: unknown;
213
+ _pageFilesAll: PageFile[];
214
+ _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
215
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
216
+ _allPageIds: string[];
217
+ config: import("../../types/index.js").ConfigResolved;
218
+ pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
219
+ } & ({
220
+ _isProduction: false;
221
+ _isPrerendering: false;
222
+ assetsManifest: null;
223
+ _viteDevServer: import("vite").ViteDevServer;
224
+ viteConfig: ResolvedConfig;
225
+ viteConfigRuntime: {
226
+ root: string;
227
+ build: {
228
+ outDir: string;
229
+ };
230
+ _baseViteOriginal: string;
231
+ vitePluginServerEntry: {
232
+ inject: boolean | undefined;
233
+ };
234
+ };
235
+ baseServer: string;
236
+ baseAssets: string;
237
+ _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
238
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
239
+ _virtualFileExports: unknown;
240
+ _pageFilesAll: PageFile[];
241
+ _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
242
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
243
+ _allPageIds: string[];
244
+ config: import("../../types/index.js").ConfigResolved;
245
+ pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
246
+ } | {
247
+ _isPrerendering: true;
248
+ viteConfig: ResolvedConfig;
249
+ _isProduction: true;
250
+ assetsManifest: import("../shared/ViteManifest.js").ViteManifest;
251
+ _viteDevServer: null;
252
+ viteConfigRuntime: {
253
+ root: string;
254
+ build: {
255
+ outDir: string;
256
+ };
257
+ _baseViteOriginal: string;
258
+ vitePluginServerEntry: {
259
+ inject: boolean | undefined;
260
+ };
261
+ };
262
+ _usesClientRouter: boolean;
263
+ baseServer: string;
264
+ baseAssets: string;
265
+ _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
266
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
267
+ _virtualFileExports: unknown;
268
+ _pageFilesAll: PageFile[];
269
+ _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
270
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
271
+ _allPageIds: string[];
272
+ config: import("../../types/index.js").ConfigResolved;
273
+ pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
274
+ } | {
275
+ _isPrerendering: false;
276
+ viteConfig: null;
277
+ _isProduction: true;
278
+ assetsManifest: import("../shared/ViteManifest.js").ViteManifest;
279
+ _viteDevServer: null;
280
+ viteConfigRuntime: {
281
+ root: string;
282
+ build: {
283
+ outDir: string;
284
+ };
285
+ _baseViteOriginal: string;
286
+ vitePluginServerEntry: {
287
+ inject: boolean | undefined;
288
+ };
289
+ };
290
+ _usesClientRouter: boolean;
291
+ baseServer: string;
292
+ baseAssets: string;
293
+ _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
294
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
295
+ _virtualFileExports: unknown;
296
+ _pageFilesAll: PageFile[];
297
+ _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
298
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
299
+ _allPageIds: string[];
300
+ config: import("../../types/index.js").ConfigResolved;
301
+ pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
302
+ });
303
+ _baseServer: string;
304
+ _baseAssets: string;
305
+ _includeAssetsImportedByServer: boolean;
306
+ _pageFilesAll: PageFile[];
307
+ _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
308
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
309
+ _allPageIds: string[];
310
+ _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
311
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
312
+ _pageContextInit: import("../runtime/renderPage.js").PageContextInit;
313
+ _urlRewrite: null;
314
+ _urlHandler: ((url: string) => string) | null;
315
+ isClientSideNavigation: boolean;
316
+ } & {
317
+ urlParsed: import("../shared/utils.js").UrlPublic;
318
+ urlPathname: string;
319
+ url: string;
320
+ } & {
321
+ headers: Record<string, string> | null;
322
+ } & {
323
+ config: import("../../types/index.js").ConfigResolved;
324
+ _source: import("../../shared/page-configs/getPageConfigUserFriendly.js").Source;
325
+ _sources: import("../../shared/page-configs/getPageConfigUserFriendly.js").Sources;
326
+ _from: import("../../shared/page-configs/getPageConfigUserFriendly.js").From;
327
+ _isPageContextObject: boolean;
328
+ } & {
329
+ _urlHandler: null;
330
+ _httpRequestId: null;
331
+ _urlRewrite: null;
332
+ _noExtraDir: boolean | null;
333
+ _prerenderContext: PrerenderContext;
334
+ _providedByHook: ProvidedByHook;
335
+ _urlOriginalModifiedByHook: ProvidedByHookTransformer;
336
+ is404: boolean;
337
+ } & {
338
+ pageId: string;
339
+ _debugRouteMatches: never[];
340
+ routeParams: {};
341
+ })) & import("../../shared/getPageFiles.js").PageConfigUserFriendlyOld & {
342
+ Page: unknown;
343
+ _isHtmlOnly: boolean;
344
+ _passToClient: string[];
345
+ _pageFilePathsLoaded: string[];
346
+ } & {
347
+ __getPageAssets: () => Promise<import("../runtime/renderPage/getPageAssets.js").PageAsset[]>;
348
+ }) & {
349
+ _usesClientRouter: boolean;
350
+ }>;
53
351
  declare function runPrerender_forceExit(): void;
54
- type PrerenderContextPublic = {
55
- output: Output<PageContextServer>;
56
- pageContexts: PageContextServer[];
57
- };
352
+ type PrerenderContextPublic = Pick<PrerenderContext, 'output' | 'pageContexts'>;