vike 0.4.221 → 0.4.222-commit-6647d1e
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/prepareViteApiCall.js +18 -16
- package/dist/cjs/node/plugin/index.js +1 -1
- package/dist/cjs/node/plugin/plugins/baseUrls.js +6 -1
- package/dist/cjs/node/plugin/plugins/buildConfig/fixServerAssets.js +8 -10
- package/dist/cjs/node/plugin/plugins/buildConfig.js +0 -1
- package/dist/cjs/node/plugin/plugins/commonConfig.js +4 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/index.js +73 -39
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +64 -14
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js +0 -5
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.js +2 -40
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +1 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +6 -3
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +45 -21
- package/dist/cjs/node/runtime/globalContext.js +24 -8
- package/dist/cjs/node/runtime/renderPage/loadUserFilesServerSide.js +3 -3
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +2 -4
- package/dist/cjs/node/runtime/renderPage.js +4 -8
- package/dist/cjs/node/runtime-dev/createDevMiddleware.js +3 -3
- package/dist/cjs/node/shared/resolveBase.js +0 -13
- package/dist/cjs/shared/getPageConfigsRuntime.js +5 -2
- package/dist/cjs/shared/page-configs/getPageConfigUserFriendly.js +45 -11
- package/dist/cjs/shared/page-configs/serialize/parsePageConfigs.js +2 -8
- package/dist/cjs/shared/route/loadPageRoutes.js +1 -1
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/assertSingleInstance.js +1 -1
- package/dist/cjs/utils/debug.js +9 -6
- package/dist/esm/client/client-routing-runtime/getPageContextCurrent.d.ts +2 -2
- package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.d.ts +4 -4
- package/dist/esm/client/client-routing-runtime/prefetch/getPrefetchSettings.d.ts +2 -2
- package/dist/esm/client/client-routing-runtime/prefetch.d.ts +2 -2
- package/dist/esm/client/client-routing-runtime/prefetch.js +3 -3
- package/dist/esm/client/client-routing-runtime/renderPageClientSide.d.ts +5 -0
- package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +9 -2
- package/dist/esm/client/server-routing-runtime/getPageContext.d.ts +2 -1
- package/dist/esm/client/server-routing-runtime/getPageContext.js +4 -3
- package/dist/esm/client/shared/executeOnRenderClientHook.d.ts +2 -2
- package/dist/esm/client/shared/loadUserFilesClientSide.d.ts +5 -4
- package/dist/esm/client/shared/loadUserFilesClientSide.js +3 -3
- package/dist/esm/client/shared/preparePageContextForUserConsumptionClientSide.d.ts +2 -2
- package/dist/esm/node/api/prepareViteApiCall.d.ts +2 -2
- package/dist/esm/node/api/prepareViteApiCall.js +18 -16
- package/dist/esm/node/plugin/index.d.ts +4 -1
- package/dist/esm/node/plugin/index.js +1 -1
- package/dist/esm/node/plugin/plugins/baseUrls.js +6 -1
- package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.d.ts +0 -2
- package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.js +8 -10
- package/dist/esm/node/plugin/plugins/buildConfig.js +1 -2
- package/dist/esm/node/plugin/plugins/commonConfig.d.ts +1 -0
- package/dist/esm/node/plugin/plugins/commonConfig.js +4 -1
- package/dist/esm/node/plugin/plugins/importUserCode/index.js +73 -39
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.d.ts +4 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +65 -15
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.d.ts +0 -3
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js +0 -5
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.d.ts +0 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.js +2 -37
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.d.ts +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +6 -3
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +3 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +47 -23
- package/dist/esm/node/runtime/globalContext.d.ts +11 -8
- package/dist/esm/node/runtime/globalContext.js +24 -8
- package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.d.ts +2 -2
- package/dist/esm/node/runtime/html/injectAssets.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/analyzePage.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/getPageAssets.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.d.ts +3 -3
- package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.js +4 -4
- package/dist/esm/node/runtime/renderPage/log404/index.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +4 -4
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +12 -12
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +2 -4
- package/dist/esm/node/runtime/renderPage.js +4 -8
- package/dist/esm/node/runtime-dev/createDevMiddleware.js +3 -3
- package/dist/esm/node/shared/resolveBase.d.ts +1 -9
- package/dist/esm/node/shared/resolveBase.js +0 -13
- package/dist/esm/shared/getPageConfigsRuntime.d.ts +3 -2
- package/dist/esm/shared/getPageConfigsRuntime.js +6 -3
- package/dist/esm/shared/getPageFiles.d.ts +1 -1
- package/dist/esm/shared/hooks/getHook.d.ts +3 -3
- package/dist/esm/shared/page-configs/Config.d.ts +3 -1
- package/dist/esm/shared/page-configs/PageConfig.d.ts +9 -2
- package/dist/esm/shared/page-configs/getPageConfigUserFriendly.d.ts +24 -10
- package/dist/esm/shared/page-configs/getPageConfigUserFriendly.js +45 -11
- package/dist/esm/shared/page-configs/serialize/PageConfigSerialized.d.ts +3 -2
- package/dist/esm/shared/page-configs/serialize/parsePageConfigs.js +2 -8
- package/dist/esm/shared/route/executeGuardHook.d.ts +2 -2
- package/dist/esm/shared/route/loadPageRoutes.js +1 -1
- package/dist/esm/shared/types.d.ts +9 -0
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/assertSingleInstance.js +1 -1
- package/dist/esm/utils/debug.d.ts +1 -1
- package/dist/esm/utils/debug.js +9 -6
- package/dist/esm/utils/projectInfo.d.ts +1 -1
- package/package.json +1 -1
|
@@ -37,6 +37,7 @@ function reloadVikeConfig(config) {
|
|
|
37
37
|
const userRootDir = config.root;
|
|
38
38
|
const vikeVitePluginOptions = config._vikeVitePluginOptions;
|
|
39
39
|
(0, utils_js_1.assert)(vikeVitePluginOptions);
|
|
40
|
+
// TODO/now: unify with esbuildCache
|
|
40
41
|
vikeConfigDependencies.clear();
|
|
41
42
|
vikeConfigPromise = loadVikeConfig_withErrorHandling(userRootDir, true, vikeVitePluginOptions);
|
|
42
43
|
handleReloadSideEffects();
|
|
@@ -132,7 +133,8 @@ async function loadVikeConfig_withErrorHandling(userRootDir, isDev, vikeVitePlug
|
|
|
132
133
|
configDefinitions: {},
|
|
133
134
|
configValueSources: {}
|
|
134
135
|
},
|
|
135
|
-
global: (0, getPageConfigUserFriendly_js_1.
|
|
136
|
+
global: (0, getPageConfigUserFriendly_js_1.getPageConfigGlobalUserFriendly)({ pageConfigGlobalValues: {} }),
|
|
137
|
+
pages: {}
|
|
136
138
|
};
|
|
137
139
|
return dummyData;
|
|
138
140
|
}
|
|
@@ -141,15 +143,20 @@ async function loadVikeConfig_withErrorHandling(userRootDir, isDev, vikeVitePlug
|
|
|
141
143
|
async function loadVikeConfig(userRootDir, vikeVitePluginOptions) {
|
|
142
144
|
const esbuildCache = {};
|
|
143
145
|
const plusFilesAll = await (0, getPlusFilesAll_js_1.getPlusFilesAll)(userRootDir, esbuildCache);
|
|
144
|
-
assertKnownConfigs(plusFilesAll);
|
|
145
146
|
const configDefinitionsResolved = await resolveConfigDefinitions(plusFilesAll, userRootDir, esbuildCache);
|
|
147
|
+
assertKnownConfigs(configDefinitionsResolved, plusFilesAll);
|
|
146
148
|
const { pageConfigGlobal, pageConfigs } = getPageConfigsBuildTime(configDefinitionsResolved, plusFilesAll, userRootDir);
|
|
147
149
|
// interop vike(options) in vite.config.js
|
|
148
150
|
temp_interopVikeVitePlugin(pageConfigGlobal, vikeVitePluginOptions, userRootDir);
|
|
149
151
|
// global
|
|
150
|
-
const
|
|
151
|
-
const global = (0, getPageConfigUserFriendly_js_1.
|
|
152
|
-
|
|
152
|
+
const pageConfigGlobalValues = getConfigValues(pageConfigGlobal);
|
|
153
|
+
const global = (0, getPageConfigUserFriendly_js_1.getPageConfigGlobalUserFriendly)({ pageConfigGlobalValues });
|
|
154
|
+
// pages
|
|
155
|
+
const pages = (0, utils_js_1.objectFromEntries)(pageConfigs.map((pageConfig) => {
|
|
156
|
+
const pageConfigValues = getConfigValues(pageConfig, true);
|
|
157
|
+
return (0, getPageConfigUserFriendly_js_1.getPageConfigUserFriendly)(pageConfigGlobalValues, pageConfig, pageConfigValues);
|
|
158
|
+
}));
|
|
159
|
+
return { pageConfigs, pageConfigGlobal, global, pages };
|
|
153
160
|
}
|
|
154
161
|
async function resolveConfigDefinitions(plusFilesAll, userRootDir, esbuildCache) {
|
|
155
162
|
const configDefinitionsGlobal = getConfigDefinitions(
|
|
@@ -212,13 +219,12 @@ function getPageConfigsBuildTime(configDefinitionsResolved, plusFilesAll, userRo
|
|
|
212
219
|
return;
|
|
213
220
|
configValueSources[configName] = sources;
|
|
214
221
|
});
|
|
215
|
-
const
|
|
222
|
+
const pageConfigRoute = determineRouteFilesystem(locationId, configValueSources);
|
|
216
223
|
applyEffectsAll(configValueSources, configDefinitionsLocal);
|
|
217
224
|
const configValuesComputed = getComputed(configValueSources, configDefinitionsLocal);
|
|
218
225
|
const pageConfig = {
|
|
219
226
|
pageId: locationId,
|
|
220
|
-
|
|
221
|
-
routeFilesystem,
|
|
227
|
+
...pageConfigRoute,
|
|
222
228
|
configDefinitions: configDefinitionsLocal,
|
|
223
229
|
plusFiles: plusFilesRelevant,
|
|
224
230
|
configValueSources,
|
|
@@ -235,10 +241,9 @@ function assertPageConfigGlobal(pageConfigGlobal, plusFilesAll) {
|
|
|
235
241
|
});
|
|
236
242
|
}
|
|
237
243
|
function assertGlobalConfigLocation(configName, sources, plusFilesAll, configDefinitionsGlobal) {
|
|
238
|
-
const locationIdsAll = (0, utils_js_1.objectKeys)(plusFilesAll);
|
|
239
244
|
// Determine existing global +config.js files
|
|
240
245
|
const configFilePathsGlobal = [];
|
|
241
|
-
const plusFilesGlobal = Object.values((0, utils_js_1.objectFromEntries)((0, utils_js_1.objectEntries)(plusFilesAll).filter(([locationId]) =>
|
|
246
|
+
const plusFilesGlobal = Object.values((0, utils_js_1.objectFromEntries)((0, utils_js_1.objectEntries)(plusFilesAll).filter(([locationId]) => isGlobalLocation(locationId, plusFilesAll)))).flat();
|
|
242
247
|
plusFilesGlobal
|
|
243
248
|
.filter((i) => i.isConfigFile)
|
|
244
249
|
.forEach((plusFile) => {
|
|
@@ -257,7 +262,7 @@ function assertGlobalConfigLocation(configName, sources, plusFilesAll, configDef
|
|
|
257
262
|
if (!filePathAbsoluteUserRootDir)
|
|
258
263
|
return;
|
|
259
264
|
(0, utils_js_1.assert)(!plusFile.isExtensionConfig);
|
|
260
|
-
if (!
|
|
265
|
+
if (!isGlobalLocation(source.locationId, plusFilesAll)) {
|
|
261
266
|
const configDef = configDefinitionsGlobal[configName];
|
|
262
267
|
(0, utils_js_1.assert)(configDef);
|
|
263
268
|
const isConditionallyGlobal = (0, utils_js_1.isCallable)(configDef.global);
|
|
@@ -290,7 +295,7 @@ function assertOnBeforeRenderEnv(pageConfig) {
|
|
|
290
295
|
// When using Server Routing, loading a onBeforeRender() hook on the client-side hasn't any effect (the Server Routing's client runtime never calls it); it unnecessarily bloats client bundle sizes
|
|
291
296
|
(0, utils_js_1.assertUsage)(!(onBeforeRenderEnv.client && !isClientRouting), `Page ${pageConfig.pageId} has an onBeforeRender() hook with env ${picocolors_1.default.cyan(JSON.stringify(onBeforeRenderEnv))} which doesn't make sense because the page is using Server Routing: onBeforeRender() can be run in the client only when using Client Routing.`);
|
|
292
297
|
}
|
|
293
|
-
function getConfigValues(pageConfig) {
|
|
298
|
+
function getConfigValues(pageConfig, tolerateMissingValue) {
|
|
294
299
|
const configValues = {};
|
|
295
300
|
(0, serializeConfigValues_js_1.getConfigValuesBase)(pageConfig, (configEnv) => !!configEnv.config, null).forEach((entry) => {
|
|
296
301
|
if (entry.configValueBase.type === 'computed') {
|
|
@@ -301,7 +306,11 @@ function getConfigValues(pageConfig) {
|
|
|
301
306
|
if (entry.configValueBase.type === 'standard') {
|
|
302
307
|
(0, utils_js_1.assert)('sourceRelevant' in entry); // Help TS
|
|
303
308
|
const { configValueBase, sourceRelevant, configName } = entry;
|
|
304
|
-
(
|
|
309
|
+
if (!sourceRelevant.valueIsLoaded) {
|
|
310
|
+
if (tolerateMissingValue)
|
|
311
|
+
return;
|
|
312
|
+
(0, utils_js_1.assert)(false);
|
|
313
|
+
}
|
|
305
314
|
const { value } = sourceRelevant;
|
|
306
315
|
configValues[configName] = { ...configValueBase, value };
|
|
307
316
|
}
|
|
@@ -310,9 +319,18 @@ function getConfigValues(pageConfig) {
|
|
|
310
319
|
const { configValueBase, sourcesRelevant, configName } = entry;
|
|
311
320
|
const values = [];
|
|
312
321
|
sourcesRelevant.forEach((source) => {
|
|
313
|
-
(
|
|
322
|
+
if (!source.valueIsLoaded) {
|
|
323
|
+
if (tolerateMissingValue)
|
|
324
|
+
return;
|
|
325
|
+
(0, utils_js_1.assert)(false);
|
|
326
|
+
}
|
|
314
327
|
values.push(source.value);
|
|
315
328
|
});
|
|
329
|
+
if (values.length === 0) {
|
|
330
|
+
if (tolerateMissingValue)
|
|
331
|
+
return;
|
|
332
|
+
(0, utils_js_1.assert)(false);
|
|
333
|
+
}
|
|
316
334
|
configValues[configName] = { ...configValueBase, value: values };
|
|
317
335
|
}
|
|
318
336
|
});
|
|
@@ -357,10 +375,9 @@ function getPlusFilesRelevant(plusFilesAll, locationIdPage) {
|
|
|
357
375
|
return plusFilesRelevant;
|
|
358
376
|
}
|
|
359
377
|
function sortForGlobal(plusFilesAll) {
|
|
360
|
-
const locationIdsAll = (0, utils_js_1.objectKeys)(plusFilesAll);
|
|
361
378
|
const plusFilesAllSorted = Object.fromEntries((0, utils_js_1.objectEntries)(plusFilesAll)
|
|
362
379
|
.sort((0, utils_js_1.lowerFirst)(([locationId]) => locationId.split('/').length))
|
|
363
|
-
.sort((0, utils_js_1.makeFirst)(([locationId]) =>
|
|
380
|
+
.sort((0, utils_js_1.makeFirst)(([locationId]) => isGlobalLocation(locationId, plusFilesAll))));
|
|
364
381
|
return plusFilesAllSorted;
|
|
365
382
|
}
|
|
366
383
|
function resolveConfigValueSources(configName, configDef, plusFilesRelevant, userRootDir, isGlobal) {
|
|
@@ -754,13 +771,13 @@ function getComputed(configValueSources, configDefinitions) {
|
|
|
754
771
|
return configValuesComputed;
|
|
755
772
|
}
|
|
756
773
|
// Show error message upon unknown config
|
|
757
|
-
function assertKnownConfigs(plusFilesAll) {
|
|
774
|
+
function assertKnownConfigs(configDefinitionsResolved, plusFilesAll) {
|
|
758
775
|
const configDefinitionsAll = getConfigDefinitions(plusFilesAll);
|
|
759
776
|
const configNamesKnownAll = Object.keys(configDefinitionsAll);
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
const configDefinitionsLocal =
|
|
763
|
-
const configNamesKnownLocal = Object.keys(configDefinitionsLocal);
|
|
777
|
+
const configNamesGlobal = Object.keys(configDefinitionsResolved.configDefinitionsGlobal);
|
|
778
|
+
(0, utils_js_1.objectEntries)(configDefinitionsResolved.configDefinitionsLocal).forEach(([_locationId, { configDefinitions, plusFiles }]) => {
|
|
779
|
+
const configDefinitionsLocal = configDefinitions;
|
|
780
|
+
const configNamesKnownLocal = [...Object.keys(configDefinitionsLocal), ...configNamesGlobal];
|
|
764
781
|
plusFiles.forEach((plusFile) => {
|
|
765
782
|
const configNames = getDefiningConfigNames(plusFile);
|
|
766
783
|
configNames.forEach((configName) => {
|
|
@@ -932,3 +949,10 @@ function resolveConfigEnv(configEnv, filePath) {
|
|
|
932
949
|
}
|
|
933
950
|
return configEnvResolved;
|
|
934
951
|
}
|
|
952
|
+
/** Whether configs defined in `locationId` apply to every page */
|
|
953
|
+
function isGlobalLocation(locationId, plusFilesAll) {
|
|
954
|
+
const locationIdsPage = (0, utils_js_1.objectEntries)(plusFilesAll)
|
|
955
|
+
.filter(([_locationId, plusFiles]) => isDefiningPage(plusFiles))
|
|
956
|
+
.map(([locationId]) => locationId);
|
|
957
|
+
return locationIdsPage.every((locId) => (0, filesystemRouting_js_1.isInherited)(locationId, locId));
|
|
958
|
+
}
|
|
@@ -21,7 +21,7 @@ exports.assertBuildInfo = assertBuildInfo;
|
|
|
21
21
|
exports.getViteConfigRuntime = getViteConfigRuntime;
|
|
22
22
|
exports.updateUserFiles = updateUserFiles;
|
|
23
23
|
// The core logic revolves around:
|
|
24
|
-
// - globalObject.userFiles which is the main requirement for
|
|
24
|
+
// - globalObject.userFiles which is the main requirement for resolveGlobalContext()
|
|
25
25
|
// - In production: globalObject.buildEntry which is the production entry set by @brillout/vite-plugin-server-entry
|
|
26
26
|
// - loadBuildEntry() sets globalObject.buildEntry and then sets globalObject.userFiles
|
|
27
27
|
// - With vike-server it's set at server start: @brillout/vite-plugin-server-entry injects `import './entry.mjs'` (the production entry generated by @brillout/vite-plugin-server-entry) as first line of code of dist/server/index.mjs while dist/server/entry.mjs calls setGlobalContext_buildEntry()
|
|
@@ -35,6 +35,7 @@ const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
|
35
35
|
const loadPageRoutes_js_1 = require("../../shared/route/loadPageRoutes.js");
|
|
36
36
|
const assertV1Design_js_1 = require("../shared/assertV1Design.js");
|
|
37
37
|
const getPageConfigsRuntime_js_1 = require("../../shared/getPageConfigsRuntime.js");
|
|
38
|
+
const resolveBase_js_1 = require("../shared/resolveBase.js");
|
|
38
39
|
const debug = (0, utils_js_1.createDebugger)('vike:globalContext');
|
|
39
40
|
const globalObject = (0, utils_js_1.getGlobalObject)('globalContext.ts', getInitialGlobalContext());
|
|
40
41
|
async function getGlobalContextInternal() {
|
|
@@ -78,8 +79,14 @@ async function getGlobalContextAsync(isProduction) {
|
|
|
78
79
|
return globalContext_public;
|
|
79
80
|
}
|
|
80
81
|
function makePublic(globalContext) {
|
|
81
|
-
|
|
82
|
-
|
|
82
|
+
const globalContextPublic = (0, utils_js_1.makePublicCopy)(globalContext, 'globalContext', [
|
|
83
|
+
'assetsManifest',
|
|
84
|
+
'config',
|
|
85
|
+
'viteConfig',
|
|
86
|
+
'pages',
|
|
87
|
+
'baseServer',
|
|
88
|
+
'baseAssets'
|
|
89
|
+
]);
|
|
83
90
|
return globalContextPublic;
|
|
84
91
|
}
|
|
85
92
|
async function setGlobalContext_viteDevServer(viteDevServer) {
|
|
@@ -183,7 +190,7 @@ function setIsProduction(isProduction) {
|
|
|
183
190
|
globalObject.isProduction = isProduction;
|
|
184
191
|
}
|
|
185
192
|
function defineGlobalContext() {
|
|
186
|
-
const globalContext =
|
|
193
|
+
const globalContext = resolveGlobalContext();
|
|
187
194
|
assertIsDefined(globalContext);
|
|
188
195
|
const globalContext_public = makePublic(globalContext);
|
|
189
196
|
(0, utils_js_1.objectAssign)(globalContext, { globalContext_public });
|
|
@@ -192,7 +199,7 @@ function defineGlobalContext() {
|
|
|
192
199
|
assertGlobalContextIsDefined();
|
|
193
200
|
(0, utils_js_1.onSetupRuntime)();
|
|
194
201
|
}
|
|
195
|
-
function
|
|
202
|
+
function resolveGlobalContext() {
|
|
196
203
|
const { viteDevServer, viteConfig, isPrerendering, isProduction, userFiles } = globalObject;
|
|
197
204
|
(0, utils_js_1.assert)(typeof isProduction === 'boolean');
|
|
198
205
|
let globalContext;
|
|
@@ -211,7 +218,8 @@ function assembleGlobalContext() {
|
|
|
211
218
|
viteDevServer,
|
|
212
219
|
viteConfig,
|
|
213
220
|
...userFiles,
|
|
214
|
-
viteConfigRuntime
|
|
221
|
+
viteConfigRuntime,
|
|
222
|
+
...resolveBaseRuntime(viteConfigRuntime, userFiles.config)
|
|
215
223
|
};
|
|
216
224
|
}
|
|
217
225
|
else {
|
|
@@ -228,7 +236,8 @@ function assembleGlobalContext() {
|
|
|
228
236
|
...userFiles,
|
|
229
237
|
viteDevServer: null,
|
|
230
238
|
viteConfigRuntime: buildInfo.viteConfigRuntime,
|
|
231
|
-
usesClientRouter: buildInfo.usesClientRouter
|
|
239
|
+
usesClientRouter: buildInfo.usesClientRouter,
|
|
240
|
+
...resolveBaseRuntime(buildInfo.viteConfigRuntime, userFiles.config)
|
|
232
241
|
};
|
|
233
242
|
if (isPrerendering) {
|
|
234
243
|
(0, utils_js_1.assert)(viteConfig);
|
|
@@ -253,7 +262,7 @@ async function getUserFiles() {
|
|
|
253
262
|
const globalObject_ = globalObject;
|
|
254
263
|
const { pageConfigsRuntime } = globalObject_;
|
|
255
264
|
(0, utils_js_1.assert)(pageConfigsRuntime);
|
|
256
|
-
const { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal, globalConfig } = pageConfigsRuntime;
|
|
265
|
+
const { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal, globalConfig, pageConfigsUserFriendly } = pageConfigsRuntime;
|
|
257
266
|
const { pageRoutes, onBeforeRouteHook } = await (0, loadPageRoutes_js_1.loadPageRoutes)(pageFilesAll, pageConfigs, pageConfigGlobal, allPageIds);
|
|
258
267
|
const userFiles = {
|
|
259
268
|
pageFilesAll,
|
|
@@ -262,6 +271,7 @@ async function getUserFiles() {
|
|
|
262
271
|
allPageIds,
|
|
263
272
|
pageRoutes,
|
|
264
273
|
onBeforeRouteHook,
|
|
274
|
+
pages: pageConfigsUserFriendly,
|
|
265
275
|
config: globalConfig.config
|
|
266
276
|
};
|
|
267
277
|
(0, assertV1Design_js_1.assertV1Design)(
|
|
@@ -396,3 +406,9 @@ function getInitialGlobalContext() {
|
|
|
396
406
|
viteDevServerPromiseResolve
|
|
397
407
|
};
|
|
398
408
|
}
|
|
409
|
+
function resolveBaseRuntime(viteConfigRuntime, config) {
|
|
410
|
+
const baseViteOriginal = viteConfigRuntime._baseViteOriginal;
|
|
411
|
+
const baseServerUnresolved = config.baseServer ?? null;
|
|
412
|
+
const baseAssetsUnresolved = config.baseAssets ?? null;
|
|
413
|
+
return (0, resolveBase_js_1.resolveBase)(baseViteOriginal, baseServerUnresolved, baseAssetsUnresolved);
|
|
414
|
+
}
|
|
@@ -14,7 +14,7 @@ async function loadUserFilesServerSide(pageContext) {
|
|
|
14
14
|
const pageConfig = (0, findPageConfig_js_1.findPageConfig)(pageContext._pageConfigs, pageContext.pageId); // Make pageConfig globally available as pageContext._pageConfig?
|
|
15
15
|
const globalContext = pageContext._globalContext;
|
|
16
16
|
const [{ pageFilesLoaded, pageContextExports }] = await Promise.all([
|
|
17
|
-
loadPageUserFiles(pageContext._pageFilesAll, pageConfig, pageContext.pageId, !globalContext.isProduction),
|
|
17
|
+
loadPageUserFiles(pageContext._pageFilesAll, pageConfig, globalContext.pageConfigGlobal, pageContext.pageId, !globalContext.isProduction),
|
|
18
18
|
(0, analyzePageClientSide_js_1.analyzePageClientSideInit)(pageContext._pageFilesAll, pageContext.pageId, { sharedPageFilesAlreadyLoaded: true })
|
|
19
19
|
]);
|
|
20
20
|
const { isHtmlOnly, isClientRouting, clientEntries, clientDependencies, pageFilesClientSide, pageFilesServerSide } = await (0, analyzePage_js_1.analyzePage)(pageContext._pageFilesAll, pageConfig, pageContext.pageId, globalContext);
|
|
@@ -98,11 +98,11 @@ async function loadUserFilesServerSide(pageContext) {
|
|
|
98
98
|
}
|
|
99
99
|
return pageContextAddendum;
|
|
100
100
|
}
|
|
101
|
-
async function loadPageUserFiles(pageFilesAll, pageConfig, pageId, isDev) {
|
|
101
|
+
async function loadPageUserFiles(pageFilesAll, pageConfig, pageConfigGlobal, pageId, isDev) {
|
|
102
102
|
const pageFilesServerSide = (0, getPageFiles_js_1.getPageFilesServerSide)(pageFilesAll, pageId);
|
|
103
103
|
const pageConfigLoaded = !pageConfig ? null : await (0, loadConfigValues_js_1.loadConfigValues)(pageConfig, isDev);
|
|
104
104
|
await Promise.all(pageFilesServerSide.map((p) => p.loadFile?.()));
|
|
105
|
-
const pageContextExports = (0, getPageConfigUserFriendly_js_1.
|
|
105
|
+
const pageContextExports = (0, getPageConfigUserFriendly_js_1.getPageConfigUserFriendly_oldDesign)(pageFilesServerSide, pageConfigLoaded, pageConfigGlobal);
|
|
106
106
|
return {
|
|
107
107
|
pageContextExports,
|
|
108
108
|
pageFilesLoaded: pageFilesServerSide
|
|
@@ -22,7 +22,6 @@ const preparePageContextForUserConsumptionServerSide_js_1 = require("./preparePa
|
|
|
22
22
|
const executeGuardHook_js_1 = require("../../../shared/route/executeGuardHook.js");
|
|
23
23
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
24
24
|
const isServerSideError_js_1 = require("../../../shared/misc/isServerSideError.js");
|
|
25
|
-
const resolveBase_js_1 = require("../../shared/resolveBase.js");
|
|
26
25
|
async function renderPageAlreadyRouted(pageContext) {
|
|
27
26
|
// pageContext.pageId can either be the:
|
|
28
27
|
// - ID of the page matching the routing, or the
|
|
@@ -117,14 +116,13 @@ async function getPageContextInitEnhanced(pageContextInit, globalContext, { ssr:
|
|
|
117
116
|
isClientSideNavigation: false
|
|
118
117
|
} } = {}) {
|
|
119
118
|
(0, utils_js_1.assert)(pageContextInit.urlOriginal);
|
|
120
|
-
const { baseServer, baseAssets } = (0, resolveBase_js_1.resolveBaseRuntime)(globalContext);
|
|
121
119
|
const pageContextInitEnhanced = {};
|
|
122
120
|
(0, utils_js_1.objectAssign)(pageContextInitEnhanced, pageContextInit);
|
|
123
121
|
(0, utils_js_1.objectAssign)(pageContextInitEnhanced, {
|
|
124
122
|
_objectCreatedByVike: true,
|
|
125
123
|
// The following is defined on `pageContext` because we can eventually make these non-global
|
|
126
|
-
_baseServer: baseServer,
|
|
127
|
-
_baseAssets: baseAssets,
|
|
124
|
+
_baseServer: globalContext.baseServer,
|
|
125
|
+
_baseAssets: globalContext.baseAssets,
|
|
128
126
|
// TODO/now: add meta.default
|
|
129
127
|
_includeAssetsImportedByServer: globalContext.config.includeAssetsImportedByServer ?? true,
|
|
130
128
|
// TODO/soon: use GloablContext instead
|
|
@@ -23,7 +23,6 @@ const error_page_js_1 = require("../../shared/error-page.js");
|
|
|
23
23
|
const handleErrorWithoutErrorPage_js_1 = require("./renderPage/handleErrorWithoutErrorPage.js");
|
|
24
24
|
const loadUserFilesServerSide_js_1 = require("./renderPage/loadUserFilesServerSide.js");
|
|
25
25
|
const resolveRedirects_js_1 = require("./renderPage/resolveRedirects.js");
|
|
26
|
-
const resolveBase_js_1 = require("../shared/resolveBase.js");
|
|
27
26
|
const globalObject = (0, utils_js_1.getGlobalObject)('runtime/renderPage.ts', {
|
|
28
27
|
httpRequestsCount: 0
|
|
29
28
|
});
|
|
@@ -343,7 +342,6 @@ function assertIsNotViteRequest(urlPathname, urlOriginal) {
|
|
|
343
342
|
(0, utils_js_1.assertUsage)(false, `${picocolors_1.default.code('renderPage(pageContextInit)')} called with ${picocolors_1.default.code(`pageContextInit.urlOriginal===${JSON.stringify(urlOriginal)}`)} which is unexpected because the URL ${picocolors_1.default.bold(urlOriginal)} should have already been handled by the development middleware: make sure the ${picocolors_1.default.cyan('createDevMiddleware()')} middleware is executed *before* the ${picocolors_1.default.cyan('renderPage()')} middleware, see ${picocolors_1.default.underline('https://vike.dev/renderPage')}`);
|
|
344
343
|
}
|
|
345
344
|
async function normalizeUrl(pageContextInit, globalContext, httpRequestId) {
|
|
346
|
-
const { baseServer } = (0, resolveBase_js_1.resolveBaseRuntime)(globalContext);
|
|
347
345
|
const { trailingSlash, disableUrlNormalization } = globalContext.config;
|
|
348
346
|
if (disableUrlNormalization)
|
|
349
347
|
return null;
|
|
@@ -351,7 +349,7 @@ async function normalizeUrl(pageContextInit, globalContext, httpRequestId) {
|
|
|
351
349
|
const { isPageContextRequest } = (0, handlePageContextRequestUrl_js_1.handlePageContextRequestUrl)(urlOriginal);
|
|
352
350
|
if (isPageContextRequest)
|
|
353
351
|
return null;
|
|
354
|
-
const urlNormalized = (0, utils_js_1.normalizeUrlPathname)(urlOriginal, trailingSlash ?? false, baseServer);
|
|
352
|
+
const urlNormalized = (0, utils_js_1.normalizeUrlPathname)(urlOriginal, trailingSlash ?? false, globalContext.baseServer);
|
|
355
353
|
if (!urlNormalized)
|
|
356
354
|
return null;
|
|
357
355
|
(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');
|
|
@@ -361,8 +359,7 @@ async function normalizeUrl(pageContextInit, globalContext, httpRequestId) {
|
|
|
361
359
|
return pageContextHttpResponse;
|
|
362
360
|
}
|
|
363
361
|
async function getPermanentRedirect(pageContextInit, globalContext, httpRequestId) {
|
|
364
|
-
const
|
|
365
|
-
const urlWithoutBase = (0, utils_js_1.removeBaseServer)(pageContextInit.urlOriginal, baseServer);
|
|
362
|
+
const urlWithoutBase = (0, utils_js_1.removeBaseServer)(pageContextInit.urlOriginal, globalContext.baseServer);
|
|
366
363
|
let origin = null;
|
|
367
364
|
let urlTargetExternal = null;
|
|
368
365
|
let urlTarget = (0, utils_js_1.modifyUrlPathname)(urlWithoutBase, (urlPathname) => {
|
|
@@ -393,9 +390,8 @@ async function getPermanentRedirect(pageContextInit, globalContext, httpRequestI
|
|
|
393
390
|
}
|
|
394
391
|
if (normalize(urlTarget) === normalize(urlWithoutBase))
|
|
395
392
|
return null;
|
|
396
|
-
const { baseServer } = (0, resolveBase_js_1.resolveBaseRuntime)(globalContext);
|
|
397
393
|
if (!originChanged)
|
|
398
|
-
urlTarget = (0, utils_js_1.prependBase)(urlTarget, baseServer);
|
|
394
|
+
urlTarget = (0, utils_js_1.prependBase)(urlTarget, globalContext.baseServer);
|
|
399
395
|
(0, utils_js_1.assert)(urlTarget !== pageContextInit.urlOriginal);
|
|
400
396
|
}
|
|
401
397
|
(0, loggerRuntime_js_1.logRuntimeInfo)?.(`Permanent redirection defined by config.redirects (https://vike.dev/redirects)`, httpRequestId, 'info');
|
|
@@ -459,7 +455,7 @@ pageContextNominalPageInit, httpRequestId, pageContextErrorPageInit, globalConte
|
|
|
459
455
|
return { pageContextAbort };
|
|
460
456
|
}
|
|
461
457
|
async function assertBaseUrl(pageContextInit, globalContext) {
|
|
462
|
-
const { baseServer } =
|
|
458
|
+
const { baseServer } = globalContext;
|
|
463
459
|
const { urlOriginal } = pageContextInit;
|
|
464
460
|
const { urlWithoutPageContextRequestSuffix } = (0, handlePageContextRequestUrl_js_1.handlePageContextRequestUrl)(urlOriginal);
|
|
465
461
|
const { hasBaseServer } = (0, utils_js_1.parseUrl)(urlWithoutPageContextRequestSuffix, baseServer);
|
|
@@ -11,7 +11,7 @@ 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
|
|
14
|
+
const viteConfigFromOptions = {
|
|
15
15
|
...options.viteConfig,
|
|
16
16
|
server: {
|
|
17
17
|
...options.viteConfig?.server,
|
|
@@ -19,8 +19,8 @@ async function createDevMiddleware(options = {}) {
|
|
|
19
19
|
}
|
|
20
20
|
};
|
|
21
21
|
if (options.root)
|
|
22
|
-
|
|
23
|
-
const { viteConfigEnhanced } = await (0, prepareViteApiCall_js_1.prepareViteApiCall)(
|
|
22
|
+
viteConfigFromOptions.root = options.root;
|
|
23
|
+
const { viteConfigEnhanced } = await (0, prepareViteApiCall_js_1.prepareViteApiCall)(viteConfigFromOptions, 'dev');
|
|
24
24
|
const server = await (0, vite_1.createServer)(viteConfigEnhanced);
|
|
25
25
|
const devMiddleware = server.middlewares;
|
|
26
26
|
return { devMiddleware, viteServer: server, viteConfig: server.config };
|
|
@@ -4,21 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.resolveBase = resolveBase;
|
|
7
|
-
exports.resolveBaseRuntime = resolveBaseRuntime;
|
|
8
|
-
exports.resolveBaseFromResolvedConfig = resolveBaseFromResolvedConfig;
|
|
9
7
|
const utils_js_1 = require("./utils.js");
|
|
10
8
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
11
|
-
function resolveBaseFromResolvedConfig(baseServer, baseAssets, config) {
|
|
12
|
-
let baseViteOriginal = config._baseViteOriginal;
|
|
13
|
-
(0, utils_js_1.assert)(baseViteOriginal === null || typeof baseViteOriginal == 'string');
|
|
14
|
-
return resolveBase(baseViteOriginal, baseServer, baseAssets);
|
|
15
|
-
}
|
|
16
|
-
function resolveBaseRuntime(globalContext) {
|
|
17
|
-
const baseViteOriginal = globalContext.viteConfigRuntime._baseViteOriginal;
|
|
18
|
-
const baseServerUnresolved = globalContext.config.baseServer ?? null;
|
|
19
|
-
const baseAssetsUnresolved = globalContext.config.baseAssets ?? null;
|
|
20
|
-
return resolveBase(baseViteOriginal, baseServerUnresolved, baseAssetsUnresolved);
|
|
21
|
-
}
|
|
22
9
|
function resolveBase(baseViteOriginal, baseServerUnresolved, baseAssetsUnresolved) {
|
|
23
10
|
if (baseViteOriginal === '/__UNSET__')
|
|
24
11
|
baseViteOriginal = null;
|
|
@@ -9,8 +9,11 @@ function getPageConfigsRuntime(virtualFileExports) {
|
|
|
9
9
|
const { pageFilesAll, pageConfigs, pageConfigGlobal } = (0, parseGlobResults_js_1.parseGlobResults)(virtualFileExports);
|
|
10
10
|
const allPageIds = getAllPageIds(pageFilesAll, pageConfigs);
|
|
11
11
|
// TODO/now: re-use this call, instead of calling it twice
|
|
12
|
-
const globalConfig = (0, getPageConfigUserFriendly_js_1.
|
|
13
|
-
|
|
12
|
+
const globalConfig = (0, getPageConfigUserFriendly_js_1.getPageConfigGlobalUserFriendly)({ pageConfigGlobalValues: pageConfigGlobal.configValues });
|
|
13
|
+
const pageConfigsUserFriendly = Object.fromEntries(pageConfigs.map((pageConfig) => {
|
|
14
|
+
return (0, getPageConfigUserFriendly_js_1.getPageConfigUserFriendly)(pageConfigGlobal.configValues, pageConfig, pageConfig.configValues);
|
|
15
|
+
}));
|
|
16
|
+
return { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal, globalConfig, pageConfigsUserFriendly };
|
|
14
17
|
}
|
|
15
18
|
function getAllPageIds(pageFilesAll, pageConfigs) {
|
|
16
19
|
const fileIds = pageFilesAll.filter(({ isDefaultPageFile }) => !isDefaultPageFile).map(({ pageId }) => pageId);
|
|
@@ -3,23 +3,54 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
-
exports.
|
|
6
|
+
exports.getPageConfigUserFriendly = getPageConfigUserFriendly;
|
|
7
|
+
exports.getPageConfigUserFriendly_oldDesign = getPageConfigUserFriendly_oldDesign;
|
|
8
|
+
exports.getPageConfigGlobalUserFriendly = getPageConfigGlobalUserFriendly;
|
|
8
9
|
const assert_exports_old_design_js_1 = require("../getPageFiles/assert_exports_old_design.js");
|
|
9
10
|
const getConfigDefinedAt_js_1 = require("./getConfigDefinedAt.js");
|
|
10
11
|
const helpers_js_1 = require("./helpers.js");
|
|
11
12
|
const utils_js_1 = require("../utils.js");
|
|
12
13
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
13
|
-
function
|
|
14
|
-
const
|
|
14
|
+
function getPageConfigUserFriendly(pageConfigGlobalValues, pageConfig, pageConfigValues) {
|
|
15
|
+
const pageConfigUserFriendly = getPageConfigUserFriendly_public({ pageConfigGlobalValues, pageConfigValues });
|
|
16
|
+
let page;
|
|
17
|
+
if (!pageConfig.isErrorPage) {
|
|
18
|
+
const route = pageConfigUserFriendly.config.route ?? pageConfig.routeFilesystem.routeString;
|
|
19
|
+
page = {
|
|
20
|
+
...pageConfigUserFriendly,
|
|
21
|
+
route
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
page = {
|
|
26
|
+
...pageConfigUserFriendly,
|
|
27
|
+
isErrorPage: true
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return [pageConfig.pageId, page];
|
|
31
|
+
}
|
|
32
|
+
function getPageConfigUserFriendly_public({ pageConfigGlobalValues, pageConfigValues }) {
|
|
33
|
+
const pageConfigUserFriendly = getPageConfigUserFriendly_base({ pageConfigGlobalValues, pageConfigValues });
|
|
34
|
+
return getPublicCopy(pageConfigUserFriendly);
|
|
35
|
+
}
|
|
36
|
+
function getPublicCopy(pageConfigUserFriendly) {
|
|
37
|
+
const p = pageConfigUserFriendly;
|
|
15
38
|
return {
|
|
16
|
-
config:
|
|
17
|
-
_source:
|
|
18
|
-
_sources:
|
|
19
|
-
_from:
|
|
39
|
+
config: p.config,
|
|
40
|
+
_source: p.source,
|
|
41
|
+
_sources: p.sources,
|
|
42
|
+
_from: p.from
|
|
20
43
|
};
|
|
21
44
|
}
|
|
22
|
-
function
|
|
45
|
+
function getPageConfigUserFriendly_base({ pageConfigGlobalValues, pageConfigValues }) {
|
|
46
|
+
const configValues = { ...pageConfigGlobalValues, ...pageConfigValues };
|
|
47
|
+
return getPageConfigUserFriendly_V1Design({ configValues });
|
|
48
|
+
}
|
|
49
|
+
function getPageConfigGlobalUserFriendly({ pageConfigGlobalValues }) {
|
|
50
|
+
const pageConfigGlobalUserFriendly = getPageConfigUserFriendly_V1Design({ configValues: pageConfigGlobalValues });
|
|
51
|
+
return getPublicCopy(pageConfigGlobalUserFriendly);
|
|
52
|
+
}
|
|
53
|
+
function getPageConfigUserFriendly_oldDesign(pageFiles, pageConfig, pageConfigGlobal) {
|
|
23
54
|
const config = {};
|
|
24
55
|
const configEntries = {}; // TODO/v1-release: remove
|
|
25
56
|
const exportsAll = {}; // TODO/v1-release: remove
|
|
@@ -44,7 +75,10 @@ function getPageConfigUserFriendlyOld(pageFiles, pageConfig) {
|
|
|
44
75
|
let sources;
|
|
45
76
|
let from;
|
|
46
77
|
if (pageConfig) {
|
|
47
|
-
const res =
|
|
78
|
+
const res = getPageConfigUserFriendly_base({
|
|
79
|
+
pageConfigGlobalValues: pageConfigGlobal.configValues,
|
|
80
|
+
pageConfigValues: pageConfig.configValues
|
|
81
|
+
});
|
|
48
82
|
source = res.source;
|
|
49
83
|
sources = res.sources;
|
|
50
84
|
from = res.from;
|
|
@@ -90,7 +124,7 @@ function getPageConfigUserFriendlyOld(pageFiles, pageConfig) {
|
|
|
90
124
|
return pageContextExports;
|
|
91
125
|
}
|
|
92
126
|
// V1 design
|
|
93
|
-
function
|
|
127
|
+
function getPageConfigUserFriendly_V1Design(pageConfig) {
|
|
94
128
|
const config = {};
|
|
95
129
|
const configEntries = {};
|
|
96
130
|
const exportsAll = {};
|
|
@@ -14,15 +14,9 @@ function parsePageConfigs(pageConfigsSerialized, pageConfigGlobalSerialized) {
|
|
|
14
14
|
// pageConfigs
|
|
15
15
|
const pageConfigs = pageConfigsSerialized.map((pageConfigSerialized) => {
|
|
16
16
|
const configValues = parseConfigValuesSerialized(pageConfigSerialized.configValuesSerialized);
|
|
17
|
-
const { pageId, isErrorPage, routeFilesystem, loadConfigValuesAll } = pageConfigSerialized;
|
|
18
17
|
assertRouteConfigValue(configValues);
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
isErrorPage,
|
|
22
|
-
routeFilesystem,
|
|
23
|
-
configValues,
|
|
24
|
-
loadConfigValuesAll
|
|
25
|
-
};
|
|
18
|
+
const pageConfig = { ...pageConfigSerialized, configValues };
|
|
19
|
+
return pageConfig;
|
|
26
20
|
});
|
|
27
21
|
// pageConfigsGlobal
|
|
28
22
|
const pageConfigGlobal = { configValues: {} };
|
|
@@ -10,7 +10,7 @@ const getConfigDefinedAt_js_1 = require("../page-configs/getConfigDefinedAt.js")
|
|
|
10
10
|
const resolveRouteFunction_js_1 = require("./resolveRouteFunction.js");
|
|
11
11
|
const getHook_js_1 = require("../hooks/getHook.js");
|
|
12
12
|
async function loadPageRoutes(
|
|
13
|
-
// Remove all arguments and use
|
|
13
|
+
// Remove all arguments and use GlobalContextInternal instead?
|
|
14
14
|
pageFilesAll, pageConfigs, pageConfigGlobal, allPageIds) {
|
|
15
15
|
// TODO/next-major: remove & make this function sync
|
|
16
16
|
await Promise.all(pageFilesAll.filter((p) => p.fileType === '.page.route').map((p) => p.loadFile?.()));
|
|
@@ -27,7 +27,7 @@ function assertSingleInstance() {
|
|
|
27
27
|
const versions = (0, unique_js_1.unique)(globalObject.instances);
|
|
28
28
|
assertUsage(versions.length <= 1,
|
|
29
29
|
// DO *NOT* patch vike to remove this error: because of multiple conflicting versions, you *will* eventually encounter insidious issues that hard to debug and potentially a security hazard, see for example https://github.com/vikejs/vike/issues/1108
|
|
30
|
-
`vike@${picocolors_1.default.bold(versions[0])} and vike@${picocolors_1.default.bold(versions[1])} loaded but
|
|
30
|
+
`vike@${picocolors_1.default.bold(versions[0])} and vike@${picocolors_1.default.bold(versions[1])} loaded but it's forbidden to load different versions`);
|
|
31
31
|
}
|
|
32
32
|
if (globalObject.checkSingleInstance && globalObject.instances.length > 1) {
|
|
33
33
|
/*/ Not sure whether circular dependency can cause problems? In principle not since client-side code is ESM.
|
package/dist/cjs/utils/debug.js
CHANGED
|
@@ -17,7 +17,9 @@ const isArray_js_1 = require("./isArray.js");
|
|
|
17
17
|
(0, assert_js_1.assert)(!(0, isBrowser_js_1.isBrowser)());
|
|
18
18
|
globalThis.__brillout_debug_createDebugger = createDebugger;
|
|
19
19
|
const flags = [
|
|
20
|
+
'vike:crawl',
|
|
20
21
|
'vike:error',
|
|
22
|
+
'vike:esbuild-resolve',
|
|
21
23
|
'vike:extractAssets',
|
|
22
24
|
'vike:extractExportNames',
|
|
23
25
|
'vike:glob',
|
|
@@ -30,9 +32,9 @@ const flags = [
|
|
|
30
32
|
'vike:routing',
|
|
31
33
|
'vike:setup',
|
|
32
34
|
'vike:stream',
|
|
33
|
-
'vike:virtual-files'
|
|
34
|
-
'vike:esbuild-resolve'
|
|
35
|
+
'vike:virtual-files'
|
|
35
36
|
];
|
|
37
|
+
const flagsSkipWildcard = ['vike:log'];
|
|
36
38
|
const flagRegex = /\bvike:[a-zA-Z-]+/g;
|
|
37
39
|
assertFlagsActivated();
|
|
38
40
|
function createDebugger(flag, optionsGlobal) {
|
|
@@ -77,8 +79,8 @@ function debug_(flag, options, ...msgs) {
|
|
|
77
79
|
function isDebugActivated(flag) {
|
|
78
80
|
(0, checkType_js_1.checkType)(flag);
|
|
79
81
|
(0, assert_js_1.assert)(flags.includes(flag));
|
|
80
|
-
const flagsActivated = getFlagsActivated();
|
|
81
|
-
const isActivated = flagsActivated.includes(flag);
|
|
82
|
+
const { flagsActivated, all } = getFlagsActivated();
|
|
83
|
+
const isActivated = flagsActivated.includes(flag) || (all && !flagsSkipWildcard.includes(flag));
|
|
82
84
|
return isActivated;
|
|
83
85
|
}
|
|
84
86
|
function formatMsg(info, options, padding, position) {
|
|
@@ -142,7 +144,7 @@ function replaceFunctionSerializer(_key, value) {
|
|
|
142
144
|
return value;
|
|
143
145
|
}
|
|
144
146
|
function assertFlagsActivated() {
|
|
145
|
-
const flagsActivated = getFlagsActivated();
|
|
147
|
+
const { flagsActivated } = getFlagsActivated();
|
|
146
148
|
flagsActivated.forEach((flag) => {
|
|
147
149
|
(0, assert_js_1.assertUsage)(flags.includes(flag), `Unknown DEBUG flag ${picocolors_1.default.cyan(flag)}. Valid flags:\n${flags.map((f) => ` ${picocolors_1.default.cyan(f)}`).join('\n')}`);
|
|
148
150
|
});
|
|
@@ -150,7 +152,8 @@ function assertFlagsActivated() {
|
|
|
150
152
|
function getFlagsActivated() {
|
|
151
153
|
const DEBUG = getDEBUG() ?? '';
|
|
152
154
|
const flagsActivated = DEBUG.match(flagRegex) ?? [];
|
|
153
|
-
|
|
155
|
+
const all = DEBUG.includes('vike:*');
|
|
156
|
+
return { flagsActivated, all };
|
|
154
157
|
}
|
|
155
158
|
function getDEBUG() {
|
|
156
159
|
let DEBUG;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { setPageContextCurrent };
|
|
2
2
|
export { getPageContextCurrent };
|
|
3
|
-
import type {
|
|
4
|
-
type PageContextCurrent =
|
|
3
|
+
import type { PageConfigUserFriendlyOld } from '../../shared/getPageFiles.js';
|
|
4
|
+
type PageContextCurrent = PageConfigUserFriendlyOld & {
|
|
5
5
|
urlPathname: string;
|
|
6
6
|
};
|
|
7
7
|
declare function getPageContextCurrent(): null | PageContextCurrent;
|