vike 0.4.218 → 0.4.220
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 +20 -11
- package/dist/cjs/node/api/context.js +5 -1
- package/dist/cjs/node/api/index.js +17 -7
- package/dist/cjs/node/api/prepareViteApiCall.js +39 -11
- package/dist/cjs/node/cli/entry.js +19 -7
- package/dist/cjs/node/plugin/index.js +5 -5
- package/dist/cjs/node/plugin/plugins/autoFullBuild.js +3 -4
- 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 +39 -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 +4 -3
- 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/isPrerenderAutoRunEnabled.js +16 -0
- package/dist/cjs/node/prerender/runPrerender.js +94 -66
- package/dist/cjs/node/prerender/utils.js +1 -0
- package/dist/cjs/node/runtime/globalContext.js +108 -34
- 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 +1 -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/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/debug.js +11 -6
- package/dist/cjs/utils/getGlobalObject.js +1 -2
- 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/initOnLinkClick.d.ts +4 -0
- package/dist/esm/client/client-routing-runtime/initOnLinkClick.js +13 -3
- package/dist/esm/client/client-routing-runtime/initOnPopState.js +8 -0
- 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/skipLink.d.ts +2 -0
- package/dist/esm/client/client-routing-runtime/skipLink.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.js +3 -4
- package/dist/esm/node/api/context.d.ts +3 -1
- package/dist/esm/node/api/context.js +6 -2
- package/dist/esm/node/api/prepareViteApiCall.d.ts +1 -1
- package/dist/esm/node/api/prepareViteApiCall.js +25 -7
- package/dist/esm/node/cli/entry.js +2 -0
- package/dist/esm/node/cli/parseCli.d.ts +1 -1
- 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 +3 -4
- 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 +3 -0
- package/dist/esm/node/plugin/plugins/commonConfig.js +40 -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 +4 -3
- 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/isPrerenderAutoRunEnabled.d.ts +5 -0
- package/dist/esm/node/prerender/isPrerenderAutoRunEnabled.js +14 -0
- package/dist/esm/node/prerender/runPrerender.d.ts +1 -2
- package/dist/esm/node/prerender/runPrerender.js +78 -60
- package/dist/esm/node/prerender/utils.d.ts +1 -0
- package/dist/esm/node/prerender/utils.js +1 -0
- package/dist/esm/node/runtime/globalContext.d.ts +23 -7
- package/dist/esm/node/runtime/globalContext.js +108 -34
- 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 +1 -0
- package/dist/esm/node/runtime/utils.js +1 -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 +7 -3
- 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/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/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/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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { assertRuntimeManifest };
|
|
2
|
-
import { assert,
|
|
2
|
+
import { assert, checkType, hasProp, isBaseAssets, isBaseServer, isObject } from './utils.js';
|
|
3
3
|
function assertRuntimeManifest(obj) {
|
|
4
4
|
assert(obj);
|
|
5
5
|
assert(isObject(obj));
|
|
@@ -8,8 +8,6 @@ function assertRuntimeManifest(obj) {
|
|
|
8
8
|
assert(isBaseServer(obj.baseServer));
|
|
9
9
|
assert(isBaseAssets(obj.baseAssets));
|
|
10
10
|
assert(hasProp(obj, 'includeAssetsImportedByServer', 'boolean'));
|
|
11
|
-
assert(hasProp(obj, 'redirects', 'object'));
|
|
12
|
-
castType(obj);
|
|
13
11
|
assert(hasProp(obj, 'trailingSlash', 'boolean'));
|
|
14
12
|
assert(hasProp(obj, 'disableUrlNormalization', 'boolean'));
|
|
15
13
|
checkType(obj);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { analyzeClientSide };
|
|
2
|
-
import { getConfigValueRuntime } from '../page-configs/
|
|
2
|
+
import { getConfigValueRuntime } from '../page-configs/getConfigValueRuntime.js';
|
|
3
3
|
import { analyzePageClientSide } from './analyzePageClientSide.js';
|
|
4
4
|
function analyzeClientSide(pageConfig, pageFilesAll, pageId) {
|
|
5
5
|
// V1 design
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
export { getPageFilesAll };
|
|
1
2
|
export { setPageFiles };
|
|
2
3
|
export { setPageFilesAsync };
|
|
3
|
-
export { getPageFilesAll };
|
|
4
4
|
import type { PageFile } from './getPageFileObject.js';
|
|
5
5
|
import type { PageConfigRuntime, PageConfigGlobalRuntime } from '../page-configs/PageConfig.js';
|
|
6
|
+
import { type ConfigUserFriendly } from '../page-configs/getPageConfigUserFriendly.js';
|
|
6
7
|
declare function setPageFiles(pageFilesExports: unknown): void;
|
|
7
8
|
declare function setPageFilesAsync(getPageFilesExports: () => Promise<unknown>): void;
|
|
8
9
|
declare function getPageFilesAll(isClientSide: boolean, isProduction?: boolean): Promise<{
|
|
@@ -10,4 +11,5 @@ declare function getPageFilesAll(isClientSide: boolean, isProduction?: boolean):
|
|
|
10
11
|
allPageIds: string[];
|
|
11
12
|
pageConfigs: PageConfigRuntime[];
|
|
12
13
|
pageConfigGlobal: PageConfigGlobalRuntime;
|
|
14
|
+
globalConfig: ConfigUserFriendly;
|
|
13
15
|
}>;
|
|
@@ -1,16 +1,18 @@
|
|
|
1
|
+
export { getPageFilesAll };
|
|
1
2
|
export { setPageFiles };
|
|
2
3
|
export { setPageFilesAsync };
|
|
3
|
-
export { getPageFilesAll };
|
|
4
4
|
import { assert, unique } from '../utils.js';
|
|
5
5
|
import { parseGlobResults } from './parseGlobResults.js';
|
|
6
6
|
import { getGlobalObject } from '../../utils/getGlobalObject.js';
|
|
7
|
+
import { getPageConfigUserFriendlyNew } from '../page-configs/getPageConfigUserFriendly.js';
|
|
7
8
|
const globalObject = getGlobalObject('setPageFiles.ts', {});
|
|
8
|
-
// TODO:v1-design-release: rename setPageFiles() getPageFilesAll() parseGlobResult()
|
|
9
9
|
function setPageFiles(pageFilesExports) {
|
|
10
10
|
const { pageFiles, pageConfigs, pageConfigGlobal } = parseGlobResults(pageFilesExports);
|
|
11
11
|
globalObject.pageFilesAll = pageFiles;
|
|
12
12
|
globalObject.pageConfigs = pageConfigs;
|
|
13
13
|
globalObject.pageConfigGlobal = pageConfigGlobal;
|
|
14
|
+
// TODO/now: re-use this call, instead of calling it twice
|
|
15
|
+
globalObject.globalConfig = getPageConfigUserFriendlyNew(pageConfigGlobal);
|
|
14
16
|
}
|
|
15
17
|
function setPageFilesAsync(getPageFilesExports) {
|
|
16
18
|
globalObject.pageFilesGetter = async () => {
|
|
@@ -23,18 +25,18 @@ async function getPageFilesAll(isClientSide, isProduction) {
|
|
|
23
25
|
assert(isProduction === undefined);
|
|
24
26
|
}
|
|
25
27
|
else {
|
|
26
|
-
assert(globalObject.pageFilesGetter);
|
|
27
28
|
assert(typeof isProduction === 'boolean');
|
|
28
29
|
if (!globalObject.pageFilesAll ||
|
|
29
30
|
// We reload all glob imports in dev to make auto-reload work
|
|
30
31
|
!isProduction) {
|
|
32
|
+
assert(globalObject.pageFilesGetter);
|
|
31
33
|
await globalObject.pageFilesGetter();
|
|
32
34
|
}
|
|
33
35
|
}
|
|
34
|
-
const { pageFilesAll, pageConfigs, pageConfigGlobal } = globalObject;
|
|
35
|
-
assert(pageFilesAll && pageConfigs && pageConfigGlobal);
|
|
36
|
+
const { pageFilesAll, pageConfigs, pageConfigGlobal, globalConfig } = globalObject;
|
|
37
|
+
assert(pageFilesAll && pageConfigs && pageConfigGlobal && globalConfig);
|
|
36
38
|
const allPageIds = getAllPageIds(pageFilesAll, pageConfigs);
|
|
37
|
-
return { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal };
|
|
39
|
+
return { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal, globalConfig };
|
|
38
40
|
}
|
|
39
41
|
function getAllPageIds(allPageFiles, pageConfigs) {
|
|
40
42
|
const fileIds = allPageFiles.filter(({ isDefaultPageFile }) => !isDefaultPageFile).map(({ pageId }) => pageId);
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
export type { PageFile } from './getPageFiles/getPageFileObject.js';
|
|
2
|
-
export type { ExportsAll,
|
|
3
|
-
export { getPageFilesAll } from './getPageFiles/setPageFiles.js';
|
|
4
|
-
export { setPageFiles } from './getPageFiles/setPageFiles.js';
|
|
5
|
-
export { setPageFilesAsync } from './getPageFiles/setPageFiles.js';
|
|
2
|
+
export type { ExportsAll, PageConfigUserFriendly } from './page-configs/getPageConfigUserFriendly.js';
|
|
6
3
|
export { getPageFilesClientSide } from './getPageFiles/getAllPageIdFiles.js';
|
|
7
4
|
export { getPageFilesServerSide } from './getPageFiles/getAllPageIdFiles.js';
|
|
8
|
-
export {
|
|
5
|
+
export { getPageConfigUserFriendly } from './page-configs/getPageConfigUserFriendly.js';
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
export { getPageFilesAll } from './getPageFiles/setPageFiles.js';
|
|
2
|
-
export { setPageFiles } from './getPageFiles/setPageFiles.js';
|
|
3
|
-
export { setPageFilesAsync } from './getPageFiles/setPageFiles.js';
|
|
4
1
|
export { getPageFilesClientSide } from './getPageFiles/getAllPageIdFiles.js';
|
|
5
2
|
export { getPageFilesServerSide } from './getPageFiles/getAllPageIdFiles.js';
|
|
6
|
-
export {
|
|
3
|
+
export { getPageConfigUserFriendly } from './page-configs/getPageConfigUserFriendly.js';
|
|
@@ -9,7 +9,7 @@ export type { HookLoc };
|
|
|
9
9
|
export type { HookTimeout };
|
|
10
10
|
export type { HooksTimeoutProvidedByUser };
|
|
11
11
|
export { getHookTimeoutDefault };
|
|
12
|
-
import type {
|
|
12
|
+
import type { PageConfigUserFriendly } from '../getPageFiles.js';
|
|
13
13
|
import type { HookName, HookNamePage, HookNameGlobal } from '../page-configs/Config.js';
|
|
14
14
|
import type { PageConfigGlobalRuntime, PageConfigRuntime } from '../page-configs/PageConfig.js';
|
|
15
15
|
type Hook = HookLoc & {
|
|
@@ -26,10 +26,10 @@ type HookTimeout = {
|
|
|
26
26
|
warning: number | false;
|
|
27
27
|
};
|
|
28
28
|
type HooksTimeoutProvidedByUser = false | Partial<Record<HookName, false | Partial<HookTimeout>>>;
|
|
29
|
-
declare function getHook(pageContext:
|
|
29
|
+
declare function getHook(pageContext: PageConfigUserFriendly, hookName: HookName): null | Hook;
|
|
30
30
|
declare function getHookFromPageConfig(pageConfig: PageConfigRuntime, hookName: HookNamePage): null | Hook;
|
|
31
31
|
declare function getHookFromPageConfigGlobal(pageConfigGlobal: PageConfigGlobalRuntime, hookName: HookNameGlobal): null | Hook;
|
|
32
|
-
declare function assertHook<TPageContext extends
|
|
32
|
+
declare function assertHook<TPageContext extends PageConfigUserFriendly, THookName extends PropertyKey & HookName>(pageContext: TPageContext, hookName: THookName): asserts pageContext is TPageContext & {
|
|
33
33
|
exports: Record<THookName, Function | undefined>;
|
|
34
34
|
};
|
|
35
35
|
declare function getHookTimeoutDefault(hookName: HookName): HookTimeout;
|
|
@@ -8,7 +8,7 @@ export { getHook_setIsPrerenderering };
|
|
|
8
8
|
export { getHookTimeoutDefault };
|
|
9
9
|
import { getGlobalObject } from '../../utils/getGlobalObject.js';
|
|
10
10
|
import { getHookFilePathToShowToUser } from '../page-configs/helpers.js';
|
|
11
|
-
import { getConfigValueRuntime } from '../page-configs/
|
|
11
|
+
import { getConfigValueRuntime } from '../page-configs/getConfigValueRuntime.js';
|
|
12
12
|
import { assert, assertUsage, checkType, isCallable, isObject } from '../utils.js';
|
|
13
13
|
import pc from '@brillout/picocolors';
|
|
14
14
|
const globalObject = getGlobalObject('getHook.ts', {});
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
export type { PageContextConfig };
|
|
2
|
+
export type { ConfigResolved };
|
|
2
3
|
import type { VikePackages } from '../../VikeNamespace.js';
|
|
3
|
-
import type { ConfigBuiltIn, ImportString } from '../Config.js';
|
|
4
|
+
import type { ConfigBuiltIn, ConfigBuiltInResolved, ImportString } from '../Config.js';
|
|
4
5
|
import type { Combine, IsNotEmpty, XOR5 } from './helpers.js';
|
|
5
|
-
type
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
type
|
|
6
|
+
type PageContextConfig = ConfigResolved & (ConfigVikePackagesNotEmptyXor extends true ? ConfigVikePackagesIntersection : ConfigVikePackagesCombined);
|
|
7
|
+
type ConfigUnresolved = WithoutImportString<ConfigBuiltIn & Vike.Config>;
|
|
8
|
+
type ConfigResolvedOnly = ConfigBuiltInResolved & Vike.ConfigResolved;
|
|
9
|
+
type ConfigResolved = ConfigResolvedOnly & Omit<ConfigUnresolved, keyof ConfigResolvedOnly>;
|
|
9
10
|
type ConfigVikePackagesIntersection = VikePackages.ConfigVikeReact & VikePackages.ConfigVikeVue & VikePackages.ConfigVikeSolid & VikePackages.ConfigVikeSvelte & VikePackages.ConfigVikeAngular;
|
|
10
11
|
type ConfigVikePackagesCombined = Combine<VikePackages.ConfigVikeReact, Combine<VikePackages.ConfigVikeVue, Combine<VikePackages.ConfigVikeSolid, Combine<VikePackages.ConfigVikeSvelte, VikePackages.ConfigVikeAngular>>>>;
|
|
11
12
|
type ConfigVikePackagesNotEmptyXor = XOR5<IsNotEmpty<VikePackages.ConfigVikeReact>, IsNotEmpty<VikePackages.ConfigVikeVue>, IsNotEmpty<VikePackages.ConfigVikeSolid>, IsNotEmpty<VikePackages.ConfigVikeSvelte>, IsNotEmpty<VikePackages.ConfigVikeAngular>>;
|
|
13
|
+
type WithoutImportString<T> = {
|
|
14
|
+
[K in keyof T]: Exclude<T[K], ImportString>;
|
|
15
|
+
};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export type { Config };
|
|
2
2
|
export type { ConfigBuiltIn };
|
|
3
|
+
export type { ConfigBuiltInResolved };
|
|
3
4
|
export type { ConfigNameBuiltIn };
|
|
5
|
+
export type { ConfigNameGlobal };
|
|
4
6
|
export type { ConfigMeta };
|
|
5
7
|
export type { HookName };
|
|
6
8
|
export type { HookNamePage };
|
|
@@ -35,15 +37,17 @@ import type { PrefetchSetting, PrefetchStaticAssets } from '../../client/client-
|
|
|
35
37
|
import type { ConfigDefinition } from '../../node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js';
|
|
36
38
|
import type { DocumentHtml } from '../../node/runtime/html/renderHtml.js';
|
|
37
39
|
import type { InjectFilterEntry } from '../../types/index.js';
|
|
38
|
-
import type { VikeVitePluginOptions } from '../../node/plugin/plugins/importUserCode/v1-design/getVikeConfig
|
|
40
|
+
import type { VikeVitePluginOptions } from '../../node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js';
|
|
39
41
|
import type { Vike, VikePackages } from '../VikeNamespace.js';
|
|
40
42
|
import type { HooksTimeoutProvidedByUser } from '../hooks/getHook.js';
|
|
41
43
|
import type { PageContextClient, PageContextServer } from '../types.js';
|
|
44
|
+
import type { InlineConfig } from 'vite';
|
|
42
45
|
type HookName = HookNamePage | HookNameGlobal | HookNameOldDesign;
|
|
43
46
|
type HookNamePage = 'onHydrationEnd' | 'onBeforePrerenderStart' | 'onBeforeRender' | 'onPageTransitionStart' | 'onPageTransitionEnd' | 'onRenderHtml' | 'onRenderClient' | 'guard' | 'data';
|
|
44
47
|
type HookNameGlobal = 'onBeforePrerender' | 'onBeforeRoute' | 'onPrerenderStart';
|
|
45
48
|
type HookNameOldDesign = 'render' | 'prerender';
|
|
46
|
-
type ConfigNameBuiltIn = Exclude<keyof Config, keyof VikeVitePluginOptions | 'onBeforeRoute' | 'onPrerenderStart'> | 'prerender' | 'isClientRuntimeLoaded' | 'onBeforeRenderEnv' | 'dataEnv' | 'hooksTimeout' | 'clientHooks' | 'middleware';
|
|
49
|
+
type ConfigNameBuiltIn = Exclude<keyof Config, keyof VikeVitePluginOptions | 'onBeforeRoute' | 'onPrerenderStart' | 'vite' | 'redirects'> | 'prerender' | 'isClientRuntimeLoaded' | 'onBeforeRenderEnv' | 'dataEnv' | 'hooksTimeout' | 'clientHooks' | 'middleware';
|
|
50
|
+
type ConfigNameGlobal = 'onPrerenderStart' | 'onBeforeRoute' | 'prerender' | 'disableAutoFullBuild' | 'includeAssetsImportedByServer' | 'baseAssets' | 'baseServer' | 'redirects' | 'trailingSlash' | 'disableUrlNormalization' | 'vite';
|
|
47
51
|
type Config = ConfigBuiltIn & Vike.Config & (VikePackages.ConfigVikeReact | VikePackages.ConfigVikeVue | VikePackages.ConfigVikeSolid | VikePackages.ConfigVikeSvelte | VikePackages.ConfigVikeAngular);
|
|
48
52
|
/** Hook for fetching data.
|
|
49
53
|
*
|
|
@@ -344,6 +348,16 @@ type ConfigBuiltIn = {
|
|
|
344
348
|
* https://vike.dev/meta
|
|
345
349
|
*/
|
|
346
350
|
meta?: ConfigMeta | ImportString;
|
|
351
|
+
/** Vite configuration.
|
|
352
|
+
*
|
|
353
|
+
* https://vite.dev/config/
|
|
354
|
+
*/
|
|
355
|
+
vite?: InlineConfig;
|
|
356
|
+
/** Permanent redirections (HTTP status code 301)
|
|
357
|
+
*
|
|
358
|
+
* https://vike.dev/redirects
|
|
359
|
+
*/
|
|
360
|
+
redirects?: Record<string, string>;
|
|
347
361
|
/**
|
|
348
362
|
* @experimental DON'T USE: the API *will* have breaking changes upon any minor version release.
|
|
349
363
|
*
|
|
@@ -390,5 +404,9 @@ type ConfigBuiltIn = {
|
|
|
390
404
|
*/
|
|
391
405
|
keepScrollPosition?: KeepScrollPosition;
|
|
392
406
|
};
|
|
407
|
+
type ConfigBuiltInResolved = {
|
|
408
|
+
passToClient?: string[][];
|
|
409
|
+
redirects?: Record<string, string>[];
|
|
410
|
+
};
|
|
393
411
|
type ConfigMeta = Record<string, ConfigDefinition>;
|
|
394
412
|
type ImportString = `import:${string}`;
|
|
@@ -54,6 +54,7 @@ type PageConfigGlobalRuntime = {
|
|
|
54
54
|
type PageConfigGlobalBuildTime = {
|
|
55
55
|
configValueSources: ConfigValueSources;
|
|
56
56
|
configDefinitions: ConfigDefinitions;
|
|
57
|
+
configValuesComputed?: undefined;
|
|
57
58
|
};
|
|
58
59
|
/** In what environment(s) the config value is loaded.
|
|
59
60
|
*
|
|
@@ -70,6 +71,8 @@ type ConfigEnvInternal = Omit<ConfigEnv, 'client'> & {
|
|
|
70
71
|
/** Load value only in production, or only in development. */
|
|
71
72
|
production?: boolean;
|
|
72
73
|
};
|
|
74
|
+
type ConfigValueSources = Record<string, // configName
|
|
75
|
+
ConfigValueSource[]>;
|
|
73
76
|
type ConfigValueSource = {
|
|
74
77
|
value?: unknown;
|
|
75
78
|
configEnv: ConfigEnvInternal;
|
|
@@ -85,11 +88,13 @@ type ConfigValueSource = {
|
|
|
85
88
|
type DefinedAtFilePath = DefinedAtFile & FilePath & {
|
|
86
89
|
fileExportName?: string;
|
|
87
90
|
};
|
|
88
|
-
type
|
|
89
|
-
|
|
91
|
+
type ConfigValuesComputed = Record<string, // configName
|
|
92
|
+
{
|
|
90
93
|
configEnv: ConfigEnvInternal;
|
|
91
94
|
value: unknown;
|
|
92
95
|
}>;
|
|
96
|
+
type ConfigValues = Record<string, // configName
|
|
97
|
+
ConfigValue>;
|
|
93
98
|
type ConfigValue = ConfigValueStandard | ConfigValueCumulative | ConfigValueComputed;
|
|
94
99
|
/** Defined by a unique source (thus unique file path). */
|
|
95
100
|
type ConfigValueStandard = {
|
|
@@ -109,7 +114,6 @@ type ConfigValueComputed = {
|
|
|
109
114
|
value: unknown;
|
|
110
115
|
definedAtData: null;
|
|
111
116
|
};
|
|
112
|
-
type ConfigValues = Record<string, ConfigValue>;
|
|
113
117
|
type DefinedAtData = DefinedAtFile | DefinedAtFile[] | null;
|
|
114
118
|
type DefinedAtFile = {
|
|
115
119
|
filePathToShowToUser: string;
|
package/dist/esm/shared/{getPageFiles/getExports.d.ts → page-configs/getPageConfigUserFriendly.d.ts}
RENAMED
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { getPageConfigUserFriendly };
|
|
2
|
+
export { getPageConfigUserFriendlyNew };
|
|
3
|
+
export type { ConfigUserFriendly };
|
|
4
|
+
export type { PageConfigUserFriendly };
|
|
5
|
+
export type { Source };
|
|
6
|
+
export type { Sources };
|
|
7
|
+
export type { From };
|
|
2
8
|
export type { ExportsAll };
|
|
3
|
-
export type { PageContextExports };
|
|
4
9
|
export type { ConfigEntries };
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
import type
|
|
9
|
-
import type {
|
|
10
|
-
import type { PageFile } from './getPageFileObject.js';
|
|
11
|
-
import { type ConfigDefinedAtOptional } from '../page-configs/getConfigDefinedAt.js';
|
|
10
|
+
import type { FileType } from '../getPageFiles/fileTypes.js';
|
|
11
|
+
import type { PageFile } from '../getPageFiles/getPageFileObject.js';
|
|
12
|
+
import type { ConfigValues, PageConfigRuntimeLoaded } from './PageConfig.js';
|
|
13
|
+
import { type ConfigDefinedAtOptional } from './getConfigDefinedAt.js';
|
|
14
|
+
import type { ConfigResolved } from './Config/PageContextConfig.js';
|
|
12
15
|
type ExportsAll = Record<string, {
|
|
13
16
|
exportValue: unknown;
|
|
14
17
|
exportSource: string;
|
|
@@ -29,11 +32,11 @@ type ConfigEntries = Record<string, {
|
|
|
29
32
|
configDefinedAt: ConfigDefinedAtOptional;
|
|
30
33
|
configDefinedByFile: string | null;
|
|
31
34
|
}[]>;
|
|
32
|
-
type
|
|
35
|
+
type PageConfigUserFriendly = {
|
|
36
|
+
config: Record<string, unknown>;
|
|
33
37
|
source: Source;
|
|
34
38
|
sources: Sources;
|
|
35
39
|
from: From;
|
|
36
|
-
config: Record<string, unknown>;
|
|
37
40
|
configEntries: ConfigEntries;
|
|
38
41
|
exports: Record<string, unknown>;
|
|
39
42
|
exportsAll: ExportsAll;
|
|
@@ -70,4 +73,15 @@ type SourceConfigsComputed = {
|
|
|
70
73
|
type: 'configsComputed';
|
|
71
74
|
value: unknown;
|
|
72
75
|
};
|
|
73
|
-
declare function
|
|
76
|
+
declare function getPageConfigUserFriendly(pageFiles: PageFile[], pageConfig: PageConfigRuntimeLoaded | null): PageConfigUserFriendly;
|
|
77
|
+
type ConfigUserFriendly = {
|
|
78
|
+
config: ConfigResolved;
|
|
79
|
+
configEntries: ConfigEntries;
|
|
80
|
+
exportsAll: ExportsAll;
|
|
81
|
+
source: Source;
|
|
82
|
+
sources: Sources;
|
|
83
|
+
from: From;
|
|
84
|
+
};
|
|
85
|
+
declare function getPageConfigUserFriendlyNew(pageConfig: {
|
|
86
|
+
configValues: ConfigValues;
|
|
87
|
+
}): ConfigUserFriendly;
|
package/dist/esm/shared/{getPageFiles/getExports.js → page-configs/getPageConfigUserFriendly.js}
RENAMED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export {
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
export { getPageConfigUserFriendly };
|
|
2
|
+
export { getPageConfigUserFriendlyNew };
|
|
3
|
+
import { assertDefaultExports, forbiddenDefaultExports } from '../getPageFiles/assert_exports_old_design.js';
|
|
4
|
+
import { getConfigDefinedAtOptional, getDefinedAtString } from './getConfigDefinedAt.js';
|
|
5
|
+
import { getConfigValueFilePathToShowToUser } from './helpers.js';
|
|
6
|
+
import { assert, isObject, assertWarning, assertUsage, makeLast, isBrowser, isScriptFile, isTemplateFile } from '../utils.js';
|
|
7
7
|
import pc from '@brillout/picocolors';
|
|
8
|
-
function
|
|
9
|
-
const configEntries = {};
|
|
8
|
+
function getPageConfigUserFriendly(pageFiles, pageConfig) {
|
|
10
9
|
const config = {};
|
|
11
|
-
const
|
|
10
|
+
const configEntries = {}; // TODO/v1-release: remove
|
|
11
|
+
const exportsAll = {}; // TODO/v1-release: remove
|
|
12
12
|
// V0.4 design
|
|
13
13
|
// TODO/v1-release: remove
|
|
14
14
|
pageFiles.forEach((pageFile) => {
|
|
@@ -26,78 +26,26 @@ function getPageContextExports(pageFiles, pageConfig) {
|
|
|
26
26
|
});
|
|
27
27
|
});
|
|
28
28
|
});
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const addSrc = (src, configName) => {
|
|
33
|
-
source[configName] = src;
|
|
34
|
-
sources[configName] ?? (sources[configName] = []);
|
|
35
|
-
sources[configName].push(src);
|
|
36
|
-
};
|
|
37
|
-
const from = {
|
|
38
|
-
configsStandard: {},
|
|
39
|
-
configsCumulative: {},
|
|
40
|
-
configsComputed: {}
|
|
41
|
-
};
|
|
29
|
+
let source;
|
|
30
|
+
let sources;
|
|
31
|
+
let from;
|
|
42
32
|
if (pageConfig) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
value: configValue.value,
|
|
60
|
-
definedAt: getDefinedAtString(configValue.definedAtData, configName)
|
|
61
|
-
};
|
|
62
|
-
addSrc(src, configName);
|
|
63
|
-
from.configsStandard[configName] = src;
|
|
64
|
-
}
|
|
65
|
-
if (configValue.type === 'cumulative') {
|
|
66
|
-
const src = {
|
|
67
|
-
type: 'configsCumulative',
|
|
68
|
-
values: configValue.value.map((value, i) => {
|
|
69
|
-
const definedAtFile = configValue.definedAtData[i];
|
|
70
|
-
assert(definedAtFile);
|
|
71
|
-
const definedAt = getDefinedAtString(definedAtFile, configName);
|
|
72
|
-
return {
|
|
73
|
-
value,
|
|
74
|
-
definedAt
|
|
75
|
-
};
|
|
76
|
-
})
|
|
77
|
-
};
|
|
78
|
-
addSrc(src, configName);
|
|
79
|
-
from.configsCumulative[configName] = src;
|
|
80
|
-
}
|
|
81
|
-
if (configValue.type === 'computed') {
|
|
82
|
-
const src = {
|
|
83
|
-
type: 'configsComputed',
|
|
84
|
-
value: configValue.value
|
|
85
|
-
};
|
|
86
|
-
addSrc(src, configName);
|
|
87
|
-
from.configsComputed[configName] = src;
|
|
88
|
-
}
|
|
89
|
-
// TODO/v1-release: remove
|
|
90
|
-
const exportName = configName;
|
|
91
|
-
exportsAll[exportName] = exportsAll[exportName] ?? [];
|
|
92
|
-
exportsAll[exportName].push({
|
|
93
|
-
exportValue: value,
|
|
94
|
-
exportSource: configDefinedAt,
|
|
95
|
-
filePath: configValueFilePathToShowToUser,
|
|
96
|
-
_filePath: configValueFilePathToShowToUser,
|
|
97
|
-
_fileType: null,
|
|
98
|
-
_isFromDefaultExport: null
|
|
99
|
-
});
|
|
100
|
-
});
|
|
33
|
+
const res = getPageConfigUserFriendlyNew(pageConfig);
|
|
34
|
+
source = res.source;
|
|
35
|
+
sources = res.sources;
|
|
36
|
+
from = res.from;
|
|
37
|
+
Object.assign(config, res.config);
|
|
38
|
+
Object.assign(configEntries, res.configEntries);
|
|
39
|
+
Object.assign(exportsAll, res.exportsAll);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
source = {};
|
|
43
|
+
sources = {};
|
|
44
|
+
from = {
|
|
45
|
+
configsStandard: {},
|
|
46
|
+
configsCumulative: {},
|
|
47
|
+
configsComputed: {}
|
|
48
|
+
};
|
|
101
49
|
}
|
|
102
50
|
const pageExports = createObjectWithDeprecationWarning();
|
|
103
51
|
const exports = {};
|
|
@@ -127,6 +75,90 @@ function getPageContextExports(pageFiles, pageConfig) {
|
|
|
127
75
|
};
|
|
128
76
|
return pageContextExports;
|
|
129
77
|
}
|
|
78
|
+
// V1 design
|
|
79
|
+
function getPageConfigUserFriendlyNew(pageConfig) {
|
|
80
|
+
const config = {};
|
|
81
|
+
const configEntries = {};
|
|
82
|
+
const exportsAll = {};
|
|
83
|
+
const source = {};
|
|
84
|
+
const sources = {};
|
|
85
|
+
const from = {
|
|
86
|
+
configsStandard: {},
|
|
87
|
+
configsCumulative: {},
|
|
88
|
+
configsComputed: {}
|
|
89
|
+
};
|
|
90
|
+
const addSrc = (src, configName) => {
|
|
91
|
+
source[configName] = src;
|
|
92
|
+
sources[configName] ?? (sources[configName] = []);
|
|
93
|
+
sources[configName].push(src);
|
|
94
|
+
};
|
|
95
|
+
Object.entries(pageConfig.configValues).forEach(([configName, configValue]) => {
|
|
96
|
+
const { value } = configValue;
|
|
97
|
+
const configValueFilePathToShowToUser = getConfigValueFilePathToShowToUser(configValue.definedAtData);
|
|
98
|
+
const configDefinedAt = getConfigDefinedAtOptional('Config', configName, configValue.definedAtData);
|
|
99
|
+
config[configName] = config[configName] ?? value;
|
|
100
|
+
configEntries[configName] = configEntries[configName] ?? [];
|
|
101
|
+
// Currently each configName has only one entry. Adding an entry for each overriden config value isn't implemented yet. (This is an isomorphic file and it isn't clear whether this can/should be implemented on the client-side. We should load a minimum amount of code on the client-side.)
|
|
102
|
+
assert(configEntries[configName].length === 0);
|
|
103
|
+
configEntries[configName].push({
|
|
104
|
+
configValue: value,
|
|
105
|
+
configDefinedAt,
|
|
106
|
+
configDefinedByFile: configValueFilePathToShowToUser
|
|
107
|
+
});
|
|
108
|
+
if (configValue.type === 'standard') {
|
|
109
|
+
const src = {
|
|
110
|
+
type: 'configsStandard',
|
|
111
|
+
value: configValue.value,
|
|
112
|
+
definedAt: getDefinedAtString(configValue.definedAtData, configName)
|
|
113
|
+
};
|
|
114
|
+
addSrc(src, configName);
|
|
115
|
+
from.configsStandard[configName] = src;
|
|
116
|
+
}
|
|
117
|
+
if (configValue.type === 'cumulative') {
|
|
118
|
+
const src = {
|
|
119
|
+
type: 'configsCumulative',
|
|
120
|
+
values: configValue.value.map((value, i) => {
|
|
121
|
+
const definedAtFile = configValue.definedAtData[i];
|
|
122
|
+
assert(definedAtFile);
|
|
123
|
+
const definedAt = getDefinedAtString(definedAtFile, configName);
|
|
124
|
+
return {
|
|
125
|
+
value,
|
|
126
|
+
definedAt
|
|
127
|
+
};
|
|
128
|
+
})
|
|
129
|
+
};
|
|
130
|
+
addSrc(src, configName);
|
|
131
|
+
from.configsCumulative[configName] = src;
|
|
132
|
+
}
|
|
133
|
+
if (configValue.type === 'computed') {
|
|
134
|
+
const src = {
|
|
135
|
+
type: 'configsComputed',
|
|
136
|
+
value: configValue.value
|
|
137
|
+
};
|
|
138
|
+
addSrc(src, configName);
|
|
139
|
+
from.configsComputed[configName] = src;
|
|
140
|
+
}
|
|
141
|
+
// TODO/v1-release: remove
|
|
142
|
+
const exportName = configName;
|
|
143
|
+
exportsAll[exportName] = exportsAll[exportName] ?? [];
|
|
144
|
+
exportsAll[exportName].push({
|
|
145
|
+
exportValue: value,
|
|
146
|
+
exportSource: configDefinedAt,
|
|
147
|
+
filePath: configValueFilePathToShowToUser,
|
|
148
|
+
_filePath: configValueFilePathToShowToUser,
|
|
149
|
+
_fileType: null,
|
|
150
|
+
_isFromDefaultExport: null
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
return {
|
|
154
|
+
config,
|
|
155
|
+
configEntries,
|
|
156
|
+
exportsAll,
|
|
157
|
+
source,
|
|
158
|
+
sources,
|
|
159
|
+
from
|
|
160
|
+
};
|
|
161
|
+
}
|
|
130
162
|
function getExportValues(pageFile) {
|
|
131
163
|
const { filePath, fileExports } = pageFile;
|
|
132
164
|
assert(fileExports); // assume pageFile.loadFile() was called
|
|
@@ -1,7 +1,27 @@
|
|
|
1
1
|
export { serializeConfigValues };
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
export { getConfigValuesBase };
|
|
3
|
+
import type { ConfigEnvInternal, ConfigValueSource, DefinedAtFile, PageConfigBuildTime, PageConfigGlobalBuildTime } from '../PageConfig.js';
|
|
4
|
+
declare function serializeConfigValues(pageConfig: PageConfigBuildTime | PageConfigGlobalBuildTime, importStatements: string[], isEnvMatch: (configEnv: ConfigEnvInternal) => boolean, tabspace: string, isEager: boolean | null): string[];
|
|
5
|
+
declare function getConfigValuesBase(pageConfig: PageConfigBuildTime | PageConfigGlobalBuildTime, isEnvMatch: (configEnv: ConfigEnvInternal) => boolean, isEager: boolean | null): ConfigValuesBase;
|
|
6
|
+
type ConfigValuesBase = ({
|
|
7
|
+
configValueBase: {
|
|
8
|
+
type: 'computed';
|
|
9
|
+
definedAtData: null;
|
|
10
|
+
};
|
|
11
|
+
value: unknown;
|
|
12
|
+
configName: string;
|
|
13
|
+
} | {
|
|
14
|
+
configValueBase: {
|
|
15
|
+
type: 'standard';
|
|
16
|
+
definedAtData: DefinedAtFile;
|
|
17
|
+
};
|
|
18
|
+
sourceRelevant: ConfigValueSource;
|
|
19
|
+
configName: string;
|
|
20
|
+
} | {
|
|
21
|
+
configValueBase: {
|
|
22
|
+
type: 'cumulative';
|
|
23
|
+
definedAtData: DefinedAtFile[];
|
|
24
|
+
};
|
|
25
|
+
sourcesRelevant: ConfigValueSource[];
|
|
26
|
+
configName: string;
|
|
27
|
+
})[];
|