vike 0.4.235 → 0.4.236-commit-64431e7
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 +2 -3
- 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 +109 -28
- package/dist/cjs/node/runtime/html/injectAssets/getViteDevScript.js +8 -1
- package/dist/cjs/node/runtime/html/injectAssets/injectAssets__public.js +1 -1
- package/dist/cjs/node/runtime/html/injectAssets/injectHtmlTags.js +2 -0
- package/dist/cjs/node/runtime/html/serializeContext.js +73 -15
- 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.js +9 -6
- 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/{createHttpResponse/getCacheControl.js → getCacheControl.js} +9 -9
- 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/getPageAssets.js +15 -12
- package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +35 -16
- package/dist/cjs/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +1 -1
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -0
- package/dist/cjs/node/runtime/renderPage.js +4 -6
- package/dist/cjs/node/runtime/utils.js +1 -0
- package/dist/cjs/node/vite/index.js +2 -0
- package/dist/cjs/node/vite/onLoad.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +3 -3
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +3 -2
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildEntry.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistFileNames.js +16 -7
- package/dist/cjs/node/vite/plugins/pluginCommon/assertResolveAlias.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginCommon.js +9 -4
- package/dist/cjs/node/vite/plugins/pluginDev.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginEnvVars.js +4 -4
- package/dist/cjs/node/vite/plugins/pluginExtractExportNames.js +2 -2
- package/dist/cjs/node/vite/plugins/pluginFileEnv.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginReplaceConstants.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginViteRPC.js +42 -0
- package/dist/cjs/node/vite/shared/addSsrMiddleware.js +1 -1
- package/dist/cjs/node/vite/shared/applyRegExWithMagicString.js +1 -0
- package/dist/cjs/node/vite/shared/loggerNotProd.js +10 -6
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +5 -1
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +1 -3
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.js +4 -6
- 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/createGlobalContextShared.js +28 -7
- 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 +3 -3
- 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 +10 -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 +11 -8
- package/dist/cjs/utils/debug.js +1 -0
- package/dist/cjs/utils/debugGlob.js +1 -1
- package/dist/cjs/utils/getViteRPC.js +79 -0
- package/dist/cjs/utils/parseNpmPackage.js +1 -1
- package/dist/esm/__internal/index.d.ts +1 -1
- package/dist/esm/__internal/index.js +1 -1
- package/dist/esm/client/node.js +1 -1
- package/dist/esm/client/runtime-client-routing/createPageContextClientSide.d.ts +1 -1
- package/dist/esm/client/runtime-client-routing/createPageContextClientSide.js +2 -2
- package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +10 -2
- package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.js +6 -6
- package/dist/esm/client/runtime-client-routing/globalContext.d.ts +1 -1
- package/dist/esm/client/runtime-client-routing/index.js +1 -1
- 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.d.ts +3 -1
- 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.d.ts +1 -1
- package/dist/esm/client/runtime-server-routing/createPageContextClientSide.js +2 -2
- package/dist/esm/client/runtime-server-routing/globalContext.d.ts +1 -1
- package/dist/esm/client/runtime-server-routing/index.js +1 -1
- package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +5 -4
- package/dist/esm/client/shared/createGetGlobalContextClient.js +1 -2
- 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.d.ts +42 -133
- package/dist/esm/node/prerender/runPrerender.js +9 -13
- package/dist/esm/node/runtime/globalContext.d.ts +39 -59
- package/dist/esm/node/runtime/globalContext.js +112 -31
- package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.js +8 -1
- package/dist/esm/node/runtime/html/injectAssets/injectAssets__public.js +1 -1
- package/dist/esm/node/runtime/html/injectAssets/injectHtmlTags.js +2 -0
- package/dist/esm/node/runtime/html/serializeContext.d.ts +7 -1
- package/dist/esm/node/runtime/html/serializeContext.js +73 -15
- 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.d.ts +1 -0
- package/dist/esm/node/runtime/renderPage/createHttpResponse.js +9 -6
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +12 -35
- 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/getCacheControl.d.ts +5 -0
- package/dist/esm/node/runtime/renderPage/{createHttpResponse/getCacheControl.js → getCacheControl.js} +8 -9
- 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/getPageAssets.js +16 -13
- package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.d.ts +8 -4
- package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +36 -17
- package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +1 -1
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +24 -68
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -0
- package/dist/esm/node/runtime/renderPage.d.ts +13 -36
- package/dist/esm/node/runtime/renderPage.js +4 -6
- package/dist/esm/node/runtime/utils.d.ts +1 -0
- package/dist/esm/node/runtime/utils.js +1 -0
- package/dist/esm/node/vite/index.js +3 -1
- package/dist/esm/node/vite/onLoad.js +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.js +3 -3
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.js +3 -2
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildEntry.js +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/pluginDistFileNames.js +16 -7
- 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.d.ts +3 -0
- package/dist/esm/node/vite/plugins/pluginCommon.js +9 -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 +1 -1
- package/dist/esm/node/vite/plugins/pluginViteRPC.d.ts +25 -0
- package/dist/esm/node/vite/plugins/pluginViteRPC.js +40 -0
- package/dist/esm/node/vite/shared/addSsrMiddleware.js +1 -1
- package/dist/esm/node/vite/shared/applyRegExWithMagicString.js +1 -0
- package/dist/esm/node/vite/shared/loggerNotProd.js +10 -0
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +5 -1
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +1 -3
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.js +4 -6
- 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/createGlobalContextShared.d.ts +3 -3
- package/dist/esm/shared/createGlobalContextShared.js +28 -7
- 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.d.ts +5 -0
- package/dist/esm/shared/route/loadPageRoutes.js +10 -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/types/Config.d.ts +9 -1
- package/dist/esm/types/PageContext.d.ts +8 -2
- 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 +11 -8
- package/dist/esm/utils/debug.d.ts +1 -1
- package/dist/esm/utils/debug.js +1 -0
- package/dist/esm/utils/debugGlob.js +1 -1
- package/dist/esm/utils/getViteRPC.d.ts +6 -0
- package/dist/esm/utils/getViteRPC.js +77 -0
- package/dist/esm/utils/parseNpmPackage.js +1 -1
- package/package.json +12 -6
- package/dist/esm/node/runtime/renderPage/createHttpResponse/getCacheControl.d.ts +0 -5
|
@@ -38,7 +38,7 @@ function getServerProductionEntryCode(config) {
|
|
|
38
38
|
const importPath = getImportPath(config);
|
|
39
39
|
const buildInfo = {
|
|
40
40
|
versionAtBuildTime: utils_js_1.PROJECT_VERSION,
|
|
41
|
-
usesClientRouter: (0, pluginExtractExportNames_js_1.isUsingClientRouter)(), //
|
|
41
|
+
usesClientRouter: (0, pluginExtractExportNames_js_1.isUsingClientRouter)(), // TO-DO/next-major-release: remove
|
|
42
42
|
viteConfigRuntime: (0, getViteConfigRuntime_js_1.getViteConfigRuntime)(config),
|
|
43
43
|
};
|
|
44
44
|
(0, globalContext_js_1.assertBuildInfo)(buildInfo);
|
|
@@ -18,6 +18,8 @@ function pluginDistFileNames() {
|
|
|
18
18
|
apply: 'build',
|
|
19
19
|
enforce: 'post',
|
|
20
20
|
configResolved(config) {
|
|
21
|
+
// TODO/now remove
|
|
22
|
+
// if (true as boolean) return
|
|
21
23
|
const rollupOutputs = getRollupOutputs(config);
|
|
22
24
|
// We need to support multiple outputs: @vite/plugin-legacy adds an output, see https://github.com/vikejs/vike/issues/477#issuecomment-1406434802
|
|
23
25
|
rollupOutputs.forEach((rollupOutput) => {
|
|
@@ -106,6 +108,7 @@ function getIdHash(id) {
|
|
|
106
108
|
return node_crypto_1.default.createHash('md5').update(id).digest('hex').slice(0, 8);
|
|
107
109
|
}
|
|
108
110
|
function getAssetFileName(assetInfo, config) {
|
|
111
|
+
const userRootDir = config.root;
|
|
109
112
|
const assetsDir = (0, getAssetsDir_js_1.getAssetsDir)(config);
|
|
110
113
|
const dir = assetsDir + '/static';
|
|
111
114
|
let { name } = assetInfo;
|
|
@@ -123,11 +126,11 @@ function getAssetFileName(assetInfo, config) {
|
|
|
123
126
|
// Vite 3
|
|
124
127
|
name?.endsWith('?extractAssets&lang.css')) {
|
|
125
128
|
name = name.split('.').slice(0, -2).join('.');
|
|
126
|
-
name = clean(name);
|
|
129
|
+
name = clean(name, userRootDir);
|
|
127
130
|
return `${dir}/${name}.[hash][extname]`;
|
|
128
131
|
}
|
|
129
132
|
name = name.split('.').slice(0, -1).join('.');
|
|
130
|
-
name = clean(name);
|
|
133
|
+
name = clean(name, userRootDir);
|
|
131
134
|
return `${dir}/${name}.[hash][extname]`;
|
|
132
135
|
}
|
|
133
136
|
function getChunkFileName(_chunkInfo, config) {
|
|
@@ -140,11 +143,12 @@ function getChunkFileName(_chunkInfo, config) {
|
|
|
140
143
|
return name;
|
|
141
144
|
}
|
|
142
145
|
function getEntryFileName(chunkInfo, config, isEntry) {
|
|
146
|
+
const userRootDir = config.root;
|
|
143
147
|
const assetsDir = (0, getAssetsDir_js_1.getAssetsDir)(config);
|
|
144
148
|
const isForClientSide = !config.build.ssr;
|
|
145
149
|
let { name } = chunkInfo;
|
|
146
150
|
(0, utils_js_1.assertPosixPath)(name);
|
|
147
|
-
name = clean(name, true,
|
|
151
|
+
name = clean(name, userRootDir, true,
|
|
148
152
|
// Not needed for client-side because dist/ filenames contain `.[hash].js`
|
|
149
153
|
!isForClientSide);
|
|
150
154
|
if (isForClientSide) {
|
|
@@ -154,9 +158,14 @@ function getEntryFileName(chunkInfo, config, isEntry) {
|
|
|
154
158
|
return `${name}.${isEntry ? 'mjs' : 'js'}`;
|
|
155
159
|
}
|
|
156
160
|
}
|
|
157
|
-
function removePathSeparators(name) {
|
|
161
|
+
function removePathSeparators(name, userRootDir) {
|
|
158
162
|
(0, utils_js_1.assertPosixPath)(name);
|
|
159
|
-
|
|
163
|
+
if (name.startsWith(userRootDir)) {
|
|
164
|
+
name = name.slice(userRootDir.length);
|
|
165
|
+
if (name.startsWith('/'))
|
|
166
|
+
name = name.slice(1);
|
|
167
|
+
}
|
|
168
|
+
(0, utils_js_1.assert)(!name.startsWith('/'), { name });
|
|
160
169
|
const entryDir = 'entries/';
|
|
161
170
|
const hasEntryDir = name.startsWith(entryDir);
|
|
162
171
|
if (hasEntryDir) {
|
|
@@ -169,14 +178,14 @@ function removePathSeparators(name) {
|
|
|
169
178
|
}
|
|
170
179
|
return name;
|
|
171
180
|
}
|
|
172
|
-
function clean(name, removePathSep, fixGlob) {
|
|
181
|
+
function clean(name, userRootDir, removePathSep, fixGlob) {
|
|
173
182
|
name = fixExtractAssetsQuery(name);
|
|
174
183
|
if (fixGlob) {
|
|
175
184
|
name = workaroundGlob(name);
|
|
176
185
|
}
|
|
177
186
|
name = replaceNonLatinCharacters(name);
|
|
178
187
|
if (removePathSep) {
|
|
179
|
-
name = removePathSeparators(name);
|
|
188
|
+
name = removePathSeparators(name, userRootDir);
|
|
180
189
|
}
|
|
181
190
|
name = removeLeadingUnderscoreInFilename(name);
|
|
182
191
|
name = removeUnderscoreDoublets(name);
|
|
@@ -19,7 +19,7 @@ const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
|
19
19
|
// - @vitejs/plugin-vue2
|
|
20
20
|
// - https://github.com/vikejs/vike/issues/1329
|
|
21
21
|
function assertResolveAlias(config) {
|
|
22
|
-
//
|
|
22
|
+
// TO-DO/eventually: re-implement warning https://github.com/vikejs/vike/issues/1567
|
|
23
23
|
return;
|
|
24
24
|
const aliases = getAliases(config);
|
|
25
25
|
const errPrefix = config.configFile || 'Your Vite configuration';
|
|
@@ -16,6 +16,7 @@ const resolveVikeConfigInternal_js_1 = require("../shared/resolveVikeConfigInter
|
|
|
16
16
|
const prepareViteApiCall_js_1 = require("../../api/prepareViteApiCall.js");
|
|
17
17
|
const context_js_2 = require("../../prerender/context.js");
|
|
18
18
|
const pluginName = 'vike:pluginCommon';
|
|
19
|
+
globalThis.__VIKE__IS_PROCESS_SHARED_WITH_VITE = true;
|
|
19
20
|
function pluginCommon(vikeVitePluginOptions) {
|
|
20
21
|
return [
|
|
21
22
|
{
|
|
@@ -30,13 +31,13 @@ function pluginCommon(vikeVitePluginOptions) {
|
|
|
30
31
|
? (0, prepareViteApiCall_js_1.normalizeViteRoot)(configFromUser.root)
|
|
31
32
|
: await (0, prepareViteApiCall_js_1.getViteRoot)(operation);
|
|
32
33
|
(0, utils_js_1.assert)(rootResolvedEarly);
|
|
33
|
-
//
|
|
34
|
+
// 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
|
|
34
35
|
(0, resolveVikeConfigInternal_js_1.setVikeConfigContext)({ userRootDir: rootResolvedEarly, isDev, vikeVitePluginOptions });
|
|
35
36
|
const vikeConfig = await (0, resolveVikeConfigInternal_js_1.getVikeConfigInternal)();
|
|
36
37
|
return {
|
|
37
38
|
_isDev: isDev,
|
|
38
39
|
_rootResolvedEarly: rootResolvedEarly,
|
|
39
|
-
//
|
|
40
|
+
// TO-DO/next-major-release: remove https://github.com/vikejs/vike/issues/2122
|
|
40
41
|
configVikePromise: Promise.resolve({
|
|
41
42
|
prerender: vikeConfig.prerenderContext.isPrerenderingEnabled,
|
|
42
43
|
}),
|
|
@@ -58,7 +59,11 @@ function pluginCommon(vikeVitePluginOptions) {
|
|
|
58
59
|
configResolved: {
|
|
59
60
|
order: 'post',
|
|
60
61
|
async handler(config) {
|
|
61
|
-
/*
|
|
62
|
+
/* Also externalize linked dependencies by default?
|
|
63
|
+
* - Can this be done while the user sets ssr.external to `string[]`? I guess not?
|
|
64
|
+
* - If not then it's a problem: it makes the default inconsistent.
|
|
65
|
+
* - https://vite.dev/config/ssr-options.html#ssr-external
|
|
66
|
+
* - New setting +transpileLinkedDependencies ?
|
|
62
67
|
overrideViteDefaultSsrExternal(config)
|
|
63
68
|
//*/
|
|
64
69
|
workaroundCI(config);
|
|
@@ -162,7 +167,7 @@ function assertVikeCliOrApi(config) {
|
|
|
162
167
|
onlyOnce: true,
|
|
163
168
|
});
|
|
164
169
|
}
|
|
165
|
-
//
|
|
170
|
+
// TO-DO/next-major-release: remove https://github.com/vikejs/vike/issues/2122
|
|
166
171
|
function temp_supportOldInterface(config) {
|
|
167
172
|
if (!('vitePluginSsr' in config))
|
|
168
173
|
return;
|
|
@@ -25,7 +25,7 @@ function pluginDev() {
|
|
|
25
25
|
config() {
|
|
26
26
|
return {
|
|
27
27
|
appType: 'custom',
|
|
28
|
-
//
|
|
28
|
+
// TO-DO/next-major-release: remove (AFAICT we only need to use config.optimizeDeps for the old design)
|
|
29
29
|
optimizeDeps: {
|
|
30
30
|
exclude: [
|
|
31
31
|
// We exclude Vike's client runtime to be able to use Vite's import.meta.glob()
|
|
@@ -11,8 +11,8 @@ const getFilePath_js_1 = require("../shared/getFilePath.js");
|
|
|
11
11
|
const normalizeId_js_1 = require("../shared/normalizeId.js");
|
|
12
12
|
const isViteServerBuild_js_1 = require("../shared/isViteServerBuild.js");
|
|
13
13
|
const applyRegExWithMagicString_js_1 = require("../shared/applyRegExWithMagicString.js");
|
|
14
|
-
//
|
|
15
|
-
// - Make
|
|
14
|
+
// TO-DO/eventually:
|
|
15
|
+
// - Make ({}) work inside +config.js
|
|
16
16
|
// - 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
|
|
17
17
|
// - 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`.)
|
|
18
18
|
const PUBLIC_ENV_PREFIX = 'PUBLIC_ENV__';
|
|
@@ -39,7 +39,7 @@ function pluginEnvVars() {
|
|
|
39
39
|
(0, utils_js_1.assertPosixPath)(config.root);
|
|
40
40
|
if (!id.startsWith(config.root))
|
|
41
41
|
return;
|
|
42
|
-
if (!code.includes('
|
|
42
|
+
if (!code.includes('({}).'))
|
|
43
43
|
return;
|
|
44
44
|
const isBuild = config.command === 'build';
|
|
45
45
|
const isClientSide = !(0, isViteServerBuild_js_1.isViteServerBuild_safe)(config, options);
|
|
@@ -52,7 +52,7 @@ function pluginEnvVars() {
|
|
|
52
52
|
return !envPrefix.some((prefix) => key.startsWith(prefix));
|
|
53
53
|
})
|
|
54
54
|
.map(([envName, envVal]) => {
|
|
55
|
-
const envStatement = `
|
|
55
|
+
const envStatement = `({}).${envName}`;
|
|
56
56
|
const envStatementRegExpStr = (0, utils_js_1.escapeRegex)(envStatement) + '\\b';
|
|
57
57
|
// Security check
|
|
58
58
|
{
|
|
@@ -81,12 +81,12 @@ function injectHmr(code, isClientSide, isProduction) {
|
|
|
81
81
|
}
|
|
82
82
|
if (isClientSide) {
|
|
83
83
|
code += '\n';
|
|
84
|
-
code += `if (
|
|
84
|
+
code += `if ((undefined)) (undefined).accept((mod) => { exportNames.length=0; exportNames.push(...mod.exportNames); });`;
|
|
85
85
|
}
|
|
86
86
|
else {
|
|
87
87
|
// Ensure Vite considers the module as `isSelfAccepting`. (Needed because Vite's module graph erroneously conflates the Vite server-side modules with their client-side counterparts.)
|
|
88
88
|
code += '\n';
|
|
89
|
-
code += 'if(false){
|
|
89
|
+
code += 'if(false){(undefined).accept(()=>{})};';
|
|
90
90
|
}
|
|
91
91
|
return code;
|
|
92
92
|
}
|
|
@@ -124,7 +124,7 @@ function pluginFileEnv() {
|
|
|
124
124
|
return modulePath.includes(suffixWrong);
|
|
125
125
|
}
|
|
126
126
|
function skip(id) {
|
|
127
|
-
//
|
|
127
|
+
// TO-DO/next-major-release: remove
|
|
128
128
|
if (pluginExtractAssets_js_1.extractAssetsRE.test(id) || pluginExtractExportNames_js_1.extractExportNamesRE.test(id))
|
|
129
129
|
return true;
|
|
130
130
|
if (!id.includes(getSuffix('client')) && !id.includes(getSuffix('server')))
|
|
@@ -26,7 +26,7 @@ function pluginReplaceConstants() {
|
|
|
26
26
|
(0, utils_js_1.assertPosixPath)(config.root);
|
|
27
27
|
if (!id.startsWith(config.root))
|
|
28
28
|
return;
|
|
29
|
-
if (!code.includes('
|
|
29
|
+
if (!code.includes('({}).'))
|
|
30
30
|
return;
|
|
31
31
|
const isBuild = config.command === 'build';
|
|
32
32
|
(0, utils_js_1.assert)(isBuild);
|
|
@@ -25,7 +25,7 @@ function pluginVirtualFiles() {
|
|
|
25
25
|
name: 'vike:pluginVirtualFiles',
|
|
26
26
|
async configResolved(config_) {
|
|
27
27
|
config = config_;
|
|
28
|
-
//
|
|
28
|
+
// TO-DO/next-major-release: remove
|
|
29
29
|
if (!(0, resolveVikeConfigInternal_js_1.isV1Design)())
|
|
30
30
|
config.experimental.importGlobRestoreExtension = true;
|
|
31
31
|
},
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pluginViteRPC = pluginViteRPC;
|
|
4
|
+
const utils_js_1 = require("../utils.js");
|
|
5
|
+
const resolveClientEntriesDev_js_1 = require("../shared/resolveClientEntriesDev.js");
|
|
6
|
+
const retrieveAssetsDev_js_1 = require("../../runtime/renderPage/getPageAssets/retrieveAssetsDev.js");
|
|
7
|
+
const getViteConfigRuntime_js_1 = require("../shared/getViteConfigRuntime.js");
|
|
8
|
+
(0, utils_js_1.assertIsNotProductionRuntime)();
|
|
9
|
+
function getViteRpcFunctions(viteDevServer) {
|
|
10
|
+
return {
|
|
11
|
+
async transformIndexHtmlRPC(html) {
|
|
12
|
+
return await viteDevServer.transformIndexHtml('/', html);
|
|
13
|
+
},
|
|
14
|
+
async retrievePageAssetsDevRPC(clientDependencies, clientEntries) {
|
|
15
|
+
const clientEntriesSrc = clientEntries.map((clientEntry) => (0, resolveClientEntriesDev_js_1.resolveClientEntriesDev)(clientEntry, viteDevServer));
|
|
16
|
+
const assetUrls = await (0, retrieveAssetsDev_js_1.retrieveAssetsDev)(clientDependencies, viteDevServer);
|
|
17
|
+
return { clientEntriesSrc, assetUrls };
|
|
18
|
+
},
|
|
19
|
+
async getViteConfigRuntimeRPC() {
|
|
20
|
+
const viteConfigRuntime = (0, getViteConfigRuntime_js_1.getViteConfigRuntime)(viteDevServer.config);
|
|
21
|
+
return viteConfigRuntime;
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function pluginViteRPC() {
|
|
26
|
+
const runtimeFileWithDynamicImport = (0, utils_js_1.requireResolveVikeDistFile)('dist/esm/node/runtime/globalContext.js');
|
|
27
|
+
return {
|
|
28
|
+
name: 'vike:pluginViteRPC',
|
|
29
|
+
configureServer(viteDevServer) {
|
|
30
|
+
(0, utils_js_1.createViteRPC)(viteDevServer, getViteRpcFunctions);
|
|
31
|
+
},
|
|
32
|
+
transform(code, id) {
|
|
33
|
+
if (id !== runtimeFileWithDynamicImport)
|
|
34
|
+
return;
|
|
35
|
+
const envName = this.environment?.name;
|
|
36
|
+
if (!envName || ['client', 'ssr'].includes(envName))
|
|
37
|
+
return;
|
|
38
|
+
// TODO/now use magic-string
|
|
39
|
+
return code.replaceAll('__VIKE__DYNAMIC_IMPORT', 'import');
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
}
|
|
@@ -21,7 +21,7 @@ function addSsrMiddleware(middlewares, config, isPreview, isPrerenderingEnabled)
|
|
|
21
21
|
};
|
|
22
22
|
Object.defineProperty(pageContextInit, 'userAgent', {
|
|
23
23
|
get() {
|
|
24
|
-
//
|
|
24
|
+
// TO-DO/next-major-release: assertUsage() instead of assertWarning()
|
|
25
25
|
(0, utils_js_1.assertWarning)(false, `${picocolors_1.default.cyan('pageContext.userAgent')} is deprecated: use ${picocolors_1.default.cyan("pageContext.headers['user-agent']")} instead.`, {
|
|
26
26
|
showStackTrace: true,
|
|
27
27
|
onlyOnce: true,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.applyRegExpWithMagicString = applyRegExpWithMagicString;
|
|
4
|
+
// TODO/now: replace with .replaceAll() ?
|
|
4
5
|
function applyRegExpWithMagicString(magicString, regExp, replacement) {
|
|
5
6
|
const envStatementRegEx = typeof regExp === 'string' ? new RegExp(regExp, 'g') : regExp;
|
|
6
7
|
let match;
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
//
|
|
2
|
+
// TO-DO/eventually:
|
|
3
|
+
// - New hook onLog(): https://github.com/vikejs/vike/issues/1438
|
|
4
|
+
// - Exact same logs between prod and dev, only difference is that some log objects have:
|
|
5
|
+
// - `isDevLog: true`
|
|
6
|
+
// - `willBeLogged: false` in production
|
|
7
|
+
// - `showTimestamp: true`
|
|
8
|
+
// - Never clear screen (it's complex with little benefit)
|
|
9
|
+
// - Add shortcut to clear screen
|
|
10
|
+
// - Maybe rotate colors upon no requests within 30s?
|
|
11
|
+
// - Only show a one-liner init log (instead of Vite's multi-line log)
|
|
8
12
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
13
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
14
|
};
|
|
@@ -87,7 +87,7 @@ const configDefinitionsBuiltIn = {
|
|
|
87
87
|
env: { client: true },
|
|
88
88
|
eager: true,
|
|
89
89
|
},
|
|
90
|
-
//
|
|
90
|
+
// TO-DO/next-major-release: remove
|
|
91
91
|
prefetchStaticAssets: {
|
|
92
92
|
env: { client: true },
|
|
93
93
|
},
|
|
@@ -212,6 +212,10 @@ const configDefinitionsBuiltIn = {
|
|
|
212
212
|
env: { server: true },
|
|
213
213
|
global: true,
|
|
214
214
|
},
|
|
215
|
+
headersResponse: {
|
|
216
|
+
env: { server: true },
|
|
217
|
+
cumulative: true,
|
|
218
|
+
},
|
|
215
219
|
};
|
|
216
220
|
exports.configDefinitionsBuiltIn = configDefinitionsBuiltIn;
|
|
217
221
|
function getConfigEnv(configValueSources, configName) {
|
|
@@ -35,9 +35,7 @@ async function crawlPlusFiles(userRootDir) {
|
|
|
35
35
|
: // Fallback to tinyglobby for users that dynamically generate plus files. (Assuming that no plus file is found because of the user's .gitignore list.)
|
|
36
36
|
filesGlob;
|
|
37
37
|
(0, utils_js_1.assert)(files);
|
|
38
|
-
if (debug.isActivated) {
|
|
39
|
-
(0, utils_js_1.assert)(filesGit);
|
|
40
|
-
(0, utils_js_1.assert)(filesGlob);
|
|
38
|
+
if (debug.isActivated && filesGit && filesGlob) {
|
|
41
39
|
(0, utils_js_1.assertWarning)((0, utils_js_1.deepEqual)(filesGlob.slice().sort(), filesGit.slice().sort()), "Git and glob results aren't matching.", { onlyOnce: false });
|
|
42
40
|
}
|
|
43
41
|
// Filter build files
|
|
@@ -36,12 +36,10 @@ function getFilesystemRouteString(locationId) {
|
|
|
36
36
|
function getInheritanceRoot(locationId) {
|
|
37
37
|
return getLogicalPath(locationId, [
|
|
38
38
|
'renderer',
|
|
39
|
-
//
|
|
40
|
-
//
|
|
41
|
-
//
|
|
42
|
-
//
|
|
43
|
-
// - Not sure if it's a good idea? Could it make config inheritance confusing? Let's try for now and see how it goes.
|
|
44
|
-
// - TO-DO/eventually: update docs https://github.com/vikejs/vike/blob/5fcdc4d5094f1a4dcbefc0b481cdd30a205aef2d/docs/pages/filesystem-routing/%2BPage.mdx?plain=1#L98
|
|
39
|
+
// Enable hooks defined by vike-{react,vue,solid} such as +onBeforeRenderClient to be defined at the root directory. In other words, avoid following error:
|
|
40
|
+
// ```bash
|
|
41
|
+
// [11:09:43.072][/test-preview.test.ts][npm run preview][stderr] Error: [vike][Wrong Usage] /+onBeforeRenderClient.ts sets the value of the config onBeforeRenderClient which is a custom config that is defined with https://vike.dev/meta at a path that doesn't apply to / — see https://vike.dev/config#inheritance
|
|
42
|
+
// ```
|
|
45
43
|
'pages',
|
|
46
44
|
]);
|
|
47
45
|
}
|
|
@@ -352,7 +352,7 @@ function isTemporaryBuildFile(filePath) {
|
|
|
352
352
|
const fileName = node_path_1.default.posix.basename(filePath);
|
|
353
353
|
return /\.build-[a-z0-9]{12}\.mjs$/.test(fileName);
|
|
354
354
|
}
|
|
355
|
-
//
|
|
355
|
+
// TO-DO/next-major-release: remove
|
|
356
356
|
function isHeaderFile(filePath) {
|
|
357
357
|
(0, utils_js_1.assertPosixPath)(filePath);
|
|
358
358
|
const fileExtensions = getFileExtensions(filePath);
|
|
@@ -44,7 +44,7 @@ let restartVite = false;
|
|
|
44
44
|
let vikeConfigHasBuildError = null;
|
|
45
45
|
let isV1Design_ = null;
|
|
46
46
|
let vikeConfigPromise = null;
|
|
47
|
-
//
|
|
47
|
+
// TO-DO/next-major-release: remove
|
|
48
48
|
let vikeConfigSync = null;
|
|
49
49
|
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.
|
|
50
50
|
let prerenderContext;
|
|
@@ -56,14 +56,14 @@ function reloadVikeConfig() {
|
|
|
56
56
|
}
|
|
57
57
|
async function getVikeConfigInternal(
|
|
58
58
|
// I don't remember the logic behind it — neither why we restart Vite's dev server, nor why we sometimes don't.
|
|
59
|
-
// TO-DO:
|
|
59
|
+
// 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.
|
|
60
60
|
doNotRestartViteOnError = false) {
|
|
61
61
|
(0, utils_js_1.assert)(vikeConfigCtx);
|
|
62
62
|
const { userRootDir, isDev, vikeVitePluginOptions } = vikeConfigCtx;
|
|
63
63
|
const vikeConfig = await getOrResolveVikeConfig(userRootDir, isDev, vikeVitePluginOptions, doNotRestartViteOnError);
|
|
64
64
|
return vikeConfig;
|
|
65
65
|
}
|
|
66
|
-
//
|
|
66
|
+
// TO-DO/next-major-release: remove
|
|
67
67
|
function getVikeConfigInternalSync() {
|
|
68
68
|
(0, utils_js_1.assert)(vikeConfigSync);
|
|
69
69
|
return vikeConfigSync;
|
|
@@ -487,7 +487,7 @@ function sortConfigValueSources(configValueSources, locationIdPage) {
|
|
|
487
487
|
return sortAfterInheritanceOrderPage(source1.plusFile, source2.plusFile, locationIdPage, configName);
|
|
488
488
|
}
|
|
489
489
|
})
|
|
490
|
-
//
|
|
490
|
+
// TO-DO/next-major-release: remove
|
|
491
491
|
// Interop with vike(options) in vite.config.js — make it least precedence.
|
|
492
492
|
.sort((0, utils_js_1.makeLast)((source) => !source.plusFile));
|
|
493
493
|
});
|
|
@@ -783,7 +783,7 @@ function assertMetaUsage(metaVal, metaConfigDefinedAt) {
|
|
|
783
783
|
}
|
|
784
784
|
configEnv = getConfigEnvValue(def.env, `${metaConfigDefinedAt} sets ${picocolors_1.default.cyan(`meta.${configName}.env`)} to`);
|
|
785
785
|
// Overwrite deprecated value with valid value
|
|
786
|
-
//
|
|
786
|
+
// TO-DO/next-major-release: remove once support for the deprecated values is removed
|
|
787
787
|
if (typeof def.env === 'string')
|
|
788
788
|
def.env = configEnv;
|
|
789
789
|
}
|
|
@@ -1029,7 +1029,7 @@ function determineIsErrorPage(routeFilesystem) {
|
|
|
1029
1029
|
function getConfigEnvValue(val, errMsgIntro) {
|
|
1030
1030
|
const errInvalidValue = `${errMsgIntro} an invalid value ${picocolors_1.default.cyan(JSON.stringify(val))}`;
|
|
1031
1031
|
// Legacy outdated values
|
|
1032
|
-
//
|
|
1032
|
+
// TO-DO/next-major-release: remove
|
|
1033
1033
|
if (typeof val === 'string') {
|
|
1034
1034
|
const valConverted = (() => {
|
|
1035
1035
|
if (val === 'client-only')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RenderErrorPage = void 0;
|
|
4
|
-
//
|
|
4
|
+
// TO-DO/next-major-release: remove
|
|
5
5
|
var abort_js_1 = require("./route/abort.js");
|
|
6
6
|
Object.defineProperty(exports, "RenderErrorPage", { enumerable: true, get: function () { return abort_js_1.RenderErrorPage; } });
|
package/dist/cjs/shared/abort.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.render = exports.redirect = void 0;
|
|
4
|
-
//
|
|
4
|
+
// TO-DO/next-major-release: Move all universal imports (when using Client Routing) to:
|
|
5
5
|
// import {
|
|
6
6
|
// redirect,
|
|
7
7
|
// render,
|
|
@@ -10,10 +10,34 @@ const prepareGlobalContextForPublicUsage_js_1 = require("./prepareGlobalContextF
|
|
|
10
10
|
const getHook_js_1 = require("./hooks/getHook.js");
|
|
11
11
|
const getGlobalContextSyncErrMsg = "The global context isn't set yet, call getGlobalContextSync() later or use getGlobalContext() instead.";
|
|
12
12
|
exports.getGlobalContextSyncErrMsg = getGlobalContextSyncErrMsg;
|
|
13
|
-
async function createGlobalContextShared(virtualFileExports, globalObject, addGlobalContext
|
|
13
|
+
async function createGlobalContextShared(virtualFileExports, globalObject, addGlobalContext,
|
|
14
|
+
// TO-DO/next-major-release: we'll be able to remove addGlobalContextTmp after loadPageRoutes() is sync (it will be sync after we remove the old design)
|
|
15
|
+
addGlobalContextTmp, addGlobalContextAsync) {
|
|
14
16
|
const globalContext = createGlobalContextBase(virtualFileExports);
|
|
15
|
-
|
|
16
|
-
(
|
|
17
|
+
let isNewGlobalContext;
|
|
18
|
+
if (!globalObject.globalContext) {
|
|
19
|
+
// We set globalObject.globalContext early and before any async operations, so that getGlobalContextSync() can be used early.
|
|
20
|
+
// - Required by vike-vercel
|
|
21
|
+
globalObject.globalContext = globalContext;
|
|
22
|
+
isNewGlobalContext = false;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
isNewGlobalContext = true;
|
|
26
|
+
}
|
|
27
|
+
if (addGlobalContext &&
|
|
28
|
+
// TODO/next-major-release: remove
|
|
29
|
+
globalContext._pageConfigs.length > 0) {
|
|
30
|
+
const globalContextAdded = addGlobalContext?.(globalContext);
|
|
31
|
+
(0, utils_js_1.objectAssign)(globalContext, globalContextAdded);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
const globalContextAdded = await addGlobalContextTmp?.(globalContext);
|
|
35
|
+
(0, utils_js_1.objectAssign)(globalContext, globalContextAdded);
|
|
36
|
+
}
|
|
37
|
+
{
|
|
38
|
+
const globalContextAddedAsync = await addGlobalContextAsync?.(globalContext);
|
|
39
|
+
(0, utils_js_1.objectAssign)(globalContext, globalContextAddedAsync);
|
|
40
|
+
}
|
|
17
41
|
const onCreateGlobalContextHooks = (0, getHook_js_1.getHookFromPageConfigGlobalCumulative)(globalContext._pageConfigGlobal, 'onCreateGlobalContext');
|
|
18
42
|
let hooksCalled = false;
|
|
19
43
|
if (!hooksAreEqual(globalObject.onCreateGlobalContextHooks ?? [], onCreateGlobalContextHooks)) {
|
|
@@ -21,10 +45,7 @@ async function createGlobalContextShared(virtualFileExports, globalObject, addGl
|
|
|
21
45
|
await (0, execHook_js_1.execHookGlobal)('onCreateGlobalContext', globalContext._pageConfigGlobal, null, globalContext, prepareGlobalContextForPublicUsage_js_1.prepareGlobalContextForPublicUsage);
|
|
22
46
|
hooksCalled = true;
|
|
23
47
|
}
|
|
24
|
-
if (
|
|
25
|
-
globalObject.globalContext = globalContext;
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
48
|
+
if (isNewGlobalContext) {
|
|
28
49
|
// Singleton: ensure all `globalContext` user-land references are preserved & updated.
|
|
29
50
|
if (hooksCalled) {
|
|
30
51
|
(0, utils_js_1.objectReplace)(globalObject.globalContext, globalContext);
|
|
@@ -3,8 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createPageContextShared = createPageContextShared;
|
|
4
4
|
exports.createPageContextObject = createPageContextObject;
|
|
5
5
|
const utils_js_1 = require("./utils.js");
|
|
6
|
-
|
|
7
|
-
async function createPageContextShared(pageContextCreated, pageConfigGlobal, vikeConfigPublicGlobal) {
|
|
6
|
+
function createPageContextShared(pageContextCreated, vikeConfigPublicGlobal) {
|
|
8
7
|
(0, utils_js_1.objectAssign)(pageContextCreated, vikeConfigPublicGlobal);
|
|
9
8
|
return pageContextCreated;
|
|
10
9
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.determinePageIdOld = determinePageIdOld;
|
|
4
4
|
const utils_js_1 = require("./utils.js");
|
|
5
|
-
//
|
|
5
|
+
// TO-DO/next-major-release: remove
|
|
6
6
|
function determinePageIdOld(filePath) {
|
|
7
7
|
const pageSuffix = '.page.';
|
|
8
8
|
const pageId = (0, utils_js_1.slice)(filePath.split(pageSuffix), 0, -1).join(pageSuffix);
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getErrorPageId = getErrorPageId;
|
|
4
4
|
exports.isErrorPageId = isErrorPageId;
|
|
5
5
|
exports.isErrorPage = isErrorPage;
|
|
6
|
-
//
|
|
6
|
+
// TO-DO/next-major-release: consider loading this file only for Client Routing
|
|
7
7
|
const utils_js_1 = require("./utils.js");
|
|
8
8
|
function getErrorPageId(pageFilesAll, pageConfigs) {
|
|
9
9
|
if (pageConfigs.length > 0) {
|
|
@@ -13,7 +13,7 @@ function getErrorPageId(pageFilesAll, pageConfigs) {
|
|
|
13
13
|
(0, utils_js_1.assertUsage)(errorPageConfigs.length === 1, 'Only one error page can be defined');
|
|
14
14
|
return errorPageConfigs[0].pageId;
|
|
15
15
|
}
|
|
16
|
-
//
|
|
16
|
+
// TO-DO/next-major-release: remove
|
|
17
17
|
const errorPageIds = (0, utils_js_1.unique)(pageFilesAll.map(({ pageId }) => pageId).filter((pageId) => isErrorPageId(pageId, false)));
|
|
18
18
|
(0, utils_js_1.assertUsage)(errorPageIds.length <= 1, `Only one _error.page.js is allowed, but found several: ${errorPageIds.join(' ')}`);
|
|
19
19
|
if (errorPageIds.length > 0) {
|
|
@@ -23,7 +23,7 @@ function getErrorPageId(pageFilesAll, pageConfigs) {
|
|
|
23
23
|
}
|
|
24
24
|
return null;
|
|
25
25
|
}
|
|
26
|
-
//
|
|
26
|
+
// TO-DO/next-major-release: remove
|
|
27
27
|
function isErrorPageId(pageId, _isV1Design) {
|
|
28
28
|
(0, utils_js_1.assert)(!pageId.includes('\\'));
|
|
29
29
|
return pageId.includes('/_error');
|
|
@@ -40,7 +40,7 @@ function getUrlParsed(pageContext) {
|
|
|
40
40
|
// Reproduction: https://github.com/vikejs/vike/discussions/1436#discussioncomment-8142023
|
|
41
41
|
// Determine logical URL
|
|
42
42
|
const assertUrlResolved = (src) => (0, utils_js_1.assert)(typeof urlResolved === 'string',
|
|
43
|
-
//
|
|
43
|
+
// TO-DO/eventually: remove debug logs, see:
|
|
44
44
|
// - https://github.com/vikejs/vike/issues/2138#issuecomment-2631713411
|
|
45
45
|
// - https://github.com/vikejs/vike/commit/5c7810f3080ab62536950f26e019bb2a3a517082
|
|
46
46
|
{ src, urlResolved });
|
|
@@ -85,7 +85,7 @@ function urlPathnameGetter() {
|
|
|
85
85
|
return urlPathname;
|
|
86
86
|
}
|
|
87
87
|
function urlGetter() {
|
|
88
|
-
//
|
|
88
|
+
// TO-DO/next-major-release: remove
|
|
89
89
|
(0, utils_js_1.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 });
|
|
90
90
|
return urlPathnameGetter.call(this);
|
|
91
91
|
}
|
|
@@ -107,7 +107,7 @@ function urlParsedGetter() {
|
|
|
107
107
|
warnHashNotAvailable('hashOriginal');
|
|
108
108
|
return urlParsed.hashOriginal;
|
|
109
109
|
},
|
|
110
|
-
//
|
|
110
|
+
// TO-DO/next-major-release: remove
|
|
111
111
|
get hashString() {
|
|
112
112
|
(0, utils_js_1.assertWarning)(false, 'pageContext.urlParsed.hashString has been renamed to pageContext.urlParsed.hashOriginal', {
|
|
113
113
|
onlyOnce: true,
|
|
@@ -116,7 +116,7 @@ function urlParsedGetter() {
|
|
|
116
116
|
warnHashNotAvailable('hashString');
|
|
117
117
|
return urlParsed.hashOriginal;
|
|
118
118
|
},
|
|
119
|
-
//
|
|
119
|
+
// TO-DO/next-major-release: remove
|
|
120
120
|
get searchString() {
|
|
121
121
|
(0, utils_js_1.assertWarning)(false, 'pageContext.urlParsed.searchString has been renamed to pageContext.urlParsed.searchOriginal', { onlyOnce: true, showStackTrace: true });
|
|
122
122
|
return urlParsed.searchOriginal;
|
|
@@ -11,7 +11,7 @@ function analyzeClientSide(pageConfig, pageFilesAll, pageId) {
|
|
|
11
11
|
return { isClientRuntimeLoaded, isClientRouting };
|
|
12
12
|
}
|
|
13
13
|
else {
|
|
14
|
-
//
|
|
14
|
+
// TO-DO/next-major-release: remove
|
|
15
15
|
// V0.4 design
|
|
16
16
|
const { isHtmlOnly, isClientRouting } = (0, analyzePageClientSide_js_1.analyzePageClientSide)(pageFilesAll, pageId);
|
|
17
17
|
return { isClientRuntimeLoaded: !isHtmlOnly, isClientRouting };
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.analyzeExports = analyzeExports;
|
|
4
4
|
const getExportNames_js_1 = require("./getExportNames.js");
|
|
5
5
|
const utils_js_1 = require("../../utils.js");
|
|
6
|
-
//
|
|
6
|
+
// TO-DO/next-major-release: remove
|
|
7
7
|
function analyzeExports({ pageFilesClientSide, pageFilesServerSide, pageId, }) {
|
|
8
8
|
return { isHtmlOnly: isHtmlOnly(), isClientRouting: isClientRouting() };
|
|
9
9
|
function isHtmlOnly() {
|