vike 0.4.228-commit-d423e4f → 0.4.228-commit-ae4784f
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/client/client-routing-runtime/globalContextClientSide.js +10 -0
- package/dist/cjs/client/client-routing-runtime/onLoad.js +10 -0
- package/dist/cjs/client/client-routing-runtime/utils.js +43 -0
- package/dist/cjs/client/server-routing-runtime/utils.js +0 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +5 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles/ignorePatternsBuiltIn.js +2 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +1 -1
- package/dist/cjs/node/prerender/runPrerender.js +8 -7
- package/dist/cjs/node/runtime/renderPage/createHttpResponse.js +8 -3
- package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +73 -0
- package/dist/cjs/node/runtime/renderPage/executeHookGeneric.js +18 -0
- package/dist/cjs/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.js +2 -2
- package/dist/cjs/node/runtime/renderPage/executeOnRenderHtmlHook.js +2 -2
- package/dist/cjs/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.js +1 -17
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +0 -65
- package/dist/cjs/node/runtime/renderPage.js +96 -75
- package/dist/cjs/shared/hooks/getHook.js +45 -27
- package/dist/cjs/shared/route/executeGuardHook.js +1 -1
- package/dist/cjs/shared/route/loadPageRoutes.js +1 -0
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/objectAssign.js +2 -6
- package/dist/esm/client/client-routing-runtime/createPageContext.d.ts +3 -0
- package/dist/esm/client/client-routing-runtime/createPageContext.js +2 -0
- package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.js +4 -3
- package/dist/esm/client/client-routing-runtime/globalContextClientSide.d.ts +5 -0
- package/dist/esm/client/client-routing-runtime/globalContextClientSide.js +8 -0
- package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +8 -6
- package/dist/esm/client/client-routing-runtime/utils.d.ts +0 -1
- package/dist/esm/client/client-routing-runtime/utils.js +0 -1
- package/dist/esm/client/server-routing-runtime/utils.d.ts +0 -1
- package/dist/esm/client/server-routing-runtime/utils.js +0 -1
- package/dist/esm/client/shared/executeOnRenderClientHook.js +5 -4
- package/dist/esm/client/shared/removeFoucBuster.js +1 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +5 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles/ignorePatternsBuiltIn.d.ts +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles/ignorePatternsBuiltIn.js +2 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +1 -1
- package/dist/esm/node/prerender/runPrerender.js +9 -8
- package/dist/esm/node/runtime/renderPage/createHttpResponse.d.ts +5 -4
- package/dist/esm/node/runtime/renderPage/createHttpResponse.js +8 -3
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +85 -0
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +71 -0
- package/dist/esm/node/runtime/renderPage/executeHookGeneric.d.ts +9 -0
- package/dist/esm/node/runtime/renderPage/executeHookGeneric.js +16 -0
- package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.js +3 -3
- package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.js +3 -3
- package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.js +1 -17
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +15 -113
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -66
- package/dist/esm/node/runtime/renderPage.d.ts +74 -7
- package/dist/esm/node/runtime/renderPage.js +98 -77
- package/dist/esm/shared/hooks/getHook.d.ts +4 -2
- package/dist/esm/shared/hooks/getHook.js +47 -29
- package/dist/esm/shared/page-configs/Config.d.ts +6 -1
- package/dist/esm/shared/route/executeGuardHook.js +2 -2
- package/dist/esm/shared/route/loadPageRoutes.js +1 -0
- package/dist/esm/shared/types.d.ts +8 -6
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/objectAssign.js +2 -6
- package/package.json +1 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getGlobalContext = getGlobalContext;
|
|
4
|
+
const utils_js_1 = require("./utils.js");
|
|
5
|
+
const globalObject = (0, utils_js_1.getGlobalObject)('client-routing-runtime/globalContextClientSide.ts', {});
|
|
6
|
+
function getGlobalContext() {
|
|
7
|
+
if (!globalObject.globalContext)
|
|
8
|
+
globalObject.globalContext = {};
|
|
9
|
+
return globalObject.globalContext;
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.onLoad = onLoad;
|
|
4
|
+
const assertIsBrowser_js_1 = require("../../utils/assertIsBrowser.js");
|
|
5
|
+
const assertRoutingType_js_1 = require("../../utils/assertRoutingType.js");
|
|
6
|
+
function onLoad() {
|
|
7
|
+
(0, assertIsBrowser_js_1.assertIsBrowser)();
|
|
8
|
+
// Ensure we don't bloat the Server Routing runtime with Client Routing utils
|
|
9
|
+
(0, assertRoutingType_js_1.assertClientRouting)();
|
|
10
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Utils needed by Vike's client runtime (with Client Routing)
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
15
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
16
|
+
};
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
// We call onLoad() here so that it's called even when only a subset of the runtime is loaded. (Making the assert() calls inside onLoad() a lot stronger.)
|
|
19
|
+
const onLoad_js_1 = require("./onLoad.js");
|
|
20
|
+
(0, onLoad_js_1.onLoad)();
|
|
21
|
+
__exportStar(require("../../utils/assert.js"), exports);
|
|
22
|
+
__exportStar(require("../../utils/assertSingleInstance.js"), exports);
|
|
23
|
+
__exportStar(require("../../utils/getGlobalObject.js"), exports);
|
|
24
|
+
__exportStar(require("../../utils/hasProp.js"), exports);
|
|
25
|
+
__exportStar(require("../../utils/isBrowser.js"), exports);
|
|
26
|
+
__exportStar(require("../../utils/isCallable.js"), exports);
|
|
27
|
+
__exportStar(require("../../utils/isObject.js"), exports);
|
|
28
|
+
__exportStar(require("../../utils/isPlainObject.js"), exports);
|
|
29
|
+
__exportStar(require("../../utils/isReact.js"), exports);
|
|
30
|
+
__exportStar(require("../../utils/isSameErrorMessage.js"), exports);
|
|
31
|
+
__exportStar(require("../../utils/objectAssign.js"), exports);
|
|
32
|
+
__exportStar(require("../../utils/parseUrl.js"), exports);
|
|
33
|
+
__exportStar(require("../../utils/PromiseType.js"), exports);
|
|
34
|
+
__exportStar(require("../../utils/redirectHard.js"), exports);
|
|
35
|
+
__exportStar(require("../../utils/sleep.js"), exports);
|
|
36
|
+
__exportStar(require("../../utils/slice.js"), exports);
|
|
37
|
+
__exportStar(require("../../utils/throttle.js"), exports);
|
|
38
|
+
__exportStar(require("../../utils/assertRoutingType.js"), exports);
|
|
39
|
+
__exportStar(require("../../utils/onPageVisibilityChange.js"), exports);
|
|
40
|
+
__exportStar(require("../../utils/augmentType.js"), exports);
|
|
41
|
+
__exportStar(require("../../utils/PROJECT_VERSION.js"), exports);
|
|
42
|
+
__exportStar(require("../../utils/genPromise.js"), exports);
|
|
43
|
+
__exportStar(require("../../utils/catchInfiniteLoop.js"), exports);
|
|
@@ -20,7 +20,6 @@ const onLoad_js_1 = require("./onLoad.js");
|
|
|
20
20
|
(0, onLoad_js_1.onLoad)();
|
|
21
21
|
__exportStar(require("../../utils/assert.js"), exports);
|
|
22
22
|
__exportStar(require("../../utils/assertSingleInstance.js"), exports);
|
|
23
|
-
__exportStar(require("../../shared/hooks/executeHook.js"), exports);
|
|
24
23
|
__exportStar(require("../../utils/checkType.js"), exports); // Only used by Server Routing (not needed for Client Routing)
|
|
25
24
|
__exportStar(require("../../utils/getGlobalObject.js"), exports);
|
|
26
25
|
__exportStar(require("../../utils/hasProp.js"), exports);
|
|
@@ -11,6 +11,8 @@ exports.ignorePatternsBuiltIn = [
|
|
|
11
11
|
// +Page.telefunc.js
|
|
12
12
|
// ```
|
|
13
13
|
'**/*.telefunc.*',
|
|
14
|
+
// https://github.com/vikejs/vike/issues/1589#issuecomment-2031925598
|
|
15
|
+
'**/.history/**',
|
|
14
16
|
// https://github.com/vikejs/vike/discussions/2222
|
|
15
17
|
'**/*.generated.*'
|
|
16
18
|
];
|
|
@@ -126,7 +126,7 @@ async function transpileWithEsbuild(filePath, userRootDir, transformImports, esb
|
|
|
126
126
|
// - Sitll required for esbuild@0.24.0 (November 2024).
|
|
127
127
|
// - Let's try to remove this workaround again later.
|
|
128
128
|
if (resolved.errors.length > 0) {
|
|
129
|
-
const resolvedWithNode = (0, utils_js_1.requireResolveOptional)(path, args.resolveDir);
|
|
129
|
+
const resolvedWithNode = (0, utils_js_1.requireResolveOptional)(path, (0, utils_js_1.toPosixPath)(args.resolveDir));
|
|
130
130
|
if (debugEsbuildResolve.isActivated)
|
|
131
131
|
debugEsbuildResolve('resolvedWithNode', resolvedWithNode);
|
|
132
132
|
if (resolvedWithNode)
|
|
@@ -44,6 +44,7 @@ const path_1 = __importDefault(require("path"));
|
|
|
44
44
|
const index_js_1 = require("../../shared/route/index.js");
|
|
45
45
|
const utils_js_1 = require("./utils.js");
|
|
46
46
|
const renderPageAlreadyRouted_js_1 = require("../runtime/renderPage/renderPageAlreadyRouted.js");
|
|
47
|
+
const createPageContextServerSide_js_1 = require("../runtime/renderPage/createPageContextServerSide.js");
|
|
47
48
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
48
49
|
const os_1 = require("os");
|
|
49
50
|
const globalContext_js_1 = require("../runtime/globalContext.js");
|
|
@@ -147,10 +148,10 @@ async function runPrerender(options = {}, standaloneTrigger) {
|
|
|
147
148
|
await callOnBeforePrerenderStartHooks(prerenderContext, globalContext, concurrencyLimit, doNotPrerenderList);
|
|
148
149
|
// Create `pageContext` for each page with a static route
|
|
149
150
|
const urlList = getUrlListFromPagesWithStaticRoute(globalContext, doNotPrerenderList);
|
|
150
|
-
await
|
|
151
|
+
await createPageContexts(urlList, prerenderContext, globalContext, concurrencyLimit, false);
|
|
151
152
|
// Create `pageContext` for 404 page
|
|
152
153
|
const urlList404 = getUrlList404(globalContext);
|
|
153
|
-
await
|
|
154
|
+
await createPageContexts(urlList404, prerenderContext, globalContext, concurrencyLimit, true);
|
|
154
155
|
// Allow user to duplicate the list of `pageContext` for i18n
|
|
155
156
|
// https://vike.dev/onPrerenderStart
|
|
156
157
|
await callOnPrerenderStartHook(prerenderContext, globalContext, concurrencyLimit);
|
|
@@ -295,7 +296,7 @@ async function callOnBeforePrerenderStartHooks(prerenderContext, globalContext,
|
|
|
295
296
|
}
|
|
296
297
|
// Add result
|
|
297
298
|
const providedByHook = { hookFilePath, hookName };
|
|
298
|
-
const pageContextNew = await
|
|
299
|
+
const pageContextNew = await createPageContextPrerendering(url, prerenderContext, globalContext, false, undefined, providedByHook);
|
|
299
300
|
prerenderContext.pageContexts.push(pageContextNew);
|
|
300
301
|
if (pageContext) {
|
|
301
302
|
(0, utils_js_1.objectAssign)(pageContextNew, { _pageContextAlreadyProvidedByOnPrerenderHook: true });
|
|
@@ -341,22 +342,22 @@ function getUrlList404(globalContext) {
|
|
|
341
342
|
}
|
|
342
343
|
return urlList;
|
|
343
344
|
}
|
|
344
|
-
async function
|
|
345
|
+
async function createPageContexts(urlList, prerenderContext, globalContext, concurrencyLimit, is404) {
|
|
345
346
|
await Promise.all(urlList.map(({ urlOriginal, pageId }) => concurrencyLimit(async () => {
|
|
346
347
|
// Already included in a onBeforePrerenderStart() hook
|
|
347
348
|
if (prerenderContext.pageContexts.find((pageContext) => isSameUrl(pageContext.urlOriginal, urlOriginal))) {
|
|
348
349
|
return;
|
|
349
350
|
}
|
|
350
|
-
const pageContext = await
|
|
351
|
+
const pageContext = await createPageContextPrerendering(urlOriginal, prerenderContext, globalContext, is404, pageId, null);
|
|
351
352
|
prerenderContext.pageContexts.push(pageContext);
|
|
352
353
|
})));
|
|
353
354
|
}
|
|
354
|
-
async function
|
|
355
|
+
async function createPageContextPrerendering(urlOriginal, prerenderContext, globalContext, is404, pageId, providedByHook) {
|
|
355
356
|
const pageContextInit = {
|
|
356
357
|
urlOriginal,
|
|
357
358
|
...prerenderContext.pageContextInit
|
|
358
359
|
};
|
|
359
|
-
const pageContext = await (0,
|
|
360
|
+
const pageContext = await (0, createPageContextServerSide_js_1.createPageContextServerSide)(pageContextInit, globalContext, { isPrerendering: true });
|
|
360
361
|
(0, utils_js_1.assert)(pageContext.isPrerendering === true);
|
|
361
362
|
(0, utils_js_1.objectAssign)(pageContext, {
|
|
362
363
|
_urlHandler: null,
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createHttpResponsePage = createHttpResponsePage;
|
|
4
4
|
exports.createHttpResponsePageContextJson = createHttpResponsePageContextJson;
|
|
5
5
|
exports.createHttpResponseError = createHttpResponseError;
|
|
6
|
+
exports.createHttpResponseErrorWithoutGlobalContext = createHttpResponseErrorWithoutGlobalContext;
|
|
6
7
|
exports.createHttpResponseRedirect = createHttpResponseRedirect;
|
|
7
8
|
exports.createHttpResponseFavicon404 = createHttpResponseFavicon404;
|
|
8
9
|
exports.createHttpResponseBaseIsMissing = createHttpResponseBaseIsMissing;
|
|
@@ -66,9 +67,6 @@ function createHttpResponseBaseIsMissing(urlOriginal, baseServer) {
|
|
|
66
67
|
}
|
|
67
68
|
function createHttpResponseError(pageContext) {
|
|
68
69
|
const reason = (() => {
|
|
69
|
-
if (!pageContext) {
|
|
70
|
-
return 'no error page (https://vike.dev/error-page) could be rendered';
|
|
71
|
-
}
|
|
72
70
|
const errorPageId = (0, error_page_js_1.getErrorPageId)(pageContext._pageFilesAll, pageContext._pageConfigs);
|
|
73
71
|
if (errorPageId) {
|
|
74
72
|
return "the error page (https://vike.dev/error-page) couldn't be rendered (for example if an error occurred while rendering the error page)";
|
|
@@ -77,6 +75,13 @@ function createHttpResponseError(pageContext) {
|
|
|
77
75
|
return 'no error page (https://vike.dev/error-page) is defined, make sure to create one';
|
|
78
76
|
}
|
|
79
77
|
})();
|
|
78
|
+
return createHttpResponseError_(reason);
|
|
79
|
+
}
|
|
80
|
+
function createHttpResponseErrorWithoutGlobalContext() {
|
|
81
|
+
const reason = 'no error page (https://vike.dev/error-page) could be rendered';
|
|
82
|
+
return createHttpResponseError_(reason);
|
|
83
|
+
}
|
|
84
|
+
function createHttpResponseError_(reason) {
|
|
80
85
|
const httpResponse = createHttpResponse(500, 'text/html;charset=utf-8', [], `<p>An error occurred.</p><script>console.log(${JSON.stringify(`This HTTP response was generated by Vike. Vike returned this response because ${reason}.`)})</script>`);
|
|
81
86
|
return httpResponse;
|
|
82
87
|
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createPageContextServerSide = createPageContextServerSide;
|
|
4
|
+
exports.createPageContextServerSideWithoutGlobalContext = createPageContextServerSideWithoutGlobalContext;
|
|
5
|
+
const utils_js_1 = require("../utils.js");
|
|
6
|
+
const getPageContextUrlComputed_js_1 = require("../../../shared/getPageContextUrlComputed.js");
|
|
7
|
+
const executeHookGeneric_js_1 = require("./executeHookGeneric.js");
|
|
8
|
+
async function createPageContextServerSide(pageContextInit, globalContext, { isPrerendering, ssr: { urlHandler, isClientSideNavigation } = {
|
|
9
|
+
urlHandler: null,
|
|
10
|
+
isClientSideNavigation: false
|
|
11
|
+
} }) {
|
|
12
|
+
(0, utils_js_1.assert)(pageContextInit.urlOriginal);
|
|
13
|
+
const pageContextCreated = createPageContext(pageContextInit, isPrerendering);
|
|
14
|
+
(0, utils_js_1.objectAssign)(pageContextCreated, pageContextInit);
|
|
15
|
+
(0, utils_js_1.objectAssign)(pageContextCreated, {
|
|
16
|
+
_objectCreatedByVike: true,
|
|
17
|
+
// The following is defined on `pageContext` because we can eventually make these non-global
|
|
18
|
+
_baseServer: globalContext.baseServer,
|
|
19
|
+
_baseAssets: globalContext.baseAssets,
|
|
20
|
+
// TODO/now: add meta.default
|
|
21
|
+
_includeAssetsImportedByServer: globalContext.config.includeAssetsImportedByServer ?? true,
|
|
22
|
+
// TODO/soon: use GloablContext instead
|
|
23
|
+
_pageFilesAll: globalContext.pageFilesAll,
|
|
24
|
+
_pageConfigs: globalContext.pageConfigs,
|
|
25
|
+
_pageConfigGlobal: globalContext.pageConfigGlobal,
|
|
26
|
+
_allPageIds: globalContext.allPageIds,
|
|
27
|
+
_pageRoutes: globalContext.pageRoutes,
|
|
28
|
+
_onBeforeRouteHook: globalContext.onBeforeRouteHook,
|
|
29
|
+
_globalContext: globalContext,
|
|
30
|
+
// TODO/now: add PageContext['globalContext']
|
|
31
|
+
/** @experimental This is a beta feature https://vike.dev/getGlobalContext */
|
|
32
|
+
globalContext: globalContext.globalContext_public,
|
|
33
|
+
_pageContextInit: pageContextInit,
|
|
34
|
+
_urlRewrite: null,
|
|
35
|
+
_urlHandler: urlHandler,
|
|
36
|
+
isClientSideNavigation
|
|
37
|
+
});
|
|
38
|
+
// pageContext.urlParsed
|
|
39
|
+
const pageContextUrlComputed = (0, getPageContextUrlComputed_js_1.getPageContextUrlComputed)(pageContextCreated);
|
|
40
|
+
(0, utils_js_1.objectAssign)(pageContextCreated, pageContextUrlComputed);
|
|
41
|
+
// pageContext.headers
|
|
42
|
+
{
|
|
43
|
+
let headers;
|
|
44
|
+
if (pageContextInit.headersOriginal) {
|
|
45
|
+
headers = (0, utils_js_1.normalizeHeaders)(pageContextInit.headersOriginal);
|
|
46
|
+
(0, utils_js_1.assertUsage)(!('headers' in pageContextInit), "You're defining pageContextInit.headersOriginal as well as pageContextInit.headers but you should only define pageContextInit.headersOriginal instead, see https://vike.dev/headers");
|
|
47
|
+
}
|
|
48
|
+
else if (pageContextInit.headers) {
|
|
49
|
+
headers = pageContextInit.headers;
|
|
50
|
+
// TODO/next-major-release: remove
|
|
51
|
+
(0, utils_js_1.assertWarning)(false, 'Setting pageContextInit.headers is deprecated: set pageContextInit.headersOriginal instead, see https://vike.dev/headers', { onlyOnce: true });
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
headers = null;
|
|
55
|
+
}
|
|
56
|
+
(0, utils_js_1.objectAssign)(pageContextCreated, { headers });
|
|
57
|
+
}
|
|
58
|
+
await (0, executeHookGeneric_js_1.executeHookGenericGlobalCumulative)('onCreatePageContext', globalContext, pageContextCreated);
|
|
59
|
+
return pageContextCreated;
|
|
60
|
+
}
|
|
61
|
+
function createPageContextServerSideWithoutGlobalContext(pageContextInit) {
|
|
62
|
+
const pageContext = createPageContext(pageContextInit, false);
|
|
63
|
+
return pageContext;
|
|
64
|
+
}
|
|
65
|
+
function createPageContext(pageContextInit, isPrerendering) {
|
|
66
|
+
const pageContext = {
|
|
67
|
+
_isPageContextObject: true,
|
|
68
|
+
isClientSide: false,
|
|
69
|
+
isPrerendering
|
|
70
|
+
};
|
|
71
|
+
(0, utils_js_1.objectAssign)(pageContext, pageContextInit);
|
|
72
|
+
return pageContext;
|
|
73
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.executeHookGeneric = executeHookGeneric;
|
|
4
|
+
exports.executeHookGenericGlobalCumulative = executeHookGenericGlobalCumulative;
|
|
5
|
+
const executeHook_js_1 = require("../../../shared/hooks/executeHook.js");
|
|
6
|
+
const getHook_js_1 = require("../../../shared/hooks/getHook.js");
|
|
7
|
+
async function executeHookGeneric(hookName, pageContext) {
|
|
8
|
+
const hook = (0, getHook_js_1.getHookFromPageContext)(pageContext, hookName);
|
|
9
|
+
if (!hook)
|
|
10
|
+
return;
|
|
11
|
+
await (0, executeHook_js_1.executeHook)(() => hook.hookFn(pageContext), hook, pageContext);
|
|
12
|
+
}
|
|
13
|
+
async function executeHookGenericGlobalCumulative(hookName, globalContext, pageContext) {
|
|
14
|
+
const hooks = (0, getHook_js_1.getHookFromPageConfigGlobalCumulative)(globalContext.pageConfigGlobal, hookName);
|
|
15
|
+
await Promise.all(hooks.map(async (hook) => {
|
|
16
|
+
await (0, executeHook_js_1.executeHook)(() => hook.hookFn(pageContext), hook, null);
|
|
17
|
+
}));
|
|
18
|
+
}
|
|
@@ -9,8 +9,8 @@ async function executeOnBeforeRenderAndDataHooks(pageContext) {
|
|
|
9
9
|
if (pageContext._pageContextAlreadyProvidedByOnPrerenderHook) {
|
|
10
10
|
return;
|
|
11
11
|
}
|
|
12
|
-
const dataHook = (0, getHook_js_1.
|
|
13
|
-
const onBeforeRenderHook = (0, getHook_js_1.
|
|
12
|
+
const dataHook = (0, getHook_js_1.getHookFromPageContext)(pageContext, 'data');
|
|
13
|
+
const onBeforeRenderHook = (0, getHook_js_1.getHookFromPageContext)(pageContext, 'onBeforeRender');
|
|
14
14
|
if (!dataHook && !onBeforeRenderHook) {
|
|
15
15
|
return;
|
|
16
16
|
}
|
|
@@ -41,12 +41,12 @@ function getRenderHook(pageContext) {
|
|
|
41
41
|
{
|
|
42
42
|
let hook;
|
|
43
43
|
let hookName = undefined;
|
|
44
|
-
hook = (0, getHook_js_1.
|
|
44
|
+
hook = (0, getHook_js_1.getHookFromPageContext)(pageContext, 'onRenderHtml');
|
|
45
45
|
if (hook) {
|
|
46
46
|
hookName = 'onRenderHtml';
|
|
47
47
|
}
|
|
48
48
|
else {
|
|
49
|
-
hook = (0, getHook_js_1.
|
|
49
|
+
hook = (0, getHook_js_1.getHookFromPageContext)(pageContext, 'render');
|
|
50
50
|
if (hook) {
|
|
51
51
|
hookName = 'render';
|
|
52
52
|
}
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.retrieveAssetsDev = retrieveAssetsDev;
|
|
4
4
|
const utils_js_1 = require("../../utils.js");
|
|
5
5
|
async function retrieveAssetsDev(clientDependencies, viteDevServer) {
|
|
6
|
-
const visitedModules = new Set();
|
|
7
6
|
const assetUrls = new Set();
|
|
8
7
|
await Promise.all(clientDependencies.map(async ({ id }) => {
|
|
9
8
|
if (id.startsWith('@@vike'))
|
|
@@ -22,7 +21,7 @@ async function retrieveAssetsDev(clientDependencies, viteDevServer) {
|
|
|
22
21
|
return;
|
|
23
22
|
}
|
|
24
23
|
(0, utils_js_1.assert)(mod, { id });
|
|
25
|
-
collectCss(mod, assetUrls,
|
|
24
|
+
collectCss(mod, assetUrls, new Set());
|
|
26
25
|
}));
|
|
27
26
|
return Array.from(assetUrls);
|
|
28
27
|
}
|
|
@@ -52,9 +51,6 @@ function collectCss(mod, styleUrls, visitedModules, importer) {
|
|
|
52
51
|
// Is this useful? Maybe for virtual modules that don't respect the \0 virtual module convention?
|
|
53
52
|
styleUrls.add(`/@id/${mod.url}`);
|
|
54
53
|
}
|
|
55
|
-
/* Debug:
|
|
56
|
-
logModule(mod)
|
|
57
|
-
//*/
|
|
58
54
|
}
|
|
59
55
|
mod.importedModules.forEach((dep) => {
|
|
60
56
|
collectCss(dep, styleUrls, visitedModules, mod);
|
|
@@ -69,15 +65,3 @@ function isStyle(mod) {
|
|
|
69
65
|
// CSS of .vue files
|
|
70
66
|
(mod.id && /\?vue&type=style/.test(mod.id)));
|
|
71
67
|
}
|
|
72
|
-
/*
|
|
73
|
-
function logModule(mod: ModuleNode) {
|
|
74
|
-
const redacted = 'redacted'
|
|
75
|
-
console.log({
|
|
76
|
-
...mod,
|
|
77
|
-
ssrModule: redacted,
|
|
78
|
-
ssrTransformResult: redacted,
|
|
79
|
-
importedModules: redacted,
|
|
80
|
-
importers: redacted
|
|
81
|
-
})
|
|
82
|
-
}
|
|
83
|
-
//*/
|
|
@@ -5,13 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.renderPageAlreadyRouted = renderPageAlreadyRouted;
|
|
7
7
|
exports.prerenderPage = prerenderPage;
|
|
8
|
-
exports.getPageContextInitEnhanced = getPageContextInitEnhanced;
|
|
9
|
-
exports.createPageContext = createPageContext;
|
|
10
8
|
const error_page_js_1 = require("../../../shared/error-page.js");
|
|
11
9
|
const renderHtml_js_1 = require("../html/renderHtml.js");
|
|
12
10
|
const utils_js_1 = require("../utils.js");
|
|
13
11
|
const serializePageContextClientSide_js_1 = require("../html/serializePageContextClientSide.js");
|
|
14
|
-
const getPageContextUrlComputed_js_1 = require("../../../shared/getPageContextUrlComputed.js");
|
|
15
12
|
const createHttpResponse_js_1 = require("./createHttpResponse.js");
|
|
16
13
|
const loadUserFilesServerSide_js_1 = require("./loadUserFilesServerSide.js");
|
|
17
14
|
const executeOnRenderHtmlHook_js_1 = require("./executeOnRenderHtmlHook.js");
|
|
@@ -84,65 +81,3 @@ async function prerenderPage(pageContext) {
|
|
|
84
81
|
return { documentHtml, pageContextSerialized, pageContext };
|
|
85
82
|
}
|
|
86
83
|
}
|
|
87
|
-
async function getPageContextInitEnhanced(pageContextInit, globalContext, isPrerendering, { ssr: { urlRewrite, urlHandler, isClientSideNavigation } = {
|
|
88
|
-
urlRewrite: null,
|
|
89
|
-
urlHandler: null,
|
|
90
|
-
isClientSideNavigation: false
|
|
91
|
-
} } = {}) {
|
|
92
|
-
(0, utils_js_1.assert)(pageContextInit.urlOriginal);
|
|
93
|
-
const pageContextInitEnhanced = createPageContext(pageContextInit, isPrerendering);
|
|
94
|
-
(0, utils_js_1.objectAssign)(pageContextInitEnhanced, pageContextInit);
|
|
95
|
-
(0, utils_js_1.objectAssign)(pageContextInitEnhanced, {
|
|
96
|
-
_objectCreatedByVike: true,
|
|
97
|
-
// The following is defined on `pageContext` because we can eventually make these non-global
|
|
98
|
-
_baseServer: globalContext.baseServer,
|
|
99
|
-
_baseAssets: globalContext.baseAssets,
|
|
100
|
-
// TODO/now: add meta.default
|
|
101
|
-
_includeAssetsImportedByServer: globalContext.config.includeAssetsImportedByServer ?? true,
|
|
102
|
-
// TODO/soon: use GloablContext instead
|
|
103
|
-
_pageFilesAll: globalContext.pageFilesAll,
|
|
104
|
-
_pageConfigs: globalContext.pageConfigs,
|
|
105
|
-
_pageConfigGlobal: globalContext.pageConfigGlobal,
|
|
106
|
-
_allPageIds: globalContext.allPageIds,
|
|
107
|
-
_pageRoutes: globalContext.pageRoutes,
|
|
108
|
-
_onBeforeRouteHook: globalContext.onBeforeRouteHook,
|
|
109
|
-
_globalContext: globalContext,
|
|
110
|
-
// TODO/now: add PageContext['globalContext']
|
|
111
|
-
/** @experimental This is a beta feature https://vike.dev/getGlobalContext */
|
|
112
|
-
globalContext: globalContext.globalContext_public,
|
|
113
|
-
_pageContextInit: pageContextInit,
|
|
114
|
-
_urlRewrite: urlRewrite,
|
|
115
|
-
_urlHandler: urlHandler,
|
|
116
|
-
isClientSideNavigation
|
|
117
|
-
});
|
|
118
|
-
// pageContext.urlParsed
|
|
119
|
-
const pageContextUrlComputed = (0, getPageContextUrlComputed_js_1.getPageContextUrlComputed)(pageContextInitEnhanced);
|
|
120
|
-
(0, utils_js_1.objectAssign)(pageContextInitEnhanced, pageContextUrlComputed);
|
|
121
|
-
// pageContext.headers
|
|
122
|
-
{
|
|
123
|
-
let headers;
|
|
124
|
-
if (pageContextInit.headersOriginal) {
|
|
125
|
-
headers = (0, utils_js_1.normalizeHeaders)(pageContextInit.headersOriginal);
|
|
126
|
-
(0, utils_js_1.assertUsage)(!('headers' in pageContextInit), "You're defining pageContextInit.headersOriginal as well as pageContextInit.headers but you should only define pageContextInit.headersOriginal instead, see https://vike.dev/headers");
|
|
127
|
-
}
|
|
128
|
-
else if (pageContextInit.headers) {
|
|
129
|
-
headers = pageContextInit.headers;
|
|
130
|
-
// TODO/next-major-release: assertUsage() instead of assertWarning()
|
|
131
|
-
(0, utils_js_1.assertWarning)(false, 'Setting pageContextInit.headers is deprecated: set pageContextInit.headersOriginal instead, see https://vike.dev/headers', { onlyOnce: true });
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
headers = null;
|
|
135
|
-
}
|
|
136
|
-
(0, utils_js_1.objectAssign)(pageContextInitEnhanced, { headers });
|
|
137
|
-
}
|
|
138
|
-
return pageContextInitEnhanced;
|
|
139
|
-
}
|
|
140
|
-
function createPageContext(pageContextInit, isPrerendering) {
|
|
141
|
-
const pageContext = {
|
|
142
|
-
_isPageContextObject: true,
|
|
143
|
-
isClientSide: false,
|
|
144
|
-
isPrerendering
|
|
145
|
-
};
|
|
146
|
-
(0, utils_js_1.objectAssign)(pageContext, pageContextInit);
|
|
147
|
-
return pageContext;
|
|
148
|
-
}
|