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,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.resolveVikeConfigGlobal = resolveVikeConfigGlobal;
|
|
7
|
+
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
8
|
+
const utils_js_1 = require("../../../../utils.js");
|
|
9
|
+
function resolveVikeConfigGlobal(vikeVitePluginOptions, pageConfigGlobalValues) {
|
|
10
|
+
// TODO/v1-release: remove
|
|
11
|
+
assertVikeConfigGlobal(vikeVitePluginOptions, ({ prop, errMsg }) => `vite.config.js > vike option ${prop} ${errMsg}`);
|
|
12
|
+
const configs = [vikeVitePluginOptions];
|
|
13
|
+
assertVikeConfigGlobal(pageConfigGlobalValues, ({ prop, errMsg }) => {
|
|
14
|
+
// Can we add the config file path ?
|
|
15
|
+
return `config ${picocolors_1.default.cyan(prop)} ${errMsg}`;
|
|
16
|
+
});
|
|
17
|
+
configs.push(pageConfigGlobalValues);
|
|
18
|
+
const vikeConfigGlobal = {
|
|
19
|
+
disableAutoFullBuild: pickFirst(configs.map((c) => c.disableAutoFullBuild)) ?? null,
|
|
20
|
+
prerender: resolvePrerenderOptions(configs),
|
|
21
|
+
includeAssetsImportedByServer: pickFirst(configs.map((c) => c.includeAssetsImportedByServer)) ?? true,
|
|
22
|
+
baseServer: pickFirst(configs.map((c) => c.baseServer)) ?? null,
|
|
23
|
+
baseAssets: pickFirst(configs.map((c) => c.baseAssets)) ?? null,
|
|
24
|
+
redirects: merge(configs.map((c) => c.redirects)) ?? {},
|
|
25
|
+
disableUrlNormalization: pickFirst(configs.map((c) => c.disableUrlNormalization)) ?? false,
|
|
26
|
+
trailingSlash: pickFirst(configs.map((c) => c.trailingSlash)) ?? false,
|
|
27
|
+
crawl: {
|
|
28
|
+
git: vikeVitePluginOptions.crawl?.git ?? null
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
return vikeConfigGlobal;
|
|
32
|
+
}
|
|
33
|
+
function resolvePrerenderOptions(configs) {
|
|
34
|
+
if (!configs.some((c) => c.prerender)) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
const configsPrerender = configs.map((c) => c.prerender).filter(isObject2);
|
|
38
|
+
return {
|
|
39
|
+
partial: pickFirst(configsPrerender.map((c) => c.partial)) ?? false,
|
|
40
|
+
noExtraDir: pickFirst(configsPrerender.map((c) => c.noExtraDir)) ?? false,
|
|
41
|
+
parallel: pickFirst(configsPrerender.map((c) => c.parallel)) ?? true,
|
|
42
|
+
disableAutoRun: pickFirst(configsPrerender.map((c) => c.disableAutoRun)) ?? false
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function isObject2(p) {
|
|
46
|
+
return typeof p === 'object';
|
|
47
|
+
}
|
|
48
|
+
function merge(objs) {
|
|
49
|
+
const obj = {};
|
|
50
|
+
objs.forEach((e) => {
|
|
51
|
+
Object.assign(obj, e);
|
|
52
|
+
});
|
|
53
|
+
return obj;
|
|
54
|
+
}
|
|
55
|
+
function pickFirst(arr) {
|
|
56
|
+
return arr.filter((v) => v !== undefined)[0];
|
|
57
|
+
}
|
|
58
|
+
function assertVikeConfigGlobal(vikeConfigGlobal, wrongUsageMsg) {
|
|
59
|
+
const wrongUsageError = check(vikeConfigGlobal);
|
|
60
|
+
if (wrongUsageError) {
|
|
61
|
+
(0, utils_js_1.assertUsage)(false, wrongUsageMsg(wrongUsageError));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
function check(vikeConfigGlobal) {
|
|
65
|
+
(0, utils_js_1.assert)((0, utils_js_1.isObject)(vikeConfigGlobal));
|
|
66
|
+
{
|
|
67
|
+
const prop = 'disableUrlNormalization';
|
|
68
|
+
if (!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'boolean') && !(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'undefined'))
|
|
69
|
+
return { prop, errMsg: 'should be a boolean' };
|
|
70
|
+
}
|
|
71
|
+
{
|
|
72
|
+
const prop = 'trailingSlash';
|
|
73
|
+
if (!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'boolean') && !(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'undefined'))
|
|
74
|
+
return { prop, errMsg: 'should be a boolean' };
|
|
75
|
+
}
|
|
76
|
+
{
|
|
77
|
+
const prop = 'redirects';
|
|
78
|
+
const { redirects } = vikeConfigGlobal;
|
|
79
|
+
if (!(redirects === undefined ||
|
|
80
|
+
((0, utils_js_1.isObject)(redirects) && Object.values(redirects).every((v) => typeof v === 'string'))))
|
|
81
|
+
return { prop, errMsg: 'should be an object of strings' };
|
|
82
|
+
}
|
|
83
|
+
{
|
|
84
|
+
const prop = 'disableAutoFullBuild';
|
|
85
|
+
if (!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'boolean') &&
|
|
86
|
+
!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'undefined') &&
|
|
87
|
+
!(vikeConfigGlobal[prop] === 'prerender'))
|
|
88
|
+
return { prop, errMsg: "should be a boolean or 'prerender'" };
|
|
89
|
+
}
|
|
90
|
+
{
|
|
91
|
+
const prop = 'includeAssetsImportedByServer';
|
|
92
|
+
if (!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'boolean') && !(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'undefined'))
|
|
93
|
+
return { prop, errMsg: 'should be a boolean' };
|
|
94
|
+
}
|
|
95
|
+
{
|
|
96
|
+
const prop = 'prerender';
|
|
97
|
+
if (!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'object') &&
|
|
98
|
+
!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'boolean') &&
|
|
99
|
+
!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'undefined'))
|
|
100
|
+
return { prop, errMsg: 'should be an object or a boolean' };
|
|
101
|
+
}
|
|
102
|
+
const configVikePrerender = vikeConfigGlobal.prerender;
|
|
103
|
+
if (typeof configVikePrerender === 'object') {
|
|
104
|
+
{
|
|
105
|
+
const p = 'partial';
|
|
106
|
+
if (!(0, utils_js_1.hasProp)(configVikePrerender, p, 'boolean') && !(0, utils_js_1.hasProp)(configVikePrerender, p, 'undefined'))
|
|
107
|
+
return { prop: `prerender.${p}`, errMsg: 'should be a boolean' };
|
|
108
|
+
}
|
|
109
|
+
{
|
|
110
|
+
const p = 'noExtraDir';
|
|
111
|
+
if (!(0, utils_js_1.hasProp)(configVikePrerender, p, 'boolean') && !(0, utils_js_1.hasProp)(configVikePrerender, p, 'undefined'))
|
|
112
|
+
return { prop: `prerender.${p}`, errMsg: 'should be a boolean' };
|
|
113
|
+
}
|
|
114
|
+
{
|
|
115
|
+
const p = 'disableAutoRun';
|
|
116
|
+
if (!(0, utils_js_1.hasProp)(configVikePrerender, p, 'boolean') && !(0, utils_js_1.hasProp)(configVikePrerender, p, 'undefined'))
|
|
117
|
+
return { prop: `prerender.${p}`, errMsg: 'should be a boolean' };
|
|
118
|
+
}
|
|
119
|
+
{
|
|
120
|
+
const p = 'parallel';
|
|
121
|
+
if (!(0, utils_js_1.hasProp)(configVikePrerender, p, 'boolean') &&
|
|
122
|
+
!(0, utils_js_1.hasProp)(configVikePrerender, p, 'number') &&
|
|
123
|
+
!(0, utils_js_1.hasProp)(configVikePrerender, p, 'undefined'))
|
|
124
|
+
return { prop: `prerender.${p}`, errMsg: 'should be a boolean or a number' };
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.vikeConfigDependencies = void 0;
|
|
7
7
|
exports.getVikeConfig = getVikeConfig;
|
|
8
|
+
exports.getVikeConfig2 = getVikeConfig2;
|
|
8
9
|
exports.reloadVikeConfig = reloadVikeConfig;
|
|
9
10
|
exports.isVikeConfigFile = isVikeConfigFile;
|
|
10
11
|
exports.isV1Design = isV1Design;
|
|
@@ -26,18 +27,21 @@ const loadFileAtConfigTime_js_1 = require("./getVikeConfig/loadFileAtConfigTime.
|
|
|
26
27
|
const resolvePointerImport_js_1 = require("./getVikeConfig/resolvePointerImport.js");
|
|
27
28
|
const getFilePath_js_1 = require("../../../shared/getFilePath.js");
|
|
28
29
|
const getConfigValueBuildTime_js_1 = require("../../../../../shared/page-configs/getConfigValueBuildTime.js");
|
|
29
|
-
const getConfigVike_js_1 = require("../../../../shared/getConfigVike.js");
|
|
30
30
|
const assertExtensions_js_1 = require("./assertExtensions.js");
|
|
31
|
+
const resolveVikeConfigGlobal_js_1 = require("./getVikeConfig/resolveVikeConfigGlobal.js");
|
|
31
32
|
(0, utils_js_1.assertIsNotProductionRuntime)();
|
|
32
|
-
let
|
|
33
|
+
let restartVite = false;
|
|
33
34
|
let wasConfigInvalid = null;
|
|
34
35
|
let vikeConfigPromise = null;
|
|
35
36
|
const vikeConfigDependencies = new Set();
|
|
36
37
|
exports.vikeConfigDependencies = vikeConfigDependencies;
|
|
37
|
-
function reloadVikeConfig(
|
|
38
|
+
function reloadVikeConfig(config) {
|
|
39
|
+
const userRootDir = config.root;
|
|
40
|
+
const vikeVitePluginOptions = config._vikeVitePluginOptions;
|
|
41
|
+
(0, utils_js_1.assert)(vikeVitePluginOptions);
|
|
38
42
|
vikeConfigDependencies.clear();
|
|
39
43
|
(0, resolvePointerImport_js_1.clearFilesEnvMap)();
|
|
40
|
-
vikeConfigPromise = loadVikeConfig_withErrorHandling(userRootDir,
|
|
44
|
+
vikeConfigPromise = loadVikeConfig_withErrorHandling(userRootDir, true, vikeVitePluginOptions);
|
|
41
45
|
handleReloadSideEffects();
|
|
42
46
|
}
|
|
43
47
|
async function handleReloadSideEffects() {
|
|
@@ -61,8 +65,8 @@ async function handleReloadSideEffects() {
|
|
|
61
65
|
wasConfigInvalid = false;
|
|
62
66
|
(0, loggerNotProd_js_1.logConfigErrorRecover)();
|
|
63
67
|
}
|
|
64
|
-
if (
|
|
65
|
-
|
|
68
|
+
if (restartVite) {
|
|
69
|
+
restartVite = false;
|
|
66
70
|
const viteDevServer = (0, globalContext_js_1.getViteDevServer)();
|
|
67
71
|
(0, utils_js_1.assert)(viteDevServer);
|
|
68
72
|
(0, removeSuperfluousViteLog_js_1.removeSuperfluousViteLog_enable)();
|
|
@@ -71,23 +75,31 @@ async function handleReloadSideEffects() {
|
|
|
71
75
|
}
|
|
72
76
|
}
|
|
73
77
|
}
|
|
74
|
-
async function getVikeConfig(config,
|
|
75
|
-
const { outDirRoot } = (0, utils_js_1.getOutDirs)(config);
|
|
78
|
+
async function getVikeConfig(config, { doNotRestartViteOnError } = {}) {
|
|
76
79
|
const userRootDir = config.root;
|
|
80
|
+
const vikeVitePluginOptions = config._vikeVitePluginOptions;
|
|
81
|
+
(0, utils_js_1.assert)(vikeVitePluginOptions);
|
|
82
|
+
const isDev = config._isDev;
|
|
83
|
+
(0, utils_js_1.assert)(typeof isDev === 'boolean');
|
|
84
|
+
return await getVikeConfigEntry(userRootDir, isDev, vikeVitePluginOptions, doNotRestartViteOnError ?? false);
|
|
85
|
+
}
|
|
86
|
+
async function getVikeConfig2(userRootDir, isDev, vikeVitePluginOptions) {
|
|
87
|
+
return await getVikeConfigEntry(userRootDir, isDev, vikeVitePluginOptions, false);
|
|
88
|
+
}
|
|
89
|
+
async function getVikeConfigEntry(userRootDir, isDev, vikeVitePluginOptions, doNotRestartViteOnError) {
|
|
77
90
|
if (!vikeConfigPromise) {
|
|
78
|
-
|
|
79
|
-
vikeConfigPromise = loadVikeConfig_withErrorHandling(userRootDir, outDirRoot, isDev, crawlWithGit_, tolerateInvalidConfig);
|
|
91
|
+
vikeConfigPromise = loadVikeConfig_withErrorHandling(userRootDir, isDev, vikeVitePluginOptions, doNotRestartViteOnError);
|
|
80
92
|
}
|
|
81
93
|
return await vikeConfigPromise;
|
|
82
94
|
}
|
|
83
|
-
async function isV1Design(config
|
|
84
|
-
const vikeConfig = await getVikeConfig(config
|
|
95
|
+
async function isV1Design(config) {
|
|
96
|
+
const vikeConfig = await getVikeConfig(config);
|
|
85
97
|
const { pageConfigs } = vikeConfig;
|
|
86
98
|
const isV1Design = pageConfigs.length > 0;
|
|
87
99
|
return isV1Design;
|
|
88
100
|
}
|
|
89
|
-
async function loadInterfaceFiles(userRootDir,
|
|
90
|
-
const plusFiles = await findPlusFiles(userRootDir,
|
|
101
|
+
async function loadInterfaceFiles(userRootDir, crawlWithGit) {
|
|
102
|
+
const plusFiles = await findPlusFiles(userRootDir, null, crawlWithGit);
|
|
91
103
|
const configFiles = [];
|
|
92
104
|
const valueFiles = [];
|
|
93
105
|
plusFiles.forEach((f) => {
|
|
@@ -196,12 +208,12 @@ function assertAllConfigsAreKnown(interfaceFilesByLocationId) {
|
|
|
196
208
|
});
|
|
197
209
|
});
|
|
198
210
|
}
|
|
199
|
-
async function loadVikeConfig_withErrorHandling(userRootDir,
|
|
211
|
+
async function loadVikeConfig_withErrorHandling(userRootDir, isDev, vikeVitePluginOptions, doNotRestartViteOnError) {
|
|
200
212
|
let hasError = false;
|
|
201
213
|
let ret;
|
|
202
214
|
let err;
|
|
203
215
|
try {
|
|
204
|
-
ret = await loadVikeConfig(userRootDir,
|
|
216
|
+
ret = await loadVikeConfig(userRootDir, vikeVitePluginOptions);
|
|
205
217
|
}
|
|
206
218
|
catch (err_) {
|
|
207
219
|
hasError = true;
|
|
@@ -223,8 +235,8 @@ async function loadVikeConfig_withErrorHandling(userRootDir, outDirRoot, isDev,
|
|
|
223
235
|
}
|
|
224
236
|
else {
|
|
225
237
|
(0, loggerNotProd_js_1.logConfigError)(err);
|
|
226
|
-
if (!
|
|
227
|
-
|
|
238
|
+
if (!doNotRestartViteOnError) {
|
|
239
|
+
restartVite = true;
|
|
228
240
|
}
|
|
229
241
|
const dummyData = {
|
|
230
242
|
pageConfigs: [],
|
|
@@ -232,16 +244,18 @@ async function loadVikeConfig_withErrorHandling(userRootDir, outDirRoot, isDev,
|
|
|
232
244
|
configDefinitions: {},
|
|
233
245
|
configValueSources: {}
|
|
234
246
|
},
|
|
235
|
-
|
|
247
|
+
vikeConfigGlobal: (0, resolveVikeConfigGlobal_js_1.resolveVikeConfigGlobal)({}, {})
|
|
236
248
|
};
|
|
237
249
|
return dummyData;
|
|
238
250
|
}
|
|
239
251
|
}
|
|
240
252
|
}
|
|
241
|
-
async function loadVikeConfig(userRootDir,
|
|
242
|
-
const
|
|
253
|
+
async function loadVikeConfig(userRootDir, vikeVitePluginOptions) {
|
|
254
|
+
const crawlWithGit = (0, resolveVikeConfigGlobal_js_1.resolveVikeConfigGlobal)(vikeVitePluginOptions, {}).crawl.git ?? null;
|
|
255
|
+
const interfaceFilesByLocationId = await loadInterfaceFiles(userRootDir, crawlWithGit);
|
|
243
256
|
const importedFilesLoaded = {};
|
|
244
|
-
const {
|
|
257
|
+
const { pageConfigGlobal, pageConfigGlobalValues } = await getGlobalConfigs(interfaceFilesByLocationId, userRootDir, importedFilesLoaded);
|
|
258
|
+
const vikeConfigGlobal = (0, resolveVikeConfigGlobal_js_1.resolveVikeConfigGlobal)(vikeVitePluginOptions, pageConfigGlobalValues);
|
|
245
259
|
const pageConfigs = await Promise.all((0, utils_js_1.objectEntries)(interfaceFilesByLocationId)
|
|
246
260
|
.filter(([_pageId, interfaceFiles]) => isDefiningPage(interfaceFiles))
|
|
247
261
|
.map(async ([locationId]) => {
|
|
@@ -291,7 +305,7 @@ async function loadVikeConfig(userRootDir, outDirRoot, crawlWithGit) {
|
|
|
291
305
|
return pageConfig;
|
|
292
306
|
}));
|
|
293
307
|
assertPageConfigs(pageConfigs);
|
|
294
|
-
return { pageConfigs, pageConfigGlobal,
|
|
308
|
+
return { pageConfigs, pageConfigGlobal, vikeConfigGlobal };
|
|
295
309
|
}
|
|
296
310
|
// TODO/soon: refactor
|
|
297
311
|
// - Dedupe: most of the assertUsageGlobalConfigs() code below is a copy-paste of the assertUsage() logic inside getGlobalConfigs()
|
|
@@ -401,7 +415,7 @@ async function getGlobalConfigs(interfaceFilesByLocationId, userRootDir, importe
|
|
|
401
415
|
});
|
|
402
416
|
});
|
|
403
417
|
}
|
|
404
|
-
const
|
|
418
|
+
const pageConfigGlobalValues = {};
|
|
405
419
|
const pageConfigGlobal = {
|
|
406
420
|
configDefinitions: configDefinitionsBuiltIn_js_1.configDefinitionsBuiltInGlobal,
|
|
407
421
|
configValueSources: {}
|
|
@@ -421,10 +435,10 @@ async function getGlobalConfigs(interfaceFilesByLocationId, userRootDir, importe
|
|
|
421
435
|
return;
|
|
422
436
|
const { filePathToShowToUser } = configValueSource.definedAtFilePath;
|
|
423
437
|
(0, utils_js_1.assertWarning)(false, `Being able to define config ${picocolors_1.default.cyan(configName)} in ${filePathToShowToUser} is experimental and will likely be removed. Define the config ${picocolors_1.default.cyan(configName)} in Vike's Vite plugin options instead.`, { onlyOnce: true });
|
|
424
|
-
|
|
438
|
+
pageConfigGlobalValues[configName] = configValueSource.value;
|
|
425
439
|
}
|
|
426
440
|
}));
|
|
427
|
-
return { pageConfigGlobal,
|
|
441
|
+
return { pageConfigGlobal, pageConfigGlobalValues };
|
|
428
442
|
}
|
|
429
443
|
async function resolveConfigValueSources(configName, configDef, interfaceFilesRelevant, userRootDir, importedFilesLoaded) {
|
|
430
444
|
const sourcesInfo = [];
|
package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js
CHANGED
|
@@ -8,7 +8,6 @@ const extractAssetsQuery_js_1 = require("../../../../shared/extractAssetsQuery.j
|
|
|
8
8
|
const debug_js_1 = require("./debug.js");
|
|
9
9
|
const isRuntimeEnvMatch_js_1 = require("./isRuntimeEnvMatch.js");
|
|
10
10
|
const serializeConfigValues_js_1 = require("../../../../../shared/page-configs/serialize/serializeConfigValues.js");
|
|
11
|
-
const getConfigVike_js_1 = require("../../../../shared/getConfigVike.js");
|
|
12
11
|
const fixServerAssets_js_1 = require("../../buildConfig/fixServerAssets.js");
|
|
13
12
|
const getConfigValueBuildTime_js_1 = require("../../../../../shared/page-configs/getConfigValueBuildTime.js");
|
|
14
13
|
async function getVirtualFilePageConfigValuesAll(id, isDev, config) {
|
|
@@ -21,11 +20,11 @@ async function getVirtualFilePageConfigValuesAll(id, isDev, config) {
|
|
|
21
20
|
}
|
|
22
21
|
*/
|
|
23
22
|
const { pageId, isForClientSide } = result;
|
|
24
|
-
const
|
|
23
|
+
const vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig)(config, { doNotRestartViteOnError: true });
|
|
24
|
+
const { pageConfigs } = vikeConfig;
|
|
25
25
|
const pageConfig = pageConfigs.find((pageConfig) => pageConfig.pageId === pageId);
|
|
26
26
|
(0, utils_js_1.assert)(pageConfig, { id, pageId });
|
|
27
|
-
const
|
|
28
|
-
const code = getLoadConfigValuesAll(pageConfig, isForClientSide, pageId, configVike.includeAssetsImportedByServer, isDev);
|
|
27
|
+
const code = getLoadConfigValuesAll(pageConfig, isForClientSide, pageId, vikeConfig.vikeConfigGlobal.includeAssetsImportedByServer, isDev);
|
|
29
28
|
(0, debug_js_1.debug)(id, isForClientSide ? 'CLIENT-SIDE' : 'SERVER-SIDE', code);
|
|
30
29
|
return code;
|
|
31
30
|
}
|
|
@@ -7,7 +7,7 @@ const getVikeConfig_js_1 = require("./getVikeConfig.js");
|
|
|
7
7
|
const isRuntimeEnvMatch_js_1 = require("./isRuntimeEnvMatch.js");
|
|
8
8
|
const serializeConfigValues_js_1 = require("../../../../../shared/page-configs/serialize/serializeConfigValues.js");
|
|
9
9
|
async function getVirtualFilePageConfigs(isForClientSide, isDev, id, isClientRouting, config) {
|
|
10
|
-
const { pageConfigs, pageConfigGlobal } = await (0, getVikeConfig_js_1.getVikeConfig)(config,
|
|
10
|
+
const { pageConfigs, pageConfigGlobal } = await (0, getVikeConfig_js_1.getVikeConfig)(config, { doNotRestartViteOnError: true });
|
|
11
11
|
return getCode(pageConfigs, pageConfigGlobal, isForClientSide, isDev, id, isClientRouting);
|
|
12
12
|
}
|
|
13
13
|
function getCode(pageConfigs, pageConfigGlobal, isForClientSide, isDev, id, isClientRouting) {
|
|
@@ -12,7 +12,7 @@ const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
|
12
12
|
const index_js_1 = require("./devConfig/index.js");
|
|
13
13
|
function previewConfig() {
|
|
14
14
|
let config;
|
|
15
|
-
// let
|
|
15
|
+
// let vikeConfigGlobal: VikeConfigGlobal
|
|
16
16
|
return {
|
|
17
17
|
name: 'vike:previewConfig',
|
|
18
18
|
apply: utils_js_1.applyPreview,
|
|
@@ -27,7 +27,8 @@ function previewConfig() {
|
|
|
27
27
|
async configResolved(config_) {
|
|
28
28
|
config = config_;
|
|
29
29
|
(0, index_js_1.logDockerHint)(config.preview.host);
|
|
30
|
-
//
|
|
30
|
+
// const vikeConfig = await getVikeConfig(config)
|
|
31
|
+
// vikeConfigGlobal = vikeConfig.vikeConfigGlobal
|
|
31
32
|
},
|
|
32
33
|
configurePreviewServer(server) {
|
|
33
34
|
/* - Couldn't make `appType: 'mpa'` work as of npm:@brillout/vite@5.0.0-beta.14.0426910c
|
|
@@ -37,7 +38,7 @@ function previewConfig() {
|
|
|
37
38
|
return () => {
|
|
38
39
|
assertDist();
|
|
39
40
|
/* 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'`.
|
|
40
|
-
if (!
|
|
41
|
+
if (!vikeConfigGlobal.prerender || vikeConfigGlobal.prerender.partial) {
|
|
41
42
|
addSsrMiddleware(server.middlewares, config, true)
|
|
42
43
|
}
|
|
43
44
|
/*/
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.setGlobalContext = setGlobalContext;
|
|
4
4
|
const globalContext_js_1 = require("../../runtime/globalContext.js");
|
|
5
5
|
const utils_js_1 = require("../utils.js");
|
|
6
|
+
const getVikeConfig_js_1 = require("./importUserCode/v1-design/getVikeConfig.js");
|
|
6
7
|
function setGlobalContext() {
|
|
7
8
|
return [
|
|
8
9
|
{
|
|
@@ -32,10 +33,12 @@ function setGlobalContext() {
|
|
|
32
33
|
enforce: 'post',
|
|
33
34
|
configResolved: {
|
|
34
35
|
order: 'post',
|
|
35
|
-
handler(config) {
|
|
36
|
+
async handler(config) {
|
|
36
37
|
const { outDirRoot } = (0, utils_js_1.getOutDirs)(config);
|
|
37
38
|
(0, utils_js_1.assertFilePathAbsoluteFilesystem)(outDirRoot); // Needed for loadImportBuild(outDir) of @brillout/vite-plugin-server-entry
|
|
38
39
|
(0, globalContext_js_1.setGlobalContext_viteConfig)(config, outDirRoot);
|
|
40
|
+
const vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig)(config);
|
|
41
|
+
(0, globalContext_js_1.setGlobalContext_vikeConfig)(vikeConfig);
|
|
39
42
|
}
|
|
40
43
|
}
|
|
41
44
|
}
|
|
@@ -39,7 +39,6 @@ const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
|
39
39
|
const os_1 = require("os");
|
|
40
40
|
const globalContext_js_1 = require("../runtime/globalContext.js");
|
|
41
41
|
const vite_1 = require("vite");
|
|
42
|
-
const getConfigVike_js_1 = require("../shared/getConfigVike.js");
|
|
43
42
|
const getPageFiles_js_1 = require("../../shared/getPageFiles.js");
|
|
44
43
|
const getPageContextRequestUrl_js_1 = require("../../shared/getPageContextRequestUrl.js");
|
|
45
44
|
const resolveRouteString_js_1 = require("../../shared/route/resolveRouteString.js");
|
|
@@ -99,10 +98,10 @@ async function runPrerender(options = {}, standaloneTrigger) {
|
|
|
99
98
|
await disableReactStreaming();
|
|
100
99
|
const viteConfig = await (0, vite_1.resolveConfig)(options.viteConfig || {}, 'vike pre-rendering', 'production');
|
|
101
100
|
assertLoadedConfig(viteConfig, options);
|
|
102
|
-
const
|
|
101
|
+
const vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig)(viteConfig);
|
|
103
102
|
const { outDirClient } = (0, utils_js_1.getOutDirs)(viteConfig);
|
|
104
103
|
const { root } = viteConfig;
|
|
105
|
-
const prerenderConfig =
|
|
104
|
+
const prerenderConfig = vikeConfig.vikeConfigGlobal.prerender;
|
|
106
105
|
if (!prerenderConfig) {
|
|
107
106
|
(0, utils_js_1.assert)(standaloneTrigger);
|
|
108
107
|
(0, utils_js_1.assertWarning)(prerenderConfig, `You're executing ${picocolors_1.default.cyan(standaloneTrigger)} but the config ${picocolors_1.default.cyan('prerender')} isn't set to true`, {
|
|
@@ -122,7 +121,6 @@ async function runPrerender(options = {}, standaloneTrigger) {
|
|
|
122
121
|
pageContextInit: options.pageContextInit ?? null
|
|
123
122
|
});
|
|
124
123
|
const doNotPrerenderList = [];
|
|
125
|
-
const vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig)(viteConfig, false);
|
|
126
124
|
await collectDoNoPrerenderList(renderContext, vikeConfig.pageConfigs, doNotPrerenderList, concurrencyLimit);
|
|
127
125
|
await callOnBeforePrerenderStartHooks(prerenderContext, renderContext, concurrencyLimit, doNotPrerenderList);
|
|
128
126
|
await handlePagesWithStaticRoutes(prerenderContext, renderContext, doNotPrerenderList, concurrencyLimit);
|
|
@@ -14,16 +14,17 @@ exports.initGlobalContext_runPrerender = initGlobalContext_runPrerender;
|
|
|
14
14
|
exports.initGlobalContext_getGlobalContextAsync = initGlobalContext_getGlobalContextAsync;
|
|
15
15
|
exports.setGlobalContext_viteDevServer = setGlobalContext_viteDevServer;
|
|
16
16
|
exports.setGlobalContext_viteConfig = setGlobalContext_viteConfig;
|
|
17
|
+
exports.setGlobalContext_vikeConfig = setGlobalContext_vikeConfig;
|
|
17
18
|
exports.setGlobalContext_isViteDev = setGlobalContext_isViteDev;
|
|
18
19
|
exports.setGlobalContext_isPrerendering = setGlobalContext_isPrerendering;
|
|
19
20
|
const utils_js_1 = require("./utils.js");
|
|
20
21
|
const loadImportBuild_js_1 = require("./globalContext/loadImportBuild.js");
|
|
21
22
|
const getPageFiles_js_1 = require("../../shared/getPageFiles.js");
|
|
22
23
|
const assertPluginManifest_js_1 = require("../shared/assertPluginManifest.js");
|
|
23
|
-
const getConfigVike_js_1 = require("../shared/getConfigVike.js");
|
|
24
24
|
const assertRuntimeManifest_js_1 = require("../shared/assertRuntimeManifest.js");
|
|
25
25
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
26
26
|
const getPageFilesExports_js_1 = require("./page-files/getPageFilesExports.js");
|
|
27
|
+
const resolveBase_js_1 = require("../shared/resolveBase.js");
|
|
27
28
|
const globalObject = (0, utils_js_1.getGlobalObject)('globalContext.ts', (() => {
|
|
28
29
|
const { promise: viteDevServerPromise, resolve: viteDevServerPromiseResolve } = (0, utils_js_1.genPromise)();
|
|
29
30
|
return {
|
|
@@ -88,6 +89,12 @@ function setGlobalContext_viteConfig(viteConfig, outDirRoot) {
|
|
|
88
89
|
globalObject.viteConfig = viteConfig;
|
|
89
90
|
globalObject.outDirRoot = outDirRoot;
|
|
90
91
|
}
|
|
92
|
+
function setGlobalContext_vikeConfig(vikeConfig) {
|
|
93
|
+
if (globalObject.vikeConfig)
|
|
94
|
+
return;
|
|
95
|
+
assertIsNotInitilizedYet();
|
|
96
|
+
globalObject.vikeConfig = vikeConfig;
|
|
97
|
+
}
|
|
91
98
|
function assertIsNotInitilizedYet() {
|
|
92
99
|
// In develpoment, globalObject.viteDevServer always needs to be awaited for before initializing globalObject.globalContext
|
|
93
100
|
(0, utils_js_1.assert)(!globalObject.globalContext);
|
|
@@ -141,14 +148,15 @@ async function initGlobalContext(isProduction) {
|
|
|
141
148
|
(0, utils_js_1.assert)(globalObject.globalContext.isPrerendering === (globalObject.isPrerendering ?? false));
|
|
142
149
|
return;
|
|
143
150
|
}
|
|
144
|
-
const { viteDevServer, viteConfig, isPrerendering } = globalObject;
|
|
151
|
+
const { viteDevServer, viteConfig, vikeConfig, isPrerendering } = globalObject;
|
|
145
152
|
(0, utils_js_1.onSetupRuntime)();
|
|
146
153
|
if (!isProduction) {
|
|
147
154
|
(0, utils_js_1.assert)(viteConfig);
|
|
155
|
+
(0, utils_js_1.assert)(vikeConfig);
|
|
148
156
|
(0, utils_js_1.assert)(viteDevServer);
|
|
149
157
|
(0, utils_js_1.assert)(!isPrerendering);
|
|
150
|
-
const
|
|
151
|
-
const pluginManifest = getRuntimeManifest(
|
|
158
|
+
const vikeConfigGlobal = vikeConfig.vikeConfigGlobal;
|
|
159
|
+
const pluginManifest = getRuntimeManifest(vikeConfigGlobal, viteConfig);
|
|
152
160
|
globalObject.globalContext = {
|
|
153
161
|
isProduction: false,
|
|
154
162
|
isPrerendering: false,
|
|
@@ -156,6 +164,7 @@ async function initGlobalContext(isProduction) {
|
|
|
156
164
|
pluginManifest: null,
|
|
157
165
|
viteDevServer,
|
|
158
166
|
viteConfig,
|
|
167
|
+
vikeConfig,
|
|
159
168
|
baseServer: pluginManifest.baseServer,
|
|
160
169
|
baseAssets: pluginManifest.baseAssets,
|
|
161
170
|
includeAssetsImportedByServer: pluginManifest.includeAssetsImportedByServer,
|
|
@@ -185,8 +194,6 @@ async function initGlobalContext(isProduction) {
|
|
|
185
194
|
};
|
|
186
195
|
if (isPrerendering) {
|
|
187
196
|
(0, utils_js_1.assert)(viteConfig);
|
|
188
|
-
const configVike = await (0, getConfigVike_js_1.getConfigVike)(viteConfig);
|
|
189
|
-
(0, utils_js_1.assert)(configVike);
|
|
190
197
|
(0, utils_js_1.objectAssign)(globalContext, {
|
|
191
198
|
isPrerendering: true,
|
|
192
199
|
viteConfig
|
|
@@ -202,8 +209,9 @@ async function initGlobalContext(isProduction) {
|
|
|
202
209
|
}
|
|
203
210
|
}
|
|
204
211
|
}
|
|
205
|
-
function getRuntimeManifest(
|
|
206
|
-
const { includeAssetsImportedByServer,
|
|
212
|
+
function getRuntimeManifest(vikeConfigGlobal, viteConfig) {
|
|
213
|
+
const { includeAssetsImportedByServer, redirects, trailingSlash, disableUrlNormalization } = vikeConfigGlobal;
|
|
214
|
+
const { baseServer, baseAssets } = (0, resolveBase_js_1.resolveBaseFromResolvedConfig)(vikeConfigGlobal.baseServer, vikeConfigGlobal.baseAssets, viteConfig);
|
|
207
215
|
const manifest = {
|
|
208
216
|
baseServer,
|
|
209
217
|
baseAssets,
|
|
@@ -126,7 +126,7 @@ function getPageContextInitEnhanced(pageContextInit, renderContext, { ssr: { url
|
|
|
126
126
|
(0, utils_js_1.objectAssign)(pageContextInitEnhanced, pageContextInit);
|
|
127
127
|
(0, utils_js_1.objectAssign)(pageContextInitEnhanced, {
|
|
128
128
|
_objectCreatedByVike: true,
|
|
129
|
-
// The following is defined on `pageContext` because we can eventually make these non-global
|
|
129
|
+
// The following is defined on `pageContext` because we can eventually make these non-global
|
|
130
130
|
_baseServer: globalContext.baseServer,
|
|
131
131
|
_baseAssets: globalContext.baseAssets,
|
|
132
132
|
_includeAssetsImportedByServer: globalContext.includeAssetsImportedByServer,
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.resolveBase = resolveBase;
|
|
7
|
+
exports.resolveBaseFromResolvedConfig = resolveBaseFromResolvedConfig;
|
|
8
|
+
const utils_js_1 = require("./utils.js");
|
|
9
|
+
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
10
|
+
function resolveBaseFromResolvedConfig(baseServer, baseAssets, config) {
|
|
11
|
+
let baseViteOriginal = config._baseViteOriginal;
|
|
12
|
+
if (baseViteOriginal === '/__UNSET__')
|
|
13
|
+
baseViteOriginal = null;
|
|
14
|
+
(0, utils_js_1.assert)(baseViteOriginal === null || typeof baseViteOriginal == 'string');
|
|
15
|
+
return resolveBase(baseViteOriginal, baseServer, baseAssets);
|
|
16
|
+
}
|
|
17
|
+
function resolveBase(baseViteOriginal, baseServerUnresolved, baseAssetsUnresolved) {
|
|
18
|
+
{
|
|
19
|
+
const wrongBase = (val) => `should start with ${picocolors_1.default.cyan('/')}, ${picocolors_1.default.cyan('http://')}, or ${picocolors_1.default.cyan('https://')} (it's ${picocolors_1.default.cyan(val)} instead)`;
|
|
20
|
+
(0, utils_js_1.assertUsage)(baseViteOriginal === null || (0, utils_js_1.isBaseAssets)(baseViteOriginal), `vite.config.js#base ${wrongBase(baseViteOriginal)}`);
|
|
21
|
+
(0, utils_js_1.assertUsage)(baseAssetsUnresolved === null || (0, utils_js_1.isBaseAssets)(baseAssetsUnresolved), `Config ${picocolors_1.default.cyan('baseAssets')} ${wrongBase(baseAssetsUnresolved)}`);
|
|
22
|
+
(0, utils_js_1.assertUsage)(baseServerUnresolved === null || baseServerUnresolved.startsWith('/'), `Config ${picocolors_1.default.cyan('baseServer')} should start with a leading slash ${picocolors_1.default.cyan('/')} (it's ${picocolors_1.default.cyan(String(baseServerUnresolved))} instead)`);
|
|
23
|
+
}
|
|
24
|
+
if (baseViteOriginal) {
|
|
25
|
+
if (baseViteOriginal.startsWith('http')) {
|
|
26
|
+
baseAssetsUnresolved = baseAssetsUnresolved ?? baseViteOriginal;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
baseAssetsUnresolved = baseAssetsUnresolved ?? baseViteOriginal;
|
|
30
|
+
baseServerUnresolved = baseServerUnresolved ?? baseViteOriginal;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const baseServer = baseServerUnresolved ?? '/';
|
|
34
|
+
const baseAssets = baseAssetsUnresolved ?? '/';
|
|
35
|
+
(0, utils_js_1.assert)((0, utils_js_1.isBaseAssets)(baseAssets));
|
|
36
|
+
(0, utils_js_1.assert)((0, utils_js_1.isBaseServer)(baseServer));
|
|
37
|
+
return {
|
|
38
|
+
baseServer,
|
|
39
|
+
baseAssets
|
|
40
|
+
};
|
|
41
|
+
}
|
|
@@ -7,13 +7,15 @@ import { build as buildVite } from 'vite';
|
|
|
7
7
|
* https://vike.dev/api#build
|
|
8
8
|
*/
|
|
9
9
|
async function build(options = {}) {
|
|
10
|
-
const { viteConfigEnhanced,
|
|
10
|
+
const { viteConfigEnhanced, vikeConfigGlobal } = await prepareViteApiCall(options.viteConfig, 'build');
|
|
11
11
|
// Build client-side
|
|
12
12
|
const outputClient = await buildVite(viteConfigEnhanced);
|
|
13
13
|
// Build server-side
|
|
14
14
|
const outputServer = await buildVite(setSSR(viteConfigEnhanced));
|
|
15
15
|
// Pre-render
|
|
16
|
-
if (
|
|
16
|
+
if (vikeConfigGlobal.prerender &&
|
|
17
|
+
!vikeConfigGlobal.prerender.disableAutoRun &&
|
|
18
|
+
vikeConfigGlobal.disableAutoFullBuild !== 'prerender') {
|
|
17
19
|
const { runPrerenderFromAutoRun } = await import('../prerender/runPrerender.js');
|
|
18
20
|
await runPrerenderFromAutoRun(viteConfigEnhanced, true);
|
|
19
21
|
}
|
|
@@ -3,5 +3,5 @@ import type { InlineConfig } from 'vite';
|
|
|
3
3
|
import type { Operation } from './types.js';
|
|
4
4
|
declare function prepareViteApiCall(viteConfig: InlineConfig | undefined, operation: Operation): Promise<{
|
|
5
5
|
viteConfigEnhanced: InlineConfig;
|
|
6
|
-
|
|
6
|
+
vikeConfigGlobal: import("../plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js").VikeConfigGlobal;
|
|
7
7
|
}>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { prepareViteApiCall };
|
|
2
2
|
import { resolveConfig } from 'vite';
|
|
3
|
-
import { getConfigVike } from '../shared/getConfigVike.js';
|
|
4
3
|
import { pluginName } from '../plugin/plugins/commonConfig/pluginName.js';
|
|
5
4
|
import { setOperation } from './context.js';
|
|
5
|
+
import { getVikeConfig2 } from '../plugin/plugins/importUserCode/v1-design/getVikeConfig.js';
|
|
6
6
|
async function prepareViteApiCall(viteConfig = {}, operation) {
|
|
7
7
|
setOperation(operation);
|
|
8
8
|
return enhanceViteConfig(viteConfig, operation);
|
|
@@ -20,13 +20,23 @@ async function enhanceViteConfig(viteConfig = {}, operation) {
|
|
|
20
20
|
};
|
|
21
21
|
viteConfigResolved = await resolveViteConfig(viteConfigEnhanced, operation);
|
|
22
22
|
}
|
|
23
|
-
|
|
23
|
+
// TODO: use loadConfigFromFile() instead of viteConfigResolved
|
|
24
|
+
const { vikeConfigGlobal } = await getVikeConfig2(viteConfigResolved.root, operation === 'dev', viteConfigResolved._vikeVitePluginOptions);
|
|
24
25
|
// TODO: enable Vike extensions to add Vite plugins
|
|
25
26
|
return {
|
|
26
27
|
viteConfigEnhanced,
|
|
27
|
-
|
|
28
|
+
vikeConfigGlobal
|
|
28
29
|
};
|
|
29
30
|
}
|
|
30
31
|
async function resolveViteConfig(viteConfig, operation) {
|
|
31
|
-
|
|
32
|
+
const args = getResolveConfigArgs(viteConfig, operation);
|
|
33
|
+
return await resolveConfig(...args);
|
|
34
|
+
}
|
|
35
|
+
function getResolveConfigArgs(viteConfig, operation) {
|
|
36
|
+
const inlineConfig = viteConfig;
|
|
37
|
+
const command = operation === 'build' || operation === 'prerender' ? 'build' : 'serve';
|
|
38
|
+
const defaultMode = operation === 'dev' ? 'development' : 'production';
|
|
39
|
+
const defaultNodeEnv = defaultMode;
|
|
40
|
+
const isPreview = operation === 'preview';
|
|
41
|
+
return [inlineConfig, command, defaultMode, defaultNodeEnv, isPreview];
|
|
32
42
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export default plugin;
|
|
2
2
|
export { plugin };
|
|
3
3
|
export { plugin as ssr };
|
|
4
|
-
export type {
|
|
4
|
+
export type { VikeVitePluginOptions as UserConfig };
|
|
5
5
|
export { PROJECT_VERSION as version } from './utils.js';
|
|
6
|
-
import type {
|
|
7
|
-
declare function plugin(
|
|
6
|
+
import type { VikeVitePluginOptions } from './plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js';
|
|
7
|
+
declare function plugin(vikeVitePluginOptions?: VikeVitePluginOptions): any;
|