vike 0.4.142 → 0.4.143-commit-f03b42d
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/index.js +2 -2
- package/dist/cjs/node/plugin/plugins/buildConfig.js +4 -5
- package/dist/cjs/node/plugin/plugins/commonConfig.js +2 -7
- package/dist/cjs/node/plugin/plugins/devConfig/determineOptimizeDeps.js +2 -2
- package/dist/cjs/node/plugin/plugins/envVars.js +3 -5
- package/dist/cjs/node/plugin/plugins/importUserCode/generateEagerImport.js +19 -8
- package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +2 -2
- package/dist/cjs/node/plugin/plugins/importUserCode/index.js +1 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +110 -114
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +37 -27
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +50 -80
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/helpers.js +12 -3
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/replaceImportStatements.js +25 -25
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/transpileAndExecuteFile.js +19 -16
- package/dist/cjs/node/plugin/plugins/suppressRollupWarning.js +16 -3
- package/dist/cjs/node/plugin/shared/{getConfigValueSource.js → getConfigValueSourcesRelevant.js} +1 -12
- package/dist/cjs/node/plugin/shared/loggerNotProd/errorWithCodeSnippet.js +1 -1
- package/dist/cjs/node/plugin/shared/loggerNotProd.js +3 -3
- package/dist/cjs/node/plugin/utils.js +1 -2
- package/dist/cjs/node/prerender/runPrerender.js +13 -16
- package/dist/cjs/node/runtime/html/stream.js +4 -1
- package/dist/cjs/node/runtime/renderPage/analyzePage.js +2 -2
- package/dist/cjs/node/runtime/renderPage/loadPageFilesServerSide.js +2 -2
- package/dist/cjs/node/shared/virtual-files/virtualFilePageConfigValuesAll.js +1 -1
- package/dist/cjs/shared/error-page.js +1 -1
- package/dist/cjs/shared/getPageFiles/assertPageConfigs.js +13 -13
- package/dist/cjs/shared/getPageFiles/getExports.js +3 -3
- package/dist/cjs/shared/getPageFiles/parseGlobResults.js +9 -43
- package/dist/cjs/shared/getPageFiles/parsePageConfigsSerialized.js +62 -0
- package/dist/cjs/shared/page-configs/assertExports.js +60 -0
- package/dist/cjs/shared/page-configs/loadConfigValues.js +18 -0
- package/dist/cjs/shared/page-configs/parseConfigValuesImported.js +50 -0
- package/dist/cjs/shared/page-configs/utils.js +1 -1
- package/dist/cjs/shared/route/loadPageRoutes.js +11 -13
- package/dist/cjs/shared/route/resolvePrecedence.js +32 -11
- package/dist/cjs/shared/route/resolveRedirects.js +1 -1
- package/dist/cjs/shared/route/resolveRouteFunction.js +1 -0
- package/dist/cjs/shared/route/resolveRouteString.js +99 -43
- package/dist/cjs/shared/utils.js +1 -1
- package/dist/cjs/types/defineConfig.js +7 -0
- package/dist/cjs/types/index.js +3 -0
- package/dist/cjs/utils/getFilePathAbsolute.js +16 -12
- package/dist/cjs/utils/objectAssign.js +3 -1
- package/dist/cjs/utils/parseUrl.js +6 -1
- package/dist/cjs/utils/projectInfo.js +1 -1
- package/dist/cjs/utils/requireResolve.js +60 -0
- package/dist/esm/__internal/index.d.ts +3 -3
- package/dist/esm/client/client-routing-runtime/createPageContext.d.ts +2 -2
- package/dist/esm/client/client-routing-runtime/getPageContext.d.ts +2 -2
- package/dist/esm/client/client-routing-runtime/getPageId.d.ts +2 -2
- package/dist/esm/client/client-routing-runtime/prefetch.js +3 -1
- package/dist/esm/client/client-routing-runtime/useClientRouter.js +2 -2
- package/dist/esm/client/server-routing-runtime/getPageContext.d.ts +1 -1
- package/dist/esm/client/shared/executeOnRenderClientHook.d.ts +2 -2
- package/dist/esm/client/shared/loadPageFilesClientSide.d.ts +2 -2
- package/dist/esm/client/shared/loadPageFilesClientSide.js +2 -2
- package/dist/esm/client/shared/preparePageContextForUserConsumptionClientSide.d.ts +2 -2
- package/dist/esm/node/plugin/index.js +3 -2
- package/dist/esm/node/plugin/plugins/buildConfig.js +4 -5
- package/dist/esm/node/plugin/plugins/commonConfig.js +2 -7
- package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.js +1 -1
- package/dist/esm/node/plugin/plugins/envVars.js +4 -6
- package/dist/esm/node/plugin/plugins/importUserCode/generateEagerImport.d.ts +13 -2
- package/dist/esm/node/plugin/plugins/importUserCode/generateEagerImport.js +19 -8
- package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +2 -2
- package/dist/esm/node/plugin/plugins/importUserCode/index.js +2 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getFilePathToShowToUser.d.ts +8 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +2 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +111 -115
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.d.ts +5 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +35 -25
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +49 -79
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/helpers.js +10 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/replaceImportStatements.d.ts +18 -6
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/replaceImportStatements.js +25 -25
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/transpileAndExecuteFile.d.ts +2 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/transpileAndExecuteFile.js +19 -16
- package/dist/esm/node/plugin/plugins/suppressRollupWarning.js +16 -3
- package/dist/esm/node/plugin/shared/{getConfigValueSource.d.ts → getConfigValueSourcesRelevant.d.ts} +0 -2
- package/dist/esm/node/plugin/shared/{getConfigValueSource.js → getConfigValueSourcesRelevant.js} +0 -11
- package/dist/esm/node/plugin/shared/loggerNotProd/errorWithCodeSnippet.js +2 -2
- package/dist/esm/node/plugin/shared/loggerNotProd.js +4 -4
- package/dist/esm/node/plugin/utils.d.ts +1 -2
- package/dist/esm/node/plugin/utils.js +1 -2
- package/dist/esm/node/prerender/runPrerender.js +13 -16
- package/dist/esm/node/runtime/html/injectAssets.d.ts +2 -2
- package/dist/esm/node/runtime/html/serializePageContextClientSide.d.ts +2 -2
- package/dist/esm/node/runtime/html/stream.js +4 -1
- package/dist/esm/node/runtime/renderPage/analyzePage.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/analyzePage.js +2 -2
- package/dist/esm/node/runtime/renderPage/createHttpResponseObject.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/debugPageFiles.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/loadPageFilesServerSide.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/loadPageFilesServerSide.js +2 -2
- package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +13 -13
- package/dist/esm/node/shared/getClientEntryFilePath.d.ts +2 -2
- package/dist/esm/node/shared/virtual-files/virtualFilePageConfigValuesAll.js +1 -1
- package/dist/esm/shared/addIs404ToPageProps.d.ts +2 -2
- package/dist/esm/shared/error-page.d.ts +3 -3
- package/dist/esm/shared/error-page.js +1 -1
- package/dist/esm/shared/getPageFiles/analyzeClientSide.d.ts +2 -2
- package/dist/esm/shared/getPageFiles/assertPageConfigs.d.ts +5 -5
- package/dist/esm/shared/getPageFiles/assertPageConfigs.js +12 -12
- package/dist/esm/shared/getPageFiles/getExports.d.ts +2 -2
- package/dist/esm/shared/getPageFiles/getExports.js +1 -1
- package/dist/esm/shared/getPageFiles/parseGlobResults.d.ts +3 -3
- package/dist/esm/shared/getPageFiles/parseGlobResults.js +9 -43
- package/dist/esm/shared/getPageFiles/parsePageConfigsSerialized.d.ts +6 -0
- package/dist/esm/shared/getPageFiles/parsePageConfigsSerialized.js +59 -0
- package/dist/esm/shared/getPageFiles/setPageFiles.d.ts +3 -3
- package/dist/esm/shared/page-configs/Config.d.ts +200 -11
- package/dist/esm/shared/page-configs/PageConfig.d.ts +59 -39
- package/dist/esm/shared/page-configs/assertExports.d.ts +6 -0
- package/dist/esm/shared/page-configs/assertExports.js +54 -0
- package/dist/esm/shared/page-configs/findPageConfig.d.ts +2 -2
- package/dist/esm/shared/page-configs/loadConfigValues.d.ts +3 -0
- package/dist/esm/shared/page-configs/loadConfigValues.js +15 -0
- package/dist/esm/shared/page-configs/parseConfigValuesImported.d.ts +3 -0
- package/dist/esm/shared/page-configs/parseConfigValuesImported.js +44 -0
- package/dist/esm/shared/page-configs/utils.d.ts +3 -2
- package/dist/esm/shared/page-configs/utils.js +1 -1
- package/dist/esm/shared/route/executeGuardHook.d.ts +2 -2
- package/dist/esm/shared/route/index.d.ts +3 -3
- package/dist/esm/shared/route/loadPageRoutes.d.ts +2 -2
- package/dist/esm/shared/route/loadPageRoutes.js +11 -13
- package/dist/esm/shared/route/resolvePrecedence.js +33 -12
- package/dist/esm/shared/route/resolveRedirects.js +1 -1
- package/dist/esm/shared/route/resolveRouteFunction.js +1 -0
- package/dist/esm/shared/route/resolveRouteString.d.ts +21 -4
- package/dist/esm/shared/route/resolveRouteString.js +98 -42
- package/dist/esm/shared/types.d.ts +7 -6
- package/dist/esm/shared/utils.d.ts +1 -1
- package/dist/esm/shared/utils.js +1 -1
- package/dist/esm/types/defineConfig.d.ts +3 -0
- package/dist/esm/types/defineConfig.js +4 -0
- package/dist/esm/types/index.d.ts +2 -1
- package/dist/esm/types/index.js +1 -1
- package/dist/esm/utils/getFilePathAbsolute.d.ts +2 -2
- package/dist/esm/utils/getFilePathAbsolute.js +15 -11
- package/dist/esm/utils/objectAssign.js +3 -1
- package/dist/esm/utils/parseUrl.js +6 -1
- package/dist/esm/utils/projectInfo.d.ts +1 -1
- package/dist/esm/utils/projectInfo.js +1 -1
- package/dist/esm/utils/requireResolve.d.ts +2 -0
- package/dist/esm/utils/requireResolve.js +57 -0
- package/package.json +3 -3
- package/dist/cjs/shared/page-configs/loadPageCode.js +0 -63
- package/dist/cjs/utils/addFileExtensionsToRequireResolve.js +0 -23
- package/dist/cjs/utils/assertDefaultExport.js +0 -53
- package/dist/esm/shared/page-configs/loadPageCode.d.ts +0 -3
- package/dist/esm/shared/page-configs/loadPageCode.js +0 -57
- package/dist/esm/utils/addFileExtensionsToRequireResolve.d.ts +0 -2
- package/dist/esm/utils/addFileExtensionsToRequireResolve.js +0 -20
- package/dist/esm/utils/assertDefaultExport.d.ts +0 -8
- package/dist/esm/utils/assertDefaultExport.js +0 -47
- /package/dist/cjs/shared/getPageFiles/{assertExports.js → assert_exports_old_design.js} +0 -0
- /package/dist/esm/shared/getPageFiles/{assertExports.d.ts → assert_exports_old_design.d.ts} +0 -0
- /package/dist/esm/shared/getPageFiles/{assertExports.js → assert_exports_old_design.js} +0 -0
|
@@ -7,7 +7,7 @@ export { isEquivalentErrorWithCodeSnippet };
|
|
|
7
7
|
export { getPrettyErrMessage };
|
|
8
8
|
// Copied & adapted from https://github.com/vitejs/vite/blob/9c114c5c72a6af87e3330d5573362554b4511265/packages/vite/src/node/server/middlewares/error.ts
|
|
9
9
|
import pc from '@brillout/picocolors';
|
|
10
|
-
import { assert, escapeRegex,
|
|
10
|
+
import { assert, escapeRegex, getFilePathRelativeToUserRootDir, isObject, removeEmptyLines, stripAnsi, toPosixPath } from '../../utils.js';
|
|
11
11
|
function isErrorWithCodeSnippet(err) {
|
|
12
12
|
if (!isObject(err)) {
|
|
13
13
|
return false;
|
|
@@ -46,7 +46,7 @@ function getPrettyErrorWithCodeSnippet(err, userRootDir) {
|
|
|
46
46
|
let { id, frame } = err;
|
|
47
47
|
const msgFirstLine = [
|
|
48
48
|
pc.red('Failed to transpile'),
|
|
49
|
-
pc.bold(pc.red(
|
|
49
|
+
pc.bold(pc.red(getFilePathRelativeToUserRootDir(normalizeId(id), userRootDir))),
|
|
50
50
|
pc.red('because:')
|
|
51
51
|
].join(' ');
|
|
52
52
|
const errMsg = getPrettyErrMessage(err);
|
|
@@ -18,7 +18,7 @@ import { assert, assertIsNotProductionRuntime, getAssertErrMsg, isUserHookError,
|
|
|
18
18
|
import { getHttpRequestAsyncStore } from './getHttpRequestAsyncStore.js';
|
|
19
19
|
import { isErrorDebug } from './isErrorDebug.js';
|
|
20
20
|
import { isErrorWithCodeSnippet, getPrettyErrorWithCodeSnippet } from './loggerNotProd/errorWithCodeSnippet.js';
|
|
21
|
-
import {
|
|
21
|
+
import { getConfigExecutionErrorIntroMsg, getConfigBuildErrorFormatted } from '../plugins/importUserCode/v1-design/transpileAndExecuteFile.js';
|
|
22
22
|
import { logWithVikeTag, logWithViteTag, logDirectly, isFirstLog, screenHasErrors, clearScreen } from './loggerNotProd/log.js';
|
|
23
23
|
import pc from '@brillout/picocolors';
|
|
24
24
|
import { setAlreadyLogged } from '../../runtime/renderPage/isNewError.js';
|
|
@@ -108,7 +108,7 @@ function logConfigError(err) {
|
|
|
108
108
|
warnIfErrorIsNotObject(err);
|
|
109
109
|
const category = getConfigCategory();
|
|
110
110
|
{
|
|
111
|
-
const errIntroMsg =
|
|
111
|
+
const errIntroMsg = getConfigExecutionErrorIntroMsg(err);
|
|
112
112
|
if (errIntroMsg) {
|
|
113
113
|
assert(stripAnsi(errIntroMsg).startsWith('Failed to execute'));
|
|
114
114
|
logWithVikeTag(errIntroMsg, 'error', category);
|
|
@@ -194,9 +194,9 @@ function logErrorDebugNote() {
|
|
|
194
194
|
store.errorDebugNoteAlreadyShown = true;
|
|
195
195
|
}
|
|
196
196
|
const msg = pc.dim([
|
|
197
|
-
'
|
|
197
|
+
'┌──────────────────────────────────────────────────────────┐',
|
|
198
198
|
"│ Error isn't helpful? See https://vike.dev/errors#verbose │",
|
|
199
|
-
'
|
|
199
|
+
'└──────────────────────────────────────────────────────────┘'
|
|
200
200
|
].join('\n'));
|
|
201
201
|
logDirectly(msg, 'error');
|
|
202
202
|
}
|
|
@@ -2,8 +2,7 @@ export * from '../runtime/utils.js';
|
|
|
2
2
|
export * from '../../utils/viteIsSSR.js';
|
|
3
3
|
export * from '../../utils/getFilePathAbsolute.js';
|
|
4
4
|
export * from '../../utils/getDependencyPackageJson.js';
|
|
5
|
-
export * from '../../utils/
|
|
6
|
-
export * from '../../utils/assertDefaultExport.js';
|
|
5
|
+
export * from '../../utils/requireResolve.js';
|
|
7
6
|
export * from '../../utils/arrayIncludes.js';
|
|
8
7
|
export * from '../../utils/isDev.js';
|
|
9
8
|
export * from '../../utils/objectKeys.js';
|
|
@@ -8,8 +8,7 @@ export * from '../runtime/utils.js';
|
|
|
8
8
|
export * from '../../utils/viteIsSSR.js';
|
|
9
9
|
export * from '../../utils/getFilePathAbsolute.js';
|
|
10
10
|
export * from '../../utils/getDependencyPackageJson.js';
|
|
11
|
-
export * from '../../utils/
|
|
12
|
-
export * from '../../utils/assertDefaultExport.js';
|
|
11
|
+
export * from '../../utils/requireResolve.js';
|
|
13
12
|
export * from '../../utils/arrayIncludes.js';
|
|
14
13
|
export * from '../../utils/isDev.js';
|
|
15
14
|
export * from '../../utils/objectKeys.js';
|
|
@@ -17,7 +17,7 @@ import { getPageFilesServerSide } from '../../shared/getPageFiles.js';
|
|
|
17
17
|
import { getPageContextRequestUrl } from '../../shared/getPageContextRequestUrl.js';
|
|
18
18
|
import { getUrlFromRouteString } from '../../shared/route/resolveRouteString.js';
|
|
19
19
|
import { getConfigDefinedAtInfo, getConfigValue } from '../../shared/page-configs/utils.js';
|
|
20
|
-
import {
|
|
20
|
+
import { loadConfigValues } from '../../shared/page-configs/loadConfigValues.js';
|
|
21
21
|
import { isErrorPage } from '../../shared/error-page.js';
|
|
22
22
|
import { addUrlComputedProps } from '../../shared/addUrlComputedProps.js';
|
|
23
23
|
import { assertPathIsFilesystemAbsolute } from '../../utils/assertPathIsFilesystemAbsolute.js';
|
|
@@ -143,7 +143,7 @@ async function callOnBeforePrerenderStartHooks(prerenderContext, renderContext,
|
|
|
143
143
|
// V1 design
|
|
144
144
|
await Promise.all(renderContext.pageConfigs.map((pageConfig) => concurrencyLimit(async () => {
|
|
145
145
|
const hookName = 'onBeforePrerenderStart';
|
|
146
|
-
const pageConfigLoaded = await
|
|
146
|
+
const pageConfigLoaded = await loadConfigValues(pageConfig, false);
|
|
147
147
|
const configValue = getConfigValue(pageConfigLoaded, hookName);
|
|
148
148
|
if (!configValue)
|
|
149
149
|
return;
|
|
@@ -281,20 +281,17 @@ async function callOnPrerenderStartHook(prerenderContext, renderContext) {
|
|
|
281
281
|
let onPrerenderStartHook;
|
|
282
282
|
// V1 design
|
|
283
283
|
if (renderContext.pageConfigs.length > 0) {
|
|
284
|
-
const
|
|
285
|
-
if (
|
|
286
|
-
const hookFn =
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
hookFilePath
|
|
296
|
-
};
|
|
297
|
-
}
|
|
284
|
+
const { pageConfigGlobal } = renderContext;
|
|
285
|
+
if (pageConfigGlobal.configValues.onPrerenderStart?.value) {
|
|
286
|
+
const { value: hookFn, definedAtInfo } = pageConfigGlobal.configValues.onPrerenderStart;
|
|
287
|
+
// config.onPrerenderStart isn't a computed nor a cumulative config => definedAtInfo should always be defined
|
|
288
|
+
assert(definedAtInfo);
|
|
289
|
+
const hookFilePath = definedAtInfo.filePath;
|
|
290
|
+
onPrerenderStartHook = {
|
|
291
|
+
hookFn,
|
|
292
|
+
hookName: 'onPrerenderStart',
|
|
293
|
+
hookFilePath
|
|
294
|
+
};
|
|
298
295
|
}
|
|
299
296
|
}
|
|
300
297
|
// Old design
|
|
@@ -6,7 +6,7 @@ import type { PageAsset } from '../renderPage/getPageAssets.js';
|
|
|
6
6
|
import type { HtmlPart } from './renderHtml.js';
|
|
7
7
|
import { type PreloadFilter } from './injectAssets/getHtmlTags.js';
|
|
8
8
|
import type { InjectToStream } from './stream/react-streaming.js';
|
|
9
|
-
import type {
|
|
9
|
+
import type { PageConfigRuntime } from '../../../shared/page-configs/PageConfig.js';
|
|
10
10
|
import type { PageContextSerialization } from './serializePageContextClientSide.js';
|
|
11
11
|
type PageContextInjectAssets = {
|
|
12
12
|
urlPathname: string;
|
|
@@ -19,7 +19,7 @@ type PageContextInjectAssets = {
|
|
|
19
19
|
hookName: 'onRenderHtml' | 'render';
|
|
20
20
|
};
|
|
21
21
|
_baseServer: string;
|
|
22
|
-
_pageConfigs:
|
|
22
|
+
_pageConfigs: PageConfigRuntime[];
|
|
23
23
|
is404: null | boolean;
|
|
24
24
|
} & PageContextSerialization;
|
|
25
25
|
declare function injectHtmlTagsToString(htmlParts: HtmlPart[], pageContext: PageContextInjectAssets & {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export { serializePageContextClientSide };
|
|
2
2
|
export { serializePageContextAbort };
|
|
3
3
|
export type { PageContextSerialization };
|
|
4
|
-
import type {
|
|
4
|
+
import type { PageConfigRuntime } from '../../../shared/page-configs/PageConfig.js';
|
|
5
5
|
import type { UrlRedirect } from '../../../shared/route/abort.js';
|
|
6
6
|
type PageContextSerialization = {
|
|
7
7
|
_pageId: string;
|
|
8
8
|
_passToClient: string[];
|
|
9
|
-
_pageConfigs:
|
|
9
|
+
_pageConfigs: PageConfigRuntime[];
|
|
10
10
|
is404: null | boolean;
|
|
11
11
|
pageProps?: Record<string, unknown>;
|
|
12
12
|
_isError?: true;
|
|
@@ -628,7 +628,10 @@ function isStreamPipeWeb(thing) {
|
|
|
628
628
|
const __streamPipeNode = '__streamPipeNode';
|
|
629
629
|
/** @deprecated */
|
|
630
630
|
function pipeNodeStream(pipe) {
|
|
631
|
-
assertWarning(false, 'pipeNodeStream() is outdated, use stampPipe() instead. See https://vike.dev/stream', {
|
|
631
|
+
assertWarning(false, 'pipeNodeStream() is outdated, use stampPipe() instead. See https://vike.dev/stream', {
|
|
632
|
+
onlyOnce: true,
|
|
633
|
+
showStackTrace: true
|
|
634
|
+
});
|
|
632
635
|
return { [__streamPipeNode]: pipe };
|
|
633
636
|
}
|
|
634
637
|
function getStreamPipeNode(thing) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { analyzePage };
|
|
2
2
|
import type { PageFile } from '../../../shared/getPageFiles/getPageFileObject.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { PageConfigRuntime } from '../../../shared/page-configs/PageConfig.js';
|
|
4
4
|
import { type AnalysisResult } from '../../../shared/getPageFiles/analyzePageClientSide.js';
|
|
5
|
-
declare function analyzePage(pageFilesAll: PageFile[], pageConfig: null |
|
|
5
|
+
declare function analyzePage(pageFilesAll: PageFile[], pageConfig: null | PageConfigRuntime, pageId: string): AnalysisResult;
|
|
@@ -26,14 +26,14 @@ function analyzePage(pageFilesAll, pageConfig, pageId) {
|
|
|
26
26
|
}
|
|
27
27
|
/* Remove?
|
|
28
28
|
Object.values(pageConfig.configElements).forEach((configElement) => {
|
|
29
|
-
if (configElement.
|
|
29
|
+
if (configElement.importPath) {
|
|
30
30
|
const { env } = configElement
|
|
31
31
|
assert(env)
|
|
32
32
|
const onlyAssets = env === 'server-only'
|
|
33
33
|
const eagerlyImported = env === '_routing-eager'
|
|
34
34
|
if (onlyAssets || eagerlyImported) {
|
|
35
35
|
clientDependencies.push({
|
|
36
|
-
id: configElement.
|
|
36
|
+
id: configElement.importPath,
|
|
37
37
|
onlyAssets,
|
|
38
38
|
eagerlyImported
|
|
39
39
|
})
|
|
@@ -4,7 +4,7 @@ export { createHttpResponseObjectRedirect };
|
|
|
4
4
|
export type { HttpResponse };
|
|
5
5
|
import type { GetPageAssets } from './getPageAssets.js';
|
|
6
6
|
import type { HtmlRender } from '../html/renderHtml.js';
|
|
7
|
-
import type {
|
|
7
|
+
import type { PageConfigRuntime } from '../../../shared/page-configs/PageConfig.js';
|
|
8
8
|
import type { RenderHook } from './executeOnRenderHtmlHook.js';
|
|
9
9
|
import type { RedirectStatusCode, AbortStatusCode, UrlRedirect } from '../../../shared/route/abort.js';
|
|
10
10
|
import { HttpResponseBody } from './getHttpResponseBody.js';
|
|
@@ -21,7 +21,7 @@ declare function createHttpResponseObject(htmlRender: null | HtmlRender, renderH
|
|
|
21
21
|
is404: null | boolean;
|
|
22
22
|
errorWhileRendering: null | Error;
|
|
23
23
|
__getPageAssets: GetPageAssets;
|
|
24
|
-
_pageConfigs:
|
|
24
|
+
_pageConfigs: PageConfigRuntime[];
|
|
25
25
|
abortStatusCode?: AbortStatusCode;
|
|
26
26
|
}): Promise<HttpResponse | null>;
|
|
27
27
|
declare function createHttpResponsePageContextJson(pageContextSerialized: string): Promise<HttpResponse>;
|
|
@@ -3,7 +3,7 @@ export type { PageContextDebug };
|
|
|
3
3
|
import { RouteMatches } from '../../../shared/route/index.js';
|
|
4
4
|
import type { ClientDependency } from '../../../shared/getPageFiles/analyzePageClientSide/ClientDependency.js';
|
|
5
5
|
import type { PageFile } from '../../../shared/getPageFiles.js';
|
|
6
|
-
import type {
|
|
6
|
+
import type { PageConfigRuntime } from '../../../shared/page-configs/PageConfig.js';
|
|
7
7
|
type PageContextDebug = {
|
|
8
8
|
_routeMatches: 'ROUTE_ERROR' | RouteMatches;
|
|
9
9
|
};
|
|
@@ -12,7 +12,7 @@ declare function debugPageFiles({ pageContext, isHtmlOnly, isClientRouting, page
|
|
|
12
12
|
urlOriginal: string;
|
|
13
13
|
_pageId: string;
|
|
14
14
|
_pageFilesAll: PageFile[];
|
|
15
|
-
_pageConfigs:
|
|
15
|
+
_pageConfigs: PageConfigRuntime[];
|
|
16
16
|
} & PageContextDebug;
|
|
17
17
|
isHtmlOnly: boolean;
|
|
18
18
|
isClientRouting: boolean;
|
|
@@ -3,7 +3,7 @@ export type { RenderHook };
|
|
|
3
3
|
import { type HtmlRender } from '../html/renderHtml.js';
|
|
4
4
|
import type { PageAsset } from './getPageAssets.js';
|
|
5
5
|
import { type PageContextForUserConsumptionServerSide } from './preparePageContextForUserConsumptionServerSide.js';
|
|
6
|
-
import type {
|
|
6
|
+
import type { PageConfigRuntime } from '../../../shared/page-configs/PageConfig.js';
|
|
7
7
|
import type { PageContextSerialization } from '../html/serializePageContextClientSide.js';
|
|
8
8
|
type GetPageAssets = () => Promise<PageAsset[]>;
|
|
9
9
|
type RenderHook = {
|
|
@@ -13,7 +13,7 @@ type RenderHook = {
|
|
|
13
13
|
type HookName = 'onRenderHtml' | 'render';
|
|
14
14
|
declare function executeOnRenderHtmlHook(pageContext: PageContextForUserConsumptionServerSide & PageContextSerialization & {
|
|
15
15
|
_pageId: string;
|
|
16
|
-
_pageConfigs:
|
|
16
|
+
_pageConfigs: PageConfigRuntime[];
|
|
17
17
|
__getPageAssets: GetPageAssets;
|
|
18
18
|
_isHtmlOnly: boolean;
|
|
19
19
|
_baseServer: string;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export { handleErrorWithoutErrorPage };
|
|
2
2
|
import type { PageContextAfterRender } from './renderPageAlreadyRouted.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { PageConfigRuntime } from '../../../shared/page-configs/PageConfig.js';
|
|
4
4
|
declare function handleErrorWithoutErrorPage<PageContext extends {
|
|
5
5
|
isClientSideNavigation: boolean;
|
|
6
6
|
errorWhileRendering: null | Error;
|
|
7
7
|
is404: null | boolean;
|
|
8
8
|
_pageId: null;
|
|
9
|
-
_pageConfigs:
|
|
9
|
+
_pageConfigs: PageConfigRuntime[];
|
|
10
10
|
urlOriginal: string;
|
|
11
11
|
}>(pageContext: PageContext): Promise<PageContext & PageContextAfterRender>;
|
|
@@ -5,11 +5,11 @@ import { type PageFile } from '../../../shared/getPageFiles.js';
|
|
|
5
5
|
import { PromiseType } from '../utils.js';
|
|
6
6
|
import { PageContextGetPageAssets, type PageAsset } from './getPageAssets.js';
|
|
7
7
|
import { type PageContextDebug } from './debugPageFiles.js';
|
|
8
|
-
import type {
|
|
8
|
+
import type { PageConfigRuntime } from '../../../shared/page-configs/PageConfig.js';
|
|
9
9
|
type PageContext_loadPageFilesServerSide = PageContextGetPageAssets & PageContextDebug & {
|
|
10
10
|
urlOriginal: string;
|
|
11
11
|
_pageFilesAll: PageFile[];
|
|
12
|
-
_pageConfigs:
|
|
12
|
+
_pageConfigs: PageConfigRuntime[];
|
|
13
13
|
};
|
|
14
14
|
type PageFiles = PromiseType<ReturnType<typeof loadPageFilesServerSide>>;
|
|
15
15
|
declare function loadPageFilesServerSide(pageContext: {
|
|
@@ -7,7 +7,7 @@ import { debugPageFiles } from './debugPageFiles.js';
|
|
|
7
7
|
import { findPageConfig } from '../../../shared/page-configs/findPageConfig.js';
|
|
8
8
|
import { analyzePage } from './analyzePage.js';
|
|
9
9
|
import { getGlobalContext } from '../globalContext.js';
|
|
10
|
-
import {
|
|
10
|
+
import { loadConfigValues } from '../../../shared/page-configs/loadConfigValues.js';
|
|
11
11
|
async function loadPageFilesServerSide(pageContext) {
|
|
12
12
|
const pageConfig = findPageConfig(pageContext._pageConfigs, pageContext._pageId); // Make pageConfig globally available as pageContext._pageConfig?
|
|
13
13
|
const [{ config, configEntries, exports, exportsAll, pageExports, pageFilesLoaded, pageConfigLoaded }] = await Promise.all([
|
|
@@ -82,7 +82,7 @@ async function loadPageFilesServerSide(pageContext) {
|
|
|
82
82
|
}
|
|
83
83
|
async function loadPageFiles(pageFilesAll, pageConfig, pageId, isDev) {
|
|
84
84
|
const pageFilesServerSide = getPageFilesServerSide(pageFilesAll, pageId);
|
|
85
|
-
const pageConfigLoaded = !pageConfig ? null : await
|
|
85
|
+
const pageConfigLoaded = !pageConfig ? null : await loadConfigValues(pageConfig, isDev);
|
|
86
86
|
await Promise.all(pageFilesServerSide.map((p) => p.loadFile?.()));
|
|
87
87
|
const { config, configEntries, exports, exportsAll, pageExports } = getExports(pageFilesServerSide, pageConfigLoaded);
|
|
88
88
|
return {
|
package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { preparePageContextForUserConsumptionServerSide };
|
|
2
2
|
export type { PageContextForUserConsumptionServerSide };
|
|
3
3
|
import { PageContextUrlComputedPropsInternal } from '../../../shared/addUrlComputedProps.js';
|
|
4
|
-
import type {
|
|
4
|
+
import type { PageConfigRuntime } from '../../../shared/page-configs/PageConfig.js';
|
|
5
5
|
import type { ConfigEntries, ExportsAll } from '../../../shared/getPageFiles/getExports.js';
|
|
6
6
|
import { PageContextBuiltInServerInternal } from '../../../shared/types.js';
|
|
7
7
|
type PageContextForUserConsumptionServerSide = PageContextBuiltInServerInternal & {
|
|
@@ -18,7 +18,7 @@ type PageContextForUserConsumptionServerSide = PageContextBuiltInServerInternal
|
|
|
18
18
|
exports: Record<string, unknown>;
|
|
19
19
|
exportsAll: ExportsAll;
|
|
20
20
|
_pageId: string;
|
|
21
|
-
_pageConfigs:
|
|
21
|
+
_pageConfigs: PageConfigRuntime[];
|
|
22
22
|
is404: null | boolean;
|
|
23
23
|
isClientSideNavigation: boolean;
|
|
24
24
|
pageProps?: Record<string, unknown>;
|
|
@@ -10,7 +10,7 @@ import { type PageFile } from '../../../shared/getPageFiles.js';
|
|
|
10
10
|
import { type PageContextUrlComputedPropsInternal } from '../../../shared/addUrlComputedProps.js';
|
|
11
11
|
import { HttpResponse } from './createHttpResponseObject.js';
|
|
12
12
|
import { PageContext_loadPageFilesServerSide, type PageFiles } from './loadPageFilesServerSide.js';
|
|
13
|
-
import type {
|
|
13
|
+
import type { PageConfigRuntime, PageConfigGlobalRuntime } from '../../../shared/page-configs/PageConfig.js';
|
|
14
14
|
import { type PageRoutes } from '../../../shared/route/loadPageRoutes.js';
|
|
15
15
|
import type { OnBeforeRouteHook } from '../../../shared/route/executeOnBeforeRouteHook.js';
|
|
16
16
|
type PageContextAfterRender = {
|
|
@@ -42,8 +42,8 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
|
|
|
42
42
|
_baseAssets: string | null;
|
|
43
43
|
_includeAssetsImportedByServer: boolean;
|
|
44
44
|
_pageFilesAll: PageFile[];
|
|
45
|
-
_pageConfigs:
|
|
46
|
-
_pageConfigGlobal:
|
|
45
|
+
_pageConfigs: PageConfigRuntime[];
|
|
46
|
+
_pageConfigGlobal: PageConfigGlobalRuntime;
|
|
47
47
|
_allPageIds: string[];
|
|
48
48
|
_pageRoutes: PageRoutes;
|
|
49
49
|
_onBeforeRouteHook: OnBeforeRouteHook | null;
|
|
@@ -89,8 +89,8 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
|
|
|
89
89
|
_baseAssets: string | null;
|
|
90
90
|
_includeAssetsImportedByServer: boolean;
|
|
91
91
|
_pageFilesAll: PageFile[];
|
|
92
|
-
_pageConfigs:
|
|
93
|
-
_pageConfigGlobal:
|
|
92
|
+
_pageConfigs: PageConfigRuntime[];
|
|
93
|
+
_pageConfigGlobal: PageConfigGlobalRuntime;
|
|
94
94
|
_allPageIds: string[];
|
|
95
95
|
_pageRoutes: PageRoutes;
|
|
96
96
|
_onBeforeRouteHook: OnBeforeRouteHook | null;
|
|
@@ -137,8 +137,8 @@ declare function prerender404Page(renderContext: RenderContext, pageContextInit_
|
|
|
137
137
|
_baseAssets: string | null;
|
|
138
138
|
_includeAssetsImportedByServer: boolean;
|
|
139
139
|
_pageFilesAll: PageFile[];
|
|
140
|
-
_pageConfigs:
|
|
141
|
-
_pageConfigGlobal:
|
|
140
|
+
_pageConfigs: PageConfigRuntime[];
|
|
141
|
+
_pageConfigGlobal: PageConfigGlobalRuntime;
|
|
142
142
|
_allPageIds: string[];
|
|
143
143
|
_pageRoutes: PageRoutes;
|
|
144
144
|
_onBeforeRouteHook: OnBeforeRouteHook | null;
|
|
@@ -184,8 +184,8 @@ declare function prerender404Page(renderContext: RenderContext, pageContextInit_
|
|
|
184
184
|
_baseAssets: string | null;
|
|
185
185
|
_includeAssetsImportedByServer: boolean;
|
|
186
186
|
_pageFilesAll: PageFile[];
|
|
187
|
-
_pageConfigs:
|
|
188
|
-
_pageConfigGlobal:
|
|
187
|
+
_pageConfigs: PageConfigRuntime[];
|
|
188
|
+
_pageConfigGlobal: PageConfigGlobalRuntime;
|
|
189
189
|
_allPageIds: string[];
|
|
190
190
|
_pageRoutes: PageRoutes;
|
|
191
191
|
_onBeforeRouteHook: OnBeforeRouteHook | null;
|
|
@@ -239,8 +239,8 @@ declare function getPageContextInitEnhanced(pageContextInit: {
|
|
|
239
239
|
_baseAssets: string | null;
|
|
240
240
|
_includeAssetsImportedByServer: boolean;
|
|
241
241
|
_pageFilesAll: PageFile[];
|
|
242
|
-
_pageConfigs:
|
|
243
|
-
_pageConfigGlobal:
|
|
242
|
+
_pageConfigs: PageConfigRuntime[];
|
|
243
|
+
_pageConfigGlobal: PageConfigGlobalRuntime;
|
|
244
244
|
_allPageIds: string[];
|
|
245
245
|
_pageRoutes: PageRoutes;
|
|
246
246
|
_onBeforeRouteHook: OnBeforeRouteHook | null;
|
|
@@ -256,8 +256,8 @@ declare function getPageContextInitEnhanced(pageContextInit: {
|
|
|
256
256
|
};
|
|
257
257
|
type RenderContext = {
|
|
258
258
|
pageFilesAll: PageFile[];
|
|
259
|
-
pageConfigs:
|
|
260
|
-
pageConfigGlobal:
|
|
259
|
+
pageConfigs: PageConfigRuntime[];
|
|
260
|
+
pageConfigGlobal: PageConfigGlobalRuntime;
|
|
261
261
|
allPageIds: string[];
|
|
262
262
|
pageRoutes: PageRoutes;
|
|
263
263
|
onBeforeRouteHook: OnBeforeRouteHook | null;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { getClientEntryFilePath };
|
|
2
|
-
import type {
|
|
3
|
-
declare function getClientEntryFilePath(pageConfig:
|
|
2
|
+
import type { PageConfigRuntime, PageConfigBuildTime } from '../../shared/page-configs/PageConfig.js';
|
|
3
|
+
declare function getClientEntryFilePath(pageConfig: PageConfigRuntime | PageConfigBuildTime): null | string;
|
|
@@ -6,7 +6,7 @@ const idBase = 'virtual:vike:pageConfigValuesAll:';
|
|
|
6
6
|
const idBaseClient = `${idBase}client:`;
|
|
7
7
|
const idBaseServer = `${idBase}server:`;
|
|
8
8
|
function getVirtualFileIdPageConfigValuesAll(pageId, isForClientSide) {
|
|
9
|
-
const id = `${
|
|
9
|
+
const id = `${isForClientSide ? idBaseClient : idBaseServer}${pageId}`;
|
|
10
10
|
return id;
|
|
11
11
|
}
|
|
12
12
|
function isVirtualFileIdPageConfigValuesAll(id) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { addIs404ToPageProps };
|
|
2
|
-
import type {
|
|
2
|
+
import type { PageConfigRuntime } from './page-configs/PageConfig.js';
|
|
3
3
|
declare function addIs404ToPageProps(pageContext: Record<string, unknown> & PageContextAssertIs404): void;
|
|
4
4
|
type PageContextAssertIs404 = {
|
|
5
5
|
_pageId: string;
|
|
6
|
-
_pageConfigs:
|
|
6
|
+
_pageConfigs: PageConfigRuntime[];
|
|
7
7
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { getErrorPageId };
|
|
2
2
|
export { isErrorPageId };
|
|
3
3
|
export { isErrorPage };
|
|
4
|
-
import type {
|
|
4
|
+
import type { PageConfigRuntime } from './page-configs/PageConfig.js';
|
|
5
5
|
import type { PageFile } from './getPageFiles.js';
|
|
6
|
-
declare function getErrorPageId(pageFilesAll: PageFile[], pageConfigs:
|
|
6
|
+
declare function getErrorPageId(pageFilesAll: PageFile[], pageConfigs: PageConfigRuntime[]): string | null;
|
|
7
7
|
declare function isErrorPageId(pageId: string, _isV1Design: false): boolean;
|
|
8
|
-
declare function isErrorPage(pageId: string, pageConfigs:
|
|
8
|
+
declare function isErrorPage(pageId: string, pageConfigs: PageConfigRuntime[]): boolean;
|
|
@@ -30,7 +30,7 @@ function isErrorPage(pageId, pageConfigs) {
|
|
|
30
30
|
if (pageConfigs.length > 0) {
|
|
31
31
|
const pageConfig = pageConfigs.find((p) => p.pageId === pageId);
|
|
32
32
|
assert(pageConfig);
|
|
33
|
-
return pageConfig.isErrorPage;
|
|
33
|
+
return !!pageConfig.isErrorPage;
|
|
34
34
|
}
|
|
35
35
|
else {
|
|
36
36
|
return isErrorPageId(pageId, false);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { analyzeClientSide };
|
|
2
|
-
import type {
|
|
2
|
+
import type { PageConfigRuntime } from '../page-configs/PageConfig.js';
|
|
3
3
|
import type { PageFile } from './getPageFileObject.js';
|
|
4
|
-
declare function analyzeClientSide(pageConfig:
|
|
4
|
+
declare function analyzeClientSide(pageConfig: PageConfigRuntime | null, pageFilesAll: PageFile[], pageId: string): {
|
|
5
5
|
isClientSideRenderable: boolean;
|
|
6
6
|
isClientRouting: boolean;
|
|
7
7
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
3
|
-
import type {
|
|
4
|
-
declare function
|
|
5
|
-
declare function
|
|
1
|
+
export { assertPageConfigsSerialized };
|
|
2
|
+
export { assertPageConfigGlobalSerialized };
|
|
3
|
+
import type { PageConfigGlobalRuntimeSerialized, PageConfigRuntimeSerialized } from '../page-configs/PageConfig.js';
|
|
4
|
+
declare function assertPageConfigsSerialized(pageConfigsSerialized: unknown): asserts pageConfigsSerialized is PageConfigRuntimeSerialized[];
|
|
5
|
+
declare function assertPageConfigGlobalSerialized(pageConfigGlobalSerialized: unknown): asserts pageConfigGlobalSerialized is PageConfigGlobalRuntimeSerialized;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
1
|
+
export { assertPageConfigsSerialized };
|
|
2
|
+
export { assertPageConfigGlobalSerialized };
|
|
3
3
|
import { assert, isObject, hasProp } from '../utils.js';
|
|
4
|
-
function
|
|
5
|
-
assert(Array.isArray(
|
|
6
|
-
|
|
7
|
-
assert(isObject(
|
|
8
|
-
assert(hasProp(
|
|
9
|
-
assert(hasProp(
|
|
4
|
+
function assertPageConfigsSerialized(pageConfigsSerialized) {
|
|
5
|
+
assert(Array.isArray(pageConfigsSerialized));
|
|
6
|
+
pageConfigsSerialized.forEach((pageConfigSerialized) => {
|
|
7
|
+
assert(isObject(pageConfigSerialized));
|
|
8
|
+
assert(hasProp(pageConfigSerialized, 'pageId', 'string'));
|
|
9
|
+
assert(hasProp(pageConfigSerialized, 'routeFilesystem'));
|
|
10
|
+
assert(hasProp(pageConfigSerialized, 'configValuesSerialized'));
|
|
11
|
+
assert(hasProp(pageConfigSerialized, 'configValuesImported'));
|
|
10
12
|
});
|
|
11
13
|
}
|
|
12
|
-
function
|
|
13
|
-
assert(
|
|
14
|
-
assert(hasProp(pageConfigGlobal, 'onBeforeRoute'));
|
|
15
|
-
assert(hasProp(pageConfigGlobal, 'onPrerenderStart'));
|
|
14
|
+
function assertPageConfigGlobalSerialized(pageConfigGlobalSerialized) {
|
|
15
|
+
assert(hasProp(pageConfigGlobalSerialized, 'configValuesImported'));
|
|
16
16
|
}
|
|
@@ -4,7 +4,7 @@ export type { ExportsAll };
|
|
|
4
4
|
export type { PageContextExports };
|
|
5
5
|
export type { ConfigEntries };
|
|
6
6
|
import type { FileType } from './fileTypes.js';
|
|
7
|
-
import type {
|
|
7
|
+
import type { PageConfigRuntimeLoaded } from './../page-configs/PageConfig.js';
|
|
8
8
|
import type { PageFile } from './getPageFileObject.js';
|
|
9
9
|
type ExportsAll = Record<string, {
|
|
10
10
|
exportValue: unknown;
|
|
@@ -35,5 +35,5 @@ type PageContextExports = {
|
|
|
35
35
|
/** @deprecated */
|
|
36
36
|
pageExports: Record<string, unknown>;
|
|
37
37
|
};
|
|
38
|
-
declare function getExports(pageFiles: PageFile[], pageConfig:
|
|
38
|
+
declare function getExports(pageFiles: PageFile[], pageConfig: PageConfigRuntimeLoaded | null): PageContextExports;
|
|
39
39
|
declare function getExportUnion(exportsAll: ExportsAll, propName: string): string[];
|
|
@@ -2,7 +2,7 @@ export { getExportUnion };
|
|
|
2
2
|
export { getExports };
|
|
3
3
|
import { isScriptFile, isTemplateFile } from '../../utils/isScriptFile.js';
|
|
4
4
|
import { assert, hasProp, isObject, assertWarning, assertUsage, makeLast, isBrowser } from '../utils.js';
|
|
5
|
-
import { assertDefaultExports, forbiddenDefaultExports } from './
|
|
5
|
+
import { assertDefaultExports, forbiddenDefaultExports } from './assert_exports_old_design.js';
|
|
6
6
|
import { getConfigDefinedAtString } from '../page-configs/utils.js';
|
|
7
7
|
import pc from '@brillout/picocolors';
|
|
8
8
|
function getExports(pageFiles, pageConfig) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { parseGlobResults };
|
|
2
2
|
import { type PageFile } from './getPageFileObject.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { PageConfigRuntime, PageConfigGlobalRuntime } from '../page-configs/PageConfig.js';
|
|
4
4
|
declare function parseGlobResults(pageFilesExports: unknown): {
|
|
5
5
|
pageFiles: PageFile[];
|
|
6
|
-
pageConfigs:
|
|
7
|
-
pageConfigGlobal:
|
|
6
|
+
pageConfigs: PageConfigRuntime[];
|
|
7
|
+
pageConfigGlobal: PageConfigGlobalRuntime;
|
|
8
8
|
};
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
export { parseGlobResults };
|
|
2
2
|
import { assert, hasProp, isCallable, isObject, cast, assertUsage } from '../utils.js';
|
|
3
|
-
import { assertExportValues } from './
|
|
3
|
+
import { assertExportValues } from './assert_exports_old_design.js';
|
|
4
4
|
import { getPageFileObject } from './getPageFileObject.js';
|
|
5
5
|
import { fileTypes } from './fileTypes.js';
|
|
6
|
-
import {
|
|
6
|
+
import { assertPageConfigGlobalSerialized, assertPageConfigsSerialized } from './assertPageConfigs.js';
|
|
7
|
+
import { parsePageConfigsSerialized } from './parsePageConfigsSerialized.js';
|
|
7
8
|
function parseGlobResults(pageFilesExports) {
|
|
8
9
|
assert(hasProp(pageFilesExports, 'isGeneratedFile'));
|
|
9
10
|
assert(pageFilesExports.isGeneratedFile !== false, `vike was re-installed(/re-built). Restart your app.`);
|
|
@@ -15,12 +16,12 @@ function parseGlobResults(pageFilesExports) {
|
|
|
15
16
|
assert(hasProp(pageFilesExports.pageFilesLazy, '.page'));
|
|
16
17
|
assert(hasProp(pageFilesExports.pageFilesLazy, '.page.client') || hasProp(pageFilesExports.pageFilesLazy, '.page.server'));
|
|
17
18
|
assert(hasProp(pageFilesExports, 'pageFilesList', 'string[]'));
|
|
18
|
-
assert(hasProp(pageFilesExports, '
|
|
19
|
-
assert(hasProp(pageFilesExports, '
|
|
20
|
-
const {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
assert(hasProp(pageFilesExports, 'pageConfigsSerialized'));
|
|
20
|
+
assert(hasProp(pageFilesExports, 'pageConfigGlobalSerialized'));
|
|
21
|
+
const { pageConfigsSerialized, pageConfigGlobalSerialized } = pageFilesExports;
|
|
22
|
+
assertPageConfigsSerialized(pageConfigsSerialized);
|
|
23
|
+
assertPageConfigGlobalSerialized(pageConfigGlobalSerialized);
|
|
24
|
+
const { pageConfigs, pageConfigGlobal } = parsePageConfigsSerialized(pageConfigsSerialized, pageConfigGlobalSerialized);
|
|
24
25
|
const pageFilesMap = {};
|
|
25
26
|
parseGlobResult(pageFilesExports.pageFilesLazy).forEach(({ filePath, pageFile, globValue }) => {
|
|
26
27
|
pageFile = pageFilesMap[filePath] = pageFilesMap[filePath] ?? pageFile;
|
|
@@ -87,38 +88,3 @@ function parseGlobResult(globObject) {
|
|
|
87
88
|
function assertLoadModule(globValue) {
|
|
88
89
|
assert(isCallable(globValue));
|
|
89
90
|
}
|
|
90
|
-
function parsePageConfigs(pageConfigs) {
|
|
91
|
-
// TODO: remove
|
|
92
|
-
/*
|
|
93
|
-
pageConfigs.forEach((pageConfig) => {
|
|
94
|
-
Object.entries(pageConfig.configElements).forEach(([configName, configElement]) => {
|
|
95
|
-
{
|
|
96
|
-
const { configValueSerialized } = configElement
|
|
97
|
-
if (configValueSerialized !== undefined) {
|
|
98
|
-
configElement.configValue = parse(configValueSerialized)
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
if (configName === 'route') {
|
|
102
|
-
assertRouteConfigValue(configElement)
|
|
103
|
-
}
|
|
104
|
-
})
|
|
105
|
-
})
|
|
106
|
-
*/
|
|
107
|
-
}
|
|
108
|
-
// TODO: use again
|
|
109
|
-
// function assertRouteConfigValue(configElement: ConfigElement) {
|
|
110
|
-
// assert(hasProp(configElement, 'configValue')) // route files are eagerly loaded
|
|
111
|
-
// const { configValue } = configElement
|
|
112
|
-
// const configValueType = typeof configValue
|
|
113
|
-
// assertUsage(
|
|
114
|
-
// configValueType === 'string' || isCallable(configValue),
|
|
115
|
-
// `${configElement.configDefinedAt} has an invalid type '${configValueType}': it should be a string or a function instead, see https://vike.dev/route`
|
|
116
|
-
// )
|
|
117
|
-
// /* We don't do that to avoid unnecessarily bloating the client-side bundle when using Server Routing
|
|
118
|
-
// * - When using Server Routing, this file is loaded as well
|
|
119
|
-
// * - When using Server Routing, client-side validation is superfluous as Route Strings only need to be validated on the server-side
|
|
120
|
-
// if (typeof configValue === 'string') {
|
|
121
|
-
// assertRouteString(configValue, `${configElement.configDefinedAt} defines an`)
|
|
122
|
-
// }
|
|
123
|
-
// */
|
|
124
|
-
// }
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { parsePageConfigsSerialized };
|
|
2
|
+
import type { PageConfigRuntime, PageConfigGlobalRuntime, PageConfigGlobalRuntimeSerialized, PageConfigRuntimeSerialized } from '../page-configs/PageConfig.js';
|
|
3
|
+
declare function parsePageConfigsSerialized(pageConfigsSerialized: PageConfigRuntimeSerialized[], pageConfigGlobalSerialized: PageConfigGlobalRuntimeSerialized): {
|
|
4
|
+
pageConfigs: PageConfigRuntime[];
|
|
5
|
+
pageConfigGlobal: PageConfigGlobalRuntime;
|
|
6
|
+
};
|