vike 0.4.234 → 0.4.235-commit-7b1ab35
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/__internal/index.js +1 -1
- package/dist/cjs/client/shared/createGetGlobalContextClient.js +0 -1
- package/dist/cjs/client/shared/preparePageContextForPublicUsageClientShared.js +4 -4
- package/dist/cjs/node/api/prepareViteApiCall.js +1 -1
- package/dist/cjs/node/cli/index.js +1 -1
- package/dist/cjs/node/createPageRenderer.js +1 -1
- package/dist/cjs/node/importBuild.js +1 -1
- package/dist/cjs/node/prerender/context.js +1 -1
- package/dist/cjs/node/prerender/index.js +1 -1
- package/dist/cjs/node/prerender/resolvePrerenderConfig.js +2 -2
- package/dist/cjs/node/prerender/runPrerender.js +9 -13
- package/dist/cjs/node/runtime/globalContext.js +8 -6
- package/dist/cjs/node/runtime/html/injectAssets/injectAssets__public.js +1 -1
- package/dist/cjs/node/runtime/html/serializeContext.js +1 -1
- package/dist/cjs/node/runtime/index-deprecated.js +1 -1
- package/dist/cjs/node/runtime/index.js +1 -1
- package/dist/cjs/node/runtime/page-files/setup.js +1 -1
- package/dist/cjs/node/runtime/renderPage/assertArguments.js +1 -1
- package/dist/cjs/node/runtime/renderPage/createHttpResponse/getCacheControl.js +1 -1
- package/dist/cjs/node/runtime/renderPage/createHttpResponse.js +1 -1
- package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +4 -4
- package/dist/cjs/node/runtime/renderPage/execHookDataAndOnBeforeRender.js +2 -2
- package/dist/cjs/node/runtime/renderPage/getHttpResponseBody.js +4 -4
- package/dist/cjs/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.js +1 -1
- package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +11 -14
- package/dist/cjs/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +1 -1
- package/dist/cjs/node/runtime/renderPage.js +3 -3
- package/dist/cjs/node/vite/onLoad.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildEntry.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginCommon/assertResolveAlias.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginCommon.js +8 -4
- package/dist/cjs/node/vite/plugins/pluginDev.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginEnvVars.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginFileEnv.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +31 -26
- package/dist/cjs/node/vite/shared/addSsrMiddleware.js +1 -1
- package/dist/cjs/node/vite/shared/loggerNotProd.js +10 -6
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +1 -1
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +1 -1
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal.js +6 -6
- package/dist/cjs/shared/RenderErrorPage.js +1 -1
- package/dist/cjs/shared/abort.js +1 -1
- package/dist/cjs/shared/createPageContextShared.js +1 -2
- package/dist/cjs/shared/determinePageIdOld.js +1 -1
- package/dist/cjs/shared/error-page.js +3 -3
- package/dist/cjs/shared/getPageContextUrlComputed.js +4 -4
- package/dist/cjs/shared/getPageFiles/analyzeClientSide.js +1 -1
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide/analyzeExports.js +1 -1
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide/determineClientEntry.js +1 -1
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide.js +2 -2
- package/dist/cjs/shared/getPageFiles/assert_exports_old_design.js +1 -1
- package/dist/cjs/shared/getPageFiles/fileTypes.js +1 -1
- package/dist/cjs/shared/getPageFiles/getAllPageIdFiles.js +1 -1
- package/dist/cjs/shared/getPageFiles/getPageFileObject.js +1 -1
- package/dist/cjs/shared/getPageFiles/parseVirtualFileExports.js +1 -1
- package/dist/cjs/shared/getProxyForPublicUsage.js +1 -1
- package/dist/cjs/shared/page-configs/getConfigDefinedAt.js +4 -3
- package/dist/cjs/shared/page-configs/resolveVikeConfigPublic.js +10 -10
- package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +1 -1
- package/dist/cjs/shared/preparePageContextForPublicUsage.js +5 -5
- package/dist/cjs/shared/route/abort.js +1 -1
- package/dist/cjs/shared/route/deduceRouteStringFromFilesystemPath.js +1 -1
- package/dist/cjs/shared/route/execHookGuard.js +1 -1
- package/dist/cjs/shared/route/execHookOnBeforeRoute.js +1 -1
- package/dist/cjs/shared/route/index.js +1 -1
- package/dist/cjs/shared/route/loadPageRoutes.js +4 -4
- package/dist/cjs/shared/route/resolveRouteFunction.js +3 -3
- package/dist/cjs/shared/route/resolveRouteString.js +1 -1
- package/dist/cjs/shared/route/routing.js +1 -1
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/assertSetup.js +3 -3
- package/dist/cjs/utils/debugGlob.js +1 -1
- package/dist/esm/__internal/index.d.ts +1 -1
- package/dist/esm/__internal/index.js +1 -1
- package/dist/esm/client/runtime-client-routing/createPageContextClientSide.js +2 -2
- package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.js +6 -6
- package/dist/esm/client/runtime-client-routing/history.d.ts +2 -4
- package/dist/esm/client/runtime-client-routing/history.js +35 -13
- package/dist/esm/client/runtime-client-routing/index.js +1 -1
- package/dist/esm/client/runtime-client-routing/initClientRouter.js +2 -3
- package/dist/esm/client/runtime-client-routing/isClientSideRoutable.js +1 -1
- package/dist/esm/client/runtime-client-routing/prefetch/getPrefetchSettings.js +6 -6
- package/dist/esm/client/runtime-client-routing/prefetch.js +10 -10
- package/dist/esm/client/runtime-client-routing/renderPageClientSide.js +3 -3
- package/dist/esm/client/runtime-client-routing/skipLink.js +1 -1
- package/dist/esm/client/runtime-server-routing/createPageContextClientSide.js +2 -2
- package/dist/esm/client/runtime-server-routing/index.js +1 -1
- package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +3 -2
- package/dist/esm/client/shared/createGetGlobalContextClient.js +0 -1
- package/dist/esm/client/shared/execHookOnRenderClient.js +1 -1
- package/dist/esm/client/shared/loadPageConfigsLazyClientSide.js +2 -2
- package/dist/esm/client/shared/preparePageContextForPublicUsageClientShared.js +4 -4
- package/dist/esm/node/api/prepareViteApiCall.js +1 -1
- package/dist/esm/node/cli/index.js +1 -1
- package/dist/esm/node/createPageRenderer.js +1 -1
- package/dist/esm/node/importBuild.js +1 -1
- package/dist/esm/node/prerender/context.js +1 -1
- package/dist/esm/node/prerender/index.js +1 -1
- package/dist/esm/node/prerender/resolvePrerenderConfig.js +2 -2
- package/dist/esm/node/prerender/runPrerender.js +9 -13
- package/dist/esm/node/runtime/globalContext.d.ts +0 -2
- package/dist/esm/node/runtime/globalContext.js +8 -6
- package/dist/esm/node/runtime/html/injectAssets/injectAssets__public.js +1 -1
- package/dist/esm/node/runtime/html/serializeContext.js +1 -1
- package/dist/esm/node/runtime/index-deprecated.js +1 -1
- package/dist/esm/node/runtime/index.js +1 -1
- package/dist/esm/node/runtime/page-files/setup.js +1 -1
- package/dist/esm/node/runtime/renderPage/assertArguments.js +1 -1
- package/dist/esm/node/runtime/renderPage/createHttpResponse/getCacheControl.js +1 -1
- package/dist/esm/node/runtime/renderPage/createHttpResponse.js +1 -1
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +4 -4
- package/dist/esm/node/runtime/renderPage/execHookDataAndOnBeforeRender.js +2 -2
- package/dist/esm/node/runtime/renderPage/getHttpResponseBody.js +4 -4
- package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.js +1 -1
- package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +12 -15
- package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +1 -1
- package/dist/esm/node/runtime/renderPage.d.ts +3 -3
- package/dist/esm/node/runtime/renderPage.js +3 -3
- package/dist/esm/node/vite/index.js +1 -1
- package/dist/esm/node/vite/onLoad.js +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.js +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildEntry.js +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +0 -1
- package/dist/esm/node/vite/plugins/pluginCommon/assertResolveAlias.js +1 -1
- package/dist/esm/node/vite/plugins/pluginCommon.js +8 -4
- package/dist/esm/node/vite/plugins/pluginDev.js +1 -1
- package/dist/esm/node/vite/plugins/pluginEnvVars.js +1 -1
- package/dist/esm/node/vite/plugins/pluginFileEnv.js +1 -1
- package/dist/esm/node/vite/plugins/pluginVirtualFiles.js +31 -26
- package/dist/esm/node/vite/shared/addSsrMiddleware.js +1 -1
- package/dist/esm/node/vite/shared/loggerNotProd.js +10 -0
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +1 -1
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +1 -1
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal.js +6 -6
- package/dist/esm/shared/RenderErrorPage.js +1 -1
- package/dist/esm/shared/abort.js +1 -1
- package/dist/esm/shared/createPageContextShared.d.ts +2 -3
- package/dist/esm/shared/createPageContextShared.js +1 -2
- package/dist/esm/shared/determinePageIdOld.js +1 -1
- package/dist/esm/shared/error-page.js +3 -3
- package/dist/esm/shared/getPageContextUrlComputed.js +4 -4
- package/dist/esm/shared/getPageFiles/analyzeClientSide.js +1 -1
- package/dist/esm/shared/getPageFiles/analyzePageClientSide/analyzeExports.js +1 -1
- package/dist/esm/shared/getPageFiles/analyzePageClientSide/determineClientEntry.js +1 -1
- package/dist/esm/shared/getPageFiles/analyzePageClientSide.js +2 -2
- package/dist/esm/shared/getPageFiles/assert_exports_old_design.js +1 -1
- package/dist/esm/shared/getPageFiles/fileTypes.js +1 -1
- package/dist/esm/shared/getPageFiles/getAllPageIdFiles.js +1 -1
- package/dist/esm/shared/getPageFiles/getPageFileObject.js +1 -1
- package/dist/esm/shared/getPageFiles/parseVirtualFileExports.js +1 -1
- package/dist/esm/shared/getProxyForPublicUsage.js +1 -1
- package/dist/esm/shared/hooks/getHook.js +1 -1
- package/dist/esm/shared/page-configs/getConfigDefinedAt.js +4 -3
- package/dist/esm/shared/page-configs/resolveVikeConfigPublic.js +12 -12
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +1 -1
- package/dist/esm/shared/preparePageContextForPublicUsage.js +5 -5
- package/dist/esm/shared/route/abort.js +1 -1
- package/dist/esm/shared/route/deduceRouteStringFromFilesystemPath.js +1 -1
- package/dist/esm/shared/route/execHookGuard.js +1 -1
- package/dist/esm/shared/route/execHookOnBeforeRoute.js +1 -1
- package/dist/esm/shared/route/index.js +1 -1
- package/dist/esm/shared/route/loadPageRoutes.js +4 -4
- package/dist/esm/shared/route/resolveRouteFunction.js +3 -3
- package/dist/esm/shared/route/resolveRouteString.js +1 -1
- package/dist/esm/shared/route/routing.js +1 -1
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/assertSetup.js +3 -3
- package/dist/esm/utils/debugGlob.js +1 -1
- package/package.json +1 -4
|
@@ -25,13 +25,13 @@ function pluginCommon(vikeVitePluginOptions) {
|
|
|
25
25
|
? normalizeViteRoot(configFromUser.root)
|
|
26
26
|
: await getViteRoot(operation);
|
|
27
27
|
assert(rootResolvedEarly);
|
|
28
|
-
//
|
|
28
|
+
// TO-DO/next-major-release: we can remove setVikeConfigContext() call here since with Vike's CLI it's already called at vike/node/api/prepareViteApiCall.ts
|
|
29
29
|
setVikeConfigContext({ userRootDir: rootResolvedEarly, isDev, vikeVitePluginOptions });
|
|
30
30
|
const vikeConfig = await getVikeConfigInternal();
|
|
31
31
|
return {
|
|
32
32
|
_isDev: isDev,
|
|
33
33
|
_rootResolvedEarly: rootResolvedEarly,
|
|
34
|
-
//
|
|
34
|
+
// TO-DO/next-major-release: remove https://github.com/vikejs/vike/issues/2122
|
|
35
35
|
configVikePromise: Promise.resolve({
|
|
36
36
|
prerender: vikeConfig.prerenderContext.isPrerenderingEnabled,
|
|
37
37
|
}),
|
|
@@ -53,7 +53,11 @@ function pluginCommon(vikeVitePluginOptions) {
|
|
|
53
53
|
configResolved: {
|
|
54
54
|
order: 'post',
|
|
55
55
|
async handler(config) {
|
|
56
|
-
/*
|
|
56
|
+
/* Also externalize linked dependencies by default?
|
|
57
|
+
* - Can this be done while the user sets ssr.external to `string[]`? I guess not?
|
|
58
|
+
* - If not then it's a problem: it makes the default inconsistent.
|
|
59
|
+
* - https://vite.dev/config/ssr-options.html#ssr-external
|
|
60
|
+
* - New setting +transpileLinkedDependencies ?
|
|
57
61
|
overrideViteDefaultSsrExternal(config)
|
|
58
62
|
//*/
|
|
59
63
|
workaroundCI(config);
|
|
@@ -157,7 +161,7 @@ function assertVikeCliOrApi(config) {
|
|
|
157
161
|
onlyOnce: true,
|
|
158
162
|
});
|
|
159
163
|
}
|
|
160
|
-
//
|
|
164
|
+
// TO-DO/next-major-release: remove https://github.com/vikejs/vike/issues/2122
|
|
161
165
|
function temp_supportOldInterface(config) {
|
|
162
166
|
if (!('vitePluginSsr' in config))
|
|
163
167
|
return;
|
|
@@ -20,7 +20,7 @@ function pluginDev() {
|
|
|
20
20
|
config() {
|
|
21
21
|
return {
|
|
22
22
|
appType: 'custom',
|
|
23
|
-
//
|
|
23
|
+
// TO-DO/next-major-release: remove (AFAICT we only need to use config.optimizeDeps for the old design)
|
|
24
24
|
optimizeDeps: {
|
|
25
25
|
exclude: [
|
|
26
26
|
// We exclude Vike's client runtime to be able to use Vite's import.meta.glob()
|
|
@@ -6,7 +6,7 @@ import { getModuleFilePathAbsolute } from '../shared/getFilePath.js';
|
|
|
6
6
|
import { normalizeId } from '../shared/normalizeId.js';
|
|
7
7
|
import { isViteServerBuild_safe } from '../shared/isViteServerBuild.js';
|
|
8
8
|
import { applyRegExpWithMagicString } from '../shared/applyRegExWithMagicString.js';
|
|
9
|
-
//
|
|
9
|
+
// TO-DO/eventually:
|
|
10
10
|
// - Make import.meta.env work inside +config.js
|
|
11
11
|
// - For it to work, we'll probably need the user to define the settings (e.g. `envDir`) for loadEnv() inside vike.config.js instead of vite.config.js
|
|
12
12
|
// - Or stop using Vite's `mode` implementation and have Vike implement its own `mode` feature? (So that the only dependencies are `$ vike build --mode staging` and `$ MODE=staging vike build`.)
|
|
@@ -119,7 +119,7 @@ function pluginFileEnv() {
|
|
|
119
119
|
return modulePath.includes(suffixWrong);
|
|
120
120
|
}
|
|
121
121
|
function skip(id) {
|
|
122
|
-
//
|
|
122
|
+
// TO-DO/next-major-release: remove
|
|
123
123
|
if (extractAssetsRE.test(id) || extractExportNamesRE.test(id))
|
|
124
124
|
return true;
|
|
125
125
|
if (!id.includes(getSuffix('client')) && !id.includes(getSuffix('server')))
|
|
@@ -20,7 +20,7 @@ function pluginVirtualFiles() {
|
|
|
20
20
|
name: 'vike:pluginVirtualFiles',
|
|
21
21
|
async configResolved(config_) {
|
|
22
22
|
config = config_;
|
|
23
|
-
//
|
|
23
|
+
// TO-DO/next-major-release: remove
|
|
24
24
|
if (!isV1Design())
|
|
25
25
|
config.experimental.importGlobRestoreExtension = true;
|
|
26
26
|
},
|
|
@@ -68,28 +68,33 @@ function handleFileAddRemove(server, config) {
|
|
|
68
68
|
if (isTemporaryBuildFile(file))
|
|
69
69
|
return;
|
|
70
70
|
const { moduleGraph } = server;
|
|
71
|
-
const
|
|
71
|
+
const isVikeConfigDep = await isVikeConfigDependency(file, moduleGraph);
|
|
72
72
|
const reload = () => reloadConfig(file, config, isRemove ? 'removed' : 'created', server);
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
else {
|
|
78
|
-
// Let Vite handle it
|
|
79
|
-
assert(existsInViteModuleGraph(file, moduleGraph));
|
|
80
|
-
}
|
|
73
|
+
// Config code
|
|
74
|
+
if (isVikeConfigDep && !isVikeConfigDep.isProcessedByVite) {
|
|
75
|
+
reload();
|
|
76
|
+
return;
|
|
81
77
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
78
|
+
// New or deleted + file
|
|
79
|
+
if (isPlusFile(file)) {
|
|
80
|
+
reload();
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
// Runtime code => let Vite handle it
|
|
84
|
+
if (isVikeConfigDep && isVikeConfigDep.isProcessedByVite) {
|
|
85
|
+
assert(existsInViteModuleGraph(file, moduleGraph));
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
// Trick: when importing a file that doesn't exist => we don't know whether `file` is that missing file => we take a leap of faith when the conditions below are met.
|
|
89
|
+
// - Not sure how reliable that trick is.
|
|
90
|
+
// - Reloading Vike's config is cheap and file creation/removal is rare => the trick is worth it.
|
|
91
|
+
// - Reproduction:
|
|
92
|
+
// ```bash
|
|
93
|
+
// rm someDep.js && sleep 2 && git checkout someDep.js
|
|
94
|
+
// ```
|
|
95
|
+
if (isScriptFile(file) && getVikeConfigError() && !existsInViteModuleGraph(file, moduleGraph)) {
|
|
96
|
+
reload();
|
|
97
|
+
return;
|
|
93
98
|
}
|
|
94
99
|
}
|
|
95
100
|
}
|
|
@@ -102,9 +107,9 @@ function invalidateVikeVirtualFiles(server) {
|
|
|
102
107
|
// Vite calls its hook handleHotUpdate() whenever *any file* is modified — including files that aren't in Vite's module graph such as `pages/+config.js`
|
|
103
108
|
async function handleHotUpdate(ctx, config) {
|
|
104
109
|
const { file, server } = ctx;
|
|
105
|
-
const
|
|
106
|
-
if (
|
|
107
|
-
if (
|
|
110
|
+
const isVikeConfigDep = await isVikeConfigDependency(ctx.file, ctx.server.moduleGraph);
|
|
111
|
+
if (isVikeConfigDep) {
|
|
112
|
+
if (!isVikeConfigDep.isProcessedByVite) {
|
|
108
113
|
/* Tailwind breaks this assertion, see https://github.com/vikejs/vike/discussions/1330#discussioncomment-7787238
|
|
109
114
|
const isViteModule = ctx.modules.length > 0
|
|
110
115
|
assert(!isViteModule)
|
|
@@ -134,7 +139,7 @@ async function isVikeConfigDependency(filePathAbsoluteFilesystem, moduleGraph) {
|
|
|
134
139
|
const { _vikeConfigDependencies: vikeConfigDependencies } = vikeConfigObject;
|
|
135
140
|
vikeConfigDependencies.forEach((f) => assertPosixPath(f));
|
|
136
141
|
if (vikeConfigDependencies.has(filePathAbsoluteFilesystem))
|
|
137
|
-
return {
|
|
142
|
+
return { isProcessedByVite: false };
|
|
138
143
|
}
|
|
139
144
|
// Runtime Vike config files such as +data.js which are processed by Vite.
|
|
140
145
|
// - They're included in Vite's module graph.
|
|
@@ -143,7 +148,7 @@ async function isVikeConfigDependency(filePathAbsoluteFilesystem, moduleGraph) {
|
|
|
143
148
|
const importers = getImporters(filePathAbsoluteFilesystem, moduleGraph);
|
|
144
149
|
const isPlusValueFileDependency = Array.from(importers).some((importer) => importer.file && isPlusFile(importer.file));
|
|
145
150
|
if (isPlusValueFileDependency)
|
|
146
|
-
return {
|
|
151
|
+
return { isProcessedByVite: true };
|
|
147
152
|
return null;
|
|
148
153
|
}
|
|
149
154
|
function reloadConfig(filePath, config, op, server) {
|
|
@@ -16,7 +16,7 @@ function addSsrMiddleware(middlewares, config, isPreview, isPrerenderingEnabled)
|
|
|
16
16
|
};
|
|
17
17
|
Object.defineProperty(pageContextInit, 'userAgent', {
|
|
18
18
|
get() {
|
|
19
|
-
//
|
|
19
|
+
// TO-DO/next-major-release: assertUsage() instead of assertWarning()
|
|
20
20
|
assertWarning(false, `${pc.cyan('pageContext.userAgent')} is deprecated: use ${pc.cyan("pageContext.headers['user-agent']")} instead.`, {
|
|
21
21
|
showStackTrace: true,
|
|
22
22
|
onlyOnce: true,
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
// TO-DO/eventually:
|
|
2
|
+
// - New hook onLog(): https://github.com/vikejs/vike/issues/1438
|
|
3
|
+
// - Exact same logs between prod and dev, only difference is that some log objects have:
|
|
4
|
+
// - `isDevLog: true`
|
|
5
|
+
// - `willBeLogged: false` in production
|
|
6
|
+
// - `showTimestamp: true`
|
|
7
|
+
// - Never clear screen (it's complex with little benefit)
|
|
8
|
+
// - Add shortcut to clear screen
|
|
9
|
+
// - Maybe rotate colors upon no requests within 30s?
|
|
10
|
+
// - Only show a one-liner init log (instead of Vite's multi-line log)
|
|
1
11
|
// Non-production logger used for:
|
|
2
12
|
// - Development
|
|
3
13
|
// - Preview
|
|
@@ -347,7 +347,7 @@ function isTemporaryBuildFile(filePath) {
|
|
|
347
347
|
const fileName = path.posix.basename(filePath);
|
|
348
348
|
return /\.build-[a-z0-9]{12}\.mjs$/.test(fileName);
|
|
349
349
|
}
|
|
350
|
-
//
|
|
350
|
+
// TO-DO/next-major-release: remove
|
|
351
351
|
function isHeaderFile(filePath) {
|
|
352
352
|
assertPosixPath(filePath);
|
|
353
353
|
const fileExtensions = getFileExtensions(filePath);
|
|
@@ -41,7 +41,7 @@ let restartVite = false;
|
|
|
41
41
|
let vikeConfigHasBuildError = null;
|
|
42
42
|
let isV1Design_ = null;
|
|
43
43
|
let vikeConfigPromise = null;
|
|
44
|
-
//
|
|
44
|
+
// TO-DO/next-major-release: remove
|
|
45
45
|
let vikeConfigSync = null;
|
|
46
46
|
let vikeConfigCtx = null; // Information provided by Vite's `config` and Vike's CLI. We could, if we want or need to, completely remove the dependency on Vite.
|
|
47
47
|
let prerenderContext;
|
|
@@ -53,14 +53,14 @@ function reloadVikeConfig() {
|
|
|
53
53
|
}
|
|
54
54
|
async function getVikeConfigInternal(
|
|
55
55
|
// I don't remember the logic behind it — neither why we restart Vite's dev server, nor why we sometimes don't.
|
|
56
|
-
// TO-DO:
|
|
56
|
+
// TO-DO/eventually: re-think all that. Some + settings are expected to influence Vite's config (restarting Vite's dev server is needed) while some don't.
|
|
57
57
|
doNotRestartViteOnError = false) {
|
|
58
58
|
assert(vikeConfigCtx);
|
|
59
59
|
const { userRootDir, isDev, vikeVitePluginOptions } = vikeConfigCtx;
|
|
60
60
|
const vikeConfig = await getOrResolveVikeConfig(userRootDir, isDev, vikeVitePluginOptions, doNotRestartViteOnError);
|
|
61
61
|
return vikeConfig;
|
|
62
62
|
}
|
|
63
|
-
//
|
|
63
|
+
// TO-DO/next-major-release: remove
|
|
64
64
|
function getVikeConfigInternalSync() {
|
|
65
65
|
assert(vikeConfigSync);
|
|
66
66
|
return vikeConfigSync;
|
|
@@ -484,7 +484,7 @@ function sortConfigValueSources(configValueSources, locationIdPage) {
|
|
|
484
484
|
return sortAfterInheritanceOrderPage(source1.plusFile, source2.plusFile, locationIdPage, configName);
|
|
485
485
|
}
|
|
486
486
|
})
|
|
487
|
-
//
|
|
487
|
+
// TO-DO/next-major-release: remove
|
|
488
488
|
// Interop with vike(options) in vite.config.js — make it least precedence.
|
|
489
489
|
.sort(makeLast((source) => !source.plusFile));
|
|
490
490
|
});
|
|
@@ -780,7 +780,7 @@ function assertMetaUsage(metaVal, metaConfigDefinedAt) {
|
|
|
780
780
|
}
|
|
781
781
|
configEnv = getConfigEnvValue(def.env, `${metaConfigDefinedAt} sets ${pc.cyan(`meta.${configName}.env`)} to`);
|
|
782
782
|
// Overwrite deprecated value with valid value
|
|
783
|
-
//
|
|
783
|
+
// TO-DO/next-major-release: remove once support for the deprecated values is removed
|
|
784
784
|
if (typeof def.env === 'string')
|
|
785
785
|
def.env = configEnv;
|
|
786
786
|
}
|
|
@@ -1026,7 +1026,7 @@ function determineIsErrorPage(routeFilesystem) {
|
|
|
1026
1026
|
function getConfigEnvValue(val, errMsgIntro) {
|
|
1027
1027
|
const errInvalidValue = `${errMsgIntro} an invalid value ${pc.cyan(JSON.stringify(val))}`;
|
|
1028
1028
|
// Legacy outdated values
|
|
1029
|
-
//
|
|
1029
|
+
// TO-DO/next-major-release: remove
|
|
1030
1030
|
if (typeof val === 'string') {
|
|
1031
1031
|
const valConverted = (() => {
|
|
1032
1032
|
if (val === 'client-only')
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
//
|
|
1
|
+
// TO-DO/next-major-release: remove
|
|
2
2
|
export { RenderErrorPage } from './route/abort.js';
|
package/dist/esm/shared/abort.js
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
export { createPageContextShared };
|
|
2
2
|
export { createPageContextObject };
|
|
3
3
|
import type { VikeConfigPublicGlobal } from './page-configs/resolveVikeConfigPublic.js';
|
|
4
|
-
import type { PageConfigGlobalRuntime } from '../types/PageConfig.js';
|
|
5
4
|
import { type PageContextPrepareMinimum } from './preparePageContextForPublicUsage.js';
|
|
6
|
-
declare function createPageContextShared<T extends PageContextPrepareMinimum>(pageContextCreated: T,
|
|
5
|
+
declare function createPageContextShared<T extends PageContextPrepareMinimum>(pageContextCreated: T, vikeConfigPublicGlobal: VikeConfigPublicGlobal): T & {
|
|
7
6
|
config: import("../types/index.js").ConfigResolved;
|
|
8
7
|
_source: import("./page-configs/resolveVikeConfigPublic.js").Source;
|
|
9
8
|
_sources: import("./page-configs/resolveVikeConfigPublic.js").Sources;
|
|
10
9
|
_from: import("./page-configs/resolveVikeConfigPublic.js").From;
|
|
11
|
-
}
|
|
10
|
+
};
|
|
12
11
|
declare function createPageContextObject(): {
|
|
13
12
|
_isOriginalObject: true;
|
|
14
13
|
isPageContext: true;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
export { createPageContextShared };
|
|
2
2
|
export { createPageContextObject };
|
|
3
3
|
import { changeEnumerable, objectAssign } from './utils.js';
|
|
4
|
-
|
|
5
|
-
async function createPageContextShared(pageContextCreated, pageConfigGlobal, vikeConfigPublicGlobal) {
|
|
4
|
+
function createPageContextShared(pageContextCreated, vikeConfigPublicGlobal) {
|
|
6
5
|
objectAssign(pageContextCreated, vikeConfigPublicGlobal);
|
|
7
6
|
return pageContextCreated;
|
|
8
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { determinePageIdOld };
|
|
2
2
|
import { slice, assert } from './utils.js';
|
|
3
|
-
//
|
|
3
|
+
// TO-DO/next-major-release: remove
|
|
4
4
|
function determinePageIdOld(filePath) {
|
|
5
5
|
const pageSuffix = '.page.';
|
|
6
6
|
const pageId = slice(filePath.split(pageSuffix), 0, -1).join(pageSuffix);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { getErrorPageId };
|
|
2
2
|
export { isErrorPageId };
|
|
3
3
|
export { isErrorPage };
|
|
4
|
-
//
|
|
4
|
+
// TO-DO/next-major-release: consider loading this file only for Client Routing
|
|
5
5
|
import { assert, assertUsage, unique } from './utils.js';
|
|
6
6
|
function getErrorPageId(pageFilesAll, pageConfigs) {
|
|
7
7
|
if (pageConfigs.length > 0) {
|
|
@@ -11,7 +11,7 @@ function getErrorPageId(pageFilesAll, pageConfigs) {
|
|
|
11
11
|
assertUsage(errorPageConfigs.length === 1, 'Only one error page can be defined');
|
|
12
12
|
return errorPageConfigs[0].pageId;
|
|
13
13
|
}
|
|
14
|
-
//
|
|
14
|
+
// TO-DO/next-major-release: remove
|
|
15
15
|
const errorPageIds = unique(pageFilesAll.map(({ pageId }) => pageId).filter((pageId) => isErrorPageId(pageId, false)));
|
|
16
16
|
assertUsage(errorPageIds.length <= 1, `Only one _error.page.js is allowed, but found several: ${errorPageIds.join(' ')}`);
|
|
17
17
|
if (errorPageIds.length > 0) {
|
|
@@ -21,7 +21,7 @@ function getErrorPageId(pageFilesAll, pageConfigs) {
|
|
|
21
21
|
}
|
|
22
22
|
return null;
|
|
23
23
|
}
|
|
24
|
-
//
|
|
24
|
+
// TO-DO/next-major-release: remove
|
|
25
25
|
function isErrorPageId(pageId, _isV1Design) {
|
|
26
26
|
assert(!pageId.includes('\\'));
|
|
27
27
|
return pageId.includes('/_error');
|
|
@@ -38,7 +38,7 @@ function getUrlParsed(pageContext) {
|
|
|
38
38
|
// Reproduction: https://github.com/vikejs/vike/discussions/1436#discussioncomment-8142023
|
|
39
39
|
// Determine logical URL
|
|
40
40
|
const assertUrlResolved = (src) => assert(typeof urlResolved === 'string',
|
|
41
|
-
//
|
|
41
|
+
// TO-DO/eventually: remove debug logs, see:
|
|
42
42
|
// - https://github.com/vikejs/vike/issues/2138#issuecomment-2631713411
|
|
43
43
|
// - https://github.com/vikejs/vike/commit/5c7810f3080ab62536950f26e019bb2a3a517082
|
|
44
44
|
{ src, urlResolved });
|
|
@@ -83,7 +83,7 @@ function urlPathnameGetter() {
|
|
|
83
83
|
return urlPathname;
|
|
84
84
|
}
|
|
85
85
|
function urlGetter() {
|
|
86
|
-
//
|
|
86
|
+
// TO-DO/next-major-release: remove
|
|
87
87
|
assertWarning(false, '`pageContext.url` is outdated. Use `pageContext.urlPathname`, `pageContext.urlParsed`, or `pageContext.urlOriginal` instead. (See https://vike.dev/migration/0.4.23 for more information.)', { onlyOnce: true, showStackTrace: true });
|
|
88
88
|
return urlPathnameGetter.call(this);
|
|
89
89
|
}
|
|
@@ -105,7 +105,7 @@ function urlParsedGetter() {
|
|
|
105
105
|
warnHashNotAvailable('hashOriginal');
|
|
106
106
|
return urlParsed.hashOriginal;
|
|
107
107
|
},
|
|
108
|
-
//
|
|
108
|
+
// TO-DO/next-major-release: remove
|
|
109
109
|
get hashString() {
|
|
110
110
|
assertWarning(false, 'pageContext.urlParsed.hashString has been renamed to pageContext.urlParsed.hashOriginal', {
|
|
111
111
|
onlyOnce: true,
|
|
@@ -114,7 +114,7 @@ function urlParsedGetter() {
|
|
|
114
114
|
warnHashNotAvailable('hashString');
|
|
115
115
|
return urlParsed.hashOriginal;
|
|
116
116
|
},
|
|
117
|
-
//
|
|
117
|
+
// TO-DO/next-major-release: remove
|
|
118
118
|
get searchString() {
|
|
119
119
|
assertWarning(false, 'pageContext.urlParsed.searchString has been renamed to pageContext.urlParsed.searchOriginal', { onlyOnce: true, showStackTrace: true });
|
|
120
120
|
return urlParsed.searchOriginal;
|
|
@@ -9,7 +9,7 @@ function analyzeClientSide(pageConfig, pageFilesAll, pageId) {
|
|
|
9
9
|
return { isClientRuntimeLoaded, isClientRouting };
|
|
10
10
|
}
|
|
11
11
|
else {
|
|
12
|
-
//
|
|
12
|
+
// TO-DO/next-major-release: remove
|
|
13
13
|
// V0.4 design
|
|
14
14
|
const { isHtmlOnly, isClientRouting } = analyzePageClientSide(pageFilesAll, pageId);
|
|
15
15
|
return { isClientRuntimeLoaded: !isHtmlOnly, isClientRouting };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { analyzeExports };
|
|
2
2
|
import { getExportNames } from './getExportNames.js';
|
|
3
3
|
import { assertUsage } from '../../utils.js';
|
|
4
|
-
//
|
|
4
|
+
// TO-DO/next-major-release: remove
|
|
5
5
|
function analyzeExports({ pageFilesClientSide, pageFilesServerSide, pageId, }) {
|
|
6
6
|
return { isHtmlOnly: isHtmlOnly(), isClientRouting: isClientRouting() };
|
|
7
7
|
function isHtmlOnly() {
|
|
@@ -6,7 +6,7 @@ import { getPageFilesClientSide } from './getAllPageIdFiles.js';
|
|
|
6
6
|
import { getPageFilesServerSide } from './getAllPageIdFiles.js';
|
|
7
7
|
import { assert } from '../utils.js';
|
|
8
8
|
import { getExportNames } from './analyzePageClientSide/getExportNames.js';
|
|
9
|
-
//
|
|
9
|
+
// TO-DO/next-major-release: remove analyzePageClientSide(), use analyzeClientSide() instead
|
|
10
10
|
function analyzePageClientSide(pageFilesAll, pageId) {
|
|
11
11
|
let pageFilesClientSide = getPageFilesClientSide(pageFilesAll, pageId);
|
|
12
12
|
const pageFilesServerSide = getPageFilesServerSide(pageFilesAll, pageId);
|
|
@@ -24,7 +24,7 @@ function analyzePageClientSide(pageFilesAll, pageId) {
|
|
|
24
24
|
});
|
|
25
25
|
return { isHtmlOnly, isClientRouting, clientEntries, clientDependencies, pageFilesClientSide, pageFilesServerSide };
|
|
26
26
|
}
|
|
27
|
-
//
|
|
27
|
+
// TO-DO/next-major-release: remove
|
|
28
28
|
async function analyzePageClientSideInit(pageFilesAll, pageId, { sharedPageFilesAlreadyLoaded }) {
|
|
29
29
|
const pageFilesClientSide = getPageFilesClientSide(pageFilesAll, pageId);
|
|
30
30
|
await Promise.all(pageFilesClientSide.map(async (p) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { parseVirtualFileExports };
|
|
2
|
-
//
|
|
2
|
+
// TO-DO/next-major-release: remove old design code, and remove all assertions.
|
|
3
3
|
import { assert, hasProp, isCallable, isObject, cast, isArray } from '../utils.js';
|
|
4
4
|
import { assertExportValues } from './assert_exports_old_design.js';
|
|
5
5
|
import { getPageFileObject } from './getPageFileObject.js';
|
|
@@ -45,7 +45,7 @@ function onInternalProp(propStr, objName) {
|
|
|
45
45
|
// - If Rolldown Vite + Rolldowns always transpiles node_modules/ then we can simply use import.meta.env.SSR
|
|
46
46
|
if (isBrowser())
|
|
47
47
|
return;
|
|
48
|
-
//
|
|
48
|
+
// TO-DO/soon/proxy: remove this and only warn on built-in access instead
|
|
49
49
|
if (propStr === '_configFromHook')
|
|
50
50
|
return;
|
|
51
51
|
if (propStr.startsWith('_')) {
|
|
@@ -4,7 +4,7 @@ export { getHookFromPageConfig };
|
|
|
4
4
|
export { getHookFromPageConfigGlobal };
|
|
5
5
|
export { getHookFromPageConfigGlobalCumulative };
|
|
6
6
|
export { getHook_setIsPrerenderering };
|
|
7
|
-
//
|
|
7
|
+
// TO-DO/next-major-release: remove
|
|
8
8
|
// We export for old V0.4 design which doesn't support config.hooksTimeout
|
|
9
9
|
export { getHookTimeoutDefault };
|
|
10
10
|
import { getGlobalObject } from '../../utils/getGlobalObject.js';
|
|
@@ -33,12 +33,13 @@ function getDefinedAtString(definedAtData, configName) {
|
|
|
33
33
|
if (definedAt.definedBy)
|
|
34
34
|
return getDefinedByString(definedAt, configName);
|
|
35
35
|
const { filePathToShowToUser, fileExportPathToShowToUser } = definedAt;
|
|
36
|
-
let s = filePathToShowToUser;
|
|
37
36
|
const exportPath = getExportPath(fileExportPathToShowToUser, configName);
|
|
38
37
|
if (exportPath) {
|
|
39
|
-
|
|
38
|
+
return `${filePathToShowToUser} > ${pc.cyan(exportPath)}`;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
return filePathToShowToUser;
|
|
40
42
|
}
|
|
41
|
-
return s;
|
|
42
43
|
})
|
|
43
44
|
.join(' / ');
|
|
44
45
|
return definedAtString;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
//
|
|
2
|
-
//
|
|
1
|
+
// TO-DO/soon/same-api: use public API internally?
|
|
2
|
+
// TO-DO/soon/flat-pageContext: rename definedAt => definedBy
|
|
3
3
|
export { resolveVikeConfigPublicGlobal };
|
|
4
4
|
export { resolveVikeConfigPublicPageEager };
|
|
5
5
|
export { resolveVikeConfigPublicPageLazy };
|
|
@@ -47,10 +47,10 @@ function resolveVikeConfigPublicPageLazy(pageFiles, // V0.4 design
|
|
|
47
47
|
pageConfig, // V1 design
|
|
48
48
|
pageConfigGlobal) {
|
|
49
49
|
const config = {};
|
|
50
|
-
const configEntries = {}; //
|
|
51
|
-
const exportsAll = {}; //
|
|
50
|
+
const configEntries = {}; // TO-DO/next-major-release: remove
|
|
51
|
+
const exportsAll = {}; // TO-DO/next-major-release: remove
|
|
52
52
|
// V0.4 design
|
|
53
|
-
//
|
|
53
|
+
// TO-DO/next-major-release: remove
|
|
54
54
|
pageFiles.forEach((pageFile) => {
|
|
55
55
|
const exportValues = getExportValues(pageFile);
|
|
56
56
|
exportValues.forEach(({ exportName, exportValue, isFromDefaultExport }) => {
|
|
@@ -60,7 +60,7 @@ pageConfigGlobal) {
|
|
|
60
60
|
exportValue,
|
|
61
61
|
exportSource: `${pageFile.filePath} > ${isFromDefaultExport ? `\`export default { ${exportName} }\`` : `\`export { ${exportName} }\``}`,
|
|
62
62
|
filePath: pageFile.filePath,
|
|
63
|
-
_filePath: pageFile.filePath, //
|
|
63
|
+
_filePath: pageFile.filePath, // TO-DO/next-major-release: remove
|
|
64
64
|
_fileType: pageFile.fileType,
|
|
65
65
|
_isFromDefaultExport: isFromDefaultExport,
|
|
66
66
|
});
|
|
@@ -105,18 +105,18 @@ pageConfigGlobal) {
|
|
|
105
105
|
});
|
|
106
106
|
assert(!('default' in exports));
|
|
107
107
|
assert(!('default' in exportsAll));
|
|
108
|
-
const
|
|
108
|
+
const configPublicPageLazy = {
|
|
109
109
|
config: config,
|
|
110
110
|
from,
|
|
111
111
|
source,
|
|
112
112
|
sources,
|
|
113
|
-
//
|
|
113
|
+
// TO-DO/soon/flat-pageContext: deprecate every prop below
|
|
114
114
|
configEntries,
|
|
115
115
|
exports,
|
|
116
116
|
exportsAll,
|
|
117
117
|
};
|
|
118
|
-
//
|
|
119
|
-
objectDefineProperty(
|
|
118
|
+
// TO-DO/next-major-release: remove
|
|
119
|
+
objectDefineProperty(configPublicPageLazy, 'pageExports', {
|
|
120
120
|
get: () => {
|
|
121
121
|
// We only show the warning in Node.js because when using Client Routing Vue integration uses `Object.assign(pageContextReactive, pageContext)` which will wrongully trigger the warning. There is no cross-browser way to catch whether the property accessor was initiated by an `Object.assign()` call.
|
|
122
122
|
if (!isBrowser()) {
|
|
@@ -130,7 +130,7 @@ pageConfigGlobal) {
|
|
|
130
130
|
enumerable: false,
|
|
131
131
|
configurable: true,
|
|
132
132
|
});
|
|
133
|
-
return
|
|
133
|
+
return configPublicPageLazy;
|
|
134
134
|
}
|
|
135
135
|
// V1 design
|
|
136
136
|
function resolveVikeConfigPublic_V1Design(pageConfig) {
|
|
@@ -158,7 +158,7 @@ function resolveVikeConfigPublic_V1Design(pageConfig) {
|
|
|
158
158
|
configDefinedAt,
|
|
159
159
|
configDefinedByFile: configValueFilePathToShowToUser,
|
|
160
160
|
});
|
|
161
|
-
//
|
|
161
|
+
// TO-DO/next-major-release: remove
|
|
162
162
|
const exportName = configName;
|
|
163
163
|
exportsAll[exportName] = exportsAll[exportName] ?? [];
|
|
164
164
|
exportsAll[exportName].push({
|
|
@@ -173,7 +173,7 @@ function logJsonSerializeError(err, configName, definedAtData) {
|
|
|
173
173
|
//*/
|
|
174
174
|
const configValueFilePathToShowToUser = getConfigValueFilePathToShowToUser(definedAtData);
|
|
175
175
|
assert(configValueFilePathToShowToUser);
|
|
176
|
-
assertUsage(false, `${pc.cyan(configName)} defined by ${configValueFilePathToShowToUser} must be defined
|
|
176
|
+
assertUsage(false, `${pc.cyan(configName)} defined by ${configValueFilePathToShowToUser} must be defined using a separate file ${pc.bold(`+${configName}.js`)}, see https://vike.dev/error/runtime-in-config`);
|
|
177
177
|
}
|
|
178
178
|
function getConfigValuesBase(pageConfig, isEnvMatch, isEager) {
|
|
179
179
|
const fromComputed = Object.entries(pageConfig.configValuesComputed ?? {}).map(([configName, valueInfo]) => {
|
|
@@ -9,7 +9,7 @@ function preparePageContextForPublicUsage(pageContext) {
|
|
|
9
9
|
assert(!pageContext.globalContext); // pageContext.globalContext should only be available to users — Vike itself should use pageContext._globalContext instead
|
|
10
10
|
assert(pageContext._isOriginalObject); // ensure we preserve the original object reference
|
|
11
11
|
addIs404ToPageProps(pageContext);
|
|
12
|
-
//
|
|
12
|
+
// TO-DO/next-major-release: remove
|
|
13
13
|
if (!('_pageId' in pageContext)) {
|
|
14
14
|
Object.defineProperty(pageContext, '_pageId', {
|
|
15
15
|
get() {
|
|
@@ -27,7 +27,7 @@ function preparePageContextForPublicUsage(pageContext) {
|
|
|
27
27
|
const globalContextPublic = prepareGlobalContextForPublicUsage(pageContext._globalContext);
|
|
28
28
|
const pageContextPublic = getProxyForPublicUsage(pageContext, 'pageContext',
|
|
29
29
|
// We must skip it in the client-side because of the reactivity mechanism of UI frameworks like Solid.
|
|
30
|
-
// -
|
|
30
|
+
// - TO-DO/soon/proxy: double check whether that's true
|
|
31
31
|
true, (prop) => {
|
|
32
32
|
if (prop === 'globalContext') {
|
|
33
33
|
return globalContextPublic;
|
|
@@ -65,11 +65,11 @@ function assertPropertyGetters(pageContext) {
|
|
|
65
65
|
;
|
|
66
66
|
[
|
|
67
67
|
'urlPathname',
|
|
68
|
-
//
|
|
68
|
+
// TO-DO/next-major-release: remove
|
|
69
69
|
'urlParsed',
|
|
70
|
-
//
|
|
70
|
+
// TO-DO/next-major-release: remove
|
|
71
71
|
'url',
|
|
72
|
-
//
|
|
72
|
+
// TO-DO/next-major-release: remove
|
|
73
73
|
'pageExports',
|
|
74
74
|
].forEach((prop) => {
|
|
75
75
|
if (pageContext.prop)
|