vike 0.4.216 → 0.4.217
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/node/api/build.js +4 -2
- package/dist/cjs/node/api/prepareViteApiCall.js +14 -4
- package/dist/cjs/node/plugin/index.js +5 -7
- package/dist/cjs/node/plugin/plugins/autoFullBuild.js +15 -12
- package/dist/cjs/node/plugin/plugins/baseUrls.js +17 -12
- package/dist/cjs/node/plugin/plugins/buildConfig/fixServerAssets.js +1 -1
- package/dist/cjs/node/plugin/plugins/buildConfig.js +4 -5
- package/dist/cjs/node/plugin/plugins/commonConfig.js +14 -1
- package/dist/cjs/node/plugin/plugins/devConfig/determineOptimizeDeps.js +5 -5
- package/dist/cjs/node/plugin/plugins/devConfig/index.js +1 -1
- package/dist/cjs/node/plugin/plugins/extractAssetsPlugin.js +4 -7
- package/dist/cjs/node/plugin/plugins/importBuild/getVikeManifest.js +2 -2
- package/dist/cjs/node/plugin/plugins/importBuild/index.js +8 -6
- package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +8 -8
- package/dist/cjs/node/plugin/plugins/importUserCode/index.js +9 -13
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +128 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +40 -26
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +3 -4
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +1 -1
- package/dist/cjs/node/plugin/plugins/previewConfig.js +4 -3
- package/dist/cjs/node/plugin/plugins/setGlobalContext.js +4 -1
- package/dist/cjs/node/prerender/runPrerender.js +2 -4
- package/dist/cjs/node/runtime/globalContext.js +16 -8
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -1
- package/dist/cjs/node/shared/resolveBase.js +41 -0
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/node/api/build.js +4 -2
- package/dist/esm/node/api/prepareViteApiCall.d.ts +1 -1
- package/dist/esm/node/api/prepareViteApiCall.js +14 -4
- package/dist/esm/node/plugin/index.d.ts +3 -3
- package/dist/esm/node/plugin/index.js +3 -5
- package/dist/esm/node/plugin/plugins/autoFullBuild.js +15 -12
- package/dist/esm/node/plugin/plugins/baseUrls.d.ts +2 -2
- package/dist/esm/node/plugin/plugins/baseUrls.js +17 -12
- package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.js +1 -1
- package/dist/esm/node/plugin/plugins/buildConfig.js +4 -5
- package/dist/esm/node/plugin/plugins/commonConfig.d.ts +1 -1
- package/dist/esm/node/plugin/plugins/commonConfig.js +15 -2
- package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.d.ts +1 -1
- package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.js +5 -5
- package/dist/esm/node/plugin/plugins/devConfig/index.js +1 -1
- package/dist/esm/node/plugin/plugins/extractAssetsPlugin.js +4 -7
- package/dist/esm/node/plugin/plugins/importBuild/getVikeManifest.d.ts +3 -2
- package/dist/esm/node/plugin/plugins/importBuild/getVikeManifest.js +2 -2
- package/dist/esm/node/plugin/plugins/importBuild/index.js +8 -6
- package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.d.ts +2 -2
- package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +8 -8
- package/dist/esm/node/plugin/plugins/importUserCode/index.js +11 -15
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.d.ts +1 -1
- package/dist/esm/{shared/ConfigVike.d.ts → node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.d.ts} +14 -12
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +123 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +8 -6
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +41 -27
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +3 -4
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +1 -1
- package/dist/esm/node/plugin/plugins/previewConfig.js +4 -3
- package/dist/esm/node/plugin/plugins/setGlobalContext.js +5 -2
- package/dist/esm/node/prerender/runPrerender.js +2 -4
- package/dist/esm/node/runtime/globalContext.d.ts +6 -2
- package/dist/esm/node/runtime/globalContext.js +16 -8
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -1
- package/dist/esm/node/shared/resolveBase.d.ts +11 -0
- package/dist/esm/node/shared/resolveBase.js +36 -0
- package/dist/esm/shared/page-configs/Config.d.ts +2 -2
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/projectInfo.d.ts +1 -1
- package/package.json +1 -1
- package/dist/cjs/node/plugin/plugins/config/assertVikeConfig.js +0 -75
- package/dist/cjs/node/plugin/plugins/config/index.js +0 -81
- package/dist/cjs/node/plugin/plugins/config/pickFirst.js +0 -6
- package/dist/cjs/node/plugin/plugins/config/resolveBase.js +0 -47
- package/dist/cjs/node/shared/getConfigVike.js +0 -10
- package/dist/cjs/shared/ConfigVike.js +0 -2
- package/dist/esm/node/plugin/plugins/config/assertVikeConfig.d.ts +0 -7
- package/dist/esm/node/plugin/plugins/config/assertVikeConfig.js +0 -73
- package/dist/esm/node/plugin/plugins/config/index.d.ts +0 -3
- package/dist/esm/node/plugin/plugins/config/index.js +0 -76
- package/dist/esm/node/plugin/plugins/config/pickFirst.d.ts +0 -1
- package/dist/esm/node/plugin/plugins/config/pickFirst.js +0 -3
- package/dist/esm/node/plugin/plugins/config/resolveBase.d.ts +0 -10
- package/dist/esm/node/plugin/plugins/config/resolveBase.js +0 -42
- package/dist/esm/node/shared/getConfigVike.d.ts +0 -4
- package/dist/esm/node/shared/getConfigVike.js +0 -8
- package/dist/esm/shared/ConfigVike.js +0 -1
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
export { resolveVikeConfigGlobal };
|
|
2
|
+
import pc from '@brillout/picocolors';
|
|
3
|
+
import { assert, assertUsage, hasProp, isObject } from '../../../../utils.js';
|
|
4
|
+
function resolveVikeConfigGlobal(vikeVitePluginOptions, pageConfigGlobalValues) {
|
|
5
|
+
// TODO/v1-release: remove
|
|
6
|
+
assertVikeConfigGlobal(vikeVitePluginOptions, ({ prop, errMsg }) => `vite.config.js > vike option ${prop} ${errMsg}`);
|
|
7
|
+
const configs = [vikeVitePluginOptions];
|
|
8
|
+
assertVikeConfigGlobal(pageConfigGlobalValues, ({ prop, errMsg }) => {
|
|
9
|
+
// Can we add the config file path ?
|
|
10
|
+
return `config ${pc.cyan(prop)} ${errMsg}`;
|
|
11
|
+
});
|
|
12
|
+
configs.push(pageConfigGlobalValues);
|
|
13
|
+
const vikeConfigGlobal = {
|
|
14
|
+
disableAutoFullBuild: pickFirst(configs.map((c) => c.disableAutoFullBuild)) ?? null,
|
|
15
|
+
prerender: resolvePrerenderOptions(configs),
|
|
16
|
+
includeAssetsImportedByServer: pickFirst(configs.map((c) => c.includeAssetsImportedByServer)) ?? true,
|
|
17
|
+
baseServer: pickFirst(configs.map((c) => c.baseServer)) ?? null,
|
|
18
|
+
baseAssets: pickFirst(configs.map((c) => c.baseAssets)) ?? null,
|
|
19
|
+
redirects: merge(configs.map((c) => c.redirects)) ?? {},
|
|
20
|
+
disableUrlNormalization: pickFirst(configs.map((c) => c.disableUrlNormalization)) ?? false,
|
|
21
|
+
trailingSlash: pickFirst(configs.map((c) => c.trailingSlash)) ?? false,
|
|
22
|
+
crawl: {
|
|
23
|
+
git: vikeVitePluginOptions.crawl?.git ?? null
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
return vikeConfigGlobal;
|
|
27
|
+
}
|
|
28
|
+
function resolvePrerenderOptions(configs) {
|
|
29
|
+
if (!configs.some((c) => c.prerender)) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
const configsPrerender = configs.map((c) => c.prerender).filter(isObject2);
|
|
33
|
+
return {
|
|
34
|
+
partial: pickFirst(configsPrerender.map((c) => c.partial)) ?? false,
|
|
35
|
+
noExtraDir: pickFirst(configsPrerender.map((c) => c.noExtraDir)) ?? false,
|
|
36
|
+
parallel: pickFirst(configsPrerender.map((c) => c.parallel)) ?? true,
|
|
37
|
+
disableAutoRun: pickFirst(configsPrerender.map((c) => c.disableAutoRun)) ?? false
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function isObject2(p) {
|
|
41
|
+
return typeof p === 'object';
|
|
42
|
+
}
|
|
43
|
+
function merge(objs) {
|
|
44
|
+
const obj = {};
|
|
45
|
+
objs.forEach((e) => {
|
|
46
|
+
Object.assign(obj, e);
|
|
47
|
+
});
|
|
48
|
+
return obj;
|
|
49
|
+
}
|
|
50
|
+
function pickFirst(arr) {
|
|
51
|
+
return arr.filter((v) => v !== undefined)[0];
|
|
52
|
+
}
|
|
53
|
+
function assertVikeConfigGlobal(vikeConfigGlobal, wrongUsageMsg) {
|
|
54
|
+
const wrongUsageError = check(vikeConfigGlobal);
|
|
55
|
+
if (wrongUsageError) {
|
|
56
|
+
assertUsage(false, wrongUsageMsg(wrongUsageError));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function check(vikeConfigGlobal) {
|
|
60
|
+
assert(isObject(vikeConfigGlobal));
|
|
61
|
+
{
|
|
62
|
+
const prop = 'disableUrlNormalization';
|
|
63
|
+
if (!hasProp(vikeConfigGlobal, prop, 'boolean') && !hasProp(vikeConfigGlobal, prop, 'undefined'))
|
|
64
|
+
return { prop, errMsg: 'should be a boolean' };
|
|
65
|
+
}
|
|
66
|
+
{
|
|
67
|
+
const prop = 'trailingSlash';
|
|
68
|
+
if (!hasProp(vikeConfigGlobal, prop, 'boolean') && !hasProp(vikeConfigGlobal, prop, 'undefined'))
|
|
69
|
+
return { prop, errMsg: 'should be a boolean' };
|
|
70
|
+
}
|
|
71
|
+
{
|
|
72
|
+
const prop = 'redirects';
|
|
73
|
+
const { redirects } = vikeConfigGlobal;
|
|
74
|
+
if (!(redirects === undefined ||
|
|
75
|
+
(isObject(redirects) && Object.values(redirects).every((v) => typeof v === 'string'))))
|
|
76
|
+
return { prop, errMsg: 'should be an object of strings' };
|
|
77
|
+
}
|
|
78
|
+
{
|
|
79
|
+
const prop = 'disableAutoFullBuild';
|
|
80
|
+
if (!hasProp(vikeConfigGlobal, prop, 'boolean') &&
|
|
81
|
+
!hasProp(vikeConfigGlobal, prop, 'undefined') &&
|
|
82
|
+
!(vikeConfigGlobal[prop] === 'prerender'))
|
|
83
|
+
return { prop, errMsg: "should be a boolean or 'prerender'" };
|
|
84
|
+
}
|
|
85
|
+
{
|
|
86
|
+
const prop = 'includeAssetsImportedByServer';
|
|
87
|
+
if (!hasProp(vikeConfigGlobal, prop, 'boolean') && !hasProp(vikeConfigGlobal, prop, 'undefined'))
|
|
88
|
+
return { prop, errMsg: 'should be a boolean' };
|
|
89
|
+
}
|
|
90
|
+
{
|
|
91
|
+
const prop = 'prerender';
|
|
92
|
+
if (!hasProp(vikeConfigGlobal, prop, 'object') &&
|
|
93
|
+
!hasProp(vikeConfigGlobal, prop, 'boolean') &&
|
|
94
|
+
!hasProp(vikeConfigGlobal, prop, 'undefined'))
|
|
95
|
+
return { prop, errMsg: 'should be an object or a boolean' };
|
|
96
|
+
}
|
|
97
|
+
const configVikePrerender = vikeConfigGlobal.prerender;
|
|
98
|
+
if (typeof configVikePrerender === 'object') {
|
|
99
|
+
{
|
|
100
|
+
const p = 'partial';
|
|
101
|
+
if (!hasProp(configVikePrerender, p, 'boolean') && !hasProp(configVikePrerender, p, 'undefined'))
|
|
102
|
+
return { prop: `prerender.${p}`, errMsg: 'should be a boolean' };
|
|
103
|
+
}
|
|
104
|
+
{
|
|
105
|
+
const p = 'noExtraDir';
|
|
106
|
+
if (!hasProp(configVikePrerender, p, 'boolean') && !hasProp(configVikePrerender, p, 'undefined'))
|
|
107
|
+
return { prop: `prerender.${p}`, errMsg: 'should be a boolean' };
|
|
108
|
+
}
|
|
109
|
+
{
|
|
110
|
+
const p = 'disableAutoRun';
|
|
111
|
+
if (!hasProp(configVikePrerender, p, 'boolean') && !hasProp(configVikePrerender, p, 'undefined'))
|
|
112
|
+
return { prop: `prerender.${p}`, errMsg: 'should be a boolean' };
|
|
113
|
+
}
|
|
114
|
+
{
|
|
115
|
+
const p = 'parallel';
|
|
116
|
+
if (!hasProp(configVikePrerender, p, 'boolean') &&
|
|
117
|
+
!hasProp(configVikePrerender, p, 'number') &&
|
|
118
|
+
!hasProp(configVikePrerender, p, 'undefined'))
|
|
119
|
+
return { prop: `prerender.${p}`, errMsg: 'should be a boolean or a number' };
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { getVikeConfig };
|
|
2
|
+
export { getVikeConfig2 };
|
|
2
3
|
export { reloadVikeConfig };
|
|
3
4
|
export { vikeConfigDependencies };
|
|
4
5
|
export { isVikeConfigFile };
|
|
@@ -11,6 +12,7 @@ import type { PageConfigGlobalBuildTime, PageConfigBuildTime } from '../../../..
|
|
|
11
12
|
import { type LocationId } from './getVikeConfig/filesystemRouting.js';
|
|
12
13
|
import type { ResolvedConfig } from 'vite';
|
|
13
14
|
import type { FilePathResolved } from '../../../../../shared/page-configs/FilePath.js';
|
|
15
|
+
import type { VikeConfigGlobal } from './getVikeConfig/resolveVikeConfigGlobal.js';
|
|
14
16
|
type InterfaceFile = InterfaceConfigFile | InterfaceValueFile;
|
|
15
17
|
type InterfaceFileCommons = {
|
|
16
18
|
locationId: LocationId;
|
|
@@ -34,14 +36,14 @@ type ConfigName = string;
|
|
|
34
36
|
type VikeConfigObject = {
|
|
35
37
|
pageConfigs: PageConfigBuildTime[];
|
|
36
38
|
pageConfigGlobal: PageConfigGlobalBuildTime;
|
|
37
|
-
|
|
39
|
+
vikeConfigGlobal: VikeConfigGlobal;
|
|
38
40
|
};
|
|
39
41
|
declare const vikeConfigDependencies: Set<string>;
|
|
40
|
-
declare function reloadVikeConfig(
|
|
41
|
-
declare function getVikeConfig(config: ResolvedConfig,
|
|
42
|
-
|
|
43
|
-
tolerateInvalidConfig?: true;
|
|
42
|
+
declare function reloadVikeConfig(config: ResolvedConfig): void;
|
|
43
|
+
declare function getVikeConfig(config: ResolvedConfig, { doNotRestartViteOnError }?: {
|
|
44
|
+
doNotRestartViteOnError?: true;
|
|
44
45
|
}): Promise<VikeConfigObject>;
|
|
45
|
-
declare function
|
|
46
|
+
declare function getVikeConfig2(userRootDir: string, isDev: boolean, vikeVitePluginOptions: unknown): Promise<VikeConfigObject>;
|
|
47
|
+
declare function isV1Design(config: ResolvedConfig): Promise<boolean>;
|
|
46
48
|
declare function isVikeConfigFile(filePath: string): boolean;
|
|
47
49
|
declare function getConfigValueInterfaceFile(interfaceFile: InterfaceFile, configName: string): unknown;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export { getVikeConfig };
|
|
2
|
+
export { getVikeConfig2 };
|
|
2
3
|
export { reloadVikeConfig };
|
|
3
4
|
export { vikeConfigDependencies };
|
|
4
5
|
export { isVikeConfigFile };
|
|
5
6
|
export { isV1Design };
|
|
6
7
|
export { getConfigValueInterfaceFile };
|
|
7
|
-
import { assertPosixPath, assert, isObject, assertUsage, assertWarning, objectEntries, hasProp, includes, assertIsNotProductionRuntime, getMostSimilar, joinEnglish, lowerFirst,
|
|
8
|
+
import { assertPosixPath, assert, isObject, assertUsage, assertWarning, objectEntries, hasProp, includes, assertIsNotProductionRuntime, getMostSimilar, joinEnglish, lowerFirst, assertKeys, objectKeys, objectFromEntries, makeFirst, isNpmPackageImport, reverse } from '../../../utils.js';
|
|
8
9
|
import path from 'path';
|
|
9
10
|
import { configDefinitionsBuiltIn, configDefinitionsBuiltInGlobal } from './getVikeConfig/configDefinitionsBuiltIn.js';
|
|
10
11
|
import { getLocationId, getFilesystemRouteString, getFilesystemRouteDefinedBy, isInherited, sortAfterInheritanceOrder, isGlobalLocation, applyFilesystemRoutingRootEffect } from './getVikeConfig/filesystemRouting.js';
|
|
@@ -21,17 +22,20 @@ import { loadConfigFile, loadImportedFile, loadValueFile } from './getVikeConfig
|
|
|
21
22
|
import { clearFilesEnvMap, resolveConfigEnvWithFileName, resolvePointerImportOfConfig } from './getVikeConfig/resolvePointerImport.js';
|
|
22
23
|
import { getFilePathResolved } from '../../../shared/getFilePath.js';
|
|
23
24
|
import { getConfigValueBuildTime } from '../../../../../shared/page-configs/getConfigValueBuildTime.js';
|
|
24
|
-
import { getConfigVike } from '../../../../shared/getConfigVike.js';
|
|
25
25
|
import { assertExtensionsPeerDependencies, assertExtensionsConventions } from './assertExtensions.js';
|
|
26
|
+
import { resolveVikeConfigGlobal } from './getVikeConfig/resolveVikeConfigGlobal.js';
|
|
26
27
|
assertIsNotProductionRuntime();
|
|
27
|
-
let
|
|
28
|
+
let restartVite = false;
|
|
28
29
|
let wasConfigInvalid = null;
|
|
29
30
|
let vikeConfigPromise = null;
|
|
30
31
|
const vikeConfigDependencies = new Set();
|
|
31
|
-
function reloadVikeConfig(
|
|
32
|
+
function reloadVikeConfig(config) {
|
|
33
|
+
const userRootDir = config.root;
|
|
34
|
+
const vikeVitePluginOptions = config._vikeVitePluginOptions;
|
|
35
|
+
assert(vikeVitePluginOptions);
|
|
32
36
|
vikeConfigDependencies.clear();
|
|
33
37
|
clearFilesEnvMap();
|
|
34
|
-
vikeConfigPromise = loadVikeConfig_withErrorHandling(userRootDir,
|
|
38
|
+
vikeConfigPromise = loadVikeConfig_withErrorHandling(userRootDir, true, vikeVitePluginOptions);
|
|
35
39
|
handleReloadSideEffects();
|
|
36
40
|
}
|
|
37
41
|
async function handleReloadSideEffects() {
|
|
@@ -55,8 +59,8 @@ async function handleReloadSideEffects() {
|
|
|
55
59
|
wasConfigInvalid = false;
|
|
56
60
|
logConfigErrorRecover();
|
|
57
61
|
}
|
|
58
|
-
if (
|
|
59
|
-
|
|
62
|
+
if (restartVite) {
|
|
63
|
+
restartVite = false;
|
|
60
64
|
const viteDevServer = getViteDevServer();
|
|
61
65
|
assert(viteDevServer);
|
|
62
66
|
removeSuperfluousViteLog_enable();
|
|
@@ -65,23 +69,31 @@ async function handleReloadSideEffects() {
|
|
|
65
69
|
}
|
|
66
70
|
}
|
|
67
71
|
}
|
|
68
|
-
async function getVikeConfig(config,
|
|
69
|
-
const { outDirRoot } = getOutDirs(config);
|
|
72
|
+
async function getVikeConfig(config, { doNotRestartViteOnError } = {}) {
|
|
70
73
|
const userRootDir = config.root;
|
|
74
|
+
const vikeVitePluginOptions = config._vikeVitePluginOptions;
|
|
75
|
+
assert(vikeVitePluginOptions);
|
|
76
|
+
const isDev = config._isDev;
|
|
77
|
+
assert(typeof isDev === 'boolean');
|
|
78
|
+
return await getVikeConfigEntry(userRootDir, isDev, vikeVitePluginOptions, doNotRestartViteOnError ?? false);
|
|
79
|
+
}
|
|
80
|
+
async function getVikeConfig2(userRootDir, isDev, vikeVitePluginOptions) {
|
|
81
|
+
return await getVikeConfigEntry(userRootDir, isDev, vikeVitePluginOptions, false);
|
|
82
|
+
}
|
|
83
|
+
async function getVikeConfigEntry(userRootDir, isDev, vikeVitePluginOptions, doNotRestartViteOnError) {
|
|
71
84
|
if (!vikeConfigPromise) {
|
|
72
|
-
|
|
73
|
-
vikeConfigPromise = loadVikeConfig_withErrorHandling(userRootDir, outDirRoot, isDev, crawlWithGit_, tolerateInvalidConfig);
|
|
85
|
+
vikeConfigPromise = loadVikeConfig_withErrorHandling(userRootDir, isDev, vikeVitePluginOptions, doNotRestartViteOnError);
|
|
74
86
|
}
|
|
75
87
|
return await vikeConfigPromise;
|
|
76
88
|
}
|
|
77
|
-
async function isV1Design(config
|
|
78
|
-
const vikeConfig = await getVikeConfig(config
|
|
89
|
+
async function isV1Design(config) {
|
|
90
|
+
const vikeConfig = await getVikeConfig(config);
|
|
79
91
|
const { pageConfigs } = vikeConfig;
|
|
80
92
|
const isV1Design = pageConfigs.length > 0;
|
|
81
93
|
return isV1Design;
|
|
82
94
|
}
|
|
83
|
-
async function loadInterfaceFiles(userRootDir,
|
|
84
|
-
const plusFiles = await findPlusFiles(userRootDir,
|
|
95
|
+
async function loadInterfaceFiles(userRootDir, crawlWithGit) {
|
|
96
|
+
const plusFiles = await findPlusFiles(userRootDir, null, crawlWithGit);
|
|
85
97
|
const configFiles = [];
|
|
86
98
|
const valueFiles = [];
|
|
87
99
|
plusFiles.forEach((f) => {
|
|
@@ -190,12 +202,12 @@ function assertAllConfigsAreKnown(interfaceFilesByLocationId) {
|
|
|
190
202
|
});
|
|
191
203
|
});
|
|
192
204
|
}
|
|
193
|
-
async function loadVikeConfig_withErrorHandling(userRootDir,
|
|
205
|
+
async function loadVikeConfig_withErrorHandling(userRootDir, isDev, vikeVitePluginOptions, doNotRestartViteOnError) {
|
|
194
206
|
let hasError = false;
|
|
195
207
|
let ret;
|
|
196
208
|
let err;
|
|
197
209
|
try {
|
|
198
|
-
ret = await loadVikeConfig(userRootDir,
|
|
210
|
+
ret = await loadVikeConfig(userRootDir, vikeVitePluginOptions);
|
|
199
211
|
}
|
|
200
212
|
catch (err_) {
|
|
201
213
|
hasError = true;
|
|
@@ -217,8 +229,8 @@ async function loadVikeConfig_withErrorHandling(userRootDir, outDirRoot, isDev,
|
|
|
217
229
|
}
|
|
218
230
|
else {
|
|
219
231
|
logConfigError(err);
|
|
220
|
-
if (!
|
|
221
|
-
|
|
232
|
+
if (!doNotRestartViteOnError) {
|
|
233
|
+
restartVite = true;
|
|
222
234
|
}
|
|
223
235
|
const dummyData = {
|
|
224
236
|
pageConfigs: [],
|
|
@@ -226,16 +238,18 @@ async function loadVikeConfig_withErrorHandling(userRootDir, outDirRoot, isDev,
|
|
|
226
238
|
configDefinitions: {},
|
|
227
239
|
configValueSources: {}
|
|
228
240
|
},
|
|
229
|
-
|
|
241
|
+
vikeConfigGlobal: resolveVikeConfigGlobal({}, {})
|
|
230
242
|
};
|
|
231
243
|
return dummyData;
|
|
232
244
|
}
|
|
233
245
|
}
|
|
234
246
|
}
|
|
235
|
-
async function loadVikeConfig(userRootDir,
|
|
236
|
-
const
|
|
247
|
+
async function loadVikeConfig(userRootDir, vikeVitePluginOptions) {
|
|
248
|
+
const crawlWithGit = resolveVikeConfigGlobal(vikeVitePluginOptions, {}).crawl.git ?? null;
|
|
249
|
+
const interfaceFilesByLocationId = await loadInterfaceFiles(userRootDir, crawlWithGit);
|
|
237
250
|
const importedFilesLoaded = {};
|
|
238
|
-
const {
|
|
251
|
+
const { pageConfigGlobal, pageConfigGlobalValues } = await getGlobalConfigs(interfaceFilesByLocationId, userRootDir, importedFilesLoaded);
|
|
252
|
+
const vikeConfigGlobal = resolveVikeConfigGlobal(vikeVitePluginOptions, pageConfigGlobalValues);
|
|
239
253
|
const pageConfigs = await Promise.all(objectEntries(interfaceFilesByLocationId)
|
|
240
254
|
.filter(([_pageId, interfaceFiles]) => isDefiningPage(interfaceFiles))
|
|
241
255
|
.map(async ([locationId]) => {
|
|
@@ -285,7 +299,7 @@ async function loadVikeConfig(userRootDir, outDirRoot, crawlWithGit) {
|
|
|
285
299
|
return pageConfig;
|
|
286
300
|
}));
|
|
287
301
|
assertPageConfigs(pageConfigs);
|
|
288
|
-
return { pageConfigs, pageConfigGlobal,
|
|
302
|
+
return { pageConfigs, pageConfigGlobal, vikeConfigGlobal };
|
|
289
303
|
}
|
|
290
304
|
// TODO/soon: refactor
|
|
291
305
|
// - Dedupe: most of the assertUsageGlobalConfigs() code below is a copy-paste of the assertUsage() logic inside getGlobalConfigs()
|
|
@@ -395,7 +409,7 @@ async function getGlobalConfigs(interfaceFilesByLocationId, userRootDir, importe
|
|
|
395
409
|
});
|
|
396
410
|
});
|
|
397
411
|
}
|
|
398
|
-
const
|
|
412
|
+
const pageConfigGlobalValues = {};
|
|
399
413
|
const pageConfigGlobal = {
|
|
400
414
|
configDefinitions: configDefinitionsBuiltInGlobal,
|
|
401
415
|
configValueSources: {}
|
|
@@ -415,10 +429,10 @@ async function getGlobalConfigs(interfaceFilesByLocationId, userRootDir, importe
|
|
|
415
429
|
return;
|
|
416
430
|
const { filePathToShowToUser } = configValueSource.definedAtFilePath;
|
|
417
431
|
assertWarning(false, `Being able to define config ${pc.cyan(configName)} in ${filePathToShowToUser} is experimental and will likely be removed. Define the config ${pc.cyan(configName)} in Vike's Vite plugin options instead.`, { onlyOnce: true });
|
|
418
|
-
|
|
432
|
+
pageConfigGlobalValues[configName] = configValueSource.value;
|
|
419
433
|
}
|
|
420
434
|
}));
|
|
421
|
-
return { pageConfigGlobal,
|
|
435
|
+
return { pageConfigGlobal, pageConfigGlobalValues };
|
|
422
436
|
}
|
|
423
437
|
async function resolveConfigValueSources(configName, configDef, interfaceFilesRelevant, userRootDir, importedFilesLoaded) {
|
|
424
438
|
const sourcesInfo = [];
|
package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js
CHANGED
|
@@ -6,7 +6,6 @@ import { extractAssetsAddQuery } from '../../../../shared/extractAssetsQuery.js'
|
|
|
6
6
|
import { debug } from './debug.js';
|
|
7
7
|
import { isRuntimeEnvMatch } from './isRuntimeEnvMatch.js';
|
|
8
8
|
import { serializeConfigValues } from '../../../../../shared/page-configs/serialize/serializeConfigValues.js';
|
|
9
|
-
import { getConfigVike } from '../../../../shared/getConfigVike.js';
|
|
10
9
|
import { fixServerAssets_isEnabled } from '../../buildConfig/fixServerAssets.js';
|
|
11
10
|
import { getConfigValueBuildTime } from '../../../../../shared/page-configs/getConfigValueBuildTime.js';
|
|
12
11
|
async function getVirtualFilePageConfigValuesAll(id, isDev, config) {
|
|
@@ -19,11 +18,11 @@ async function getVirtualFilePageConfigValuesAll(id, isDev, config) {
|
|
|
19
18
|
}
|
|
20
19
|
*/
|
|
21
20
|
const { pageId, isForClientSide } = result;
|
|
22
|
-
const
|
|
21
|
+
const vikeConfig = await getVikeConfig(config, { doNotRestartViteOnError: true });
|
|
22
|
+
const { pageConfigs } = vikeConfig;
|
|
23
23
|
const pageConfig = pageConfigs.find((pageConfig) => pageConfig.pageId === pageId);
|
|
24
24
|
assert(pageConfig, { id, pageId });
|
|
25
|
-
const
|
|
26
|
-
const code = getLoadConfigValuesAll(pageConfig, isForClientSide, pageId, configVike.includeAssetsImportedByServer, isDev);
|
|
25
|
+
const code = getLoadConfigValuesAll(pageConfig, isForClientSide, pageId, vikeConfig.vikeConfigGlobal.includeAssetsImportedByServer, isDev);
|
|
27
26
|
debug(id, isForClientSide ? 'CLIENT-SIDE' : 'SERVER-SIDE', code);
|
|
28
27
|
return code;
|
|
29
28
|
}
|
|
@@ -5,7 +5,7 @@ import { getVikeConfig } from './getVikeConfig.js';
|
|
|
5
5
|
import { isRuntimeEnvMatch } from './isRuntimeEnvMatch.js';
|
|
6
6
|
import { serializeConfigValues } from '../../../../../shared/page-configs/serialize/serializeConfigValues.js';
|
|
7
7
|
async function getVirtualFilePageConfigs(isForClientSide, isDev, id, isClientRouting, config) {
|
|
8
|
-
const { pageConfigs, pageConfigGlobal } = await getVikeConfig(config,
|
|
8
|
+
const { pageConfigs, pageConfigGlobal } = await getVikeConfig(config, { doNotRestartViteOnError: true });
|
|
9
9
|
return getCode(pageConfigs, pageConfigGlobal, isForClientSide, isDev, id, isClientRouting);
|
|
10
10
|
}
|
|
11
11
|
function getCode(pageConfigs, pageConfigGlobal, isForClientSide, isDev, id, isClientRouting) {
|
|
@@ -7,7 +7,7 @@ import pc from '@brillout/picocolors';
|
|
|
7
7
|
import { logDockerHint } from './devConfig/index.js';
|
|
8
8
|
function previewConfig() {
|
|
9
9
|
let config;
|
|
10
|
-
// let
|
|
10
|
+
// let vikeConfigGlobal: VikeConfigGlobal
|
|
11
11
|
return {
|
|
12
12
|
name: 'vike:previewConfig',
|
|
13
13
|
apply: applyPreview,
|
|
@@ -22,7 +22,8 @@ function previewConfig() {
|
|
|
22
22
|
async configResolved(config_) {
|
|
23
23
|
config = config_;
|
|
24
24
|
logDockerHint(config.preview.host);
|
|
25
|
-
//
|
|
25
|
+
// const vikeConfig = await getVikeConfig(config)
|
|
26
|
+
// vikeConfigGlobal = vikeConfig.vikeConfigGlobal
|
|
26
27
|
},
|
|
27
28
|
configurePreviewServer(server) {
|
|
28
29
|
/* - Couldn't make `appType: 'mpa'` work as of npm:@brillout/vite@5.0.0-beta.14.0426910c
|
|
@@ -32,7 +33,7 @@ function previewConfig() {
|
|
|
32
33
|
return () => {
|
|
33
34
|
assertDist();
|
|
34
35
|
/* We don't use this condition (we wrongfully always use the SSR middleware) because of the regression introduced by https://github.com/vitejs/vite/pull/14756 which stops servering .html files when `appType: 'custom'`.
|
|
35
|
-
if (!
|
|
36
|
+
if (!vikeConfigGlobal.prerender || vikeConfigGlobal.prerender.partial) {
|
|
36
37
|
addSsrMiddleware(server.middlewares, config, true)
|
|
37
38
|
}
|
|
38
39
|
/*/
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { setGlobalContext };
|
|
2
|
-
import { setGlobalContext_isViteDev, setGlobalContext_viteDevServer, setGlobalContext_viteConfig } from '../../runtime/globalContext.js';
|
|
2
|
+
import { setGlobalContext_isViteDev, setGlobalContext_viteDevServer, setGlobalContext_viteConfig, setGlobalContext_vikeConfig } from '../../runtime/globalContext.js';
|
|
3
3
|
import { assertFilePathAbsoluteFilesystem, getOutDirs, isDevCheck, markSetup_isViteDev, markSetup_viteDevServer, markSetup_vitePreviewServer } from '../utils.js';
|
|
4
|
+
import { getVikeConfig } from './importUserCode/v1-design/getVikeConfig.js';
|
|
4
5
|
function setGlobalContext() {
|
|
5
6
|
return [
|
|
6
7
|
{
|
|
@@ -30,10 +31,12 @@ function setGlobalContext() {
|
|
|
30
31
|
enforce: 'post',
|
|
31
32
|
configResolved: {
|
|
32
33
|
order: 'post',
|
|
33
|
-
handler(config) {
|
|
34
|
+
async handler(config) {
|
|
34
35
|
const { outDirRoot } = getOutDirs(config);
|
|
35
36
|
assertFilePathAbsoluteFilesystem(outDirRoot); // Needed for loadImportBuild(outDir) of @brillout/vite-plugin-server-entry
|
|
36
37
|
setGlobalContext_viteConfig(config, outDirRoot);
|
|
38
|
+
const vikeConfig = await getVikeConfig(config);
|
|
39
|
+
setGlobalContext_vikeConfig(vikeConfig);
|
|
37
40
|
}
|
|
38
41
|
}
|
|
39
42
|
}
|
|
@@ -11,7 +11,6 @@ import pc from '@brillout/picocolors';
|
|
|
11
11
|
import { cpus } from 'os';
|
|
12
12
|
import { getGlobalContext, initGlobalContext_runPrerender, setGlobalContext_isPrerendering } from '../runtime/globalContext.js';
|
|
13
13
|
import { resolveConfig } from 'vite';
|
|
14
|
-
import { getConfigVike } from '../shared/getConfigVike.js';
|
|
15
14
|
import { getPageFilesServerSide } from '../../shared/getPageFiles.js';
|
|
16
15
|
import { getPageContextRequestUrl } from '../../shared/getPageContextRequestUrl.js';
|
|
17
16
|
import { getUrlFromRouteString } from '../../shared/route/resolveRouteString.js';
|
|
@@ -71,10 +70,10 @@ async function runPrerender(options = {}, standaloneTrigger) {
|
|
|
71
70
|
await disableReactStreaming();
|
|
72
71
|
const viteConfig = await resolveConfig(options.viteConfig || {}, 'vike pre-rendering', 'production');
|
|
73
72
|
assertLoadedConfig(viteConfig, options);
|
|
74
|
-
const
|
|
73
|
+
const vikeConfig = await getVikeConfig(viteConfig);
|
|
75
74
|
const { outDirClient } = getOutDirs(viteConfig);
|
|
76
75
|
const { root } = viteConfig;
|
|
77
|
-
const prerenderConfig =
|
|
76
|
+
const prerenderConfig = vikeConfig.vikeConfigGlobal.prerender;
|
|
78
77
|
if (!prerenderConfig) {
|
|
79
78
|
assert(standaloneTrigger);
|
|
80
79
|
assertWarning(prerenderConfig, `You're executing ${pc.cyan(standaloneTrigger)} but the config ${pc.cyan('prerender')} isn't set to true`, {
|
|
@@ -94,7 +93,6 @@ async function runPrerender(options = {}, standaloneTrigger) {
|
|
|
94
93
|
pageContextInit: options.pageContextInit ?? null
|
|
95
94
|
});
|
|
96
95
|
const doNotPrerenderList = [];
|
|
97
|
-
const vikeConfig = await getVikeConfig(viteConfig, false);
|
|
98
96
|
await collectDoNoPrerenderList(renderContext, vikeConfig.pageConfigs, doNotPrerenderList, concurrencyLimit);
|
|
99
97
|
await callOnBeforePrerenderStartHooks(prerenderContext, renderContext, concurrencyLimit, doNotPrerenderList);
|
|
100
98
|
await handlePagesWithStaticRoutes(prerenderContext, renderContext, doNotPrerenderList, concurrencyLimit);
|
|
@@ -9,13 +9,15 @@ export { initGlobalContext_runPrerender };
|
|
|
9
9
|
export { initGlobalContext_getGlobalContextAsync };
|
|
10
10
|
export { setGlobalContext_viteDevServer };
|
|
11
11
|
export { setGlobalContext_viteConfig };
|
|
12
|
+
export { setGlobalContext_vikeConfig };
|
|
12
13
|
export { setGlobalContext_isViteDev };
|
|
13
14
|
export { setGlobalContext_isPrerendering };
|
|
14
15
|
import type { ViteManifest } from '../shared/ViteManifest.js';
|
|
15
16
|
import type { ResolvedConfig, ViteDevServer } from 'vite';
|
|
16
17
|
import { PluginManifest } from '../shared/assertPluginManifest.js';
|
|
17
|
-
import type {
|
|
18
|
+
import type { VikeConfigGlobal } from '../plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js';
|
|
18
19
|
import { type RuntimeManifest } from '../shared/assertRuntimeManifest.js';
|
|
20
|
+
import type { VikeConfigObject } from '../plugin/plugins/importUserCode/v1-design/getVikeConfig.js';
|
|
19
21
|
type GlobalContextPublic = {
|
|
20
22
|
assetsManifest: null | ViteManifest;
|
|
21
23
|
};
|
|
@@ -30,6 +32,7 @@ type GlobalContext = {
|
|
|
30
32
|
isProduction: false;
|
|
31
33
|
isPrerendering: false;
|
|
32
34
|
viteConfig: ResolvedConfig;
|
|
35
|
+
vikeConfig: VikeConfigObject;
|
|
33
36
|
viteDevServer: ViteDevServer;
|
|
34
37
|
assetsManifest: null;
|
|
35
38
|
pluginManifest: null;
|
|
@@ -52,6 +55,7 @@ declare function getGlobalContextSync(): GlobalContextPublic;
|
|
|
52
55
|
declare function getGlobalContextAsync(isProduction: boolean): Promise<GlobalContextPublic>;
|
|
53
56
|
declare function setGlobalContext_viteDevServer(viteDevServer: ViteDevServer): void;
|
|
54
57
|
declare function setGlobalContext_viteConfig(viteConfig: ResolvedConfig, outDirRoot: string): void;
|
|
58
|
+
declare function setGlobalContext_vikeConfig(vikeConfig: VikeConfigObject): void;
|
|
55
59
|
declare function setGlobalContext_isViteDev(isViteDev: boolean): void;
|
|
56
60
|
declare function setGlobalContext_isPrerendering(): void;
|
|
57
61
|
declare function getViteDevServer(): ViteDevServer | null;
|
|
@@ -59,4 +63,4 @@ declare function getViteConfig(): ResolvedConfig | null;
|
|
|
59
63
|
declare function initGlobalContext_renderPage(): Promise<void>;
|
|
60
64
|
declare function initGlobalContext_runPrerender(): Promise<void>;
|
|
61
65
|
declare function initGlobalContext_getGlobalContextAsync(isProduction: boolean): Promise<void>;
|
|
62
|
-
declare function getRuntimeManifest(
|
|
66
|
+
declare function getRuntimeManifest(vikeConfigGlobal: VikeConfigGlobal, viteConfig: ResolvedConfig): RuntimeManifest;
|
|
@@ -11,16 +11,17 @@ export { initGlobalContext_runPrerender };
|
|
|
11
11
|
export { initGlobalContext_getGlobalContextAsync };
|
|
12
12
|
export { setGlobalContext_viteDevServer };
|
|
13
13
|
export { setGlobalContext_viteConfig };
|
|
14
|
+
export { setGlobalContext_vikeConfig };
|
|
14
15
|
export { setGlobalContext_isViteDev };
|
|
15
16
|
export { setGlobalContext_isPrerendering };
|
|
16
17
|
import { assert, onSetupRuntime, assertUsage, assertWarning, getGlobalObject, isPlainObject, objectAssign, objectKeys, genPromise } from './utils.js';
|
|
17
18
|
import { loadImportBuild } from './globalContext/loadImportBuild.js';
|
|
18
19
|
import { setPageFiles } from '../../shared/getPageFiles.js';
|
|
19
20
|
import { assertPluginManifest } from '../shared/assertPluginManifest.js';
|
|
20
|
-
import { getConfigVike } from '../shared/getConfigVike.js';
|
|
21
21
|
import { assertRuntimeManifest } from '../shared/assertRuntimeManifest.js';
|
|
22
22
|
import pc from '@brillout/picocolors';
|
|
23
23
|
import { getPageFilesExports } from './page-files/getPageFilesExports.js';
|
|
24
|
+
import { resolveBaseFromResolvedConfig } from '../shared/resolveBase.js';
|
|
24
25
|
const globalObject = getGlobalObject('globalContext.ts', (() => {
|
|
25
26
|
const { promise: viteDevServerPromise, resolve: viteDevServerPromiseResolve } = genPromise();
|
|
26
27
|
return {
|
|
@@ -85,6 +86,12 @@ function setGlobalContext_viteConfig(viteConfig, outDirRoot) {
|
|
|
85
86
|
globalObject.viteConfig = viteConfig;
|
|
86
87
|
globalObject.outDirRoot = outDirRoot;
|
|
87
88
|
}
|
|
89
|
+
function setGlobalContext_vikeConfig(vikeConfig) {
|
|
90
|
+
if (globalObject.vikeConfig)
|
|
91
|
+
return;
|
|
92
|
+
assertIsNotInitilizedYet();
|
|
93
|
+
globalObject.vikeConfig = vikeConfig;
|
|
94
|
+
}
|
|
88
95
|
function assertIsNotInitilizedYet() {
|
|
89
96
|
// In develpoment, globalObject.viteDevServer always needs to be awaited for before initializing globalObject.globalContext
|
|
90
97
|
assert(!globalObject.globalContext);
|
|
@@ -138,14 +145,15 @@ async function initGlobalContext(isProduction) {
|
|
|
138
145
|
assert(globalObject.globalContext.isPrerendering === (globalObject.isPrerendering ?? false));
|
|
139
146
|
return;
|
|
140
147
|
}
|
|
141
|
-
const { viteDevServer, viteConfig, isPrerendering } = globalObject;
|
|
148
|
+
const { viteDevServer, viteConfig, vikeConfig, isPrerendering } = globalObject;
|
|
142
149
|
onSetupRuntime();
|
|
143
150
|
if (!isProduction) {
|
|
144
151
|
assert(viteConfig);
|
|
152
|
+
assert(vikeConfig);
|
|
145
153
|
assert(viteDevServer);
|
|
146
154
|
assert(!isPrerendering);
|
|
147
|
-
const
|
|
148
|
-
const pluginManifest = getRuntimeManifest(
|
|
155
|
+
const vikeConfigGlobal = vikeConfig.vikeConfigGlobal;
|
|
156
|
+
const pluginManifest = getRuntimeManifest(vikeConfigGlobal, viteConfig);
|
|
149
157
|
globalObject.globalContext = {
|
|
150
158
|
isProduction: false,
|
|
151
159
|
isPrerendering: false,
|
|
@@ -153,6 +161,7 @@ async function initGlobalContext(isProduction) {
|
|
|
153
161
|
pluginManifest: null,
|
|
154
162
|
viteDevServer,
|
|
155
163
|
viteConfig,
|
|
164
|
+
vikeConfig,
|
|
156
165
|
baseServer: pluginManifest.baseServer,
|
|
157
166
|
baseAssets: pluginManifest.baseAssets,
|
|
158
167
|
includeAssetsImportedByServer: pluginManifest.includeAssetsImportedByServer,
|
|
@@ -182,8 +191,6 @@ async function initGlobalContext(isProduction) {
|
|
|
182
191
|
};
|
|
183
192
|
if (isPrerendering) {
|
|
184
193
|
assert(viteConfig);
|
|
185
|
-
const configVike = await getConfigVike(viteConfig);
|
|
186
|
-
assert(configVike);
|
|
187
194
|
objectAssign(globalContext, {
|
|
188
195
|
isPrerendering: true,
|
|
189
196
|
viteConfig
|
|
@@ -199,8 +206,9 @@ async function initGlobalContext(isProduction) {
|
|
|
199
206
|
}
|
|
200
207
|
}
|
|
201
208
|
}
|
|
202
|
-
function getRuntimeManifest(
|
|
203
|
-
const { includeAssetsImportedByServer,
|
|
209
|
+
function getRuntimeManifest(vikeConfigGlobal, viteConfig) {
|
|
210
|
+
const { includeAssetsImportedByServer, redirects, trailingSlash, disableUrlNormalization } = vikeConfigGlobal;
|
|
211
|
+
const { baseServer, baseAssets } = resolveBaseFromResolvedConfig(vikeConfigGlobal.baseServer, vikeConfigGlobal.baseAssets, viteConfig);
|
|
204
212
|
const manifest = {
|
|
205
213
|
baseServer,
|
|
206
214
|
baseAssets,
|
|
@@ -121,7 +121,7 @@ function getPageContextInitEnhanced(pageContextInit, renderContext, { ssr: { url
|
|
|
121
121
|
objectAssign(pageContextInitEnhanced, pageContextInit);
|
|
122
122
|
objectAssign(pageContextInitEnhanced, {
|
|
123
123
|
_objectCreatedByVike: true,
|
|
124
|
-
// The following is defined on `pageContext` because we can eventually make these non-global
|
|
124
|
+
// The following is defined on `pageContext` because we can eventually make these non-global
|
|
125
125
|
_baseServer: globalContext.baseServer,
|
|
126
126
|
_baseAssets: globalContext.baseAssets,
|
|
127
127
|
_includeAssetsImportedByServer: globalContext.includeAssetsImportedByServer,
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { resolveBase };
|
|
2
|
+
export { resolveBaseFromResolvedConfig };
|
|
3
|
+
import type { ResolvedConfig } from 'vite';
|
|
4
|
+
declare function resolveBaseFromResolvedConfig(baseServer: string | null, baseAssets: string | null, config: ResolvedConfig): {
|
|
5
|
+
baseServer: string;
|
|
6
|
+
baseAssets: string;
|
|
7
|
+
};
|
|
8
|
+
declare function resolveBase(baseViteOriginal: string | null, baseServerUnresolved: string | null, baseAssetsUnresolved: string | null): {
|
|
9
|
+
baseServer: string;
|
|
10
|
+
baseAssets: string;
|
|
11
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export { resolveBase };
|
|
2
|
+
export { resolveBaseFromResolvedConfig };
|
|
3
|
+
import { assert, assertUsage, isBaseServer, isBaseAssets } from './utils.js';
|
|
4
|
+
import pc from '@brillout/picocolors';
|
|
5
|
+
function resolveBaseFromResolvedConfig(baseServer, baseAssets, config) {
|
|
6
|
+
let baseViteOriginal = config._baseViteOriginal;
|
|
7
|
+
if (baseViteOriginal === '/__UNSET__')
|
|
8
|
+
baseViteOriginal = null;
|
|
9
|
+
assert(baseViteOriginal === null || typeof baseViteOriginal == 'string');
|
|
10
|
+
return resolveBase(baseViteOriginal, baseServer, baseAssets);
|
|
11
|
+
}
|
|
12
|
+
function resolveBase(baseViteOriginal, baseServerUnresolved, baseAssetsUnresolved) {
|
|
13
|
+
{
|
|
14
|
+
const wrongBase = (val) => `should start with ${pc.cyan('/')}, ${pc.cyan('http://')}, or ${pc.cyan('https://')} (it's ${pc.cyan(val)} instead)`;
|
|
15
|
+
assertUsage(baseViteOriginal === null || isBaseAssets(baseViteOriginal), `vite.config.js#base ${wrongBase(baseViteOriginal)}`);
|
|
16
|
+
assertUsage(baseAssetsUnresolved === null || isBaseAssets(baseAssetsUnresolved), `Config ${pc.cyan('baseAssets')} ${wrongBase(baseAssetsUnresolved)}`);
|
|
17
|
+
assertUsage(baseServerUnresolved === null || baseServerUnresolved.startsWith('/'), `Config ${pc.cyan('baseServer')} should start with a leading slash ${pc.cyan('/')} (it's ${pc.cyan(String(baseServerUnresolved))} instead)`);
|
|
18
|
+
}
|
|
19
|
+
if (baseViteOriginal) {
|
|
20
|
+
if (baseViteOriginal.startsWith('http')) {
|
|
21
|
+
baseAssetsUnresolved = baseAssetsUnresolved ?? baseViteOriginal;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
baseAssetsUnresolved = baseAssetsUnresolved ?? baseViteOriginal;
|
|
25
|
+
baseServerUnresolved = baseServerUnresolved ?? baseViteOriginal;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const baseServer = baseServerUnresolved ?? '/';
|
|
29
|
+
const baseAssets = baseAssetsUnresolved ?? '/';
|
|
30
|
+
assert(isBaseAssets(baseAssets));
|
|
31
|
+
assert(isBaseServer(baseServer));
|
|
32
|
+
return {
|
|
33
|
+
baseServer,
|
|
34
|
+
baseAssets
|
|
35
|
+
};
|
|
36
|
+
}
|
|
@@ -35,7 +35,7 @@ import type { PrefetchSetting, PrefetchStaticAssets } from '../../client/client-
|
|
|
35
35
|
import type { ConfigDefinition } from '../../node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js';
|
|
36
36
|
import type { DocumentHtml } from '../../node/runtime/html/renderHtml.js';
|
|
37
37
|
import type { InjectFilterEntry } from '../../types/index.js';
|
|
38
|
-
import type {
|
|
38
|
+
import type { VikeVitePluginOptions } from '../../node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js';
|
|
39
39
|
import type { Vike, VikePackages } from '../VikeNamespace.js';
|
|
40
40
|
import type { HooksTimeoutProvidedByUser } from '../hooks/getHook.js';
|
|
41
41
|
import type { PageContextClient, PageContextServer } from '../types.js';
|
|
@@ -43,7 +43,7 @@ type HookName = HookNamePage | HookNameGlobal | HookNameOldDesign;
|
|
|
43
43
|
type HookNamePage = 'onHydrationEnd' | 'onBeforePrerenderStart' | 'onBeforeRender' | 'onPageTransitionStart' | 'onPageTransitionEnd' | 'onRenderHtml' | 'onRenderClient' | 'guard' | 'data';
|
|
44
44
|
type HookNameGlobal = 'onBeforePrerender' | 'onBeforeRoute' | 'onPrerenderStart';
|
|
45
45
|
type HookNameOldDesign = 'render' | 'prerender';
|
|
46
|
-
type ConfigNameBuiltIn = Exclude<keyof Config, keyof
|
|
46
|
+
type ConfigNameBuiltIn = Exclude<keyof Config, keyof VikeVitePluginOptions | 'onBeforeRoute' | 'onPrerenderStart'> | 'prerender' | 'isClientRuntimeLoaded' | 'onBeforeRenderEnv' | 'dataEnv' | 'hooksTimeout' | 'clientHooks' | 'middleware';
|
|
47
47
|
type Config = ConfigBuiltIn & Vike.Config & (VikePackages.ConfigVikeReact | VikePackages.ConfigVikeVue | VikePackages.ConfigVikeSolid | VikePackages.ConfigVikeSvelte | VikePackages.ConfigVikeAngular);
|
|
48
48
|
/** Hook for fetching data.
|
|
49
49
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const PROJECT_VERSION: "0.4.
|
|
1
|
+
export declare const PROJECT_VERSION: "0.4.217";
|