vike 0.4.250-commit-6161324 → 0.4.250-commit-2686732
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/node/prerender/context.d.ts +1 -1
- package/dist/node/prerender/context.js +2 -2
- package/dist/node/prerender/resolvePrerenderConfig.d.ts +4 -4
- package/dist/node/prerender/resolvePrerenderConfig.js +17 -11
- package/dist/node/prerender/runPrerender.js +4 -4
- package/dist/node/vite/onLoad.js +3 -2
- package/dist/node/vite/plugins/build/pluginBuildApp.js +1 -1
- package/dist/node/vite/plugins/build/pluginModuleBanner.js +2 -1
- package/dist/node/vite/shared/resolveVikeConfigInternal.js +6 -6
- package/dist/server/onLoad.js +2 -0
- package/dist/types/Config.d.ts +71 -70
- package/dist/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/utils/PROJECT_VERSION.js +1 -1
- package/dist/utils/installUncaughtErrorHandlers.d.ts +2 -0
- package/dist/utils/installUncaughtErrorHandlers.js +20 -0
- package/package.json +2 -2
|
@@ -4,7 +4,7 @@ export { wasPrerenderRun };
|
|
|
4
4
|
export { setWasPrerenderRun };
|
|
5
5
|
import type { VikeConfigInternal } from '../vite/shared/resolveVikeConfigInternal.js';
|
|
6
6
|
import type { PrerenderTrigger } from './runPrerender.js';
|
|
7
|
-
declare function isPrerenderAutoRunEnabled(vikeConfig: VikeConfigInternal): boolean
|
|
7
|
+
declare function isPrerenderAutoRunEnabled(vikeConfig: VikeConfigInternal): Promise<boolean>;
|
|
8
8
|
declare function temp_disablePrerenderAutoRun(): void;
|
|
9
9
|
declare function wasPrerenderRun(): false | PrerenderTrigger;
|
|
10
10
|
declare function setWasPrerenderRun(trigger: PrerenderTrigger): void;
|
|
@@ -5,8 +5,8 @@ export { setWasPrerenderRun };
|
|
|
5
5
|
import { getGlobalObject } from '../../utils/getGlobalObject.js';
|
|
6
6
|
import { resolvePrerenderConfigGlobal } from './resolvePrerenderConfig.js';
|
|
7
7
|
const globalObject = getGlobalObject('prerender/context.ts', {});
|
|
8
|
-
function isPrerenderAutoRunEnabled(vikeConfig) {
|
|
9
|
-
const prerenderConfigGlobal = resolvePrerenderConfigGlobal(vikeConfig);
|
|
8
|
+
async function isPrerenderAutoRunEnabled(vikeConfig) {
|
|
9
|
+
const prerenderConfigGlobal = await resolvePrerenderConfigGlobal(vikeConfig);
|
|
10
10
|
return (prerenderConfigGlobal.isPrerenderingEnabled &&
|
|
11
11
|
!(prerenderConfigGlobal || {}).disableAutoRun &&
|
|
12
12
|
!globalObject.isDisabled &&
|
|
@@ -2,7 +2,7 @@ export { resolvePrerenderConfigGlobal };
|
|
|
2
2
|
export { resolvePrerenderConfigLocal };
|
|
3
3
|
import { VikeConfigInternal } from '../vite/shared/resolveVikeConfigInternal.js';
|
|
4
4
|
import type { PageConfigBuildTime } from '../../types/PageConfig.js';
|
|
5
|
-
declare function resolvePrerenderConfigGlobal(vikeConfig: Pick<VikeConfigInternal, 'config' | '_pageConfigs' | '_from'>): {
|
|
5
|
+
declare function resolvePrerenderConfigGlobal(vikeConfig: Pick<VikeConfigInternal, 'config' | '_pageConfigs' | '_from'>): Promise<{
|
|
6
6
|
partial: boolean;
|
|
7
7
|
redirects: boolean | null;
|
|
8
8
|
noExtraDir: boolean | null;
|
|
@@ -13,7 +13,7 @@ declare function resolvePrerenderConfigGlobal(vikeConfig: Pick<VikeConfigInterna
|
|
|
13
13
|
defaultLocalValue: boolean;
|
|
14
14
|
isPrerenderingEnabledForAllPages: boolean;
|
|
15
15
|
isPrerenderingEnabled: boolean;
|
|
16
|
-
}
|
|
17
|
-
declare function resolvePrerenderConfigLocal(pageConfig: PageConfigBuildTime): {
|
|
16
|
+
}>;
|
|
17
|
+
declare function resolvePrerenderConfigLocal(pageConfig: PageConfigBuildTime): Promise<{
|
|
18
18
|
value: boolean;
|
|
19
|
-
} | null
|
|
19
|
+
} | null>;
|
|
@@ -3,11 +3,14 @@ export { resolvePrerenderConfigLocal };
|
|
|
3
3
|
import { assert, assertUsage, isArray, isObject, objectAssign } from './utils.js';
|
|
4
4
|
import { getConfigValueBuildTime } from '../../shared-server-client/page-configs/getConfigValueBuildTime.js';
|
|
5
5
|
import { getConfigDefinedAt } from '../../shared-server-client/page-configs/getConfigDefinedAt.js';
|
|
6
|
-
|
|
6
|
+
import { isCallable } from '../../utils/isCallable.js';
|
|
7
|
+
// +prerender is callable but getGlobalContext() cannot be used (see https://github.com/vikejs/vike/issues/3002#issuecomment-3703878380) but it's still useful (see https://github.com/vikejs/vike/issues/3002#issuecomment-3704141813)
|
|
8
|
+
// When setting +prerender to an object => it activates pre-rendering
|
|
7
9
|
const defaultValueForObject = true;
|
|
8
|
-
function resolvePrerenderConfigGlobal(vikeConfig) {
|
|
10
|
+
async function resolvePrerenderConfigGlobal(vikeConfig) {
|
|
9
11
|
const prerenderConfigs = vikeConfig.config.prerender || [];
|
|
10
|
-
const
|
|
12
|
+
const prerenderConfigsResolved = await Promise.all(prerenderConfigs.map((config) => (isCallable(config) ? config() : config)));
|
|
13
|
+
const prerenderSettings = prerenderConfigsResolved.filter(isObject2);
|
|
11
14
|
const prerenderConfigGlobal = {
|
|
12
15
|
partial: pickFirst(prerenderSettings.map((c) => c.partial)) ?? false,
|
|
13
16
|
redirects: pickFirst(prerenderSettings.map((c) => c.redirects)) ?? null,
|
|
@@ -18,7 +21,7 @@ function resolvePrerenderConfigGlobal(vikeConfig) {
|
|
|
18
21
|
};
|
|
19
22
|
let defaultLocalValue = false;
|
|
20
23
|
{
|
|
21
|
-
const valueFirst =
|
|
24
|
+
const valueFirst = prerenderConfigsResolved.filter((p) => !isObject(p) || p.enable !== null)[0];
|
|
22
25
|
if (valueFirst === true || (isObject(valueFirst) && (valueFirst.enable ?? defaultValueForObject))) {
|
|
23
26
|
defaultLocalValue = true;
|
|
24
27
|
}
|
|
@@ -31,28 +34,31 @@ function resolvePrerenderConfigGlobal(vikeConfig) {
|
|
|
31
34
|
defaultLocalValue = true;
|
|
32
35
|
}
|
|
33
36
|
}
|
|
37
|
+
const pageConfigs = vikeConfig._pageConfigs;
|
|
38
|
+
const prerenderConfigLocalList = await Promise.all(pageConfigs.map(resolvePrerenderConfigLocal));
|
|
39
|
+
const isEnable = (prerenderConfigLocal) => prerenderConfigLocal?.value ?? defaultLocalValue;
|
|
34
40
|
objectAssign(prerenderConfigGlobal, {
|
|
35
41
|
defaultLocalValue,
|
|
36
|
-
isPrerenderingEnabledForAllPages:
|
|
37
|
-
|
|
38
|
-
isPrerenderingEnabled: vikeConfig._pageConfigs.length > 0 &&
|
|
39
|
-
vikeConfig._pageConfigs.some((pageConfig) => resolvePrerenderConfigLocal(pageConfig)?.value ?? defaultLocalValue),
|
|
42
|
+
isPrerenderingEnabledForAllPages: pageConfigs.length > 0 && prerenderConfigLocalList.every(isEnable),
|
|
43
|
+
isPrerenderingEnabled: pageConfigs.length > 0 && prerenderConfigLocalList.some(isEnable),
|
|
40
44
|
});
|
|
41
45
|
// TO-DO/next-major-release: remove
|
|
42
46
|
if (vikeConfig._pageConfigs.length === 0 && defaultLocalValue)
|
|
43
47
|
prerenderConfigGlobal.isPrerenderingEnabled = true;
|
|
44
48
|
return prerenderConfigGlobal;
|
|
45
49
|
}
|
|
46
|
-
function resolvePrerenderConfigLocal(pageConfig) {
|
|
50
|
+
async function resolvePrerenderConfigLocal(pageConfig) {
|
|
47
51
|
const configValue = getConfigValueBuildTime(pageConfig, 'prerender');
|
|
48
52
|
if (!configValue)
|
|
49
53
|
return null;
|
|
50
54
|
const values = configValue.value;
|
|
51
55
|
assert(isArray(values));
|
|
52
|
-
|
|
56
|
+
let value = values[0];
|
|
57
|
+
if (isCallable(value))
|
|
58
|
+
value = await value();
|
|
53
59
|
assert(isArray(configValue.definedAtData));
|
|
54
60
|
const configDefinedAt = getConfigDefinedAt('Config', 'prerender', configValue.definedAtData);
|
|
55
|
-
assertUsage(typeof value === 'boolean', `${configDefinedAt} must be a boolean (it
|
|
61
|
+
assertUsage(typeof value === 'boolean', `${configDefinedAt} must be a boolean (or a function that returns a boolean) because it's defined as a page setting (not as a global setting)`);
|
|
56
62
|
const prerenderConfigLocal = { value };
|
|
57
63
|
return prerenderConfigLocal;
|
|
58
64
|
}
|
|
@@ -45,7 +45,7 @@ async function runPrerender(options = {}, trigger) {
|
|
|
45
45
|
const viteConfig = await resolveViteConfig(options.viteConfig || {}, 'build', 'production');
|
|
46
46
|
const vikeConfig = await getVikeConfigInternal();
|
|
47
47
|
const { outDirServer } = getOutDirs(viteConfig, undefined);
|
|
48
|
-
const prerenderConfigGlobal = resolvePrerenderConfigGlobal(vikeConfig);
|
|
48
|
+
const prerenderConfigGlobal = await resolvePrerenderConfigGlobal(vikeConfig);
|
|
49
49
|
const { partial, noExtraDir, parallel, defaultLocalValue, isPrerenderingEnabled } = prerenderConfigGlobal;
|
|
50
50
|
if (!isPrerenderingEnabled) {
|
|
51
51
|
assert(trigger !== 'auto-run');
|
|
@@ -117,8 +117,8 @@ async function runPrerender(options = {}, trigger) {
|
|
|
117
117
|
}
|
|
118
118
|
async function collectDoNoPrerenderList(pageConfigs, doNotPrerenderList, defaultLocalValue, concurrencyLimit, globalContext) {
|
|
119
119
|
// V1 design
|
|
120
|
-
pageConfigs.
|
|
121
|
-
const prerenderConfigLocal = resolvePrerenderConfigLocal(pageConfig);
|
|
120
|
+
await Promise.all(pageConfigs.map(async (pageConfig) => {
|
|
121
|
+
const prerenderConfigLocal = await resolvePrerenderConfigLocal(pageConfig);
|
|
122
122
|
const { pageId } = pageConfig;
|
|
123
123
|
if (!prerenderConfigLocal) {
|
|
124
124
|
if (!defaultLocalValue) {
|
|
@@ -131,7 +131,7 @@ async function collectDoNoPrerenderList(pageConfigs, doNotPrerenderList, default
|
|
|
131
131
|
doNotPrerenderList.push({ pageId });
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
|
-
});
|
|
134
|
+
}));
|
|
135
135
|
// Old design
|
|
136
136
|
// TO-DO/next-major-release: remove
|
|
137
137
|
await Promise.all(globalContext._pageFilesAll
|
package/dist/node/vite/onLoad.js
CHANGED
|
@@ -4,11 +4,12 @@ import { assertIsNotProductionRuntime, markSetup_vikeVitePlugin } from '../../ut
|
|
|
4
4
|
import { assertNodeVersion } from '../../utils/assertNodeVersion.js';
|
|
5
5
|
import { version as viteVersion } from 'vite';
|
|
6
6
|
import { assertViteVersion } from '../../utils/assertViteVersion.js';
|
|
7
|
+
import { installUncaughtErrorHandlers } from '../../utils/installUncaughtErrorHandlers.js';
|
|
7
8
|
function onLoad() {
|
|
8
9
|
markSetup_vikeVitePlugin();
|
|
9
10
|
assertIsNotBrowser();
|
|
10
11
|
assertNodeVersion();
|
|
11
12
|
assertViteVersion(viteVersion);
|
|
12
|
-
//
|
|
13
|
-
|
|
13
|
+
assertIsNotProductionRuntime(); // Don't bloat server with heavy dependencies like Vite and esbuild
|
|
14
|
+
installUncaughtErrorHandlers();
|
|
14
15
|
}
|
|
@@ -129,7 +129,7 @@ async function triggerPrerendering(config, viteEnv, bundle) {
|
|
|
129
129
|
// - Issue & reproduction: https://github.com/vikejs/vike/issues/1154#issuecomment-1965954636
|
|
130
130
|
if (!bundle[getManifestFilePathRelative(config.build.manifest)])
|
|
131
131
|
return;
|
|
132
|
-
if (!isPrerenderAutoRunEnabled(vikeConfig))
|
|
132
|
+
if (!(await isPrerenderAutoRunEnabled(vikeConfig)))
|
|
133
133
|
return;
|
|
134
134
|
const configInline = getFullBuildInlineConfig(config);
|
|
135
135
|
const res = await runPrerenderFromAutoRun(configInline);
|
|
@@ -6,7 +6,8 @@ import { getMagicString } from '../../shared/getMagicString.js';
|
|
|
6
6
|
// - Terser removes legal comments, but I guess users use terser to minify JavaScript so I guess it's a good thing that comment is removed.
|
|
7
7
|
// - Rollup's banner feature doesn't work with Vite: https://github.com/vitejs/vite/issues/8412
|
|
8
8
|
// - But, anyways, we want to prepend the banner at the beginning of each module, not at the beginning of each file (I believe that's what Rollup's banner feature does).
|
|
9
|
-
// - Potential alternative: https://
|
|
9
|
+
// - Potential alternative: Rolldown's `postBanner` https://x.com/voidzerodev/status/2001683010446299613
|
|
10
|
+
// - Potential alternative: Rolldown's `//#region` https://github.com/vitejs/vite/issues/21228#issuecomment-3627899741
|
|
10
11
|
function pluginModuleBanner() {
|
|
11
12
|
let config;
|
|
12
13
|
let isEnabled = false;
|
|
@@ -164,7 +164,7 @@ async function resolveVikeConfigInternal_withErrorHandling(userRootDir, isDev, v
|
|
|
164
164
|
}
|
|
165
165
|
else {
|
|
166
166
|
logErrorServerDev(err, null);
|
|
167
|
-
resolve(getVikeConfigDummy(esbuildCache));
|
|
167
|
+
resolve(await getVikeConfigDummy(esbuildCache));
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
170
|
}
|
|
@@ -178,7 +178,7 @@ async function resolveVikeConfigInternal(userRootDir, vikeVitePluginOptions, esb
|
|
|
178
178
|
temp_interopVikeVitePlugin(pageConfigGlobal, vikeVitePluginOptions, userRootDir);
|
|
179
179
|
setCliAndApiOptions(pageConfigGlobal, configDefinitionsResolved);
|
|
180
180
|
const globalConfigPublic = resolveGlobalConfig(pageConfigGlobal, pageConfigs);
|
|
181
|
-
const prerenderContext = resolvePrerenderContext({
|
|
181
|
+
const prerenderContext = await resolvePrerenderContext({
|
|
182
182
|
config: globalConfigPublic.config,
|
|
183
183
|
_from: globalConfigPublic._from,
|
|
184
184
|
_pageConfigs: pageConfigs,
|
|
@@ -1092,8 +1092,8 @@ function isGlobalLocation(locationId, plusFilesByLocationId) {
|
|
|
1092
1092
|
.map(([locationId]) => locationId);
|
|
1093
1093
|
return locationIdsPage.every((locId) => isInherited(locationId, locId));
|
|
1094
1094
|
}
|
|
1095
|
-
function resolvePrerenderContext(vikeConfig) {
|
|
1096
|
-
const { isPrerenderingEnabled, isPrerenderingEnabledForAllPages } = resolvePrerenderConfigGlobal(vikeConfig);
|
|
1095
|
+
async function resolvePrerenderContext(vikeConfig) {
|
|
1096
|
+
const { isPrerenderingEnabled, isPrerenderingEnabledForAllPages } = await resolvePrerenderConfigGlobal(vikeConfig);
|
|
1097
1097
|
globalObject.prerenderContext ?? (globalObject.prerenderContext = {
|
|
1098
1098
|
isPrerenderingEnabled: false,
|
|
1099
1099
|
isPrerenderingEnabledForAllPages: false,
|
|
@@ -1121,14 +1121,14 @@ function restartViteDevServer() {
|
|
|
1121
1121
|
})();
|
|
1122
1122
|
swallowViteLogForceOptimization_disable();
|
|
1123
1123
|
}
|
|
1124
|
-
function getVikeConfigDummy(esbuildCache) {
|
|
1124
|
+
async function getVikeConfigDummy(esbuildCache) {
|
|
1125
1125
|
const pageConfigsDummy = [];
|
|
1126
1126
|
const pageConfigGlobalDummy = {
|
|
1127
1127
|
configValueSources: {},
|
|
1128
1128
|
configDefinitions: {},
|
|
1129
1129
|
};
|
|
1130
1130
|
const globalConfigPublicDummy = resolveGlobalConfig(pageConfigGlobalDummy, pageConfigsDummy);
|
|
1131
|
-
const prerenderContextDummy = resolvePrerenderContext({
|
|
1131
|
+
const prerenderContextDummy = await resolvePrerenderContext({
|
|
1132
1132
|
config: globalConfigPublicDummy.config,
|
|
1133
1133
|
_from: globalConfigPublicDummy._from,
|
|
1134
1134
|
_pageConfigs: pageConfigsDummy,
|
package/dist/server/onLoad.js
CHANGED
|
@@ -4,9 +4,11 @@ import { assertNodeVersion } from '../utils/assertNodeVersion.js';
|
|
|
4
4
|
import { setAssertAlwaysShowStackTrace } from '../utils/assert.js';
|
|
5
5
|
import { installRequireShim } from '@brillout/require-shim';
|
|
6
6
|
import { isDebugError } from '../utils/debug.js';
|
|
7
|
+
import { installUncaughtErrorHandlers } from '../utils/installUncaughtErrorHandlers.js';
|
|
7
8
|
function onLoad() {
|
|
8
9
|
assertIsNotBrowser();
|
|
9
10
|
assertNodeVersion();
|
|
11
|
+
installUncaughtErrorHandlers();
|
|
10
12
|
if (isDebugError()) {
|
|
11
13
|
// Is also executed upon `$ vike build` because node/vite/utils.ts imports server/utils.ts
|
|
12
14
|
Error.stackTraceLimit = Infinity;
|
package/dist/types/Config.d.ts
CHANGED
|
@@ -265,76 +265,7 @@ type ConfigBuiltIn = {
|
|
|
265
265
|
*
|
|
266
266
|
* @default false
|
|
267
267
|
*/
|
|
268
|
-
prerender?:
|
|
269
|
-
/**
|
|
270
|
-
* Allow only some of your pages to be pre-rendered.
|
|
271
|
-
*
|
|
272
|
-
* This setting doesn't affect the pre-rendering process: it merely suppresses the warnings when some of your pages cannot be pre-rendered.
|
|
273
|
-
*
|
|
274
|
-
* https://vike.dev/prerender#partial
|
|
275
|
-
*
|
|
276
|
-
* @default false
|
|
277
|
-
*/
|
|
278
|
-
partial?: boolean;
|
|
279
|
-
/**
|
|
280
|
-
* Whether +redirects should be pre-rendered to HTML documents that redirect the user.
|
|
281
|
-
*
|
|
282
|
-
* https://vike.dev/prerender#redirects
|
|
283
|
-
*/
|
|
284
|
-
redirects?: boolean;
|
|
285
|
-
/**
|
|
286
|
-
* Don't create a new directory for each HTML file.
|
|
287
|
-
*
|
|
288
|
-
* For example, generate `dist/client/about.html` instead of `dist/client/about/index.html`.
|
|
289
|
-
*
|
|
290
|
-
* https://vike.dev/prerender#noextradir
|
|
291
|
-
*
|
|
292
|
-
* @default false
|
|
293
|
-
*/
|
|
294
|
-
noExtraDir?: boolean;
|
|
295
|
-
/**
|
|
296
|
-
* Number of concurrent pre-render jobs.
|
|
297
|
-
*
|
|
298
|
-
* Set to `false` to disable concurrency.
|
|
299
|
-
*
|
|
300
|
-
* https://vike.dev/prerender#parallel
|
|
301
|
-
*
|
|
302
|
-
* @default os.cpus().length
|
|
303
|
-
*/
|
|
304
|
-
parallel?: boolean | number;
|
|
305
|
-
/**
|
|
306
|
-
* Disable the automatic initiation of the pre-rendering process when running `$ vike build`.
|
|
307
|
-
*
|
|
308
|
-
* Use this if you want to programmatically initiate the pre-rendering process instead.
|
|
309
|
-
*
|
|
310
|
-
* https://vike.dev/prerender#disableautorun
|
|
311
|
-
*
|
|
312
|
-
* @default false
|
|
313
|
-
*/
|
|
314
|
-
disableAutoRun?: boolean;
|
|
315
|
-
/**
|
|
316
|
-
* Whether to enable pre-rendering.
|
|
317
|
-
*
|
|
318
|
-
* Setting `enable: null` enables you to set prerender settings without enabling pre-rendering by default.
|
|
319
|
-
*
|
|
320
|
-
* This is useful, for example, if you want pre-rendering to stay opt-in instead of opt-out while setting pre-render settings globally.
|
|
321
|
-
*
|
|
322
|
-
* https://vike.dev/prerender#enable
|
|
323
|
-
*
|
|
324
|
-
* @default true
|
|
325
|
-
*/
|
|
326
|
-
enable?: boolean | null;
|
|
327
|
-
/**
|
|
328
|
-
* If you pre-render all your pages then Vike removes the `dist/server/` directory after pre-rendering has finished.
|
|
329
|
-
*
|
|
330
|
-
* If you set this setting to `true` then Vike won't remove the `dist/server/` directory.
|
|
331
|
-
*
|
|
332
|
-
* https://vike.dev/prerender#keepDistServer
|
|
333
|
-
*
|
|
334
|
-
* @default false
|
|
335
|
-
*/
|
|
336
|
-
keepDistServer?: boolean;
|
|
337
|
-
};
|
|
268
|
+
prerender?: PrerenderSetting | (() => PrerenderSetting | Promise<PrerenderSetting>) | ImportStringList;
|
|
338
269
|
/**
|
|
339
270
|
* Install Vike extensions.
|
|
340
271
|
*
|
|
@@ -604,6 +535,76 @@ type ConfigBuiltIn = {
|
|
|
604
535
|
*/
|
|
605
536
|
staticReplace?: StaticReplace[];
|
|
606
537
|
};
|
|
538
|
+
type PrerenderSetting = boolean | {
|
|
539
|
+
/**
|
|
540
|
+
* Allow only some of your pages to be pre-rendered.
|
|
541
|
+
*
|
|
542
|
+
* This setting doesn't affect the pre-rendering process: it merely suppresses the warnings when some of your pages cannot be pre-rendered.
|
|
543
|
+
*
|
|
544
|
+
* https://vike.dev/prerender#partial
|
|
545
|
+
*
|
|
546
|
+
* @default false
|
|
547
|
+
*/
|
|
548
|
+
partial?: boolean;
|
|
549
|
+
/**
|
|
550
|
+
* Whether +redirects should be pre-rendered to HTML documents that redirect the user.
|
|
551
|
+
*
|
|
552
|
+
* https://vike.dev/prerender#redirects
|
|
553
|
+
*/
|
|
554
|
+
redirects?: boolean;
|
|
555
|
+
/**
|
|
556
|
+
* Don't create a new directory for each HTML file.
|
|
557
|
+
*
|
|
558
|
+
* For example, generate `dist/client/about.html` instead of `dist/client/about/index.html`.
|
|
559
|
+
*
|
|
560
|
+
* https://vike.dev/prerender#noextradir
|
|
561
|
+
*
|
|
562
|
+
* @default false
|
|
563
|
+
*/
|
|
564
|
+
noExtraDir?: boolean;
|
|
565
|
+
/**
|
|
566
|
+
* Number of concurrent pre-render jobs.
|
|
567
|
+
*
|
|
568
|
+
* Set to `false` to disable concurrency.
|
|
569
|
+
*
|
|
570
|
+
* https://vike.dev/prerender#parallel
|
|
571
|
+
*
|
|
572
|
+
* @default os.cpus().length
|
|
573
|
+
*/
|
|
574
|
+
parallel?: boolean | number;
|
|
575
|
+
/**
|
|
576
|
+
* Disable the automatic initiation of the pre-rendering process when running `$ vike build`.
|
|
577
|
+
*
|
|
578
|
+
* Use this if you want to programmatically initiate the pre-rendering process instead.
|
|
579
|
+
*
|
|
580
|
+
* https://vike.dev/prerender#disableautorun
|
|
581
|
+
*
|
|
582
|
+
* @default false
|
|
583
|
+
*/
|
|
584
|
+
disableAutoRun?: boolean;
|
|
585
|
+
/**
|
|
586
|
+
* Whether to enable pre-rendering.
|
|
587
|
+
*
|
|
588
|
+
* Setting `enable: null` enables you to set prerender settings without enabling pre-rendering by default.
|
|
589
|
+
*
|
|
590
|
+
* This is useful, for example, if you want pre-rendering to stay opt-in instead of opt-out while setting pre-render settings globally.
|
|
591
|
+
*
|
|
592
|
+
* https://vike.dev/prerender#enable
|
|
593
|
+
*
|
|
594
|
+
* @default true
|
|
595
|
+
*/
|
|
596
|
+
enable?: boolean | null;
|
|
597
|
+
/**
|
|
598
|
+
* If you pre-render all your pages then Vike removes the `dist/server/` directory after pre-rendering has finished.
|
|
599
|
+
*
|
|
600
|
+
* If you set this setting to `true` then Vike won't remove the `dist/server/` directory.
|
|
601
|
+
*
|
|
602
|
+
* https://vike.dev/prerender#keepDistServer
|
|
603
|
+
*
|
|
604
|
+
* @default false
|
|
605
|
+
*/
|
|
606
|
+
keepDistServer?: boolean;
|
|
607
|
+
};
|
|
607
608
|
type ConfigBuiltInResolved = {
|
|
608
609
|
passToClient?: string[][];
|
|
609
610
|
redirects?: Record<string, string>[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const PROJECT_VERSION: "0.4.250-commit-
|
|
1
|
+
export declare const PROJECT_VERSION: "0.4.250-commit-2686732";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Automatically updated by @brillout/release-me
|
|
2
|
-
export const PROJECT_VERSION = '0.4.250-commit-
|
|
2
|
+
export const PROJECT_VERSION = '0.4.250-commit-2686732';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export { installUncaughtErrorHandlers };
|
|
2
|
+
import { getGlobalObject } from './getGlobalObject.js';
|
|
3
|
+
const globalObject = getGlobalObject('./installUncaughtErrorHandlers.ts', {
|
|
4
|
+
installed: false,
|
|
5
|
+
});
|
|
6
|
+
// Avoid server shutdown upon uncaught errors, e.g. `setTimeout(() => throw new Error('Uncaught error'), 10)`
|
|
7
|
+
// If in the future we want to call +onError then let's use different handlers
|
|
8
|
+
function installUncaughtErrorHandlers() {
|
|
9
|
+
if (globalObject.installed)
|
|
10
|
+
return;
|
|
11
|
+
globalObject.installed = true;
|
|
12
|
+
if (typeof process === 'undefined')
|
|
13
|
+
return;
|
|
14
|
+
process?.addListener?.('uncaughtException', (err) => {
|
|
15
|
+
console.error(err);
|
|
16
|
+
});
|
|
17
|
+
process?.addListener?.('unhandledRejection', (err) => {
|
|
18
|
+
console.error(err);
|
|
19
|
+
});
|
|
20
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vike",
|
|
3
|
-
"version": "0.4.250-commit-
|
|
3
|
+
"version": "0.4.250-commit-2686732",
|
|
4
4
|
"repository": "https://github.com/vikejs/vike",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./server": {
|
|
@@ -124,7 +124,7 @@
|
|
|
124
124
|
"@brillout/json-serializer": "^0.5.21",
|
|
125
125
|
"@brillout/picocolors": "^1.0.30",
|
|
126
126
|
"@brillout/require-shim": "^0.1.2",
|
|
127
|
-
"@brillout/vite-plugin-server-entry": "^0.7.
|
|
127
|
+
"@brillout/vite-plugin-server-entry": "^0.7.17",
|
|
128
128
|
"cac": "^6.0.0",
|
|
129
129
|
"es-module-lexer": "^1.0.0",
|
|
130
130
|
"esbuild": ">=0.19.0",
|