vike 0.4.225 → 0.4.226-commit-a0035ee
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/shared/getPageContextProxyForUser.js +3 -66
- package/dist/cjs/node/api/build.js +7 -7
- package/dist/cjs/node/api/dev.js +2 -2
- package/dist/cjs/node/api/prepareViteApiCall.js +55 -30
- package/dist/cjs/node/api/prerender.js +2 -3
- package/dist/cjs/node/api/preview.js +27 -6
- package/dist/cjs/node/api/utils.js +1 -0
- package/dist/cjs/node/cli/entry.js +4 -2
- package/dist/cjs/node/cli/parseCli.js +10 -4
- package/dist/cjs/node/plugin/plugins/build/pluginAutoFullBuild.js +3 -3
- package/dist/cjs/node/plugin/plugins/build/pluginModuleBanner.js +51 -0
- package/dist/cjs/node/plugin/plugins/build.js +3 -1
- package/dist/cjs/node/plugin/plugins/commonConfig.js +16 -8
- package/dist/cjs/node/plugin/plugins/devConfig/determineOptimizeDeps.js +5 -5
- package/dist/cjs/node/plugin/plugins/fileEnv.js +3 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/index.js +14 -10
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +5 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +11 -12
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +99 -85
- package/dist/cjs/node/plugin/plugins/setGlobalContext.js +10 -1
- package/dist/cjs/node/plugin/shared/getEnvVarObject.js +7 -0
- package/dist/cjs/node/prerender/resolvePrerenderConfig.js +3 -3
- package/dist/cjs/node/prerender/runPrerender.js +14 -19
- package/dist/cjs/node/prerender/utils.js +1 -1
- package/dist/cjs/node/runtime/globalContext.js +13 -8
- package/dist/cjs/node/runtime/html/injectAssets/getViteDevScript.js +6 -3
- package/dist/cjs/node/runtime/html/serializePageContextClientSide.js +67 -14
- package/dist/cjs/node/runtime/renderPage/createHttpResponse/assertNoInfiniteHttpRedirect.js +3 -2
- package/dist/cjs/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.js +3 -0
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +18 -12
- package/dist/cjs/node/runtime/renderPage.js +13 -28
- package/dist/cjs/node/runtime/utils.js +1 -1
- package/dist/cjs/node/runtime-dev/createDevMiddleware.js +2 -2
- package/dist/cjs/node/shared/assertV1Design.js +1 -1
- package/dist/cjs/node/shared/utils.js +1 -1
- package/dist/cjs/node/shared/virtual-files.js +14 -10
- package/dist/cjs/shared/NOT_SERIALIZABLE.js +5 -0
- package/dist/cjs/shared/modifyUrl.js +3 -5
- package/dist/cjs/shared/modifyUrlSameOrigin.js +42 -0
- package/dist/cjs/shared/page-configs/getConfigDefinedAt.js +3 -2
- package/dist/cjs/shared/page-configs/getConfigValueBuildTime.js +5 -5
- package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +9 -9
- package/dist/cjs/shared/utils.js +2 -1
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/assert.js +10 -3
- package/dist/cjs/utils/assertSetup.js +12 -8
- package/dist/cjs/utils/assertSingleInstance.js +19 -4
- package/dist/cjs/utils/getRandomId.js +1 -1
- package/dist/cjs/utils/isNullish.js +16 -0
- package/dist/cjs/utils/normalizeHeaders.js +1 -1
- package/dist/cjs/utils/objectAssign.js +7 -2
- package/dist/cjs/utils/objectFilter.js +10 -0
- package/dist/cjs/utils/pick.js +12 -0
- package/dist/esm/client/client-routing-runtime/createPageContext.d.ts +3 -1
- package/dist/esm/client/client-routing-runtime/createPageContext.js +4 -3
- package/dist/esm/client/client-routing-runtime/navigate.d.ts +6 -5
- package/dist/esm/client/client-routing-runtime/navigate.js +6 -2
- package/dist/esm/client/client-routing-runtime/normalizeUrlArgument.js +1 -1
- package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +1 -1
- package/dist/esm/client/server-routing-runtime/getPageContext.d.ts +6 -3
- package/dist/esm/client/server-routing-runtime/getPageContext.js +6 -3
- package/dist/esm/client/shared/getPageContextProxyForUser.d.ts +1 -11
- package/dist/esm/client/shared/getPageContextProxyForUser.js +4 -67
- package/dist/esm/client/shared/preparePageContextForUserConsumptionClientSide.d.ts +2 -2
- package/dist/esm/node/api/build.js +7 -7
- package/dist/esm/node/api/dev.js +2 -2
- package/dist/esm/node/api/prepareViteApiCall.d.ts +2 -1
- package/dist/esm/node/api/prepareViteApiCall.js +57 -32
- package/dist/esm/node/api/prerender.js +2 -3
- package/dist/esm/node/api/preview.d.ts +1 -1
- package/dist/esm/node/api/preview.js +24 -6
- package/dist/esm/node/api/utils.d.ts +1 -0
- package/dist/esm/node/api/utils.js +1 -0
- package/dist/esm/node/cli/entry.js +4 -2
- package/dist/esm/node/cli/parseCli.js +10 -4
- package/dist/esm/node/plugin/plugins/build/pluginAutoFullBuild.js +3 -3
- package/dist/esm/node/plugin/plugins/build/pluginModuleBanner.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/build/pluginModuleBanner.js +49 -0
- package/dist/esm/node/plugin/plugins/build.js +3 -1
- package/dist/esm/node/plugin/plugins/commonConfig.d.ts +9 -2
- package/dist/esm/node/plugin/plugins/commonConfig.js +16 -8
- package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.js +5 -5
- package/dist/esm/node/plugin/plugins/fileEnv.js +3 -0
- package/dist/esm/node/plugin/plugins/importUserCode/index.js +15 -11
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +5 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.d.ts +5 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +11 -12
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +11 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +101 -86
- package/dist/esm/node/plugin/plugins/setGlobalContext.js +11 -2
- package/dist/esm/node/plugin/shared/getEnvVarObject.js +7 -0
- package/dist/esm/node/prerender/resolvePrerenderConfig.js +3 -3
- package/dist/esm/node/prerender/runPrerender.d.ts +1 -1
- package/dist/esm/node/prerender/runPrerender.js +14 -19
- package/dist/esm/node/prerender/utils.d.ts +1 -1
- package/dist/esm/node/prerender/utils.js +1 -1
- package/dist/esm/node/runtime/globalContext.d.ts +2 -3
- package/dist/esm/node/runtime/globalContext.js +13 -8
- package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.js +6 -3
- package/dist/esm/node/runtime/html/serializePageContextClientSide.d.ts +2 -0
- package/dist/esm/node/runtime/html/serializePageContextClientSide.js +69 -15
- package/dist/esm/node/runtime/renderPage/createHttpResponse/assertNoInfiniteHttpRedirect.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/createHttpResponse/assertNoInfiniteHttpRedirect.js +3 -2
- package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.js +3 -0
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +27 -1
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +18 -12
- package/dist/esm/node/runtime/renderPage.js +14 -29
- package/dist/esm/node/runtime/utils.d.ts +1 -1
- package/dist/esm/node/runtime/utils.js +1 -1
- package/dist/esm/node/runtime-dev/createDevMiddleware.js +2 -2
- package/dist/esm/node/shared/assertV1Design.js +1 -1
- package/dist/esm/node/shared/utils.d.ts +1 -1
- package/dist/esm/node/shared/utils.js +1 -1
- package/dist/esm/node/shared/virtual-files.d.ts +2 -0
- package/dist/esm/node/shared/virtual-files.js +14 -10
- package/dist/esm/shared/NOT_SERIALIZABLE.d.ts +1 -0
- package/dist/esm/shared/NOT_SERIALIZABLE.js +2 -0
- package/dist/esm/shared/modifyUrl.d.ts +2 -2
- package/dist/esm/shared/modifyUrl.js +3 -5
- package/dist/esm/shared/modifyUrlSameOrigin.d.ts +9 -0
- package/dist/esm/shared/modifyUrlSameOrigin.js +40 -0
- package/dist/esm/shared/page-configs/Config.d.ts +11 -3
- package/dist/esm/shared/page-configs/PageConfig.d.ts +2 -2
- package/dist/esm/shared/page-configs/getConfigDefinedAt.d.ts +3 -1
- package/dist/esm/shared/page-configs/getConfigDefinedAt.js +3 -2
- package/dist/esm/shared/page-configs/getConfigValueBuildTime.js +5 -5
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +9 -9
- package/dist/esm/shared/route/abort.d.ts +2 -2
- package/dist/esm/shared/types.d.ts +39 -3
- package/dist/esm/shared/utils.d.ts +2 -1
- package/dist/esm/shared/utils.js +2 -1
- package/dist/esm/types/index.d.ts +0 -1
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/assert.d.ts +2 -1
- package/dist/esm/utils/assert.js +10 -3
- package/dist/esm/utils/assertSetup.d.ts +2 -2
- package/dist/esm/utils/assertSetup.js +12 -8
- package/dist/esm/utils/assertSingleInstance.js +19 -4
- package/dist/esm/utils/getRandomId.d.ts +1 -1
- package/dist/esm/utils/getRandomId.js +1 -1
- package/dist/esm/utils/isNullish.d.ts +3 -0
- package/dist/esm/utils/isNullish.js +11 -0
- package/dist/esm/utils/normalizeHeaders.js +1 -1
- package/dist/esm/utils/objectAssign.d.ts +1 -1
- package/dist/esm/utils/objectAssign.js +7 -2
- package/dist/esm/utils/objectFilter.d.ts +1 -0
- package/dist/esm/utils/objectFilter.js +7 -0
- package/dist/esm/utils/pick.d.ts +1 -0
- package/dist/esm/utils/pick.js +9 -0
- package/package.json +4 -2
- package/dist/cjs/shared/notSerializable.js +0 -5
- package/dist/cjs/utils/isNotNullish.js +0 -5
- package/dist/esm/shared/notSerializable.d.ts +0 -1
- package/dist/esm/shared/notSerializable.js +0 -2
- package/dist/esm/utils/isNotNullish.d.ts +0 -1
- package/dist/esm/utils/isNotNullish.js +0 -1
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.modifyUrlSameOrigin = modifyUrlSameOrigin;
|
|
4
|
+
const utils_js_1 = require("./utils.js");
|
|
5
|
+
function modifyUrlSameOrigin(url, modify) {
|
|
6
|
+
const urlParsed = (0, utils_js_1.parseUrl)(url, '/');
|
|
7
|
+
// Pathname
|
|
8
|
+
const pathname = modify.pathname ?? urlParsed.pathnameOriginal;
|
|
9
|
+
(0, utils_js_1.assertUsageUrlPathnameAbsolute)(pathname, 'modify.pathname');
|
|
10
|
+
// Search
|
|
11
|
+
let search = modify.search === null ? '' : !modify.search ? urlParsed.searchOriginal : resolveSearch(urlParsed, modify.search);
|
|
12
|
+
if (search === '?')
|
|
13
|
+
search = '';
|
|
14
|
+
// Hash
|
|
15
|
+
let hash;
|
|
16
|
+
if (modify.hash === null) {
|
|
17
|
+
hash = '';
|
|
18
|
+
}
|
|
19
|
+
else if (modify.hash === undefined) {
|
|
20
|
+
hash = urlParsed.hashOriginal ?? '';
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
hash = modify.hash;
|
|
24
|
+
if (!hash.startsWith('#'))
|
|
25
|
+
hash = '#' + hash;
|
|
26
|
+
}
|
|
27
|
+
const urlModified = (0, utils_js_1.createUrlFromComponents)(urlParsed.origin, pathname, search, hash);
|
|
28
|
+
return urlModified;
|
|
29
|
+
}
|
|
30
|
+
function resolveSearch(urlParsed, search) {
|
|
31
|
+
let searchParams;
|
|
32
|
+
if (search instanceof URLSearchParams) {
|
|
33
|
+
// Overwrite
|
|
34
|
+
searchParams = search;
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
// Merge
|
|
38
|
+
const searchMap = (0, utils_js_1.objectFilter)({ ...urlParsed.search, ...search }, (utils_js_1.isNotNullish_keyVal));
|
|
39
|
+
searchParams = new URLSearchParams(searchMap);
|
|
40
|
+
}
|
|
41
|
+
return '?' + searchParams.toString();
|
|
42
|
+
}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.getConfigDefinedAt = getConfigDefinedAt;
|
|
7
7
|
exports.getConfigDefinedAtOptional = getConfigDefinedAtOptional;
|
|
8
8
|
exports.getDefinedAtString = getDefinedAtString;
|
|
9
|
+
exports.getDefinedByString = getDefinedByString;
|
|
9
10
|
const utils_js_1 = require("../utils.js");
|
|
10
11
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
11
12
|
const getExportPath_js_1 = require("./getExportPath.js");
|
|
@@ -49,14 +50,14 @@ function getDefinedAtString(definedAtData, configName) {
|
|
|
49
50
|
}
|
|
50
51
|
function getDefinedByString(definedAt, configName) {
|
|
51
52
|
if (definedAt.definedBy === 'api') {
|
|
52
|
-
return `API call ${picocolors_1.default.cyan(`${definedAt.operation}({${configName}})`)}`;
|
|
53
|
+
return `API call ${picocolors_1.default.cyan(`${definedAt.operation}({ vikeConfig: { ${configName} } })`)}`;
|
|
53
54
|
}
|
|
54
55
|
const { definedBy } = definedAt;
|
|
55
56
|
if (definedBy === 'cli') {
|
|
56
57
|
return `CLI option ${picocolors_1.default.cyan(`--${configName}`)}`;
|
|
57
58
|
}
|
|
58
59
|
if (definedBy === 'env') {
|
|
59
|
-
return `environment variable ${picocolors_1.default.cyan(`
|
|
60
|
+
return `environment variable ${picocolors_1.default.cyan(`VIKE_CONFIG="{${configName}}"`)}`;
|
|
60
61
|
}
|
|
61
62
|
(0, utils_js_1.checkType)(definedBy);
|
|
62
63
|
(0, utils_js_1.assert)(false);
|
|
@@ -58,11 +58,11 @@ function mergeCumulative(configValueSources) {
|
|
|
58
58
|
return { value, definedAtData };
|
|
59
59
|
}
|
|
60
60
|
function getDefinedAt(configValueSource) {
|
|
61
|
-
const {
|
|
62
|
-
if (
|
|
63
|
-
return
|
|
61
|
+
const { definedAt } = configValueSource;
|
|
62
|
+
if (definedAt.definedBy)
|
|
63
|
+
return definedAt;
|
|
64
64
|
return {
|
|
65
|
-
filePathToShowToUser:
|
|
66
|
-
fileExportPathToShowToUser:
|
|
65
|
+
filePathToShowToUser: definedAt.filePathToShowToUser,
|
|
66
|
+
fileExportPathToShowToUser: definedAt.fileExportPathToShowToUser
|
|
67
67
|
};
|
|
68
68
|
}
|
|
@@ -52,7 +52,7 @@ function serializeConfigValues(pageConfig, importStatements, filesEnv, isEnvMatc
|
|
|
52
52
|
function getValueSerializedFromSource(configValueSource, configName, importStatements, filesEnv) {
|
|
53
53
|
let valueData;
|
|
54
54
|
if (configValueSource.valueIsLoaded && !configValueSource.valueIsLoadedWithImport) {
|
|
55
|
-
valueData = getValueSerializedWithJson(configValueSource.value, configName, configValueSource.
|
|
55
|
+
valueData = getValueSerializedWithJson(configValueSource.value, configName, configValueSource.definedAt, importStatements, filesEnv, configValueSource.configEnv);
|
|
56
56
|
}
|
|
57
57
|
else {
|
|
58
58
|
valueData = getValueSerializedWithImport(configValueSource, importStatements, filesEnv, configName);
|
|
@@ -103,9 +103,9 @@ function serializeConfigValue(configValueBase, valueData, configName, lines, tab
|
|
|
103
103
|
}
|
|
104
104
|
function getValueSerializedWithImport(configValueSource, importStatements, filesEnv, configName) {
|
|
105
105
|
(0, utils_js_1.assert)(!configValueSource.valueIsFilePath);
|
|
106
|
-
const { valueIsDefinedByPlusValueFile,
|
|
107
|
-
(0, utils_js_1.assert)(!
|
|
108
|
-
const { filePathAbsoluteVite, fileExportName } =
|
|
106
|
+
const { valueIsDefinedByPlusValueFile, definedAt, configEnv } = configValueSource;
|
|
107
|
+
(0, utils_js_1.assert)(!definedAt.definedBy);
|
|
108
|
+
const { filePathAbsoluteVite, fileExportName } = definedAt;
|
|
109
109
|
if (valueIsDefinedByPlusValueFile)
|
|
110
110
|
(0, utils_js_1.assert)(fileExportName === undefined);
|
|
111
111
|
const { importName } = addImportStatement(importStatements, filePathAbsoluteVite, fileExportName || '*', filesEnv, configEnv, configName);
|
|
@@ -232,12 +232,12 @@ function getConfigValuesBase(pageConfig, isEnvMatch, isEager) {
|
|
|
232
232
|
return [...fromComputed, ...fromSources].filter((r) => r !== 'SKIP');
|
|
233
233
|
}
|
|
234
234
|
function getDefinedAtFileSource(source) {
|
|
235
|
-
const {
|
|
236
|
-
if (
|
|
237
|
-
return
|
|
235
|
+
const { definedAt } = source;
|
|
236
|
+
if (definedAt.definedBy)
|
|
237
|
+
return definedAt;
|
|
238
238
|
const definedAtFile = {
|
|
239
|
-
filePathToShowToUser:
|
|
240
|
-
fileExportPathToShowToUser:
|
|
239
|
+
filePathToShowToUser: definedAt.filePathToShowToUser,
|
|
240
|
+
fileExportPathToShowToUser: definedAt.fileExportPathToShowToUser
|
|
241
241
|
};
|
|
242
242
|
return definedAtFile;
|
|
243
243
|
}
|
package/dist/cjs/shared/utils.js
CHANGED
|
@@ -30,7 +30,7 @@ __exportStar(require("../utils/isBrowser.js"), exports);
|
|
|
30
30
|
__exportStar(require("../utils/hasProp.js"), exports);
|
|
31
31
|
__exportStar(require("../utils/isPlainObject.js"), exports);
|
|
32
32
|
__exportStar(require("../utils/compareString.js"), exports);
|
|
33
|
-
__exportStar(require("../utils/
|
|
33
|
+
__exportStar(require("../utils/isNullish.js"), exports);
|
|
34
34
|
__exportStar(require("../utils/stringifyStringArray.js"), exports);
|
|
35
35
|
__exportStar(require("../utils/cast.js"), exports);
|
|
36
36
|
__exportStar(require("../utils/isPropertyGetter.js"), exports);
|
|
@@ -42,3 +42,4 @@ __exportStar(require("../utils/isArray.js"), exports);
|
|
|
42
42
|
__exportStar(require("../utils/changeEnumerable.js"), exports);
|
|
43
43
|
__exportStar(require("../utils/objectDefineProperty.js"), exports);
|
|
44
44
|
__exportStar(require("../utils/isScriptFile.js"), exports);
|
|
45
|
+
__exportStar(require("../utils/objectFilter.js"), exports);
|
package/dist/cjs/utils/assert.js
CHANGED
|
@@ -47,7 +47,7 @@ function assert(condition, debugInfo) {
|
|
|
47
47
|
const debugInfoSerialized = typeof debugInfo === 'string' ? debugInfo : JSON.stringify(debugInfo);
|
|
48
48
|
return picocolors_1.default.dim(`Debug info (for Vike maintainers; you can ignore this): ${debugInfoSerialized}`);
|
|
49
49
|
})();
|
|
50
|
-
const link = picocolors_1.default.
|
|
50
|
+
const link = picocolors_1.default.underline('https://github.com/vikejs/vike/issues/new?template=bug.yml');
|
|
51
51
|
let errMsg = [
|
|
52
52
|
`You stumbled upon a Vike bug. Go to ${link} and copy-paste this error. A maintainer will fix the bug (usually within 24 hours).`,
|
|
53
53
|
debugStr
|
|
@@ -61,7 +61,7 @@ function assert(condition, debugInfo) {
|
|
|
61
61
|
globalObject.onBeforeLog?.();
|
|
62
62
|
throw internalError;
|
|
63
63
|
}
|
|
64
|
-
function assertUsage(condition, errMsg, { showStackTrace } = {}) {
|
|
64
|
+
function assertUsage(condition, errMsg, { showStackTrace, exitOnError } = {}) {
|
|
65
65
|
if (condition)
|
|
66
66
|
return;
|
|
67
67
|
showStackTrace = showStackTrace || globalObject.alwaysShowStackTrace;
|
|
@@ -73,7 +73,13 @@ function assertUsage(condition, errMsg, { showStackTrace } = {}) {
|
|
|
73
73
|
globalObject.showStackTraceList.add(usageError);
|
|
74
74
|
}
|
|
75
75
|
globalObject.onBeforeLog?.();
|
|
76
|
-
|
|
76
|
+
if (!exitOnError) {
|
|
77
|
+
throw usageError;
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
console.error(showStackTrace ? usageError : errMsg);
|
|
81
|
+
process.exit(1);
|
|
82
|
+
}
|
|
77
83
|
}
|
|
78
84
|
function getProjectError(errMsg) {
|
|
79
85
|
errMsg = addWhitespace(errMsg);
|
|
@@ -187,6 +193,7 @@ function overwriteAssertProductionLogger(logger) {
|
|
|
187
193
|
function isBug(err) {
|
|
188
194
|
return String(err).includes(`[${bugTag}]`);
|
|
189
195
|
}
|
|
196
|
+
// Called upon `DEBUG=vike:error`
|
|
190
197
|
function setAlwaysShowStackTrace() {
|
|
191
198
|
globalObject.alwaysShowStackTrace = true;
|
|
192
199
|
}
|
|
@@ -7,12 +7,12 @@ exports.assertIsNotProductionRuntime = assertIsNotProductionRuntime;
|
|
|
7
7
|
exports.onSetupRuntime = onSetupRuntime;
|
|
8
8
|
exports.onSetupBuild = onSetupBuild;
|
|
9
9
|
exports.onSetupPrerender = onSetupPrerender;
|
|
10
|
+
exports.onSetupPreview = onSetupPreview;
|
|
10
11
|
exports.setNodeEnvProduction = setNodeEnvProduction;
|
|
11
12
|
exports.markSetup_viteDevServer = markSetup_viteDevServer;
|
|
12
13
|
exports.markSetup_vitePreviewServer = markSetup_vitePreviewServer;
|
|
13
14
|
exports.markSetup_vikeVitePlugin = markSetup_vikeVitePlugin;
|
|
14
15
|
exports.markSetup_isViteDev = markSetup_isViteDev;
|
|
15
|
-
exports.markSetup_isPrerendering = markSetup_isPrerendering;
|
|
16
16
|
const assert_js_1 = require("./assert.js");
|
|
17
17
|
const assertIsNotBrowser_js_1 = require("./assertIsNotBrowser.js");
|
|
18
18
|
const debug_js_1 = require("./debug.js");
|
|
@@ -34,7 +34,7 @@ function onSetupRuntime() {
|
|
|
34
34
|
if (isTest())
|
|
35
35
|
return;
|
|
36
36
|
assertNodeEnvIsNotUndefinedString();
|
|
37
|
-
if (!
|
|
37
|
+
if (!setup.viteDevServer && setup.isViteDev === undefined) {
|
|
38
38
|
// TODO: make it assertUsage() again once https://github.com/vikejs/vike/issues/1528 is implemented.
|
|
39
39
|
(0, assert_js_1.assertWarning)(!isNodeEnvDev(), `The ${getEnvDescription()}, which is contradictory because the environment seems to be a production environment (Vite isn't loaded), see https://vike.dev/NODE_ENV`, { onlyOnce: true });
|
|
40
40
|
(0, assert_js_1.assertUsage)(!setup.vikeVitePlugin, `Loading Vike's Vite plugin (the ${picocolors_1.default.cyan('vike/plugin')} module) is prohibited in production.`);
|
|
@@ -42,11 +42,10 @@ function onSetupRuntime() {
|
|
|
42
42
|
(0, assert_js_1.assert)(!setup.shouldNotBeProduction);
|
|
43
43
|
}
|
|
44
44
|
else {
|
|
45
|
-
if (!setup.vitePreviewServer && !setup.isPrerendering) {
|
|
45
|
+
if (!setup.isPreview && !setup.vitePreviewServer && !setup.isPrerendering) {
|
|
46
46
|
// TODO: make it assertUsage() again once https://github.com/vikejs/vike/issues/1528 is implemented.
|
|
47
47
|
(0, assert_js_1.assertWarning)(isNodeEnvDev(), `The ${getEnvDescription()}, but Vite is loaded which is prohibited in production, see https://vike.dev/NODE_ENV`, { onlyOnce: true });
|
|
48
48
|
}
|
|
49
|
-
// These two assert() calls aren't that interesting
|
|
50
49
|
(0, assert_js_1.assert)(setup.vikeVitePlugin);
|
|
51
50
|
(0, assert_js_1.assert)(setup.shouldNotBeProduction);
|
|
52
51
|
}
|
|
@@ -63,15 +62,16 @@ function onSetupBuild() {
|
|
|
63
62
|
setNodeEnvProduction()
|
|
64
63
|
*/
|
|
65
64
|
}
|
|
65
|
+
// Called by ../node/prerender/runPrerender.ts
|
|
66
66
|
function onSetupPrerender() {
|
|
67
67
|
markSetup_isPrerendering();
|
|
68
68
|
if (getNodeEnv())
|
|
69
69
|
assertUsageNodeEnvIsNotDev('pre-rendering');
|
|
70
70
|
setNodeEnvProduction();
|
|
71
71
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
// Called by ../node/api/preview.ts
|
|
73
|
+
function onSetupPreview() {
|
|
74
|
+
markSetup_isPreview();
|
|
75
75
|
}
|
|
76
76
|
function isTest() {
|
|
77
77
|
return (0, isVitest_js_1.isVitest)() || isNodeEnv('test');
|
|
@@ -100,12 +100,16 @@ function markSetup_isViteDev(isViteDev) {
|
|
|
100
100
|
debug('markSetup_isViteDev()', new Error().stack);
|
|
101
101
|
setup.isViteDev = isViteDev;
|
|
102
102
|
}
|
|
103
|
-
// Called by ../node/prerender/runPrerender.ts
|
|
104
103
|
function markSetup_isPrerendering() {
|
|
105
104
|
if (debug.isActivated)
|
|
106
105
|
debug('markSetup_isPrerendering()', new Error().stack);
|
|
107
106
|
setup.isPrerendering = true;
|
|
108
107
|
}
|
|
108
|
+
function markSetup_isPreview() {
|
|
109
|
+
if (debug.isActivated)
|
|
110
|
+
debug('markSetup_isPreview()', new Error().stack);
|
|
111
|
+
setup.isPreview = true;
|
|
112
|
+
}
|
|
109
113
|
function assertUsageNodeEnvIsNotDev(operation) {
|
|
110
114
|
if (!isNodeEnvDev())
|
|
111
115
|
return;
|
|
@@ -16,13 +16,24 @@ const PROJECT_VERSION_js_1 = require("./PROJECT_VERSION.js");
|
|
|
16
16
|
/* Use original assertWarning() after all CJS is removed from node_modules/vike/dist/
|
|
17
17
|
import { assertWarning } from './assert.js'
|
|
18
18
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
let globalObject;
|
|
20
|
+
// getGlobalObjectSafe() can be called before this line
|
|
21
|
+
globalObject ?? (globalObject = genGlobalConfig());
|
|
22
|
+
function genGlobalConfig() {
|
|
23
|
+
return (0, getGlobalObject_js_1.getGlobalObject)('utils/assertSingleInstance.ts', {
|
|
24
|
+
instances: [],
|
|
25
|
+
alreadyLogged: new Set()
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
// We need getGlobalObjectSafe() because globalObject is `undefined` when exported functions are called before globalObject is initialized
|
|
29
|
+
function getGlobalObjectSafe() {
|
|
30
|
+
globalObject ?? (globalObject = genGlobalConfig());
|
|
31
|
+
return globalObject;
|
|
32
|
+
}
|
|
23
33
|
const clientRuntimesClonflict = 'Client runtime of both Server Routing and Client Routing loaded https://vike.dev/client-runtimes-conflict';
|
|
24
34
|
const clientNotSingleInstance = 'Client runtime loaded twice https://vike.dev/client-runtime-duplicated';
|
|
25
35
|
function assertSingleInstance() {
|
|
36
|
+
const globalObject = getGlobalObjectSafe();
|
|
26
37
|
{
|
|
27
38
|
const versions = (0, unique_js_1.unique)(globalObject.instances);
|
|
28
39
|
assertWarning(versions.length <= 1,
|
|
@@ -39,6 +50,7 @@ function assertSingleInstance() {
|
|
|
39
50
|
}
|
|
40
51
|
}
|
|
41
52
|
function assertSingleInstance_onClientEntryServerRouting(isProduction) {
|
|
53
|
+
const globalObject = getGlobalObjectSafe();
|
|
42
54
|
assertWarning(globalObject.isClientRouting !== true, clientRuntimesClonflict, {
|
|
43
55
|
onlyOnce: true,
|
|
44
56
|
showStackTrace: true
|
|
@@ -53,6 +65,7 @@ function assertSingleInstance_onClientEntryServerRouting(isProduction) {
|
|
|
53
65
|
assertSingleInstance();
|
|
54
66
|
}
|
|
55
67
|
function assertSingleInstance_onClientEntryClientRouting(isProduction) {
|
|
68
|
+
const globalObject = getGlobalObjectSafe();
|
|
56
69
|
assertWarning(globalObject.isClientRouting !== false, clientRuntimesClonflict, {
|
|
57
70
|
onlyOnce: true,
|
|
58
71
|
showStackTrace: true
|
|
@@ -68,10 +81,12 @@ function assertSingleInstance_onClientEntryClientRouting(isProduction) {
|
|
|
68
81
|
}
|
|
69
82
|
// Called by utils/assert.ts which is (most certainly) loaded by all entries. That way we don't have to call a callback for every entry. (There are a lot of entries: `client/router/`, `client/`, `node/runtime/`, `node/plugin/`, `node/cli`.)
|
|
70
83
|
function assertSingleInstance_onAssertModuleLoad() {
|
|
84
|
+
const globalObject = getGlobalObjectSafe();
|
|
71
85
|
globalObject.instances.push(PROJECT_VERSION_js_1.PROJECT_VERSION);
|
|
72
86
|
assertSingleInstance();
|
|
73
87
|
}
|
|
74
88
|
function assertWarning(condition, errorMessage, { onlyOnce, showStackTrace }) {
|
|
89
|
+
const globalObject = getGlobalObjectSafe();
|
|
75
90
|
if (condition) {
|
|
76
91
|
return;
|
|
77
92
|
}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getRandomId = getRandomId;
|
|
4
4
|
const assert_js_1 = require("./assert.js");
|
|
5
5
|
// https://stackoverflow.com/questions/1349404/generate-random-string-characters-in-javascript
|
|
6
|
-
function getRandomId(length) {
|
|
6
|
+
function getRandomId(length = 12) {
|
|
7
7
|
let randomId = '';
|
|
8
8
|
while (randomId.length < length) {
|
|
9
9
|
randomId += Math.random().toString(36).slice(2);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isNullish = isNullish;
|
|
4
|
+
exports.isNotNullish = isNotNullish;
|
|
5
|
+
exports.isNotNullish_keyVal = isNotNullish_keyVal;
|
|
6
|
+
function isNullish(val) {
|
|
7
|
+
return val === null || val === undefined;
|
|
8
|
+
}
|
|
9
|
+
// someArray.filter(isNotNullish)
|
|
10
|
+
function isNotNullish(p) {
|
|
11
|
+
return !isNullish(p);
|
|
12
|
+
}
|
|
13
|
+
// objectFilter(obj).filter(isNotNullish_keyVal)
|
|
14
|
+
function isNotNullish_keyVal(arg) {
|
|
15
|
+
return !isNullish(arg[1]);
|
|
16
|
+
}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.normalizeHeaders = normalizeHeaders;
|
|
4
4
|
const isObject_js_1 = require("./isObject.js");
|
|
5
5
|
function normalizeHeaders(
|
|
6
|
-
/* This type is
|
|
6
|
+
/* This type is too strict which is annoying: cannot pass `string[][]` because it doesn't match the more precise type `[string,string][]`.
|
|
7
7
|
headersOriginal ConstructorParameters<typeof Headers>[0]
|
|
8
8
|
*/
|
|
9
9
|
headersOriginal) {
|
|
@@ -5,9 +5,14 @@ const assert_js_1 = require("./assert.js");
|
|
|
5
5
|
// Same as Object.assign() but:
|
|
6
6
|
// - With type inference
|
|
7
7
|
// - Preserves property descriptors, which we need for preserving the getters added by getPageContextUrlComputed()
|
|
8
|
-
function objectAssign(obj, objAddendum) {
|
|
8
|
+
function objectAssign(obj, objAddendum, objAddendumCanBePageContextObject) {
|
|
9
9
|
if (objAddendum) {
|
|
10
|
-
|
|
10
|
+
if (!objAddendumCanBePageContextObject) {
|
|
11
|
+
// We only need this assert() in the rare case when the user is expected to mutate `pageContext` after the Vike hook was executed (and its promise resolved).
|
|
12
|
+
// - The only use case I can think of is the user mutating `pageContext` after the onRenderClient() promise resolved (which can happen when client-side rendering finishes after onRenderClient() resolves). In that case, having Vike await async Vike hooks isn't enough.
|
|
13
|
+
// - IIRC this assert() was mostly needed for preserving the getters added by getPageContextUrlComputed() but we don't need this anymore.
|
|
14
|
+
(0, assert_js_1.assert)(!('_isPageContextObject' in objAddendum));
|
|
15
|
+
}
|
|
11
16
|
Object.defineProperties(obj, Object.getOwnPropertyDescriptors(objAddendum));
|
|
12
17
|
}
|
|
13
18
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.objectFilter = objectFilter;
|
|
4
|
+
// Type inference for:
|
|
5
|
+
// ```js
|
|
6
|
+
// Object.fromEntries(Object.entries(obj).filter(someFilter))
|
|
7
|
+
// ```
|
|
8
|
+
function objectFilter(obj, filter) {
|
|
9
|
+
return Object.fromEntries(Object.entries(obj).filter(filter));
|
|
10
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pick = pick;
|
|
4
|
+
function pick(obj, keys) {
|
|
5
|
+
const result = {};
|
|
6
|
+
for (const key of keys) {
|
|
7
|
+
if (key in obj) {
|
|
8
|
+
result[key] = obj[key];
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
return result;
|
|
12
|
+
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export { createPageContext };
|
|
2
2
|
declare function createPageContext(urlOriginal: string): Promise<{
|
|
3
|
+
_isPageContextObject: boolean;
|
|
4
|
+
isClientSide: boolean;
|
|
5
|
+
isPrerendering: boolean;
|
|
3
6
|
urlOriginal: string;
|
|
4
7
|
_objectCreatedByVike: boolean;
|
|
5
8
|
_urlHandler: null;
|
|
@@ -11,7 +14,6 @@ declare function createPageContext(urlOriginal: string): Promise<{
|
|
|
11
14
|
_allPageIds: string[];
|
|
12
15
|
_pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
|
|
13
16
|
_onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
|
|
14
|
-
_isPageContextObject: boolean;
|
|
15
17
|
} & {
|
|
16
18
|
urlParsed: import("./utils.js").UrlPublic;
|
|
17
19
|
urlPathname: string;
|
|
@@ -4,7 +4,6 @@ import { getPageContextUrlComputed } from '../../shared/getPageContextUrlCompute
|
|
|
4
4
|
import { loadPageRoutes } from '../../shared/route/loadPageRoutes.js';
|
|
5
5
|
import { getBaseServer } from './getBaseServer.js';
|
|
6
6
|
import { assert, isBaseServer, objectAssign } from './utils.js';
|
|
7
|
-
// TODO/now: can we avoid optimizeDeps.exclude of client runtime?
|
|
8
7
|
// @ts-ignore
|
|
9
8
|
import * as virtualFileExports from 'virtual:vike:importUserCode:client:client-routing';
|
|
10
9
|
const { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal } = getPageConfigsRuntime(virtualFileExports);
|
|
@@ -13,6 +12,9 @@ async function createPageContext(urlOriginal) {
|
|
|
13
12
|
const baseServer = getBaseServer();
|
|
14
13
|
assert(isBaseServer(baseServer));
|
|
15
14
|
const pageContext = {
|
|
15
|
+
_isPageContextObject: true,
|
|
16
|
+
isClientSide: true,
|
|
17
|
+
isPrerendering: false,
|
|
16
18
|
urlOriginal,
|
|
17
19
|
_objectCreatedByVike: true,
|
|
18
20
|
_urlHandler: null,
|
|
@@ -23,8 +25,7 @@ async function createPageContext(urlOriginal) {
|
|
|
23
25
|
_pageConfigGlobal: pageConfigGlobal,
|
|
24
26
|
_allPageIds: allPageIds,
|
|
25
27
|
_pageRoutes: pageRoutes,
|
|
26
|
-
_onBeforeRouteHook: onBeforeRouteHook
|
|
27
|
-
_isPageContextObject: true
|
|
28
|
+
_onBeforeRouteHook: onBeforeRouteHook
|
|
28
29
|
};
|
|
29
30
|
const pageContextUrlComputed = getPageContextUrlComputed(pageContext);
|
|
30
31
|
objectAssign(pageContext, pageContextUrlComputed);
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
export { navigate };
|
|
2
2
|
export { reload };
|
|
3
|
+
type Options = {
|
|
4
|
+
keepScrollPosition?: boolean;
|
|
5
|
+
overwriteLastHistoryEntry?: boolean;
|
|
6
|
+
pageContext?: Record<string, unknown>;
|
|
7
|
+
};
|
|
3
8
|
/** Programmatically navigate to a new page.
|
|
4
9
|
*
|
|
5
10
|
* https://vike.dev/navigate
|
|
@@ -8,9 +13,5 @@ export { reload };
|
|
|
8
13
|
* @param keepScrollPosition - Don't scroll to the top of the page, instead keep the current scroll position.
|
|
9
14
|
* @param overwriteLastHistoryEntry - Don't create a new entry in the browser's history, instead let the new URL replace the current URL. (This effectively removes the current URL from the browser history).
|
|
10
15
|
*/
|
|
11
|
-
declare function navigate(url: string,
|
|
12
|
-
keepScrollPosition?: boolean;
|
|
13
|
-
overwriteLastHistoryEntry?: boolean;
|
|
14
|
-
pageContext?: Record<string, unknown>;
|
|
15
|
-
}): Promise<void>;
|
|
16
|
+
declare function navigate(url: string, options?: Options): Promise<void>;
|
|
16
17
|
declare function reload(): Promise<void>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { navigate };
|
|
2
2
|
export { reload };
|
|
3
|
+
// import { modifyUrlSameOrigin, ModifyUrlSameOriginOptions } from '../../shared/modifyUrlSameOrigin.js'
|
|
3
4
|
import { getCurrentUrl } from '../shared/getCurrentUrl.js';
|
|
4
5
|
import { normalizeUrlArgument } from './normalizeUrlArgument.js';
|
|
5
6
|
import { firstRenderStartPromise, renderPageClientSide } from './renderPageClientSide.js';
|
|
@@ -13,11 +14,14 @@ assertClientRouting();
|
|
|
13
14
|
* @param keepScrollPosition - Don't scroll to the top of the page, instead keep the current scroll position.
|
|
14
15
|
* @param overwriteLastHistoryEntry - Don't create a new entry in the browser's history, instead let the new URL replace the current URL. (This effectively removes the current URL from the browser history).
|
|
15
16
|
*/
|
|
16
|
-
async function navigate(url,
|
|
17
|
+
async function navigate(url, options) {
|
|
18
|
+
// let url = normalizeUrlArgument(options.url ?? getCurrentUrl(), 'navigate')
|
|
19
|
+
// url = modifyUrlSameOrigin(url, options)
|
|
17
20
|
normalizeUrlArgument(url, 'navigate');
|
|
18
21
|
// If `hydrationCanBeAborted === false` (e.g. Vue) then we can apply navigate() only after hydration is done
|
|
19
22
|
await firstRenderStartPromise;
|
|
20
|
-
const
|
|
23
|
+
const { keepScrollPosition, overwriteLastHistoryEntry, pageContext } = options ?? {};
|
|
24
|
+
const scrollTarget = { preserveScroll: keepScrollPosition ?? false };
|
|
21
25
|
await renderPageClientSide({
|
|
22
26
|
scrollTarget,
|
|
23
27
|
urlOriginal: url,
|
|
@@ -2,7 +2,7 @@ export { normalizeUrlArgument };
|
|
|
2
2
|
import { assertUsage, isUrl, isUrlRelative } from './utils.js';
|
|
3
3
|
function normalizeUrlArgument(url, fnName) {
|
|
4
4
|
// Succinct error message to save client-side KBs
|
|
5
|
-
const errMsg = `
|
|
5
|
+
const errMsg = `URL ${url} passed to ${fnName}() is invalid`;
|
|
6
6
|
assertUsage(isUrl(url), errMsg);
|
|
7
7
|
if (url.startsWith(location.origin)) {
|
|
8
8
|
// Use normalizeClientSideUrl() instead?
|
|
@@ -276,7 +276,7 @@ async function renderPageClientSide(renderArgs) {
|
|
|
276
276
|
if ('err' in args) {
|
|
277
277
|
const { err } = args;
|
|
278
278
|
assert(!('errorWhileRendering' in pageContext));
|
|
279
|
-
pageContext
|
|
279
|
+
objectAssign(pageContext, { errorWhileRendering: err });
|
|
280
280
|
if (isAbortError(err)) {
|
|
281
281
|
const errAbort = err;
|
|
282
282
|
logAbortErrorHandled(err, !import.meta.env.DEV, pageContext);
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
export { getPageContext };
|
|
2
2
|
declare function getPageContext(): Promise<{
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
_isPageContextObject: boolean;
|
|
4
|
+
isPrerendering: boolean;
|
|
5
|
+
isClientSide: boolean;
|
|
6
6
|
isHydration: true;
|
|
7
7
|
isBackwardNavigation: null;
|
|
8
8
|
_hasPageContextFromServer: true;
|
|
9
9
|
_hasPageContextFromClient: false;
|
|
10
|
+
} & {
|
|
11
|
+
pageId: string;
|
|
12
|
+
routeParams: Record<string, string>;
|
|
10
13
|
} & {
|
|
11
14
|
_pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
|
|
12
15
|
_pageConfigs: import("../../__internal/index.js").PageConfig[];
|
|
@@ -9,13 +9,16 @@ import * as virtualFileExports from 'virtual:vike:importUserCode:client:server-r
|
|
|
9
9
|
const { pageFilesAll, pageConfigs, pageConfigGlobal } = getPageConfigsRuntime(virtualFileExports);
|
|
10
10
|
const urlFirst = getCurrentUrl({ withoutHash: true });
|
|
11
11
|
async function getPageContext() {
|
|
12
|
-
const pageContext =
|
|
13
|
-
|
|
12
|
+
const pageContext = {
|
|
13
|
+
_isPageContextObject: true,
|
|
14
|
+
isPrerendering: false,
|
|
15
|
+
isClientSide: true,
|
|
14
16
|
isHydration: true,
|
|
15
17
|
isBackwardNavigation: null,
|
|
16
18
|
_hasPageContextFromServer: true,
|
|
17
19
|
_hasPageContextFromClient: false
|
|
18
|
-
}
|
|
20
|
+
};
|
|
21
|
+
objectAssign(pageContext, getPageContextSerializedInHtml());
|
|
19
22
|
objectAssign(pageContext, await loadPageUserFiles(pageContext.pageId));
|
|
20
23
|
assertPristineUrl();
|
|
21
24
|
return pageContext;
|
|
@@ -1,12 +1,2 @@
|
|
|
1
1
|
export { getPageContextProxyForUser };
|
|
2
|
-
|
|
3
|
-
type PageContextForPassToClientWarning = {
|
|
4
|
-
_hasPageContextFromServer: boolean;
|
|
5
|
-
_hasPageContextFromClient: boolean;
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* Throw error when pageContext value isn't:
|
|
9
|
-
* - serializable, or
|
|
10
|
-
* - defined.
|
|
11
|
-
*/
|
|
12
|
-
declare function getPageContextProxyForUser<PageContext extends Record<string, unknown> & PageContextForPassToClientWarning>(pageContext: PageContext): PageContext;
|
|
2
|
+
declare function getPageContextProxyForUser<PageContext extends Record<string, unknown>>(pageContext: PageContext): PageContext;
|