vike 0.4.227-commit-d082773 → 0.4.227-commit-f991d58

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.
@@ -15,6 +15,7 @@ const importMetaUrl = `file:///${__filename.split('\\').join('/')}`;
15
15
  const extractExportNamesPlugin_js_1 = require("../extractExportNamesPlugin.js");
16
16
  const globalContext_js_1 = require("../../../runtime/globalContext.js");
17
17
  const getOutDirs_js_1 = require("../../shared/getOutDirs.js");
18
+ const getViteConfigRuntime_js_1 = require("../../shared/getViteConfigRuntime.js");
18
19
  const ASSETS_MANIFEST = '__VITE_ASSETS_MANIFEST__';
19
20
  function pluginBuildEntry() {
20
21
  let config;
@@ -40,7 +41,7 @@ function getServerProductionEntryCode(config) {
40
41
  const buildInfo = {
41
42
  versionAtBuildTime: utils_js_1.PROJECT_VERSION,
42
43
  usesClientRouter: (0, extractExportNamesPlugin_js_1.isUsingClientRouter)(), // TODO/v1-release: remove
43
- viteConfigRuntime: (0, globalContext_js_1.getViteConfigRuntime)(config)
44
+ viteConfigRuntime: (0, getViteConfigRuntime_js_1.getViteConfigRuntime)(config)
44
45
  };
45
46
  (0, globalContext_js_1.assertBuildInfo)(buildInfo);
46
47
  // After the old design is removed, let's maybe simplify and move everything into a single virtual module
@@ -3,8 +3,8 @@ 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 getOutDirs_js_1 = require("../shared/getOutDirs.js");
7
6
  const getVikeConfig_js_1 = require("./importUserCode/v1-design/getVikeConfig.js");
7
+ const getViteConfigRuntime_js_1 = require("../shared/getViteConfigRuntime.js");
8
8
  function setGlobalContext() {
9
9
  let isServerReload = false;
10
10
  let config;
@@ -43,9 +43,8 @@ function setGlobalContext() {
43
43
  order: 'post',
44
44
  async handler(config_) {
45
45
  config = config_;
46
- const { outDirRoot } = (0, getOutDirs_js_1.getOutDirs)(config);
47
- (0, utils_js_1.assertFilePathAbsoluteFilesystem)(outDirRoot); // Needed for `importServerProductionEntry({ outDir })` of @brillout/vite-plugin-server-entry
48
- (0, globalContext_js_1.setGlobalContext_viteConfig)(config, outDirRoot);
46
+ const viteConfigRuntime = (0, getViteConfigRuntime_js_1.getViteConfigRuntime)(config);
47
+ (0, globalContext_js_1.setGlobalContext_viteConfig)(config, viteConfigRuntime);
49
48
  }
50
49
  }
51
50
  }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getViteConfigRuntime = getViteConfigRuntime;
4
+ const utils_js_1 = require("../utils.js");
5
+ const getOutDirs_js_1 = require("./getOutDirs.js");
6
+ function getViteConfigRuntime(config) {
7
+ (0, utils_js_1.assert)((0, utils_js_1.hasProp)(config, '_baseViteOriginal', 'string'));
8
+ const { outDirRoot } = (0, getOutDirs_js_1.getOutDirs)(config);
9
+ (0, utils_js_1.assertFilePathAbsoluteFilesystem)(outDirRoot);
10
+ const viteConfigRuntime = {
11
+ root: config.root,
12
+ build: {
13
+ outDir: outDirRoot
14
+ },
15
+ _baseViteOriginal: config._baseViteOriginal,
16
+ vitePluginServerEntry: {
17
+ inject: config.vitePluginServerEntry?.inject
18
+ }
19
+ };
20
+ return viteConfigRuntime;
21
+ }
@@ -115,14 +115,19 @@ async function runPrerender(options = {}, standaloneTrigger) {
115
115
  const viteConfig = await (0, vite_1.resolveConfig)(options.viteConfig || {}, 'build', 'production');
116
116
  const vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig)(viteConfig);
117
117
  const vike = (0, commonConfig_js_1.getVikeConfigPublic)(viteConfig);
118
- (0, utils_js_1.assert)(vike.prerenderContext.isPrerenderingEnabled);
119
118
  const { outDirClient, outDirServer } = (0, getOutDirs_js_1.getOutDirs)(viteConfig);
120
119
  const { root } = viteConfig;
121
120
  const prerenderConfigGlobal = (0, resolvePrerenderConfig_js_1.resolvePrerenderConfigGlobal)(vikeConfig);
122
121
  const { partial, noExtraDir, parallel, defaultLocalValue, isPrerenderingEnabled } = prerenderConfigGlobal;
123
122
  if (!isPrerenderingEnabled) {
124
123
  (0, utils_js_1.assert)(standaloneTrigger);
125
- (0, utils_js_1.assertUsage)(false, `You're executing ${picocolors_1.default.cyan(standaloneTrigger)} but you didn't enable pre-rendering. Use the ${picocolors_1.default.cyan('prerender')} setting (${picocolors_1.default.underline('https://vike.dev/prerender')}) to enable pre-rendering for at least one page.`);
124
+ /* TODO/soon: use this again a little while after https://github.com/magne4000/vite-plugin-vercel/pull/156 is merged.
125
+ assertUsage(
126
+ false,
127
+ `You're executing ${pc.cyan(standaloneTrigger)} but you didn't enable pre-rendering. Use the ${pc.cyan('prerender')} setting (${pc.underline('https://vike.dev/prerender')}) to enable pre-rendering for at least one page.`
128
+ )
129
+ */
130
+ return { viteConfig };
126
131
  }
127
132
  const concurrencyLimit = (0, utils_js_1.pLimit)(parallel === false || parallel === 0 ? 1 : parallel === true || parallel === undefined ? (0, os_1.cpus)().length : parallel);
128
133
  await (0, globalContext_js_1.initGlobalContext_runPrerender)();
@@ -18,7 +18,6 @@ exports.setGlobalContext_isProduction = setGlobalContext_isProduction;
18
18
  exports.setGlobalContext_buildEntry = setGlobalContext_buildEntry;
19
19
  exports.clearGlobalContext = clearGlobalContext;
20
20
  exports.assertBuildInfo = assertBuildInfo;
21
- exports.getViteConfigRuntime = getViteConfigRuntime;
22
21
  exports.updateUserFiles = updateUserFiles;
23
22
  // The core logic revolves around:
24
23
  // - globalObject.userFiles which is the main requirement for resolveGlobalContext()
@@ -84,6 +83,7 @@ function makePublic(globalContext) {
84
83
  'assetsManifest',
85
84
  'config',
86
85
  'viteConfig',
86
+ 'viteConfigRuntime',
87
87
  'pages',
88
88
  'baseServer',
89
89
  'baseAssets'
@@ -103,12 +103,12 @@ async function setGlobalContext_viteDevServer(viteDevServer) {
103
103
  assertGlobalContextIsDefined();
104
104
  globalObject.viteDevServerPromiseResolve(viteDevServer);
105
105
  }
106
- function setGlobalContext_viteConfig(viteConfig, outDirRoot) {
106
+ function setGlobalContext_viteConfig(viteConfig, viteConfigRuntime) {
107
107
  if (globalObject.viteConfig)
108
108
  return;
109
109
  assertIsNotInitilizedYet();
110
110
  globalObject.viteConfig = viteConfig;
111
- globalObject.outDirRoot = outDirRoot;
111
+ globalObject.viteConfigRuntime = viteConfigRuntime;
112
112
  }
113
113
  function assertIsNotInitilizedYet() {
114
114
  // In development, globalObject.viteDevServer always needs to be awaited for before initializing globalObject.globalContext
@@ -143,7 +143,6 @@ async function initGlobalContext_runPrerender() {
143
143
  globalObject.initGlobalContext_runPrerender_alreadyCalled = true;
144
144
  (0, utils_js_1.assert)(globalObject.isPrerendering);
145
145
  (0, utils_js_1.assert)(globalObject.viteConfig);
146
- (0, utils_js_1.assert)(globalObject.outDirRoot);
147
146
  // We assume initGlobalContext_runPrerender() to be called before:
148
147
  // - initGlobalContext_renderPage()
149
148
  // - initGlobalContext_getGlobalContextAsync()
@@ -179,7 +178,7 @@ async function initGlobalContext() {
179
178
  await waitForViteDevServer();
180
179
  }
181
180
  else {
182
- await loadBuildEntry(globalObject.outDirRoot);
181
+ await loadBuildEntry(globalObject.viteConfigRuntime?.build.outDir);
183
182
  }
184
183
  assertGlobalContextIsDefined();
185
184
  globalObject.isInitialized = true;
@@ -202,7 +201,7 @@ function defineGlobalContext() {
202
201
  (0, utils_js_1.onSetupRuntime)();
203
202
  }
204
203
  function resolveGlobalContext() {
205
- const { viteDevServer, viteConfig, isPrerendering, isProduction, userFiles } = globalObject;
204
+ const { viteDevServer, viteConfig, viteConfigRuntime, isPrerendering, isProduction, userFiles } = globalObject;
206
205
  (0, utils_js_1.assert)(typeof isProduction === 'boolean');
207
206
  let globalContext;
208
207
  if (!isProduction) {
@@ -211,8 +210,8 @@ function resolveGlobalContext() {
211
210
  return null;
212
211
  (0, utils_js_1.assert)(userFiles); // main common requiement
213
212
  (0, utils_js_1.assert)(viteConfig);
213
+ (0, utils_js_1.assert)(viteConfigRuntime);
214
214
  (0, utils_js_1.assert)(!isPrerendering);
215
- const viteConfigRuntime = getViteConfigRuntime(viteConfig);
216
215
  globalContext = {
217
216
  isProduction: false,
218
217
  isPrerendering: false,
@@ -355,25 +354,17 @@ function assertBuildInfo(buildInfo) {
355
354
  assertVersionAtBuildTime(buildInfo.versionAtBuildTime);
356
355
  (0, utils_js_1.assert)((0, utils_js_1.hasProp)(buildInfo, 'viteConfigRuntime', 'object'));
357
356
  (0, utils_js_1.assert)((0, utils_js_1.hasProp)(buildInfo.viteConfigRuntime, '_baseViteOriginal', 'string'));
357
+ (0, utils_js_1.assert)((0, utils_js_1.hasProp)(buildInfo.viteConfigRuntime, 'root', 'string'));
358
+ (0, utils_js_1.assert)((0, utils_js_1.hasProp)(buildInfo.viteConfigRuntime, 'build', 'object'));
359
+ (0, utils_js_1.assert)((0, utils_js_1.hasProp)(buildInfo.viteConfigRuntime.build, 'outDir', 'string'));
358
360
  (0, utils_js_1.assert)((0, utils_js_1.hasProp)(buildInfo.viteConfigRuntime, 'vitePluginServerEntry', 'object'));
359
361
  (0, utils_js_1.assert)((0, utils_js_1.hasProp)(buildInfo, 'usesClientRouter', 'boolean'));
360
- (0, utils_js_1.checkType)({ ...buildInfo, viteConfigRuntime: buildInfo.viteConfigRuntime });
361
362
  }
362
363
  function assertVersionAtBuildTime(versionAtBuildTime) {
363
364
  const versionAtRuntime = utils_js_1.PROJECT_VERSION;
364
365
  const pretty = (version) => picocolors_1.default.bold(`vike@${version}`);
365
366
  (0, utils_js_1.assertUsage)(versionAtBuildTime === versionAtRuntime, `Re-build your app (you're using ${pretty(versionAtRuntime)} but your app was built with ${pretty(versionAtBuildTime)})`);
366
367
  }
367
- function getViteConfigRuntime(viteConfig) {
368
- (0, utils_js_1.assert)((0, utils_js_1.hasProp)(viteConfig, '_baseViteOriginal', 'string'));
369
- const viteConfigRuntime = {
370
- _baseViteOriginal: viteConfig._baseViteOriginal,
371
- vitePluginServerEntry: {
372
- inject: viteConfig.vitePluginServerEntry?.inject
373
- }
374
- };
375
- return viteConfigRuntime;
376
- }
377
368
  async function updateUserFiles() {
378
369
  const { promise, resolve } = (0, utils_js_1.genPromise)();
379
370
  (0, utils_js_1.assert)(!globalObject.isProduction);
@@ -522,7 +522,6 @@ async function createStreamWrapper({ streamOriginal, onError, onData, onEnd, onF
522
522
  if (isStreamReadableWeb(streamOriginal)) {
523
523
  debug('onRenderHtml() hook returned Web Readable');
524
524
  const readableOriginal = streamOriginal;
525
- let controllerProxyIsClosed = false;
526
525
  let isClosed = false;
527
526
  let isCancel = false;
528
527
  const closeStream = async () => {
@@ -531,7 +530,6 @@ async function createStreamWrapper({ streamOriginal, onError, onData, onEnd, onF
531
530
  isClosed = true;
532
531
  await onEnd(isCancel);
533
532
  controllerProxy.close();
534
- controllerProxyIsClosed = true;
535
533
  };
536
534
  let controllerProxy;
537
535
  assertReadableStreamConstructor();
@@ -559,8 +557,8 @@ async function createStreamWrapper({ streamOriginal, onError, onData, onEnd, onF
559
557
  });
560
558
  const writeChunk = (chunk) => {
561
559
  if (
562
- // If readableOriginal doesn't implement readableOriginal.cancel() then it may still emit data after we close the stream. We therefore need to check whether we closed `controllerProxy`.
563
- !controllerProxyIsClosed) {
560
+ // If readableOriginal doesn't implement readableOriginal.cancel() then it may still emit data after we close the stream. We therefore need to check whether the steam is closed.
561
+ !isClosed) {
564
562
  controllerProxy.enqueue(encodeForWebStream(chunk));
565
563
  debugWithChunk('data written (Web Readable)', chunk);
566
564
  }
@@ -2,4 +2,4 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PROJECT_VERSION = void 0;
4
4
  // Automatically updated by @brillout/release-me
5
- exports.PROJECT_VERSION = '0.4.227-commit-d082773';
5
+ exports.PROJECT_VERSION = '0.4.227-commit-f991d58';
@@ -8,8 +8,9 @@ import path from 'path';
8
8
  // @ts-ignore import.meta.url is shimmed at dist/cjs by dist-cjs-fixup.js.
9
9
  const importMetaUrl = import.meta.url;
10
10
  import { isUsingClientRouter } from '../extractExportNamesPlugin.js';
11
- import { assertBuildInfo, getViteConfigRuntime } from '../../../runtime/globalContext.js';
11
+ import { assertBuildInfo } from '../../../runtime/globalContext.js';
12
12
  import { getOutDirs } from '../../shared/getOutDirs.js';
13
+ import { getViteConfigRuntime } from '../../shared/getViteConfigRuntime.js';
13
14
  const ASSETS_MANIFEST = '__VITE_ASSETS_MANIFEST__';
14
15
  function pluginBuildEntry() {
15
16
  let config;
@@ -1,8 +1,8 @@
1
1
  export { setGlobalContext };
2
2
  import { setGlobalContext_viteDevServer, setGlobalContext_viteConfig, setGlobalContext_isProduction } from '../../runtime/globalContext.js';
3
- import { assert, assertFilePathAbsoluteFilesystem, isDevCheck, markSetup_isViteDev, markSetup_viteDevServer, markSetup_vitePreviewServer } from '../utils.js';
4
- import { getOutDirs } from '../shared/getOutDirs.js';
3
+ import { assert, isDevCheck, markSetup_isViteDev, markSetup_viteDevServer, markSetup_vitePreviewServer } from '../utils.js';
5
4
  import { reloadVikeConfig } from './importUserCode/v1-design/getVikeConfig.js';
5
+ import { getViteConfigRuntime } from '../shared/getViteConfigRuntime.js';
6
6
  function setGlobalContext() {
7
7
  let isServerReload = false;
8
8
  let config;
@@ -41,9 +41,8 @@ function setGlobalContext() {
41
41
  order: 'post',
42
42
  async handler(config_) {
43
43
  config = config_;
44
- const { outDirRoot } = getOutDirs(config);
45
- assertFilePathAbsoluteFilesystem(outDirRoot); // Needed for `importServerProductionEntry({ outDir })` of @brillout/vite-plugin-server-entry
46
- setGlobalContext_viteConfig(config, outDirRoot);
44
+ const viteConfigRuntime = getViteConfigRuntime(config);
45
+ setGlobalContext_viteConfig(config, viteConfigRuntime);
47
46
  }
48
47
  }
49
48
  }
@@ -0,0 +1,14 @@
1
+ export { getViteConfigRuntime };
2
+ export type { ViteConfigRuntime };
3
+ import type { ResolvedConfig } from 'vite';
4
+ type ViteConfigRuntime = ReturnType<typeof getViteConfigRuntime>;
5
+ declare function getViteConfigRuntime(config: ResolvedConfig): {
6
+ root: string;
7
+ build: {
8
+ outDir: string;
9
+ };
10
+ _baseViteOriginal: string;
11
+ vitePluginServerEntry: {
12
+ inject: boolean | undefined;
13
+ };
14
+ };
@@ -0,0 +1,19 @@
1
+ export { getViteConfigRuntime };
2
+ import { assert, assertFilePathAbsoluteFilesystem, hasProp } from '../utils.js';
3
+ import { getOutDirs } from './getOutDirs.js';
4
+ function getViteConfigRuntime(config) {
5
+ assert(hasProp(config, '_baseViteOriginal', 'string'));
6
+ const { outDirRoot } = getOutDirs(config);
7
+ assertFilePathAbsoluteFilesystem(outDirRoot);
8
+ const viteConfigRuntime = {
9
+ root: config.root,
10
+ build: {
11
+ outDir: outDirRoot
12
+ },
13
+ _baseViteOriginal: config._baseViteOriginal,
14
+ vitePluginServerEntry: {
15
+ inject: config.vitePluginServerEntry?.inject
16
+ }
17
+ };
18
+ return viteConfigRuntime;
19
+ }
@@ -77,14 +77,19 @@ async function runPrerender(options = {}, standaloneTrigger) {
77
77
  const viteConfig = await resolveConfig(options.viteConfig || {}, 'build', 'production');
78
78
  const vikeConfig = await getVikeConfig(viteConfig);
79
79
  const vike = getVikeConfigPublic(viteConfig);
80
- assert(vike.prerenderContext.isPrerenderingEnabled);
81
80
  const { outDirClient, outDirServer } = getOutDirs(viteConfig);
82
81
  const { root } = viteConfig;
83
82
  const prerenderConfigGlobal = resolvePrerenderConfigGlobal(vikeConfig);
84
83
  const { partial, noExtraDir, parallel, defaultLocalValue, isPrerenderingEnabled } = prerenderConfigGlobal;
85
84
  if (!isPrerenderingEnabled) {
86
85
  assert(standaloneTrigger);
87
- assertUsage(false, `You're executing ${pc.cyan(standaloneTrigger)} but you didn't enable pre-rendering. Use the ${pc.cyan('prerender')} setting (${pc.underline('https://vike.dev/prerender')}) to enable pre-rendering for at least one page.`);
86
+ /* TODO/soon: use this again a little while after https://github.com/magne4000/vite-plugin-vercel/pull/156 is merged.
87
+ assertUsage(
88
+ false,
89
+ `You're executing ${pc.cyan(standaloneTrigger)} but you didn't enable pre-rendering. Use the ${pc.cyan('prerender')} setting (${pc.underline('https://vike.dev/prerender')}) to enable pre-rendering for at least one page.`
90
+ )
91
+ */
92
+ return { viteConfig };
88
93
  }
89
94
  const concurrencyLimit = pLimit(parallel === false || parallel === 0 ? 1 : parallel === true || parallel === undefined ? cpus().length : parallel);
90
95
  await initGlobalContext_runPrerender();
@@ -13,7 +13,6 @@ export { setGlobalContext_isProduction };
13
13
  export { setGlobalContext_buildEntry };
14
14
  export { clearGlobalContext };
15
15
  export { assertBuildInfo };
16
- export { getViteConfigRuntime };
17
16
  export { updateUserFiles };
18
17
  export type { BuildInfo };
19
18
  export type { GlobalContextInternal };
@@ -22,14 +21,13 @@ import type { ViteManifest } from '../shared/ViteManifest.js';
22
21
  import type { ResolvedConfig, ViteDevServer } from 'vite';
23
22
  import type { PageConfigUserFriendly, PageConfigsUserFriendly } from '../../shared/page-configs/getPageConfigUserFriendly.js';
24
23
  import { type BaseUrlsResolved } from '../shared/resolveBase.js';
24
+ import type { ViteConfigRuntime } from '../plugin/shared/getViteConfigRuntime.js';
25
25
  type PageRuntimeInfo = Awaited<ReturnType<typeof getUserFiles>>;
26
26
  type GlobalContextInternal = GlobalContext & {
27
27
  globalContext_public: GlobalContextPublic;
28
28
  };
29
29
  type GlobalContext = {
30
- viteConfigRuntime: {
31
- _baseViteOriginal: null | string;
32
- };
30
+ viteConfigRuntime: ViteConfigRuntime;
33
31
  config: PageConfigUserFriendly['config'];
34
32
  pages: PageConfigsUserFriendly;
35
33
  } & BaseUrlsResolved & PageRuntimeInfo & ({
@@ -56,9 +54,9 @@ declare function getGlobalContextSync(): GlobalContextPublic;
56
54
  /** @experimental https://vike.dev/getGlobalContext */
57
55
  declare function getGlobalContextAsync(isProduction: boolean): Promise<GlobalContextPublic>;
58
56
  type GlobalContextPublic = ReturnType<typeof makePublic>;
59
- declare function makePublic(globalContext: GlobalContext): Pick<GlobalContext, "pages" | "baseServer" | "baseAssets" | "config" | "assetsManifest" | "viteConfig">;
57
+ declare function makePublic(globalContext: GlobalContext): Pick<GlobalContext, "pages" | "baseServer" | "baseAssets" | "config" | "assetsManifest" | "viteConfig" | "viteConfigRuntime">;
60
58
  declare function setGlobalContext_viteDevServer(viteDevServer: ViteDevServer): Promise<void>;
61
- declare function setGlobalContext_viteConfig(viteConfig: ResolvedConfig, outDirRoot: string): void;
59
+ declare function setGlobalContext_viteConfig(viteConfig: ResolvedConfig, viteConfigRuntime: ViteConfigRuntime): void;
62
60
  declare function setGlobalContext_isPrerendering(): void;
63
61
  declare function setGlobalContext_isProduction(isProduction: boolean): void;
64
62
  declare function getViteDevServer(): ViteDevServer | null;
@@ -80,14 +78,8 @@ declare function setGlobalContext_buildEntry(buildEntry: unknown): Promise<void>
80
78
  type BuildInfo = {
81
79
  versionAtBuildTime: string;
82
80
  usesClientRouter: boolean;
83
- viteConfigRuntime: {
84
- _baseViteOriginal: string;
85
- vitePluginServerEntry: {
86
- inject?: boolean;
87
- };
88
- };
81
+ viteConfigRuntime: ViteConfigRuntime;
89
82
  };
90
83
  declare function assertBuildInfo(buildInfo: unknown): asserts buildInfo is BuildInfo;
91
- declare function getViteConfigRuntime(viteConfig: ResolvedConfig): BuildInfo['viteConfigRuntime'];
92
84
  declare function updateUserFiles(): Promise<void>;
93
85
  declare function clearGlobalContext(): void;
@@ -15,7 +15,6 @@ export { setGlobalContext_isProduction };
15
15
  export { setGlobalContext_buildEntry };
16
16
  export { clearGlobalContext };
17
17
  export { assertBuildInfo };
18
- export { getViteConfigRuntime };
19
18
  export { updateUserFiles };
20
19
  // The core logic revolves around:
21
20
  // - globalObject.userFiles which is the main requirement for resolveGlobalContext()
@@ -81,6 +80,7 @@ function makePublic(globalContext) {
81
80
  'assetsManifest',
82
81
  'config',
83
82
  'viteConfig',
83
+ 'viteConfigRuntime',
84
84
  'pages',
85
85
  'baseServer',
86
86
  'baseAssets'
@@ -100,12 +100,12 @@ async function setGlobalContext_viteDevServer(viteDevServer) {
100
100
  assertGlobalContextIsDefined();
101
101
  globalObject.viteDevServerPromiseResolve(viteDevServer);
102
102
  }
103
- function setGlobalContext_viteConfig(viteConfig, outDirRoot) {
103
+ function setGlobalContext_viteConfig(viteConfig, viteConfigRuntime) {
104
104
  if (globalObject.viteConfig)
105
105
  return;
106
106
  assertIsNotInitilizedYet();
107
107
  globalObject.viteConfig = viteConfig;
108
- globalObject.outDirRoot = outDirRoot;
108
+ globalObject.viteConfigRuntime = viteConfigRuntime;
109
109
  }
110
110
  function assertIsNotInitilizedYet() {
111
111
  // In development, globalObject.viteDevServer always needs to be awaited for before initializing globalObject.globalContext
@@ -140,7 +140,6 @@ async function initGlobalContext_runPrerender() {
140
140
  globalObject.initGlobalContext_runPrerender_alreadyCalled = true;
141
141
  assert(globalObject.isPrerendering);
142
142
  assert(globalObject.viteConfig);
143
- assert(globalObject.outDirRoot);
144
143
  // We assume initGlobalContext_runPrerender() to be called before:
145
144
  // - initGlobalContext_renderPage()
146
145
  // - initGlobalContext_getGlobalContextAsync()
@@ -176,7 +175,7 @@ async function initGlobalContext() {
176
175
  await waitForViteDevServer();
177
176
  }
178
177
  else {
179
- await loadBuildEntry(globalObject.outDirRoot);
178
+ await loadBuildEntry(globalObject.viteConfigRuntime?.build.outDir);
180
179
  }
181
180
  assertGlobalContextIsDefined();
182
181
  globalObject.isInitialized = true;
@@ -199,7 +198,7 @@ function defineGlobalContext() {
199
198
  onSetupRuntime();
200
199
  }
201
200
  function resolveGlobalContext() {
202
- const { viteDevServer, viteConfig, isPrerendering, isProduction, userFiles } = globalObject;
201
+ const { viteDevServer, viteConfig, viteConfigRuntime, isPrerendering, isProduction, userFiles } = globalObject;
203
202
  assert(typeof isProduction === 'boolean');
204
203
  let globalContext;
205
204
  if (!isProduction) {
@@ -208,8 +207,8 @@ function resolveGlobalContext() {
208
207
  return null;
209
208
  assert(userFiles); // main common requiement
210
209
  assert(viteConfig);
210
+ assert(viteConfigRuntime);
211
211
  assert(!isPrerendering);
212
- const viteConfigRuntime = getViteConfigRuntime(viteConfig);
213
212
  globalContext = {
214
213
  isProduction: false,
215
214
  isPrerendering: false,
@@ -352,25 +351,17 @@ function assertBuildInfo(buildInfo) {
352
351
  assertVersionAtBuildTime(buildInfo.versionAtBuildTime);
353
352
  assert(hasProp(buildInfo, 'viteConfigRuntime', 'object'));
354
353
  assert(hasProp(buildInfo.viteConfigRuntime, '_baseViteOriginal', 'string'));
354
+ assert(hasProp(buildInfo.viteConfigRuntime, 'root', 'string'));
355
+ assert(hasProp(buildInfo.viteConfigRuntime, 'build', 'object'));
356
+ assert(hasProp(buildInfo.viteConfigRuntime.build, 'outDir', 'string'));
355
357
  assert(hasProp(buildInfo.viteConfigRuntime, 'vitePluginServerEntry', 'object'));
356
358
  assert(hasProp(buildInfo, 'usesClientRouter', 'boolean'));
357
- checkType({ ...buildInfo, viteConfigRuntime: buildInfo.viteConfigRuntime });
358
359
  }
359
360
  function assertVersionAtBuildTime(versionAtBuildTime) {
360
361
  const versionAtRuntime = PROJECT_VERSION;
361
362
  const pretty = (version) => pc.bold(`vike@${version}`);
362
363
  assertUsage(versionAtBuildTime === versionAtRuntime, `Re-build your app (you're using ${pretty(versionAtRuntime)} but your app was built with ${pretty(versionAtBuildTime)})`);
363
364
  }
364
- function getViteConfigRuntime(viteConfig) {
365
- assert(hasProp(viteConfig, '_baseViteOriginal', 'string'));
366
- const viteConfigRuntime = {
367
- _baseViteOriginal: viteConfig._baseViteOriginal,
368
- vitePluginServerEntry: {
369
- inject: viteConfig.vitePluginServerEntry?.inject
370
- }
371
- };
372
- return viteConfigRuntime;
373
- }
374
365
  async function updateUserFiles() {
375
366
  const { promise, resolve } = genPromise();
376
367
  assert(!globalObject.isProduction);
@@ -517,7 +517,6 @@ async function createStreamWrapper({ streamOriginal, onError, onData, onEnd, onF
517
517
  if (isStreamReadableWeb(streamOriginal)) {
518
518
  debug('onRenderHtml() hook returned Web Readable');
519
519
  const readableOriginal = streamOriginal;
520
- let controllerProxyIsClosed = false;
521
520
  let isClosed = false;
522
521
  let isCancel = false;
523
522
  const closeStream = async () => {
@@ -526,7 +525,6 @@ async function createStreamWrapper({ streamOriginal, onError, onData, onEnd, onF
526
525
  isClosed = true;
527
526
  await onEnd(isCancel);
528
527
  controllerProxy.close();
529
- controllerProxyIsClosed = true;
530
528
  };
531
529
  let controllerProxy;
532
530
  assertReadableStreamConstructor();
@@ -554,8 +552,8 @@ async function createStreamWrapper({ streamOriginal, onError, onData, onEnd, onF
554
552
  });
555
553
  const writeChunk = (chunk) => {
556
554
  if (
557
- // If readableOriginal doesn't implement readableOriginal.cancel() then it may still emit data after we close the stream. We therefore need to check whether we closed `controllerProxy`.
558
- !controllerProxyIsClosed) {
555
+ // If readableOriginal doesn't implement readableOriginal.cancel() then it may still emit data after we close the stream. We therefore need to check whether the steam is closed.
556
+ !isClosed) {
559
557
  controllerProxy.enqueue(encodeForWebStream(chunk));
560
558
  debugWithChunk('data written (Web Readable)', chunk);
561
559
  }
@@ -53,9 +53,7 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
53
53
  _globalContext: GlobalContextInternal;
54
54
  /** @experimental This is a beta feature https://vike.dev/getGlobalContext */
55
55
  globalContext: Pick<{
56
- viteConfigRuntime: {
57
- _baseViteOriginal: null | string;
58
- };
56
+ viteConfigRuntime: import("../../plugin/shared/getViteConfigRuntime.js").ViteConfigRuntime;
59
57
  config: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigUserFriendly["config"];
60
58
  pages: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
61
59
  } & import("../../shared/resolveBase.js").BaseUrlsResolved & ({
@@ -84,7 +82,7 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
84
82
  isPrerendering: true;
85
83
  usesClientRouter: boolean;
86
84
  viteConfig: import("vite").ResolvedConfig;
87
- })))), "pages" | "baseServer" | "baseAssets" | "config" | "assetsManifest" | "viteConfig">;
85
+ })))), "pages" | "baseServer" | "baseAssets" | "config" | "assetsManifest" | "viteConfig" | "viteConfigRuntime">;
88
86
  _pageContextInit: {
89
87
  urlOriginal: string;
90
88
  headersOriginal?: unknown;
@@ -143,9 +141,7 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
143
141
  _globalContext: GlobalContextInternal;
144
142
  /** @experimental This is a beta feature https://vike.dev/getGlobalContext */
145
143
  globalContext: Pick<{
146
- viteConfigRuntime: {
147
- _baseViteOriginal: null | string;
148
- };
144
+ viteConfigRuntime: import("../../plugin/shared/getViteConfigRuntime.js").ViteConfigRuntime;
149
145
  config: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigUserFriendly["config"];
150
146
  pages: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
151
147
  } & import("../../shared/resolveBase.js").BaseUrlsResolved & ({
@@ -174,7 +170,7 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
174
170
  isPrerendering: true;
175
171
  usesClientRouter: boolean;
176
172
  viteConfig: import("vite").ResolvedConfig;
177
- })))), "pages" | "baseServer" | "baseAssets" | "config" | "assetsManifest" | "viteConfig">;
173
+ })))), "pages" | "baseServer" | "baseAssets" | "config" | "assetsManifest" | "viteConfig" | "viteConfigRuntime">;
178
174
  _pageContextInit: {
179
175
  urlOriginal: string;
180
176
  headersOriginal?: unknown;
@@ -242,9 +238,7 @@ declare function getPageContextInitEnhanced(pageContextInit: {
242
238
  _globalContext: GlobalContextInternal;
243
239
  /** @experimental This is a beta feature https://vike.dev/getGlobalContext */
244
240
  globalContext: Pick<{
245
- viteConfigRuntime: {
246
- _baseViteOriginal: null | string;
247
- };
241
+ viteConfigRuntime: import("../../plugin/shared/getViteConfigRuntime.js").ViteConfigRuntime;
248
242
  config: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigUserFriendly["config"];
249
243
  pages: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
250
244
  } & import("../../shared/resolveBase.js").BaseUrlsResolved & ({
@@ -273,7 +267,7 @@ declare function getPageContextInitEnhanced(pageContextInit: {
273
267
  isPrerendering: true;
274
268
  usesClientRouter: boolean;
275
269
  viteConfig: import("vite").ResolvedConfig;
276
- })))), "pages" | "baseServer" | "baseAssets" | "config" | "assetsManifest" | "viteConfig">;
270
+ })))), "pages" | "baseServer" | "baseAssets" | "config" | "assetsManifest" | "viteConfig" | "viteConfigRuntime">;
277
271
  _pageContextInit: {
278
272
  urlOriginal: string;
279
273
  headersOriginal?: unknown;
@@ -1 +1 @@
1
- export declare const PROJECT_VERSION: "0.4.227-commit-d082773";
1
+ export declare const PROJECT_VERSION: "0.4.227-commit-f991d58";
@@ -1,2 +1,2 @@
1
1
  // Automatically updated by @brillout/release-me
2
- export const PROJECT_VERSION = '0.4.227-commit-d082773';
2
+ export const PROJECT_VERSION = '0.4.227-commit-f991d58';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vike",
3
- "version": "0.4.227-commit-d082773",
3
+ "version": "0.4.227-commit-f991d58",
4
4
  "repository": "https://github.com/vikejs/vike",
5
5
  "exports": {
6
6
  "./server": {