vike 0.4.220-commit-af5c91f → 0.4.221-commit-8577456
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 +5 -23
- package/dist/cjs/node/api/build.js +55 -11
- package/dist/cjs/node/api/prepareViteApiCall.js +20 -17
- package/dist/cjs/node/api/prerender.js +1 -0
- package/dist/cjs/node/api/utils.js +1 -0
- package/dist/cjs/node/plugin/index.js +2 -0
- package/dist/cjs/node/plugin/plugins/autoFullBuild.js +9 -20
- package/dist/cjs/node/plugin/plugins/baseUrls.js +1 -1
- package/dist/cjs/node/plugin/plugins/buildApp.js +72 -0
- package/dist/cjs/node/plugin/plugins/buildConfig/fixServerAssets.js +8 -10
- package/dist/cjs/node/plugin/plugins/buildConfig.js +5 -5
- package/dist/cjs/node/plugin/plugins/buildEntry/index.js +2 -2
- package/dist/cjs/node/plugin/plugins/commonConfig.js +1 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +1 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/index.js +8 -2
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{assertExtensions.js → getVikeConfig/assertExtensions.js} +31 -31
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +53 -21
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{getConfigFileExport.js → getVikeConfig/getConfigFileExport.js} +2 -2
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.js +159 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +3 -3
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +205 -343
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{debug.js → virtual-files/debug.js} +1 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{getVirtualFilePageConfigValuesAll.js → virtual-files/getVirtualFilePageConfigValuesAll.js} +7 -7
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{getVirtualFilePageConfigs.js → virtual-files/getVirtualFilePageConfigs.js} +3 -3
- package/dist/cjs/node/plugin/plugins/setGlobalContext.js +1 -4
- package/dist/cjs/node/plugin/shared/getFullBuildInlineConfig.js +20 -0
- package/dist/cjs/node/plugin/shared/getOutDirs.js +50 -38
- package/dist/cjs/node/prerender/runPrerender.js +29 -30
- package/dist/cjs/node/runtime/globalContext.js +186 -100
- package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +2 -3
- package/dist/cjs/node/runtime/html/injectAssets/getViteDevScript.js +2 -3
- package/dist/cjs/node/runtime/html/injectAssets.js +4 -4
- package/dist/cjs/node/runtime/html/renderHtml.js +4 -5
- package/dist/cjs/node/runtime/renderPage/analyzePage.js +2 -3
- package/dist/cjs/node/runtime/renderPage/getPageAssets/sortPageAssetsForEarlyHintsHeader.js +2 -4
- package/dist/cjs/node/runtime/renderPage/getPageAssets.js +4 -4
- package/dist/cjs/node/runtime/renderPage/handleErrorWithoutErrorPage.js +3 -5
- package/dist/cjs/node/runtime/renderPage/loadUserFilesServerSide.js +5 -4
- package/dist/cjs/node/runtime/renderPage/log404/index.js +1 -2
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +10 -9
- package/dist/cjs/node/runtime/renderPage.js +27 -30
- package/dist/cjs/node/runtime/utils.js +1 -0
- package/dist/cjs/node/runtime-dev/createDevMiddleware.js +5 -3
- package/dist/cjs/node/shared/resolveBase.js +3 -5
- package/dist/cjs/shared/getPageConfigsRuntime.js +20 -0
- package/dist/cjs/shared/getPageFiles/parseGlobResults.js +4 -3
- package/dist/cjs/shared/getPageFiles.js +1 -3
- package/dist/cjs/shared/page-configs/getPageConfigUserFriendly.js +13 -4
- package/dist/cjs/shared/route/loadPageRoutes.js +1 -0
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/assertSetup.js +1 -1
- package/dist/cjs/utils/debug.js +8 -6
- package/dist/cjs/utils/findFile.js +1 -0
- package/dist/cjs/utils/objectAssignSafe.js +7 -0
- package/dist/esm/__internal/index.d.ts +2 -2
- package/dist/esm/__internal/index.js +7 -26
- package/dist/esm/client/client-routing-runtime/createPageContext.js +5 -9
- package/dist/esm/client/server-routing-runtime/getPageContext.js +3 -4
- package/dist/esm/client/shared/loadUserFilesClientSide.js +3 -2
- package/dist/esm/node/api/build.js +23 -12
- package/dist/esm/node/api/prepareViteApiCall.d.ts +4 -2
- package/dist/esm/node/api/prepareViteApiCall.js +20 -17
- package/dist/esm/node/api/prerender.js +1 -0
- package/dist/esm/node/api/utils.d.ts +1 -0
- package/dist/esm/node/api/utils.js +1 -0
- package/dist/esm/node/plugin/index.js +2 -0
- package/dist/esm/node/plugin/plugins/autoFullBuild.js +10 -21
- package/dist/esm/node/plugin/plugins/baseUrls.js +1 -1
- package/dist/esm/node/plugin/plugins/buildApp.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/buildApp.js +70 -0
- package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.d.ts +0 -2
- package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.js +8 -10
- package/dist/esm/node/plugin/plugins/buildConfig.js +6 -6
- package/dist/esm/node/plugin/plugins/buildEntry/index.js +2 -2
- package/dist/esm/node/plugin/plugins/commonConfig.d.ts +1 -1
- package/dist/esm/node/plugin/plugins/commonConfig.js +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/index.js +8 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/assertExtensions.d.ts +6 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{assertExtensions.js → getVikeConfig/assertExtensions.js} +31 -31
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.d.ts +2 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +52 -20
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{getConfigFileExport.js → getVikeConfig/getConfigFileExport.js} +2 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.d.ts +39 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.js +154 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.d.ts +2 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +3 -3
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +2 -38
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +208 -346
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{debug.js → virtual-files/debug.js} +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{getVirtualFilePageConfigValuesAll.js → virtual-files/getVirtualFilePageConfigValuesAll.js} +7 -7
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{getVirtualFilePageConfigs.js → virtual-files/getVirtualFilePageConfigs.js} +3 -3
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{isRuntimeEnvMatch.d.ts → virtual-files/isRuntimeEnvMatch.d.ts} +1 -1
- package/dist/esm/node/plugin/plugins/setGlobalContext.js +2 -5
- package/dist/esm/node/plugin/shared/getFullBuildInlineConfig.d.ts +2 -0
- package/dist/esm/node/plugin/shared/getFullBuildInlineConfig.js +17 -0
- package/dist/esm/node/plugin/shared/getOutDirs.d.ts +1 -1
- package/dist/esm/node/plugin/shared/getOutDirs.js +50 -38
- package/dist/esm/node/plugin/shared/viteIsSSR.d.ts +2 -5
- package/dist/esm/node/prerender/runPrerender.d.ts +2 -2
- package/dist/esm/node/prerender/runPrerender.js +30 -31
- package/dist/esm/node/runtime/globalContext.d.ts +31 -29
- package/dist/esm/node/runtime/globalContext.js +186 -100
- package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.d.ts +1 -1
- package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +2 -3
- package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.d.ts +4 -1
- package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.js +2 -3
- package/dist/esm/node/runtime/html/injectAssets.d.ts +2 -0
- package/dist/esm/node/runtime/html/injectAssets.js +4 -4
- package/dist/esm/node/runtime/html/renderHtml.js +4 -5
- package/dist/esm/node/runtime/renderPage/analyzePage.d.ts +2 -1
- package/dist/esm/node/runtime/renderPage/analyzePage.js +2 -3
- package/dist/esm/node/runtime/renderPage/getPageAssets/sortPageAssetsForEarlyHintsHeader.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/getPageAssets/sortPageAssetsForEarlyHintsHeader.js +2 -4
- package/dist/esm/node/runtime/renderPage/getPageAssets.d.ts +2 -0
- package/dist/esm/node/runtime/renderPage/getPageAssets.js +4 -4
- package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.d.ts +2 -0
- package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.js +3 -5
- package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.d.ts +2 -0
- package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.js +6 -5
- package/dist/esm/node/runtime/renderPage/log404/index.d.ts +2 -0
- package/dist/esm/node/runtime/renderPage/log404/index.js +1 -2
- package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +3 -0
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +21 -5
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +10 -9
- package/dist/esm/node/runtime/renderPage.js +28 -31
- package/dist/esm/node/runtime/utils.d.ts +1 -0
- package/dist/esm/node/runtime/utils.js +1 -0
- package/dist/esm/node/runtime-dev/createDevMiddleware.js +5 -3
- package/dist/esm/node/shared/resolveBase.d.ts +2 -1
- package/dist/esm/node/shared/resolveBase.js +3 -5
- package/dist/esm/shared/getPageConfigsRuntime.d.ts +13 -0
- package/dist/esm/shared/getPageConfigsRuntime.js +18 -0
- package/dist/esm/shared/getPageFiles/parseGlobResults.d.ts +1 -1
- package/dist/esm/shared/getPageFiles/parseGlobResults.js +4 -3
- package/dist/esm/shared/getPageFiles.d.ts +0 -1
- package/dist/esm/shared/getPageFiles.js +0 -1
- package/dist/esm/shared/page-configs/Config.d.ts +7 -0
- package/dist/esm/shared/page-configs/PageConfig.d.ts +9 -5
- package/dist/esm/shared/page-configs/getPageConfigUserFriendly.d.ts +5 -7
- package/dist/esm/shared/page-configs/getPageConfigUserFriendly.js +13 -4
- package/dist/esm/shared/route/loadPageRoutes.js +1 -0
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/assertSetup.js +1 -1
- package/dist/esm/utils/debug.d.ts +1 -1
- package/dist/esm/utils/debug.js +8 -6
- package/dist/esm/utils/findFile.js +1 -0
- package/dist/esm/utils/objectAssignSafe.d.ts +1 -0
- package/dist/esm/utils/objectAssignSafe.js +4 -0
- package/dist/esm/utils/projectInfo.d.ts +1 -1
- package/package.json +2 -2
- package/dist/cjs/shared/getPageFiles/getPageFiles.js +0 -48
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/assertExtensions.d.ts +0 -6
- package/dist/esm/shared/getPageFiles/getPageFiles.d.ts +0 -15
- package/dist/esm/shared/getPageFiles/getPageFiles.js +0 -46
- /package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{isRuntimeEnvMatch.js → virtual-files/isRuntimeEnvMatch.js} +0 -0
- /package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{getConfigFileExport.d.ts → getVikeConfig/getConfigFileExport.d.ts} +0 -0
- /package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{debug.d.ts → virtual-files/debug.d.ts} +0 -0
- /package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{getVirtualFilePageConfigValuesAll.d.ts → virtual-files/getVirtualFilePageConfigValuesAll.d.ts} +0 -0
- /package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{getVirtualFilePageConfigs.d.ts → virtual-files/getVirtualFilePageConfigs.d.ts} +0 -0
- /package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{isRuntimeEnvMatch.js → virtual-files/isRuntimeEnvMatch.js} +0 -0
package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{debug.js → virtual-files/debug.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { createDebugger } from '
|
|
1
|
+
import { createDebugger } from '../../../../utils.js';
|
|
2
2
|
export const debug = createDebugger('vike:virtual-files');
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export { getVirtualFilePageConfigValuesAll };
|
|
2
|
-
import { assert } from '
|
|
3
|
-
import { getVirtualFileIdPageConfigValuesAll, isVirtualFileIdPageConfigValuesAll } from '
|
|
4
|
-
import { getVikeConfig } from '
|
|
5
|
-
import { extractAssetsAddQuery } from '
|
|
2
|
+
import { assert } from '../../../../utils.js';
|
|
3
|
+
import { getVirtualFileIdPageConfigValuesAll, isVirtualFileIdPageConfigValuesAll } from '../../../../../shared/virtual-files/virtualFilePageConfigValuesAll.js';
|
|
4
|
+
import { getVikeConfig } from '../getVikeConfig.js';
|
|
5
|
+
import { extractAssetsAddQuery } from '../../../../../shared/extractAssetsQuery.js';
|
|
6
6
|
import { debug } from './debug.js';
|
|
7
7
|
import { isRuntimeEnvMatch } from './isRuntimeEnvMatch.js';
|
|
8
|
-
import { serializeConfigValues } from '
|
|
9
|
-
import { fixServerAssets_isEnabled } from '
|
|
10
|
-
import { getConfigValueBuildTime } from '
|
|
8
|
+
import { serializeConfigValues } from '../../../../../../shared/page-configs/serialize/serializeConfigValues.js';
|
|
9
|
+
import { fixServerAssets_isEnabled } from '../../../buildConfig/fixServerAssets.js';
|
|
10
|
+
import { getConfigValueBuildTime } from '../../../../../../shared/page-configs/getConfigValueBuildTime.js';
|
|
11
11
|
async function getVirtualFilePageConfigValuesAll(id, isDev, config) {
|
|
12
12
|
const result = isVirtualFileIdPageConfigValuesAll(id);
|
|
13
13
|
assert(result);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export { getVirtualFilePageConfigs };
|
|
2
|
-
import { getVirtualFileIdPageConfigValuesAll } from '
|
|
2
|
+
import { getVirtualFileIdPageConfigValuesAll } from '../../../../../shared/virtual-files/virtualFilePageConfigValuesAll.js';
|
|
3
3
|
import { debug } from './debug.js';
|
|
4
|
-
import { getVikeConfig } from '
|
|
4
|
+
import { getVikeConfig } from '../getVikeConfig.js';
|
|
5
5
|
import { isRuntimeEnvMatch } from './isRuntimeEnvMatch.js';
|
|
6
|
-
import { serializeConfigValues } from '
|
|
6
|
+
import { serializeConfigValues } from '../../../../../../shared/page-configs/serialize/serializeConfigValues.js';
|
|
7
7
|
async function getVirtualFilePageConfigs(isForClientSide, isDev, id, isClientRouting, config) {
|
|
8
8
|
const vikeConfig = await getVikeConfig(config, { doNotRestartViteOnError: true });
|
|
9
9
|
const { pageConfigs, pageConfigGlobal } = vikeConfig;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { isRuntimeEnvMatch };
|
|
2
|
-
import type { ConfigEnvInternal } from '
|
|
2
|
+
import type { ConfigEnvInternal } from '../../../../../../shared/page-configs/PageConfig.js';
|
|
3
3
|
declare function isRuntimeEnvMatch(configEnv: ConfigEnvInternal, runtime: {
|
|
4
4
|
isForClientSide: boolean;
|
|
5
5
|
isClientRouting: boolean;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export { setGlobalContext };
|
|
2
|
-
import {
|
|
2
|
+
import { setGlobalContext_viteDevServer, setGlobalContext_viteConfig, setGlobalContext_isProduction } from '../../runtime/globalContext.js';
|
|
3
3
|
import { assertFilePathAbsoluteFilesystem, isDevCheck, markSetup_isViteDev, markSetup_viteDevServer, markSetup_vitePreviewServer } from '../utils.js';
|
|
4
|
-
import { getVikeConfig } from './importUserCode/v1-design/getVikeConfig.js';
|
|
5
4
|
import { getOutDirs } from '../shared/getOutDirs.js';
|
|
6
5
|
function setGlobalContext() {
|
|
7
6
|
return [
|
|
@@ -22,7 +21,7 @@ function setGlobalContext() {
|
|
|
22
21
|
order: 'pre',
|
|
23
22
|
handler(_, env) {
|
|
24
23
|
const isViteDev = isDevCheck(env);
|
|
25
|
-
|
|
24
|
+
setGlobalContext_isProduction(!isViteDev);
|
|
26
25
|
markSetup_isViteDev(isViteDev);
|
|
27
26
|
}
|
|
28
27
|
}
|
|
@@ -36,8 +35,6 @@ function setGlobalContext() {
|
|
|
36
35
|
const { outDirRoot } = getOutDirs(config);
|
|
37
36
|
assertFilePathAbsoluteFilesystem(outDirRoot); // Needed for `importServerProductionEntry({ outDir })` of @brillout/vite-plugin-server-entry
|
|
38
37
|
setGlobalContext_viteConfig(config, outDirRoot);
|
|
39
|
-
const vikeConfig = await getVikeConfig(config);
|
|
40
|
-
setGlobalContext_vikeConfig(vikeConfig);
|
|
41
38
|
}
|
|
42
39
|
}
|
|
43
40
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { getViteConfigFromCli, isViteCliCall } from './isViteCliCall.js';
|
|
2
|
+
export function getFullBuildInlineConfig(config) {
|
|
3
|
+
const configFromCli = !isViteCliCall() ? null : getViteConfigFromCli();
|
|
4
|
+
if (config._viteConfigEnhanced) {
|
|
5
|
+
return config._viteConfigEnhanced;
|
|
6
|
+
}
|
|
7
|
+
else {
|
|
8
|
+
return {
|
|
9
|
+
...configFromCli,
|
|
10
|
+
configFile: configFromCli?.configFile || config.configFile,
|
|
11
|
+
root: config.root,
|
|
12
|
+
build: {
|
|
13
|
+
...configFromCli?.build
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -12,4 +12,4 @@ type OutDirs = {
|
|
|
12
12
|
};
|
|
13
13
|
declare function getOutDirs(config: ResolvedConfig): OutDirs;
|
|
14
14
|
/** Appends `client/` or `server/` to `config.build.outDir` */
|
|
15
|
-
declare function resolveOutDir(config: UserConfig): string;
|
|
15
|
+
declare function resolveOutDir(config: UserConfig, isSSR?: true): string;
|
|
@@ -6,49 +6,34 @@ import { viteIsSSR } from './viteIsSSR.js';
|
|
|
6
6
|
const debug = createDebugger('vike:outDir');
|
|
7
7
|
function getOutDirs(config) {
|
|
8
8
|
debug('getOutDirs()', new Error().stack);
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
outDirRoot = outDir;
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
16
|
-
assertOutDirResolved(outDir, config);
|
|
17
|
-
assert(outDir.endsWith('/server') || outDir.endsWith('/client'));
|
|
18
|
-
assert('/client'.length === '/server'.length);
|
|
19
|
-
outDirRoot = outDir.slice(0, -1 * '/client'.length);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
const outDirs = getOutDirsAll(outDirRoot, config.root);
|
|
23
|
-
debug('outDirRoot', outDirRoot);
|
|
24
|
-
debug('outDirs', outDirs);
|
|
9
|
+
const outDir = getOutDirFromViteResolvedConfig(config);
|
|
10
|
+
if (!isOutDirRoot(outDir))
|
|
11
|
+
assertOutDirResolved(outDir, config);
|
|
12
|
+
const outDirs = getOutDirsAll(outDir, config.root);
|
|
25
13
|
return outDirs;
|
|
26
14
|
}
|
|
27
15
|
/** Appends `client/` or `server/` to `config.build.outDir` */
|
|
28
|
-
function resolveOutDir(config) {
|
|
16
|
+
function resolveOutDir(config, isSSR) {
|
|
29
17
|
debug('resolveOutDir()', new Error().stack);
|
|
18
|
+
const isServerSide = viteIsSSR(config) || isSSR;
|
|
19
|
+
debug('isServerSide', isServerSide);
|
|
30
20
|
const outDir = getOutDirFromViteUserConfig(config) || 'dist';
|
|
31
|
-
debug('outDir',
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
21
|
+
debug('outDir', outDir);
|
|
22
|
+
/* outDir may already be resolved when using Telefunc + Vike (because both Telefunc and Vike use this logic)
|
|
23
|
+
assert(isOutDirRoot(outDir))
|
|
24
|
+
*/
|
|
25
|
+
const { outDirClient, outDirServer } = getOutDirsAll(outDir);
|
|
26
|
+
if (isServerSide) {
|
|
27
|
+
debug('outDirServer', 'outDirServer');
|
|
28
|
+
return outDirServer;
|
|
36
29
|
}
|
|
37
30
|
else {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
debug('outDirServer', 'outDirServer');
|
|
41
|
-
return outDirServer;
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
debug('outDirClient', 'outDirClient');
|
|
45
|
-
return outDirClient;
|
|
46
|
-
}
|
|
31
|
+
debug('outDirClient', 'outDirClient');
|
|
32
|
+
return outDirClient;
|
|
47
33
|
}
|
|
48
34
|
}
|
|
49
35
|
function determineOutDirs(outDirRoot) {
|
|
50
36
|
assertPosixPath(outDirRoot);
|
|
51
|
-
assert(!outDirRoot.endsWith('/'));
|
|
52
37
|
assert(isOutDirRoot(outDirRoot));
|
|
53
38
|
const outDirClient = pathJoin(outDirRoot, 'client');
|
|
54
39
|
const outDirServer = pathJoin(outDirRoot, 'server');
|
|
@@ -56,8 +41,35 @@ function determineOutDirs(outDirRoot) {
|
|
|
56
41
|
assertIsNotOutDirRoot(outDirServer);
|
|
57
42
|
return { outDirClient, outDirServer };
|
|
58
43
|
}
|
|
59
|
-
function getOutDirsAll(
|
|
60
|
-
|
|
44
|
+
function getOutDirsAll(outDir, root) {
|
|
45
|
+
let outDirRoot;
|
|
46
|
+
{
|
|
47
|
+
if (isOutDirRoot(outDir)) {
|
|
48
|
+
outDirRoot = outDir;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
assert(outDir.endsWith('/server') || outDir.endsWith('/client'));
|
|
52
|
+
assert('/client'.length === '/server'.length);
|
|
53
|
+
outDirRoot = outDir.slice(0, -1 * '/client'.length);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
debug('outDirRoot', outDirRoot);
|
|
57
|
+
let outDirs;
|
|
58
|
+
if (root) {
|
|
59
|
+
outDirs = getOutDirsAllFromRootNormalized(outDirRoot, root);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
outDirs = getOutDirsAllFromRoot(outDirRoot);
|
|
63
|
+
}
|
|
64
|
+
debug('outDirs', outDirs);
|
|
65
|
+
return outDirs;
|
|
66
|
+
}
|
|
67
|
+
function getOutDirsAllFromRoot(outDirRoot) {
|
|
68
|
+
let { outDirClient, outDirServer } = determineOutDirs(outDirRoot);
|
|
69
|
+
return { outDirRoot, outDirClient, outDirServer };
|
|
70
|
+
}
|
|
71
|
+
function getOutDirsAllFromRootNormalized(outDirRoot, root) {
|
|
72
|
+
if (root && !outDirIsAbsolutePath(outDirRoot)) {
|
|
61
73
|
assertPosixPath(outDirRoot);
|
|
62
74
|
assertPosixPath(root);
|
|
63
75
|
outDirRoot = pathJoin(root, outDirRoot);
|
|
@@ -85,7 +97,7 @@ function isOutDirRoot(outDirRot) {
|
|
|
85
97
|
function assertIsNotOutDirRoot(outDir) {
|
|
86
98
|
assert(outDir.endsWith('/client') || outDir.endsWith('/server'));
|
|
87
99
|
}
|
|
88
|
-
/** `outDir` ends with `/server` or `/client` */
|
|
100
|
+
/** Assert that `outDir` ends with `/server` or `/client` */
|
|
89
101
|
function assertOutDirResolved(outDir, config) {
|
|
90
102
|
assertPosixPath(outDir);
|
|
91
103
|
assertIsNotOutDirRoot(outDir);
|
|
@@ -103,16 +115,16 @@ function getOutDirFromViteUserConfig(config) {
|
|
|
103
115
|
let outDir = config.build?.outDir;
|
|
104
116
|
if (outDir === undefined)
|
|
105
117
|
return undefined;
|
|
106
|
-
outDir =
|
|
118
|
+
outDir = normalizeOutDir(outDir);
|
|
107
119
|
return outDir;
|
|
108
120
|
}
|
|
109
121
|
function getOutDirFromViteResolvedConfig(config) {
|
|
110
122
|
let outDir = config.build.outDir;
|
|
111
123
|
assert(outDir);
|
|
112
|
-
outDir =
|
|
124
|
+
outDir = normalizeOutDir(outDir);
|
|
113
125
|
return outDir;
|
|
114
126
|
}
|
|
115
|
-
function
|
|
127
|
+
function normalizeOutDir(outDir) {
|
|
116
128
|
outDir = toPosixPath(outDir);
|
|
117
129
|
outDir = outDir.replace(/\/+$/, ''); // remove trailing slashes
|
|
118
130
|
return outDir;
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
+
import type { ResolvedConfig, UserConfig } from 'vite';
|
|
1
2
|
export { viteIsSSR };
|
|
2
3
|
export { viteIsSSR_options };
|
|
3
|
-
declare function viteIsSSR(config:
|
|
4
|
-
build?: {
|
|
5
|
-
ssr?: boolean | string;
|
|
6
|
-
};
|
|
7
|
-
}): boolean;
|
|
4
|
+
declare function viteIsSSR(config: ResolvedConfig | UserConfig): boolean;
|
|
8
5
|
type Options = undefined | boolean | {
|
|
9
6
|
ssr?: boolean;
|
|
10
7
|
};
|
|
@@ -68,7 +68,7 @@ declare function runPrerenderFromAPI(options?: PrerenderOptions): Promise<{
|
|
|
68
68
|
viteConfig: ResolvedConfig;
|
|
69
69
|
}>;
|
|
70
70
|
declare function runPrerenderFromCLIPrerenderCommand(): Promise<void>;
|
|
71
|
-
declare function runPrerenderFromAutoRun(viteConfig: InlineConfig | undefined): Promise<{
|
|
72
|
-
|
|
71
|
+
declare function runPrerenderFromAutoRun(viteConfig: InlineConfig | undefined, config: ResolvedConfig): Promise<{
|
|
72
|
+
forceExit: boolean;
|
|
73
73
|
}>;
|
|
74
74
|
declare function runPrerender_forceExit(): void;
|
|
@@ -8,7 +8,7 @@ import { assert, assertUsage, assertWarning, hasProp, projectInfo, objectAssign,
|
|
|
8
8
|
import { prerenderPage, prerender404Page, getPageContextInitEnhanced } from '../runtime/renderPage/renderPageAlreadyRouted.js';
|
|
9
9
|
import pc from '@brillout/picocolors';
|
|
10
10
|
import { cpus } from 'os';
|
|
11
|
-
import {
|
|
11
|
+
import { getGlobalContextInternal, initGlobalContext_runPrerender, setGlobalContext_isPrerendering } from '../runtime/globalContext.js';
|
|
12
12
|
import { resolveConfig } from 'vite';
|
|
13
13
|
import { getPageFilesServerSide } from '../../shared/getPageFiles.js';
|
|
14
14
|
import { getPageContextRequestUrl } from '../../shared/getPageContextRequestUrl.js';
|
|
@@ -28,6 +28,8 @@ import { prepareViteApiCall } from '../api/prepareViteApiCall.js';
|
|
|
28
28
|
import { setContextIsPrerendering } from './context.js';
|
|
29
29
|
import { resolvePrerenderConfig, resolvePrerenderConfigLocal } from './resolvePrerenderConfig.js';
|
|
30
30
|
import { getOutDirs } from '../plugin/shared/getOutDirs.js';
|
|
31
|
+
import { isVikeCli } from '../cli/context.js';
|
|
32
|
+
import { isViteCliCall } from '../plugin/shared/isViteCliCall.js';
|
|
31
33
|
async function runPrerenderFromAPI(options = {}) {
|
|
32
34
|
return await runPrerender(options, 'prerender()');
|
|
33
35
|
// - We purposely propagate the error to the user land, so that the error interrupts the user land. It's also, I guess, a nice-to-have that the user has control over the error.
|
|
@@ -45,8 +47,9 @@ async function runPrerenderFromCLIPrerenderCommand() {
|
|
|
45
47
|
process.exit(1);
|
|
46
48
|
}
|
|
47
49
|
runPrerender_forceExit();
|
|
50
|
+
assert(false);
|
|
48
51
|
}
|
|
49
|
-
async function runPrerenderFromAutoRun(viteConfig) {
|
|
52
|
+
async function runPrerenderFromAutoRun(viteConfig, config) {
|
|
50
53
|
let prerenderContextPublic;
|
|
51
54
|
try {
|
|
52
55
|
const ret = await runPrerender({ viteConfig });
|
|
@@ -57,7 +60,9 @@ async function runPrerenderFromAutoRun(viteConfig) {
|
|
|
57
60
|
logErrorHint(err);
|
|
58
61
|
process.exit(1);
|
|
59
62
|
}
|
|
60
|
-
|
|
63
|
+
config.vike.prerenderContext = prerenderContextPublic;
|
|
64
|
+
const forceExit = isVikeCli() || isViteCliCall();
|
|
65
|
+
return { forceExit };
|
|
61
66
|
}
|
|
62
67
|
async function runPrerender(options = {}, standaloneTrigger) {
|
|
63
68
|
setContextIsPrerendering();
|
|
@@ -85,7 +90,7 @@ async function runPrerender(options = {}, standaloneTrigger) {
|
|
|
85
90
|
const { partial = false, noExtraDir = false, parallel = true } = prerenderConfig || {};
|
|
86
91
|
const concurrencyLimit = pLimit(parallel === false || parallel === 0 ? 1 : parallel === true || parallel === undefined ? cpus().length : parallel);
|
|
87
92
|
await initGlobalContext_runPrerender();
|
|
88
|
-
const globalContext =
|
|
93
|
+
const globalContext = await getGlobalContextInternal();
|
|
89
94
|
globalContext.pageFilesAll.forEach(assertExportNames);
|
|
90
95
|
const prerenderContext = {
|
|
91
96
|
noExtraDir: noExtraDir ?? false,
|
|
@@ -95,10 +100,10 @@ async function runPrerender(options = {}, standaloneTrigger) {
|
|
|
95
100
|
output: []
|
|
96
101
|
};
|
|
97
102
|
const doNotPrerenderList = [];
|
|
98
|
-
await collectDoNoPrerenderList(vikeConfig.pageConfigs, doNotPrerenderList, concurrencyLimit);
|
|
99
|
-
await callOnBeforePrerenderStartHooks(prerenderContext, concurrencyLimit, doNotPrerenderList);
|
|
100
|
-
await handlePagesWithStaticRoutes(prerenderContext, doNotPrerenderList, concurrencyLimit);
|
|
101
|
-
await callOnPrerenderStartHook(prerenderContext);
|
|
103
|
+
await collectDoNoPrerenderList(vikeConfig.pageConfigs, doNotPrerenderList, concurrencyLimit, globalContext);
|
|
104
|
+
await callOnBeforePrerenderStartHooks(prerenderContext, globalContext, concurrencyLimit, doNotPrerenderList);
|
|
105
|
+
await handlePagesWithStaticRoutes(prerenderContext, globalContext, doNotPrerenderList, concurrencyLimit);
|
|
106
|
+
await callOnPrerenderStartHook(prerenderContext, globalContext);
|
|
102
107
|
let prerenderedCount = 0;
|
|
103
108
|
// Write files as soon as pages finish rendering (instead of writing all files at once only after all pages have rendered).
|
|
104
109
|
const onComplete = async (htmlFile) => {
|
|
@@ -108,17 +113,17 @@ async function runPrerender(options = {}, standaloneTrigger) {
|
|
|
108
113
|
}
|
|
109
114
|
await writeFiles(htmlFile, root, outDirClient, options.onPagePrerender, prerenderContext.output, logLevel);
|
|
110
115
|
};
|
|
111
|
-
await routeAndPrerender(prerenderContext, concurrencyLimit, onComplete);
|
|
116
|
+
await routeAndPrerender(prerenderContext, globalContext, concurrencyLimit, onComplete);
|
|
112
117
|
warnContradictoryNoPrerenderList(prerenderContext.prerenderedPageContexts, doNotPrerenderList);
|
|
113
|
-
await prerender404(prerenderContext, onComplete);
|
|
118
|
+
await prerender404(prerenderContext, globalContext, onComplete);
|
|
114
119
|
if (logLevel === 'info') {
|
|
115
120
|
console.log(`${pc.green(`✓`)} ${prerenderedCount} HTML documents pre-rendered.`);
|
|
116
121
|
}
|
|
117
|
-
warnMissingPages(prerenderContext.prerenderedPageContexts, doNotPrerenderList, partial);
|
|
122
|
+
await warnMissingPages(prerenderContext.prerenderedPageContexts, globalContext, doNotPrerenderList, partial);
|
|
118
123
|
const prerenderContextPublic = makePublic(prerenderContext);
|
|
119
124
|
return { viteConfig, prerenderContextPublic };
|
|
120
125
|
}
|
|
121
|
-
async function collectDoNoPrerenderList(pageConfigs, doNotPrerenderList, concurrencyLimit) {
|
|
126
|
+
async function collectDoNoPrerenderList(pageConfigs, doNotPrerenderList, concurrencyLimit, globalContext) {
|
|
122
127
|
// V1 design
|
|
123
128
|
pageConfigs.forEach((pageConfig) => {
|
|
124
129
|
const configValue = resolvePrerenderConfigLocal(pageConfig);
|
|
@@ -136,7 +141,6 @@ async function collectDoNoPrerenderList(pageConfigs, doNotPrerenderList, concurr
|
|
|
136
141
|
});
|
|
137
142
|
// Old design
|
|
138
143
|
// TODO/v1-release: remove
|
|
139
|
-
const globalContext = getGlobalContext();
|
|
140
144
|
await Promise.all(globalContext.pageFilesAll
|
|
141
145
|
.filter((p) => {
|
|
142
146
|
assertExportNames(p);
|
|
@@ -179,9 +183,8 @@ function assertExportNames(pageFile) {
|
|
|
179
183
|
const { exportNames, fileType } = pageFile;
|
|
180
184
|
assert(exportNames || fileType === '.page.route' || fileType === '.css', pageFile.filePath);
|
|
181
185
|
}
|
|
182
|
-
async function callOnBeforePrerenderStartHooks(prerenderContext, concurrencyLimit, doNotPrerenderList) {
|
|
186
|
+
async function callOnBeforePrerenderStartHooks(prerenderContext, globalContext, concurrencyLimit, doNotPrerenderList) {
|
|
183
187
|
const onBeforePrerenderStartHooks = [];
|
|
184
|
-
const globalContext = getGlobalContext();
|
|
185
188
|
// V1 design
|
|
186
189
|
await Promise.all(globalContext.pageConfigs.map((pageConfig) => concurrencyLimit(async () => {
|
|
187
190
|
const hookName = 'onBeforePrerenderStart';
|
|
@@ -229,7 +232,7 @@ async function callOnBeforePrerenderStartHooks(prerenderContext, concurrencyLimi
|
|
|
229
232
|
}
|
|
230
233
|
const prerenderResult = await executeHook(() => hookFn(), { hookName, hookFilePath, hookTimeout }, null);
|
|
231
234
|
const result = normalizeOnPrerenderHookResult(prerenderResult, hookFilePath, hookName);
|
|
232
|
-
result.
|
|
235
|
+
await Promise.all(result.map(async ({ url, pageContext }) => {
|
|
233
236
|
{
|
|
234
237
|
const pageContextFound = prerenderContext.pageContexts.find((pageContext) => isSameUrl(pageContext.urlOriginal, url));
|
|
235
238
|
if (pageContextFound) {
|
|
@@ -240,7 +243,7 @@ async function callOnBeforePrerenderStartHooks(prerenderContext, concurrencyLimi
|
|
|
240
243
|
assertUsage(false, `URL ${pc.cyan(url)} provided ${providedTwice}. Make sure to provide the URL only once instead.`);
|
|
241
244
|
}
|
|
242
245
|
}
|
|
243
|
-
const pageContextNew = createPageContext(url, prerenderContext);
|
|
246
|
+
const pageContextNew = await createPageContext(url, prerenderContext, globalContext);
|
|
244
247
|
objectAssign(pageContextNew, {
|
|
245
248
|
_providedByHook: {
|
|
246
249
|
hookFilePath,
|
|
@@ -254,12 +257,11 @@ async function callOnBeforePrerenderStartHooks(prerenderContext, concurrencyLimi
|
|
|
254
257
|
});
|
|
255
258
|
objectAssign(pageContextNew, pageContext);
|
|
256
259
|
}
|
|
257
|
-
});
|
|
260
|
+
}));
|
|
258
261
|
})));
|
|
259
262
|
}
|
|
260
|
-
async function handlePagesWithStaticRoutes(prerenderContext, doNotPrerenderList, concurrencyLimit) {
|
|
263
|
+
async function handlePagesWithStaticRoutes(prerenderContext, globalContext, doNotPrerenderList, concurrencyLimit) {
|
|
261
264
|
// Pre-render pages with a static route
|
|
262
|
-
const globalContext = getGlobalContext();
|
|
263
265
|
await Promise.all(globalContext.pageRoutes.map((pageRoute) => concurrencyLimit(async () => {
|
|
264
266
|
const { pageId } = pageRoute;
|
|
265
267
|
if (doNotPrerenderList.find((p) => p.pageId === pageId)) {
|
|
@@ -285,7 +287,7 @@ async function handlePagesWithStaticRoutes(prerenderContext, doNotPrerenderList,
|
|
|
285
287
|
return;
|
|
286
288
|
}
|
|
287
289
|
const routeParams = {};
|
|
288
|
-
const pageContext = createPageContext(urlOriginal, prerenderContext);
|
|
290
|
+
const pageContext = await createPageContext(urlOriginal, prerenderContext, globalContext);
|
|
289
291
|
objectAssign(pageContext, {
|
|
290
292
|
_providedByHook: null,
|
|
291
293
|
routeParams,
|
|
@@ -303,7 +305,7 @@ async function handlePagesWithStaticRoutes(prerenderContext, doNotPrerenderList,
|
|
|
303
305
|
prerenderContext.pageContexts.push(pageContext);
|
|
304
306
|
})));
|
|
305
307
|
}
|
|
306
|
-
function createPageContext(urlOriginal, prerenderContext) {
|
|
308
|
+
async function createPageContext(urlOriginal, prerenderContext, globalContext) {
|
|
307
309
|
const pageContext = {
|
|
308
310
|
_urlHandler: null,
|
|
309
311
|
_urlRewrite: null,
|
|
@@ -315,13 +317,12 @@ function createPageContext(urlOriginal, prerenderContext) {
|
|
|
315
317
|
};
|
|
316
318
|
objectAssign(pageContextInit, prerenderContext.pageContextInit);
|
|
317
319
|
{
|
|
318
|
-
const pageContextInitEnhanced = getPageContextInitEnhanced(pageContextInit);
|
|
320
|
+
const pageContextInitEnhanced = await getPageContextInitEnhanced(pageContextInit, globalContext);
|
|
319
321
|
objectAssign(pageContext, pageContextInitEnhanced);
|
|
320
322
|
}
|
|
321
323
|
return pageContext;
|
|
322
324
|
}
|
|
323
|
-
async function callOnPrerenderStartHook(prerenderContext) {
|
|
324
|
-
const globalContext = getGlobalContext();
|
|
325
|
+
async function callOnPrerenderStartHook(prerenderContext, globalContext) {
|
|
325
326
|
let onPrerenderStartHook;
|
|
326
327
|
// V1 design
|
|
327
328
|
if (globalContext.pageConfigs.length > 0) {
|
|
@@ -448,8 +449,7 @@ async function callOnPrerenderStartHook(prerenderContext) {
|
|
|
448
449
|
});
|
|
449
450
|
addPageContextComputedUrl(prerenderContext.pageContexts);
|
|
450
451
|
}
|
|
451
|
-
async function routeAndPrerender(prerenderContext, concurrencyLimit, onComplete) {
|
|
452
|
-
const globalContext = getGlobalContext();
|
|
452
|
+
async function routeAndPrerender(prerenderContext, globalContext, concurrencyLimit, onComplete) {
|
|
453
453
|
assert(globalContext.isPrerendering);
|
|
454
454
|
// Route all URLs
|
|
455
455
|
await Promise.all(prerenderContext.pageContexts.map((pageContext) => concurrencyLimit(async () => {
|
|
@@ -531,8 +531,7 @@ function warnContradictoryNoPrerenderList(prerenderedPageContexts, doNotPrerende
|
|
|
531
531
|
assertWarning(false, `The ${providedByHook.hookName}() hook defined by ${providedByHook.hookFilePath} returns the URL ${pc.cyan(urlOriginal)}, while ${setByConfigFile} sets the config ${pc.cyan(setByConfigName)} to ${pc.cyan(String(setByConfigValue))}. This is contradictory: either don't set the config ${pc.cyan(setByConfigName)} to ${pc.cyan(String(setByConfigValue))} or remove the URL ${pc.cyan(urlOriginal)} from the list of URLs to be pre-rendered.`, { onlyOnce: true });
|
|
532
532
|
});
|
|
533
533
|
}
|
|
534
|
-
function warnMissingPages(prerenderedPageContexts, doNotPrerenderList, partial) {
|
|
535
|
-
const globalContext = getGlobalContext();
|
|
534
|
+
async function warnMissingPages(prerenderedPageContexts, globalContext, doNotPrerenderList, partial) {
|
|
536
535
|
const isV1 = globalContext.pageConfigs.length > 0;
|
|
537
536
|
const hookName = isV1 ? 'onBeforePrerenderStart' : 'prerender';
|
|
538
537
|
/* TODO/after-v1-design-release: document setting `prerender: false` as an alternative to using prerender.partial (both in the warnings and the docs)
|
|
@@ -548,11 +547,11 @@ function warnMissingPages(prerenderedPageContexts, doNotPrerenderList, partial)
|
|
|
548
547
|
assertWarning(partial, `Cannot pre-render page ${pageAt} because it has a non-static route, while no ${hookName}() hook returned any URL matching the page's route. You need to use a ${hookName}() hook (https://vike.dev/${hookName}) providing a list of URLs for ${pageAt} that should be pre-rendered. If you don't want to pre-render ${pageAt} then use the option prerender.partial (https://vike.dev/prerender#partial) to suppress this warning.`, { onlyOnce: true });
|
|
549
548
|
});
|
|
550
549
|
}
|
|
551
|
-
async function prerender404(prerenderContext, onComplete) {
|
|
550
|
+
async function prerender404(prerenderContext, globalContext, onComplete) {
|
|
552
551
|
if (!Object.values(prerenderContext.prerenderedPageContexts).find(({ urlOriginal }) => urlOriginal === '/404')) {
|
|
553
552
|
let result;
|
|
554
553
|
try {
|
|
555
|
-
result = await prerender404Page(prerenderContext.pageContextInit);
|
|
554
|
+
result = await prerender404Page(prerenderContext.pageContextInit, globalContext);
|
|
556
555
|
}
|
|
557
556
|
catch (err) {
|
|
558
557
|
assertIsNotAbort(err, 'the 404 page');
|
|
@@ -1,36 +1,37 @@
|
|
|
1
1
|
export { getGlobalContextSync };
|
|
2
2
|
export { getGlobalContextAsync };
|
|
3
|
-
export {
|
|
3
|
+
export { getGlobalContextInternal };
|
|
4
4
|
export { getViteDevServer };
|
|
5
5
|
export { getViteConfig };
|
|
6
6
|
export { initGlobalContext_renderPage };
|
|
7
7
|
export { initGlobalContext_runPrerender };
|
|
8
|
-
export {
|
|
8
|
+
export { initGlobalContext_getPagesAndRoutes };
|
|
9
9
|
export { setGlobalContext_viteDevServer };
|
|
10
10
|
export { setGlobalContext_viteConfig };
|
|
11
|
-
export { setGlobalContext_vikeConfig };
|
|
12
|
-
export { setGlobalContext_isViteDev };
|
|
13
11
|
export { setGlobalContext_isPrerendering };
|
|
12
|
+
export { setGlobalContext_isProduction };
|
|
14
13
|
export { setGlobalContext_buildEntry };
|
|
15
14
|
export { clearGlobalContext };
|
|
16
15
|
export { assertBuildInfo };
|
|
17
16
|
export { getViteConfigRuntime };
|
|
17
|
+
export { updateUserFiles };
|
|
18
18
|
export type { BuildInfo };
|
|
19
|
+
export type { GlobalContext };
|
|
20
|
+
export type { GlobalContextPublic };
|
|
19
21
|
import type { ViteManifest } from '../shared/ViteManifest.js';
|
|
20
22
|
import type { ResolvedConfig, ViteDevServer } from 'vite';
|
|
21
|
-
import type { VikeConfigObject } from '../plugin/plugins/importUserCode/v1-design/getVikeConfig.js';
|
|
22
23
|
import type { ConfigUserFriendly } from '../../shared/page-configs/getPageConfigUserFriendly.js';
|
|
23
|
-
type
|
|
24
|
-
|
|
24
|
+
import type { ConfigVitePluginServerEntry } from '@brillout/vite-plugin-server-entry/plugin';
|
|
25
|
+
type GlobalContextPublic = Pick<GlobalContext, 'assetsManifest' | 'config' | 'viteConfig'>;
|
|
26
|
+
type PageRuntimeInfo = Awaited<ReturnType<typeof getUserFiles>>;
|
|
27
|
+
type GlobalContext = GlobalContextWithoutPublicCopy & {
|
|
28
|
+
globalContext_public: GlobalContextPublic;
|
|
25
29
|
};
|
|
26
|
-
type
|
|
27
|
-
type GlobalContext = {
|
|
30
|
+
type GlobalContextWithoutPublicCopy = {
|
|
28
31
|
viteConfigRuntime: {
|
|
29
32
|
_baseViteOriginal: null | string;
|
|
30
33
|
};
|
|
31
|
-
|
|
32
|
-
global: ConfigUserFriendly;
|
|
33
|
-
};
|
|
34
|
+
config: ConfigUserFriendly['config'];
|
|
34
35
|
} & PageRuntimeInfo & ({
|
|
35
36
|
isProduction: false;
|
|
36
37
|
isPrerendering: false;
|
|
@@ -49,40 +50,41 @@ type GlobalContext = {
|
|
|
49
50
|
usesClientRouter: boolean;
|
|
50
51
|
viteConfig: ResolvedConfig;
|
|
51
52
|
})));
|
|
52
|
-
declare function
|
|
53
|
+
declare function getGlobalContextInternal(): Promise<GlobalContext>;
|
|
53
54
|
/** @experimental https://vike.dev/getGlobalContext */
|
|
54
55
|
declare function getGlobalContextSync(): GlobalContextPublic;
|
|
55
56
|
/** @experimental https://vike.dev/getGlobalContext */
|
|
56
57
|
declare function getGlobalContextAsync(isProduction: boolean): Promise<GlobalContextPublic>;
|
|
57
|
-
declare function setGlobalContext_viteDevServer(viteDevServer: ViteDevServer): void
|
|
58
|
+
declare function setGlobalContext_viteDevServer(viteDevServer: ViteDevServer): Promise<void>;
|
|
58
59
|
declare function setGlobalContext_viteConfig(viteConfig: ResolvedConfig, outDirRoot: string): void;
|
|
59
|
-
declare function setGlobalContext_vikeConfig(vikeConfig: VikeConfigObject): void;
|
|
60
|
-
declare function setGlobalContext_isViteDev(isViteDev: boolean): void;
|
|
61
60
|
declare function setGlobalContext_isPrerendering(): void;
|
|
61
|
+
declare function setGlobalContext_isProduction(isProduction: boolean): void;
|
|
62
62
|
declare function getViteDevServer(): ViteDevServer | null;
|
|
63
63
|
declare function getViteConfig(): ResolvedConfig | null;
|
|
64
64
|
declare function initGlobalContext_renderPage(): Promise<void>;
|
|
65
65
|
declare function initGlobalContext_runPrerender(): Promise<void>;
|
|
66
|
-
declare function
|
|
67
|
-
declare function
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
};
|
|
76
|
-
globalConfig: ConfigUserFriendly;
|
|
66
|
+
declare function initGlobalContext_getPagesAndRoutes(): Promise<void>;
|
|
67
|
+
declare function getUserFiles(): Promise<{
|
|
68
|
+
pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
|
|
69
|
+
pageConfigs: import("../../__internal/index.js").PageConfig[];
|
|
70
|
+
pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
71
|
+
allPageIds: string[];
|
|
72
|
+
pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
|
|
73
|
+
onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
|
|
74
|
+
config: import("../../shared/page-configs/Config/PageContextConfig.js").ConfigResolved;
|
|
77
75
|
}>;
|
|
78
|
-
declare function setGlobalContext_buildEntry(buildEntry: unknown): void
|
|
76
|
+
declare function setGlobalContext_buildEntry(buildEntry: unknown): Promise<void>;
|
|
79
77
|
type BuildInfo = {
|
|
80
78
|
versionAtBuildTime: string;
|
|
81
79
|
usesClientRouter: boolean;
|
|
82
80
|
viteConfigRuntime: {
|
|
83
81
|
_baseViteOriginal: string;
|
|
82
|
+
vitePluginServerEntry: {
|
|
83
|
+
inject?: NonNullable<ConfigVitePluginServerEntry['vitePluginServerEntry']>['inject'];
|
|
84
|
+
};
|
|
84
85
|
};
|
|
85
86
|
};
|
|
86
87
|
declare function assertBuildInfo(buildInfo: unknown): asserts buildInfo is BuildInfo;
|
|
87
|
-
declare function getViteConfigRuntime(viteConfig: ResolvedConfig): BuildInfo['viteConfigRuntime'];
|
|
88
|
+
declare function getViteConfigRuntime(viteConfig: ResolvedConfig & ConfigVitePluginServerEntry): BuildInfo['viteConfigRuntime'];
|
|
89
|
+
declare function updateUserFiles(): Promise<void>;
|
|
88
90
|
declare function clearGlobalContext(): void;
|