vike 0.4.237-commit-fd8294f → 0.4.237-commit-2c1db32
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 +2 -2
- package/dist/cjs/node/api/prepareViteApiCall.js +0 -1
- package/dist/cjs/node/prerender/runPrerenderEntry.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +7 -7
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildApp.js +121 -2
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +4 -18
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginModuleBanner.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginBuild.js +0 -2
- package/dist/cjs/node/vite/plugins/pluginEnvVars.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginExtractAssets.js +3 -3
- package/dist/cjs/node/vite/plugins/pluginExtractExportNames.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginFileEnv.js +2 -2
- package/dist/cjs/node/vite/plugins/pluginPreview.js +1 -11
- package/dist/cjs/node/vite/plugins/pluginReplaceConstants.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.js +4 -4
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +1 -1
- package/dist/cjs/node/vite/shared/getOutDirs.js +2 -13
- package/dist/cjs/node/vite/shared/isViteServerSide.js +25 -56
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/node/api/build.js +2 -2
- package/dist/esm/node/api/prepareViteApiCall.d.ts +0 -2
- package/dist/esm/node/api/prepareViteApiCall.js +0 -1
- package/dist/esm/node/prerender/runPrerenderEntry.js +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.d.ts +3 -3
- package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.js +7 -7
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildApp.d.ts +2 -0
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildApp.js +118 -2
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.js +5 -19
- package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.js +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild.js +0 -2
- package/dist/esm/node/vite/plugins/pluginEnvVars.js +1 -1
- package/dist/esm/node/vite/plugins/pluginExtractAssets.js +3 -3
- package/dist/esm/node/vite/plugins/pluginExtractExportNames.js +1 -1
- package/dist/esm/node/vite/plugins/pluginFileEnv.js +2 -2
- package/dist/esm/node/vite/plugins/pluginPreview.js +3 -13
- package/dist/esm/node/vite/plugins/pluginReplaceConstants.js +1 -1
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.js +1 -1
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.d.ts +1 -2
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.js +4 -4
- package/dist/esm/node/vite/plugins/pluginVirtualFiles.js +1 -1
- package/dist/esm/node/vite/shared/getOutDirs.d.ts +2 -4
- package/dist/esm/node/vite/shared/getOutDirs.js +3 -14
- package/dist/esm/node/vite/shared/isViteServerSide.d.ts +4 -4
- package/dist/esm/node/vite/shared/isViteServerSide.js +25 -56
- package/dist/esm/types/Config.d.ts +1 -3
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +0 -132
- package/dist/esm/node/vite/plugins/pluginBuild/pluginAutoFullBuild.d.ts +0 -5
- package/dist/esm/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +0 -127
|
@@ -10,11 +10,11 @@ const vite_1 = require("vite");
|
|
|
10
10
|
*/
|
|
11
11
|
async function build(options = {}) {
|
|
12
12
|
const { viteConfigFromUserEnhanced } = await (0, prepareViteApiCall_js_1.prepareViteApiCall)(options, 'build');
|
|
13
|
-
// Pass it to
|
|
13
|
+
// Pass it to vike:build:pluginBuildApp
|
|
14
14
|
if (viteConfigFromUserEnhanced)
|
|
15
15
|
viteConfigFromUserEnhanced._viteConfigFromUserEnhanced = viteConfigFromUserEnhanced;
|
|
16
16
|
const builder = await (0, vite_1.createBuilder)(viteConfigFromUserEnhanced);
|
|
17
|
-
//
|
|
17
|
+
// buildApp() is implemented by vike:build:pluginBuildApp
|
|
18
18
|
await builder.buildApp();
|
|
19
19
|
return {
|
|
20
20
|
/* We don't return `viteConfig` because `viteConfigFromUserEnhanced` is `InlineConfig` not `ResolvedConfig`
|
|
@@ -71,7 +71,6 @@ async function resolveConfigs(viteConfigFromUserApiOptions, operation) {
|
|
|
71
71
|
const viteConfigFromUserEnhanced = applyVikeViteConfig(viteInfo.viteConfigFromUserEnhanced, vikeConfig);
|
|
72
72
|
const { viteConfigResolved } = await assertViteRoot2(viteInfo.root, viteConfigFromUserEnhanced, operation);
|
|
73
73
|
return {
|
|
74
|
-
vikeConfig,
|
|
75
74
|
viteConfigResolved, // ONLY USE if strictly necessary. (We plan to remove assertViteRoot2() as explained in the comments of that function.)
|
|
76
75
|
viteConfigFromUserEnhanced,
|
|
77
76
|
};
|
|
@@ -35,7 +35,7 @@ async function runPrerenderFromAutoRun(viteConfig) {
|
|
|
35
35
|
await (0, runPrerender_js_1.runPrerender)({ viteConfig }, 'auto-run');
|
|
36
36
|
}
|
|
37
37
|
catch (err) {
|
|
38
|
-
// Avoid Rollup prefixing the error with [vike:build:
|
|
38
|
+
// Avoid Rollup prefixing the error with [vike:build:pluginBuildApp], see for example https://github.com/vikejs/vike/issues/472#issuecomment-1276274203
|
|
39
39
|
console.error(err);
|
|
40
40
|
(0, logErrorHint_js_1.logErrorHint)(err);
|
|
41
41
|
process.exit(1);
|
|
@@ -26,7 +26,7 @@ const globalObject = (0, utils_js_1.getGlobalObject)('build/handleAssetsManifest
|
|
|
26
26
|
});
|
|
27
27
|
// true => use workaround config.build.ssrEmitAssets
|
|
28
28
|
// false => use workaround extractAssets plugin
|
|
29
|
-
function handleAssetsManifest_isFixEnabled(
|
|
29
|
+
function handleAssetsManifest_isFixEnabled() {
|
|
30
30
|
// Allow user to toggle between the two workarounds? E.g. based on https://vike.dev/includeAssetsImportedByServer.
|
|
31
31
|
return (0, resolveVikeConfigInternal_js_1.isV1Design)();
|
|
32
32
|
}
|
|
@@ -217,13 +217,13 @@ function getHash(src) {
|
|
|
217
217
|
}
|
|
218
218
|
// https://github.com/vikejs/vike/issues/1993
|
|
219
219
|
function handleAssetsManifest_assertUsageCssCodeSplit(config) {
|
|
220
|
-
if (!handleAssetsManifest_isFixEnabled(
|
|
220
|
+
if (!handleAssetsManifest_isFixEnabled())
|
|
221
221
|
return;
|
|
222
222
|
(0, utils_js_1.assertWarning)(config.build.cssCodeSplit, `${picocolors_1.default.cyan('build.cssCodeSplit')} shouldn't be set to ${picocolors_1.default.cyan('false')} (https://github.com/vikejs/vike/issues/1993)`, { onlyOnce: true });
|
|
223
223
|
}
|
|
224
224
|
const targets = [];
|
|
225
225
|
function handleAssetsManifest_assertUsageCssTarget(config, env) {
|
|
226
|
-
if (!handleAssetsManifest_isFixEnabled(
|
|
226
|
+
if (!handleAssetsManifest_isFixEnabled())
|
|
227
227
|
return;
|
|
228
228
|
const isServerSide = (0, isViteServerSide_js_1.isViteServerSide)(config, env);
|
|
229
229
|
(0, utils_js_1.assert)(typeof isServerSide === 'boolean');
|
|
@@ -284,8 +284,8 @@ async function writeManifestFile(manifest, manifestFilePath) {
|
|
|
284
284
|
const manifestFileContent = JSON.stringify(manifest, null, 2);
|
|
285
285
|
await promises_1.default.writeFile(manifestFilePath, manifestFileContent, 'utf-8');
|
|
286
286
|
}
|
|
287
|
-
async function handleAssetsManifest_getBuildConfig(
|
|
288
|
-
const isFixEnabled = handleAssetsManifest_isFixEnabled(
|
|
287
|
+
async function handleAssetsManifest_getBuildConfig() {
|
|
288
|
+
const isFixEnabled = handleAssetsManifest_isFixEnabled();
|
|
289
289
|
return {
|
|
290
290
|
// https://github.com/vikejs/vike/issues/1339
|
|
291
291
|
ssrEmitAssets: isFixEnabled ? true : undefined,
|
|
@@ -293,7 +293,7 @@ async function handleAssetsManifest_getBuildConfig(config) {
|
|
|
293
293
|
cssMinify: isFixEnabled ? 'esbuild' : undefined,
|
|
294
294
|
manifest: true,
|
|
295
295
|
/* Already set by vike:build:pluginBuildApp
|
|
296
|
-
copyPublicDir: !
|
|
296
|
+
copyPublicDir: !isViteServerSide_viteEnvOptional(config),
|
|
297
297
|
*/
|
|
298
298
|
};
|
|
299
299
|
}
|
|
@@ -318,7 +318,7 @@ async function handleAssetsManifest(config, viteEnv, options, bundle) {
|
|
|
318
318
|
}
|
|
319
319
|
}
|
|
320
320
|
async function writeAssetsManifestFile(assetsJsonFilePath, config) {
|
|
321
|
-
const isFixEnabled = handleAssetsManifest_isFixEnabled(
|
|
321
|
+
const isFixEnabled = handleAssetsManifest_isFixEnabled();
|
|
322
322
|
const clientManifestFilePath = getManifestFilePath(config, true);
|
|
323
323
|
const serverManifestFilePath = getManifestFilePath(config, false);
|
|
324
324
|
if (!isFixEnabled) {
|
|
@@ -1,11 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.pluginBuildApp = pluginBuildApp;
|
|
7
|
+
exports.isPrerenderForceExit = isPrerenderForceExit;
|
|
4
8
|
const runPrerenderEntry_js_1 = require("../../../prerender/runPrerenderEntry.js");
|
|
5
9
|
const getOutDirs_js_1 = require("../../shared/getOutDirs.js");
|
|
6
10
|
const utils_js_1 = require("../../utils.js");
|
|
7
|
-
const
|
|
11
|
+
const context_js_1 = require("../../../prerender/context.js");
|
|
12
|
+
const isViteCliCall_js_1 = require("../../shared/isViteCliCall.js");
|
|
13
|
+
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
14
|
+
const logErrorHint_js_1 = require("../../../runtime/renderPage/logErrorHint.js");
|
|
15
|
+
const resolveVikeConfigInternal_js_1 = require("../../shared/resolveVikeConfigInternal.js");
|
|
16
|
+
const context_js_2 = require("../../../api/context.js");
|
|
17
|
+
const handleAssetsManifest_js_1 = require("./handleAssetsManifest.js");
|
|
18
|
+
const isViteServerSide_js_1 = require("../../shared/isViteServerSide.js");
|
|
19
|
+
const runPrerenderEntry_js_2 = require("../../../prerender/runPrerenderEntry.js");
|
|
20
|
+
const getManifestFilePathRelative_js_1 = require("../../shared/getManifestFilePathRelative.js");
|
|
21
|
+
const globalObject = (0, utils_js_1.getGlobalObject)('build/pluginBuildApp.ts', {
|
|
22
|
+
forceExit: false,
|
|
23
|
+
});
|
|
8
24
|
function pluginBuildApp() {
|
|
25
|
+
let config;
|
|
9
26
|
return [
|
|
10
27
|
{
|
|
11
28
|
name: 'vike:build:pluginBuildApp:pre',
|
|
@@ -22,7 +39,7 @@ function pluginBuildApp() {
|
|
|
22
39
|
(0, utils_js_1.assert)(builder.environments.ssr);
|
|
23
40
|
await builder.build(builder.environments.client);
|
|
24
41
|
await builder.build(builder.environments.ssr);
|
|
25
|
-
if (
|
|
42
|
+
if (isPrerenderForceExit()) {
|
|
26
43
|
(0, runPrerenderEntry_js_1.runPrerender_forceExit)();
|
|
27
44
|
(0, utils_js_1.assert)(false);
|
|
28
45
|
}
|
|
@@ -57,5 +74,107 @@ function pluginBuildApp() {
|
|
|
57
74
|
};
|
|
58
75
|
},
|
|
59
76
|
},
|
|
77
|
+
{
|
|
78
|
+
name: 'vike:build:pluginBuildApp:autoFullBuild:pre',
|
|
79
|
+
apply: 'build',
|
|
80
|
+
enforce: 'pre',
|
|
81
|
+
async configResolved(config_) {
|
|
82
|
+
config = config_;
|
|
83
|
+
await abortViteBuildSsr();
|
|
84
|
+
},
|
|
85
|
+
// TO-DO/eventually: stop using this writeBundle() hack and, instead, use the buildApp() implementation above.
|
|
86
|
+
// - Could it cause issues if a tool uses the writeBundle() hack together with getVikeConfig() ?
|
|
87
|
+
writeBundle: {
|
|
88
|
+
/* We can't use this because it breaks Vite's logging. TO-DO/eventually: try again with latest Vite version.
|
|
89
|
+
sequential: true,
|
|
90
|
+
order: 'pre',
|
|
91
|
+
*/
|
|
92
|
+
async handler(options, bundle) {
|
|
93
|
+
try {
|
|
94
|
+
await (0, handleAssetsManifest_js_1.handleAssetsManifest)(config, this.environment, options, bundle);
|
|
95
|
+
await triggerPrerendering(config, this.environment, bundle);
|
|
96
|
+
}
|
|
97
|
+
catch (err) {
|
|
98
|
+
// We use try-catch also because:
|
|
99
|
+
// - Vite/Rollup swallows errors thrown inside the writeBundle() hook. (It doesn't swallow errors thrown inside the first writeBundle() hook while building the client-side, but it does swallow errors thrown inside the second writeBundle() while building the server-side triggered after Vike calls Vite's `build()` API.)
|
|
100
|
+
// - Avoid Rollup prefixing the error with [vike:build:pluginBuildApp], see for example https://github.com/vikejs/vike/issues/472#issuecomment-1276274203
|
|
101
|
+
console.error(err);
|
|
102
|
+
(0, logErrorHint_js_1.logErrorHint)(err);
|
|
103
|
+
process.exit(1);
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
name: 'vike:build:pluginBuildApp:autoFullBuild:post',
|
|
110
|
+
apply: 'build',
|
|
111
|
+
enforce: 'post',
|
|
112
|
+
closeBundle: {
|
|
113
|
+
sequential: true,
|
|
114
|
+
order: 'post',
|
|
115
|
+
handler() {
|
|
116
|
+
(0, utils_js_1.onSetupBuild)();
|
|
117
|
+
(0, handleAssetsManifest_js_1.handleAssetsManifest_assertUsageCssTarget)(config, this.environment);
|
|
118
|
+
/* Let vike:build:pluginBuildApp force exit
|
|
119
|
+
runPrerender_forceExit()
|
|
120
|
+
*/
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
},
|
|
60
124
|
];
|
|
61
125
|
}
|
|
126
|
+
async function triggerPrerendering(config, viteEnv, bundle) {
|
|
127
|
+
const vikeConfig = await (0, resolveVikeConfigInternal_js_1.getVikeConfigInternal)();
|
|
128
|
+
if (!(0, isViteServerSide_js_1.isViteServerSide_onlySsrEnv)(config, viteEnv))
|
|
129
|
+
return;
|
|
130
|
+
if (isDisabled(vikeConfig))
|
|
131
|
+
return;
|
|
132
|
+
// Workaround for @vitejs/plugin-legacy
|
|
133
|
+
// - The legacy plugin triggers its own Rollup build for the client-side.
|
|
134
|
+
// - The legacy plugin doesn't generate a manifest => we can use that to detect the legacy plugin build.
|
|
135
|
+
// - Issue & reproduction: https://github.com/vikejs/vike/issues/1154#issuecomment-1965954636
|
|
136
|
+
if (!bundle[(0, getManifestFilePathRelative_js_1.getManifestFilePathRelative)(config.build.manifest)])
|
|
137
|
+
return;
|
|
138
|
+
const configInline = getFullBuildInlineConfig(config);
|
|
139
|
+
if ((0, context_js_1.isPrerenderAutoRunEnabled)(vikeConfig)) {
|
|
140
|
+
const res = await (0, runPrerenderEntry_js_2.runPrerenderFromAutoRun)(configInline);
|
|
141
|
+
globalObject.forceExit = res.forceExit;
|
|
142
|
+
(0, utils_js_1.assert)((0, context_js_1.wasPrerenderRun)());
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
async function abortViteBuildSsr() {
|
|
146
|
+
const vikeConfig = await (0, resolveVikeConfigInternal_js_1.getVikeConfigInternal)();
|
|
147
|
+
if (vikeConfig.config.disableAutoFullBuild !== true && (0, isViteCliCall_js_1.isViteCliCall)() && (0, isViteCliCall_js_1.getViteConfigFromCli)()?.build.ssr) {
|
|
148
|
+
(0, utils_js_1.assertWarning)(false, `The CLI call ${picocolors_1.default.cyan('$ vite build --ssr')} is superfluous since ${picocolors_1.default.cyan('$ vite build')} also builds the server-side. If you want two separate build steps then use https://vike.dev/disableAutoFullBuild or use Vite's ${picocolors_1.default.cyan('build()')} API.`, { onlyOnce: true });
|
|
149
|
+
process.exit(0);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
function isDisabled(vikeConfig) {
|
|
153
|
+
const { disableAutoFullBuild } = vikeConfig.config;
|
|
154
|
+
if (disableAutoFullBuild === undefined || disableAutoFullBuild === 'prerender') {
|
|
155
|
+
const isUserUsingViteApi = !(0, isViteCliCall_js_1.isViteCliCall)() && !(0, context_js_2.isVikeCliOrApi)();
|
|
156
|
+
return isUserUsingViteApi;
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
return disableAutoFullBuild;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
function isPrerenderForceExit() {
|
|
163
|
+
return globalObject.forceExit;
|
|
164
|
+
}
|
|
165
|
+
function getFullBuildInlineConfig(config) {
|
|
166
|
+
const configFromCli = !(0, isViteCliCall_js_1.isViteCliCall)() ? null : (0, isViteCliCall_js_1.getViteConfigFromCli)();
|
|
167
|
+
if (config._viteConfigFromUserEnhanced) {
|
|
168
|
+
return config._viteConfigFromUserEnhanced;
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
return {
|
|
172
|
+
...configFromCli,
|
|
173
|
+
configFile: configFromCli?.configFile || config.configFile,
|
|
174
|
+
root: config.root,
|
|
175
|
+
build: {
|
|
176
|
+
...configFromCli?.build,
|
|
177
|
+
},
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
}
|
|
@@ -12,12 +12,10 @@ const prependEntriesDir_js_1 = require("../../../shared/prependEntriesDir.js");
|
|
|
12
12
|
const getFilePath_js_1 = require("../../shared/getFilePath.js");
|
|
13
13
|
const getConfigValueBuildTime_js_1 = require("../../../../shared/page-configs/getConfigValueBuildTime.js");
|
|
14
14
|
const isViteServerSide_js_1 = require("../../shared/isViteServerSide.js");
|
|
15
|
-
const getOutDirs_js_1 = require("../../shared/getOutDirs.js");
|
|
16
15
|
const handleAssetsManifest_js_1 = require("./handleAssetsManifest.js");
|
|
17
16
|
const retrievePageAssetsProd_js_1 = require("../../../runtime/renderPage/getPageAssets/retrievePageAssetsProd.js");
|
|
18
17
|
function pluginBuildConfig() {
|
|
19
18
|
let config;
|
|
20
|
-
let configUnresolved;
|
|
21
19
|
return [
|
|
22
20
|
{
|
|
23
21
|
name: 'vike:build:pluginBuildConfig',
|
|
@@ -36,23 +34,11 @@ function pluginBuildConfig() {
|
|
|
36
34
|
(0, handleAssetsManifest_js_1.handleAssetsManifest_assertUsageCssCodeSplit)(config);
|
|
37
35
|
},
|
|
38
36
|
},
|
|
39
|
-
configEnvironment: {
|
|
40
|
-
order: 'post',
|
|
41
|
-
async handler(envName, configEnv) {
|
|
42
|
-
(0, utils_js_1.assert)(configUnresolved);
|
|
43
|
-
return {
|
|
44
|
-
build: {
|
|
45
|
-
outDir: (0, getOutDirs_js_1.resolveOutDir_configEnvironment)(configUnresolved, envName, configEnv),
|
|
46
|
-
},
|
|
47
|
-
};
|
|
48
|
-
},
|
|
49
|
-
},
|
|
50
37
|
config: {
|
|
51
38
|
order: 'post',
|
|
52
|
-
async handler(
|
|
53
|
-
configUnresolved = config;
|
|
39
|
+
async handler() {
|
|
54
40
|
(0, utils_js_1.onSetupBuild)();
|
|
55
|
-
const build = await (0, handleAssetsManifest_js_1.handleAssetsManifest_getBuildConfig)(
|
|
41
|
+
const build = await (0, handleAssetsManifest_js_1.handleAssetsManifest_getBuildConfig)();
|
|
56
42
|
return { build };
|
|
57
43
|
},
|
|
58
44
|
},
|
|
@@ -68,7 +54,7 @@ async function getEntries(config) {
|
|
|
68
54
|
// TO-DO/next-major-release: remove
|
|
69
55
|
const pageFileEntries = await getPageFileEntries(config, (0, retrievePageAssetsProd_js_1.resolveIncludeAssetsImportedByServer)(vikeConfig.config));
|
|
70
56
|
(0, utils_js_1.assertUsage)(Object.keys(pageFileEntries).length !== 0 || pageConfigs.length !== 0, 'At least one page should be defined, see https://vike.dev/add');
|
|
71
|
-
if ((0, isViteServerSide_js_1.
|
|
57
|
+
if ((0, isViteServerSide_js_1.isViteServerSide_viteEnvOptional)(config)) {
|
|
72
58
|
const pageEntries = getPageEntries(pageConfigs);
|
|
73
59
|
const entries = {
|
|
74
60
|
...pageFileEntries,
|
|
@@ -141,7 +127,7 @@ function analyzeClientEntries(pageConfigs, config) {
|
|
|
141
127
|
// Ensure Rollup creates entries for each page file, see https://github.com/vikejs/vike/issues/350
|
|
142
128
|
// (Otherwise the page files may be missing in the client manifest.json)
|
|
143
129
|
async function getPageFileEntries(config, includeAssetsImportedByServer) {
|
|
144
|
-
const isForClientSide = !(0, isViteServerSide_js_1.
|
|
130
|
+
const isForClientSide = !(0, isViteServerSide_js_1.isViteServerSide_viteEnvOptional)(config);
|
|
145
131
|
const fileTypes = isForClientSide ? ['.page', '.page.client'] : ['.page', '.page.server'];
|
|
146
132
|
if (isForClientSide && includeAssetsImportedByServer) {
|
|
147
133
|
fileTypes.push('.page.server');
|
|
@@ -18,7 +18,7 @@ function pluginModuleBanner() {
|
|
|
18
18
|
transform: {
|
|
19
19
|
order: 'post',
|
|
20
20
|
handler(code, id, options) {
|
|
21
|
-
if (!(0, isViteServerSide_js_1.isViteServerSide_extraSafe)(config,
|
|
21
|
+
if (!(0, isViteServerSide_js_1.isViteServerSide_extraSafe)(config, this.environment, options) &&
|
|
22
22
|
// Inject module banners if user sets `build.minify` to `false` for inspecting dist/client/
|
|
23
23
|
config.build.minify) {
|
|
24
24
|
return;
|
|
@@ -5,7 +5,6 @@ const pluginBuildApp_js_1 = require("./pluginBuild/pluginBuildApp.js");
|
|
|
5
5
|
const pluginDistPackageJsonFile_js_1 = require("./pluginBuild/pluginDistPackageJsonFile.js");
|
|
6
6
|
const pluginSuppressRollupWarning_js_1 = require("./pluginBuild/pluginSuppressRollupWarning.js");
|
|
7
7
|
const pluginDistFileNames_js_1 = require("./pluginBuild/pluginDistFileNames.js");
|
|
8
|
-
const pluginAutoFullBuild_js_1 = require("./pluginBuild/pluginAutoFullBuild.js");
|
|
9
8
|
const pluginBuildEntry_js_1 = require("./pluginBuild/pluginBuildEntry.js");
|
|
10
9
|
const pluginBuildConfig_js_1 = require("./pluginBuild/pluginBuildConfig.js");
|
|
11
10
|
const pluginModuleBanner_js_1 = require("./pluginBuild/pluginModuleBanner.js");
|
|
@@ -13,7 +12,6 @@ function pluginBuild() {
|
|
|
13
12
|
return [
|
|
14
13
|
...(0, pluginBuildConfig_js_1.pluginBuildConfig)(),
|
|
15
14
|
...(0, pluginBuildApp_js_1.pluginBuildApp)(),
|
|
16
|
-
...(0, pluginAutoFullBuild_js_1.pluginAutoFullBuild)(),
|
|
17
15
|
...(0, pluginBuildEntry_js_1.pluginBuildEntry)(),
|
|
18
16
|
(0, pluginDistPackageJsonFile_js_1.pluginDistPackageJsonFile)(),
|
|
19
17
|
(0, pluginSuppressRollupWarning_js_1.pluginSuppressRollupWarning)(),
|
|
@@ -38,7 +38,7 @@ function pluginEnvVars() {
|
|
|
38
38
|
if (!code.includes('({}).'))
|
|
39
39
|
return;
|
|
40
40
|
const isBuild = config.command === 'build';
|
|
41
|
-
const isClientSide = !(0, isViteServerSide_js_1.isViteServerSide_extraSafe)(config,
|
|
41
|
+
const isClientSide = !(0, isViteServerSide_js_1.isViteServerSide_extraSafe)(config, this.environment, options);
|
|
42
42
|
const { magicString, getMagicStringResult } = (0, getMagicString_js_1.getMagicString)(code, id);
|
|
43
43
|
// Find & check
|
|
44
44
|
const replacements = Object.entries(envsAll)
|
|
@@ -47,7 +47,7 @@ function pluginExtractAssets() {
|
|
|
47
47
|
}
|
|
48
48
|
const includeAssetsImportedByServer = (0, retrievePageAssetsProd_js_1.resolveIncludeAssetsImportedByServer)(vikeConfig.config);
|
|
49
49
|
(0, utils_js_1.assert)(includeAssetsImportedByServer);
|
|
50
|
-
(0, utils_js_1.assert)(!(0, isViteServerSide_js_1.isViteServerSide_extraSafe)(config,
|
|
50
|
+
(0, utils_js_1.assert)(!(0, isViteServerSide_js_1.isViteServerSide_extraSafe)(config, this.environment, options));
|
|
51
51
|
const importStatements = await (0, parseEsModule_js_1.getImportStatements)(src);
|
|
52
52
|
const moduleNames = getImportedModules(importStatements);
|
|
53
53
|
const code = moduleNames.map((moduleName) => `import '${moduleName}';`).join('\n');
|
|
@@ -64,7 +64,7 @@ function pluginExtractAssets() {
|
|
|
64
64
|
// - Vite's `vite:resolve` plugin; https://github.com/vitejs/vite/blob/d649daba7682791178b711d9a3e44a6b5d00990c/packages/vite/src/node/plugins/resolve.ts#L105
|
|
65
65
|
enforce: 'pre',
|
|
66
66
|
async resolveId(source, importer, options) {
|
|
67
|
-
if ((0, isViteServerSide_js_1.isViteServerSide_extraSafe)(config,
|
|
67
|
+
if ((0, isViteServerSide_js_1.isViteServerSide_extraSafe)(config, this.environment, options)) {
|
|
68
68
|
// When building for the server, there should never be a `?extractAssets` query
|
|
69
69
|
(0, utils_js_1.assert)(!extractAssetsRE.test(source));
|
|
70
70
|
(0, utils_js_1.assert)(importer === undefined || !extractAssetsRE.test(importer));
|
|
@@ -141,7 +141,7 @@ function pluginExtractAssets() {
|
|
|
141
141
|
async configResolved(config_) {
|
|
142
142
|
config = config_;
|
|
143
143
|
vikeConfig = await (0, resolveVikeConfigInternal_js_1.getVikeConfigInternal)();
|
|
144
|
-
isFixEnabled = (0, handleAssetsManifest_js_1.handleAssetsManifest_isFixEnabled)(
|
|
144
|
+
isFixEnabled = (0, handleAssetsManifest_js_1.handleAssetsManifest_isFixEnabled)();
|
|
145
145
|
if (!isFixEnabled) {
|
|
146
146
|
// https://github.com/vikejs/vike/issues/1060
|
|
147
147
|
(0, utils_js_1.assertUsage)(!config.plugins.find((p) => p.name === 'vite-tsconfig-paths'), 'vite-tsconfig-paths not supported, remove it and use vite.config.js#resolve.alias instead');
|
|
@@ -19,7 +19,7 @@ function pluginExtractExportNames() {
|
|
|
19
19
|
enforce: 'post',
|
|
20
20
|
async transform(src, id, options) {
|
|
21
21
|
id = (0, normalizeId_js_1.normalizeId)(id);
|
|
22
|
-
const isClientSide = !(0, isViteServerSide_js_1.isViteServerSide_extraSafe)(config,
|
|
22
|
+
const isClientSide = !(0, isViteServerSide_js_1.isViteServerSide_extraSafe)(config, this.environment, options);
|
|
23
23
|
if (extractExportNamesRE.test(id)) {
|
|
24
24
|
const code = await getExtractExportNamesCode(src, isClientSide, !isDev, id);
|
|
25
25
|
debug('id ' + id, ['result:\n' + code.code.trim(), 'src:\n' + src.trim()]);
|
|
@@ -34,7 +34,7 @@ function pluginFileEnv() {
|
|
|
34
34
|
const importers = Array.from(moduleInfo.importers)
|
|
35
35
|
.map((m) => m.id)
|
|
36
36
|
.filter((id) => id !== null);
|
|
37
|
-
assertFileEnv(id, (0, isViteServerSide_js_1.isViteServerSide_extraSafe)(config,
|
|
37
|
+
assertFileEnv(id, (0, isViteServerSide_js_1.isViteServerSide_extraSafe)(config, this.environment, options), importers,
|
|
38
38
|
// In dev, we only show a warning because we don't want to disrupt when the user plays with settings such as [ssr](https://vike.dev/ssr).
|
|
39
39
|
true);
|
|
40
40
|
},
|
|
@@ -46,7 +46,7 @@ function pluginFileEnv() {
|
|
|
46
46
|
return;
|
|
47
47
|
if (skip(id))
|
|
48
48
|
return;
|
|
49
|
-
const isServerSide = (0, isViteServerSide_js_1.isViteServerSide_extraSafe)(config,
|
|
49
|
+
const isServerSide = (0, isViteServerSide_js_1.isViteServerSide_extraSafe)(config, this.environment, options);
|
|
50
50
|
if (!isWrongEnv(id, isServerSide))
|
|
51
51
|
return;
|
|
52
52
|
const { importers } = this.getModuleInfo(id);
|
|
@@ -15,25 +15,15 @@ const sirv_1 = __importDefault(require("sirv"));
|
|
|
15
15
|
const resolveVikeConfigInternal_js_1 = require("../shared/resolveVikeConfigInternal.js");
|
|
16
16
|
function pluginPreview() {
|
|
17
17
|
let config;
|
|
18
|
-
let configUnresolved;
|
|
19
18
|
let vikeConfig;
|
|
20
19
|
return {
|
|
21
20
|
name: 'vike:pluginPreview',
|
|
22
21
|
apply: utils_js_1.applyPreview,
|
|
23
|
-
config(
|
|
24
|
-
configUnresolved = config;
|
|
22
|
+
config() {
|
|
25
23
|
return {
|
|
26
24
|
appType: 'custom',
|
|
27
25
|
};
|
|
28
26
|
},
|
|
29
|
-
configEnvironment(envName, configEnv) {
|
|
30
|
-
(0, utils_js_1.assert)(configUnresolved);
|
|
31
|
-
return {
|
|
32
|
-
build: {
|
|
33
|
-
outDir: (0, getOutDirs_js_1.resolveOutDir_configEnvironment)(configUnresolved, envName, configEnv),
|
|
34
|
-
},
|
|
35
|
-
};
|
|
36
|
-
},
|
|
37
27
|
async configResolved(config_) {
|
|
38
28
|
config = config_;
|
|
39
29
|
vikeConfig = await (0, resolveVikeConfigInternal_js_1.getVikeConfigInternal)();
|
|
@@ -35,7 +35,7 @@ function pluginReplaceConstants() {
|
|
|
35
35
|
const constantsMap = [];
|
|
36
36
|
constantsMap.push({
|
|
37
37
|
constants: ['pageContext.isClientSide', 'globalContext.isClientSide', 'pageContext.globalContext.isClientSide'],
|
|
38
|
-
replacement: !(0, isViteServerSide_js_1.isViteServerSide_extraSafe)(config,
|
|
38
|
+
replacement: !(0, isViteServerSide_js_1.isViteServerSide_extraSafe)(config, this.environment, options),
|
|
39
39
|
});
|
|
40
40
|
constantsMap.forEach(({ constants, replacement }) => {
|
|
41
41
|
if (!constants.some((c) => code.includes(c)))
|
package/dist/cjs/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.js
CHANGED
|
@@ -18,7 +18,7 @@ async function generateVirtualFileGlobalEntryWithOldDesign(id, options, config,
|
|
|
18
18
|
const idParsed = (0, virtualFileId_js_1.parseVirtualFileId)(id);
|
|
19
19
|
(0, utils_js_1.assert)(idParsed && idParsed.type === 'global-entry');
|
|
20
20
|
const { isForClientSide, isClientRouting } = idParsed;
|
|
21
|
-
(0, utils_js_1.assert)(isForClientSide === !(0, isViteServerSide_js_1.isViteServerSide_extraSafe)(config,
|
|
21
|
+
(0, utils_js_1.assert)(isForClientSide === !(0, isViteServerSide_js_1.isViteServerSide_extraSafe)(config, env, options));
|
|
22
22
|
const code = await getCode(config, isForClientSide, isClientRouting, isDev, id);
|
|
23
23
|
return code;
|
|
24
24
|
}
|
|
@@ -10,7 +10,7 @@ const serializeConfigValues_js_1 = require("../../../../shared/page-configs/seri
|
|
|
10
10
|
const handleAssetsManifest_js_1 = require("../pluginBuild/handleAssetsManifest.js");
|
|
11
11
|
const getConfigValueBuildTime_js_1 = require("../../../../shared/page-configs/getConfigValueBuildTime.js");
|
|
12
12
|
const retrievePageAssetsProd_js_1 = require("../../../runtime/renderPage/getPageAssets/retrievePageAssetsProd.js");
|
|
13
|
-
async function generateVirtualFilePageEntry(id, isDev
|
|
13
|
+
async function generateVirtualFilePageEntry(id, isDev) {
|
|
14
14
|
const result = (0, virtualFileId_js_1.parseVirtualFileId)(id);
|
|
15
15
|
(0, utils_js_1.assert)(result && result.type === 'page-entry');
|
|
16
16
|
/* This assertion fails when using includeAssetsImportedByServer
|
|
@@ -34,11 +34,11 @@ async function generateVirtualFilePageEntry(id, isDev, config) {
|
|
|
34
34
|
throw (0, utils_js_1.getProjectError)('Outdated request');
|
|
35
35
|
//*/
|
|
36
36
|
}
|
|
37
|
-
const code = getCode(pageConfig, isForClientSide, pageId, (0, retrievePageAssetsProd_js_1.resolveIncludeAssetsImportedByServer)(vikeConfig.config),
|
|
37
|
+
const code = getCode(pageConfig, isForClientSide, pageId, (0, retrievePageAssetsProd_js_1.resolveIncludeAssetsImportedByServer)(vikeConfig.config), isDev);
|
|
38
38
|
(0, debug_js_1.debug)(id, isForClientSide ? 'CLIENT-SIDE' : 'SERVER-SIDE', code);
|
|
39
39
|
return code;
|
|
40
40
|
}
|
|
41
|
-
function getCode(pageConfig, isForClientSide, pageId, includeAssetsImportedByServer,
|
|
41
|
+
function getCode(pageConfig, isForClientSide, pageId, includeAssetsImportedByServer, isDev) {
|
|
42
42
|
const lines = [];
|
|
43
43
|
const importStatements = [];
|
|
44
44
|
const filesEnv = new Map();
|
|
@@ -46,7 +46,7 @@ function getCode(pageConfig, isForClientSide, pageId, includeAssetsImportedBySer
|
|
|
46
46
|
lines.push('export const configValuesSerialized = {');
|
|
47
47
|
lines.push(...(0, serializeConfigValues_js_1.serializeConfigValues)(pageConfig, importStatements, filesEnv, { isForClientSide, isClientRouting, isDev }, '', false));
|
|
48
48
|
lines.push('};');
|
|
49
|
-
if (!(0, handleAssetsManifest_js_1.handleAssetsManifest_isFixEnabled)(
|
|
49
|
+
if (!(0, handleAssetsManifest_js_1.handleAssetsManifest_isFixEnabled)() && includeAssetsImportedByServer && isForClientSide && !isDev) {
|
|
50
50
|
importStatements.push(`import '${(0, extractAssetsQuery_js_1.extractAssetsAddQuery)((0, virtualFileId_js_1.generateVirtualFileId)({ type: 'page-entry', pageId, isForClientSide: false }))}'`);
|
|
51
51
|
}
|
|
52
52
|
const code = [...importStatements, ...lines].join('\n');
|
|
@@ -51,7 +51,7 @@ function pluginVirtualFiles() {
|
|
|
51
51
|
const idParsed = (0, virtualFileId_js_1.parseVirtualFileId)(id);
|
|
52
52
|
if (idParsed) {
|
|
53
53
|
if (idParsed.type === 'page-entry') {
|
|
54
|
-
const code = await (0, generateVirtualFilePageEntry_js_1.generateVirtualFilePageEntry)(id, isDev
|
|
54
|
+
const code = await (0, generateVirtualFilePageEntry_js_1.generateVirtualFilePageEntry)(id, isDev);
|
|
55
55
|
return code;
|
|
56
56
|
}
|
|
57
57
|
if (idParsed.type === 'global-entry') {
|
|
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getOutDirs = getOutDirs;
|
|
7
7
|
exports.resolveOutDir = resolveOutDir;
|
|
8
|
-
exports.resolveOutDir_configEnvironment = resolveOutDir_configEnvironment;
|
|
9
8
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
10
9
|
const utils_js_1 = require("../utils.js");
|
|
11
10
|
const isViteServerSide_js_1 = require("./isViteServerSide.js");
|
|
@@ -20,21 +19,11 @@ function getOutDirs(configGlobal, viteEnv) {
|
|
|
20
19
|
assertNormalization(outDirs.outDirServer);
|
|
21
20
|
return outDirs;
|
|
22
21
|
}
|
|
23
|
-
function resolveOutDir_configEnvironment(configGlobal, envName, configEnv) {
|
|
24
|
-
(0, utils_js_1.assert)(configGlobal && envName && configEnv);
|
|
25
|
-
const viteEnv = { name: envName, config: configEnv };
|
|
26
|
-
const isServerSide = (0, isViteServerSide_js_1.isViteServerSide)(configGlobal, viteEnv);
|
|
27
|
-
return resolveOutDir(configEnv, isServerSide);
|
|
28
|
-
}
|
|
29
22
|
/** Appends `client/` or `server/` to `config.build.outDir` */
|
|
30
23
|
function resolveOutDir(config, isServerSide) {
|
|
31
|
-
debug('resolveOutDir()'
|
|
32
|
-
debug('isServerSide', isServerSide);
|
|
24
|
+
debug('resolveOutDir()');
|
|
33
25
|
const outDir = getOutDirFromViteUserConfig(config) || 'dist';
|
|
34
26
|
debug('outDir', outDir);
|
|
35
|
-
/* outDir may already be resolved when using Telefunc + Vike (because both Telefunc and Vike use this logic)
|
|
36
|
-
assert(isOutDirRoot(outDir))
|
|
37
|
-
*/
|
|
38
27
|
const { outDirClient, outDirServer } = getOutDirsAll(outDir);
|
|
39
28
|
if (isServerSide) {
|
|
40
29
|
debug('outDirServer', 'outDirServer');
|
|
@@ -119,7 +108,7 @@ function assertOutDirResolved(outDir, configGlobal, viteEnv) {
|
|
|
119
108
|
(0, utils_js_1.assert)('/client'.length === '/server'.length);
|
|
120
109
|
const outDirCorrected = outDir.slice(0, -1 * '/client'.length);
|
|
121
110
|
const wrongUsage = `You've set Vite's config.build.outDir to ${picocolors_1.default.cyan(outDir)} but you should set it to ${picocolors_1.default.cyan(outDirCorrected)} instead.`;
|
|
122
|
-
const isServerSide = (0, isViteServerSide_js_1.
|
|
111
|
+
const isServerSide = (0, isViteServerSide_js_1.isViteServerSide_viteEnvOptional)(configGlobal, viteEnv);
|
|
123
112
|
if (isServerSide) {
|
|
124
113
|
(0, utils_js_1.assertUsage)(outDir.endsWith('/server'), wrongUsage);
|
|
125
114
|
}
|
|
@@ -2,57 +2,46 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isViteServerSide = isViteServerSide;
|
|
4
4
|
exports.isViteClientSide = isViteClientSide;
|
|
5
|
-
exports.
|
|
5
|
+
exports.isViteServerSide_viteEnvOptional = isViteServerSide_viteEnvOptional;
|
|
6
6
|
exports.isViteServerSide_onlySsrEnv = isViteServerSide_onlySsrEnv;
|
|
7
7
|
exports.isViteServerSide_extraSafe = isViteServerSide_extraSafe;
|
|
8
8
|
const assert_js_1 = require("../../../utils/assert.js");
|
|
9
9
|
function isViteServerSide_impl(configGlobal, viteEnv) {
|
|
10
10
|
(0, assert_js_1.assert)(!('consumer' in configGlobal)); // make sure configGlobal isn't viteEnv.config
|
|
11
|
-
const isServerSide1 = !viteEnv?.config.consumer ? null : viteEnv.config.consumer !== 'client';
|
|
12
|
-
const isServerSide2 = !viteEnv?.config.build ? null : getBuildSsrValue(viteEnv.config.build.ssr);
|
|
13
|
-
const isServerSide3 = !configGlobal.build ? null : getBuildSsrValue(configGlobal.build.ssr);
|
|
14
|
-
const isServerSide4 = viteEnv?.name === 'ssr' ? true : viteEnv?.name === 'client' ? false : null;
|
|
15
11
|
const debug = {
|
|
16
12
|
viteEnvIsUndefined: !viteEnv,
|
|
17
13
|
viteEnvName: viteEnv?.name ?? null,
|
|
18
14
|
viteEnvConsumer: viteEnv?.config.consumer ?? null,
|
|
19
15
|
configEnvBuildSsr: viteEnv?.config.build?.ssr ?? null,
|
|
20
16
|
configGlobalBuildSsr: configGlobal.build?.ssr ?? null,
|
|
21
|
-
isServerSide1,
|
|
22
|
-
isServerSide2,
|
|
23
|
-
isServerSide3,
|
|
24
|
-
isServerSide4,
|
|
25
17
|
};
|
|
26
|
-
if (
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
*/
|
|
31
|
-
return isServerSide1;
|
|
32
|
-
}
|
|
33
|
-
if (isServerSide2 !== null) {
|
|
34
|
-
// assert(isServerSide2 === isServerSide4 || isServerSide4 === null, debug)
|
|
35
|
-
return isServerSide2;
|
|
36
|
-
}
|
|
37
|
-
if (isServerSide3 !== null) {
|
|
38
|
-
// assert(isServerSide3 === isServerSide4 || isServerSide4 === null, debug)
|
|
39
|
-
return isServerSide3;
|
|
18
|
+
if (!viteEnv) {
|
|
19
|
+
const isServerSide = getBuildSsrValue(configGlobal.build?.ssr);
|
|
20
|
+
(0, assert_js_1.assert)(typeof isServerSide === 'boolean', debug);
|
|
21
|
+
return isServerSide;
|
|
40
22
|
}
|
|
41
|
-
|
|
42
|
-
|
|
23
|
+
else {
|
|
24
|
+
const isServerSide1 = !viteEnv.config.consumer ? null : viteEnv.config.consumer !== 'client';
|
|
25
|
+
const isServerSide2 = getBuildSsrValue(viteEnv.config.build?.ssr);
|
|
26
|
+
const isServerSide3 = viteEnv.name === 'ssr' ? true : viteEnv.name === 'client' ? false : null;
|
|
27
|
+
const isServerSide = isServerSide1 ?? isServerSide2;
|
|
28
|
+
(0, assert_js_1.assert)(isServerSide === isServerSide1 || isServerSide1 === null, debug);
|
|
29
|
+
(0, assert_js_1.assert)(isServerSide === isServerSide2 || isServerSide2 === null, debug);
|
|
30
|
+
(0, assert_js_1.assert)(isServerSide === isServerSide3 || isServerSide3 === null, debug);
|
|
31
|
+
(0, assert_js_1.assert)(isServerSide !== null);
|
|
32
|
+
return isServerSide;
|
|
43
33
|
}
|
|
44
|
-
(0, assert_js_1.assert)(!viteEnv);
|
|
45
|
-
return !!configGlobal.build?.ssr;
|
|
46
34
|
}
|
|
47
35
|
function getBuildSsrValue(buildSsr) {
|
|
48
36
|
if (buildSsr === undefined)
|
|
49
37
|
return null;
|
|
38
|
+
(0, assert_js_1.assert)(typeof buildSsr === 'boolean' || typeof buildSsr === 'string');
|
|
50
39
|
return !!buildSsr;
|
|
51
40
|
}
|
|
52
41
|
function isViteServerSide(configGlobal, viteEnv) {
|
|
53
42
|
return isViteServerSide_impl(configGlobal, viteEnv);
|
|
54
43
|
}
|
|
55
|
-
function
|
|
44
|
+
function isViteServerSide_viteEnvOptional(configGlobal, viteEnv) {
|
|
56
45
|
return isViteServerSide_impl(configGlobal, viteEnv);
|
|
57
46
|
}
|
|
58
47
|
function isViteClientSide(configGlobal, viteEnv) {
|
|
@@ -63,37 +52,17 @@ function isViteServerSide_onlySsrEnv(configGlobal, viteEnv) {
|
|
|
63
52
|
return viteEnv.name ? viteEnv.name === 'ssr' : isViteServerSide(configGlobal, viteEnv);
|
|
64
53
|
}
|
|
65
54
|
// Vite is quite messy about setting config.build.ssr — for security purposes, we use an extra safe implementation with lots of assertions, which is needed for the .client.js and .server.js guarantee.
|
|
66
|
-
function isViteServerSide_extraSafe(config,
|
|
55
|
+
function isViteServerSide_extraSafe(config, viteEnv, options) {
|
|
67
56
|
const isServerSide = isViteServerSide(config, viteEnv);
|
|
68
57
|
const debug = {
|
|
58
|
+
isServerSide,
|
|
69
59
|
configCommand: config.command,
|
|
70
|
-
configBuildSsr: config.build.ssr,
|
|
60
|
+
configBuildSsr: getBuildSsrValue(config.build.ssr),
|
|
71
61
|
optionsIsUndefined: options === undefined,
|
|
72
|
-
optionsSsr: options?.ssr,
|
|
73
|
-
isServerSide,
|
|
62
|
+
optionsSsr: options?.ssr ?? null,
|
|
74
63
|
};
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
return res;
|
|
80
|
-
}
|
|
81
|
-
return isServerSide;
|
|
82
|
-
}
|
|
83
|
-
if (config.command === 'build') {
|
|
84
|
-
const res = config.build.ssr;
|
|
85
|
-
(0, assert_js_1.assert)(typeof res === 'boolean', debug);
|
|
86
|
-
(0, assert_js_1.assert)(res === options?.ssr || options?.ssr === undefined, debug);
|
|
87
|
-
(0, assert_js_1.assert)(res === isServerSide, debug);
|
|
88
|
-
return res;
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
const res = options?.ssr;
|
|
92
|
-
(0, assert_js_1.assert)(typeof res === 'boolean', debug);
|
|
93
|
-
/* This assertion can fail, seems to be a Vite bug? It's very unexpected.
|
|
94
|
-
if (typeof config.build.ssr === 'boolean') assert(res === config.build.ssr)
|
|
95
|
-
*/
|
|
96
|
-
(0, assert_js_1.assert)(res === isServerSide, debug);
|
|
97
|
-
return res;
|
|
98
|
-
}
|
|
64
|
+
(0, assert_js_1.assert)(options, debug);
|
|
65
|
+
(0, assert_js_1.assert)(typeof options.ssr === 'boolean', debug);
|
|
66
|
+
(0, assert_js_1.assert)(options.ssr === isServerSide, debug);
|
|
67
|
+
return isServerSide;
|
|
99
68
|
}
|