vike 0.4.267 → 0.4.268-commit-45c1759
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/RenderErrorPage.js +2 -2
- package/abort.js +2 -2
- package/dist/client/__internal/index.d.ts +2 -0
- package/dist/client/__internal/index.js +3 -0
- package/dist/client/runtime-client-routing/createPageContextClient.d.ts +5 -0
- package/dist/client/runtime-client-routing/getGlobalContextClientInternal.d.ts +5 -0
- package/dist/client/runtime-client-routing/getPageContextFromHooks.d.ts +26 -2
- package/dist/client/runtime-client-routing/getPageContextFromHooks.js +4 -5
- package/dist/client/runtime-client-routing/renderPageClient.d.ts +481 -10
- package/dist/client/runtime-client-routing/renderPageClient.js +116 -41
- package/dist/client/runtime-client-routing/streamedValues.d.ts +5 -0
- package/dist/client/runtime-client-routing/streamedValues.js +23 -0
- package/dist/client/runtime-server-routing/createPageContextClient.d.ts +5 -0
- package/dist/client/runtime-server-routing/entry.js +1 -1
- package/dist/client/runtime-server-routing/getGlobalContextClientInternal.d.ts +5 -0
- package/dist/client/shared/getGlobalContextClientInternalShared.d.ts +5 -0
- package/dist/client/shared/getGlobalContextClientInternalShared.js +2 -0
- package/dist/client/shared/getJsonSerializedInHtml.d.ts +2 -2
- package/dist/client/shared/getJsonSerializedInHtml.js +9 -6
- package/dist/client/shared/loadPageConfigsLazyClientSide.js +0 -4
- package/dist/client/shared/removeFoucBuster.js +14 -3
- package/dist/client/shared/streamedValues/asyncIterable.d.ts +4 -0
- package/dist/client/shared/streamedValues/asyncIterable.js +26 -0
- package/dist/client/shared/streamedValues/lines.d.ts +11 -0
- package/dist/client/shared/streamedValues/lines.js +19 -0
- package/dist/client/shared/streamedValues/promise.d.ts +4 -0
- package/dist/client/shared/streamedValues/promise.js +19 -0
- package/dist/client/shared/streamedValues/readableStream.d.ts +4 -0
- package/dist/client/shared/streamedValues/readableStream.js +44 -0
- package/dist/client/shared/streamedValues/registry.d.ts +21 -0
- package/dist/client/shared/streamedValues/registry.js +40 -0
- package/dist/client/shared/streamedValues.d.ts +7 -0
- package/dist/client/shared/streamedValues.js +82 -0
- package/dist/node/api/dev.js +15 -1
- package/dist/node/api/resolveViteConfigUser.js +2 -2
- package/dist/node/api/serverEntryDev.d.ts +10 -0
- package/dist/node/api/serverEntryDev.js +125 -0
- package/dist/node/createDevMiddleware.js +12 -0
- package/dist/node/prerender/resolvePrerenderConfig.d.ts +1 -1
- package/dist/node/prerender/resolvePrerenderConfig.js +4 -1
- package/dist/node/prerender/runPrerender.d.ts +18 -18
- package/dist/node/prerender/runPrerender.js +61 -16
- package/dist/node/vite/assertEnvVite.js +1 -1
- package/dist/node/vite/index.js +2 -0
- package/dist/node/vite/plugins/build/handleAssetsManifest.js +6 -2
- package/dist/node/vite/plugins/build/pluginBuildApp.js +25 -26
- package/dist/node/vite/plugins/build/pluginBuildConfig.d.ts +2 -2
- package/dist/node/vite/plugins/build/pluginBuildConfig.js +25 -17
- package/dist/node/vite/plugins/build/pluginDistFileNames.js +70 -50
- package/dist/node/vite/plugins/build/pluginEnvironmentEntries.d.ts +6 -0
- package/dist/node/vite/plugins/build/pluginEnvironmentEntries.js +71 -0
- package/dist/node/vite/plugins/build/pluginSuppressRollupWarning.js +19 -17
- package/dist/node/vite/plugins/pluginCommon.js +10 -7
- package/dist/node/vite/plugins/pluginDev/optimizeDeps.d.ts +2 -2
- package/dist/node/vite/plugins/pluginDev/optimizeDeps.js +6 -2
- package/dist/node/vite/plugins/pluginReplaceConstantsGlobalThis.js +6 -4
- package/dist/node/vite/plugins/pluginUniversalDeploy/getServerConfig.d.ts +3 -0
- package/dist/node/vite/plugins/pluginUniversalDeploy/getServerConfig.js +28 -2
- package/dist/node/vite/plugins/pluginUniversalDeploy/pluginServerEntryAlias.d.ts +1 -1
- package/dist/node/vite/plugins/pluginUniversalDeploy/pluginServerEntryAlias.js +22 -11
- package/dist/node/vite/plugins/pluginUniversalDeploy/pluginWrapServerFile.d.ts +4 -0
- package/dist/node/vite/plugins/pluginUniversalDeploy/pluginWrapServerFile.js +29 -0
- package/dist/node/vite/plugins/pluginUniversalDeploy.js +29 -5
- package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.d.ts +2 -1
- package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.js +29 -12
- package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.js +3 -2
- package/dist/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.js +7 -7
- package/dist/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.d.ts +10 -6
- package/dist/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +5 -11
- package/dist/node/vite/plugins/pluginVirtualFiles.js +20 -0
- package/dist/node/vite/shared/addSsrMiddleware.js +11 -27
- package/dist/node/vite/shared/findPageFiles.d.ts +1 -1
- package/dist/node/vite/shared/findPageFiles.js +1 -11
- package/dist/node/vite/shared/getAssetsDir.d.ts +3 -2
- package/dist/node/vite/shared/getAssetsDir.js +3 -3
- package/dist/node/vite/shared/isViteCli.d.ts +3 -3
- package/dist/node/vite/shared/isViteCli.js +80 -84
- package/dist/node/vite/shared/isViteServerSide.js +2 -7
- package/dist/node/vite/shared/resolveVikeConfigInternal/metaBuiltIn.d.ts +6 -4
- package/dist/node/vite/shared/resolveVikeConfigInternal/metaBuiltIn.js +17 -6
- package/dist/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +9 -2
- package/dist/node/vite/shared/resolveVikeConfigInternal.d.ts +5 -1
- package/dist/node/vite/shared/resolveVikeConfigInternal.js +86 -13
- package/dist/server/__internal/fetch-deprecated.d.ts +2 -0
- package/dist/server/__internal/fetch-deprecated.js +6 -0
- package/dist/server/__internal/fetch.d.ts +9 -0
- package/dist/server/__internal/fetch.js +5 -0
- package/dist/server/__internal/index.d.ts +4 -0
- package/dist/server/__internal/index.js +8 -0
- package/dist/server/createPageRenderer.d.ts +2 -2
- package/dist/server/createPageRenderer.js +2 -2
- package/dist/server/runtime/createDevMiddleware.js +3 -1
- package/dist/server/runtime/globalContext.d.ts +69 -10
- package/dist/server/runtime/globalContext.js +35 -2
- package/dist/server/runtime/index.d.ts +1 -1
- package/dist/server/runtime/index.js +1 -1
- package/dist/server/runtime/renderPageServer/analyzePage.js +3 -3
- package/dist/server/runtime/renderPageServer/createHttpResponse.d.ts +20 -9
- package/dist/server/runtime/renderPageServer/createHttpResponse.js +34 -21
- package/dist/server/runtime/renderPageServer/createPageContextServer.d.ts +13 -23
- package/dist/server/runtime/renderPageServer/csp.d.ts +2 -1
- package/dist/server/runtime/renderPageServer/csp.js +2 -1
- package/dist/server/runtime/renderPageServer/execHookOnError.js +1 -1
- package/dist/server/runtime/renderPageServer/execHookOnRenderHtml.d.ts +9 -0
- package/dist/server/runtime/renderPageServer/execHookOnRenderHtml.js +21 -9
- package/dist/server/runtime/renderPageServer/getHttpResponseBody.d.ts +2 -2
- package/dist/server/runtime/renderPageServer/getHttpResponseBody.js +19 -12
- package/dist/server/runtime/renderPageServer/getPageContextJson.d.ts +8 -0
- package/dist/server/runtime/renderPageServer/getPageContextJson.js +47 -0
- package/dist/server/runtime/renderPageServer/handleErrorWithoutErrorPage.d.ts +2 -0
- package/dist/server/runtime/renderPageServer/handleErrorWithoutErrorPage.js +1 -1
- package/dist/server/runtime/renderPageServer/handlePageContextRequestUrl.js +2 -2
- package/dist/server/runtime/renderPageServer/headersResponse.d.ts +11 -2
- package/dist/server/runtime/renderPageServer/headersResponse.js +22 -2
- package/dist/server/runtime/renderPageServer/html/injectAssets/getHtmlTags.js +5 -4
- package/dist/server/runtime/renderPageServer/html/injectAssets.d.ts +3 -2
- package/dist/server/runtime/renderPageServer/html/injectAssets.js +7 -1
- package/dist/server/runtime/renderPageServer/html/renderHtml.js +4 -2
- package/dist/server/runtime/renderPageServer/html/serializeContext.d.ts +5 -1
- package/dist/server/runtime/renderPageServer/html/serializeContext.js +12 -9
- package/dist/server/runtime/renderPageServer/html/stream.d.ts +13 -6
- package/dist/server/runtime/renderPageServer/html/stream.js +135 -32
- package/dist/server/runtime/renderPageServer/html/streamedValuesHtml.d.ts +30 -0
- package/dist/server/runtime/renderPageServer/html/streamedValuesHtml.js +92 -0
- package/dist/server/runtime/renderPageServer/loadPageConfigsLazyServerSide.d.ts +10 -14
- package/dist/server/runtime/renderPageServer/loadPageConfigsLazyServerSide.js +5 -1
- package/dist/server/runtime/renderPageServer/loadPageContextEnvironments.d.ts +15 -0
- package/dist/server/runtime/renderPageServer/loadPageContextEnvironments.js +61 -0
- package/dist/server/runtime/renderPageServer/renderPageServerAfterRoute.d.ts +320 -55
- package/dist/server/runtime/renderPageServer/renderPageServerAfterRoute.js +21 -12
- package/dist/server/runtime/renderPageServer/streamedValues/asyncIterable.d.ts +4 -0
- package/dist/server/runtime/renderPageServer/streamedValues/asyncIterable.js +12 -0
- package/dist/server/runtime/renderPageServer/streamedValues/lines.d.ts +10 -0
- package/dist/server/runtime/renderPageServer/streamedValues/lines.js +49 -0
- package/dist/server/runtime/renderPageServer/streamedValues/promise.d.ts +4 -0
- package/dist/server/runtime/renderPageServer/streamedValues/promise.js +14 -0
- package/dist/server/runtime/renderPageServer/streamedValues/pump.d.ts +10 -0
- package/dist/server/runtime/renderPageServer/streamedValues/pump.js +67 -0
- package/dist/server/runtime/renderPageServer/streamedValues/readableStream.d.ts +4 -0
- package/dist/server/runtime/renderPageServer/streamedValues/readableStream.js +12 -0
- package/dist/server/runtime/renderPageServer/streamedValues/registry.d.ts +28 -0
- package/dist/server/runtime/renderPageServer/streamedValues/registry.js +33 -0
- package/dist/server/runtime/renderPageServer.d.ts +65 -18
- package/dist/server/runtime/renderPageServer.js +33 -62
- package/dist/server/runtime/universal-middleware/core.d.ts +25 -0
- package/dist/server/runtime/universal-middleware/core.js +167 -0
- package/dist/server/runtime/universal-middleware/deprecated-export.d.ts +3 -0
- package/dist/server/runtime/universal-middleware/deprecated-export.js +10 -0
- package/dist/server/runtime/universal-middleware/getMiddlewaresPipe.d.ts +15 -0
- package/dist/server/runtime/universal-middleware/getMiddlewaresPipe.js +51 -0
- package/dist/server/runtime/universal-middleware/vikeUniversalMiddleware.d.ts +9 -0
- package/dist/server/runtime/universal-middleware/vikeUniversalMiddleware.js +22 -0
- package/dist/shared-server-client/createGlobalContextShared.d.ts +8 -0
- package/dist/shared-server-client/createGlobalContextShared.js +2 -1
- package/dist/shared-server-client/getPageContextPublicShared.js +0 -2
- package/dist/shared-server-client/getPageFiles/parseVirtualFileExportsGlobalEntry.d.ts +8 -0
- package/dist/shared-server-client/getPageFiles/parseVirtualFileExportsGlobalEntry.js +17 -7
- package/dist/shared-server-client/hooks/execHook.d.ts +1 -1
- package/dist/shared-server-client/hooks/execHook.js +2 -2
- package/dist/shared-server-client/page-configs/serialize/serializeConfigValues.js +2 -0
- package/dist/shared-server-client/route/abort.d.ts +1 -1
- package/dist/shared-server-client/route/abort.js +4 -2
- package/dist/shared-server-client/streamedValues.d.ts +22 -0
- package/dist/shared-server-client/streamedValues.js +24 -0
- package/dist/shared-server-node/vike-environments.d.ts +4 -0
- package/dist/shared-server-node/vike-environments.js +10 -0
- package/dist/shared-server-node/virtualFileId.d.ts +7 -5
- package/dist/shared-server-node/virtualFileId.js +42 -42
- package/dist/types/Config.d.ts +11 -3
- package/dist/types/GlobalContext.d.ts +3 -3
- package/dist/types/PageConfig.d.ts +13 -5
- package/dist/types/PageContext.d.ts +18 -10
- package/dist/types/PageContext.js +1 -0
- package/dist/types/Server.d.ts +1 -1
- package/dist/types/VikeNamespace.d.ts +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/utils/PROJECT_VERSION.js +1 -1
- package/dist/utils/assertViteVersion.d.ts +1 -3
- package/dist/utils/assertViteVersion.js +6 -9
- package/dist/utils/catchInfiniteLoop.js +33 -11
- package/dist/utils/deepEqual.d.ts +2 -1
- package/dist/utils/deepEqual.js +21 -6
- package/dist/utils/getContentTypeFromUrl.d.ts +2 -0
- package/dist/utils/getContentTypeFromUrl.js +39 -0
- package/dist/utils/injectRollupInputs.d.ts +2 -2
- package/dist/utils/injectRollupInputs.js +2 -2
- package/dist/utils/installUncaughtErrorHandlers.js +9 -0
- package/dist/utils/isDev.js +2 -7
- package/dist/utils/parseUrl-extras.js +4 -0
- package/fetch.js +2 -2
- package/modifyUrl.js +2 -2
- package/package.json +42 -26
- package/routing.js +2 -2
- package/universal-middleware.js +2 -2
- package/vike-server.d.ts +14 -0
- package/dist/node/vite/plugins/pluginUniversalDeploy/pluginUnwrapProdOptions.d.ts +0 -4
- package/dist/node/vite/plugins/pluginUniversalDeploy/pluginUnwrapProdOptions.js +0 -22
- package/dist/server/runtime/fetch.d.ts +0 -10
- package/dist/server/runtime/fetch.js +0 -5
- package/dist/server/runtime/universal-middleware.d.ts +0 -10
- package/dist/server/runtime/universal-middleware.js +0 -27
- package/dist/shared-server-client/addIs404ToPageProps.d.ts +0 -2
- package/dist/shared-server-client/addIs404ToPageProps.js +0 -17
|
@@ -4,6 +4,7 @@ export { getVikeConfig };
|
|
|
4
4
|
export { getVikeConfigInternal };
|
|
5
5
|
export { getVikeConfigInternalOptional };
|
|
6
6
|
export { setVikeConfigContext };
|
|
7
|
+
export { setViteEnvironmentNames };
|
|
7
8
|
export { isVikeConfigContextSet };
|
|
8
9
|
export { reloadVikeConfig };
|
|
9
10
|
export { isV1Design };
|
|
@@ -12,7 +13,6 @@ export { getConfigDefinitionOptional };
|
|
|
12
13
|
export { getVikeConfigFromCliOrEnv };
|
|
13
14
|
export { EARLY_SETTINGS };
|
|
14
15
|
import { deepEqual } from '../../../utils/deepEqual.js';
|
|
15
|
-
import { assertKeys } from '../../../utils/assertKeys.js';
|
|
16
16
|
import { assertIsNotProductionRuntime } from '../../../utils/assertSetup.js';
|
|
17
17
|
import { getMostSimilar } from '../../../utils/getMostSimilar.js';
|
|
18
18
|
import { objectEntries } from '../../../utils/objectEntries.js';
|
|
@@ -23,6 +23,7 @@ import { checkType } from '../../../utils/checkType.js';
|
|
|
23
23
|
import { genPromise } from '../../../utils/genPromise.js';
|
|
24
24
|
import { getGlobalObject } from '../../../utils/getGlobalObject.js';
|
|
25
25
|
import { hasProp } from '../../../utils/hasProp.js';
|
|
26
|
+
import { includes } from '../../../utils/includes.js';
|
|
26
27
|
import { isCallable } from '../../../utils/isCallable.js';
|
|
27
28
|
import { isObject } from '../../../utils/isObject.js';
|
|
28
29
|
import { joinEnglish } from '../../../utils/joinEnglish.js';
|
|
@@ -42,6 +43,7 @@ import { loadPointerImport, loadValueFile } from './resolveVikeConfigInternal/lo
|
|
|
42
43
|
import { resolvePointerImport } from './resolveVikeConfigInternal/resolvePointerImport.js';
|
|
43
44
|
import { parsePointerImportData } from './resolveVikeConfigInternal/pointerImports.js';
|
|
44
45
|
import { getFilePathResolved } from './getFilePath.js';
|
|
46
|
+
import { isEnvironmentBuiltIn, isEnvironmentNameValid } from '../../../shared-server-node/vike-environments.js';
|
|
45
47
|
import { getConfigValueBuildTime } from '../../../shared-server-client/page-configs/getConfigValueBuildTime.js';
|
|
46
48
|
import { resolveGlobalConfigPublic, } from '../../../shared-server-client/page-configs/resolveVikeConfigPublic.js';
|
|
47
49
|
import { getConfigValuesBase, isJsonValue, } from '../../../shared-server-client/page-configs/serialize/serializeConfigValues.js';
|
|
@@ -65,12 +67,13 @@ const globalObject = getGlobalObject('vite/shared/resolveVikeConfigInternal.ts',
|
|
|
65
67
|
vikeConfigSync: null,
|
|
66
68
|
vikeConfigCtx: null, // Information provided by Vite's `config` and Vike's CLI. We could, if we want or need to, completely remove the dependency on Vite.
|
|
67
69
|
prerenderContext: null,
|
|
70
|
+
viteEnvironmentNames: null,
|
|
68
71
|
});
|
|
69
72
|
function reloadVikeConfig() {
|
|
70
73
|
assert(globalObject.vikeConfigCtx);
|
|
71
|
-
const { userRootDir, vikeVitePluginOptions } = globalObject.vikeConfigCtx;
|
|
74
|
+
const { userRootDir, isDev, vikeVitePluginOptions } = globalObject.vikeConfigCtx;
|
|
72
75
|
assert(vikeVitePluginOptions);
|
|
73
|
-
resolveVikeConfigInternal_withErrorHandling(userRootDir,
|
|
76
|
+
resolveVikeConfigInternal_withErrorHandling(userRootDir, isDev, vikeVitePluginOptions);
|
|
74
77
|
}
|
|
75
78
|
async function getVikeConfigInternal(
|
|
76
79
|
// I don't remember the logic behind it — neither why we restart Vite's dev server, nor why we sometimes don't.
|
|
@@ -110,6 +113,32 @@ function setVikeConfigContext(vikeConfigCtx_) {
|
|
|
110
113
|
// If the user changes Vite's `config.root` => Vite completely reloads itself => setVikeConfigContext() is called again
|
|
111
114
|
globalObject.vikeConfigCtx = vikeConfigCtx_;
|
|
112
115
|
}
|
|
116
|
+
// Vike's config is resolved before Vite's environments are known (Vike's config can modify Vite's config)
|
|
117
|
+
async function setViteEnvironmentNames(viteEnvironmentNames) {
|
|
118
|
+
globalObject.viteEnvironmentNames = viteEnvironmentNames;
|
|
119
|
+
if (!globalObject.vikeConfigPromise)
|
|
120
|
+
return;
|
|
121
|
+
const vikeConfig = await globalObject.vikeConfigPromise;
|
|
122
|
+
// Resolve again: to report a missing environment like any other config error, or to recover from one (e.g. the user added the environment to Vite's config)
|
|
123
|
+
const isMissing = getAdditionalEnvironmentsMissing(vikeConfig._additionalEnvironmentNames).length > 0;
|
|
124
|
+
if (!isMissing && !globalObject.vikeConfigHasBuildError)
|
|
125
|
+
return;
|
|
126
|
+
reloadVikeConfig();
|
|
127
|
+
await globalObject.vikeConfigPromise;
|
|
128
|
+
}
|
|
129
|
+
function getAdditionalEnvironmentsMissing(additionalEnvironmentNames) {
|
|
130
|
+
const { viteEnvironmentNames } = globalObject;
|
|
131
|
+
if (!viteEnvironmentNames)
|
|
132
|
+
return [];
|
|
133
|
+
return additionalEnvironmentNames.filter((name) => !viteEnvironmentNames.includes(name));
|
|
134
|
+
}
|
|
135
|
+
function assertAdditionalEnvironmentsExist(additionalEnvironmentNames) {
|
|
136
|
+
const [name] = getAdditionalEnvironmentsMissing(additionalEnvironmentNames);
|
|
137
|
+
if (name === undefined)
|
|
138
|
+
return;
|
|
139
|
+
assert(globalObject.viteEnvironmentNames);
|
|
140
|
+
assertUsage(false, `The environment ${pc.cyan(JSON.stringify(name))} is used by ${pc.cyan('meta.env')} but it doesn't exist in Vite's ${pc.cyan('config.environments')} (${joinEnglish(globalObject.viteEnvironmentNames.map((n) => pc.cyan(n)), 'and')})`);
|
|
141
|
+
}
|
|
113
142
|
function isVikeConfigContextSet() {
|
|
114
143
|
return !!globalObject.vikeConfigCtx;
|
|
115
144
|
}
|
|
@@ -219,6 +248,8 @@ async function resolveVikeConfigInternal(userRootDir, vikeVitePluginOptions, vik
|
|
|
219
248
|
const plusFilesByLocationId = await getPlusFiles(userRootDir, vikeTranspileCache);
|
|
220
249
|
const configDefinitionsResolved = await resolveConfigDefinitions(plusFilesByLocationId, userRootDir, vikeTranspileCache);
|
|
221
250
|
const { pageConfigGlobal, pageConfigs } = getPageConfigsBuildTime(configDefinitionsResolved, plusFilesByLocationId, userRootDir);
|
|
251
|
+
const additionalEnvironmentNames = getAdditionalEnvironmentNames(getMetaEnvAll(configDefinitionsResolved, [pageConfigGlobal, ...pageConfigs]));
|
|
252
|
+
assertAdditionalEnvironmentsExist(additionalEnvironmentNames);
|
|
222
253
|
if (!globalObject.isV1Design_)
|
|
223
254
|
globalObject.isV1Design_ = pageConfigs.length > 0;
|
|
224
255
|
// Backwards compatibility for vike(options) in vite.config.js
|
|
@@ -241,6 +272,7 @@ async function resolveVikeConfigInternal(userRootDir, vikeVitePluginOptions, vik
|
|
|
241
272
|
_pageConfigGlobal: pageConfigGlobal,
|
|
242
273
|
_vikeConfigDependencies: vikeTranspileCache.vikeConfigDependencies,
|
|
243
274
|
_extensions,
|
|
275
|
+
_additionalEnvironmentNames: additionalEnvironmentNames,
|
|
244
276
|
};
|
|
245
277
|
globalObject.vikeConfigSync = vikeConfig;
|
|
246
278
|
return vikeConfig;
|
|
@@ -330,6 +362,23 @@ function getPageConfigsBuildTime(configDefinitionsResolved, plusFilesByLocationI
|
|
|
330
362
|
assertPageConfigs(pageConfigs);
|
|
331
363
|
return { pageConfigs, pageConfigGlobal };
|
|
332
364
|
}
|
|
365
|
+
// Get all the `meta.env` of all configs
|
|
366
|
+
function getMetaEnvAll(configDefinitionsResolved, pageConfigs) {
|
|
367
|
+
const configDefinitionsAll = [
|
|
368
|
+
configDefinitionsResolved.configDefinitionsGlobal,
|
|
369
|
+
...Object.values(configDefinitionsResolved.configDefinitionsLocal).map(({ configDefinitions }) => configDefinitions),
|
|
370
|
+
];
|
|
371
|
+
return [
|
|
372
|
+
...configDefinitionsAll.flatMap((configDefinitions) => Object.values(configDefinitions).map(({ env }) => env)),
|
|
373
|
+
...pageConfigs.flatMap(({ configValueSources }) => Object.values(configValueSources).flatMap((sources) => sources.map(({ configEnv }) => configEnv))),
|
|
374
|
+
];
|
|
375
|
+
}
|
|
376
|
+
function getAdditionalEnvironmentNames(configEnvs) {
|
|
377
|
+
const names = configEnvs.flatMap((configEnv) => Object.entries(configEnv)
|
|
378
|
+
.filter(([, value]) => value)
|
|
379
|
+
.map(([name]) => name));
|
|
380
|
+
return unique(names.filter(isAdditionalEnvironmentName));
|
|
381
|
+
}
|
|
333
382
|
function resolvePageConfigBuildTime(pageId, locationId, plusFilesRelevant, configDefinitionsLocal, plusFilesByLocationId, userRootDir) {
|
|
334
383
|
const configValueSources = {};
|
|
335
384
|
objectEntries(configDefinitionsLocal)
|
|
@@ -482,7 +531,7 @@ function assertOnBeforeRenderEnv(pageConfig) {
|
|
|
482
531
|
function getConfigValues(pageConfig, isGlobalConfig) {
|
|
483
532
|
const tolerateMissingValue = !isGlobalConfig;
|
|
484
533
|
const configValues = {};
|
|
485
|
-
getConfigValuesBase(pageConfig, {
|
|
534
|
+
getConfigValuesBase(pageConfig, { isConfigEnvironment: true }, null).forEach((entry) => {
|
|
486
535
|
if (entry.configValueBase.type === 'computed') {
|
|
487
536
|
assert('value' in entry); // Help TS
|
|
488
537
|
const { configValueBase, value, configName } = entry;
|
|
@@ -1091,11 +1140,13 @@ function applyEffectMetaEnv(configModFromEffect, configValueSources, configDefEf
|
|
|
1091
1140
|
});
|
|
1092
1141
|
}
|
|
1093
1142
|
function getComputed(pageConfig) {
|
|
1143
|
+
assert(globalObject.vikeConfigCtx);
|
|
1144
|
+
const { isDev } = globalObject.vikeConfigCtx;
|
|
1094
1145
|
const configValuesComputed = {};
|
|
1095
1146
|
objectEntries(pageConfig.configDefinitions).forEach(([configName, configDef]) => {
|
|
1096
1147
|
if (!configDef._computed)
|
|
1097
1148
|
return;
|
|
1098
|
-
const value = configDef._computed(pageConfig);
|
|
1149
|
+
const value = configDef._computed(pageConfig, isDev);
|
|
1099
1150
|
if (value === undefined)
|
|
1100
1151
|
return;
|
|
1101
1152
|
configValuesComputed[configName] = {
|
|
@@ -1220,6 +1271,14 @@ function determineIsErrorPage(routeFilesystem) {
|
|
|
1220
1271
|
assertPosixPath(routeFilesystem);
|
|
1221
1272
|
return routeFilesystem.split('/').includes('_error');
|
|
1222
1273
|
}
|
|
1274
|
+
// Keys of `meta.env` that only Vike sets
|
|
1275
|
+
const configEnvKeysInternal = ['clientRoutingOnly', 'eager'];
|
|
1276
|
+
// Keys of `meta.env` that can't be environment names
|
|
1277
|
+
// - Including file suffixes such as `.ssr.js`, `.shared.js`, `.clear.js`, `.default.js`
|
|
1278
|
+
const configEnvKeysReserved = ['ssr', 'shared', 'clear', 'default', ...configEnvKeysInternal];
|
|
1279
|
+
function isAdditionalEnvironmentName(configEnvKey) {
|
|
1280
|
+
return (!isEnvironmentBuiltIn(configEnvKey) && !['config', 'production', ...configEnvKeysInternal].includes(configEnvKey));
|
|
1281
|
+
}
|
|
1223
1282
|
function getConfigEnvValue(val, errMsgIntro) {
|
|
1224
1283
|
const errInvalidValue = `${errMsgIntro} an invalid value ${pc.cyan(JSON.stringify(val))}`;
|
|
1225
1284
|
// Legacy outdated values
|
|
@@ -1235,22 +1294,23 @@ function getConfigEnvValue(val, errMsgIntro) {
|
|
|
1235
1294
|
if (val === 'config-only')
|
|
1236
1295
|
return { config: true };
|
|
1237
1296
|
if (val === '_routing-lazy')
|
|
1238
|
-
return { server: true, client:
|
|
1297
|
+
return { server: true, client: true, clientRoutingOnly: true };
|
|
1239
1298
|
if (val === '_routing-eager')
|
|
1240
|
-
return { server: true, client:
|
|
1299
|
+
return { server: true, client: true, clientRoutingOnly: true, eager: true };
|
|
1241
1300
|
assertUsage(false, errInvalidValue);
|
|
1242
1301
|
})();
|
|
1243
1302
|
assertWarning(false, `${errMsgIntro} ${pc.cyan(val)} which is deprecated and will be removed in the next major release`, { onlyOnce: true });
|
|
1244
1303
|
return valConverted;
|
|
1245
1304
|
}
|
|
1246
1305
|
assertUsage(isObject(val), `${errMsgIntro} an invalid type ${pc.cyan(typeof val)}`);
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1306
|
+
Object.entries(val).forEach(([key, value]) => {
|
|
1307
|
+
assertUsage(!includes(configEnvKeysReserved, key), `${errInvalidValue}: ${pc.cyan(key)} can't be an environment name, because ${includes(configEnvKeysInternal, key) ? 'Vike uses it internally' : `it's a file suffix (${pc.cyan(`+Page.${key}.js`)})`}`);
|
|
1308
|
+
assertUsage(isEnvironmentNameValid(key), `${errInvalidValue}: ${pc.cyan(key)} isn't a valid environment name`);
|
|
1309
|
+
assertUsage(value === undefined || typeof value === 'boolean', errInvalidValue);
|
|
1310
|
+
});
|
|
1251
1311
|
/* To allow users to set an eager config:
|
|
1252
1312
|
* - Uncomment line below.
|
|
1253
|
-
* -
|
|
1313
|
+
* - Move 'eager' from configEnvKeysInternal to the keys that isAdditionalEnvironmentName() excludes.
|
|
1254
1314
|
* - Add `eager: boolean` to ConfigEnv type.
|
|
1255
1315
|
assertUsage(hasProp(val, 'eager', 'undefined') || hasProp(val, 'eager', 'boolean'), errInvalidValue)
|
|
1256
1316
|
*/
|
|
@@ -1279,11 +1339,21 @@ function resolveConfigEnv(configEnv, filePath) {
|
|
|
1279
1339
|
else if (suffixes.includes('client')) {
|
|
1280
1340
|
configEnvResolved.client = true;
|
|
1281
1341
|
configEnvResolved.server = false;
|
|
1342
|
+
// Additional environments (e.g. `rsc`) are server-side
|
|
1343
|
+
Object.keys(configEnvResolved).forEach((key) => {
|
|
1344
|
+
if (isAdditionalEnvironmentName(key))
|
|
1345
|
+
delete configEnvResolved[key];
|
|
1346
|
+
});
|
|
1282
1347
|
}
|
|
1283
1348
|
else if (suffixes.includes('shared')) {
|
|
1284
1349
|
configEnvResolved.server = true;
|
|
1285
1350
|
configEnvResolved.client = true;
|
|
1286
1351
|
}
|
|
1352
|
+
else {
|
|
1353
|
+
return configEnvResolved;
|
|
1354
|
+
}
|
|
1355
|
+
// The file suffix decides, regardless of Client Routing
|
|
1356
|
+
delete configEnvResolved.clientRoutingOnly;
|
|
1287
1357
|
}
|
|
1288
1358
|
return configEnvResolved;
|
|
1289
1359
|
}
|
|
@@ -1312,7 +1382,9 @@ async function resolvePrerenderContext(vikeConfig) {
|
|
|
1312
1382
|
}
|
|
1313
1383
|
function restartViteDevServer() {
|
|
1314
1384
|
const viteDevServer = getViteDevServer();
|
|
1315
|
-
|
|
1385
|
+
// setViteEnvironmentNames() can reload Vike's config while Vite resolves its config, before the dev server exists
|
|
1386
|
+
if (!viteDevServer)
|
|
1387
|
+
return;
|
|
1316
1388
|
swallowViteLogForceOptimization_enable();
|
|
1317
1389
|
(async () => {
|
|
1318
1390
|
try {
|
|
@@ -1347,6 +1419,7 @@ async function getVikeConfigDummy(vikeTranspileCache) {
|
|
|
1347
1419
|
prerenderContext: prerenderContextDummy,
|
|
1348
1420
|
_vikeConfigDependencies: vikeTranspileCache.vikeConfigDependencies,
|
|
1349
1421
|
_extensions: [],
|
|
1422
|
+
_additionalEnvironmentNames: [],
|
|
1350
1423
|
};
|
|
1351
1424
|
globalObject.vikeConfigSync = vikeConfigDummy;
|
|
1352
1425
|
globalObject.isV1Design_ = true;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { default } from './fetch.js';
|
|
2
|
+
// TO-DO/next-major-release: remove this export (the entire file)
|
|
3
|
+
import { assertWarning } from '../../utils/assert.js';
|
|
4
|
+
import pc from '@brillout/picocolors';
|
|
5
|
+
import '../assertEnvServer.js';
|
|
6
|
+
assertWarning(false, `${pc.cyan("import vike from 'vike/fetch'")} is deprecated, see ${pc.underline('https://vike.dev/migration/vike-fetch')}`, { onlyOnce: true });
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import '../assertEnvServer.js';
|
|
2
|
+
declare const _default: {
|
|
3
|
+
fetch: ((request: Request, context?: Universal.Context, runtime?: import("@universal-middleware/core").RuntimeAdapterTarget<unknown>) => Promise<Response>) & import("@universal-middleware/core").WithUniversalSymbols<{
|
|
4
|
+
readonly name: 'vike';
|
|
5
|
+
readonly method: ["GET", "POST", "PUT", "PATCH", "HEAD", "OPTIONS"];
|
|
6
|
+
readonly path: '/**';
|
|
7
|
+
}>;
|
|
8
|
+
};
|
|
9
|
+
export default _default;
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
export { setGlobalContext_prodBuildEntry } from '../runtime/globalContext.js';
|
|
2
|
+
export { getMiddlewaresPipe_nonHandlers, getMiddlewaresPipe_handlers, } from '../runtime/universal-middleware/getMiddlewaresPipe.js';
|
|
3
|
+
export { getPageContextJson };
|
|
2
4
|
export { route, getPagesAndRoutes };
|
|
3
5
|
export type { PageRoutes, PageFile, PageConfigRuntime as PageConfig };
|
|
4
6
|
import { route as routeInternal, type PageRoutes } from '../../shared-server-client/route/index.js';
|
|
5
7
|
import type { PageFile } from '../../shared-server-client/getPageFiles/getPageFileObject.js';
|
|
6
8
|
import { PageConfigRuntime } from '../../types/PageConfig.js';
|
|
9
|
+
import type { PageContextServer } from '../../types/PageContext.js';
|
|
7
10
|
import '../assertEnvServer.js';
|
|
8
11
|
/**
|
|
9
12
|
* Used by {@link https://github.com/magne4000/vite-plugin-vercel|vite-plugin-vercel} to compute some rewrite rules and extract { isr } configs.
|
|
@@ -19,3 +22,4 @@ declare function getPagesAndRoutes(): Promise<{
|
|
|
19
22
|
declare function route(pageContext: Parameters<typeof routeInternal>[0]): Promise<{
|
|
20
23
|
pageContextAddendum: import("../../shared-server-client/route/index.js").PageContextAfterRoute;
|
|
21
24
|
}>;
|
|
25
|
+
declare function getPageContextJson(pageContext: PageContextServer): string | ReadableStream<Uint8Array<ArrayBufferLike>>;
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
// Used by vike:build:pluginProdBuildEntry
|
|
2
2
|
export { setGlobalContext_prodBuildEntry } from '../runtime/globalContext.js';
|
|
3
|
+
// Used by the vike(app) of the @vikejs/* server adapters
|
|
4
|
+
export { getMiddlewaresPipe_nonHandlers, getMiddlewaresPipe_handlers, } from '../runtime/universal-middleware/getMiddlewaresPipe.js';
|
|
5
|
+
// Used by vike-react-rsc
|
|
6
|
+
export { getPageContextJson };
|
|
3
7
|
// Used by vite-plugin-vercel
|
|
4
8
|
export { route, getPagesAndRoutes };
|
|
5
9
|
import { route as routeInternal } from '../../shared-server-client/route/index.js';
|
|
6
10
|
import { getGlobalContextServerInternal, initGlobalContext_getPagesAndRoutes } from '../runtime/globalContext.js';
|
|
7
11
|
import { setNodeEnvProductionIfUndefined } from '../../utils/assertSetup.js';
|
|
12
|
+
import { getPageContextJson as getPageContextJsonInternal } from '../runtime/renderPageServer/getPageContextJson.js';
|
|
8
13
|
import '../assertEnvServer.js';
|
|
9
14
|
/**
|
|
10
15
|
* Used by {@link https://github.com/magne4000/vite-plugin-vercel|vite-plugin-vercel} to compute some rewrite rules and extract { isr } configs.
|
|
@@ -30,3 +35,6 @@ async function route(pageContext) {
|
|
|
30
35
|
// Old interface
|
|
31
36
|
return { pageContextAddendum: pageContextFromRoute };
|
|
32
37
|
}
|
|
38
|
+
function getPageContextJson(pageContext) {
|
|
39
|
+
return getPageContextJsonInternal(pageContext);
|
|
40
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { createPageRenderer };
|
|
2
|
-
import {
|
|
2
|
+
import { renderPageServer_userLand } from './runtime/renderPageServer.js';
|
|
3
3
|
import './assertEnvServer.js';
|
|
4
4
|
type Options = {
|
|
5
5
|
viteDevServer?: unknown;
|
|
@@ -10,4 +10,4 @@ type Options = {
|
|
|
10
10
|
baseAssets?: string | null;
|
|
11
11
|
};
|
|
12
12
|
/** @deprecated */
|
|
13
|
-
declare function createPageRenderer(options: Options): typeof
|
|
13
|
+
declare function createPageRenderer(options: Options): typeof renderPageServer_userLand;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
export { createPageRenderer };
|
|
2
2
|
// TO-DO/next-major-release: remove this file
|
|
3
3
|
//import { SsrEnv, setSsrEnv } from './ssrEnv.js'
|
|
4
|
-
import {
|
|
4
|
+
import { renderPageServer_userLand } from './runtime/renderPageServer.js';
|
|
5
5
|
import { assertWarning } from '../utils/assert.js';
|
|
6
6
|
//import { importBuildWasLoaded } from './importBuild.js'
|
|
7
7
|
import './assertEnvServer.js';
|
|
8
8
|
/** @deprecated */
|
|
9
9
|
function createPageRenderer(options) {
|
|
10
10
|
showWarnings(options);
|
|
11
|
-
return
|
|
11
|
+
return renderPageServer_userLand;
|
|
12
12
|
}
|
|
13
13
|
function showWarnings(options) {
|
|
14
14
|
assertWarning(false, '`createPageRenderer()` is outdated, use `renderPage()` instead. See https://vike.dev/renderPage', { onlyOnce: true, showStackTrace: true });
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export { createDevMiddleware_ as createDevMiddleware };
|
|
2
2
|
import '../assertEnvServer.js';
|
|
3
3
|
const createDevMiddleware_ = async (...args) => {
|
|
4
|
-
|
|
4
|
+
let p = '../../node/createDevMiddleware.js';
|
|
5
|
+
// Absolute URL, because on Windows Vite's ssrLoadModule() resolves a relative dynamic import to `D:/...` and then fails to load it (e.g. if `vike` is linked and `$ vike dev` runs +serverEntry.js)
|
|
6
|
+
p = new URL(p, import.meta.url).href;
|
|
5
7
|
const { createDevMiddleware } = await import(/*webpackIgnore: true*/ /* @vite-ignore */ p);
|
|
6
8
|
return createDevMiddleware(...args);
|
|
7
9
|
};
|
|
@@ -54,6 +54,10 @@ declare function getGlobalContextServerInternal(): Promise<{
|
|
|
54
54
|
_pageFilesAll: import("../__internal/index.js").PageFile[];
|
|
55
55
|
_pageConfigs: import("../__internal/index.js").PageConfig[];
|
|
56
56
|
_pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
|
|
57
|
+
_environmentEntries: Record<string, {
|
|
58
|
+
pageConfigs: import("../__internal/index.js").PageConfig[];
|
|
59
|
+
pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
|
|
60
|
+
} | null>;
|
|
57
61
|
_allPageIds: string[];
|
|
58
62
|
} & {
|
|
59
63
|
isClientSide: false;
|
|
@@ -63,10 +67,9 @@ declare function getGlobalContextServerInternal(): Promise<{
|
|
|
63
67
|
_isPrerendering: false;
|
|
64
68
|
assetsManifest: null;
|
|
65
69
|
_viteDevServer: ViteDevServer | undefined;
|
|
70
|
+
devMiddleware: import("vite").Connect.Server | null;
|
|
66
71
|
viteConfig: ResolvedConfig | undefined;
|
|
67
72
|
} & {
|
|
68
|
-
baseServer: string;
|
|
69
|
-
baseAssets: string;
|
|
70
73
|
viteConfigRuntime: {
|
|
71
74
|
root: string;
|
|
72
75
|
build: {
|
|
@@ -77,6 +80,14 @@ declare function getGlobalContextServerInternal(): Promise<{
|
|
|
77
80
|
inject: boolean | undefined;
|
|
78
81
|
};
|
|
79
82
|
};
|
|
83
|
+
baseServer: string;
|
|
84
|
+
baseAssets: string;
|
|
85
|
+
/**
|
|
86
|
+
* Every `+middleware` from Vike extensions, as well as Vike's built-in handler that renders pages.
|
|
87
|
+
*
|
|
88
|
+
* https://vike.dev/globalContext#middlewares
|
|
89
|
+
*/
|
|
90
|
+
middlewares: import("./universal-middleware/core.js").Middleware[];
|
|
80
91
|
} & {
|
|
81
92
|
prerenderContext: PrerenderContext | undefined;
|
|
82
93
|
}) | (Record<string, unknown> & {
|
|
@@ -102,6 +113,10 @@ declare function getGlobalContextServerInternal(): Promise<{
|
|
|
102
113
|
_pageFilesAll: import("../__internal/index.js").PageFile[];
|
|
103
114
|
_pageConfigs: import("../__internal/index.js").PageConfig[];
|
|
104
115
|
_pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
|
|
116
|
+
_environmentEntries: Record<string, {
|
|
117
|
+
pageConfigs: import("../__internal/index.js").PageConfig[];
|
|
118
|
+
pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
|
|
119
|
+
} | null>;
|
|
105
120
|
_allPageIds: string[];
|
|
106
121
|
} & {
|
|
107
122
|
isClientSide: false;
|
|
@@ -110,12 +125,11 @@ declare function getGlobalContextServerInternal(): Promise<{
|
|
|
110
125
|
_isProduction: true;
|
|
111
126
|
assetsManifest: ViteManifest;
|
|
112
127
|
_viteDevServer: null;
|
|
128
|
+
devMiddleware: null;
|
|
113
129
|
_usesClientRouter: boolean;
|
|
114
130
|
_isPrerendering: true;
|
|
115
131
|
viteConfig: ResolvedConfig;
|
|
116
132
|
} & {
|
|
117
|
-
baseServer: string;
|
|
118
|
-
baseAssets: string;
|
|
119
133
|
viteConfigRuntime: {
|
|
120
134
|
root: string;
|
|
121
135
|
build: {
|
|
@@ -126,6 +140,14 @@ declare function getGlobalContextServerInternal(): Promise<{
|
|
|
126
140
|
inject: boolean | undefined;
|
|
127
141
|
};
|
|
128
142
|
};
|
|
143
|
+
baseServer: string;
|
|
144
|
+
baseAssets: string;
|
|
145
|
+
/**
|
|
146
|
+
* Every `+middleware` from Vike extensions, as well as Vike's built-in handler that renders pages.
|
|
147
|
+
*
|
|
148
|
+
* https://vike.dev/globalContext#middlewares
|
|
149
|
+
*/
|
|
150
|
+
middlewares: import("./universal-middleware/core.js").Middleware[];
|
|
129
151
|
} & {
|
|
130
152
|
prerenderContext: PrerenderContext | undefined;
|
|
131
153
|
}) | (Record<string, unknown> & {
|
|
@@ -151,6 +173,10 @@ declare function getGlobalContextServerInternal(): Promise<{
|
|
|
151
173
|
_pageFilesAll: import("../__internal/index.js").PageFile[];
|
|
152
174
|
_pageConfigs: import("../__internal/index.js").PageConfig[];
|
|
153
175
|
_pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
|
|
176
|
+
_environmentEntries: Record<string, {
|
|
177
|
+
pageConfigs: import("../__internal/index.js").PageConfig[];
|
|
178
|
+
pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
|
|
179
|
+
} | null>;
|
|
154
180
|
_allPageIds: string[];
|
|
155
181
|
} & {
|
|
156
182
|
isClientSide: false;
|
|
@@ -159,12 +185,11 @@ declare function getGlobalContextServerInternal(): Promise<{
|
|
|
159
185
|
_isProduction: true;
|
|
160
186
|
assetsManifest: ViteManifest;
|
|
161
187
|
_viteDevServer: null;
|
|
188
|
+
devMiddleware: null;
|
|
162
189
|
_usesClientRouter: boolean;
|
|
163
190
|
_isPrerendering: false;
|
|
164
191
|
viteConfig: null;
|
|
165
192
|
} & {
|
|
166
|
-
baseServer: string;
|
|
167
|
-
baseAssets: string;
|
|
168
193
|
viteConfigRuntime: {
|
|
169
194
|
root: string;
|
|
170
195
|
build: {
|
|
@@ -175,6 +200,14 @@ declare function getGlobalContextServerInternal(): Promise<{
|
|
|
175
200
|
inject: boolean | undefined;
|
|
176
201
|
};
|
|
177
202
|
};
|
|
203
|
+
baseServer: string;
|
|
204
|
+
baseAssets: string;
|
|
205
|
+
/**
|
|
206
|
+
* Every `+middleware` from Vike extensions, as well as Vike's built-in handler that renders pages.
|
|
207
|
+
*
|
|
208
|
+
* https://vike.dev/globalContext#middlewares
|
|
209
|
+
*/
|
|
210
|
+
middlewares: import("./universal-middleware/core.js").Middleware[];
|
|
178
211
|
} & {
|
|
179
212
|
prerenderContext: PrerenderContext | undefined;
|
|
180
213
|
});
|
|
@@ -202,6 +235,10 @@ declare function getGlobalContextServerInternalOptional(): (Record<string, unkno
|
|
|
202
235
|
_pageFilesAll: import("../__internal/index.js").PageFile[];
|
|
203
236
|
_pageConfigs: import("../__internal/index.js").PageConfig[];
|
|
204
237
|
_pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
|
|
238
|
+
_environmentEntries: Record<string, {
|
|
239
|
+
pageConfigs: import("../__internal/index.js").PageConfig[];
|
|
240
|
+
pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
|
|
241
|
+
} | null>;
|
|
205
242
|
_allPageIds: string[];
|
|
206
243
|
} & (({
|
|
207
244
|
isClientSide: false;
|
|
@@ -211,6 +248,7 @@ declare function getGlobalContextServerInternalOptional(): (Record<string, unkno
|
|
|
211
248
|
_isPrerendering: false;
|
|
212
249
|
assetsManifest: null;
|
|
213
250
|
_viteDevServer: ViteDevServer | undefined;
|
|
251
|
+
devMiddleware: import("vite").Connect.Server | null;
|
|
214
252
|
viteConfig: ResolvedConfig | undefined;
|
|
215
253
|
} | {
|
|
216
254
|
isClientSide: false;
|
|
@@ -219,6 +257,7 @@ declare function getGlobalContextServerInternalOptional(): (Record<string, unkno
|
|
|
219
257
|
_isProduction: true;
|
|
220
258
|
assetsManifest: ViteManifest;
|
|
221
259
|
_viteDevServer: null;
|
|
260
|
+
devMiddleware: null;
|
|
222
261
|
_usesClientRouter: boolean;
|
|
223
262
|
_isPrerendering: true;
|
|
224
263
|
viteConfig: ResolvedConfig;
|
|
@@ -229,12 +268,11 @@ declare function getGlobalContextServerInternalOptional(): (Record<string, unkno
|
|
|
229
268
|
_isProduction: true;
|
|
230
269
|
assetsManifest: ViteManifest;
|
|
231
270
|
_viteDevServer: null;
|
|
271
|
+
devMiddleware: null;
|
|
232
272
|
_usesClientRouter: boolean;
|
|
233
273
|
_isPrerendering: false;
|
|
234
274
|
viteConfig: null;
|
|
235
275
|
}) & {
|
|
236
|
-
baseServer: string;
|
|
237
|
-
baseAssets: string;
|
|
238
276
|
viteConfigRuntime: {
|
|
239
277
|
root: string;
|
|
240
278
|
build: {
|
|
@@ -245,6 +283,14 @@ declare function getGlobalContextServerInternalOptional(): (Record<string, unkno
|
|
|
245
283
|
inject: boolean | undefined;
|
|
246
284
|
};
|
|
247
285
|
};
|
|
286
|
+
baseServer: string;
|
|
287
|
+
baseAssets: string;
|
|
288
|
+
/**
|
|
289
|
+
* Every `+middleware` from Vike extensions, as well as Vike's built-in handler that renders pages.
|
|
290
|
+
*
|
|
291
|
+
* https://vike.dev/globalContext#middlewares
|
|
292
|
+
*/
|
|
293
|
+
middlewares: import("./universal-middleware/core.js").Middleware[];
|
|
248
294
|
})) & {
|
|
249
295
|
prerenderContext: PrerenderContext | undefined;
|
|
250
296
|
})) | null;
|
|
@@ -309,6 +355,10 @@ declare function createGlobalContext(virtualFileExportsGlobalEntry: unknown): Pr
|
|
|
309
355
|
_pageFilesAll: import("../__internal/index.js").PageFile[];
|
|
310
356
|
_pageConfigs: import("../__internal/index.js").PageConfig[];
|
|
311
357
|
_pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
|
|
358
|
+
_environmentEntries: Record<string, {
|
|
359
|
+
pageConfigs: import("../__internal/index.js").PageConfig[];
|
|
360
|
+
pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
|
|
361
|
+
} | null>;
|
|
312
362
|
_allPageIds: string[];
|
|
313
363
|
} & (({
|
|
314
364
|
isClientSide: false;
|
|
@@ -318,6 +368,7 @@ declare function createGlobalContext(virtualFileExportsGlobalEntry: unknown): Pr
|
|
|
318
368
|
_isPrerendering: false;
|
|
319
369
|
assetsManifest: null;
|
|
320
370
|
_viteDevServer: ViteDevServer | undefined;
|
|
371
|
+
devMiddleware: import("vite").Connect.Server | null;
|
|
321
372
|
viteConfig: ResolvedConfig | undefined;
|
|
322
373
|
} | {
|
|
323
374
|
isClientSide: false;
|
|
@@ -326,6 +377,7 @@ declare function createGlobalContext(virtualFileExportsGlobalEntry: unknown): Pr
|
|
|
326
377
|
_isProduction: true;
|
|
327
378
|
assetsManifest: ViteManifest;
|
|
328
379
|
_viteDevServer: null;
|
|
380
|
+
devMiddleware: null;
|
|
329
381
|
_usesClientRouter: boolean;
|
|
330
382
|
_isPrerendering: true;
|
|
331
383
|
viteConfig: ResolvedConfig;
|
|
@@ -336,12 +388,11 @@ declare function createGlobalContext(virtualFileExportsGlobalEntry: unknown): Pr
|
|
|
336
388
|
_isProduction: true;
|
|
337
389
|
assetsManifest: ViteManifest;
|
|
338
390
|
_viteDevServer: null;
|
|
391
|
+
devMiddleware: null;
|
|
339
392
|
_usesClientRouter: boolean;
|
|
340
393
|
_isPrerendering: false;
|
|
341
394
|
viteConfig: null;
|
|
342
395
|
}) & {
|
|
343
|
-
baseServer: string;
|
|
344
|
-
baseAssets: string;
|
|
345
396
|
viteConfigRuntime: {
|
|
346
397
|
root: string;
|
|
347
398
|
build: {
|
|
@@ -352,6 +403,14 @@ declare function createGlobalContext(virtualFileExportsGlobalEntry: unknown): Pr
|
|
|
352
403
|
inject: boolean | undefined;
|
|
353
404
|
};
|
|
354
405
|
};
|
|
406
|
+
baseServer: string;
|
|
407
|
+
baseAssets: string;
|
|
408
|
+
/**
|
|
409
|
+
* Every `+middleware` from Vike extensions, as well as Vike's built-in handler that renders pages.
|
|
410
|
+
*
|
|
411
|
+
* https://vike.dev/globalContext#middlewares
|
|
412
|
+
*/
|
|
413
|
+
middlewares: import("./universal-middleware/core.js").Middleware[];
|
|
355
414
|
})) & {
|
|
356
415
|
prerenderContext: PrerenderContext | undefined;
|
|
357
416
|
}>;
|
|
@@ -56,6 +56,7 @@ import { logRuntimeError, logRuntimeInfo } from './loggerRuntime.js';
|
|
|
56
56
|
import { debugFileChange, getVikeConfigErrorBuild, setVikeConfigError, } from '../../shared-server-node/getVikeConfigError.js';
|
|
57
57
|
import { getVikeApiOperation } from '../../shared-server-node/api-context.js';
|
|
58
58
|
import { hasAlreadyLogged } from './logErrorServer.js';
|
|
59
|
+
import { getMiddlewares_globalContext } from './universal-middleware/core.js';
|
|
59
60
|
import '../assertEnvServer.js';
|
|
60
61
|
const debug = createDebug('vike:globalContext');
|
|
61
62
|
const globalObject = getGlobalObject('runtime/globalContext.ts', getInitialGlobalObject());
|
|
@@ -490,14 +491,18 @@ function addGlobalContextCommon(globalContext, pageRoutes, onBeforeRouteHook) {
|
|
|
490
491
|
if (!isProduction) {
|
|
491
492
|
assert(globalContext); // main common requirement
|
|
492
493
|
assert(!isPrerendering);
|
|
493
|
-
|
|
494
|
+
const globalContextDev = {
|
|
494
495
|
...globalContextBase,
|
|
495
496
|
_isProduction: false,
|
|
496
497
|
_isPrerendering: false,
|
|
497
498
|
assetsManifest: null,
|
|
498
499
|
_viteDevServer: viteDevServer,
|
|
500
|
+
// https://vike.dev/globalContext#devMiddleware
|
|
501
|
+
devMiddleware: viteDevServer?.middlewares ?? null,
|
|
499
502
|
viteConfig,
|
|
500
503
|
};
|
|
504
|
+
addDevMiddlewareWarning(globalContextDev, viteDevServer);
|
|
505
|
+
return globalContextDev;
|
|
501
506
|
}
|
|
502
507
|
else {
|
|
503
508
|
assert(globalObject.prodBuildEntry);
|
|
@@ -510,6 +515,7 @@ function addGlobalContextCommon(globalContext, pageRoutes, onBeforeRouteHook) {
|
|
|
510
515
|
_isProduction: true,
|
|
511
516
|
assetsManifest,
|
|
512
517
|
_viteDevServer: null,
|
|
518
|
+
devMiddleware: null,
|
|
513
519
|
_usesClientRouter: buildInfo.usesClientRouter,
|
|
514
520
|
};
|
|
515
521
|
if (isPrerendering) {
|
|
@@ -529,6 +535,25 @@ function addGlobalContextCommon(globalContext, pageRoutes, onBeforeRouteHook) {
|
|
|
529
535
|
}
|
|
530
536
|
}
|
|
531
537
|
}
|
|
538
|
+
function addDevMiddlewareWarning(globalContext, viteDevServer) {
|
|
539
|
+
if (!viteDevServer)
|
|
540
|
+
return;
|
|
541
|
+
const getMiddlewareMode = () => viteDevServer.config.server.middlewareMode;
|
|
542
|
+
Object.defineProperty(globalContext, 'devMiddleware', {
|
|
543
|
+
get() {
|
|
544
|
+
const middlewareMode = getMiddlewareMode();
|
|
545
|
+
if (!middlewareMode) {
|
|
546
|
+
assertWarning(false, `You don't need ${pc.cyan('globalContext.devMiddleware')} because the development middleware is already installed (Vite's ${pc.cyan('config.server.middlewareMode')} is ${pc.cyan(JSON.stringify(middlewareMode))}) — installing the development middleware twice might hang the server`, { onlyOnce: true });
|
|
547
|
+
}
|
|
548
|
+
return viteDevServer.middlewares;
|
|
549
|
+
},
|
|
550
|
+
enumerable: getMiddlewareMode()
|
|
551
|
+
? true
|
|
552
|
+
: // So that spreading or serializing globalContext doesn't get the warning
|
|
553
|
+
false,
|
|
554
|
+
configurable: true,
|
|
555
|
+
});
|
|
556
|
+
}
|
|
532
557
|
async function addGlobalContextAsync(globalContext) {
|
|
533
558
|
debug('addGlobalContextAsync()');
|
|
534
559
|
let { viteConfigRuntime, buildInfo } = globalObject;
|
|
@@ -545,9 +570,17 @@ async function addGlobalContextAsync(globalContext) {
|
|
|
545
570
|
}
|
|
546
571
|
}
|
|
547
572
|
assert(viteConfigRuntime);
|
|
573
|
+
const { baseServer, baseAssets } = resolveBaseRuntime(viteConfigRuntime, globalContext.config);
|
|
548
574
|
return {
|
|
549
575
|
viteConfigRuntime,
|
|
550
|
-
|
|
576
|
+
baseServer,
|
|
577
|
+
baseAssets,
|
|
578
|
+
/**
|
|
579
|
+
* Every `+middleware` from Vike extensions, as well as Vike's built-in handler that renders pages.
|
|
580
|
+
*
|
|
581
|
+
* https://vike.dev/globalContext#middlewares
|
|
582
|
+
*/
|
|
583
|
+
middlewares: getMiddlewares_globalContext(globalContext, baseServer),
|
|
551
584
|
};
|
|
552
585
|
}
|
|
553
586
|
function clearGlobalContext() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { renderPageServer_userLand as renderPage } from './renderPageServer.js';
|
|
2
2
|
export { escapeInject, dangerouslySkipEscape } from './renderPageServer/html/renderHtml.js';
|
|
3
3
|
export { pipeWebStream, pipeNodeStream, pipeStream, stampPipe } from './renderPageServer/html/stream.js';
|
|
4
4
|
export { PROJECT_VERSION as version } from '../../utils/PROJECT_VERSION.js';
|