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
|
@@ -4,26 +4,27 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getEnvVarObject = getEnvVarObject;
|
|
7
|
+
exports.parseJson5 = parseJson5;
|
|
7
8
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
8
9
|
const utils_js_1 = require("../utils.js");
|
|
9
10
|
const json5_1 = __importDefault(require("json5"));
|
|
10
|
-
function getEnvVarObject(envVarName
|
|
11
|
-
/* Let's eventually implement this for Vike's config as well
|
|
12
|
-
| 'VIKE_CONFIG'
|
|
13
|
-
*/
|
|
14
|
-
) {
|
|
11
|
+
function getEnvVarObject(envVarName) {
|
|
15
12
|
const valueStr = process.env[envVarName];
|
|
16
13
|
if (!valueStr)
|
|
17
14
|
return null;
|
|
15
|
+
const value = parseJson5(valueStr, envVarName);
|
|
16
|
+
(0, utils_js_1.assertUsage)(value, `${envVarName} should define an object but it's ${picocolors_1.default.bold(String(value))} instead.`);
|
|
17
|
+
(0, utils_js_1.assertUsage)((0, utils_js_1.isObject)(value), `${envVarName} should define an object but it's set to the following which isn't an object: ${picocolors_1.default.bold(valueStr)}`);
|
|
18
|
+
return value;
|
|
19
|
+
}
|
|
20
|
+
function parseJson5(valueStr, what) {
|
|
18
21
|
let value;
|
|
19
22
|
try {
|
|
20
23
|
value = json5_1.default.parse(valueStr);
|
|
21
24
|
}
|
|
22
25
|
catch (err) {
|
|
23
26
|
console.error(err);
|
|
24
|
-
(0, utils_js_1.assertUsage)(false, `Cannot parse ${
|
|
27
|
+
(0, utils_js_1.assertUsage)(false, `Cannot parse ${picocolors_1.default.cyan(what)} (see error above) because it's set to the following which isn't a valid JSON5 string: ${picocolors_1.default.bold(valueStr)}`);
|
|
25
28
|
}
|
|
26
|
-
(0, utils_js_1.assertUsage)(value, `${envVarName} should define an object but it's ${picocolors_1.default.bold(String(value))} instead.`);
|
|
27
|
-
(0, utils_js_1.assertUsage)((0, utils_js_1.isObject)(value), `${envVarName} should define an object but it's set to the following which isn't an object: ${picocolors_1.default.bold(valueStr)}`);
|
|
28
29
|
return value;
|
|
29
30
|
}
|
|
@@ -20,7 +20,7 @@ function logWithVikeTag(msg, logType, category, showVikeVersion = false) {
|
|
|
20
20
|
function getProjectTag(showVikeVersion) {
|
|
21
21
|
let projectTag;
|
|
22
22
|
if (showVikeVersion) {
|
|
23
|
-
projectTag = `[vike@${utils_js_1.
|
|
23
|
+
projectTag = `[vike@${utils_js_1.PROJECT_VERSION}]`;
|
|
24
24
|
}
|
|
25
25
|
else {
|
|
26
26
|
projectTag = `[vike]`;
|
|
@@ -9,7 +9,7 @@ const resolvePrerenderConfig_js_1 = require("./resolvePrerenderConfig.js");
|
|
|
9
9
|
const globalObject = (0, getGlobalObject_js_1.getGlobalObject)('prerender/context.ts', {});
|
|
10
10
|
function isPrerenderAutoRunEnabled(vikeConfig) {
|
|
11
11
|
const prerenderConfigGlobal = (0, resolvePrerenderConfig_js_1.resolvePrerenderConfigGlobal)(vikeConfig);
|
|
12
|
-
return (prerenderConfigGlobal.
|
|
12
|
+
return (prerenderConfigGlobal.isPrerenderingEnabled &&
|
|
13
13
|
!(prerenderConfigGlobal || {}).disableAutoRun &&
|
|
14
14
|
!globalObject.isDisabled &&
|
|
15
15
|
vikeConfig.global.config.disableAutoFullBuild !== 'prerender');
|
|
@@ -4,28 +4,42 @@ exports.resolvePrerenderConfigGlobal = resolvePrerenderConfigGlobal;
|
|
|
4
4
|
exports.resolvePrerenderConfigLocal = resolvePrerenderConfigLocal;
|
|
5
5
|
const utils_js_1 = require("./utils.js");
|
|
6
6
|
const getConfigValueBuildTime_js_1 = require("../../shared/page-configs/getConfigValueBuildTime.js");
|
|
7
|
+
// When setting +prerender to an object => it also enables pre-rendering
|
|
8
|
+
const defaultValueForObject = true;
|
|
7
9
|
function resolvePrerenderConfigGlobal(vikeConfig) {
|
|
8
|
-
const prerenderConfigs = vikeConfig.global.config.prerender;
|
|
9
|
-
|
|
10
|
-
// Needed because of backwards compatibility of `vike({prerender:true})` in `vite.config.js`; after we remove it we can remove this line.
|
|
11
|
-
prerenderConfigList = prerenderConfigList.filter(isObject2);
|
|
12
|
-
(0, utils_js_1.assert)(prerenderConfigList.every(isObject2)); // Help TS
|
|
10
|
+
const prerenderConfigs = vikeConfig.global.config.prerender || [];
|
|
11
|
+
const prerenderSettings = prerenderConfigs.filter(isObject2);
|
|
13
12
|
const prerenderConfigGlobal = {
|
|
14
|
-
partial: pickFirst(
|
|
15
|
-
noExtraDir: pickFirst(
|
|
16
|
-
parallel: pickFirst(
|
|
17
|
-
disableAutoRun: pickFirst(
|
|
13
|
+
partial: pickFirst(prerenderSettings.map((c) => c.partial)) ?? false,
|
|
14
|
+
noExtraDir: pickFirst(prerenderSettings.map((c) => c.noExtraDir)) ?? false,
|
|
15
|
+
parallel: pickFirst(prerenderSettings.map((c) => c.parallel)) ?? true,
|
|
16
|
+
disableAutoRun: pickFirst(prerenderSettings.map((c) => c.disableAutoRun)) ?? false
|
|
18
17
|
};
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
let defaultLocalValue = false;
|
|
19
|
+
{
|
|
20
|
+
const valueFirst = prerenderConfigs.filter((p) => !(0, utils_js_1.isObject)(p) || p.value !== null)[0];
|
|
21
|
+
if (valueFirst === true || ((0, utils_js_1.isObject)(valueFirst) && (valueFirst.value ?? defaultValueForObject))) {
|
|
22
|
+
defaultLocalValue = true;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
// TODO/next-major: remove
|
|
26
|
+
// Backwards compatibility for `vike({prerender:true})` in vite.config.js
|
|
27
|
+
{
|
|
28
|
+
const valuesWithDefinedAt = vikeConfig.global._from.configsCumulative.prerender?.values ?? [];
|
|
29
|
+
if (valuesWithDefinedAt.some((v) => v.definedAt.includes('vite.config.js') && v.value)) {
|
|
30
|
+
defaultLocalValue = true;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
25
33
|
(0, utils_js_1.objectAssign)(prerenderConfigGlobal, {
|
|
26
34
|
defaultLocalValue,
|
|
27
|
-
|
|
35
|
+
isPrerenderingEnabledForAllPages: vikeConfig.pageConfigs.length > 0 &&
|
|
36
|
+
vikeConfig.pageConfigs.every((pageConfig) => resolvePrerenderConfigLocal(pageConfig)?.value ?? defaultLocalValue),
|
|
37
|
+
isPrerenderingEnabled: vikeConfig.pageConfigs.length > 0 &&
|
|
38
|
+
vikeConfig.pageConfigs.some((pageConfig) => resolvePrerenderConfigLocal(pageConfig)?.value ?? defaultLocalValue)
|
|
28
39
|
});
|
|
40
|
+
// TODO/next-major remove
|
|
41
|
+
if (vikeConfig.pageConfigs.length === 0 && defaultLocalValue)
|
|
42
|
+
prerenderConfigGlobal.isPrerenderingEnabled = true;
|
|
29
43
|
return prerenderConfigGlobal;
|
|
30
44
|
}
|
|
31
45
|
function resolvePrerenderConfigLocal(pageConfig) {
|
|
@@ -35,13 +49,14 @@ function resolvePrerenderConfigLocal(pageConfig) {
|
|
|
35
49
|
const values = configValue.value;
|
|
36
50
|
(0, utils_js_1.assert)((0, utils_js_1.isArray)(values));
|
|
37
51
|
const value = values[0];
|
|
52
|
+
// TODO/now I believe this assert() can fail
|
|
38
53
|
(0, utils_js_1.assert)(typeof value === 'boolean');
|
|
39
54
|
(0, utils_js_1.assert)((0, utils_js_1.isArray)(configValue.definedAtData));
|
|
40
55
|
const prerenderConfigLocal = { value };
|
|
41
56
|
return prerenderConfigLocal;
|
|
42
57
|
}
|
|
43
|
-
function isObject2(
|
|
44
|
-
return typeof
|
|
58
|
+
function isObject2(value) {
|
|
59
|
+
return typeof value === 'object' && value !== null;
|
|
45
60
|
}
|
|
46
61
|
function pickFirst(arr) {
|
|
47
62
|
return arr.filter((v) => v !== undefined)[0];
|
|
@@ -76,7 +76,7 @@ async function runPrerenderFromAPI(options = {}) {
|
|
|
76
76
|
}
|
|
77
77
|
async function runPrerenderFromCLIPrerenderCommand() {
|
|
78
78
|
try {
|
|
79
|
-
const { viteConfigEnhanced } = await (0, prepareViteApiCall_js_1.prepareViteApiCall)(
|
|
79
|
+
const { viteConfigEnhanced } = await (0, prepareViteApiCall_js_1.prepareViteApiCall)({}, 'prerender');
|
|
80
80
|
await runPrerender({ viteConfig: viteConfigEnhanced }, '$ vike prerender');
|
|
81
81
|
}
|
|
82
82
|
catch (err) {
|
|
@@ -113,7 +113,7 @@ async function runPrerender(options = {}, standaloneTrigger) {
|
|
|
113
113
|
(0, getHook_js_1.getHook_setIsPrerenderering)();
|
|
114
114
|
const logLevel = !!options.onPagePrerender ? 'warn' : 'info';
|
|
115
115
|
if (logLevel === 'info') {
|
|
116
|
-
console.log(`${picocolors_1.default.cyan(`vike v${utils_js_1.
|
|
116
|
+
console.log(`${picocolors_1.default.cyan(`vike v${utils_js_1.PROJECT_VERSION}`)} ${picocolors_1.default.green('pre-rendering HTML...')}`);
|
|
117
117
|
}
|
|
118
118
|
await disableReactStreaming();
|
|
119
119
|
const viteConfig = await (0, vite_1.resolveConfig)(options.viteConfig || {}, 'build', 'production');
|
|
@@ -122,13 +122,11 @@ async function runPrerender(options = {}, standaloneTrigger) {
|
|
|
122
122
|
const { root } = viteConfig;
|
|
123
123
|
const prerenderConfigGlobal = (0, resolvePrerenderConfig_js_1.resolvePrerenderConfigGlobal)(vikeConfig);
|
|
124
124
|
validatePrerenderConfig(prerenderConfigGlobal);
|
|
125
|
-
const { partial, noExtraDir, parallel, defaultLocalValue,
|
|
126
|
-
if (!
|
|
125
|
+
const { partial, noExtraDir, parallel, defaultLocalValue, isPrerenderingEnabled } = prerenderConfigGlobal;
|
|
126
|
+
if (!isPrerenderingEnabled) {
|
|
127
127
|
(0, utils_js_1.assert)(standaloneTrigger);
|
|
128
|
-
// TODO/now: make it assertUsage() and remove dist/server/entry.mjs
|
|
129
|
-
(0, utils_js_1.assertWarning)(
|
|
130
|
-
onlyOnce: true
|
|
131
|
-
});
|
|
128
|
+
// TODO/now: make it assertUsage() and remove dist/server/entry.mjs if pre-rendering is completely disabled
|
|
129
|
+
(0, utils_js_1.assertWarning)(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.`, { onlyOnce: true });
|
|
132
130
|
}
|
|
133
131
|
const concurrencyLimit = (0, utils_js_1.pLimit)(parallel === false || parallel === 0 ? 1 : parallel === true || parallel === undefined ? (0, os_1.cpus)().length : parallel);
|
|
134
132
|
await (0, globalContext_js_1.initGlobalContext_runPrerender)();
|
|
@@ -18,7 +18,7 @@ const assertIsNotBrowser_js_1 = require("../../utils/assertIsNotBrowser.js");
|
|
|
18
18
|
(0, assertIsNotBrowser_js_1.assertIsNotBrowser)();
|
|
19
19
|
__exportStar(require("../../utils/assert.js"), exports);
|
|
20
20
|
__exportStar(require("../../utils/hasProp.js"), exports);
|
|
21
|
-
__exportStar(require("../../utils/
|
|
21
|
+
__exportStar(require("../../utils/PROJECT_VERSION.js"), exports);
|
|
22
22
|
__exportStar(require("../../utils/objectAssign.js"), exports);
|
|
23
23
|
__exportStar(require("../../utils/isObjectWithKeys.js"), exports);
|
|
24
24
|
__exportStar(require("../../utils/isCallable.js"), exports);
|
|
@@ -92,9 +92,10 @@ function makePublic(globalContext) {
|
|
|
92
92
|
async function setGlobalContext_viteDevServer(viteDevServer) {
|
|
93
93
|
debug('setGlobalContext_viteDevServer()');
|
|
94
94
|
setIsProduction(false);
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
assertIsNotInitilizedYet()
|
|
95
|
+
/* We cannot cache globalObject.viteDevServer because it's fully replaced when the user modifies vite.config.js => Vite's dev server is fully reloaded and a new viteDevServer replaces the previous one.
|
|
96
|
+
if (globalObject.viteDevServer) return
|
|
97
|
+
assertIsNotInitilizedYet()
|
|
98
|
+
*/
|
|
98
99
|
(0, utils_js_1.assert)(globalObject.viteConfig);
|
|
99
100
|
globalObject.viteDevServer = viteDevServer;
|
|
100
101
|
await updateUserFiles();
|
|
@@ -354,7 +355,7 @@ function assertBuildInfo(buildInfo) {
|
|
|
354
355
|
(0, utils_js_1.checkType)({ ...buildInfo, viteConfigRuntime: buildInfo.viteConfigRuntime });
|
|
355
356
|
}
|
|
356
357
|
function assertVersionAtBuildTime(versionAtBuildTime) {
|
|
357
|
-
const versionAtRuntime = utils_js_1.
|
|
358
|
+
const versionAtRuntime = utils_js_1.PROJECT_VERSION;
|
|
358
359
|
const pretty = (version) => picocolors_1.default.bold(`vike@${version}`);
|
|
359
360
|
(0, utils_js_1.assertUsage)(versionAtBuildTime === versionAtRuntime, `Re-build your app (you're using ${pretty(versionAtRuntime)} but your app was built with ${pretty(versionAtBuildTime)})`);
|
|
360
361
|
}
|
|
@@ -372,7 +373,7 @@ async function updateUserFiles() {
|
|
|
372
373
|
const { promise, resolve } = (0, utils_js_1.genPromise)();
|
|
373
374
|
(0, utils_js_1.assert)(!globalObject.isProduction);
|
|
374
375
|
globalObject.waitForUserFilesUpdate = promise;
|
|
375
|
-
const viteDevServer =
|
|
376
|
+
const { viteDevServer } = globalObject;
|
|
376
377
|
(0, utils_js_1.assert)(viteDevServer);
|
|
377
378
|
let virtualFileExports;
|
|
378
379
|
try {
|
|
@@ -384,6 +385,9 @@ async function updateUserFiles() {
|
|
|
384
385
|
}
|
|
385
386
|
virtualFileExports = virtualFileExports.default || virtualFileExports;
|
|
386
387
|
(0, utils_js_1.debugGlob)('Glob result: ', virtualFileExports);
|
|
388
|
+
// Avoid race condition: abort if there is a new globalObject.viteDevServer (happens when vite.config.js is modified => Vite's dev server is fully reloaded).
|
|
389
|
+
if (viteDevServer !== globalObject.viteDevServer)
|
|
390
|
+
return;
|
|
387
391
|
await setUserFiles(virtualFileExports);
|
|
388
392
|
resolve();
|
|
389
393
|
}
|
|
@@ -164,6 +164,13 @@ function getStreamReadableWeb(htmlRender) {
|
|
|
164
164
|
if (isStreamReadableWeb(htmlRender)) {
|
|
165
165
|
return htmlRender;
|
|
166
166
|
}
|
|
167
|
+
if (isStreamPipeWeb(htmlRender)) {
|
|
168
|
+
const streamPipeWeb = getStreamPipeWeb(htmlRender);
|
|
169
|
+
(0, utils_js_1.assert)(streamPipeWeb);
|
|
170
|
+
const { readable, writable } = new TransformStream();
|
|
171
|
+
streamPipeWeb(writable);
|
|
172
|
+
return readable;
|
|
173
|
+
}
|
|
167
174
|
return null;
|
|
168
175
|
}
|
|
169
176
|
function pipeToStreamWritableWeb(htmlRender, writable) {
|
|
@@ -9,20 +9,28 @@ const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
|
9
9
|
const globalObject = (0, utils_js_1.getGlobalObject)('createHttpResponse/assertNoInfiniteHttpRedirect.ts', {
|
|
10
10
|
redirectGraph: {}
|
|
11
11
|
});
|
|
12
|
-
|
|
12
|
+
// It's too strict, see https://github.com/vikejs/vike/issues/1270#issuecomment-1820608999
|
|
13
|
+
// - Let's create a new setting `+doNotCatchInfiniteRedirect` if someone complains.
|
|
14
|
+
function assertNoInfiniteHttpRedirect(
|
|
15
|
+
// The exact URL that the user will be redirected to.
|
|
16
|
+
// - It includes the Base URL as well as the locale (i18n) base.
|
|
17
|
+
urlRedirectTarget,
|
|
18
|
+
// Rationale for checking against `pageContextInit.urlOriginal`: https://github.com/vikejs/vike/pull/2264#issuecomment-2713890263
|
|
19
|
+
pageContextInit) {
|
|
13
20
|
if (!urlRedirectTarget.startsWith('/')) {
|
|
14
|
-
// 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).
|
|
15
|
-
// - There isn't a reliable way to check whether the redirect points to an external origin or the same origin
|
|
21
|
+
// 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).
|
|
22
|
+
// - 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.
|
|
16
23
|
// ```js
|
|
17
24
|
// // For same-origin, the user usually/hopefully passes a URL without origin
|
|
18
25
|
// renderPage({ urlOriginal: '/some/pathname' })
|
|
19
26
|
// ```
|
|
20
27
|
return;
|
|
21
28
|
}
|
|
22
|
-
(0, utils_js_1.
|
|
29
|
+
const urlOriginalNormalized = (0, utils_js_1.removeUrlOrigin)(pageContextInit.urlOriginal).urlModified;
|
|
30
|
+
(0, utils_js_1.assert)(urlOriginalNormalized.startsWith('/'));
|
|
23
31
|
const graph = copy(globalObject.redirectGraph);
|
|
24
32
|
graph[urlRedirectTarget] ?? (graph[urlRedirectTarget] = new Set());
|
|
25
|
-
graph[urlRedirectTarget].add(
|
|
33
|
+
graph[urlRedirectTarget].add(urlOriginalNormalized);
|
|
26
34
|
validate(graph);
|
|
27
35
|
globalObject.redirectGraph = graph;
|
|
28
36
|
}
|
|
@@ -84,10 +84,8 @@ async function createHttpResponsePageContextJson(pageContextSerialized) {
|
|
|
84
84
|
const httpResponse = createHttpResponse(200, 'application/json', [], pageContextSerialized, [], null);
|
|
85
85
|
return httpResponse;
|
|
86
86
|
}
|
|
87
|
-
function createHttpResponseRedirect({ url, statusCode },
|
|
88
|
-
|
|
89
|
-
urlLogical) {
|
|
90
|
-
(0, assertNoInfiniteHttpRedirect_js_1.assertNoInfiniteHttpRedirect)(url, urlLogical);
|
|
87
|
+
function createHttpResponseRedirect({ url, statusCode }, pageContextInit) {
|
|
88
|
+
(0, assertNoInfiniteHttpRedirect_js_1.assertNoInfiniteHttpRedirect)(url, pageContextInit);
|
|
91
89
|
(0, utils_js_1.assert)(url);
|
|
92
90
|
(0, utils_js_1.assert)(statusCode);
|
|
93
91
|
(0, utils_js_1.assert)(300 <= statusCode && statusCode <= 399);
|
|
@@ -27,6 +27,10 @@ const errorsMisc = [
|
|
|
27
27
|
errMsg: 'assets.json',
|
|
28
28
|
link: 'https://vike.dev/getGlobalContext',
|
|
29
29
|
mustMentionNodeModules: false
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
errMsg: 'ERR_UNKNOWN_FILE_EXTENSION',
|
|
33
|
+
link: 'https://vike.dev/broken-npm-package#err-unknown-file-extension'
|
|
30
34
|
}
|
|
31
35
|
];
|
|
32
36
|
const reactInvalidEelement = 'https://vike.dev/broken-npm-package#react-invalid-component';
|
|
@@ -77,7 +81,8 @@ const errorsCjsEsm = [
|
|
|
77
81
|
{ errMsg: 'exports is not defined' },
|
|
78
82
|
{ errMsg: 'module is not defined' },
|
|
79
83
|
{ errMsg: 'not defined in ES' },
|
|
80
|
-
{ errMsg: "Unexpected token 'export'" }
|
|
84
|
+
{ errMsg: "Unexpected token 'export'" },
|
|
85
|
+
{ errMsg: 'Failed to resolve entry for package' }
|
|
81
86
|
];
|
|
82
87
|
function logErrorHint(error) {
|
|
83
88
|
/* Collect errors for ./logErrorHint.spec.ts
|
|
@@ -346,7 +346,7 @@ async function normalizeUrl(pageContextInit, globalContext, httpRequestId) {
|
|
|
346
346
|
if (!urlNormalized)
|
|
347
347
|
return null;
|
|
348
348
|
(0, loggerRuntime_js_1.logRuntimeInfo)?.(`URL normalized from ${picocolors_1.default.cyan(urlOriginal)} to ${picocolors_1.default.cyan(urlNormalized)} (https://vike.dev/url-normalization)`, httpRequestId, 'info');
|
|
349
|
-
const httpResponse = (0, createHttpResponse_js_1.createHttpResponseRedirect)({ url: urlNormalized, statusCode: 301 }, pageContextInit
|
|
349
|
+
const httpResponse = (0, createHttpResponse_js_1.createHttpResponseRedirect)({ url: urlNormalized, statusCode: 301 }, pageContextInit);
|
|
350
350
|
const pageContextHttpResponse = createPageContext(pageContextInit);
|
|
351
351
|
(0, utils_js_1.objectAssign)(pageContextHttpResponse, { httpResponse });
|
|
352
352
|
return pageContextHttpResponse;
|
|
@@ -388,7 +388,7 @@ async function getPermanentRedirect(pageContextInit, globalContext, httpRequestI
|
|
|
388
388
|
(0, utils_js_1.assert)(urlTarget !== pageContextInit.urlOriginal);
|
|
389
389
|
}
|
|
390
390
|
(0, loggerRuntime_js_1.logRuntimeInfo)?.(`Permanent redirection defined by config.redirects (https://vike.dev/redirects)`, httpRequestId, 'info');
|
|
391
|
-
const httpResponse = (0, createHttpResponse_js_1.createHttpResponseRedirect)({ url: urlTarget, statusCode: 301 },
|
|
391
|
+
const httpResponse = (0, createHttpResponse_js_1.createHttpResponseRedirect)({ url: urlTarget, statusCode: 301 }, pageContextInit);
|
|
392
392
|
const pageContextHttpResponse = createPageContext(pageContextInit);
|
|
393
393
|
(0, utils_js_1.objectAssign)(pageContextHttpResponse, { httpResponse });
|
|
394
394
|
return pageContextHttpResponse;
|
|
@@ -396,7 +396,9 @@ async function getPermanentRedirect(pageContextInit, globalContext, httpRequestI
|
|
|
396
396
|
function normalize(url) {
|
|
397
397
|
return url || '/';
|
|
398
398
|
}
|
|
399
|
-
async function handleAbortError(errAbort, pageContextsFromRewrite,
|
|
399
|
+
async function handleAbortError(errAbort, pageContextsFromRewrite,
|
|
400
|
+
// The original `pageContextInit` object passed to `renderPage(pageContextInit)`
|
|
401
|
+
pageContextInit,
|
|
400
402
|
// handleAbortError() creates a new pageContext object and we don't merge pageContextNominalPageInit to it: we only use some pageContextNominalPageInit information.
|
|
401
403
|
pageContextNominalPageInit, httpRequestId, pageContextErrorPageInit, globalContext) {
|
|
402
404
|
(0, abort_js_1.logAbortErrorHandled)(errAbort, globalContext.isProduction, pageContextNominalPageInit);
|
|
@@ -434,13 +436,7 @@ pageContextNominalPageInit, httpRequestId, pageContextErrorPageInit, globalConte
|
|
|
434
436
|
if (pageContextAbort._urlRedirect) {
|
|
435
437
|
const pageContextReturn = createPageContext(pageContextInit);
|
|
436
438
|
(0, utils_js_1.objectAssign)(pageContextReturn, pageContextAbort);
|
|
437
|
-
const httpResponse = (0, createHttpResponse_js_1.createHttpResponseRedirect)(pageContextAbort._urlRedirect,
|
|
438
|
-
const { pathname, searchOriginal } = pageContextNominalPageInit.urlParsed;
|
|
439
|
-
const urlLogical = (0, utils_js_1.createUrlFromComponents)(null, pathname, searchOriginal,
|
|
440
|
-
// The server-side doesn't have access to the hash
|
|
441
|
-
null);
|
|
442
|
-
return urlLogical;
|
|
443
|
-
})());
|
|
439
|
+
const httpResponse = (0, createHttpResponse_js_1.createHttpResponseRedirect)(pageContextAbort._urlRedirect, pageContextInit);
|
|
444
440
|
(0, utils_js_1.objectAssign)(pageContextReturn, { httpResponse });
|
|
445
441
|
return { pageContextReturn };
|
|
446
442
|
}
|
|
@@ -31,7 +31,6 @@ __exportStar(require("../../utils/parseUrl.js"), exports);
|
|
|
31
31
|
__exportStar(require("../../utils/parseUrl-extras.js"), exports);
|
|
32
32
|
__exportStar(require("../../utils/slice.js"), exports);
|
|
33
33
|
__exportStar(require("../../utils/sorter.js"), exports);
|
|
34
|
-
__exportStar(require("../../utils/projectInfo.js"), exports);
|
|
35
34
|
__exportStar(require("../../utils/isArray.js"), exports);
|
|
36
35
|
__exportStar(require("../../utils/isObject.js"), exports);
|
|
37
36
|
__exportStar(require("../../utils/objectAssign.js"), exports);
|
|
@@ -11,16 +11,18 @@ const globalContext_js_1 = require("../runtime/globalContext.js");
|
|
|
11
11
|
*/
|
|
12
12
|
async function createDevMiddleware(options = {}) {
|
|
13
13
|
(0, globalContext_js_1.setGlobalContext_isProduction)(false);
|
|
14
|
-
const
|
|
15
|
-
...options
|
|
16
|
-
|
|
17
|
-
...options.viteConfig
|
|
18
|
-
|
|
14
|
+
const optionsMod = {
|
|
15
|
+
...options,
|
|
16
|
+
viteConfig: {
|
|
17
|
+
...options.viteConfig,
|
|
18
|
+
root: options.root ?? options.viteConfig?.root,
|
|
19
|
+
server: {
|
|
20
|
+
...options.viteConfig?.server,
|
|
21
|
+
middlewareMode: options.viteConfig?.server?.middlewareMode ?? true
|
|
22
|
+
}
|
|
19
23
|
}
|
|
20
24
|
};
|
|
21
|
-
|
|
22
|
-
viteConfigFromOptions.root = options.root;
|
|
23
|
-
const { viteConfigEnhanced } = await (0, prepareViteApiCall_js_1.prepareViteApiCall)(viteConfigFromOptions, 'dev');
|
|
25
|
+
const { viteConfigEnhanced } = await (0, prepareViteApiCall_js_1.prepareViteApiCall)(optionsMod, 'dev');
|
|
24
26
|
const server = await (0, vite_1.createServer)(viteConfigEnhanced);
|
|
25
27
|
const devMiddleware = server.middlewares;
|
|
26
28
|
return { devMiddleware, viteServer: server, viteConfig: server.config };
|
|
@@ -12,7 +12,8 @@ function assertV1Design(pageConfigs, pageFilesAll) {
|
|
|
12
12
|
(0, utils_js_1.assert)(pageConfigs.length > 0);
|
|
13
13
|
const filesV1 = (0, utils_js_1.unique)(pageConfigs
|
|
14
14
|
.map((p) => Object.values(p.configValueSources).map((sources) => sources
|
|
15
|
-
.map((c) => c.definedAtFilePath
|
|
15
|
+
.map((c) => c.definedAtFilePath)
|
|
16
|
+
.map((definedAt) => (definedAt.definedBy ? null : definedAt.filePathAbsoluteUserRootDir))
|
|
16
17
|
.filter(utils_js_1.isNotNullish)
|
|
17
18
|
.map((filePathToShowToUser) => indent + filePathToShowToUser)))
|
|
18
19
|
.flat(2));
|
|
@@ -19,7 +19,6 @@ const assertIsNotBrowser_js_1 = require("../../utils/assertIsNotBrowser.js");
|
|
|
19
19
|
__exportStar(require("../../utils/assert.js"), exports);
|
|
20
20
|
__exportStar(require("../../utils/getFileExtension.js"), exports);
|
|
21
21
|
__exportStar(require("../../utils/isPlainObject.js"), exports);
|
|
22
|
-
__exportStar(require("../../utils/projectInfo.js"), exports);
|
|
23
22
|
__exportStar(require("../../utils/checkType.js"), exports);
|
|
24
23
|
__exportStar(require("../../utils/hasProp.js"), exports);
|
|
25
24
|
__exportStar(require("../../utils/objectAssign.js"), exports);
|
|
@@ -33,8 +33,10 @@ function getDefinedAtString(definedAtData, configName) {
|
|
|
33
33
|
}
|
|
34
34
|
(0, utils_js_1.assert)(files.length >= 1);
|
|
35
35
|
const definedAtString = files
|
|
36
|
-
.map((
|
|
37
|
-
|
|
36
|
+
.map((definedAt) => {
|
|
37
|
+
if (definedAt.definedBy)
|
|
38
|
+
return getDefinedByString(definedAt, configName);
|
|
39
|
+
const { filePathToShowToUser, fileExportPathToShowToUser } = definedAt;
|
|
38
40
|
let s = filePathToShowToUser;
|
|
39
41
|
const exportPath = (0, getExportPath_js_1.getExportPath)(fileExportPathToShowToUser, configName);
|
|
40
42
|
if (exportPath) {
|
|
@@ -45,3 +47,17 @@ function getDefinedAtString(definedAtData, configName) {
|
|
|
45
47
|
.join(' / ');
|
|
46
48
|
return definedAtString;
|
|
47
49
|
}
|
|
50
|
+
function getDefinedByString(definedAt, configName) {
|
|
51
|
+
if (definedAt.definedBy === 'api') {
|
|
52
|
+
return `API call ${picocolors_1.default.cyan(`${definedAt.operation}({${configName}})`)}`;
|
|
53
|
+
}
|
|
54
|
+
const { definedBy } = definedAt;
|
|
55
|
+
if (definedBy === 'cli') {
|
|
56
|
+
return `CLI option ${picocolors_1.default.cyan(`--${configName}`)}`;
|
|
57
|
+
}
|
|
58
|
+
if (definedBy === 'env') {
|
|
59
|
+
return `environment variable ${picocolors_1.default.cyan(`VIKE_OPTIONS="{${configName}}"`)}`;
|
|
60
|
+
}
|
|
61
|
+
(0, utils_js_1.checkType)(definedBy);
|
|
62
|
+
(0, utils_js_1.assert)(false);
|
|
63
|
+
}
|
|
@@ -33,7 +33,7 @@ function getConfigValue(pageConfig, configName) {
|
|
|
33
33
|
return {
|
|
34
34
|
type: 'standard',
|
|
35
35
|
value: configValueSource.value,
|
|
36
|
-
definedAtData:
|
|
36
|
+
definedAtData: getDefinedAt(configValueSource)
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
39
|
else {
|
|
@@ -53,13 +53,16 @@ function mergeCumulative(configValueSources) {
|
|
|
53
53
|
(0, utils_js_1.assert)(configValueSource.configEnv.config === true);
|
|
54
54
|
(0, utils_js_1.assert)(configValueSource.valueIsLoaded);
|
|
55
55
|
value.push(configValueSource.value);
|
|
56
|
-
definedAtData.push(
|
|
56
|
+
definedAtData.push(getDefinedAt(configValueSource));
|
|
57
57
|
});
|
|
58
58
|
return { value, definedAtData };
|
|
59
59
|
}
|
|
60
|
-
function
|
|
60
|
+
function getDefinedAt(configValueSource) {
|
|
61
|
+
const { definedAtFilePath } = configValueSource;
|
|
62
|
+
if (definedAtFilePath.definedBy)
|
|
63
|
+
return definedAtFilePath;
|
|
61
64
|
return {
|
|
62
|
-
filePathToShowToUser:
|
|
63
|
-
fileExportPathToShowToUser:
|
|
65
|
+
filePathToShowToUser: definedAtFilePath.filePathToShowToUser,
|
|
66
|
+
fileExportPathToShowToUser: definedAtFilePath.fileExportPathToShowToUser
|
|
64
67
|
};
|
|
65
68
|
}
|
|
@@ -14,7 +14,7 @@ function getConfigValueFilePathToShowToUser(definedAtData) {
|
|
|
14
14
|
// A unique file path only exists if the config value isn't cumulative nor computed:
|
|
15
15
|
// - cumulative config values have multiple file paths
|
|
16
16
|
// - computed values don't have any file path
|
|
17
|
-
if (!definedAtData || (0, utils_js_1.isArray)(definedAtData))
|
|
17
|
+
if (!definedAtData || (0, utils_js_1.isArray)(definedAtData) || definedAtData.definedBy)
|
|
18
18
|
return null;
|
|
19
19
|
const { filePathToShowToUser } = definedAtData;
|
|
20
20
|
(0, utils_js_1.assert)(filePathToShowToUser);
|
|
@@ -6,10 +6,6 @@ const utils_js_1 = require("../../utils.js");
|
|
|
6
6
|
const getConfigDefinedAt_js_1 = require("../getConfigDefinedAt.js");
|
|
7
7
|
const parse_1 = require("@brillout/json-serializer/parse");
|
|
8
8
|
const assertPlusFileExport_js_1 = require("../assertPlusFileExport.js");
|
|
9
|
-
function parseConfigValuesSerialized(configValuesSerialized) {
|
|
10
|
-
const configValues = parseConfigValuesSerialized_tmp(configValuesSerialized);
|
|
11
|
-
return configValues;
|
|
12
|
-
}
|
|
13
9
|
function parsePageConfigs(pageConfigsSerialized, pageConfigGlobalSerialized) {
|
|
14
10
|
// pageConfigs
|
|
15
11
|
const pageConfigs = pageConfigsSerialized.map((pageConfigSerialized) => {
|
|
@@ -45,7 +41,7 @@ function assertRouteConfigValue(configValues) {
|
|
|
45
41
|
}
|
|
46
42
|
*/
|
|
47
43
|
}
|
|
48
|
-
function
|
|
44
|
+
function parseConfigValuesSerialized(configValuesSerialized) {
|
|
49
45
|
const configValues = {};
|
|
50
46
|
Object.entries(configValuesSerialized).forEach(([configName, configValueSeriliazed]) => {
|
|
51
47
|
let configValue;
|
|
@@ -102,6 +98,7 @@ function parseValueSerialized(valueSerialized, configName, getDefinedAtFile) {
|
|
|
102
98
|
if (valueSerialized.type === 'plus-file') {
|
|
103
99
|
const definedAtFile = getDefinedAtFile();
|
|
104
100
|
const { exportValues } = valueSerialized;
|
|
101
|
+
(0, utils_js_1.assert)(!definedAtFile.definedBy);
|
|
105
102
|
(0, assertPlusFileExport_js_1.assertPlusFileExport)(exportValues, definedAtFile.filePathToShowToUser, configName);
|
|
106
103
|
let value;
|
|
107
104
|
let valueWasFound = false;
|
|
@@ -104,6 +104,7 @@ function serializeConfigValue(configValueBase, valueData, configName, lines, tab
|
|
|
104
104
|
function getValueSerializedWithImport(configValueSource, importStatements, filesEnv, configName) {
|
|
105
105
|
(0, utils_js_1.assert)(!configValueSource.valueIsFilePath);
|
|
106
106
|
const { valueIsDefinedByPlusValueFile, definedAtFilePath, configEnv } = configValueSource;
|
|
107
|
+
(0, utils_js_1.assert)(!definedAtFilePath.definedBy);
|
|
107
108
|
const { filePathAbsoluteVite, fileExportName } = definedAtFilePath;
|
|
108
109
|
if (valueIsDefinedByPlusValueFile)
|
|
109
110
|
(0, utils_js_1.assert)(fileExportName === undefined);
|
|
@@ -231,9 +232,12 @@ function getConfigValuesBase(pageConfig, isEnvMatch, isEager) {
|
|
|
231
232
|
return [...fromComputed, ...fromSources].filter((r) => r !== 'SKIP');
|
|
232
233
|
}
|
|
233
234
|
function getDefinedAtFileSource(source) {
|
|
235
|
+
const { definedAtFilePath } = source;
|
|
236
|
+
if (definedAtFilePath.definedBy)
|
|
237
|
+
return definedAtFilePath;
|
|
234
238
|
const definedAtFile = {
|
|
235
|
-
filePathToShowToUser:
|
|
236
|
-
fileExportPathToShowToUser:
|
|
239
|
+
filePathToShowToUser: definedAtFilePath.filePathToShowToUser,
|
|
240
|
+
fileExportPathToShowToUser: definedAtFilePath.fileExportPathToShowToUser
|
|
237
241
|
};
|
|
238
242
|
return definedAtFile;
|
|
239
243
|
}
|
|
@@ -62,11 +62,11 @@ function getPageRoutes(filesystemRoots, pageFilesAll, pageConfigs, allPageIds) {
|
|
|
62
62
|
if (!pageRoute) {
|
|
63
63
|
const { routeFilesystem } = pageConfig;
|
|
64
64
|
(0, utils_js_1.assert)(routeFilesystem);
|
|
65
|
-
const { routeString,
|
|
65
|
+
const { routeString, definedAtLocation } = routeFilesystem;
|
|
66
66
|
(0, utils_js_1.assert)(routeFilesystem.routeString.startsWith('/'));
|
|
67
67
|
pageRoute = {
|
|
68
68
|
pageId,
|
|
69
|
-
routeFilesystemDefinedBy:
|
|
69
|
+
routeFilesystemDefinedBy: definedAtLocation,
|
|
70
70
|
comesFromV1PageConfig,
|
|
71
71
|
routeString,
|
|
72
72
|
routeDefinedAtString: null,
|
package/dist/cjs/utils/assert.js
CHANGED
|
@@ -17,7 +17,7 @@ const assertSingleInstance_js_1 = require("./assertSingleInstance.js");
|
|
|
17
17
|
const createErrorWithCleanStackTrace_js_1 = require("./createErrorWithCleanStackTrace.js");
|
|
18
18
|
const getGlobalObject_js_1 = require("./getGlobalObject.js");
|
|
19
19
|
const isObject_js_1 = require("./isObject.js");
|
|
20
|
-
const
|
|
20
|
+
const PROJECT_VERSION_js_1 = require("./PROJECT_VERSION.js");
|
|
21
21
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
22
22
|
const globalObject = (0, getGlobalObject_js_1.getGlobalObject)('utils/assert.ts', {
|
|
23
23
|
alreadyLogged: new Set(),
|
|
@@ -34,7 +34,7 @@ const globalObject = (0, getGlobalObject_js_1.getGlobalObject)('utils/assert.ts'
|
|
|
34
34
|
});
|
|
35
35
|
(0, assertSingleInstance_js_1.assertSingleInstance_onAssertModuleLoad)();
|
|
36
36
|
const projectTag = `[vike]`;
|
|
37
|
-
const projectTagWithVersion = `[vike@${
|
|
37
|
+
const projectTagWithVersion = `[vike@${PROJECT_VERSION_js_1.PROJECT_VERSION}]`;
|
|
38
38
|
const bugTag = 'Bug';
|
|
39
39
|
const numberOfStackTraceLinesToRemove = 2;
|
|
40
40
|
function assert(condition, debugInfo) {
|