vike 0.4.238 → 0.4.239
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/node/prerender/resolvePrerenderConfig.js +3 -2
- package/dist/cjs/node/runtime/index.js +3 -3
- package/dist/cjs/node/runtime/page-files/setup.js +3 -1
- package/dist/cjs/node/runtime/renderPage/createHttpResponse.js +2 -9
- package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +2 -2
- package/dist/cjs/node/runtime/renderPage/csp.js +47 -0
- package/dist/cjs/node/runtime/renderPage/execHookOnRenderHtml.js +2 -2
- package/dist/cjs/node/runtime/renderPage/getEarlyHints.js +1 -1
- package/dist/cjs/node/runtime/renderPage/getHttpResponseBody.js +2 -2
- package/dist/cjs/node/runtime/renderPage/headersResponse.js +48 -0
- package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/getHtmlTags.js +16 -13
- package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/getViteDevScript.js +1 -1
- package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/inferHtmlTags.js +8 -6
- package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/injectAssets__public.js +1 -1
- package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/injectHtmlTags.js +1 -1
- package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/mergeScriptTags.js +5 -3
- package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets.js +2 -2
- package/dist/cjs/node/runtime/{html → renderPage/html}/propKeys.js +1 -1
- package/dist/cjs/node/runtime/{html → renderPage/html}/renderHtml.js +1 -1
- package/dist/cjs/node/runtime/{html → renderPage/html}/serializeContext.js +6 -6
- package/dist/cjs/node/runtime/{html → renderPage/html}/stream/react-streaming.js +1 -1
- package/dist/cjs/node/runtime/{html → renderPage/html}/stream.js +1 -1
- package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +17 -38
- package/dist/cjs/node/runtime/renderPage/renderPageAfterRoute.js +2 -2
- package/dist/cjs/node/runtime/renderPage.js +1 -1
- package/dist/cjs/node/vite/onLoad.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginCommon.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginNonRunnableDev.js +4 -3
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.js +1 -1
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +3 -0
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +1 -1
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal.js +20 -22
- package/dist/cjs/shared/createGlobalContextShared.js +4 -22
- package/dist/cjs/shared/createPageContextShared.js +2 -2
- package/dist/cjs/shared/page-configs/resolveVikeConfigPublic.js +62 -43
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/assert.js +16 -1
- package/dist/cjs/utils/assertNodeVersion.js +3 -1
- package/dist/cjs/utils/assertVersion.js +26 -5
- package/dist/cjs/utils/joinEnglish.js +2 -1
- package/dist/esm/client/runtime-client-routing/createPageContextClientSide.d.ts +39 -16
- package/dist/esm/client/runtime-client-routing/createPageContextClientSide.js +1 -1
- package/dist/esm/client/runtime-client-routing/getPageContextCurrent.d.ts +2 -2
- package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +97 -83
- package/dist/esm/client/runtime-client-routing/globalContext.d.ts +38 -10
- package/dist/esm/client/runtime-client-routing/prefetch/getPrefetchSettings.d.ts +2 -2
- package/dist/esm/client/runtime-client-routing/prefetch.d.ts +2 -2
- package/dist/esm/client/runtime-client-routing/prefetch.js +2 -2
- package/dist/esm/client/runtime-client-routing/preparePageContextForPublicUsageClient.d.ts +2 -2
- package/dist/esm/client/runtime-client-routing/renderPageClientSide.d.ts +43 -28
- package/dist/esm/client/runtime-server-routing/createPageContextClientSide.d.ts +39 -16
- package/dist/esm/client/runtime-server-routing/createPageContextClientSide.js +1 -1
- package/dist/esm/client/runtime-server-routing/globalContext.d.ts +38 -10
- package/dist/esm/client/runtime-server-routing/preparePageContextForPublicUsageClient.d.ts +2 -2
- package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +38 -10
- package/dist/esm/client/shared/execHookOnRenderClient.d.ts +2 -2
- package/dist/esm/client/shared/loadPageConfigsLazyClientSide.d.ts +1 -1
- package/dist/esm/client/shared/loadPageConfigsLazyClientSide.js +2 -3
- package/dist/esm/client/shared/preparePageContextForPublicUsageClientShared.d.ts +2 -2
- package/dist/esm/node/prerender/resolvePrerenderConfig.js +4 -3
- package/dist/esm/node/prerender/runPrerender.d.ts +57 -14
- package/dist/esm/node/runtime/globalContext.d.ts +152 -40
- package/dist/esm/node/runtime/index.d.ts +3 -3
- package/dist/esm/node/runtime/index.js +3 -3
- package/dist/esm/node/runtime/page-files/setup.js +3 -1
- package/dist/esm/node/runtime/renderPage/createHttpResponse.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/createHttpResponse.js +2 -9
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +52 -10
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +2 -2
- package/dist/esm/node/runtime/renderPage/csp.d.ts +12 -0
- package/dist/esm/node/runtime/renderPage/csp.js +45 -0
- package/dist/esm/node/runtime/renderPage/execHookOnRenderHtml.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/execHookOnRenderHtml.js +2 -2
- package/dist/esm/node/runtime/renderPage/execHookServer.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/getEarlyHints.js +1 -1
- package/dist/esm/node/runtime/renderPage/getHttpResponseBody.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/getHttpResponseBody.js +2 -2
- package/dist/esm/node/runtime/renderPage/headersResponse.d.ts +10 -0
- package/dist/esm/node/runtime/renderPage/headersResponse.js +46 -0
- package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/getHtmlTags.d.ts +1 -1
- package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/getHtmlTags.js +16 -13
- package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/getViteDevScript.d.ts +1 -1
- package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/getViteDevScript.js +1 -1
- package/dist/esm/node/runtime/renderPage/html/injectAssets/inferHtmlTags.d.ts +10 -0
- package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/inferHtmlTags.js +7 -5
- package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/injectAssets__public.js +1 -1
- package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/injectHtmlTags.js +1 -1
- package/dist/esm/node/runtime/renderPage/html/injectAssets/mergeScriptTags.d.ts +3 -0
- package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/mergeScriptTags.js +6 -4
- package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets.d.ts +2 -2
- package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets.js +2 -2
- package/dist/esm/node/runtime/{html → renderPage/html}/propKeys.js +1 -1
- package/dist/esm/node/runtime/{html → renderPage/html}/renderHtml.d.ts +1 -1
- package/dist/esm/node/runtime/{html → renderPage/html}/renderHtml.js +1 -1
- package/dist/esm/node/runtime/{html → renderPage/html}/serializeContext.d.ts +6 -5
- package/dist/esm/node/runtime/{html → renderPage/html}/serializeContext.js +6 -6
- package/dist/esm/node/runtime/{html → renderPage/html}/stream/react-streaming.js +1 -1
- package/dist/esm/node/runtime/{html → renderPage/html}/stream.js +1 -1
- package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.d.ts +62 -15
- package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +18 -39
- package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/renderPageAfterRoute.d.ts +114 -28
- package/dist/esm/node/runtime/renderPage/renderPageAfterRoute.js +2 -2
- package/dist/esm/node/runtime/renderPage.d.ts +52 -10
- package/dist/esm/node/runtime/renderPage.js +1 -1
- package/dist/esm/node/vite/onLoad.js +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.js +1 -1
- package/dist/esm/node/vite/plugins/pluginCommon.js +1 -1
- package/dist/esm/node/vite/plugins/pluginNonRunnableDev.js +4 -3
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.js +2 -2
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +3 -0
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +2 -2
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal.d.ts +4 -8
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal.js +22 -24
- package/dist/esm/shared/createGlobalContextShared.d.ts +73 -17
- package/dist/esm/shared/createGlobalContextShared.js +5 -23
- package/dist/esm/shared/createPageContextShared.d.ts +2 -7
- package/dist/esm/shared/createPageContextShared.js +2 -2
- package/dist/esm/shared/getPageFiles.d.ts +1 -1
- package/dist/esm/shared/hooks/execHook.d.ts +2 -2
- package/dist/esm/shared/hooks/getHook.d.ts +3 -3
- package/dist/esm/shared/page-configs/resolveVikeConfigPublic.d.ts +91 -31
- package/dist/esm/shared/page-configs/resolveVikeConfigPublic.js +62 -43
- package/dist/esm/types/Config/ConfigResolved.d.ts +8 -0
- package/dist/esm/types/Config.d.ts +14 -6
- package/dist/esm/types/PageContext.d.ts +8 -25
- package/dist/esm/types/VikeNamespace.d.ts +0 -27
- package/dist/esm/types/index.d.ts +2 -2
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/assert.js +16 -1
- package/dist/esm/utils/assertNodeVersion.js +3 -1
- package/dist/esm/utils/assertVersion.d.ts +4 -3
- package/dist/esm/utils/assertVersion.js +23 -5
- package/dist/esm/utils/joinEnglish.js +2 -1
- package/package.json +2 -2
- package/dist/cjs/types/Config/helpers.js +0 -2
- package/dist/esm/node/runtime/html/injectAssets/inferHtmlTags.d.ts +0 -9
- package/dist/esm/node/runtime/html/injectAssets/mergeScriptTags.d.ts +0 -2
- package/dist/esm/types/Config/PageContextConfig.d.ts +0 -15
- package/dist/esm/types/Config/helpers.d.ts +0 -10
- package/dist/esm/types/Config/helpers.js +0 -1
- /package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/sanitizeJson.js +0 -0
- /package/dist/cjs/types/Config/{PageContextConfig.js → ConfigResolved.js} +0 -0
- /package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/injectAssets__public.d.ts +0 -0
- /package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/injectHtmlTags.d.ts +0 -0
- /package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/sanitizeJson.d.ts +0 -0
- /package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/sanitizeJson.js +0 -0
- /package/dist/esm/node/runtime/{html → renderPage/html}/propKeys.d.ts +0 -0
- /package/dist/esm/node/runtime/{html → renderPage/html}/stream/react-streaming.d.ts +0 -0
- /package/dist/esm/node/runtime/{html → renderPage/html}/stream.d.ts +0 -0
- /package/dist/esm/types/Config/{PageContextConfig.js → ConfigResolved.js} +0 -0
|
@@ -14,6 +14,44 @@ declare function createGlobalContextShared<GlobalContextAdded extends Record<str
|
|
|
14
14
|
onCreateGlobalContextHooks?: Hook[];
|
|
15
15
|
previousCreateGlobalContextPromise?: Promise<void>;
|
|
16
16
|
}, addGlobalContext?: (globalContext: GlobalContextBase) => GlobalContextAdded, addGlobalContextTmp?: (globalContext: GlobalContextBase) => Promise<GlobalContextAdded>, addGlobalContextAsync?: (globalContext: GlobalContextBase) => Promise<GlobalContextAddedAsync>): Promise<{
|
|
17
|
+
_globalConfigPublic: {
|
|
18
|
+
pages: {
|
|
19
|
+
[k: string]: {
|
|
20
|
+
config: import("../types/index.js").ConfigResolved;
|
|
21
|
+
_source: import("./page-configs/resolveVikeConfigPublic.js").Source;
|
|
22
|
+
_sources: import("./page-configs/resolveVikeConfigPublic.js").Sources;
|
|
23
|
+
_from: import("./page-configs/resolveVikeConfigPublic.js").From;
|
|
24
|
+
} & ({
|
|
25
|
+
route: import("../types/Config.js").Route;
|
|
26
|
+
isErrorPage?: undefined;
|
|
27
|
+
} | {
|
|
28
|
+
route?: undefined;
|
|
29
|
+
isErrorPage: true;
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
config: import("../types/index.js").ConfigResolved;
|
|
33
|
+
_source: import("./page-configs/resolveVikeConfigPublic.js").Source;
|
|
34
|
+
_sources: import("./page-configs/resolveVikeConfigPublic.js").Sources;
|
|
35
|
+
_from: import("./page-configs/resolveVikeConfigPublic.js").From;
|
|
36
|
+
};
|
|
37
|
+
pages: {
|
|
38
|
+
[k: string]: {
|
|
39
|
+
config: import("../types/index.js").ConfigResolved;
|
|
40
|
+
_source: import("./page-configs/resolveVikeConfigPublic.js").Source;
|
|
41
|
+
_sources: import("./page-configs/resolveVikeConfigPublic.js").Sources;
|
|
42
|
+
_from: import("./page-configs/resolveVikeConfigPublic.js").From;
|
|
43
|
+
} & ({
|
|
44
|
+
route: import("../types/Config.js").Route;
|
|
45
|
+
isErrorPage?: undefined;
|
|
46
|
+
} | {
|
|
47
|
+
route?: undefined;
|
|
48
|
+
isErrorPage: true;
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
config: import("../types/index.js").ConfigResolved;
|
|
52
|
+
_source: import("./page-configs/resolveVikeConfigPublic.js").Source;
|
|
53
|
+
_sources: import("./page-configs/resolveVikeConfigPublic.js").Sources;
|
|
54
|
+
_from: import("./page-configs/resolveVikeConfigPublic.js").From;
|
|
17
55
|
/**
|
|
18
56
|
* Useful for distinguishing `globalContext` from other objects and narrowing down TypeScript unions.
|
|
19
57
|
*
|
|
@@ -26,20 +64,48 @@ declare function createGlobalContextShared<GlobalContextAdded extends Record<str
|
|
|
26
64
|
_pageConfigs: PageConfigRuntime[];
|
|
27
65
|
_pageConfigGlobal: import("../types/PageConfig.js").PageConfigGlobalRuntime;
|
|
28
66
|
_allPageIds: string[];
|
|
29
|
-
|
|
67
|
+
} & GlobalContextAdded & GlobalContextAddedAsync>;
|
|
68
|
+
type GlobalContextBasePublic = Pick<GlobalContextBase, 'config' | 'pages' | 'isGlobalContext'>;
|
|
69
|
+
type GlobalContextBase = ReturnType<typeof createGlobalContextBase>;
|
|
70
|
+
declare function createGlobalContextBase(virtualFileExportsGlobalEntry: unknown): {
|
|
71
|
+
_globalConfigPublic: {
|
|
72
|
+
pages: {
|
|
73
|
+
[k: string]: {
|
|
74
|
+
config: import("../types/index.js").ConfigResolved;
|
|
75
|
+
_source: import("./page-configs/resolveVikeConfigPublic.js").Source;
|
|
76
|
+
_sources: import("./page-configs/resolveVikeConfigPublic.js").Sources;
|
|
77
|
+
_from: import("./page-configs/resolveVikeConfigPublic.js").From;
|
|
78
|
+
} & ({
|
|
79
|
+
route: import("../types/Config.js").Route;
|
|
80
|
+
isErrorPage?: undefined;
|
|
81
|
+
} | {
|
|
82
|
+
route?: undefined;
|
|
83
|
+
isErrorPage: true;
|
|
84
|
+
});
|
|
85
|
+
};
|
|
30
86
|
config: import("../types/index.js").ConfigResolved;
|
|
31
87
|
_source: import("./page-configs/resolveVikeConfigPublic.js").Source;
|
|
32
88
|
_sources: import("./page-configs/resolveVikeConfigPublic.js").Sources;
|
|
33
89
|
_from: import("./page-configs/resolveVikeConfigPublic.js").From;
|
|
34
90
|
};
|
|
35
|
-
config: import("../types/index.js").ConfigResolved;
|
|
36
91
|
pages: {
|
|
37
|
-
[k: string]:
|
|
92
|
+
[k: string]: {
|
|
93
|
+
config: import("../types/index.js").ConfigResolved;
|
|
94
|
+
_source: import("./page-configs/resolveVikeConfigPublic.js").Source;
|
|
95
|
+
_sources: import("./page-configs/resolveVikeConfigPublic.js").Sources;
|
|
96
|
+
_from: import("./page-configs/resolveVikeConfigPublic.js").From;
|
|
97
|
+
} & ({
|
|
98
|
+
route: import("../types/Config.js").Route;
|
|
99
|
+
isErrorPage?: undefined;
|
|
100
|
+
} | {
|
|
101
|
+
route?: undefined;
|
|
102
|
+
isErrorPage: true;
|
|
103
|
+
});
|
|
38
104
|
};
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
105
|
+
config: import("../types/index.js").ConfigResolved;
|
|
106
|
+
_source: import("./page-configs/resolveVikeConfigPublic.js").Source;
|
|
107
|
+
_sources: import("./page-configs/resolveVikeConfigPublic.js").Sources;
|
|
108
|
+
_from: import("./page-configs/resolveVikeConfigPublic.js").From;
|
|
43
109
|
/**
|
|
44
110
|
* Useful for distinguishing `globalContext` from other objects and narrowing down TypeScript unions.
|
|
45
111
|
*
|
|
@@ -52,14 +118,4 @@ declare function createGlobalContextBase(virtualFileExportsGlobalEntry: unknown)
|
|
|
52
118
|
_pageConfigs: PageConfigRuntime[];
|
|
53
119
|
_pageConfigGlobal: import("../types/PageConfig.js").PageConfigGlobalRuntime;
|
|
54
120
|
_allPageIds: string[];
|
|
55
|
-
_vikeConfigPublicGlobal: {
|
|
56
|
-
config: import("../types/index.js").ConfigResolved;
|
|
57
|
-
_source: import("./page-configs/resolveVikeConfigPublic.js").Source;
|
|
58
|
-
_sources: import("./page-configs/resolveVikeConfigPublic.js").Sources;
|
|
59
|
-
_from: import("./page-configs/resolveVikeConfigPublic.js").From;
|
|
60
|
-
};
|
|
61
|
-
config: import("../types/index.js").ConfigResolved;
|
|
62
|
-
pages: {
|
|
63
|
-
[k: string]: import("./page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEagerLoaded;
|
|
64
|
-
};
|
|
65
121
|
};
|
|
@@ -2,7 +2,7 @@ export { createGlobalContextShared };
|
|
|
2
2
|
export { getGlobalContextSyncErrMsg };
|
|
3
3
|
import { assert, changeEnumerable, genPromise, objectAssign, objectReplace, unique } from './utils.js';
|
|
4
4
|
import { parseVirtualFileExportsGlobalEntry } from './getPageFiles/parseVirtualFileExportsGlobalEntry.js';
|
|
5
|
-
import {
|
|
5
|
+
import { resolveGlobalContextConfig } from './page-configs/resolveVikeConfigPublic.js';
|
|
6
6
|
import { execHookGlobal } from './hooks/execHook.js';
|
|
7
7
|
import { prepareGlobalContextForPublicUsage } from './prepareGlobalContextForPublicUsage.js';
|
|
8
8
|
import { getHookFromPageConfigGlobalCumulative } from './hooks/getHook.js';
|
|
@@ -70,7 +70,9 @@ addGlobalContextTmp, addGlobalContextAsync) {
|
|
|
70
70
|
return globalObject.globalContext;
|
|
71
71
|
}
|
|
72
72
|
function createGlobalContextBase(virtualFileExportsGlobalEntry) {
|
|
73
|
-
const { pageFilesAll,
|
|
73
|
+
const { pageFilesAll, pageConfigs, pageConfigGlobal } = parseVirtualFileExportsGlobalEntry(virtualFileExportsGlobalEntry);
|
|
74
|
+
const allPageIds = getAllPageIds(pageFilesAll, pageConfigs);
|
|
75
|
+
const globalContextAddendum = resolveGlobalContextConfig(pageConfigs, pageConfigGlobal);
|
|
74
76
|
const globalContext = {
|
|
75
77
|
/**
|
|
76
78
|
* Useful for distinguishing `globalContext` from other objects and narrowing down TypeScript unions.
|
|
@@ -84,31 +86,11 @@ function createGlobalContextBase(virtualFileExportsGlobalEntry) {
|
|
|
84
86
|
_pageConfigs: pageConfigs,
|
|
85
87
|
_pageConfigGlobal: pageConfigGlobal,
|
|
86
88
|
_allPageIds: allPageIds,
|
|
87
|
-
|
|
88
|
-
config: vikeConfigPublicGlobal.config,
|
|
89
|
-
pages: vikeConfigPublicPagesEager,
|
|
89
|
+
...globalContextAddendum,
|
|
90
90
|
};
|
|
91
91
|
changeEnumerable(globalContext, '_isOriginalObject', false);
|
|
92
92
|
return globalContext;
|
|
93
93
|
}
|
|
94
|
-
function getConfigsAll(virtualFileExportsGlobalEntry) {
|
|
95
|
-
const { pageFilesAll, pageConfigs, pageConfigGlobal } = parseVirtualFileExportsGlobalEntry(virtualFileExportsGlobalEntry);
|
|
96
|
-
const allPageIds = getAllPageIds(pageFilesAll, pageConfigs);
|
|
97
|
-
const vikeConfigPublicGlobal = resolveVikeConfigPublicGlobal({
|
|
98
|
-
pageConfigGlobalValues: pageConfigGlobal.configValues,
|
|
99
|
-
});
|
|
100
|
-
const vikeConfigPublicPagesEager = Object.fromEntries(pageConfigs.map((pageConfig) => {
|
|
101
|
-
return resolveVikeConfigPublicPageEagerLoaded(pageConfigGlobal.configValues, pageConfig, pageConfig.configValues);
|
|
102
|
-
}));
|
|
103
|
-
return {
|
|
104
|
-
pageFilesAll,
|
|
105
|
-
allPageIds,
|
|
106
|
-
pageConfigs,
|
|
107
|
-
pageConfigGlobal,
|
|
108
|
-
vikeConfigPublicGlobal,
|
|
109
|
-
vikeConfigPublicPagesEager,
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
94
|
function getAllPageIds(pageFilesAll, pageConfigs) {
|
|
113
95
|
const fileIds = pageFilesAll.filter(({ isDefaultPageFile }) => !isDefaultPageFile).map(({ pageId }) => pageId);
|
|
114
96
|
const allPageIds = unique(fileIds);
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
export { createPageContextShared };
|
|
2
2
|
export { createPageContextObject };
|
|
3
|
-
import type {
|
|
3
|
+
import type { GlobalConfigPublic } from './page-configs/resolveVikeConfigPublic.js';
|
|
4
4
|
import { type PageContextPrepareMinimum } from './preparePageContextForPublicUsage.js';
|
|
5
|
-
declare function createPageContextShared<T extends PageContextPrepareMinimum>(pageContextCreated: T,
|
|
6
|
-
config: import("../types/index.js").ConfigResolved;
|
|
7
|
-
_source: import("./page-configs/resolveVikeConfigPublic.js").Source;
|
|
8
|
-
_sources: import("./page-configs/resolveVikeConfigPublic.js").Sources;
|
|
9
|
-
_from: import("./page-configs/resolveVikeConfigPublic.js").From;
|
|
10
|
-
};
|
|
5
|
+
declare function createPageContextShared<T extends PageContextPrepareMinimum>(pageContextCreated: T, globalConfigPublic: GlobalConfigPublic): T & GlobalConfigPublic;
|
|
11
6
|
declare function createPageContextObject(): {
|
|
12
7
|
_isOriginalObject: true;
|
|
13
8
|
isPageContext: true;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { createPageContextShared };
|
|
2
2
|
export { createPageContextObject };
|
|
3
3
|
import { changeEnumerable, objectAssign } from './utils.js';
|
|
4
|
-
function createPageContextShared(pageContextCreated,
|
|
5
|
-
objectAssign(pageContextCreated,
|
|
4
|
+
function createPageContextShared(pageContextCreated, globalConfigPublic) {
|
|
5
|
+
objectAssign(pageContextCreated, globalConfigPublic);
|
|
6
6
|
return pageContextCreated;
|
|
7
7
|
}
|
|
8
8
|
function createPageContextObject() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export type { PageFile } from './getPageFiles/getPageFileObject.js';
|
|
2
|
-
export type { ExportsAll,
|
|
2
|
+
export type { ExportsAll, PageContextConfig } from './page-configs/resolveVikeConfigPublic.js';
|
|
3
3
|
export { getPageFilesClientSide } from './getPageFiles/getAllPageIdFiles.js';
|
|
4
4
|
export { getPageFilesServerSide } from './getPageFiles/getAllPageIdFiles.js';
|
|
@@ -11,14 +11,14 @@ export { isUserHookError };
|
|
|
11
11
|
export type { PageContextExecHook };
|
|
12
12
|
import type { PageContextClient, PageContextServer } from '../../types/PageContext.js';
|
|
13
13
|
import type { Hook, HookLoc } from './getHook.js';
|
|
14
|
-
import type {
|
|
14
|
+
import type { PageContextConfig } from '../getPageFiles.js';
|
|
15
15
|
import type { HookName, HookNameGlobal } from '../../types/Config.js';
|
|
16
16
|
import type { PageConfigGlobalRuntime } from '../../types/PageConfig.js';
|
|
17
17
|
import type { PageContextForPublicUsageServer } from '../../node/runtime/renderPage/preparePageContextForPublicUsageServer.js';
|
|
18
18
|
import type { PageContextForPublicUsageClientShared } from '../../client/shared/preparePageContextForPublicUsageClientShared.js';
|
|
19
19
|
import { type PageContextPrepareMinimum } from '../preparePageContextForPublicUsage.js';
|
|
20
20
|
import type { GlobalContextPrepareMinimum } from '../prepareGlobalContextForPublicUsage.js';
|
|
21
|
-
type PageContextExecHook =
|
|
21
|
+
type PageContextExecHook = PageContextConfig & PageContextForPublicUsage;
|
|
22
22
|
type PageContextForPublicUsage = PageContextForPublicUsageServer | PageContextForPublicUsageClientShared;
|
|
23
23
|
type HookWithResult = Hook & {
|
|
24
24
|
hookReturn: unknown;
|
|
@@ -9,7 +9,7 @@ export type { HookLoc };
|
|
|
9
9
|
export type { HookTimeout };
|
|
10
10
|
export type { HooksTimeoutProvidedByUser };
|
|
11
11
|
export { getHookTimeoutDefault };
|
|
12
|
-
import type {
|
|
12
|
+
import type { PageContextConfig } from '../getPageFiles.js';
|
|
13
13
|
import type { HookNameOld, HookNamePage, HookNameGlobal, HookName } from '../../types/Config.js';
|
|
14
14
|
import type { PageConfigGlobalRuntime, PageConfigRuntime } from '../../types/PageConfig.js';
|
|
15
15
|
import type { GlobalContextPrepareMinimum } from '../prepareGlobalContextForPublicUsage.js';
|
|
@@ -28,8 +28,8 @@ type HookTimeout = {
|
|
|
28
28
|
warning: number | false;
|
|
29
29
|
};
|
|
30
30
|
type HooksTimeoutProvidedByUser = false | Partial<Record<HookNameOld, false | Partial<HookTimeout>>>;
|
|
31
|
-
declare function getHookFromPageContext(pageContext:
|
|
32
|
-
declare function getHookFromPageContextNew(hookName: HookName, pageContext:
|
|
31
|
+
declare function getHookFromPageContext(pageContext: PageContextConfig, hookName: HookNameOld): null | Hook;
|
|
32
|
+
declare function getHookFromPageContextNew(hookName: HookName, pageContext: PageContextConfig): Hook[];
|
|
33
33
|
declare function getHookFromPageConfig(pageConfig: PageConfigRuntime, hookName: HookNamePage): null | Hook;
|
|
34
34
|
declare function getHookFromPageConfigGlobal(pageConfigGlobal: PageConfigGlobalRuntime, hookName: HookNameGlobal): null | Hook;
|
|
35
35
|
declare function getHookFromPageConfigGlobalCumulative(pageConfigGlobal: PageConfigGlobalRuntime, hookName: HookNameGlobal): Hook[];
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
4
|
-
export type {
|
|
5
|
-
export type {
|
|
6
|
-
export type { VikeConfigPublicPageLazyLoaded };
|
|
1
|
+
export { resolveGlobalConfigPublic };
|
|
2
|
+
export { resolvePageContextConfig };
|
|
3
|
+
export { resolveGlobalContextConfig };
|
|
4
|
+
export type { PageContextConfig };
|
|
5
|
+
export type { GlobalConfigPublic };
|
|
7
6
|
export type { Source };
|
|
8
7
|
export type { Sources };
|
|
9
8
|
export type { From };
|
|
@@ -11,9 +10,9 @@ export type { ExportsAll };
|
|
|
11
10
|
export type { ConfigEntries };
|
|
12
11
|
import type { FileType } from '../getPageFiles/fileTypes.js';
|
|
13
12
|
import type { PageFile } from '../getPageFiles/getPageFileObject.js';
|
|
14
|
-
import type { ConfigValues, PageConfigBuildTime, PageConfigGlobalRuntime, PageConfigRuntime, PageConfigRuntimeLoaded } from '../../types/PageConfig.js';
|
|
13
|
+
import type { ConfigValues, PageConfigBuildTime, PageConfigGlobalBuildTime, PageConfigGlobalRuntime, PageConfigRuntime, PageConfigRuntimeLoaded } from '../../types/PageConfig.js';
|
|
15
14
|
import { type ConfigDefinedAtOptional } from './getConfigDefinedAt.js';
|
|
16
|
-
import type { ConfigResolved } from '../../types/Config/
|
|
15
|
+
import type { ConfigResolved } from '../../types/Config/ConfigResolved.js';
|
|
17
16
|
import type { Route } from '../../types/Config.js';
|
|
18
17
|
type ExportsAll = Record<string, {
|
|
19
18
|
exportValue: unknown;
|
|
@@ -35,17 +34,6 @@ type ConfigEntries = Record<string, {
|
|
|
35
34
|
configDefinedAt: ConfigDefinedAtOptional;
|
|
36
35
|
configDefinedByFile: string | null;
|
|
37
36
|
}[]>;
|
|
38
|
-
type VikeConfigPublicPageLazyLoaded = {
|
|
39
|
-
config: ConfigResolved;
|
|
40
|
-
source: Source;
|
|
41
|
-
sources: Sources;
|
|
42
|
-
from: From;
|
|
43
|
-
configEntries: ConfigEntries;
|
|
44
|
-
exports: Record<string, unknown>;
|
|
45
|
-
exportsAll: ExportsAll;
|
|
46
|
-
/** @deprecated */
|
|
47
|
-
pageExports: Record<string, unknown>;
|
|
48
|
-
};
|
|
49
37
|
type From = {
|
|
50
38
|
configsStandard: Record<string, // configName
|
|
51
39
|
SourceConfigsStandard>;
|
|
@@ -77,11 +65,34 @@ type SourceConfigsComputed = {
|
|
|
77
65
|
definedAt: 'Vike';
|
|
78
66
|
value: unknown;
|
|
79
67
|
};
|
|
80
|
-
type
|
|
68
|
+
type PageContextConfig = {
|
|
69
|
+
/** The page's configuration values.
|
|
70
|
+
*
|
|
71
|
+
* https://vike.dev/config
|
|
72
|
+
* https://vike.dev/pageContext#config
|
|
73
|
+
*/
|
|
81
74
|
config: ConfigResolved;
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
75
|
+
source: Source;
|
|
76
|
+
sources: Sources;
|
|
77
|
+
from: From;
|
|
78
|
+
/** The page's configuration, including the configs origin and overridden configs.
|
|
79
|
+
*
|
|
80
|
+
* https://vike.dev/config
|
|
81
|
+
*/
|
|
82
|
+
configEntries: ConfigEntries;
|
|
83
|
+
/** Custom Exports/Hooks.
|
|
84
|
+
*
|
|
85
|
+
* https://vike.dev/exports
|
|
86
|
+
*/
|
|
87
|
+
exports: Record<string, unknown>;
|
|
88
|
+
/**
|
|
89
|
+
* Same as `pageContext.exports` but cumulative.
|
|
90
|
+
*
|
|
91
|
+
* https://vike.dev/exports
|
|
92
|
+
*/
|
|
93
|
+
exportsAll: ExportsAll;
|
|
94
|
+
/** @deprecated */
|
|
95
|
+
pageExports: Record<string, unknown>;
|
|
85
96
|
};
|
|
86
97
|
type WithRoute = {
|
|
87
98
|
route: Route;
|
|
@@ -90,12 +101,61 @@ type WithRoute = {
|
|
|
90
101
|
route?: undefined;
|
|
91
102
|
isErrorPage: true;
|
|
92
103
|
};
|
|
93
|
-
type
|
|
94
|
-
type
|
|
95
|
-
declare function
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
104
|
+
type PageConfigPublicWithRoute = ConfigPublic & WithRoute;
|
|
105
|
+
type ConfigPublic = ReturnType<typeof getPublicCopy>;
|
|
106
|
+
declare function getPublicCopy(configInternal: ReturnType<typeof resolveConfigPublic_V1Design>): {
|
|
107
|
+
config: ConfigResolved;
|
|
108
|
+
_source: Source;
|
|
109
|
+
_sources: Sources;
|
|
110
|
+
_from: From;
|
|
111
|
+
};
|
|
112
|
+
declare function resolvePageContextConfig(pageFiles: PageFile[], // V0.4 design
|
|
100
113
|
pageConfig: PageConfigRuntimeLoaded | null, // V1 design
|
|
101
|
-
pageConfigGlobal: PageConfigGlobalRuntime):
|
|
114
|
+
pageConfigGlobal: PageConfigGlobalRuntime): PageContextConfig;
|
|
115
|
+
declare function resolveGlobalContextConfig(pageConfigs: PageConfigRuntime[], pageConfigGlobal: PageConfigGlobalRuntime): {
|
|
116
|
+
_globalConfigPublic: {
|
|
117
|
+
pages: {
|
|
118
|
+
[k: string]: PageConfigPublicWithRoute;
|
|
119
|
+
};
|
|
120
|
+
config: ConfigResolved;
|
|
121
|
+
_source: Source;
|
|
122
|
+
_sources: Sources;
|
|
123
|
+
_from: From;
|
|
124
|
+
};
|
|
125
|
+
pages: {
|
|
126
|
+
[k: string]: PageConfigPublicWithRoute;
|
|
127
|
+
};
|
|
128
|
+
config: ConfigResolved;
|
|
129
|
+
_source: Source;
|
|
130
|
+
_sources: Sources;
|
|
131
|
+
_from: From;
|
|
132
|
+
};
|
|
133
|
+
type GlobalConfigPublic = Omit<ReturnType<typeof resolveGlobalConfigPublic>, '_globalConfigPublic'>;
|
|
134
|
+
declare function resolveGlobalConfigPublic<PageConfig extends PageConfigRuntime | PageConfigBuildTime, PageConfigGlobal extends PageConfigGlobalRuntime | PageConfigGlobalBuildTime>(pageConfigs: PageConfig[], pageConfigGlobal: PageConfigGlobal, getConfigValues: (config: PageConfig | PageConfigGlobal, isGlobalConfig?: true) => ConfigValues): {
|
|
135
|
+
_globalConfigPublic: {
|
|
136
|
+
pages: {
|
|
137
|
+
[k: string]: PageConfigPublicWithRoute;
|
|
138
|
+
};
|
|
139
|
+
config: ConfigResolved;
|
|
140
|
+
_source: Source;
|
|
141
|
+
_sources: Sources;
|
|
142
|
+
_from: From;
|
|
143
|
+
};
|
|
144
|
+
pages: {
|
|
145
|
+
[k: string]: PageConfigPublicWithRoute;
|
|
146
|
+
};
|
|
147
|
+
config: ConfigResolved;
|
|
148
|
+
_source: Source;
|
|
149
|
+
_sources: Sources;
|
|
150
|
+
_from: From;
|
|
151
|
+
};
|
|
152
|
+
declare function resolveConfigPublic_V1Design(pageConfig: {
|
|
153
|
+
configValues: ConfigValues;
|
|
154
|
+
}): {
|
|
155
|
+
config: ConfigResolved;
|
|
156
|
+
configEntries: ConfigEntries;
|
|
157
|
+
exportsAll: ExportsAll;
|
|
158
|
+
source: Source;
|
|
159
|
+
sources: Sources;
|
|
160
|
+
from: From;
|
|
161
|
+
};
|
|
@@ -1,54 +1,48 @@
|
|
|
1
|
-
// TO-DO/soon: rename PageConfig names
|
|
2
|
-
// - Use `Internal` suffix, i.e. {Page,Global}ConfigInternal
|
|
3
|
-
// - While keeping {Page,Global}ConfigPublic or remove Public suffix and rename it to {Page,Global}Config ?
|
|
4
|
-
// - rename EagerLoaded EagerlyLoaded
|
|
5
|
-
// - remove `LazyLoaded` suffix
|
|
6
1
|
// TO-DO/soon/same-api: use public API internally?
|
|
7
2
|
// TO-DO/soon/flat-pageContext: rename definedAt => definedBy
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
3
|
+
export { resolveGlobalConfigPublic };
|
|
4
|
+
export { resolvePageContextConfig };
|
|
5
|
+
export { resolveGlobalContextConfig };
|
|
11
6
|
import { assertDefaultExports, forbiddenDefaultExports } from '../getPageFiles/assert_exports_old_design.js';
|
|
12
7
|
import { getConfigDefinedAtOptional, getDefinedAtString } from './getConfigDefinedAt.js';
|
|
13
8
|
import { getConfigValueFilePathToShowToUser } from './helpers.js';
|
|
14
9
|
import { assert, isObject, assertWarning, assertUsage, makeLast, isBrowser, isScriptFile, isTemplateFile, objectDefineProperty, } from '../utils.js';
|
|
15
10
|
import pc from '@brillout/picocolors';
|
|
16
|
-
function
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
11
|
+
function resolveGlobalConfigPublicPage(pageConfigGlobalValues, pageConfig, pageConfigValues) {
|
|
12
|
+
const pageConfigPublic_ = resolvePageConfigPublic({ pageConfigGlobalValues, pageConfigValues });
|
|
13
|
+
const pageConfigPublic = getPublicCopy(pageConfigPublic_);
|
|
14
|
+
const page = (() => {
|
|
15
|
+
if (!pageConfig.isErrorPage) {
|
|
16
|
+
const route = pageConfigPublic.config.route ?? pageConfig.routeFilesystem.routeString;
|
|
17
|
+
return {
|
|
18
|
+
...pageConfigPublic,
|
|
19
|
+
route,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
return {
|
|
24
|
+
...pageConfigPublic,
|
|
25
|
+
isErrorPage: true,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
})();
|
|
33
29
|
return [pageConfig.pageId, page];
|
|
34
30
|
}
|
|
35
|
-
function getPublicCopy(
|
|
36
|
-
|
|
37
|
-
config:
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
31
|
+
function getPublicCopy(configInternal) {
|
|
32
|
+
const configPublic = {
|
|
33
|
+
config: configInternal.config,
|
|
34
|
+
// TO-DO/soon/flat-pageContext: expose publicly?
|
|
35
|
+
_source: configInternal.source,
|
|
36
|
+
_sources: configInternal.sources,
|
|
37
|
+
_from: configInternal.from,
|
|
41
38
|
};
|
|
39
|
+
return configPublic;
|
|
42
40
|
}
|
|
43
|
-
function
|
|
41
|
+
function resolvePageConfigPublic({ pageConfigGlobalValues, pageConfigValues, }) {
|
|
44
42
|
const configValues = { ...pageConfigGlobalValues, ...pageConfigValues };
|
|
45
|
-
return
|
|
43
|
+
return resolveConfigPublic_V1Design({ configValues });
|
|
46
44
|
}
|
|
47
|
-
function
|
|
48
|
-
const vikeConfigPublicGlobal = resolveVikeConfigPublic_V1Design({ configValues: pageConfigGlobalValues });
|
|
49
|
-
return getPublicCopy(vikeConfigPublicGlobal);
|
|
50
|
-
}
|
|
51
|
-
function resolveVikeConfigPublicPageLazyLoaded(pageFiles, // V0.4 design
|
|
45
|
+
function resolvePageContextConfig(pageFiles, // V0.4 design
|
|
52
46
|
pageConfig, // V1 design
|
|
53
47
|
pageConfigGlobal) {
|
|
54
48
|
const config = {};
|
|
@@ -75,7 +69,7 @@ pageConfigGlobal) {
|
|
|
75
69
|
let sources;
|
|
76
70
|
let from;
|
|
77
71
|
if (pageConfig) {
|
|
78
|
-
const res =
|
|
72
|
+
const res = resolvePageConfigPublic({
|
|
79
73
|
pageConfigGlobalValues: pageConfigGlobal.configValues,
|
|
80
74
|
pageConfigValues: pageConfig.configValues,
|
|
81
75
|
});
|
|
@@ -110,7 +104,7 @@ pageConfigGlobal) {
|
|
|
110
104
|
});
|
|
111
105
|
assert(!('default' in exports));
|
|
112
106
|
assert(!('default' in exportsAll));
|
|
113
|
-
const
|
|
107
|
+
const pageContextAddendum = {
|
|
114
108
|
config: config,
|
|
115
109
|
from,
|
|
116
110
|
source,
|
|
@@ -121,7 +115,7 @@ pageConfigGlobal) {
|
|
|
121
115
|
exportsAll,
|
|
122
116
|
};
|
|
123
117
|
// TO-DO/next-major-release: remove
|
|
124
|
-
objectDefineProperty(
|
|
118
|
+
objectDefineProperty(pageContextAddendum, 'pageExports', {
|
|
125
119
|
get: () => {
|
|
126
120
|
// We only show the warning in Node.js because when using Client Routing Vue integration uses `Object.assign(pageContextReactive, pageContext)` which will wrongully trigger the warning. There is no cross-browser way to catch whether the property accessor was initiated by an `Object.assign()` call.
|
|
127
121
|
if (!isBrowser()) {
|
|
@@ -135,10 +129,33 @@ pageConfigGlobal) {
|
|
|
135
129
|
enumerable: false,
|
|
136
130
|
configurable: true,
|
|
137
131
|
});
|
|
138
|
-
return
|
|
132
|
+
return pageContextAddendum;
|
|
133
|
+
}
|
|
134
|
+
function resolveGlobalContextConfig(pageConfigs, pageConfigGlobal) {
|
|
135
|
+
const globalContextAddendum = resolveGlobalConfigPublic(pageConfigs, pageConfigGlobal, (c) => c.configValues);
|
|
136
|
+
return globalContextAddendum;
|
|
137
|
+
}
|
|
138
|
+
function resolveGlobalConfigPublic(pageConfigs, pageConfigGlobal, getConfigValues) {
|
|
139
|
+
// global
|
|
140
|
+
const pageConfigGlobalValues = getConfigValues(pageConfigGlobal, true);
|
|
141
|
+
const globalConfigPublicBase_ = resolveConfigPublic_V1Design({ configValues: pageConfigGlobalValues });
|
|
142
|
+
const globalConfigPublicBase = getPublicCopy(globalConfigPublicBase_);
|
|
143
|
+
// pages
|
|
144
|
+
const pages = Object.fromEntries(pageConfigs.map((pageConfig) => {
|
|
145
|
+
const pageConfigValues = getConfigValues(pageConfig);
|
|
146
|
+
return resolveGlobalConfigPublicPage(pageConfigGlobalValues, pageConfig, pageConfigValues);
|
|
147
|
+
}));
|
|
148
|
+
const globalConfigPublic = {
|
|
149
|
+
...globalConfigPublicBase,
|
|
150
|
+
pages,
|
|
151
|
+
};
|
|
152
|
+
return {
|
|
153
|
+
...globalConfigPublic,
|
|
154
|
+
_globalConfigPublic: globalConfigPublic,
|
|
155
|
+
};
|
|
139
156
|
}
|
|
140
157
|
// V1 design
|
|
141
|
-
function
|
|
158
|
+
function resolveConfigPublic_V1Design(pageConfig) {
|
|
142
159
|
const config = {};
|
|
143
160
|
const configEntries = {};
|
|
144
161
|
const exportsAll = {};
|
|
@@ -226,6 +243,8 @@ function resolveVikeConfigPublic_V1Design(pageConfig) {
|
|
|
226
243
|
from,
|
|
227
244
|
};
|
|
228
245
|
}
|
|
246
|
+
// V0.4 design
|
|
247
|
+
// TO-DO/next-major-release: remove
|
|
229
248
|
function getExportValues(pageFile) {
|
|
230
249
|
const { filePath, fileExports } = pageFile;
|
|
231
250
|
assert(fileExports); // assume pageFile.loadFile() was called
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type { ConfigResolved };
|
|
2
|
+
import type { ConfigBuiltIn, ConfigBuiltInResolved, ImportString } from '../Config.js';
|
|
3
|
+
type ConfigUnresolved = WithoutImportString<ConfigBuiltIn & Vike.Config>;
|
|
4
|
+
type ConfigResolvedOnly = ConfigBuiltInResolved & Vike.ConfigResolved;
|
|
5
|
+
type ConfigResolved = ConfigResolvedOnly & Omit<ConfigUnresolved, keyof ConfigResolvedOnly>;
|
|
6
|
+
type WithoutImportString<T> = {
|
|
7
|
+
[K in keyof T]: Exclude<T[K], ImportString>;
|
|
8
|
+
};
|
|
@@ -37,14 +37,14 @@ export type { RouteAsync };
|
|
|
37
37
|
export type { RouteSync };
|
|
38
38
|
import type { PrefetchSetting, PrefetchStaticAssets } from '../client/runtime-client-routing/prefetch/PrefetchSetting.js';
|
|
39
39
|
import type { ConfigDefinition } from '../node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js';
|
|
40
|
-
import type { DocumentHtml } from '../node/runtime/html/renderHtml.js';
|
|
40
|
+
import type { DocumentHtml } from '../node/runtime/renderPage/html/renderHtml.js';
|
|
41
41
|
import type { InjectFilterEntry } from './index.js';
|
|
42
42
|
import type { VikeVitePluginOptions } from '../node/vite/index.js';
|
|
43
|
-
import type { Vike
|
|
43
|
+
import type { Vike } from './VikeNamespace.js';
|
|
44
44
|
import type { HooksTimeoutProvidedByUser } from '../shared/hooks/getHook.js';
|
|
45
45
|
import type { GlobalContext, PageContextClient, PageContextServer } from './PageContext.js';
|
|
46
46
|
import type { InlineConfig } from 'vite';
|
|
47
|
-
import type { PassToClientPublic } from '../node/runtime/html/serializeContext.js';
|
|
47
|
+
import type { PassToClientPublic } from '../node/runtime/renderPage/html/serializeContext.js';
|
|
48
48
|
type HookNameOld = HookName | HookNameOldDesign;
|
|
49
49
|
type HookName = HookNamePage | HookNameGlobal;
|
|
50
50
|
type HookNamePage = 'onHydrationEnd' | 'onBeforePrerenderStart' | 'onBeforeRender' | 'onPageTransitionStart' | 'onPageTransitionEnd' | 'onRenderHtml' | 'onRenderClient' | 'guard' | 'data' | 'onData' | 'route';
|
|
@@ -52,7 +52,7 @@ type HookNameGlobal = 'onBeforeRoute' | 'onPrerenderStart' | 'onCreatePageContex
|
|
|
52
52
|
type HookNameOldDesign = 'render' | 'prerender' | 'onBeforePrerender';
|
|
53
53
|
type ConfigNameBuiltIn = Exclude<keyof ConfigBuiltIn, keyof VikeVitePluginOptions | 'onBeforeRoute' | 'onPrerenderStart' | 'vite' | 'redirects'> | 'prerender' | 'serverOnlyHooks' | 'isClientRuntimeLoaded' | 'onBeforeRenderEnv' | 'dataEnv' | 'hooksTimeout' | 'clientHooks' | 'middleware';
|
|
54
54
|
type ConfigNameGlobal = 'onPrerenderStart' | 'onBeforeRoute' | 'prerender' | 'disableAutoFullBuild' | 'includeAssetsImportedByServer' | 'baseAssets' | 'baseServer' | 'redirects' | 'trailingSlash' | 'disableUrlNormalization' | 'vite';
|
|
55
|
-
type Config = ConfigBuiltIn & Vike.Config
|
|
55
|
+
type Config = ConfigBuiltIn & Vike.Config;
|
|
56
56
|
/** @deprecated This type is deprecated, see https://vike.dev/data */
|
|
57
57
|
type DataAsync<Data = unknown> = (pageContext: PageContextServer) => Promise<Data>;
|
|
58
58
|
/** @deprecated This type is deprecated, see https://vike.dev/data */
|
|
@@ -445,7 +445,7 @@ type ConfigBuiltIn = {
|
|
|
445
445
|
*
|
|
446
446
|
* https://vike.dev/headers#response
|
|
447
447
|
*/
|
|
448
|
-
headersResponse?: HeadersInit;
|
|
448
|
+
headersResponse?: HeadersInit | ((pageContext: PageContextServer) => HeadersInit | Promise<HeadersInit>);
|
|
449
449
|
/**
|
|
450
450
|
* Make development/preview server available over LAN and public addresses.
|
|
451
451
|
*
|
|
@@ -468,6 +468,14 @@ type ConfigBuiltIn = {
|
|
|
468
468
|
* https://vike.dev/mode
|
|
469
469
|
*/
|
|
470
470
|
mode?: string;
|
|
471
|
+
/**
|
|
472
|
+
* Content Security Policy (CSP).
|
|
473
|
+
*
|
|
474
|
+
* https://vike.dev/csp
|
|
475
|
+
*/
|
|
476
|
+
csp?: {
|
|
477
|
+
nonce: boolean | ((pageContext: PageContextServer) => string | Promise<string>);
|
|
478
|
+
};
|
|
471
479
|
/** Where scripts are injected in the HTML.
|
|
472
480
|
*
|
|
473
481
|
* https://vike.dev/injectScriptsAt
|
|
@@ -499,7 +507,7 @@ type ConfigBuiltInResolved = {
|
|
|
499
507
|
redirects?: Record<string, string>[];
|
|
500
508
|
prerender?: Exclude<Config['prerender'], ImportString | undefined>[];
|
|
501
509
|
middleware?: Function[];
|
|
502
|
-
headersResponse?:
|
|
510
|
+
headersResponse?: Exclude<Config['headersResponse'], ImportString | undefined>[];
|
|
503
511
|
};
|
|
504
512
|
type ConfigMeta = Record<string, ConfigDefinition>;
|
|
505
513
|
type ImportString = `import:${string}`;
|