vike 0.4.224 → 0.4.225
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 +1 -1
- package/dist/cjs/node/api/context.js +4 -4
- package/dist/cjs/node/api/dev.js +1 -1
- package/dist/cjs/node/api/prepareViteApiCall.js +3 -2
- package/dist/cjs/node/api/prerender.js +1 -1
- package/dist/cjs/node/api/preview.js +1 -1
- package/dist/cjs/node/cli/context.js +5 -4
- package/dist/cjs/node/cli/entry.js +3 -3
- package/dist/cjs/node/cli/parseCli.js +43 -15
- package/dist/cjs/node/cli/utils.js +1 -1
- package/dist/cjs/node/plugin/plugins/build/pluginBuildEntry.js +1 -1
- package/dist/cjs/node/plugin/plugins/commonConfig.js +16 -5
- package/dist/cjs/node/plugin/plugins/devConfig/determineOptimizeDeps.js +2 -0
- package/dist/cjs/node/plugin/plugins/devConfig/index.js +1 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +9 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +75 -21
- package/dist/cjs/node/plugin/plugins/previewConfig.js +12 -7
- package/dist/cjs/node/plugin/shared/addSsrMiddleware.js +5 -1
- package/dist/cjs/node/plugin/shared/getEnvVarObject.js +9 -8
- package/dist/cjs/node/plugin/shared/loggerNotProd/log.js +1 -1
- package/dist/cjs/node/prerender/context.js +1 -1
- package/dist/cjs/node/prerender/resolvePrerenderConfig.js +33 -18
- package/dist/cjs/node/prerender/runPrerender.js +6 -8
- package/dist/cjs/node/prerender/utils.js +1 -1
- package/dist/cjs/node/runtime/globalContext.js +9 -5
- package/dist/cjs/node/runtime/html/stream.js +7 -0
- package/dist/cjs/node/runtime/renderPage/createHttpResponse/assertNoInfiniteHttpRedirect.js +13 -5
- package/dist/cjs/node/runtime/renderPage/createHttpResponse.js +2 -4
- package/dist/cjs/node/runtime/renderPage/logErrorHint.js +6 -1
- package/dist/cjs/node/runtime/renderPage.js +6 -10
- package/dist/cjs/node/runtime/utils.js +0 -1
- package/dist/cjs/node/runtime-dev/createDevMiddleware.js +10 -8
- package/dist/cjs/node/shared/assertV1Design.js +2 -1
- package/dist/cjs/node/shared/utils.js +0 -1
- package/dist/cjs/shared/page-configs/getConfigDefinedAt.js +18 -2
- package/dist/cjs/shared/page-configs/getConfigValueBuildTime.js +8 -5
- package/dist/cjs/shared/page-configs/helpers.js +1 -1
- package/dist/cjs/shared/page-configs/serialize/parsePageConfigs.js +2 -5
- package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +6 -2
- package/dist/cjs/shared/route/loadPageRoutes.js +2 -2
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/assert.js +2 -2
- package/dist/cjs/utils/assertSingleInstance.js +11 -17
- package/dist/cjs/utils/debug.js +2 -1
- package/dist/cjs/utils/parseUrl-extras.js +1 -0
- package/dist/esm/node/api/build.js +1 -1
- package/dist/esm/node/api/context.d.ts +8 -2
- package/dist/esm/node/api/context.js +4 -4
- package/dist/esm/node/api/dev.js +1 -1
- package/dist/esm/node/api/prepareViteApiCall.d.ts +2 -2
- package/dist/esm/node/api/prepareViteApiCall.js +3 -2
- package/dist/esm/node/api/prerender.js +1 -1
- package/dist/esm/node/api/preview.js +1 -1
- package/dist/esm/node/api/types.d.ts +7 -0
- package/dist/esm/node/cli/context.d.ts +4 -2
- package/dist/esm/node/cli/context.js +5 -4
- package/dist/esm/node/cli/entry.js +4 -4
- package/dist/esm/node/cli/parseCli.d.ts +3 -0
- package/dist/esm/node/cli/parseCli.js +44 -16
- package/dist/esm/node/cli/utils.d.ts +1 -1
- package/dist/esm/node/cli/utils.js +1 -1
- package/dist/esm/node/plugin/plugins/build/pluginBuildEntry.js +2 -2
- package/dist/esm/node/plugin/plugins/commonConfig.d.ts +1 -0
- package/dist/esm/node/plugin/plugins/commonConfig.js +16 -5
- package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.js +2 -0
- package/dist/esm/node/plugin/plugins/devConfig/index.js +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.d.ts +3 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +9 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +75 -21
- package/dist/esm/node/plugin/plugins/previewConfig.js +12 -7
- package/dist/esm/node/plugin/shared/addSsrMiddleware.d.ts +1 -1
- package/dist/esm/node/plugin/shared/addSsrMiddleware.js +5 -1
- package/dist/esm/node/plugin/shared/getEnvVarObject.d.ts +3 -1
- package/dist/esm/node/plugin/shared/getEnvVarObject.js +9 -8
- package/dist/esm/node/plugin/shared/loggerNotProd/log.js +2 -2
- package/dist/esm/node/prerender/context.js +1 -1
- package/dist/esm/node/prerender/resolvePrerenderConfig.d.ts +2 -1
- package/dist/esm/node/prerender/resolvePrerenderConfig.js +34 -19
- package/dist/esm/node/prerender/runPrerender.js +7 -9
- package/dist/esm/node/prerender/utils.d.ts +1 -1
- package/dist/esm/node/prerender/utils.js +1 -1
- package/dist/esm/node/runtime/globalContext.d.ts +1 -1
- package/dist/esm/node/runtime/globalContext.js +10 -6
- package/dist/esm/node/runtime/html/stream.js +7 -0
- package/dist/esm/node/runtime/index-deprecated.d.ts +1 -3
- package/dist/esm/node/runtime/renderPage/createHttpResponse/assertNoInfiniteHttpRedirect.d.ts +3 -1
- package/dist/esm/node/runtime/renderPage/createHttpResponse/assertNoInfiniteHttpRedirect.js +14 -6
- package/dist/esm/node/runtime/renderPage/createHttpResponse.d.ts +3 -1
- package/dist/esm/node/runtime/renderPage/createHttpResponse.js +2 -4
- package/dist/esm/node/runtime/renderPage/logErrorHint.js +6 -1
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +5 -5
- package/dist/esm/node/runtime/renderPage.js +7 -11
- package/dist/esm/node/runtime/utils.d.ts +0 -1
- package/dist/esm/node/runtime/utils.js +0 -1
- package/dist/esm/node/runtime-dev/createDevMiddleware.js +10 -8
- package/dist/esm/node/shared/assertV1Design.js +2 -1
- package/dist/esm/node/shared/utils.d.ts +0 -1
- package/dist/esm/node/shared/utils.js +0 -1
- package/dist/esm/shared/page-configs/Config.d.ts +19 -1
- package/dist/esm/shared/page-configs/PageConfig.d.ts +16 -5
- package/dist/esm/shared/page-configs/getConfigDefinedAt.d.ts +3 -3
- package/dist/esm/shared/page-configs/getConfigDefinedAt.js +19 -3
- package/dist/esm/shared/page-configs/getConfigValueBuildTime.js +8 -5
- package/dist/esm/shared/page-configs/helpers.js +1 -1
- package/dist/esm/shared/page-configs/serialize/parsePageConfigs.d.ts +1 -1
- package/dist/esm/shared/page-configs/serialize/parsePageConfigs.js +2 -5
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.d.ts +3 -3
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +6 -2
- package/dist/esm/shared/route/loadPageRoutes.js +2 -2
- package/dist/esm/types/index.d.ts +2 -0
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/assert.js +2 -2
- package/dist/esm/utils/assertSingleInstance.js +11 -17
- package/dist/esm/utils/debug.js +2 -1
- package/dist/esm/utils/parseUrl-extras.js +1 -0
- package/package.json +4 -3
- package/dist/cjs/utils/projectInfo.js +0 -8
- package/dist/esm/utils/projectInfo.d.ts +0 -4
- package/dist/esm/utils/projectInfo.js +0 -5
|
@@ -1,23 +1,31 @@
|
|
|
1
1
|
export { assertNoInfiniteHttpRedirect };
|
|
2
|
-
import { assert, assertUsage, getGlobalObject } from '../../utils.js';
|
|
2
|
+
import { assert, assertUsage, getGlobalObject, removeUrlOrigin } from '../../utils.js';
|
|
3
3
|
import pc from '@brillout/picocolors';
|
|
4
4
|
const globalObject = getGlobalObject('createHttpResponse/assertNoInfiniteHttpRedirect.ts', {
|
|
5
5
|
redirectGraph: {}
|
|
6
6
|
});
|
|
7
|
-
|
|
7
|
+
// It's too strict, see https://github.com/vikejs/vike/issues/1270#issuecomment-1820608999
|
|
8
|
+
// - Let's create a new setting `+doNotCatchInfiniteRedirect` if someone complains.
|
|
9
|
+
function assertNoInfiniteHttpRedirect(
|
|
10
|
+
// The exact URL that the user will be redirected to.
|
|
11
|
+
// - It includes the Base URL as well as the locale (i18n) base.
|
|
12
|
+
urlRedirectTarget,
|
|
13
|
+
// Rationale for checking against `pageContextInit.urlOriginal`: https://github.com/vikejs/vike/pull/2264#issuecomment-2713890263
|
|
14
|
+
pageContextInit) {
|
|
8
15
|
if (!urlRedirectTarget.startsWith('/')) {
|
|
9
|
-
// We assume that urlRedirectTarget points to an origin that is external (not the same origin), and we can therefore assume that the app doesn't define an infinite loop (in itself).
|
|
10
|
-
// - There isn't a reliable way to check whether the redirect points to an external origin or the same origin
|
|
16
|
+
// We assume that urlRedirectTarget points to an origin that is external (not the same origin), and we can therefore assume that the app doesn't define an infinite loop (at least not in itself).
|
|
17
|
+
// - There isn't a reliable way to check whether the redirect points to an external origin or the same origin; we hope/assume the user sets the URL without origin.
|
|
11
18
|
// ```js
|
|
12
19
|
// // For same-origin, the user usually/hopefully passes a URL without origin
|
|
13
20
|
// renderPage({ urlOriginal: '/some/pathname' })
|
|
14
21
|
// ```
|
|
15
22
|
return;
|
|
16
23
|
}
|
|
17
|
-
|
|
24
|
+
const urlOriginalNormalized = removeUrlOrigin(pageContextInit.urlOriginal).urlModified;
|
|
25
|
+
assert(urlOriginalNormalized.startsWith('/'));
|
|
18
26
|
const graph = copy(globalObject.redirectGraph);
|
|
19
27
|
graph[urlRedirectTarget] ?? (graph[urlRedirectTarget] = new Set());
|
|
20
|
-
graph[urlRedirectTarget].add(
|
|
28
|
+
graph[urlRedirectTarget].add(urlOriginalNormalized);
|
|
21
29
|
validate(graph);
|
|
22
30
|
globalObject.redirectGraph = graph;
|
|
23
31
|
}
|
|
@@ -35,4 +35,6 @@ declare function createHttpResponseError(pageContext: null | {
|
|
|
35
35
|
_pageConfigs: PageConfigRuntime[];
|
|
36
36
|
}): HttpResponse;
|
|
37
37
|
declare function createHttpResponsePageContextJson(pageContextSerialized: string): Promise<HttpResponse>;
|
|
38
|
-
declare function createHttpResponseRedirect({ url, statusCode }: UrlRedirect,
|
|
38
|
+
declare function createHttpResponseRedirect({ url, statusCode }: UrlRedirect, pageContextInit: {
|
|
39
|
+
urlOriginal: string;
|
|
40
|
+
}): HttpResponse;
|
|
@@ -82,10 +82,8 @@ async function createHttpResponsePageContextJson(pageContextSerialized) {
|
|
|
82
82
|
const httpResponse = createHttpResponse(200, 'application/json', [], pageContextSerialized, [], null);
|
|
83
83
|
return httpResponse;
|
|
84
84
|
}
|
|
85
|
-
function createHttpResponseRedirect({ url, statusCode },
|
|
86
|
-
|
|
87
|
-
urlLogical) {
|
|
88
|
-
assertNoInfiniteHttpRedirect(url, urlLogical);
|
|
85
|
+
function createHttpResponseRedirect({ url, statusCode }, pageContextInit) {
|
|
86
|
+
assertNoInfiniteHttpRedirect(url, pageContextInit);
|
|
89
87
|
assert(url);
|
|
90
88
|
assert(statusCode);
|
|
91
89
|
assert(300 <= statusCode && statusCode <= 399);
|
|
@@ -23,6 +23,10 @@ const errorsMisc = [
|
|
|
23
23
|
errMsg: 'assets.json',
|
|
24
24
|
link: 'https://vike.dev/getGlobalContext',
|
|
25
25
|
mustMentionNodeModules: false
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
errMsg: 'ERR_UNKNOWN_FILE_EXTENSION',
|
|
29
|
+
link: 'https://vike.dev/broken-npm-package#err-unknown-file-extension'
|
|
26
30
|
}
|
|
27
31
|
];
|
|
28
32
|
const reactInvalidEelement = 'https://vike.dev/broken-npm-package#react-invalid-component';
|
|
@@ -73,7 +77,8 @@ const errorsCjsEsm = [
|
|
|
73
77
|
{ errMsg: 'exports is not defined' },
|
|
74
78
|
{ errMsg: 'module is not defined' },
|
|
75
79
|
{ errMsg: 'not defined in ES' },
|
|
76
|
-
{ errMsg: "Unexpected token 'export'" }
|
|
80
|
+
{ errMsg: "Unexpected token 'export'" },
|
|
81
|
+
{ errMsg: 'Failed to resolve entry for package' }
|
|
77
82
|
];
|
|
78
83
|
function logErrorHint(error) {
|
|
79
84
|
/* Collect errors for ./logErrorHint.spec.ts
|
|
@@ -62,7 +62,7 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
|
|
|
62
62
|
pageRoutes: import("../../../__internal/index.js").PageRoutes;
|
|
63
63
|
onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
|
|
64
64
|
pages: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
|
|
65
|
-
config: import("../../../
|
|
65
|
+
config: import("../../../types/index.js").ConfigResolved;
|
|
66
66
|
} & ({
|
|
67
67
|
isProduction: false;
|
|
68
68
|
isPrerendering: false;
|
|
@@ -148,7 +148,7 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
|
|
|
148
148
|
pageRoutes: import("../../../__internal/index.js").PageRoutes;
|
|
149
149
|
onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
|
|
150
150
|
pages: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
|
|
151
|
-
config: import("../../../
|
|
151
|
+
config: import("../../../types/index.js").ConfigResolved;
|
|
152
152
|
} & ({
|
|
153
153
|
isProduction: false;
|
|
154
154
|
isPrerendering: false;
|
|
@@ -235,7 +235,7 @@ declare function prerender404Page(pageContextInit_: Record<string, unknown> | nu
|
|
|
235
235
|
pageRoutes: import("../../../__internal/index.js").PageRoutes;
|
|
236
236
|
onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
|
|
237
237
|
pages: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
|
|
238
|
-
config: import("../../../
|
|
238
|
+
config: import("../../../types/index.js").ConfigResolved;
|
|
239
239
|
} & ({
|
|
240
240
|
isProduction: false;
|
|
241
241
|
isPrerendering: false;
|
|
@@ -321,7 +321,7 @@ declare function prerender404Page(pageContextInit_: Record<string, unknown> | nu
|
|
|
321
321
|
pageRoutes: import("../../../__internal/index.js").PageRoutes;
|
|
322
322
|
onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
|
|
323
323
|
pages: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
|
|
324
|
-
config: import("../../../
|
|
324
|
+
config: import("../../../types/index.js").ConfigResolved;
|
|
325
325
|
} & ({
|
|
326
326
|
isProduction: false;
|
|
327
327
|
isPrerendering: false;
|
|
@@ -416,7 +416,7 @@ declare function getPageContextInitEnhanced(pageContextInit: {
|
|
|
416
416
|
pageRoutes: import("../../../__internal/index.js").PageRoutes;
|
|
417
417
|
onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
|
|
418
418
|
pages: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
|
|
419
|
-
config: import("../../../
|
|
419
|
+
config: import("../../../types/index.js").ConfigResolved;
|
|
420
420
|
} & ({
|
|
421
421
|
isProduction: false;
|
|
422
422
|
isPrerendering: false;
|
|
@@ -2,7 +2,7 @@ export { renderPage };
|
|
|
2
2
|
export { renderPage_addAsyncHookwrapper };
|
|
3
3
|
import { getPageContextInitEnhanced, renderPageAlreadyRouted } from './renderPage/renderPageAlreadyRouted.js';
|
|
4
4
|
import { route } from '../../shared/route/index.js';
|
|
5
|
-
import { assert, hasProp, objectAssign, isUrl, parseUrl, onSetupRuntime, assertWarning, getGlobalObject, checkType, assertUsage, normalizeUrlPathname, removeBaseServer, modifyUrlPathname, prependBase, removeUrlOrigin, setUrlOrigin,
|
|
5
|
+
import { assert, hasProp, objectAssign, isUrl, parseUrl, onSetupRuntime, assertWarning, getGlobalObject, checkType, assertUsage, normalizeUrlPathname, removeBaseServer, modifyUrlPathname, prependBase, removeUrlOrigin, setUrlOrigin, isUri, getUrlPretty } from './utils.js';
|
|
6
6
|
import { assertNoInfiniteAbortLoop, getPageContextFromAllRewrites, isAbortError, logAbortErrorHandled } from '../../shared/route/abort.js';
|
|
7
7
|
import { getGlobalContextInternal, initGlobalContext_renderPage } from './globalContext.js';
|
|
8
8
|
import { handlePageContextRequestUrl } from './renderPage/handlePageContextRequestUrl.js';
|
|
@@ -341,7 +341,7 @@ async function normalizeUrl(pageContextInit, globalContext, httpRequestId) {
|
|
|
341
341
|
if (!urlNormalized)
|
|
342
342
|
return null;
|
|
343
343
|
logRuntimeInfo?.(`URL normalized from ${pc.cyan(urlOriginal)} to ${pc.cyan(urlNormalized)} (https://vike.dev/url-normalization)`, httpRequestId, 'info');
|
|
344
|
-
const httpResponse = createHttpResponseRedirect({ url: urlNormalized, statusCode: 301 }, pageContextInit
|
|
344
|
+
const httpResponse = createHttpResponseRedirect({ url: urlNormalized, statusCode: 301 }, pageContextInit);
|
|
345
345
|
const pageContextHttpResponse = createPageContext(pageContextInit);
|
|
346
346
|
objectAssign(pageContextHttpResponse, { httpResponse });
|
|
347
347
|
return pageContextHttpResponse;
|
|
@@ -383,7 +383,7 @@ async function getPermanentRedirect(pageContextInit, globalContext, httpRequestI
|
|
|
383
383
|
assert(urlTarget !== pageContextInit.urlOriginal);
|
|
384
384
|
}
|
|
385
385
|
logRuntimeInfo?.(`Permanent redirection defined by config.redirects (https://vike.dev/redirects)`, httpRequestId, 'info');
|
|
386
|
-
const httpResponse = createHttpResponseRedirect({ url: urlTarget, statusCode: 301 },
|
|
386
|
+
const httpResponse = createHttpResponseRedirect({ url: urlTarget, statusCode: 301 }, pageContextInit);
|
|
387
387
|
const pageContextHttpResponse = createPageContext(pageContextInit);
|
|
388
388
|
objectAssign(pageContextHttpResponse, { httpResponse });
|
|
389
389
|
return pageContextHttpResponse;
|
|
@@ -391,7 +391,9 @@ async function getPermanentRedirect(pageContextInit, globalContext, httpRequestI
|
|
|
391
391
|
function normalize(url) {
|
|
392
392
|
return url || '/';
|
|
393
393
|
}
|
|
394
|
-
async function handleAbortError(errAbort, pageContextsFromRewrite,
|
|
394
|
+
async function handleAbortError(errAbort, pageContextsFromRewrite,
|
|
395
|
+
// The original `pageContextInit` object passed to `renderPage(pageContextInit)`
|
|
396
|
+
pageContextInit,
|
|
395
397
|
// handleAbortError() creates a new pageContext object and we don't merge pageContextNominalPageInit to it: we only use some pageContextNominalPageInit information.
|
|
396
398
|
pageContextNominalPageInit, httpRequestId, pageContextErrorPageInit, globalContext) {
|
|
397
399
|
logAbortErrorHandled(errAbort, globalContext.isProduction, pageContextNominalPageInit);
|
|
@@ -429,13 +431,7 @@ pageContextNominalPageInit, httpRequestId, pageContextErrorPageInit, globalConte
|
|
|
429
431
|
if (pageContextAbort._urlRedirect) {
|
|
430
432
|
const pageContextReturn = createPageContext(pageContextInit);
|
|
431
433
|
objectAssign(pageContextReturn, pageContextAbort);
|
|
432
|
-
const httpResponse = createHttpResponseRedirect(pageContextAbort._urlRedirect,
|
|
433
|
-
const { pathname, searchOriginal } = pageContextNominalPageInit.urlParsed;
|
|
434
|
-
const urlLogical = createUrlFromComponents(null, pathname, searchOriginal,
|
|
435
|
-
// The server-side doesn't have access to the hash
|
|
436
|
-
null);
|
|
437
|
-
return urlLogical;
|
|
438
|
-
})());
|
|
434
|
+
const httpResponse = createHttpResponseRedirect(pageContextAbort._urlRedirect, pageContextInit);
|
|
439
435
|
objectAssign(pageContextReturn, { httpResponse });
|
|
440
436
|
return { pageContextReturn };
|
|
441
437
|
}
|
|
@@ -11,7 +11,6 @@ export * from '../../utils/parseUrl.js';
|
|
|
11
11
|
export * from '../../utils/parseUrl-extras.js';
|
|
12
12
|
export * from '../../utils/slice.js';
|
|
13
13
|
export * from '../../utils/sorter.js';
|
|
14
|
-
export * from '../../utils/projectInfo.js';
|
|
15
14
|
export * from '../../utils/isArray.js';
|
|
16
15
|
export * from '../../utils/isObject.js';
|
|
17
16
|
export * from '../../utils/objectAssign.js';
|
|
@@ -15,7 +15,6 @@ export * from '../../utils/parseUrl.js';
|
|
|
15
15
|
export * from '../../utils/parseUrl-extras.js';
|
|
16
16
|
export * from '../../utils/slice.js';
|
|
17
17
|
export * from '../../utils/sorter.js';
|
|
18
|
-
export * from '../../utils/projectInfo.js';
|
|
19
18
|
export * from '../../utils/isArray.js';
|
|
20
19
|
export * from '../../utils/isObject.js';
|
|
21
20
|
export * from '../../utils/objectAssign.js';
|
|
@@ -9,16 +9,18 @@ import { setGlobalContext_isProduction } from '../runtime/globalContext.js';
|
|
|
9
9
|
*/
|
|
10
10
|
async function createDevMiddleware(options = {}) {
|
|
11
11
|
setGlobalContext_isProduction(false);
|
|
12
|
-
const
|
|
13
|
-
...options
|
|
14
|
-
|
|
15
|
-
...options.viteConfig
|
|
16
|
-
|
|
12
|
+
const optionsMod = {
|
|
13
|
+
...options,
|
|
14
|
+
viteConfig: {
|
|
15
|
+
...options.viteConfig,
|
|
16
|
+
root: options.root ?? options.viteConfig?.root,
|
|
17
|
+
server: {
|
|
18
|
+
...options.viteConfig?.server,
|
|
19
|
+
middlewareMode: options.viteConfig?.server?.middlewareMode ?? true
|
|
20
|
+
}
|
|
17
21
|
}
|
|
18
22
|
};
|
|
19
|
-
|
|
20
|
-
viteConfigFromOptions.root = options.root;
|
|
21
|
-
const { viteConfigEnhanced } = await prepareViteApiCall(viteConfigFromOptions, 'dev');
|
|
23
|
+
const { viteConfigEnhanced } = await prepareViteApiCall(optionsMod, 'dev');
|
|
22
24
|
const server = await createServer(viteConfigEnhanced);
|
|
23
25
|
const devMiddleware = server.middlewares;
|
|
24
26
|
return { devMiddleware, viteServer: server, viteConfig: server.config };
|
|
@@ -10,7 +10,8 @@ function assertV1Design(pageConfigs, pageFilesAll) {
|
|
|
10
10
|
assert(pageConfigs.length > 0);
|
|
11
11
|
const filesV1 = unique(pageConfigs
|
|
12
12
|
.map((p) => Object.values(p.configValueSources).map((sources) => sources
|
|
13
|
-
.map((c) => c.definedAtFilePath
|
|
13
|
+
.map((c) => c.definedAtFilePath)
|
|
14
|
+
.map((definedAt) => (definedAt.definedBy ? null : definedAt.filePathAbsoluteUserRootDir))
|
|
14
15
|
.filter(isNotNullish)
|
|
15
16
|
.map((filePathToShowToUser) => indent + filePathToShowToUser)))
|
|
16
17
|
.flat(2));
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export * from '../../utils/assert.js';
|
|
2
2
|
export * from '../../utils/getFileExtension.js';
|
|
3
3
|
export * from '../../utils/isPlainObject.js';
|
|
4
|
-
export * from '../../utils/projectInfo.js';
|
|
5
4
|
export * from '../../utils/checkType.js';
|
|
6
5
|
export * from '../../utils/hasProp.js';
|
|
7
6
|
export * from '../../utils/objectAssign.js';
|
|
@@ -3,7 +3,6 @@ assertIsNotBrowser();
|
|
|
3
3
|
export * from '../../utils/assert.js';
|
|
4
4
|
export * from '../../utils/getFileExtension.js';
|
|
5
5
|
export * from '../../utils/isPlainObject.js';
|
|
6
|
-
export * from '../../utils/projectInfo.js';
|
|
7
6
|
export * from '../../utils/checkType.js';
|
|
8
7
|
export * from '../../utils/hasProp.js';
|
|
9
8
|
export * from '../../utils/objectAssign.js';
|
|
@@ -297,7 +297,9 @@ type ConfigBuiltIn = {
|
|
|
297
297
|
*/
|
|
298
298
|
disableAutoRun?: boolean;
|
|
299
299
|
/**
|
|
300
|
-
*
|
|
300
|
+
* Whether to enable pre-rendering.
|
|
301
|
+
*
|
|
302
|
+
* Setting `value: null` enables you to set prerender settings without activating pre-rendering. (Useful for Vike extensions.)
|
|
301
303
|
*
|
|
302
304
|
* https://vike.dev/prerender#value
|
|
303
305
|
*
|
|
@@ -471,6 +473,22 @@ type ConfigBuiltIn = {
|
|
|
471
473
|
* https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control
|
|
472
474
|
*/
|
|
473
475
|
cacheControl?: string;
|
|
476
|
+
/**
|
|
477
|
+
* Make development/preview server available over LAN and public addresses.
|
|
478
|
+
*
|
|
479
|
+
* Default: `false` (or `true` if running inside Docker/Podman).
|
|
480
|
+
*
|
|
481
|
+
* https://vike.dev/host
|
|
482
|
+
*/
|
|
483
|
+
host?: boolean | string;
|
|
484
|
+
/**
|
|
485
|
+
* Change port of development/preview server.
|
|
486
|
+
*
|
|
487
|
+
* @default 3000
|
|
488
|
+
*
|
|
489
|
+
* https://vike.dev/port
|
|
490
|
+
*/
|
|
491
|
+
port?: number;
|
|
474
492
|
/** Where scripts are injected in the HTML.
|
|
475
493
|
*
|
|
476
494
|
* https://vike.dev/injectScriptsAt
|
|
@@ -17,12 +17,15 @@ export type { ConfigValueSources };
|
|
|
17
17
|
export type { ConfigValuesComputed };
|
|
18
18
|
export type { DefinedAtData };
|
|
19
19
|
export type { DefinedAtFile };
|
|
20
|
+
export type { DefinedAt };
|
|
21
|
+
export type { DefinedBy };
|
|
20
22
|
export type { DefinedAtFilePath };
|
|
21
23
|
import type { ConfigValueSerialized } from './serialize/PageConfigSerialized.js';
|
|
22
24
|
import type { LocationId } from '../../node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js';
|
|
23
25
|
import type { FilePath } from './FilePath.js';
|
|
24
26
|
import type { ConfigDefinitions } from '../../node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js';
|
|
25
27
|
import type { PlusFile } from '../../node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.js';
|
|
28
|
+
import type { Operation } from '../../node/api/types.js';
|
|
26
29
|
type PageConfigCommon = {
|
|
27
30
|
pageId: string;
|
|
28
31
|
} & PageConfigRoute;
|
|
@@ -33,7 +36,7 @@ type PageConfigRoute = {
|
|
|
33
36
|
isErrorPage?: undefined;
|
|
34
37
|
routeFilesystem: {
|
|
35
38
|
routeString: string;
|
|
36
|
-
|
|
39
|
+
definedAtLocation: string;
|
|
37
40
|
};
|
|
38
41
|
};
|
|
39
42
|
/** Page config, runtime data structure */
|
|
@@ -89,7 +92,7 @@ type ConfigValueSources = Record<string, // configName
|
|
|
89
92
|
ConfigValueSource[]>;
|
|
90
93
|
type ConfigValueSource = {
|
|
91
94
|
configEnv: ConfigEnvInternal;
|
|
92
|
-
definedAtFilePath: DefinedAtFilePath;
|
|
95
|
+
definedAtFilePath: DefinedAtFilePath | DefinedBy;
|
|
93
96
|
plusFile: PlusFile | null;
|
|
94
97
|
locationId: LocationId;
|
|
95
98
|
/** Wether the config value is loaded at runtime, for example config.Page or config.onBeforeRender */
|
|
@@ -119,13 +122,13 @@ type ConfigValue = ConfigValueStandard | ConfigValueCumulative | ConfigValueComp
|
|
|
119
122
|
type ConfigValueStandard = {
|
|
120
123
|
type: 'standard';
|
|
121
124
|
value: unknown;
|
|
122
|
-
definedAtData:
|
|
125
|
+
definedAtData: DefinedAt;
|
|
123
126
|
};
|
|
124
127
|
/** Defined by multiple sources (thus multiple file paths). */
|
|
125
128
|
type ConfigValueCumulative = {
|
|
126
129
|
type: 'cumulative';
|
|
127
130
|
value: unknown[];
|
|
128
|
-
definedAtData:
|
|
131
|
+
definedAtData: DefinedAt[];
|
|
129
132
|
};
|
|
130
133
|
/** Defined internally by Vike (currently, Vike doesn't support computed configs created by users). */
|
|
131
134
|
type ConfigValueComputed = {
|
|
@@ -133,8 +136,16 @@ type ConfigValueComputed = {
|
|
|
133
136
|
value: unknown;
|
|
134
137
|
definedAtData: null;
|
|
135
138
|
};
|
|
136
|
-
type DefinedAtData =
|
|
139
|
+
type DefinedAtData = DefinedAt | DefinedAt[] | null;
|
|
140
|
+
type DefinedAt = DefinedAtFile | DefinedBy;
|
|
141
|
+
type DefinedBy = {
|
|
142
|
+
definedBy: 'cli' | 'env';
|
|
143
|
+
} | {
|
|
144
|
+
definedBy: 'api';
|
|
145
|
+
operation: Operation;
|
|
146
|
+
};
|
|
137
147
|
type DefinedAtFile = {
|
|
138
148
|
filePathToShowToUser: string;
|
|
139
149
|
fileExportPathToShowToUser: null | string[];
|
|
150
|
+
definedBy?: undefined;
|
|
140
151
|
};
|
|
@@ -3,9 +3,9 @@ export { getConfigDefinedAtOptional };
|
|
|
3
3
|
export { getDefinedAtString };
|
|
4
4
|
export type { ConfigDefinedAt };
|
|
5
5
|
export type { ConfigDefinedAtOptional };
|
|
6
|
-
import type { DefinedAtData
|
|
6
|
+
import type { DefinedAtData } from './PageConfig.js';
|
|
7
7
|
type ConfigDefinedAtOptional = ConfigDefinedAt | `Config ${string} defined internally`;
|
|
8
8
|
type ConfigDefinedAt = `Config ${string} defined at ${string}`;
|
|
9
|
-
declare function getConfigDefinedAt<SentenceBegin extends 'Config' | 'config', ConfigName extends string>(sentenceBegin: SentenceBegin, configName: ConfigName, definedAtData:
|
|
9
|
+
declare function getConfigDefinedAt<SentenceBegin extends 'Config' | 'config', ConfigName extends string>(sentenceBegin: SentenceBegin, configName: ConfigName, definedAtData: NonNullable<DefinedAtData>): `${SentenceBegin} ${ConfigName} defined at ${string}`;
|
|
10
10
|
declare function getConfigDefinedAtOptional<SentenceBegin extends 'Config' | 'config', ConfigName extends string>(sentenceBegin: SentenceBegin, configName: ConfigName, definedAtData: DefinedAtData): `${SentenceBegin} ${ConfigName} defined ${'internally' | `at ${string}`}`;
|
|
11
|
-
declare function getDefinedAtString(definedAtData:
|
|
11
|
+
declare function getDefinedAtString(definedAtData: NonNullable<DefinedAtData>, configName: string): string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { getConfigDefinedAt };
|
|
2
2
|
export { getConfigDefinedAtOptional };
|
|
3
3
|
export { getDefinedAtString };
|
|
4
|
-
import { assert, isArray } from '../utils.js';
|
|
4
|
+
import { assert, checkType, isArray } from '../utils.js';
|
|
5
5
|
import pc from '@brillout/picocolors';
|
|
6
6
|
import { getExportPath } from './getExportPath.js';
|
|
7
7
|
function getConfigDefinedAt(sentenceBegin, configName, definedAtData) {
|
|
@@ -28,8 +28,10 @@ function getDefinedAtString(definedAtData, configName) {
|
|
|
28
28
|
}
|
|
29
29
|
assert(files.length >= 1);
|
|
30
30
|
const definedAtString = files
|
|
31
|
-
.map((
|
|
32
|
-
|
|
31
|
+
.map((definedAt) => {
|
|
32
|
+
if (definedAt.definedBy)
|
|
33
|
+
return getDefinedByString(definedAt, configName);
|
|
34
|
+
const { filePathToShowToUser, fileExportPathToShowToUser } = definedAt;
|
|
33
35
|
let s = filePathToShowToUser;
|
|
34
36
|
const exportPath = getExportPath(fileExportPathToShowToUser, configName);
|
|
35
37
|
if (exportPath) {
|
|
@@ -40,3 +42,17 @@ function getDefinedAtString(definedAtData, configName) {
|
|
|
40
42
|
.join(' / ');
|
|
41
43
|
return definedAtString;
|
|
42
44
|
}
|
|
45
|
+
function getDefinedByString(definedAt, configName) {
|
|
46
|
+
if (definedAt.definedBy === 'api') {
|
|
47
|
+
return `API call ${pc.cyan(`${definedAt.operation}({${configName}})`)}`;
|
|
48
|
+
}
|
|
49
|
+
const { definedBy } = definedAt;
|
|
50
|
+
if (definedBy === 'cli') {
|
|
51
|
+
return `CLI option ${pc.cyan(`--${configName}`)}`;
|
|
52
|
+
}
|
|
53
|
+
if (definedBy === 'env') {
|
|
54
|
+
return `environment variable ${pc.cyan(`VIKE_OPTIONS="{${configName}}"`)}`;
|
|
55
|
+
}
|
|
56
|
+
checkType(definedBy);
|
|
57
|
+
assert(false);
|
|
58
|
+
}
|
|
@@ -31,7 +31,7 @@ function getConfigValue(pageConfig, configName) {
|
|
|
31
31
|
return {
|
|
32
32
|
type: 'standard',
|
|
33
33
|
value: configValueSource.value,
|
|
34
|
-
definedAtData:
|
|
34
|
+
definedAtData: getDefinedAt(configValueSource)
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
37
|
else {
|
|
@@ -51,13 +51,16 @@ function mergeCumulative(configValueSources) {
|
|
|
51
51
|
assert(configValueSource.configEnv.config === true);
|
|
52
52
|
assert(configValueSource.valueIsLoaded);
|
|
53
53
|
value.push(configValueSource.value);
|
|
54
|
-
definedAtData.push(
|
|
54
|
+
definedAtData.push(getDefinedAt(configValueSource));
|
|
55
55
|
});
|
|
56
56
|
return { value, definedAtData };
|
|
57
57
|
}
|
|
58
|
-
function
|
|
58
|
+
function getDefinedAt(configValueSource) {
|
|
59
|
+
const { definedAtFilePath } = configValueSource;
|
|
60
|
+
if (definedAtFilePath.definedBy)
|
|
61
|
+
return definedAtFilePath;
|
|
59
62
|
return {
|
|
60
|
-
filePathToShowToUser:
|
|
61
|
-
fileExportPathToShowToUser:
|
|
63
|
+
filePathToShowToUser: definedAtFilePath.filePathToShowToUser,
|
|
64
|
+
fileExportPathToShowToUser: definedAtFilePath.fileExportPathToShowToUser
|
|
62
65
|
};
|
|
63
66
|
}
|
|
@@ -12,7 +12,7 @@ function getConfigValueFilePathToShowToUser(definedAtData) {
|
|
|
12
12
|
// A unique file path only exists if the config value isn't cumulative nor computed:
|
|
13
13
|
// - cumulative config values have multiple file paths
|
|
14
14
|
// - computed values don't have any file path
|
|
15
|
-
if (!definedAtData || isArray(definedAtData))
|
|
15
|
+
if (!definedAtData || isArray(definedAtData) || definedAtData.definedBy)
|
|
16
16
|
return null;
|
|
17
17
|
const { filePathToShowToUser } = definedAtData;
|
|
18
18
|
assert(filePathToShowToUser);
|
|
@@ -3,8 +3,8 @@ export { parseConfigValuesSerialized };
|
|
|
3
3
|
import type { ConfigValues, PageConfigRuntime, PageConfigGlobalRuntime } from '../PageConfig.js';
|
|
4
4
|
import type { PageConfigGlobalRuntimeSerialized, PageConfigRuntimeSerialized } from './PageConfigSerialized.js';
|
|
5
5
|
import type { ConfigValueSerialized } from './PageConfigSerialized.js';
|
|
6
|
-
declare function parseConfigValuesSerialized(configValuesSerialized: Record<string, ConfigValueSerialized>): ConfigValues;
|
|
7
6
|
declare function parsePageConfigs(pageConfigsSerialized: PageConfigRuntimeSerialized[], pageConfigGlobalSerialized: PageConfigGlobalRuntimeSerialized): {
|
|
8
7
|
pageConfigs: PageConfigRuntime[];
|
|
9
8
|
pageConfigGlobal: PageConfigGlobalRuntime;
|
|
10
9
|
};
|
|
10
|
+
declare function parseConfigValuesSerialized(configValuesSerialized: Record<string, ConfigValueSerialized>): ConfigValues;
|
|
@@ -4,10 +4,6 @@ import { assert, assertUsage, isCallable } from '../../utils.js';
|
|
|
4
4
|
import { getConfigDefinedAt } from '../getConfigDefinedAt.js';
|
|
5
5
|
import { parseTransform } from '@brillout/json-serializer/parse';
|
|
6
6
|
import { assertPlusFileExport } from '../assertPlusFileExport.js';
|
|
7
|
-
function parseConfigValuesSerialized(configValuesSerialized) {
|
|
8
|
-
const configValues = parseConfigValuesSerialized_tmp(configValuesSerialized);
|
|
9
|
-
return configValues;
|
|
10
|
-
}
|
|
11
7
|
function parsePageConfigs(pageConfigsSerialized, pageConfigGlobalSerialized) {
|
|
12
8
|
// pageConfigs
|
|
13
9
|
const pageConfigs = pageConfigsSerialized.map((pageConfigSerialized) => {
|
|
@@ -43,7 +39,7 @@ function assertRouteConfigValue(configValues) {
|
|
|
43
39
|
}
|
|
44
40
|
*/
|
|
45
41
|
}
|
|
46
|
-
function
|
|
42
|
+
function parseConfigValuesSerialized(configValuesSerialized) {
|
|
47
43
|
const configValues = {};
|
|
48
44
|
Object.entries(configValuesSerialized).forEach(([configName, configValueSeriliazed]) => {
|
|
49
45
|
let configValue;
|
|
@@ -100,6 +96,7 @@ function parseValueSerialized(valueSerialized, configName, getDefinedAtFile) {
|
|
|
100
96
|
if (valueSerialized.type === 'plus-file') {
|
|
101
97
|
const definedAtFile = getDefinedAtFile();
|
|
102
98
|
const { exportValues } = valueSerialized;
|
|
99
|
+
assert(!definedAtFile.definedBy);
|
|
103
100
|
assertPlusFileExport(exportValues, definedAtFile.filePathToShowToUser, configName);
|
|
104
101
|
let value;
|
|
105
102
|
let valueWasFound = false;
|
|
@@ -2,7 +2,7 @@ export { serializeConfigValues };
|
|
|
2
2
|
export { getConfigValuesBase };
|
|
3
3
|
export { isJsonValue };
|
|
4
4
|
export type { FilesEnv };
|
|
5
|
-
import type { ConfigEnvInternal, ConfigValueSource,
|
|
5
|
+
import type { ConfigEnvInternal, ConfigValueSource, DefinedAt, PageConfigBuildTime, PageConfigGlobalBuildTime } from '../PageConfig.js';
|
|
6
6
|
declare function serializeConfigValues(pageConfig: PageConfigBuildTime | PageConfigGlobalBuildTime, importStatements: string[], filesEnv: FilesEnv, isEnvMatch: (configEnv: ConfigEnvInternal) => boolean, tabspace: string, isEager: boolean | null): string[];
|
|
7
7
|
declare function isJsonValue(value: unknown): boolean;
|
|
8
8
|
declare function getConfigValuesBase(pageConfig: PageConfigBuildTime | PageConfigGlobalBuildTime, isEnvMatch: (configEnv: ConfigEnvInternal) => boolean, isEager: boolean | null): ConfigValuesBase;
|
|
@@ -17,14 +17,14 @@ type ConfigValuesBase = ({
|
|
|
17
17
|
} | {
|
|
18
18
|
configValueBase: {
|
|
19
19
|
type: 'standard';
|
|
20
|
-
definedAtData:
|
|
20
|
+
definedAtData: DefinedAt;
|
|
21
21
|
};
|
|
22
22
|
sourceRelevant: ConfigValueSource;
|
|
23
23
|
configName: string;
|
|
24
24
|
} | {
|
|
25
25
|
configValueBase: {
|
|
26
26
|
type: 'cumulative';
|
|
27
|
-
definedAtData:
|
|
27
|
+
definedAtData: DefinedAt[];
|
|
28
28
|
};
|
|
29
29
|
sourcesRelevant: ConfigValueSource[];
|
|
30
30
|
configName: string;
|
|
@@ -99,6 +99,7 @@ function serializeConfigValue(configValueBase, valueData, configName, lines, tab
|
|
|
99
99
|
function getValueSerializedWithImport(configValueSource, importStatements, filesEnv, configName) {
|
|
100
100
|
assert(!configValueSource.valueIsFilePath);
|
|
101
101
|
const { valueIsDefinedByPlusValueFile, definedAtFilePath, configEnv } = configValueSource;
|
|
102
|
+
assert(!definedAtFilePath.definedBy);
|
|
102
103
|
const { filePathAbsoluteVite, fileExportName } = definedAtFilePath;
|
|
103
104
|
if (valueIsDefinedByPlusValueFile)
|
|
104
105
|
assert(fileExportName === undefined);
|
|
@@ -226,9 +227,12 @@ function getConfigValuesBase(pageConfig, isEnvMatch, isEager) {
|
|
|
226
227
|
return [...fromComputed, ...fromSources].filter((r) => r !== 'SKIP');
|
|
227
228
|
}
|
|
228
229
|
function getDefinedAtFileSource(source) {
|
|
230
|
+
const { definedAtFilePath } = source;
|
|
231
|
+
if (definedAtFilePath.definedBy)
|
|
232
|
+
return definedAtFilePath;
|
|
229
233
|
const definedAtFile = {
|
|
230
|
-
filePathToShowToUser:
|
|
231
|
-
fileExportPathToShowToUser:
|
|
234
|
+
filePathToShowToUser: definedAtFilePath.filePathToShowToUser,
|
|
235
|
+
fileExportPathToShowToUser: definedAtFilePath.fileExportPathToShowToUser
|
|
232
236
|
};
|
|
233
237
|
return definedAtFile;
|
|
234
238
|
}
|
|
@@ -60,11 +60,11 @@ function getPageRoutes(filesystemRoots, pageFilesAll, pageConfigs, allPageIds) {
|
|
|
60
60
|
if (!pageRoute) {
|
|
61
61
|
const { routeFilesystem } = pageConfig;
|
|
62
62
|
assert(routeFilesystem);
|
|
63
|
-
const { routeString,
|
|
63
|
+
const { routeString, definedAtLocation } = routeFilesystem;
|
|
64
64
|
assert(routeFilesystem.routeString.startsWith('/'));
|
|
65
65
|
pageRoute = {
|
|
66
66
|
pageId,
|
|
67
|
-
routeFilesystemDefinedBy:
|
|
67
|
+
routeFilesystemDefinedBy: definedAtLocation,
|
|
68
68
|
comesFromV1PageConfig,
|
|
69
69
|
routeString,
|
|
70
70
|
routeDefinedAtString: null,
|
|
@@ -8,9 +8,11 @@ export type { PageContextBuiltInServer } from '../shared/types.js';
|
|
|
8
8
|
export type { PageContextBuiltInClientWithClientRouting } from '../shared/types.js';
|
|
9
9
|
export type { PageContextBuiltInClientWithServerRouting } from '../shared/types.js';
|
|
10
10
|
export type { Config, ConfigMeta as Meta, ImportString, DataAsync, DataSync, GuardAsync, GuardSync, OnBeforePrerenderStartAsync, OnBeforePrerenderStartSync, OnBeforeRenderAsync, OnBeforeRenderSync, OnBeforeRouteAsync, OnBeforeRouteSync, OnHydrationEndAsync, OnHydrationEndSync, OnPageTransitionEndAsync, OnPageTransitionEndSync, OnPageTransitionStartAsync, OnPageTransitionStartSync, OnPrerenderStartAsync, OnPrerenderStartSync, OnRenderClientAsync, OnRenderClientSync, OnRenderHtmlAsync, OnRenderHtmlSync, RouteAsync, RouteSync, KeepScrollPosition } from '../shared/page-configs/Config.js';
|
|
11
|
+
export type { ConfigResolved } from '../shared/page-configs/Config/PageContextConfig.js';
|
|
11
12
|
export type { ConfigEnv } from '../shared/page-configs/PageConfig.js';
|
|
12
13
|
export type { ConfigDefinition, ConfigEffect } from '../node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js';
|
|
13
14
|
export type { ConfigEntries } from '../shared/page-configs/getPageConfigUserFriendly.js';
|
|
15
|
+
export type { VikeConfigPublic as VikeConfig } from '../node/plugin/plugins/commonConfig.js';
|
|
14
16
|
export type { UrlPublic as Url } from '../utils/parseUrl.js';
|
|
15
17
|
export type { InjectFilterEntry } from '../node/runtime/html/injectAssets/getHtmlTags.js';
|
|
16
18
|
export { defineConfig } from './defineConfig.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const PROJECT_VERSION: "0.4.
|
|
1
|
+
export declare const PROJECT_VERSION: "0.4.225";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Automatically updated by @brillout/release-me
|
|
2
|
-
export const PROJECT_VERSION = '0.4.
|
|
2
|
+
export const PROJECT_VERSION = '0.4.225';
|
package/dist/esm/utils/assert.js
CHANGED
|
@@ -12,7 +12,7 @@ import { assertSingleInstance_onAssertModuleLoad } from './assertSingleInstance.
|
|
|
12
12
|
import { createErrorWithCleanStackTrace } from './createErrorWithCleanStackTrace.js';
|
|
13
13
|
import { getGlobalObject } from './getGlobalObject.js';
|
|
14
14
|
import { isObject } from './isObject.js';
|
|
15
|
-
import {
|
|
15
|
+
import { PROJECT_VERSION } from './PROJECT_VERSION.js';
|
|
16
16
|
import pc from '@brillout/picocolors';
|
|
17
17
|
const globalObject = getGlobalObject('utils/assert.ts', {
|
|
18
18
|
alreadyLogged: new Set(),
|
|
@@ -29,7 +29,7 @@ const globalObject = getGlobalObject('utils/assert.ts', {
|
|
|
29
29
|
});
|
|
30
30
|
assertSingleInstance_onAssertModuleLoad();
|
|
31
31
|
const projectTag = `[vike]`;
|
|
32
|
-
const projectTagWithVersion = `[vike@${
|
|
32
|
+
const projectTagWithVersion = `[vike@${PROJECT_VERSION}]`;
|
|
33
33
|
const bugTag = 'Bug';
|
|
34
34
|
const numberOfStackTraceLinesToRemove = 2;
|
|
35
35
|
function assert(condition, debugInfo) {
|