vike 0.4.171 → 0.4.172-commit-ea2b76c
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/plugin/plugins/buildConfig.js +3 -4
- package/dist/cjs/node/plugin/plugins/devConfig/determineOptimizeDeps.js +18 -15
- package/dist/cjs/node/plugin/plugins/devConfig/index.js +2 -1
- package/dist/cjs/node/plugin/plugins/envVars.js +2 -1
- package/dist/cjs/node/plugin/plugins/extractAssetsPlugin.js +1 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/{generateEagerImport.js → addImportStatement.js} +8 -10
- package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +0 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +3 -3
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +17 -6
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +2 -2
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +31 -75
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +4 -43
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +9 -50
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/isRuntimeEnvMatch.js +6 -0
- package/dist/cjs/node/plugin/shared/addSsrMiddleware.js +17 -2
- package/dist/cjs/node/prerender/runPrerender.js +35 -15
- package/dist/cjs/node/prerender/utils.js +1 -0
- package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +3 -3
- package/dist/cjs/node/runtime/html/injectAssets/getViteDevScripts.js +2 -1
- package/dist/cjs/node/runtime/html/injectAssets/mergeScriptTags.js +2 -8
- package/dist/cjs/node/runtime/html/renderHtml.js +19 -20
- package/dist/cjs/node/runtime/html/stream.js +9 -9
- package/dist/cjs/node/runtime/renderPage/analyzePage.js +9 -7
- package/dist/cjs/node/runtime/renderPage/createHttpResponseObject/getCacheControl.js +1 -1
- package/dist/cjs/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.js +2 -2
- package/dist/cjs/node/runtime/renderPage/executeOnRenderHtmlHook.js +8 -8
- package/dist/cjs/node/runtime/renderPage/getHttpResponseBody.js +2 -2
- package/dist/cjs/node/runtime/renderPage/loadUserFilesServerSide.js +4 -5
- package/dist/cjs/node/runtime/renderPage/logErrorHint.js +91 -282
- package/dist/cjs/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.js +2 -2
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +30 -10
- package/dist/cjs/node/runtime/renderPage.js +24 -17
- package/dist/cjs/node/runtime/utils.js +2 -0
- package/dist/cjs/node/shared/assertV1Design.js +3 -4
- package/dist/cjs/shared/getPageContext.js +5 -0
- package/dist/cjs/shared/{addUrlComputedProps.js → getPageContextUrlComputed.js} +52 -42
- package/dist/cjs/shared/getPageFiles/analyzeClientSide.js +2 -2
- package/dist/cjs/shared/getPageFiles/getExports.js +49 -1
- package/dist/cjs/shared/getPageFiles/parseGlobResults.js +15 -8
- package/dist/cjs/shared/hooks/executeHook.js +22 -3
- package/dist/cjs/shared/hooks/getHook.js +2 -2
- package/dist/cjs/shared/page-configs/getConfigValue.js +14 -17
- package/dist/cjs/shared/page-configs/getConfigValueBuildTime.js +70 -0
- package/dist/cjs/shared/page-configs/loadConfigValues.js +3 -12
- package/dist/cjs/shared/page-configs/serialize/assertPageConfigsSerialized.js +0 -18
- package/dist/cjs/shared/page-configs/serialize/parsePageConfigs.js +110 -16
- package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +198 -0
- package/dist/cjs/shared/route/executeGuardHook.js +1 -1
- package/dist/cjs/shared/route/executeOnBeforeRouteHook.js +1 -1
- package/dist/cjs/shared/route/index.js +2 -2
- package/dist/cjs/shared/route/loadPageRoutes.js +2 -2
- package/dist/cjs/shared/route/resolveRouteFunction.js +2 -2
- package/dist/cjs/shared/sortPageContext.js +4 -8
- package/dist/cjs/shared/utils.js +2 -0
- package/dist/cjs/utils/assert.js +1 -1
- package/dist/cjs/utils/assertNodeVersion.js +1 -1
- package/dist/cjs/utils/changeEnumerable.js +9 -0
- package/dist/cjs/utils/escapeHtml.js +14 -0
- package/dist/cjs/utils/getPropAccessNotation.js +1 -4
- package/dist/cjs/utils/hasProp.js +5 -7
- package/dist/cjs/utils/normalizeHeaders.js +13 -0
- package/dist/cjs/utils/objectAssign.js +1 -1
- package/dist/cjs/utils/objectDefineProperty.js +8 -0
- package/dist/cjs/utils/objectKeys.js +8 -4
- package/dist/cjs/utils/projectInfo.js +1 -1
- package/dist/esm/client/client-routing-runtime/createPageContext.d.ts +6 -4
- package/dist/esm/client/client-routing-runtime/createPageContext.js +4 -3
- package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.js +16 -12
- package/dist/esm/client/client-routing-runtime/installClientRouter.js +18 -10
- package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +3 -3
- package/dist/esm/client/server-routing-runtime/getPageContext.d.ts +4 -4
- package/dist/esm/client/server-routing-runtime/utils.d.ts +1 -0
- package/dist/esm/client/server-routing-runtime/utils.js +1 -0
- package/dist/esm/client/shared/executeOnRenderClientHook.js +1 -1
- package/dist/esm/client/shared/getPageContextProxyForUser.d.ts +3 -2
- package/dist/esm/client/shared/getPageContextProxyForUser.js +35 -48
- package/dist/esm/client/shared/loadUserFilesClientSide.js +4 -4
- package/dist/esm/node/plugin/plugins/buildConfig.js +3 -4
- package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.js +18 -15
- package/dist/esm/node/plugin/plugins/devConfig/index.js +2 -1
- package/dist/esm/node/plugin/plugins/envVars.js +2 -1
- package/dist/esm/node/plugin/plugins/extractAssetsPlugin.js +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/addImportStatement.d.ts +14 -0
- package/dist/esm/node/plugin/plugins/importUserCode/{generateEagerImport.js → addImportStatement.js} +7 -9
- package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +0 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.d.ts +2 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +3 -3
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +18 -7
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +2 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +31 -75
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +4 -43
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +9 -50
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/isRuntimeEnvMatch.d.ts +1 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/isRuntimeEnvMatch.js +6 -0
- package/dist/esm/node/plugin/shared/addSsrMiddleware.js +14 -2
- package/dist/esm/node/prerender/runPrerender.js +37 -17
- package/dist/esm/node/prerender/utils.d.ts +1 -0
- package/dist/esm/node/prerender/utils.js +1 -0
- package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +3 -3
- package/dist/esm/node/runtime/html/injectAssets/getViteDevScripts.js +3 -2
- package/dist/esm/node/runtime/html/injectAssets/mergeScriptTags.d.ts +1 -1
- package/dist/esm/node/runtime/html/injectAssets/mergeScriptTags.js +2 -8
- package/dist/esm/node/runtime/html/renderHtml.js +19 -20
- package/dist/esm/node/runtime/html/stream.d.ts +1 -1
- package/dist/esm/node/runtime/html/stream.js +9 -9
- package/dist/esm/node/runtime/renderPage/analyzePage.js +9 -7
- package/dist/esm/node/runtime/renderPage/createHttpResponseObject/getCacheControl.js +2 -2
- package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.js +2 -2
- package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.js +8 -8
- package/dist/esm/node/runtime/renderPage/getHttpResponseBody.js +2 -2
- package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.d.ts +1 -6
- package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.js +4 -5
- package/dist/esm/node/runtime/renderPage/logErrorHint.d.ts +2 -6
- package/dist/esm/node/runtime/renderPage/logErrorHint.js +92 -283
- package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.js +2 -2
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +65 -39
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +31 -11
- package/dist/esm/node/runtime/renderPage.js +24 -17
- package/dist/esm/node/runtime/utils.d.ts +2 -0
- package/dist/esm/node/runtime/utils.js +2 -0
- package/dist/esm/node/shared/assertV1Design.d.ts +2 -2
- package/dist/esm/node/shared/assertV1Design.js +3 -4
- package/dist/esm/shared/VikeNamespace.d.ts +9 -0
- package/dist/esm/shared/getPageContext.d.ts +1 -0
- package/dist/esm/shared/getPageContext.js +1 -0
- package/dist/esm/shared/{addUrlComputedProps.d.ts → getPageContextUrlComputed.d.ts} +23 -21
- package/dist/esm/shared/{addUrlComputedProps.js → getPageContextUrlComputed.js} +52 -42
- package/dist/esm/shared/getPageFiles/analyzeClientSide.js +3 -3
- package/dist/esm/shared/getPageFiles/getExports.d.ts +36 -0
- package/dist/esm/shared/getPageFiles/getExports.js +50 -2
- package/dist/esm/shared/getPageFiles/parseGlobResults.js +14 -7
- package/dist/esm/shared/hooks/executeHook.d.ts +10 -1
- package/dist/esm/shared/hooks/executeHook.js +21 -2
- package/dist/esm/shared/hooks/getHook.d.ts +2 -2
- package/dist/esm/shared/hooks/getHook.js +3 -3
- package/dist/esm/shared/page-configs/Config/PageContextConfig.d.ts +2 -2
- package/dist/esm/shared/page-configs/PageConfig.d.ts +14 -8
- package/dist/esm/shared/page-configs/getConfigValue.d.ts +12 -12
- package/dist/esm/shared/page-configs/getConfigValue.js +13 -16
- package/dist/esm/shared/page-configs/getConfigValueBuildTime.d.ts +9 -0
- package/dist/esm/shared/page-configs/getConfigValueBuildTime.js +67 -0
- package/dist/esm/shared/page-configs/loadConfigValues.js +3 -12
- package/dist/esm/shared/page-configs/serialize/PageConfigSerialized.d.ts +17 -21
- package/dist/esm/shared/page-configs/serialize/assertPageConfigsSerialized.d.ts +1 -5
- package/dist/esm/shared/page-configs/serialize/assertPageConfigsSerialized.js +1 -16
- package/dist/esm/shared/page-configs/serialize/parsePageConfigs.d.ts +4 -1
- package/dist/esm/shared/page-configs/serialize/parsePageConfigs.js +109 -15
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.d.ts +5 -0
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +192 -0
- package/dist/esm/shared/route/executeGuardHook.js +1 -1
- package/dist/esm/shared/route/executeOnBeforeRouteHook.js +1 -1
- package/dist/esm/shared/route/index.d.ts +3 -3
- package/dist/esm/shared/route/index.js +2 -2
- package/dist/esm/shared/route/loadPageRoutes.js +3 -3
- package/dist/esm/shared/route/resolveRouteFunction.d.ts +2 -2
- package/dist/esm/shared/route/resolveRouteFunction.js +2 -2
- package/dist/esm/shared/sortPageContext.js +4 -8
- package/dist/esm/shared/types.d.ts +32 -6
- package/dist/esm/shared/utils.d.ts +2 -0
- package/dist/esm/shared/utils.js +2 -0
- package/dist/esm/types/index.d.ts +1 -1
- package/dist/esm/utils/assert.js +1 -1
- package/dist/esm/utils/assertNodeVersion.js +1 -1
- package/dist/esm/utils/changeEnumerable.d.ts +2 -0
- package/dist/esm/utils/changeEnumerable.js +5 -0
- package/dist/esm/utils/escapeHtml.d.ts +1 -0
- package/dist/esm/utils/escapeHtml.js +10 -0
- package/dist/esm/utils/getPropAccessNotation.d.ts +1 -2
- package/dist/esm/utils/getPropAccessNotation.js +2 -6
- package/dist/esm/utils/hasProp.d.ts +4 -13
- package/dist/esm/utils/hasProp.js +5 -7
- package/dist/esm/utils/normalizeHeaders.d.ts +1 -0
- package/dist/esm/utils/normalizeHeaders.js +9 -0
- package/dist/esm/utils/objectAssign.js +1 -1
- package/dist/esm/utils/objectDefineProperty.d.ts +4 -0
- package/dist/esm/utils/objectDefineProperty.js +4 -0
- package/dist/esm/utils/objectKeys.d.ts +1 -3
- package/dist/esm/utils/objectKeys.js +8 -4
- package/dist/esm/utils/projectInfo.d.ts +2 -2
- package/dist/esm/utils/projectInfo.js +1 -1
- package/package.json +21 -12
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getConfigValuesSerialized.js +0 -76
- package/dist/cjs/node/plugin/shared/getConfigValueSourcesNotOverriden.js +0 -14
- package/dist/cjs/node/shared/getClientEntry.js +0 -12
- package/dist/cjs/shared/page-configs/serialize/parseConfigValuesImported.js +0 -85
- package/dist/cjs/shared/page-configs/serialize/parseConfigValuesSerialized.js +0 -24
- package/dist/cjs/shared/page-configs/serialize/serializeConfigValue.js +0 -50
- package/dist/esm/node/plugin/plugins/importUserCode/generateEagerImport.d.ts +0 -16
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getConfigValuesSerialized.d.ts +0 -5
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getConfigValuesSerialized.js +0 -70
- package/dist/esm/node/plugin/shared/getConfigValueSourcesNotOverriden.d.ts +0 -5
- package/dist/esm/node/plugin/shared/getConfigValueSourcesNotOverriden.js +0 -11
- package/dist/esm/node/shared/getClientEntry.d.ts +0 -3
- package/dist/esm/node/shared/getClientEntry.js +0 -9
- package/dist/esm/shared/page-configs/serialize/parseConfigValuesImported.d.ts +0 -4
- package/dist/esm/shared/page-configs/serialize/parseConfigValuesImported.js +0 -82
- package/dist/esm/shared/page-configs/serialize/parseConfigValuesSerialized.d.ts +0 -4
- package/dist/esm/shared/page-configs/serialize/parseConfigValuesSerialized.js +0 -21
- package/dist/esm/shared/page-configs/serialize/serializeConfigValue.d.ts +0 -8
- package/dist/esm/shared/page-configs/serialize/serializeConfigValue.js +0 -47
|
@@ -1,49 +1,89 @@
|
|
|
1
1
|
export { logErrorHint };
|
|
2
|
-
// For ./logErrorHint
|
|
3
|
-
export {
|
|
4
|
-
|
|
5
|
-
export { getHint };
|
|
6
|
-
import { assert, formatHintLog, isArray, isNotNullish, isObject, unique } from '../utils.js';
|
|
2
|
+
// For ./logErrorHint/getErrorHint.spec.ts
|
|
3
|
+
export { getErrorHint };
|
|
4
|
+
import { assert, formatHintLog, isObject } from '../utils.js';
|
|
7
5
|
import pc from '@brillout/picocolors';
|
|
8
|
-
const
|
|
6
|
+
const hintDefault = 'The error could be a CJS/ESM issue, see https://vike.dev/broken-npm-package';
|
|
7
|
+
const hintLinkPrefix = 'To fix this error, see ';
|
|
8
|
+
const errorsMisc = [
|
|
9
9
|
{
|
|
10
10
|
errMsg: 'jsxDEV is not a function',
|
|
11
|
-
link: 'https://github.com/vikejs/vike/issues/1469#issuecomment-1919518096'
|
|
12
|
-
|
|
13
|
-
{
|
|
14
|
-
errMsg: 'Element type is invalid: expected a string (for built-in components) or a class/function (for composite components)',
|
|
15
|
-
link: 'https://vike.dev/broken-npm-package#react-invalid-component'
|
|
11
|
+
link: 'https://github.com/vikejs/vike/issues/1469#issuecomment-1919518096',
|
|
12
|
+
shouldMentionNodeModules: false
|
|
16
13
|
},
|
|
17
14
|
{
|
|
18
15
|
// ```
|
|
19
16
|
// Error [RollupError]: Could not resolve "../dist/client/assets.json" from "renderer/+onRenderHtml.tsx"
|
|
20
17
|
// ```
|
|
21
18
|
errMsg: 'assets.json',
|
|
22
|
-
link: 'https://vike.dev/getGlobalContext'
|
|
19
|
+
link: 'https://vike.dev/getGlobalContext',
|
|
20
|
+
shouldMentionNodeModules: false
|
|
21
|
+
}
|
|
22
|
+
];
|
|
23
|
+
const errorsReact = [
|
|
24
|
+
{
|
|
25
|
+
errMsg: 'Element type is invalid: expected a string (for built-in components) or a class/function (for composite components)',
|
|
26
|
+
link: 'https://vike.dev/broken-npm-package#react-invalid-component',
|
|
27
|
+
// The stack trace can be user-land while the import is coming from node_modules
|
|
28
|
+
shouldMentionNodeModules: false
|
|
23
29
|
},
|
|
24
30
|
{
|
|
31
|
+
// React's "Invalid hook call.", see https://github.com/vikejs/vike/discussions/1637#discussioncomment-9424712
|
|
32
|
+
errMsg: "Cannot read properties of null (reading 'useContext')"
|
|
33
|
+
}
|
|
34
|
+
];
|
|
35
|
+
const errorsCjsEsm_withPreciseLink = [
|
|
36
|
+
{
|
|
37
|
+
// `SyntaxError: Named export '${exportName}' not found. The requested module '${packageName}' is a CommonJS module, which may not support all module.exports as named exports.`
|
|
25
38
|
errMsg: /Named export.*not found/i,
|
|
26
|
-
link: 'https://vike.dev/broken-npm-package#named-export-not-found'
|
|
39
|
+
link: 'https://vike.dev/broken-npm-package#named-export-not-found',
|
|
40
|
+
// It seems that this always points to an npm package import.
|
|
41
|
+
shouldMentionNodeModules: false
|
|
27
42
|
}
|
|
28
43
|
];
|
|
44
|
+
const errorsCjsEsm = [
|
|
45
|
+
{ errMsg: 'ERR_UNSUPPORTED_DIR_IMPORT' },
|
|
46
|
+
{ errMsg: 'ERR_REQUIRE_ESM' },
|
|
47
|
+
{ errMsg: 'Must use import' },
|
|
48
|
+
{ errMsg: /Cannot find \S+ '(\S+)' imported from (\S+)/ },
|
|
49
|
+
{ errMsg: 'ERR_UNKNOWN_FILE_EXTENSION' },
|
|
50
|
+
{ errMsg: /Unknown file extension "\S+" for (\S+)/ },
|
|
51
|
+
// `SyntaxError: Cannot use import statement outside a module`.
|
|
52
|
+
{
|
|
53
|
+
errMsg: 'Cannot use import statement',
|
|
54
|
+
// Since user code is always ESM, this error must always originate from an npm package.
|
|
55
|
+
shouldMentionNodeModules: false
|
|
56
|
+
},
|
|
57
|
+
{ errMsg: 'is not exported' },
|
|
58
|
+
{ errMsg: 'Cannot read properties of undefined' },
|
|
59
|
+
{ errMsg: '.default is not' },
|
|
60
|
+
// Using CJS inside ESM modules.
|
|
61
|
+
{ errMsg: 'require is not a function' },
|
|
62
|
+
{ errMsg: 'exports is not defined' },
|
|
63
|
+
{ errMsg: 'module is not defined' },
|
|
64
|
+
{ errMsg: 'window is not defined' },
|
|
65
|
+
{ errMsg: 'not defined in ES' },
|
|
66
|
+
{ errMsg: "Unexpected token 'export'" }
|
|
67
|
+
];
|
|
29
68
|
function logErrorHint(error) {
|
|
30
69
|
/* Collect errors for ./logErrorHint.spec.ts
|
|
31
70
|
collectError(error)
|
|
32
71
|
//*/
|
|
33
|
-
const hint =
|
|
72
|
+
const hint = getErrorHint(error);
|
|
34
73
|
if (hint)
|
|
35
74
|
logHint(hint);
|
|
36
75
|
}
|
|
37
|
-
function
|
|
76
|
+
function getErrorHint(error) {
|
|
38
77
|
{
|
|
39
|
-
const
|
|
40
|
-
if (
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
78
|
+
const knownErr = isKnownError(error);
|
|
79
|
+
if (knownErr) {
|
|
80
|
+
if (knownErr.link) {
|
|
81
|
+
return hintLinkPrefix + knownErr.link;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
return hintDefault;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
47
87
|
}
|
|
48
88
|
return null;
|
|
49
89
|
}
|
|
@@ -54,266 +94,42 @@ function logHint(hint) {
|
|
|
54
94
|
}
|
|
55
95
|
function isKnownError(error) {
|
|
56
96
|
const anywhere = getAnywhere(error);
|
|
57
|
-
const knownErr =
|
|
58
|
-
|
|
97
|
+
const knownErr = [
|
|
98
|
+
//
|
|
99
|
+
...errorsMisc,
|
|
100
|
+
...errorsReact,
|
|
101
|
+
...errorsCjsEsm_withPreciseLink,
|
|
102
|
+
...errorsCjsEsm
|
|
103
|
+
].find((knownErorr) => {
|
|
104
|
+
if (!includesLowercase(anywhere, knownErorr.errMsg))
|
|
105
|
+
return false;
|
|
106
|
+
if (knownErorr.shouldMentionNodeModules !== false && !includesLowercase(anywhere, 'node_modules'))
|
|
107
|
+
return false;
|
|
108
|
+
return true;
|
|
59
109
|
});
|
|
60
110
|
if (!knownErr)
|
|
61
111
|
return false;
|
|
62
|
-
return knownErr
|
|
63
|
-
}
|
|
64
|
-
// `false` -> noop
|
|
65
|
-
// `true` -> generic message
|
|
66
|
-
// `'some-npm-package'` -> add some-npm-package to `ssr.noExternal`
|
|
67
|
-
function isCjsEsmError(error) {
|
|
68
|
-
const res = check(error);
|
|
69
|
-
if (res === true || res === false)
|
|
70
|
-
return res;
|
|
71
|
-
const packageNames = normalizeRes(res);
|
|
72
|
-
if (packageNames === false)
|
|
73
|
-
return packageNames;
|
|
74
|
-
packageNames.forEach((packageName) => {
|
|
75
|
-
assert(!['vite', 'vike'].includes(packageName));
|
|
76
|
-
});
|
|
77
|
-
// We don't use this anymore: we could return `true` instead. Shall we remove returning a list of npm packages?
|
|
78
|
-
return packageNames;
|
|
79
|
-
}
|
|
80
|
-
function normalizeRes(res) {
|
|
81
|
-
let packageNames = isArray(res) ? res : [res];
|
|
82
|
-
packageNames = unique(packageNames.filter(isNotNullish).filter((packageName) => packageName !== '@brillout/import'));
|
|
83
|
-
if (packageNames.length === 0)
|
|
84
|
-
return false;
|
|
85
|
-
return packageNames;
|
|
112
|
+
return knownErr;
|
|
86
113
|
}
|
|
87
|
-
function
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
const relatedNpmPackages = normalizeArray([
|
|
95
|
-
packageName_stack1 || null,
|
|
96
|
-
packageName_stack2 || null,
|
|
97
|
-
(message && extractFromNodeModulesPath(message)) || null
|
|
98
|
-
])
|
|
99
|
-
*/
|
|
100
|
-
// ERR_UNSUPPORTED_DIR_IMPORT
|
|
101
|
-
{
|
|
102
|
-
const packageName = parseNodeModulesPathMessage('ERR_UNSUPPORTED_DIR_IMPORT', anywhere);
|
|
103
|
-
if (packageName)
|
|
104
|
-
return packageName;
|
|
105
|
-
}
|
|
106
|
-
// ERR_UNKNOWN_FILE_EXTENSION
|
|
107
|
-
{
|
|
108
|
-
const packageName = parseUnkownFileExtensionMessage(anywhere);
|
|
109
|
-
if (packageName)
|
|
110
|
-
return packageName;
|
|
111
|
-
}
|
|
112
|
-
{
|
|
113
|
-
const packageName = parseNodeModulesPathMessage('ERR_UNKNOWN_FILE_EXTENSION', anywhere);
|
|
114
|
-
if (packageName)
|
|
115
|
-
return packageName;
|
|
114
|
+
function includesLowercase(str, substr) {
|
|
115
|
+
if (substr instanceof RegExp) {
|
|
116
|
+
let { flags } = substr;
|
|
117
|
+
if (!flags.includes('i'))
|
|
118
|
+
flags += 'i';
|
|
119
|
+
const regex = new RegExp(substr.source, flags);
|
|
120
|
+
return regex.test(str);
|
|
116
121
|
}
|
|
117
|
-
{
|
|
118
|
-
|
|
119
|
-
if (packageName)
|
|
120
|
-
return packageName;
|
|
121
|
-
}
|
|
122
|
-
// Using CJS inside ESM modules.
|
|
123
|
-
if (includes(anywhere, 'require is not a function') ||
|
|
124
|
-
includes(anywhere, 'exports is not defined') ||
|
|
125
|
-
includes(anywhere, 'module is not defined') ||
|
|
126
|
-
includes(anywhere, 'window is not defined') ||
|
|
127
|
-
includes(anywhere, 'not defined in ES')) {
|
|
128
|
-
if (packageName_stack1)
|
|
129
|
-
return packageName_stack1;
|
|
130
|
-
}
|
|
131
|
-
if (includes(anywhere, "Unexpected token 'export'")) {
|
|
132
|
-
if (packageName_stack2)
|
|
133
|
-
return packageName_stack2;
|
|
134
|
-
if (packageName_stack1)
|
|
135
|
-
return packageName_stack1;
|
|
136
|
-
}
|
|
137
|
-
// ERR_REQUIRE_ESM
|
|
138
|
-
if (includes(anywhere, 'ERR_REQUIRE_ESM')) {
|
|
139
|
-
/* The issue is the importer, not the importee.
|
|
140
|
-
if (relatedNpmPackages) return relatedNpmPackages
|
|
141
|
-
*/
|
|
142
|
-
{
|
|
143
|
-
if (packageName_stack1)
|
|
144
|
-
return packageName_stack1;
|
|
145
|
-
}
|
|
146
|
-
if (isRelatedToNodeModules)
|
|
147
|
-
return true;
|
|
122
|
+
if (typeof substr === 'string') {
|
|
123
|
+
return str.toLowerCase().includes(substr.toLowerCase());
|
|
148
124
|
}
|
|
149
|
-
|
|
150
|
-
{
|
|
151
|
-
const packageNames = parseNodeModulesPath('ERR_REQUIRE_ESM', anywhere)
|
|
152
|
-
if (packageNames) return packageNames
|
|
153
|
-
}
|
|
154
|
-
{
|
|
155
|
-
const packageNames = parseNodeModulesPath('Must use import', anywhere)
|
|
156
|
-
if (packageNames) return packageNames
|
|
157
|
-
}
|
|
158
|
-
*/
|
|
159
|
-
// `SyntaxError: Named export '${exportName}' not found. The requested module '${packageName}' is a CommonJS module, which may not support all module.exports as named exports.`
|
|
160
|
-
{
|
|
161
|
-
const packageName = parseImportFrom(anywhere);
|
|
162
|
-
if (packageName)
|
|
163
|
-
return packageName;
|
|
164
|
-
}
|
|
165
|
-
if (includes(anywhere, 'Cannot read properties of undefined')) {
|
|
166
|
-
if (isRelatedToNodeModules) {
|
|
167
|
-
/* We return true because relatedNpmPackages points to the importer but the problematic npm package is the importee
|
|
168
|
-
if (relatedNpmPackages) return relatedNpmPackages
|
|
169
|
-
*/
|
|
170
|
-
return true;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
// ERR_MODULE_NOT_FOUND
|
|
174
|
-
{
|
|
175
|
-
const packageNames = parseCannotFindMessage(anywhere);
|
|
176
|
-
if (packageNames)
|
|
177
|
-
return packageNames;
|
|
178
|
-
}
|
|
179
|
-
if (
|
|
180
|
-
// `SyntaxError: Cannot use import statement outside a module`.
|
|
181
|
-
// Since user code is always ESM, this error must always originate from an npm package.
|
|
182
|
-
includes(anywhere, 'Cannot use import statement') ||
|
|
183
|
-
// `SyntaxError: Named export '${exportName}' not found. The requested module '${packageName}' is a CommonJS module, which may not support all module.exports as named exports.`
|
|
184
|
-
// It seems that this always points to an npm package import.
|
|
185
|
-
/Named export.*not found/i.test(anywhere)) {
|
|
186
|
-
/* We return true even if fromNodeModules is false because the errors always relate to npm packages.
|
|
187
|
-
if (fromNodeModules) return true
|
|
188
|
-
*/
|
|
189
|
-
return true;
|
|
190
|
-
}
|
|
191
|
-
return false;
|
|
192
|
-
}
|
|
193
|
-
function parseCannotFindMessage(str) {
|
|
194
|
-
const match = /Cannot find \S+ '(\S+)' imported from (\S+)/.exec(str);
|
|
195
|
-
if (!match)
|
|
196
|
-
return false;
|
|
197
|
-
// const packageNameCannotFind = extractFromPath(match[1]!)
|
|
198
|
-
const packageNameFrom = extractFromPath(match[2]);
|
|
199
|
-
return normalizeArray([
|
|
200
|
-
// packageNameCannotFind,
|
|
201
|
-
packageNameFrom
|
|
202
|
-
]);
|
|
203
|
-
}
|
|
204
|
-
function parseUnkownFileExtensionMessage(str) {
|
|
205
|
-
const match = /Unknown file extension "\S+" for (\S+)/.exec(str);
|
|
206
|
-
if (!match)
|
|
207
|
-
return false;
|
|
208
|
-
const filePath = match[1];
|
|
209
|
-
const packageName = extractFromPath(filePath);
|
|
210
|
-
return packageName;
|
|
211
|
-
}
|
|
212
|
-
function parseImportFrom(str) {
|
|
213
|
-
const match = /\bimport\b.*?\bfrom\b\s*?"(.+?)"/.exec(str);
|
|
214
|
-
if (!match)
|
|
215
|
-
return false;
|
|
216
|
-
const importPath = match[1];
|
|
217
|
-
const packageName = extractFromPath(importPath);
|
|
218
|
-
return packageName;
|
|
219
|
-
}
|
|
220
|
-
function parseNodeModulesPathMessage(begin, str) {
|
|
221
|
-
str = str.replaceAll('\\', '/');
|
|
222
|
-
const regex = new RegExp(`${begin}.*(node_modules\\/\\S+)`);
|
|
223
|
-
const match = regex.exec(str);
|
|
224
|
-
if (!match)
|
|
225
|
-
return false;
|
|
226
|
-
const importPath = match[1];
|
|
227
|
-
return extractFromNodeModulesPath(importPath);
|
|
228
|
-
}
|
|
229
|
-
function getPackageName_stack1(err) {
|
|
230
|
-
const errStack = getErrStack(err);
|
|
231
|
-
if (!errStack)
|
|
232
|
-
return false;
|
|
233
|
-
const firstLineStackTrace = errStack.split('\n').filter((line) => line.startsWith(' at '))[0];
|
|
234
|
-
if (!firstLineStackTrace)
|
|
235
|
-
return false;
|
|
236
|
-
return extractFromNodeModulesPath(firstLineStackTrace);
|
|
237
|
-
}
|
|
238
|
-
/** See https://github.com/brillout/repro_node-syntax-error#nodejs-behavior */
|
|
239
|
-
function getPackageName_stack2(err) {
|
|
240
|
-
const errStack = getErrStack(err);
|
|
241
|
-
if (!errStack)
|
|
242
|
-
return false;
|
|
243
|
-
const firstLine = errStack.trim().split('\n')[0];
|
|
244
|
-
return extractFromNodeModulesPath(firstLine);
|
|
245
|
-
}
|
|
246
|
-
function extractFromPath(filePath) {
|
|
247
|
-
assert(filePath);
|
|
248
|
-
filePath = clean(filePath);
|
|
249
|
-
filePath = filePath.replaceAll('\\', '/');
|
|
250
|
-
let packageName;
|
|
251
|
-
if (!filePath.includes('node_modules/')) {
|
|
252
|
-
packageName = filePath;
|
|
253
|
-
if (packageName.startsWith('/'))
|
|
254
|
-
return null;
|
|
255
|
-
if (packageName.startsWith('.'))
|
|
256
|
-
return null;
|
|
257
|
-
}
|
|
258
|
-
else {
|
|
259
|
-
packageName = filePath.split('node_modules/').pop();
|
|
260
|
-
// This assert is fairly risk, we should eventually remove it
|
|
261
|
-
assert(!packageName.startsWith('.'));
|
|
262
|
-
// This assert is fairly risk, we should eventually remove it
|
|
263
|
-
assert(!packageName.startsWith('/'));
|
|
264
|
-
}
|
|
265
|
-
if (!packageName)
|
|
266
|
-
return null;
|
|
267
|
-
packageName = packageName.split('/').slice(0, 2).join('/');
|
|
268
|
-
if (!packageName.startsWith('@')) {
|
|
269
|
-
packageName = packageName.split('/')[0];
|
|
270
|
-
}
|
|
271
|
-
packageName = clean(packageName);
|
|
272
|
-
return packageName;
|
|
273
|
-
}
|
|
274
|
-
function clean(packageName) {
|
|
275
|
-
const b = ['"', "'", '(', ')'];
|
|
276
|
-
if (b.includes(packageName[0])) {
|
|
277
|
-
packageName = packageName.slice(1);
|
|
278
|
-
}
|
|
279
|
-
if (b.includes(packageName[packageName.length - 1])) {
|
|
280
|
-
packageName = packageName.slice(0, -1);
|
|
281
|
-
}
|
|
282
|
-
return packageName;
|
|
125
|
+
assert(false);
|
|
283
126
|
}
|
|
284
|
-
function
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
const
|
|
288
|
-
|
|
289
|
-
return
|
|
290
|
-
}
|
|
291
|
-
function includes(str1, str2) {
|
|
292
|
-
if (!str1)
|
|
293
|
-
return false;
|
|
294
|
-
if (str2 instanceof RegExp) {
|
|
295
|
-
return str2.test(str1.toLowerCase());
|
|
296
|
-
}
|
|
297
|
-
if (typeof str2 === 'string') {
|
|
298
|
-
return str1.toLowerCase().includes(str2.toLowerCase());
|
|
299
|
-
}
|
|
300
|
-
return false;
|
|
301
|
-
}
|
|
302
|
-
function includesNodeModules(str) {
|
|
303
|
-
if (!str)
|
|
304
|
-
return false;
|
|
305
|
-
str = str.replaceAll('\\', '/');
|
|
306
|
-
if (!str.includes('node_modules/'))
|
|
307
|
-
return false;
|
|
308
|
-
if (str.includes('node_modules/vite/'))
|
|
309
|
-
return false;
|
|
310
|
-
return true;
|
|
311
|
-
}
|
|
312
|
-
function normalizeArray(arr) {
|
|
313
|
-
const arrNormalized = arr.filter(isNotNullish);
|
|
314
|
-
if (arrNormalized.length === 0)
|
|
315
|
-
return null;
|
|
316
|
-
return arrNormalized;
|
|
127
|
+
function getAnywhere(error) {
|
|
128
|
+
const code = getErrCode(error);
|
|
129
|
+
const message = getErrMessage(error);
|
|
130
|
+
const stack = getErrStack(error);
|
|
131
|
+
const anywhere = [code, message, stack].filter(Boolean).join('\n');
|
|
132
|
+
return anywhere;
|
|
317
133
|
}
|
|
318
134
|
function getErrMessage(err) {
|
|
319
135
|
if (!isObject(err))
|
|
@@ -342,13 +158,6 @@ function getErrStack(err) {
|
|
|
342
158
|
return null;
|
|
343
159
|
return err.stack;
|
|
344
160
|
}
|
|
345
|
-
function getAnywhere(error) {
|
|
346
|
-
const code = getErrCode(error);
|
|
347
|
-
const message = getErrMessage(error);
|
|
348
|
-
const stack = getErrStack(error);
|
|
349
|
-
const anywhere = [code, message, stack].filter(Boolean).join('\n');
|
|
350
|
-
return anywhere;
|
|
351
|
-
}
|
|
352
161
|
function collectError(err) {
|
|
353
162
|
console.log([
|
|
354
163
|
'{',
|
package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { preparePageContextForUserConsumptionServerSide };
|
|
2
2
|
export type { PageContextForUserConsumptionServerSide };
|
|
3
|
-
import {
|
|
3
|
+
import { PageContextUrlInternal } from '../../../shared/getPageContextUrlComputed.js';
|
|
4
4
|
import type { PageConfigRuntime } from '../../../shared/page-configs/PageConfig.js';
|
|
5
5
|
import type { PageContextExports } from '../../../shared/getPageFiles/getExports.js';
|
|
6
6
|
import { PageContextBuiltInServerInternal } from '../../../shared/types.js';
|
|
@@ -9,7 +9,7 @@ type PageContextForUserConsumptionServerSide = PageContextBuiltInServerInternal
|
|
|
9
9
|
/** @deprecated */
|
|
10
10
|
url: string;
|
|
11
11
|
urlPathname: string;
|
|
12
|
-
urlParsed:
|
|
12
|
+
urlParsed: PageContextUrlInternal['urlParsed'];
|
|
13
13
|
routeParams: Record<string, string>;
|
|
14
14
|
Page: unknown;
|
|
15
15
|
_pageId: string;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export { preparePageContextForUserConsumptionServerSide };
|
|
2
2
|
import { assert, isPlainObject, isObject } from '../utils.js';
|
|
3
3
|
import { sortPageContext } from '../../../shared/sortPageContext.js';
|
|
4
|
-
import {
|
|
4
|
+
import { assertPageContextUrl } from '../../../shared/getPageContextUrlComputed.js';
|
|
5
5
|
import { addIs404ToPageProps } from '../../../shared/addIs404ToPageProps.js';
|
|
6
6
|
function preparePageContextForUserConsumptionServerSide(pageContext) {
|
|
7
|
-
|
|
7
|
+
assertPageContextUrl(pageContext);
|
|
8
8
|
assert(isPlainObject(pageContext.routeParams));
|
|
9
9
|
assert('Page' in pageContext);
|
|
10
10
|
assert(isObject(pageContext.pageExports));
|
|
@@ -7,7 +7,7 @@ export type { RenderContext };
|
|
|
7
7
|
export type { PageContextAfterRender };
|
|
8
8
|
export type { PageContextInitEnhanced };
|
|
9
9
|
import { type PageFile } from '../../../shared/getPageFiles.js';
|
|
10
|
-
import { type
|
|
10
|
+
import { type PageContextUrlInternal } from '../../../shared/getPageContextUrlComputed.js';
|
|
11
11
|
import { HttpResponse } from './createHttpResponseObject.js';
|
|
12
12
|
import { PageContext_loadUserFilesServerSide, type PageFiles } from './loadUserFilesServerSide.js';
|
|
13
13
|
import type { PageConfigRuntime, PageConfigGlobalRuntime } from '../../../shared/page-configs/PageConfig.js';
|
|
@@ -24,7 +24,7 @@ declare function renderPageAlreadyRouted<PageContext extends {
|
|
|
24
24
|
routeParams: Record<string, string>;
|
|
25
25
|
errorWhileRendering: null | Error;
|
|
26
26
|
_httpRequestId: number;
|
|
27
|
-
} & PageContextInitEnhanced &
|
|
27
|
+
} & PageContextInitEnhanced & PageContextUrlInternal & PageContext_loadUserFilesServerSide>(pageContext: PageContext): Promise<PageContext & PageContextAfterRender>;
|
|
28
28
|
declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles & {
|
|
29
29
|
routeParams: Record<string, string>;
|
|
30
30
|
_pageId: string;
|
|
@@ -37,6 +37,10 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
|
|
|
37
37
|
documentHtml: string;
|
|
38
38
|
pageContextSerialized: null;
|
|
39
39
|
pageContext: {
|
|
40
|
+
urlOriginal: string;
|
|
41
|
+
headersOriginal?: unknown;
|
|
42
|
+
headers?: unknown;
|
|
43
|
+
} & {
|
|
40
44
|
_objectCreatedByVike: boolean;
|
|
41
45
|
_baseServer: string;
|
|
42
46
|
_baseAssets: string | null;
|
|
@@ -49,23 +53,23 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
|
|
|
49
53
|
_onBeforeRouteHook: Hook | null;
|
|
50
54
|
_pageContextInit: {
|
|
51
55
|
urlOriginal: string;
|
|
56
|
+
headersOriginal?: unknown;
|
|
57
|
+
headers?: unknown;
|
|
52
58
|
};
|
|
53
59
|
_urlRewrite: string | null;
|
|
54
60
|
_urlHandler: ((url: string) => string) | null;
|
|
55
61
|
isClientSideNavigation: boolean;
|
|
56
|
-
urlOriginal: string;
|
|
57
|
-
} & import("../../../shared/addUrlComputedProps.js").PageContextUrlComputedPropsClient & {
|
|
58
|
-
_urlRewrite: string | null;
|
|
59
62
|
} & {
|
|
63
|
+
urlParsed: import("../../../shared/getPageContextUrlComputed.js").Url;
|
|
64
|
+
urlPathname: string;
|
|
65
|
+
url: string;
|
|
66
|
+
} & {
|
|
67
|
+
headers: Record<string, string> | null;
|
|
68
|
+
} & import("../../../shared/getPageFiles.js").PageContextExports & {
|
|
60
69
|
Page: unknown;
|
|
61
70
|
_isHtmlOnly: boolean;
|
|
62
71
|
_passToClient: string[];
|
|
63
72
|
_pageFilePathsLoaded: string[];
|
|
64
|
-
config: Record<string, unknown>;
|
|
65
|
-
configEntries: import("../../../shared/getPageFiles/getExports.js").ConfigEntries;
|
|
66
|
-
exports: Record<string, unknown>;
|
|
67
|
-
exportsAll: import("../../../shared/getPageFiles/getExports.js").ExportsAll;
|
|
68
|
-
pageExports: Record<string, unknown>;
|
|
69
73
|
} & {
|
|
70
74
|
__getPageAssets: () => Promise<import("./getPageAssets.js").PageAsset[]>;
|
|
71
75
|
} & {
|
|
@@ -84,6 +88,10 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
|
|
|
84
88
|
documentHtml: string;
|
|
85
89
|
pageContextSerialized: string;
|
|
86
90
|
pageContext: {
|
|
91
|
+
urlOriginal: string;
|
|
92
|
+
headersOriginal?: unknown;
|
|
93
|
+
headers?: unknown;
|
|
94
|
+
} & {
|
|
87
95
|
_objectCreatedByVike: boolean;
|
|
88
96
|
_baseServer: string;
|
|
89
97
|
_baseAssets: string | null;
|
|
@@ -96,23 +104,23 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
|
|
|
96
104
|
_onBeforeRouteHook: Hook | null;
|
|
97
105
|
_pageContextInit: {
|
|
98
106
|
urlOriginal: string;
|
|
107
|
+
headersOriginal?: unknown;
|
|
108
|
+
headers?: unknown;
|
|
99
109
|
};
|
|
100
110
|
_urlRewrite: string | null;
|
|
101
111
|
_urlHandler: ((url: string) => string) | null;
|
|
102
112
|
isClientSideNavigation: boolean;
|
|
103
|
-
urlOriginal: string;
|
|
104
|
-
} & import("../../../shared/addUrlComputedProps.js").PageContextUrlComputedPropsClient & {
|
|
105
|
-
_urlRewrite: string | null;
|
|
106
113
|
} & {
|
|
114
|
+
urlParsed: import("../../../shared/getPageContextUrlComputed.js").Url;
|
|
115
|
+
urlPathname: string;
|
|
116
|
+
url: string;
|
|
117
|
+
} & {
|
|
118
|
+
headers: Record<string, string> | null;
|
|
119
|
+
} & import("../../../shared/getPageFiles.js").PageContextExports & {
|
|
107
120
|
Page: unknown;
|
|
108
121
|
_isHtmlOnly: boolean;
|
|
109
122
|
_passToClient: string[];
|
|
110
123
|
_pageFilePathsLoaded: string[];
|
|
111
|
-
config: Record<string, unknown>;
|
|
112
|
-
configEntries: import("../../../shared/getPageFiles/getExports.js").ConfigEntries;
|
|
113
|
-
exports: Record<string, unknown>;
|
|
114
|
-
exportsAll: import("../../../shared/getPageFiles/getExports.js").ExportsAll;
|
|
115
|
-
pageExports: Record<string, unknown>;
|
|
116
124
|
} & {
|
|
117
125
|
__getPageAssets: () => Promise<import("./getPageAssets.js").PageAsset[]>;
|
|
118
126
|
} & {
|
|
@@ -132,6 +140,10 @@ declare function prerender404Page(renderContext: RenderContext, pageContextInit_
|
|
|
132
140
|
documentHtml: string;
|
|
133
141
|
pageContextSerialized: null;
|
|
134
142
|
pageContext: {
|
|
143
|
+
urlOriginal: string;
|
|
144
|
+
headersOriginal?: unknown;
|
|
145
|
+
headers?: unknown;
|
|
146
|
+
} & {
|
|
135
147
|
_objectCreatedByVike: boolean;
|
|
136
148
|
_baseServer: string;
|
|
137
149
|
_baseAssets: string | null;
|
|
@@ -144,23 +156,23 @@ declare function prerender404Page(renderContext: RenderContext, pageContextInit_
|
|
|
144
156
|
_onBeforeRouteHook: Hook | null;
|
|
145
157
|
_pageContextInit: {
|
|
146
158
|
urlOriginal: string;
|
|
159
|
+
headersOriginal?: unknown;
|
|
160
|
+
headers?: unknown;
|
|
147
161
|
};
|
|
148
162
|
_urlRewrite: string | null;
|
|
149
163
|
_urlHandler: ((url: string) => string) | null;
|
|
150
164
|
isClientSideNavigation: boolean;
|
|
151
|
-
urlOriginal: string;
|
|
152
|
-
} & import("../../../shared/addUrlComputedProps.js").PageContextUrlComputedPropsClient & {
|
|
153
|
-
_urlRewrite: string | null;
|
|
154
165
|
} & {
|
|
166
|
+
urlParsed: import("../../../shared/getPageContextUrlComputed.js").Url;
|
|
167
|
+
urlPathname: string;
|
|
168
|
+
url: string;
|
|
169
|
+
} & {
|
|
170
|
+
headers: Record<string, string> | null;
|
|
171
|
+
} & import("../../../shared/getPageFiles.js").PageContextExports & {
|
|
155
172
|
Page: unknown;
|
|
156
173
|
_isHtmlOnly: boolean;
|
|
157
174
|
_passToClient: string[];
|
|
158
175
|
_pageFilePathsLoaded: string[];
|
|
159
|
-
config: Record<string, unknown>;
|
|
160
|
-
configEntries: import("../../../shared/getPageFiles/getExports.js").ConfigEntries;
|
|
161
|
-
exports: Record<string, unknown>;
|
|
162
|
-
exportsAll: import("../../../shared/getPageFiles/getExports.js").ExportsAll;
|
|
163
|
-
pageExports: Record<string, unknown>;
|
|
164
176
|
} & {
|
|
165
177
|
__getPageAssets: () => Promise<import("./getPageAssets.js").PageAsset[]>;
|
|
166
178
|
} & {
|
|
@@ -179,6 +191,10 @@ declare function prerender404Page(renderContext: RenderContext, pageContextInit_
|
|
|
179
191
|
documentHtml: string;
|
|
180
192
|
pageContextSerialized: string;
|
|
181
193
|
pageContext: {
|
|
194
|
+
urlOriginal: string;
|
|
195
|
+
headersOriginal?: unknown;
|
|
196
|
+
headers?: unknown;
|
|
197
|
+
} & {
|
|
182
198
|
_objectCreatedByVike: boolean;
|
|
183
199
|
_baseServer: string;
|
|
184
200
|
_baseAssets: string | null;
|
|
@@ -191,23 +207,23 @@ declare function prerender404Page(renderContext: RenderContext, pageContextInit_
|
|
|
191
207
|
_onBeforeRouteHook: Hook | null;
|
|
192
208
|
_pageContextInit: {
|
|
193
209
|
urlOriginal: string;
|
|
210
|
+
headersOriginal?: unknown;
|
|
211
|
+
headers?: unknown;
|
|
194
212
|
};
|
|
195
213
|
_urlRewrite: string | null;
|
|
196
214
|
_urlHandler: ((url: string) => string) | null;
|
|
197
215
|
isClientSideNavigation: boolean;
|
|
198
|
-
urlOriginal: string;
|
|
199
|
-
} & import("../../../shared/addUrlComputedProps.js").PageContextUrlComputedPropsClient & {
|
|
200
|
-
_urlRewrite: string | null;
|
|
201
216
|
} & {
|
|
217
|
+
urlParsed: import("../../../shared/getPageContextUrlComputed.js").Url;
|
|
218
|
+
urlPathname: string;
|
|
219
|
+
url: string;
|
|
220
|
+
} & {
|
|
221
|
+
headers: Record<string, string> | null;
|
|
222
|
+
} & import("../../../shared/getPageFiles.js").PageContextExports & {
|
|
202
223
|
Page: unknown;
|
|
203
224
|
_isHtmlOnly: boolean;
|
|
204
225
|
_passToClient: string[];
|
|
205
226
|
_pageFilePathsLoaded: string[];
|
|
206
|
-
config: Record<string, unknown>;
|
|
207
|
-
configEntries: import("../../../shared/getPageFiles/getExports.js").ConfigEntries;
|
|
208
|
-
exports: Record<string, unknown>;
|
|
209
|
-
exportsAll: import("../../../shared/getPageFiles/getExports.js").ExportsAll;
|
|
210
|
-
pageExports: Record<string, unknown>;
|
|
211
227
|
} & {
|
|
212
228
|
__getPageAssets: () => Promise<import("./getPageAssets.js").PageAsset[]>;
|
|
213
229
|
} & {
|
|
@@ -226,14 +242,19 @@ declare function prerender404Page(renderContext: RenderContext, pageContextInit_
|
|
|
226
242
|
type PageContextInitEnhanced = ReturnType<typeof getPageContextInitEnhanced>;
|
|
227
243
|
declare function getPageContextInitEnhanced(pageContextInit: {
|
|
228
244
|
urlOriginal: string;
|
|
229
|
-
|
|
230
|
-
|
|
245
|
+
headersOriginal?: unknown;
|
|
246
|
+
headers?: unknown;
|
|
247
|
+
}, renderContext: RenderContext, { ssr: { urlRewrite, urlHandler, isClientSideNavigation } }?: {
|
|
231
248
|
ssr?: {
|
|
232
249
|
urlRewrite: null | string;
|
|
233
250
|
urlHandler: null | ((url: string) => string);
|
|
234
251
|
isClientSideNavigation: boolean;
|
|
235
252
|
};
|
|
236
253
|
}): {
|
|
254
|
+
urlOriginal: string;
|
|
255
|
+
headersOriginal?: unknown;
|
|
256
|
+
headers?: unknown;
|
|
257
|
+
} & {
|
|
237
258
|
_objectCreatedByVike: boolean;
|
|
238
259
|
_baseServer: string;
|
|
239
260
|
_baseAssets: string | null;
|
|
@@ -246,13 +267,18 @@ declare function getPageContextInitEnhanced(pageContextInit: {
|
|
|
246
267
|
_onBeforeRouteHook: Hook | null;
|
|
247
268
|
_pageContextInit: {
|
|
248
269
|
urlOriginal: string;
|
|
270
|
+
headersOriginal?: unknown;
|
|
271
|
+
headers?: unknown;
|
|
249
272
|
};
|
|
250
273
|
_urlRewrite: string | null;
|
|
251
274
|
_urlHandler: ((url: string) => string) | null;
|
|
252
275
|
isClientSideNavigation: boolean;
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
276
|
+
} & {
|
|
277
|
+
urlParsed: import("../../../shared/getPageContextUrlComputed.js").Url;
|
|
278
|
+
urlPathname: string;
|
|
279
|
+
url: string;
|
|
280
|
+
} & {
|
|
281
|
+
headers: Record<string, string> | null;
|
|
256
282
|
};
|
|
257
283
|
type RenderContext = {
|
|
258
284
|
pageFilesAll: PageFile[];
|