vike 0.4.218 → 0.4.220-commit-a9f46b8
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/__internal/index.js +11 -11
- package/dist/cjs/node/api/build.js +22 -48
- package/dist/cjs/node/api/context.js +8 -6
- package/dist/cjs/node/api/index.js +17 -7
- package/dist/cjs/node/api/prepareViteApiCall.js +40 -13
- package/dist/cjs/node/cli/context.js +16 -0
- package/dist/cjs/node/cli/entry.js +21 -7
- package/dist/cjs/node/cli/utils.js +1 -0
- package/dist/cjs/node/plugin/index.js +5 -5
- package/dist/cjs/node/plugin/plugins/autoFullBuild.js +32 -20
- package/dist/cjs/node/plugin/plugins/baseUrls.js +3 -10
- package/dist/cjs/node/plugin/plugins/buildConfig.js +2 -2
- package/dist/cjs/node/plugin/plugins/{importBuild → buildEntry}/index.js +16 -17
- package/dist/cjs/node/plugin/plugins/commonConfig.js +41 -4
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +26 -23
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +171 -68
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +1 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +7 -5
- package/dist/cjs/node/plugin/plugins/setGlobalContext.js +1 -1
- package/dist/cjs/node/plugin/plugins/{vite6HmrRegressionWorkaround.js → workaroundVite6HmrRegression.js} +3 -3
- package/dist/cjs/node/plugin/shared/getHttpRequestAsyncStore.js +17 -7
- package/dist/cjs/node/prerender/context.js +24 -0
- package/dist/cjs/node/prerender/runPrerender.js +146 -96
- package/dist/cjs/node/prerender/utils.js +2 -0
- package/dist/cjs/node/runtime/globalContext.js +109 -55
- package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +2 -2
- package/dist/cjs/node/runtime/index-common.js +0 -15
- package/dist/cjs/node/runtime/onLoad.js +17 -3
- package/dist/cjs/node/runtime/page-files/setup.js +2 -4
- package/dist/cjs/node/runtime/renderPage/analyzePage.js +2 -2
- package/dist/cjs/node/runtime/renderPage/createHttpResponse/getCacheControl.js +2 -2
- package/dist/cjs/node/runtime/renderPage/loadUserFilesServerSide.js +1 -1
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +11 -33
- package/dist/cjs/node/runtime/renderPage/resolveRedirects.js +9 -1
- package/dist/cjs/node/runtime/renderPage.js +21 -22
- package/dist/cjs/node/runtime/utils.js +2 -0
- package/dist/cjs/node/runtime-dev/index.js +17 -7
- package/dist/cjs/node/shared/assertRuntimeManifest.js +0 -2
- package/dist/cjs/shared/getPageFiles/analyzeClientSide.js +3 -3
- package/dist/cjs/shared/getPageFiles/{setPageFiles.js → getPageFiles.js} +8 -6
- package/dist/cjs/shared/getPageFiles.js +3 -9
- package/dist/cjs/shared/hooks/getHook.js +3 -3
- package/dist/cjs/shared/{getPageFiles/getExports.js → page-configs/getPageConfigUserFriendly.js} +113 -81
- package/dist/cjs/shared/page-configs/loadConfigValues.js +5 -1
- package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +80 -55
- package/dist/cjs/shared/route/loadPageRoutes.js +3 -3
- package/dist/cjs/shared/utils.js +1 -0
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/assert.js +4 -3
- package/dist/cjs/utils/assertSetup.js +47 -16
- package/dist/cjs/utils/catchInfiniteLoop.js +34 -0
- package/dist/cjs/utils/debug.js +11 -6
- package/dist/cjs/utils/getGlobalObject.js +1 -2
- package/dist/cjs/utils/isDev.js +2 -0
- package/dist/cjs/utils/makePublicCopy.js +32 -0
- package/dist/cjs/utils/objectReplace.js +9 -0
- package/dist/esm/__internal/index.d.ts +3 -5
- package/dist/esm/__internal/index.js +6 -8
- package/dist/esm/client/client-routing-runtime/createPageContext.js +4 -1
- package/dist/esm/client/client-routing-runtime/entry.d.ts +1 -1
- package/dist/esm/client/client-routing-runtime/entry.js +0 -1
- package/dist/esm/client/client-routing-runtime/getPageContextCurrent.d.ts +2 -2
- package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.d.ts +4 -4
- package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.js +1 -1
- package/dist/esm/client/client-routing-runtime/history.d.ts +3 -1
- package/dist/esm/client/client-routing-runtime/history.js +23 -18
- package/dist/esm/client/client-routing-runtime/index.d.ts +0 -1
- package/dist/esm/client/client-routing-runtime/index.js +0 -1
- package/dist/esm/client/client-routing-runtime/initClientRouter.js +2 -2
- package/dist/esm/client/client-routing-runtime/initOnLinkClick.js +3 -4
- package/dist/esm/client/client-routing-runtime/initOnPopState.d.ts +0 -10
- package/dist/esm/client/client-routing-runtime/initOnPopState.js +50 -62
- package/dist/esm/client/client-routing-runtime/prefetch/getPrefetchSettings.d.ts +2 -2
- package/dist/esm/client/client-routing-runtime/prefetch.d.ts +2 -2
- package/dist/esm/client/client-routing-runtime/prefetch.js +2 -2
- package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +15 -15
- package/dist/esm/client/client-routing-runtime/scrollRestoration.d.ts +4 -6
- package/dist/esm/client/client-routing-runtime/scrollRestoration.js +17 -12
- package/dist/esm/client/client-routing-runtime/setScrollPosition.d.ts +1 -1
- package/dist/esm/client/client-routing-runtime/setScrollPosition.js +29 -5
- package/dist/esm/client/client-routing-runtime/utils.d.ts +1 -0
- package/dist/esm/client/client-routing-runtime/utils.js +1 -0
- package/dist/esm/client/server-routing-runtime/entry.d.ts +1 -1
- package/dist/esm/client/server-routing-runtime/entry.js +0 -1
- package/dist/esm/client/server-routing-runtime/getPageContext.d.ts +1 -1
- package/dist/esm/client/server-routing-runtime/getPageContext.js +5 -2
- package/dist/esm/client/shared/executeOnRenderClientHook.d.ts +2 -2
- package/dist/esm/client/shared/loadUserFilesClientSide.d.ts +2 -2
- package/dist/esm/client/shared/loadUserFilesClientSide.js +2 -2
- package/dist/esm/client/shared/normalizeClientSideUrl.js +2 -3
- package/dist/esm/client/shared/preparePageContextForUserConsumptionClientSide.d.ts +2 -2
- package/dist/esm/node/api/build.d.ts +1 -6
- package/dist/esm/node/api/build.js +20 -26
- package/dist/esm/node/api/context.d.ts +4 -2
- package/dist/esm/node/api/context.js +8 -7
- package/dist/esm/node/api/prepareViteApiCall.d.ts +0 -1
- package/dist/esm/node/api/prepareViteApiCall.js +26 -9
- package/dist/esm/node/cli/context.d.ts +5 -0
- package/dist/esm/node/cli/context.js +14 -0
- package/dist/esm/node/cli/entry.js +4 -0
- package/dist/esm/node/cli/parseCli.d.ts +3 -1
- package/dist/esm/node/cli/utils.d.ts +1 -0
- package/dist/esm/node/cli/utils.js +1 -0
- package/dist/esm/node/plugin/index.d.ts +1 -1
- package/dist/esm/node/plugin/index.js +5 -5
- package/dist/esm/node/plugin/plugins/autoFullBuild.js +32 -20
- package/dist/esm/node/plugin/plugins/baseUrls.d.ts +1 -1
- package/dist/esm/node/plugin/plugins/baseUrls.js +4 -11
- package/dist/esm/node/plugin/plugins/buildConfig.js +2 -2
- package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/getVikeManifest.d.ts +1 -1
- package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/index.d.ts +2 -2
- package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/index.js +16 -17
- package/dist/esm/node/plugin/plugins/commonConfig.d.ts +10 -1
- package/dist/esm/node/plugin/plugins/commonConfig.js +42 -5
- package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.d.ts +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.d.ts +6 -9
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +25 -22
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +96 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +167 -64
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +7 -5
- package/dist/esm/node/plugin/plugins/setGlobalContext.js +1 -1
- package/dist/esm/node/plugin/plugins/workaroundVite6HmrRegression.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/{vite6HmrRegressionWorkaround.js → workaroundVite6HmrRegression.js} +3 -3
- package/dist/esm/node/prerender/context.d.ts +9 -0
- package/dist/esm/node/prerender/context.js +22 -0
- package/dist/esm/node/prerender/runPrerender.d.ts +42 -2
- package/dist/esm/node/prerender/runPrerender.js +130 -90
- package/dist/esm/node/prerender/utils.d.ts +2 -0
- package/dist/esm/node/prerender/utils.js +2 -0
- package/dist/esm/node/runtime/globalContext.d.ts +23 -7
- package/dist/esm/node/runtime/globalContext.js +109 -55
- package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +1 -1
- package/dist/esm/node/runtime/index-common.d.ts +0 -1
- package/dist/esm/node/runtime/index-common.js +0 -15
- package/dist/esm/node/runtime/index-deprecated.d.ts +1 -0
- package/dist/esm/node/runtime/onLoad.js +16 -2
- package/dist/esm/node/runtime/page-files/setup.js +3 -3
- package/dist/esm/node/runtime/renderPage/analyzePage.js +1 -1
- package/dist/esm/node/runtime/renderPage/createHttpResponse/getCacheControl.js +1 -1
- package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.js +2 -2
- package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +31 -46
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +11 -33
- package/dist/esm/node/runtime/renderPage/resolveRedirects.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/resolveRedirects.js +9 -1
- package/dist/esm/node/runtime/renderPage.js +22 -23
- package/dist/esm/node/runtime/utils.d.ts +2 -0
- package/dist/esm/node/runtime/utils.js +2 -0
- package/dist/esm/node/shared/assertPluginManifest.d.ts +0 -1
- package/dist/esm/node/shared/assertRuntimeManifest.d.ts +0 -1
- package/dist/esm/node/shared/assertRuntimeManifest.js +1 -3
- package/dist/esm/shared/getPageFiles/analyzeClientSide.js +1 -1
- package/dist/esm/shared/getPageFiles/{setPageFiles.d.ts → getPageFiles.d.ts} +3 -1
- package/dist/esm/shared/getPageFiles/{setPageFiles.js → getPageFiles.js} +8 -6
- package/dist/esm/shared/getPageFiles.d.ts +2 -5
- package/dist/esm/shared/getPageFiles.js +1 -4
- package/dist/esm/shared/hooks/getHook.d.ts +3 -3
- package/dist/esm/shared/hooks/getHook.js +1 -1
- package/dist/esm/shared/page-configs/Config/PageContextConfig.d.ts +9 -5
- package/dist/esm/shared/page-configs/Config.d.ts +20 -2
- package/dist/esm/shared/page-configs/PageConfig.d.ts +13 -6
- package/dist/esm/shared/{getPageFiles/getExports.d.ts → page-configs/getPageConfigUserFriendly.d.ts} +26 -12
- package/dist/esm/shared/{getPageFiles/getExports.js → page-configs/getPageConfigUserFriendly.js} +112 -80
- package/dist/esm/shared/page-configs/loadConfigValues.js +6 -2
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.d.ts +26 -6
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +80 -55
- package/dist/esm/shared/route/executeGuardHook.d.ts +2 -2
- package/dist/esm/shared/route/loadPageRoutes.js +1 -1
- package/dist/esm/shared/types.d.ts +1 -1
- package/dist/esm/shared/utils.d.ts +1 -0
- package/dist/esm/shared/utils.js +1 -0
- package/dist/esm/types/index.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/assert.js +4 -3
- package/dist/esm/utils/assertSetup.js +47 -16
- package/dist/esm/utils/catchInfiniteLoop.d.ts +2 -0
- package/dist/esm/utils/catchInfiniteLoop.js +32 -0
- package/dist/esm/utils/debug.d.ts +1 -1
- package/dist/esm/utils/debug.js +11 -6
- package/dist/esm/utils/getGlobalObject.js +1 -2
- package/dist/esm/utils/isDev.js +2 -0
- package/dist/esm/utils/makePublicCopy.d.ts +3 -0
- package/dist/esm/utils/makePublicCopy.js +30 -0
- package/dist/esm/utils/objectReplace.d.ts +1 -0
- package/dist/esm/utils/objectReplace.js +6 -0
- package/dist/esm/utils/projectInfo.d.ts +1 -1
- package/package.json +4 -13
- package/__internal/loadImportBuild.js +0 -3
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +0 -128
- package/dist/cjs/node/runtime/globalContext/loadImportBuild.js +0 -25
- package/dist/cjs/node/runtime/page-files/getPageFilesExports.js +0 -22
- package/dist/esm/client/client-routing-runtime/pageFiles.d.ts +0 -1
- package/dist/esm/client/client-routing-runtime/pageFiles.js +0 -4
- package/dist/esm/client/server-routing-runtime/pageFiles.d.ts +0 -1
- package/dist/esm/client/server-routing-runtime/pageFiles.js +0 -4
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.d.ts +0 -104
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +0 -123
- package/dist/esm/node/plugin/plugins/vite6HmrRegressionWorkaround.d.ts +0 -3
- package/dist/esm/node/runtime/globalContext/loadImportBuild.d.ts +0 -18
- package/dist/esm/node/runtime/globalContext/loadImportBuild.js +0 -23
- package/dist/esm/node/runtime/page-files/getPageFilesExports.d.ts +0 -2
- package/dist/esm/node/runtime/page-files/getPageFilesExports.js +0 -20
- /package/dist/cjs/node/plugin/plugins/{importBuild → buildEntry}/getVikeManifest.js +0 -0
- /package/dist/cjs/shared/page-configs/{getConfigValue.js → getConfigValueRuntime.js} +0 -0
- /package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/getVikeManifest.js +0 -0
- /package/dist/esm/shared/page-configs/{getConfigValue.d.ts → getConfigValueRuntime.d.ts} +0 -0
- /package/dist/esm/shared/page-configs/{getConfigValue.js → getConfigValueRuntime.js} +0 -0
|
@@ -3,7 +3,7 @@ import { isErrorPageId } from '../error-page.js';
|
|
|
3
3
|
import { assert, assertUsage, hasProp, slice } from './utils.js';
|
|
4
4
|
import { deduceRouteStringFromFilesystemPath } from './deduceRouteStringFromFilesystemPath.js';
|
|
5
5
|
import { isCallable } from '../utils.js';
|
|
6
|
-
import { getConfigValueRuntime } from '../page-configs/
|
|
6
|
+
import { getConfigValueRuntime } from '../page-configs/getConfigValueRuntime.js';
|
|
7
7
|
import { getDefinedAtString } from '../page-configs/getConfigDefinedAt.js';
|
|
8
8
|
import { warnDeprecatedAllowKey } from './resolveRouteFunction.js';
|
|
9
9
|
import { getHookFromPageConfigGlobal, getHookTimeoutDefault } from '../hooks/getHook.js';
|
|
@@ -8,7 +8,7 @@ export { PageContextBuiltInServer_deprecated as PageContextBuiltInServer };
|
|
|
8
8
|
export { PageContextBuiltInClientWithClientRouting_deprecated as PageContextBuiltInClientWithClientRouting };
|
|
9
9
|
export { PageContextBuiltInClientWithServerRouting_deprecated as PageContextBuiltInClientWithServerRouting };
|
|
10
10
|
import type { PageContextUrlInternal, PageContextUrlClient, PageContextUrlServer } from './getPageContextUrlComputed.js';
|
|
11
|
-
import type { ConfigEntries, ExportsAll, From, Source, Sources } from './
|
|
11
|
+
import type { ConfigEntries, ExportsAll, From, Source, Sources } from './page-configs/getPageConfigUserFriendly.js';
|
|
12
12
|
import type { Config } from './page-configs/Config.js';
|
|
13
13
|
import type { PageContextConfig } from './page-configs/Config/PageContextConfig.js';
|
|
14
14
|
import type { AbortStatusCode } from './route/abort.js';
|
package/dist/esm/shared/utils.js
CHANGED
|
@@ -10,7 +10,7 @@ export type { PageContextBuiltInClientWithServerRouting } from '../shared/types.
|
|
|
10
10
|
export type { Config, ConfigMeta as Meta, ImportString, DataAsync, DataSync, GuardAsync, GuardSync, OnBeforePrerenderStartAsync, OnBeforePrerenderStartSync, OnBeforeRenderAsync, OnBeforeRenderSync, OnBeforeRouteAsync, OnBeforeRouteSync, OnHydrationEndAsync, OnHydrationEndSync, OnPageTransitionEndAsync, OnPageTransitionEndSync, OnPageTransitionStartAsync, OnPageTransitionStartSync, OnPrerenderStartAsync, OnPrerenderStartSync, OnRenderClientAsync, OnRenderClientSync, OnRenderHtmlAsync, OnRenderHtmlSync, RouteAsync, RouteSync, KeepScrollPosition } from '../shared/page-configs/Config.js';
|
|
11
11
|
export type { ConfigEnv } from '../shared/page-configs/PageConfig.js';
|
|
12
12
|
export type { ConfigDefinition, ConfigEffect } from '../node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js';
|
|
13
|
-
export type { ConfigEntries } from '../shared/
|
|
13
|
+
export type { ConfigEntries } from '../shared/page-configs/getPageConfigUserFriendly.js';
|
|
14
14
|
export type { UrlPublic as Url } from '../utils/parseUrl.js';
|
|
15
15
|
export type { InjectFilterEntry } from '../node/runtime/html/injectAssets/getHtmlTags.js';
|
|
16
16
|
export { defineConfig } from './defineConfig.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const PROJECT_VERSION: "0.4.
|
|
1
|
+
export declare const PROJECT_VERSION: "0.4.220-commit-a9f46b8";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Automatically updated by @brillout/release-me
|
|
2
|
-
export const PROJECT_VERSION = '0.4.
|
|
2
|
+
export const PROJECT_VERSION = '0.4.220-commit-a9f46b8';
|
package/dist/esm/utils/assert.js
CHANGED
|
@@ -30,6 +30,7 @@ const globalObject = getGlobalObject('utils/assert.ts', {
|
|
|
30
30
|
assertSingleInstance_onAssertModuleLoad();
|
|
31
31
|
const projectTag = `[vike]`;
|
|
32
32
|
const projectTagWithVersion = `[vike@${projectInfo.projectVersion}]`;
|
|
33
|
+
const bugTag = 'Bug';
|
|
33
34
|
const numberOfStackTraceLinesToRemove = 2;
|
|
34
35
|
function assert(condition, debugInfo) {
|
|
35
36
|
if (condition)
|
|
@@ -49,7 +50,7 @@ function assert(condition, debugInfo) {
|
|
|
49
50
|
.filter(Boolean)
|
|
50
51
|
.join(' ');
|
|
51
52
|
errMsg = addWhitespace(errMsg);
|
|
52
|
-
errMsg = addPrefixAssertType(errMsg,
|
|
53
|
+
errMsg = addPrefixAssertType(errMsg, bugTag);
|
|
53
54
|
errMsg = addPrefixProjctName(errMsg, true);
|
|
54
55
|
const internalError = createErrorWithCleanStackTrace(errMsg, numberOfStackTraceLinesToRemove);
|
|
55
56
|
globalObject.onBeforeLog?.();
|
|
@@ -160,7 +161,7 @@ function getAssertErrMsg(thing) {
|
|
|
160
161
|
const showVikeVersion = tag === projectTagWithVersion;
|
|
161
162
|
const errStackPrefix = `Error: ${tag}`;
|
|
162
163
|
if (errStack?.startsWith(errStackPrefix)) {
|
|
163
|
-
if (globalObject.showStackTraceList.has(thing)) {
|
|
164
|
+
if (globalObject.showStackTraceList.has(thing) || isBug(thing)) {
|
|
164
165
|
const assertMsg = errStack.slice(errStackPrefix.length);
|
|
165
166
|
return { assertMsg, showVikeVersion };
|
|
166
167
|
}
|
|
@@ -179,7 +180,7 @@ function overwriteAssertProductionLogger(logger) {
|
|
|
179
180
|
globalObject.logger = logger;
|
|
180
181
|
}
|
|
181
182
|
function isBug(err) {
|
|
182
|
-
return
|
|
183
|
+
return String(err).includes(`[${bugTag}]`);
|
|
183
184
|
}
|
|
184
185
|
function setAlwaysShowStackTrace() {
|
|
185
186
|
globalObject.alwaysShowStackTrace = true;
|
|
@@ -28,16 +28,19 @@ function onSetupRuntime() {
|
|
|
28
28
|
debug('assertSetup()', new Error().stack);
|
|
29
29
|
if (isTest())
|
|
30
30
|
return;
|
|
31
|
+
assertNodeEnvIsNotUndefinedString();
|
|
31
32
|
if (!isViteLoaded()) {
|
|
32
33
|
// TODO: make it assertUsage() again once https://github.com/vikejs/vike/issues/1528 is implemented.
|
|
33
|
-
assertWarning(!isNodeEnvDev(), `The ${getEnvDescription()}, which
|
|
34
|
+
assertWarning(!isNodeEnvDev(), `The ${getEnvDescription()}, which is contradictory because the environment seems to be a production environment (Vite isn't loaded), see https://vike.dev/NODE_ENV`, { onlyOnce: true });
|
|
34
35
|
assertUsage(!setup.vikeVitePlugin, "Loading Vike's Vite plugin (the vike/plugin module) is prohibited in production.");
|
|
35
36
|
// This assert() one of the main goal of this file: it ensures assertIsNotProductionRuntime()
|
|
36
37
|
assert(!setup.shouldNotBeProduction);
|
|
37
38
|
}
|
|
38
39
|
else {
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
if (!setup.vitePreviewServer && !setup.isPrerendering) {
|
|
41
|
+
// TODO: make it assertUsage() again once https://github.com/vikejs/vike/issues/1528 is implemented.
|
|
42
|
+
assertWarning(isNodeEnvDev(), `The ${getEnvDescription()}, but Vite is loaded which is prohibited in production, see https://vike.dev/NODE_ENV`, { onlyOnce: true });
|
|
43
|
+
}
|
|
41
44
|
// These two assert() calls aren't that interesting
|
|
42
45
|
assert(setup.vikeVitePlugin);
|
|
43
46
|
assert(setup.shouldNotBeProduction);
|
|
@@ -57,7 +60,7 @@ function onSetupBuild() {
|
|
|
57
60
|
}
|
|
58
61
|
function onSetupPrerender() {
|
|
59
62
|
markSetup_isPrerendering();
|
|
60
|
-
if (
|
|
63
|
+
if (getNodeEnv())
|
|
61
64
|
assertUsageNodeEnvIsNotDev('pre-rendering');
|
|
62
65
|
setNodeEnvProduction();
|
|
63
66
|
}
|
|
@@ -66,7 +69,7 @@ function isViteLoaded() {
|
|
|
66
69
|
return setup.viteDevServer || setup.vitePreviewServer || setup.isViteDev !== undefined;
|
|
67
70
|
}
|
|
68
71
|
function isTest() {
|
|
69
|
-
return isVitest() ||
|
|
72
|
+
return isVitest() || isNodeEnv('test');
|
|
70
73
|
}
|
|
71
74
|
// Called by Vite hook configureServer()
|
|
72
75
|
function markSetup_viteDevServer() {
|
|
@@ -105,26 +108,54 @@ function assertUsageNodeEnvIsNotDev(operation) {
|
|
|
105
108
|
assertWarning(false, `The ${getEnvDescription()} which is forbidden upon ${operation}, see https://vike.dev/NODE_ENV`, { onlyOnce: true });
|
|
106
109
|
}
|
|
107
110
|
function getEnvDescription() {
|
|
108
|
-
const
|
|
109
|
-
const
|
|
110
|
-
const envType = `${(isDev ? 'development' : 'production')} environment`;
|
|
111
|
-
const nodeEnvDesc = `environment is set to be a ${pc.bold(envType)} by ${pc.cyan(`process.env.NODE_ENV===${JSON.stringify(nodeEnv)}`)}`;
|
|
111
|
+
const envType = `${(isNodeEnvDev() ? 'development' : 'production')} environment`;
|
|
112
|
+
const nodeEnvDesc = `environment is set to be a ${pc.bold(envType)} by ${pc.cyan(`process.env.NODE_ENV===${JSON.stringify(getNodeEnv())}`)}`;
|
|
112
113
|
return nodeEnvDesc;
|
|
113
114
|
}
|
|
115
|
+
// For example, Wrangler bug replaces `process.env.NODE_ENV` with `"undefined"`
|
|
116
|
+
// https://github.com/cloudflare/workers-sdk/issues/7886
|
|
117
|
+
function assertNodeEnvIsNotUndefinedString() {
|
|
118
|
+
const nodeEnv = getNodeEnv();
|
|
119
|
+
assertWarning(nodeEnv !== 'undefined', `${pc.cyan('process.env.NODE_ENV==="undefined"')} which is unexpected: ${pc.cyan('process.env.NODE_ENV')} is allowed to be the *value* ${pc.cyan('undefined')} (i.e. ${pc.cyan('process.env.NODE_ENV===undefined')}) but it shouldn't be the *string* ${pc.cyan('"undefined"')} ${pc.underline('https://vike.dev/NODE_ENV')}`, { onlyOnce: true });
|
|
120
|
+
}
|
|
114
121
|
function isNodeEnvDev() {
|
|
115
|
-
const nodeEnv =
|
|
122
|
+
const nodeEnv = getNodeEnv();
|
|
116
123
|
// That's quite strict, let's see if some user complains
|
|
117
|
-
return
|
|
124
|
+
return nodeEnv === undefined || isNodeEnv(['development', 'dev', '']);
|
|
125
|
+
}
|
|
126
|
+
function isNodeEnv(value) {
|
|
127
|
+
const values = Array.isArray(value) ? value : [value];
|
|
128
|
+
const nodeEnv = getNodeEnv();
|
|
129
|
+
return nodeEnv !== undefined && values.includes(nodeEnv.toLowerCase());
|
|
118
130
|
}
|
|
119
|
-
function
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
131
|
+
function getNodeEnv() {
|
|
132
|
+
let val;
|
|
133
|
+
try {
|
|
134
|
+
val = process.env.NODE_ENV;
|
|
135
|
+
}
|
|
136
|
+
catch {
|
|
137
|
+
return undefined;
|
|
138
|
+
}
|
|
139
|
+
/*
|
|
140
|
+
// Should we show the following warning? So far I don't think so because of the following. Maybe we can show it once we enable users to disable warnings.
|
|
141
|
+
// - The warning isn't always actionable, e.g. if it's a tool that dynamically sets `process.env.NODE_ENV`.
|
|
142
|
+
// - We assume that tools use `process.env.NODE_ENV` and not someting like `const { env } = process; env.NODE_ENV`. Thus, in practice, `val` overrides `val2` so having `val!==val2` isn't an issue.
|
|
143
|
+
{
|
|
144
|
+
const val2 = process.env['NODE' + '_ENV']
|
|
145
|
+
if (val2)
|
|
146
|
+
assertWarning(
|
|
147
|
+
val === val2,
|
|
148
|
+
`Dynamically setting process.env.NODE_ENV to ${val2} hasn't any effect because process.env.NODE_ENV is being statically replaced to ${val}.`,
|
|
149
|
+
{ onlyOnce: true }
|
|
150
|
+
)
|
|
151
|
+
}
|
|
152
|
+
//*/
|
|
153
|
+
return val;
|
|
123
154
|
}
|
|
124
155
|
function setNodeEnvProduction() {
|
|
125
156
|
// The statement `process.env['NODE_ENV'] = 'production'` chokes webpack v4
|
|
126
157
|
const proc = process;
|
|
127
158
|
const { env } = proc;
|
|
128
159
|
env.NODE_ENV = 'production';
|
|
129
|
-
assert(
|
|
160
|
+
assert(isNodeEnv('production'));
|
|
130
161
|
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export { catchInfiniteLoop };
|
|
2
|
+
import { assert, assertWarning } from './assert.js';
|
|
3
|
+
const trackers = {};
|
|
4
|
+
function catchInfiniteLoop(functionName, maxNumberOfCalls = 100, withinSeconds = 5) {
|
|
5
|
+
// Init
|
|
6
|
+
const now = new Date();
|
|
7
|
+
let tracker = (trackers[functionName] ?? (trackers[functionName] = createTracker(now)));
|
|
8
|
+
// Reset
|
|
9
|
+
const elapsedTime = now.getTime() - tracker.start.getTime();
|
|
10
|
+
if (elapsedTime > withinSeconds * 1000)
|
|
11
|
+
tracker = trackers[functionName] = createTracker(now);
|
|
12
|
+
// Count
|
|
13
|
+
tracker.count++;
|
|
14
|
+
// Error
|
|
15
|
+
const msg = `[Infinite Loop] ${functionName} called ${tracker.count} times within ${withinSeconds} seconds`;
|
|
16
|
+
if (tracker.count > maxNumberOfCalls) {
|
|
17
|
+
assert(false, msg);
|
|
18
|
+
}
|
|
19
|
+
// Warning, at 50% threshold
|
|
20
|
+
if (!tracker.warned && tracker.count > maxNumberOfCalls * 0.5) {
|
|
21
|
+
// Warning is shown upon 10 calls a second, on average during 5 seconds, given the default parameters
|
|
22
|
+
assertWarning(false, msg, { onlyOnce: false });
|
|
23
|
+
tracker.warned = true;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function createTracker(now) {
|
|
27
|
+
const tracker = {
|
|
28
|
+
count: 0,
|
|
29
|
+
start: now
|
|
30
|
+
};
|
|
31
|
+
return tracker;
|
|
32
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { createDebugger };
|
|
2
2
|
export { isDebugActivated };
|
|
3
3
|
export type { Debug };
|
|
4
|
-
declare const flags: readonly ["vike:error", "vike:extractAssets", "vike:extractExportNames", "vike:glob", "vike:log", "vike:optimizeDeps", "vike:outDir", "vike:pageFiles", "vike:pointer-imports", "vike:routing", "vike:setup", "vike:stream", "vike:virtual-files", "vike:esbuild-resolve"];
|
|
4
|
+
declare const flags: readonly ["vike:error", "vike:extractAssets", "vike:extractExportNames", "vike:glob", "vike:globalContext", "vike:log", "vike:optimizeDeps", "vike:outDir", "vike:pageFiles", "vike:pointer-imports", "vike:routing", "vike:setup", "vike:stream", "vike:virtual-files", "vike:esbuild-resolve"];
|
|
5
5
|
type Flag = (typeof flags)[number];
|
|
6
6
|
type Debug = ReturnType<typeof createDebugger>;
|
|
7
7
|
type Options = {
|
package/dist/esm/utils/debug.js
CHANGED
|
@@ -16,6 +16,7 @@ const flags = [
|
|
|
16
16
|
'vike:extractAssets',
|
|
17
17
|
'vike:extractExportNames',
|
|
18
18
|
'vike:glob',
|
|
19
|
+
'vike:globalContext',
|
|
19
20
|
'vike:log',
|
|
20
21
|
'vike:optimizeDeps',
|
|
21
22
|
'vike:outDir',
|
|
@@ -28,7 +29,7 @@ const flags = [
|
|
|
28
29
|
'vike:esbuild-resolve'
|
|
29
30
|
];
|
|
30
31
|
const flagRegex = /\bvike:[a-zA-Z-]+/g;
|
|
31
|
-
|
|
32
|
+
assertFlagsActivated();
|
|
32
33
|
function createDebugger(flag, optionsGlobal) {
|
|
33
34
|
checkType(flag);
|
|
34
35
|
assert(flags.includes(flag));
|
|
@@ -71,8 +72,8 @@ function debug_(flag, options, ...msgs) {
|
|
|
71
72
|
function isDebugActivated(flag) {
|
|
72
73
|
checkType(flag);
|
|
73
74
|
assert(flags.includes(flag));
|
|
74
|
-
const
|
|
75
|
-
const isActivated =
|
|
75
|
+
const flagsActivated = getFlagsActivated();
|
|
76
|
+
const isActivated = flagsActivated.includes(flag);
|
|
76
77
|
return isActivated;
|
|
77
78
|
}
|
|
78
79
|
function formatMsg(info, options, padding, position) {
|
|
@@ -135,13 +136,17 @@ function replaceFunctionSerializer(_key, value) {
|
|
|
135
136
|
}
|
|
136
137
|
return value;
|
|
137
138
|
}
|
|
138
|
-
function
|
|
139
|
-
const
|
|
140
|
-
const flagsActivated = DEBUG.match(flagRegex) ?? [];
|
|
139
|
+
function assertFlagsActivated() {
|
|
140
|
+
const flagsActivated = getFlagsActivated();
|
|
141
141
|
flagsActivated.forEach((flag) => {
|
|
142
142
|
assertUsage(flags.includes(flag), `Unknown DEBUG flag ${pc.cyan(flag)}. Valid flags:\n${flags.map((f) => ` ${pc.cyan(f)}`).join('\n')}`);
|
|
143
143
|
});
|
|
144
144
|
}
|
|
145
|
+
function getFlagsActivated() {
|
|
146
|
+
const DEBUG = getDEBUG() ?? '';
|
|
147
|
+
const flagsActivated = DEBUG.match(flagRegex) ?? [];
|
|
148
|
+
return flagsActivated;
|
|
149
|
+
}
|
|
145
150
|
function getDEBUG() {
|
|
146
151
|
let DEBUG;
|
|
147
152
|
// - `process` can be undefined in edge workers
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
export { getGlobalObject };
|
|
2
2
|
export { assertIsSingleModuleInstance };
|
|
3
3
|
import { assert } from './assert.js';
|
|
4
|
-
import { projectInfo } from './projectInfo.js';
|
|
5
|
-
const projectKey = `_${projectInfo.projectName.toLowerCase()}`;
|
|
6
4
|
/** Share information across module instances. */
|
|
7
5
|
function getGlobalObject(
|
|
8
6
|
// We use the filename (or file path) as key. There should be only one getGlobalObject() usage per file. Thus the key should be unique, assuming the filename (or file path) is unique.
|
|
@@ -19,6 +17,7 @@ key) {
|
|
|
19
17
|
assert(!(key in globalObjects));
|
|
20
18
|
}
|
|
21
19
|
function getGlobalObjects() {
|
|
20
|
+
const projectKey = '_vike';
|
|
22
21
|
// @ts-ignore
|
|
23
22
|
const globalObjects = (globalThis[projectKey] = globalThis[projectKey] || {});
|
|
24
23
|
return globalObjects;
|
package/dist/esm/utils/isDev.js
CHANGED
|
@@ -5,6 +5,8 @@ import { assert } from './assert.js';
|
|
|
5
5
|
function isDevCheck(configEnv) {
|
|
6
6
|
const { isPreview, command } = configEnv;
|
|
7
7
|
// Released at vite@5.1.0 which is guaranteed with `assertVersion('Vite', version, '5.1.0')`
|
|
8
|
+
// - Release: https://github.com/vitejs/vite/blob/6f7466e6211027686f40ad7e4ce6ec8477414546/packages/vite/CHANGELOG.md#510-beta4-2024-01-26:~:text=fix(preview)%3A-,set%20isPreview%20true,-(%2315695)%20(93fce55
|
|
9
|
+
// - Surprisingly, this assert() can fail: https://github.com/vikejs/vike/issues/2120
|
|
8
10
|
assert(typeof isPreview === 'boolean');
|
|
9
11
|
return command === 'serve' && !isPreview;
|
|
10
12
|
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { makePublicCopy };
|
|
2
|
+
/** Prefix internal properties with `_` + show warning */
|
|
3
|
+
declare function makePublicCopy<Obj extends Record<string, unknown>, PropsPublic extends readonly (keyof Obj)[]>(obj: Obj, objName: string, propsPublic: PropsPublic, propsInternalNoWarning?: (keyof Obj)[]): Pick<Obj, PropsPublic[number]>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export { makePublicCopy };
|
|
2
|
+
import { assertWarning } from './assert.js';
|
|
3
|
+
import { objectKeys } from './objectKeys.js';
|
|
4
|
+
/** Prefix internal properties with `_` + show warning */
|
|
5
|
+
function makePublicCopy(obj, objName, propsPublic, propsInternalNoWarning) {
|
|
6
|
+
const objPublic = {};
|
|
7
|
+
objectKeys(obj).forEach((key) => {
|
|
8
|
+
const val = obj[key];
|
|
9
|
+
if (propsPublic.includes(key)) {
|
|
10
|
+
objPublic[key] = val;
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
const keyPublic = key.startsWith('_') ? key : `_${key}`;
|
|
14
|
+
if (propsInternalNoWarning?.includes(key)) {
|
|
15
|
+
// @ts-expect-error
|
|
16
|
+
objPublic[keyPublic] = val;
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
Object.defineProperty(objPublic, keyPublic, {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get() {
|
|
22
|
+
assertWarning(false, `Using internal ${objName}.${keyPublic} which may break in any minor version update. Reach out on GitHub and elaborate your use case so that the Vike team can add official support for your use case.`, { onlyOnce: true });
|
|
23
|
+
return val;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
return objPublic;
|
|
30
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function objectReplace(obj: object, objNew: object, except?: string[]): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vike",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.220-commit-a9f46b8",
|
|
4
4
|
"repository": "https://github.com/vikejs/vike",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./server": {
|
|
@@ -108,14 +108,6 @@
|
|
|
108
108
|
"types": "./dist/esm/node/runtime/page-files/setup.d.ts",
|
|
109
109
|
"default": "./dist/esm/node/runtime/page-files/setup.js"
|
|
110
110
|
},
|
|
111
|
-
"./__internal/loadImportBuild": {
|
|
112
|
-
"worker": "./dist/esm/node/runtime/globalContext/loadImportBuild.js",
|
|
113
|
-
"edge-light": "./dist/esm/node/runtime/globalContext/loadImportBuild.js",
|
|
114
|
-
"require": "./dist/cjs/node/runtime/globalContext/loadImportBuild.js",
|
|
115
|
-
"node": "./dist/esm/node/runtime/globalContext/loadImportBuild.js",
|
|
116
|
-
"types": "./dist/esm/node/runtime/globalContext/loadImportBuild.d.ts",
|
|
117
|
-
"default": "./dist/esm/node/runtime/globalContext/loadImportBuild.js"
|
|
118
|
-
},
|
|
119
111
|
".": {
|
|
120
112
|
"worker": "./dist/esm/node/runtime/index-deprecated.js",
|
|
121
113
|
"edge-light": "./dist/esm/node/runtime/index-deprecated.js",
|
|
@@ -131,7 +123,7 @@
|
|
|
131
123
|
"@brillout/json-serializer": "^0.5.15",
|
|
132
124
|
"@brillout/picocolors": "^1.0.15",
|
|
133
125
|
"@brillout/require-shim": "^0.1.2",
|
|
134
|
-
"@brillout/vite-plugin-server-entry": "^0.5.
|
|
126
|
+
"@brillout/vite-plugin-server-entry": "^0.5.8",
|
|
135
127
|
"acorn": "^8.0.0",
|
|
136
128
|
"cac": "^6.0.0",
|
|
137
129
|
"es-module-lexer": "^1.0.0",
|
|
@@ -236,7 +228,6 @@
|
|
|
236
228
|
"./dist-cjs-fixup.mjs",
|
|
237
229
|
"./getPageContext.js",
|
|
238
230
|
"./__internal.js",
|
|
239
|
-
"./__internal/loadImportBuild.js",
|
|
240
231
|
"./__internal/setup.js",
|
|
241
232
|
"./modifyUrl.js",
|
|
242
233
|
"./plugin.js",
|
|
@@ -255,9 +246,9 @@
|
|
|
255
246
|
"@types/resolve": "^1.20.6",
|
|
256
247
|
"@types/semver": "^7.5.8",
|
|
257
248
|
"@types/source-map-support": "^0.5.10",
|
|
258
|
-
"react-streaming": "^0.3.
|
|
249
|
+
"react-streaming": "^0.3.47",
|
|
259
250
|
"rimraf": "^5.0.5",
|
|
260
|
-
"typescript": "^5.
|
|
251
|
+
"typescript": "^5.7.3",
|
|
261
252
|
"vite": "^6.0.5"
|
|
262
253
|
},
|
|
263
254
|
"scripts": {
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.resolveVikeConfigGlobal = resolveVikeConfigGlobal;
|
|
7
|
-
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
8
|
-
const utils_js_1 = require("../../../../utils.js");
|
|
9
|
-
function resolveVikeConfigGlobal(vikeVitePluginOptions, pageConfigGlobalValues) {
|
|
10
|
-
// TODO/v1-release: remove
|
|
11
|
-
assertVikeConfigGlobal(vikeVitePluginOptions, ({ prop, errMsg }) => `vite.config.js > vike option ${prop} ${errMsg}`);
|
|
12
|
-
const configs = [vikeVitePluginOptions];
|
|
13
|
-
assertVikeConfigGlobal(pageConfigGlobalValues, ({ prop, errMsg }) => {
|
|
14
|
-
// Can we add the config file path ?
|
|
15
|
-
return `config ${picocolors_1.default.cyan(prop)} ${errMsg}`;
|
|
16
|
-
});
|
|
17
|
-
configs.push(pageConfigGlobalValues);
|
|
18
|
-
const vikeConfigGlobal = {
|
|
19
|
-
disableAutoFullBuild: pickFirst(configs.map((c) => c.disableAutoFullBuild)) ?? null,
|
|
20
|
-
prerender: resolvePrerenderOptions(configs),
|
|
21
|
-
includeAssetsImportedByServer: pickFirst(configs.map((c) => c.includeAssetsImportedByServer)) ?? true,
|
|
22
|
-
baseServer: pickFirst(configs.map((c) => c.baseServer)) ?? null,
|
|
23
|
-
baseAssets: pickFirst(configs.map((c) => c.baseAssets)) ?? null,
|
|
24
|
-
redirects: merge(configs.map((c) => c.redirects)) ?? {},
|
|
25
|
-
disableUrlNormalization: pickFirst(configs.map((c) => c.disableUrlNormalization)) ?? false,
|
|
26
|
-
trailingSlash: pickFirst(configs.map((c) => c.trailingSlash)) ?? false,
|
|
27
|
-
crawl: {
|
|
28
|
-
git: vikeVitePluginOptions.crawl?.git ?? null
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
return vikeConfigGlobal;
|
|
32
|
-
}
|
|
33
|
-
function resolvePrerenderOptions(configs) {
|
|
34
|
-
if (!configs.some((c) => c.prerender)) {
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
const configsPrerender = configs.map((c) => c.prerender).filter(isObject2);
|
|
38
|
-
return {
|
|
39
|
-
partial: pickFirst(configsPrerender.map((c) => c.partial)) ?? false,
|
|
40
|
-
noExtraDir: pickFirst(configsPrerender.map((c) => c.noExtraDir)) ?? false,
|
|
41
|
-
parallel: pickFirst(configsPrerender.map((c) => c.parallel)) ?? true,
|
|
42
|
-
disableAutoRun: pickFirst(configsPrerender.map((c) => c.disableAutoRun)) ?? false
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
function isObject2(p) {
|
|
46
|
-
return typeof p === 'object';
|
|
47
|
-
}
|
|
48
|
-
function merge(objs) {
|
|
49
|
-
const obj = {};
|
|
50
|
-
objs.forEach((e) => {
|
|
51
|
-
Object.assign(obj, e);
|
|
52
|
-
});
|
|
53
|
-
return obj;
|
|
54
|
-
}
|
|
55
|
-
function pickFirst(arr) {
|
|
56
|
-
return arr.filter((v) => v !== undefined)[0];
|
|
57
|
-
}
|
|
58
|
-
function assertVikeConfigGlobal(vikeConfigGlobal, wrongUsageMsg) {
|
|
59
|
-
const wrongUsageError = check(vikeConfigGlobal);
|
|
60
|
-
if (wrongUsageError) {
|
|
61
|
-
(0, utils_js_1.assertUsage)(false, wrongUsageMsg(wrongUsageError));
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
function check(vikeConfigGlobal) {
|
|
65
|
-
(0, utils_js_1.assert)((0, utils_js_1.isObject)(vikeConfigGlobal));
|
|
66
|
-
{
|
|
67
|
-
const prop = 'disableUrlNormalization';
|
|
68
|
-
if (!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'boolean') && !(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'undefined'))
|
|
69
|
-
return { prop, errMsg: 'should be a boolean' };
|
|
70
|
-
}
|
|
71
|
-
{
|
|
72
|
-
const prop = 'trailingSlash';
|
|
73
|
-
if (!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'boolean') && !(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'undefined'))
|
|
74
|
-
return { prop, errMsg: 'should be a boolean' };
|
|
75
|
-
}
|
|
76
|
-
{
|
|
77
|
-
const prop = 'redirects';
|
|
78
|
-
const { redirects } = vikeConfigGlobal;
|
|
79
|
-
if (!(redirects === undefined ||
|
|
80
|
-
((0, utils_js_1.isObject)(redirects) && Object.values(redirects).every((v) => typeof v === 'string'))))
|
|
81
|
-
return { prop, errMsg: 'should be an object of strings' };
|
|
82
|
-
}
|
|
83
|
-
{
|
|
84
|
-
const prop = 'disableAutoFullBuild';
|
|
85
|
-
if (!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'boolean') &&
|
|
86
|
-
!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'undefined') &&
|
|
87
|
-
!(vikeConfigGlobal[prop] === 'prerender'))
|
|
88
|
-
return { prop, errMsg: "should be a boolean or 'prerender'" };
|
|
89
|
-
}
|
|
90
|
-
{
|
|
91
|
-
const prop = 'includeAssetsImportedByServer';
|
|
92
|
-
if (!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'boolean') && !(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'undefined'))
|
|
93
|
-
return { prop, errMsg: 'should be a boolean' };
|
|
94
|
-
}
|
|
95
|
-
{
|
|
96
|
-
const prop = 'prerender';
|
|
97
|
-
if (!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'object') &&
|
|
98
|
-
!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'boolean') &&
|
|
99
|
-
!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'undefined'))
|
|
100
|
-
return { prop, errMsg: 'should be an object or a boolean' };
|
|
101
|
-
}
|
|
102
|
-
const configVikePrerender = vikeConfigGlobal.prerender;
|
|
103
|
-
if (typeof configVikePrerender === 'object') {
|
|
104
|
-
{
|
|
105
|
-
const p = 'partial';
|
|
106
|
-
if (!(0, utils_js_1.hasProp)(configVikePrerender, p, 'boolean') && !(0, utils_js_1.hasProp)(configVikePrerender, p, 'undefined'))
|
|
107
|
-
return { prop: `prerender.${p}`, errMsg: 'should be a boolean' };
|
|
108
|
-
}
|
|
109
|
-
{
|
|
110
|
-
const p = 'noExtraDir';
|
|
111
|
-
if (!(0, utils_js_1.hasProp)(configVikePrerender, p, 'boolean') && !(0, utils_js_1.hasProp)(configVikePrerender, p, 'undefined'))
|
|
112
|
-
return { prop: `prerender.${p}`, errMsg: 'should be a boolean' };
|
|
113
|
-
}
|
|
114
|
-
{
|
|
115
|
-
const p = 'disableAutoRun';
|
|
116
|
-
if (!(0, utils_js_1.hasProp)(configVikePrerender, p, 'boolean') && !(0, utils_js_1.hasProp)(configVikePrerender, p, 'undefined'))
|
|
117
|
-
return { prop: `prerender.${p}`, errMsg: 'should be a boolean' };
|
|
118
|
-
}
|
|
119
|
-
{
|
|
120
|
-
const p = 'parallel';
|
|
121
|
-
if (!(0, utils_js_1.hasProp)(configVikePrerender, p, 'boolean') &&
|
|
122
|
-
!(0, utils_js_1.hasProp)(configVikePrerender, p, 'number') &&
|
|
123
|
-
!(0, utils_js_1.hasProp)(configVikePrerender, p, 'undefined'))
|
|
124
|
-
return { prop: `prerender.${p}`, errMsg: 'should be a boolean or a number' };
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
return null;
|
|
128
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.loadImportBuild = loadImportBuild;
|
|
4
|
-
exports.setImportBuildGetters = setImportBuildGetters;
|
|
5
|
-
const runtime_1 = require("@brillout/vite-plugin-server-entry/runtime");
|
|
6
|
-
const utils_js_1 = require("../utils.js");
|
|
7
|
-
const buildGetters = (globalThis.__vike_buildGetters = globalThis.__vike_buildGetters || {
|
|
8
|
-
getters: null
|
|
9
|
-
});
|
|
10
|
-
function setImportBuildGetters(getters) {
|
|
11
|
-
buildGetters.getters = getters;
|
|
12
|
-
}
|
|
13
|
-
async function loadImportBuild(outDir) {
|
|
14
|
-
if (!buildGetters.getters) {
|
|
15
|
-
await (0, runtime_1.importServerProductionEntry)({ outDir });
|
|
16
|
-
(0, utils_js_1.assert)(buildGetters.getters);
|
|
17
|
-
}
|
|
18
|
-
const [pageFiles, assetsManifest, pluginManifest] = await Promise.all([
|
|
19
|
-
buildGetters.getters.pageFiles(),
|
|
20
|
-
buildGetters.getters.getAssetsManifest(),
|
|
21
|
-
buildGetters.getters.pluginManifest()
|
|
22
|
-
]);
|
|
23
|
-
const buildEntries = { pageFiles, assetsManifest, pluginManifest };
|
|
24
|
-
return buildEntries;
|
|
25
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getPageFilesExports = getPageFilesExports;
|
|
4
|
-
const utils_js_1 = require("../utils.js");
|
|
5
|
-
const globalContext_js_1 = require("../globalContext.js");
|
|
6
|
-
const virtualFileImportUserCode_js_1 = require("../../shared/virtual-files/virtualFileImportUserCode.js");
|
|
7
|
-
async function getPageFilesExports() {
|
|
8
|
-
const viteDevServer = (0, globalContext_js_1.getViteDevServer)();
|
|
9
|
-
(0, utils_js_1.assert)(viteDevServer);
|
|
10
|
-
let moduleExports;
|
|
11
|
-
try {
|
|
12
|
-
moduleExports = await viteDevServer.ssrLoadModule(virtualFileImportUserCode_js_1.virtualFileIdImportUserCodeServer);
|
|
13
|
-
}
|
|
14
|
-
catch (err) {
|
|
15
|
-
(0, utils_js_1.debugGlob)(`Glob error: ${virtualFileImportUserCode_js_1.virtualFileIdImportUserCodeServer} transpile error: `, err);
|
|
16
|
-
throw err;
|
|
17
|
-
}
|
|
18
|
-
moduleExports = moduleExports.default || moduleExports;
|
|
19
|
-
(0, utils_js_1.debugGlob)('Glob result: ', moduleExports);
|
|
20
|
-
(0, utils_js_1.assert)((0, utils_js_1.isObject)(moduleExports));
|
|
21
|
-
return moduleExports;
|
|
22
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|