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
|
@@ -8,7 +8,7 @@ const getAllPageIdFiles_js_1 = require("./getAllPageIdFiles.js");
|
|
|
8
8
|
const getAllPageIdFiles_js_2 = require("./getAllPageIdFiles.js");
|
|
9
9
|
const utils_js_1 = require("../utils.js");
|
|
10
10
|
const getExportNames_js_1 = require("./analyzePageClientSide/getExportNames.js");
|
|
11
|
-
//
|
|
11
|
+
// TO-DO/next-major-release: remove analyzePageClientSide(), use analyzeClientSide() instead
|
|
12
12
|
function analyzePageClientSide(pageFilesAll, pageId) {
|
|
13
13
|
let pageFilesClientSide = (0, getAllPageIdFiles_js_1.getPageFilesClientSide)(pageFilesAll, pageId);
|
|
14
14
|
const pageFilesServerSide = (0, getAllPageIdFiles_js_2.getPageFilesServerSide)(pageFilesAll, pageId);
|
|
@@ -26,7 +26,7 @@ function analyzePageClientSide(pageFilesAll, pageId) {
|
|
|
26
26
|
});
|
|
27
27
|
return { isHtmlOnly, isClientRouting, clientEntries, clientDependencies, pageFilesClientSide, pageFilesServerSide };
|
|
28
28
|
}
|
|
29
|
-
//
|
|
29
|
+
// TO-DO/next-major-release: remove
|
|
30
30
|
async function analyzePageClientSideInit(pageFilesAll, pageId, { sharedPageFilesAlreadyLoaded }) {
|
|
31
31
|
const pageFilesClientSide = (0, getAllPageIdFiles_js_1.getPageFilesClientSide)(pageFilesAll, pageId);
|
|
32
32
|
await Promise.all(pageFilesClientSide.map(async (p) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
//
|
|
2
|
+
// TO-DO/next-major-release: remove this file
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.getPageFilesClientSide = getPageFilesClientSide;
|
|
5
5
|
exports.getPageFilesServerSide = getPageFilesServerSide;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.parseVirtualFileExports = parseVirtualFileExports;
|
|
4
|
-
//
|
|
4
|
+
// TO-DO/next-major-release: remove old design code, and remove all assertions.
|
|
5
5
|
const utils_js_1 = require("../utils.js");
|
|
6
6
|
const assert_exports_old_design_js_1 = require("./assert_exports_old_design.js");
|
|
7
7
|
const getPageFileObject_js_1 = require("./getPageFileObject.js");
|
|
@@ -43,11 +43,11 @@ function onInternalProp(propStr, objName) {
|
|
|
43
43
|
// - We must skip it in the client-side because of the reactivity mechanism of UI frameworks like Solid.
|
|
44
44
|
// - TO-DO/eventually: use import.meta.CLIENT instead of isBrowser()
|
|
45
45
|
// - Where import.meta.CLIENT is defined by Vike
|
|
46
|
-
// - Using
|
|
47
|
-
// - If Rolldown Vite + Rolldowns always transpiles node_modules/ then we can simply use
|
|
46
|
+
// - Using ({}).CLIENT (note `.env.`) doesn't seem possible: https://github.com/brillout/playground_node_({})
|
|
47
|
+
// - If Rolldown Vite + Rolldowns always transpiles node_modules/ then we can simply use ({}).SSR
|
|
48
48
|
if ((0, utils_js_1.isBrowser)())
|
|
49
49
|
return;
|
|
50
|
-
//
|
|
50
|
+
// TO-DO/soon/proxy: remove this and only warn on built-in access instead
|
|
51
51
|
if (propStr === '_configFromHook')
|
|
52
52
|
return;
|
|
53
53
|
if (propStr.startsWith('_')) {
|
|
@@ -38,12 +38,13 @@ function getDefinedAtString(definedAtData, configName) {
|
|
|
38
38
|
if (definedAt.definedBy)
|
|
39
39
|
return getDefinedByString(definedAt, configName);
|
|
40
40
|
const { filePathToShowToUser, fileExportPathToShowToUser } = definedAt;
|
|
41
|
-
let s = filePathToShowToUser;
|
|
42
41
|
const exportPath = (0, getExportPath_js_1.getExportPath)(fileExportPathToShowToUser, configName);
|
|
43
42
|
if (exportPath) {
|
|
44
|
-
|
|
43
|
+
return `${filePathToShowToUser} > ${picocolors_1.default.cyan(exportPath)}`;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
return filePathToShowToUser;
|
|
45
47
|
}
|
|
46
|
-
return s;
|
|
47
48
|
})
|
|
48
49
|
.join(' / ');
|
|
49
50
|
return definedAtString;
|
|
@@ -50,10 +50,10 @@ function resolveVikeConfigPublicPageLazy(pageFiles, // V0.4 design
|
|
|
50
50
|
pageConfig, // V1 design
|
|
51
51
|
pageConfigGlobal) {
|
|
52
52
|
const config = {};
|
|
53
|
-
const configEntries = {}; //
|
|
54
|
-
const exportsAll = {}; //
|
|
53
|
+
const configEntries = {}; // TO-DO/next-major-release: remove
|
|
54
|
+
const exportsAll = {}; // TO-DO/next-major-release: remove
|
|
55
55
|
// V0.4 design
|
|
56
|
-
//
|
|
56
|
+
// TO-DO/next-major-release: remove
|
|
57
57
|
pageFiles.forEach((pageFile) => {
|
|
58
58
|
const exportValues = getExportValues(pageFile);
|
|
59
59
|
exportValues.forEach(({ exportName, exportValue, isFromDefaultExport }) => {
|
|
@@ -63,7 +63,7 @@ pageConfigGlobal) {
|
|
|
63
63
|
exportValue,
|
|
64
64
|
exportSource: `${pageFile.filePath} > ${isFromDefaultExport ? `\`export default { ${exportName} }\`` : `\`export { ${exportName} }\``}`,
|
|
65
65
|
filePath: pageFile.filePath,
|
|
66
|
-
_filePath: pageFile.filePath, //
|
|
66
|
+
_filePath: pageFile.filePath, // TO-DO/next-major-release: remove
|
|
67
67
|
_fileType: pageFile.fileType,
|
|
68
68
|
_isFromDefaultExport: isFromDefaultExport,
|
|
69
69
|
});
|
|
@@ -108,18 +108,18 @@ pageConfigGlobal) {
|
|
|
108
108
|
});
|
|
109
109
|
(0, utils_js_1.assert)(!('default' in exports));
|
|
110
110
|
(0, utils_js_1.assert)(!('default' in exportsAll));
|
|
111
|
-
const
|
|
111
|
+
const configPublicPageLazy = {
|
|
112
112
|
config: config,
|
|
113
113
|
from,
|
|
114
114
|
source,
|
|
115
115
|
sources,
|
|
116
|
-
//
|
|
116
|
+
// TO-DO/soon/flat-pageContext: deprecate every prop below
|
|
117
117
|
configEntries,
|
|
118
118
|
exports,
|
|
119
119
|
exportsAll,
|
|
120
120
|
};
|
|
121
|
-
//
|
|
122
|
-
(0, utils_js_1.objectDefineProperty)(
|
|
121
|
+
// TO-DO/next-major-release: remove
|
|
122
|
+
(0, utils_js_1.objectDefineProperty)(configPublicPageLazy, 'pageExports', {
|
|
123
123
|
get: () => {
|
|
124
124
|
// 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.
|
|
125
125
|
if (!(0, utils_js_1.isBrowser)()) {
|
|
@@ -133,7 +133,7 @@ pageConfigGlobal) {
|
|
|
133
133
|
enumerable: false,
|
|
134
134
|
configurable: true,
|
|
135
135
|
});
|
|
136
|
-
return
|
|
136
|
+
return configPublicPageLazy;
|
|
137
137
|
}
|
|
138
138
|
// V1 design
|
|
139
139
|
function resolveVikeConfigPublic_V1Design(pageConfig) {
|
|
@@ -161,7 +161,7 @@ function resolveVikeConfigPublic_V1Design(pageConfig) {
|
|
|
161
161
|
configDefinedAt,
|
|
162
162
|
configDefinedByFile: configValueFilePathToShowToUser,
|
|
163
163
|
});
|
|
164
|
-
//
|
|
164
|
+
// TO-DO/next-major-release: remove
|
|
165
165
|
const exportName = configName;
|
|
166
166
|
exportsAll[exportName] = exportsAll[exportName] ?? [];
|
|
167
167
|
exportsAll[exportName].push({
|
|
@@ -178,7 +178,7 @@ function logJsonSerializeError(err, configName, definedAtData) {
|
|
|
178
178
|
//*/
|
|
179
179
|
const configValueFilePathToShowToUser = (0, helpers_js_1.getConfigValueFilePathToShowToUser)(definedAtData);
|
|
180
180
|
(0, utils_js_1.assert)(configValueFilePathToShowToUser);
|
|
181
|
-
(0, utils_js_1.assertUsage)(false, `${picocolors_1.default.cyan(configName)} defined by ${configValueFilePathToShowToUser} must be defined
|
|
181
|
+
(0, utils_js_1.assertUsage)(false, `${picocolors_1.default.cyan(configName)} defined by ${configValueFilePathToShowToUser} must be defined using a separate file ${picocolors_1.default.bold(`+${configName}.js`)}, see https://vike.dev/error/runtime-in-config`);
|
|
182
182
|
}
|
|
183
183
|
function getConfigValuesBase(pageConfig, isEnvMatch, isEager) {
|
|
184
184
|
const fromComputed = Object.entries(pageConfig.configValuesComputed ?? {}).map(([configName, valueInfo]) => {
|
|
@@ -11,7 +11,7 @@ function preparePageContextForPublicUsage(pageContext) {
|
|
|
11
11
|
(0, utils_js_1.assert)(!pageContext.globalContext); // pageContext.globalContext should only be available to users — Vike itself should use pageContext._globalContext instead
|
|
12
12
|
(0, utils_js_1.assert)(pageContext._isOriginalObject); // ensure we preserve the original object reference
|
|
13
13
|
(0, addIs404ToPageProps_js_1.addIs404ToPageProps)(pageContext);
|
|
14
|
-
//
|
|
14
|
+
// TO-DO/next-major-release: remove
|
|
15
15
|
if (!('_pageId' in pageContext)) {
|
|
16
16
|
Object.defineProperty(pageContext, '_pageId', {
|
|
17
17
|
get() {
|
|
@@ -29,7 +29,7 @@ function preparePageContextForPublicUsage(pageContext) {
|
|
|
29
29
|
const globalContextPublic = (0, prepareGlobalContextForPublicUsage_js_1.prepareGlobalContextForPublicUsage)(pageContext._globalContext);
|
|
30
30
|
const pageContextPublic = (0, getProxyForPublicUsage_js_1.getProxyForPublicUsage)(pageContext, 'pageContext',
|
|
31
31
|
// We must skip it in the client-side because of the reactivity mechanism of UI frameworks like Solid.
|
|
32
|
-
// -
|
|
32
|
+
// - TO-DO/soon/proxy: double check whether that's true
|
|
33
33
|
true, (prop) => {
|
|
34
34
|
if (prop === 'globalContext') {
|
|
35
35
|
return globalContextPublic;
|
|
@@ -67,11 +67,11 @@ function assertPropertyGetters(pageContext) {
|
|
|
67
67
|
;
|
|
68
68
|
[
|
|
69
69
|
'urlPathname',
|
|
70
|
-
//
|
|
70
|
+
// TO-DO/next-major-release: remove
|
|
71
71
|
'urlParsed',
|
|
72
|
-
//
|
|
72
|
+
// TO-DO/next-major-release: remove
|
|
73
73
|
'url',
|
|
74
|
-
//
|
|
74
|
+
// TO-DO/next-major-release: remove
|
|
75
75
|
'pageExports',
|
|
76
76
|
].forEach((prop) => {
|
|
77
77
|
if (pageContext.prop)
|
|
@@ -87,7 +87,7 @@ function AbortRender(pageContextAbort) {
|
|
|
87
87
|
(0, utils_js_1.checkType)(err);
|
|
88
88
|
return err;
|
|
89
89
|
}
|
|
90
|
-
//
|
|
90
|
+
// TO-DO/next-major-release: remove
|
|
91
91
|
/**
|
|
92
92
|
* @deprecated Use `throw render()` or `throw redirect()` instead, see https://vike.dev/render'
|
|
93
93
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.deduceRouteStringFromFilesystemPath = deduceRouteStringFromFilesystemPath;
|
|
5
5
|
const utils_js_1 = require("./utils.js");
|
|
6
|
-
//
|
|
6
|
+
// TO-DO/next-major-release: remove this and whole filesystemRoot mechanism
|
|
7
7
|
function deduceRouteStringFromFilesystemPath(pageId, filesystemRoots) {
|
|
8
8
|
// Handle Filesystem Routing Root
|
|
9
9
|
const filesystemRootsMatch = filesystemRoots
|
|
@@ -8,7 +8,7 @@ const errIntro = 'The guard() hook defined by';
|
|
|
8
8
|
async function execHookGuard(pageContext, prepareForPublicUsage) {
|
|
9
9
|
let hook;
|
|
10
10
|
if (pageContext._globalContext._pageFilesAll.length > 0) {
|
|
11
|
-
//
|
|
11
|
+
// TO-DO/next-major-release: remove
|
|
12
12
|
// V0.4 design
|
|
13
13
|
(0, utils_js_1.assert)(pageContext._globalContext._pageConfigs.length === 0);
|
|
14
14
|
hook = findPageGuard(pageContext.pageId, pageContext._globalContext._pageFilesAll);
|
|
@@ -41,7 +41,7 @@ async function execHookOnBeforeRoute(pageContext) {
|
|
|
41
41
|
async function getPageContextFromHook(onBeforeRouteHook, pageContext) {
|
|
42
42
|
let { hookReturn } = (0, execHook_js_1.execHookDirectSync)(onBeforeRouteHook, pageContext, preparePageContextForPublicUsage_js_1.preparePageContextForPublicUsage);
|
|
43
43
|
(0, resolveRouteFunction_js_1.assertSyncRouting)(hookReturn, `The onBeforeRoute() hook ${onBeforeRouteHook.hookFilePath}`);
|
|
44
|
-
//
|
|
44
|
+
// TO-DO/next-major-release: make execHookOnBeforeRoute() and route() sync
|
|
45
45
|
hookReturn = await hookReturn;
|
|
46
46
|
const errPrefix = `The onBeforeRoute() hook defined by ${onBeforeRouteHook.hookFilePath}`;
|
|
47
47
|
(0, utils_js_1.assertUsage)(hookReturn === null ||
|
|
@@ -17,7 +17,7 @@ const resolveRouteFunction_js_1 = require("./resolveRouteFunction.js");
|
|
|
17
17
|
const execHookOnBeforeRoute_js_1 = require("./execHookOnBeforeRoute.js");
|
|
18
18
|
const debug_js_1 = require("./debug.js");
|
|
19
19
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
20
|
-
//
|
|
20
|
+
// TO-DO/next-major-release: make it sync
|
|
21
21
|
async function route(pageContext, skipOnBeforeRouteHook) {
|
|
22
22
|
(0, debug_js_1.debug)('Pages routes:', pageContext._globalContext._pageRoutes);
|
|
23
23
|
const pageContextFromRoute = {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.loadPageRoutes = loadPageRoutes;
|
|
4
|
+
exports.loadPageRoutesSync = loadPageRoutesSync;
|
|
4
5
|
const error_page_js_1 = require("../error-page.js");
|
|
5
6
|
const utils_js_1 = require("./utils.js");
|
|
6
7
|
const deduceRouteStringFromFilesystemPath_js_1 = require("./deduceRouteStringFromFilesystemPath.js");
|
|
@@ -12,8 +13,13 @@ const getHook_js_1 = require("../hooks/getHook.js");
|
|
|
12
13
|
async function loadPageRoutes(
|
|
13
14
|
// Remove all arguments and use GlobalContextServerInternal instead?
|
|
14
15
|
pageFilesAll, pageConfigs, pageConfigGlobal, allPageIds) {
|
|
15
|
-
//
|
|
16
|
+
// TO-DO/next-major-release: remove this line, remove this function, rename loadPageRoutesSync() to loadPageRoutes()
|
|
16
17
|
await Promise.all(pageFilesAll.filter((p) => p.fileType === '.page.route').map((p) => p.loadFile?.()));
|
|
18
|
+
return loadPageRoutesSync(pageFilesAll, pageConfigs, pageConfigGlobal, allPageIds);
|
|
19
|
+
}
|
|
20
|
+
function loadPageRoutesSync(
|
|
21
|
+
// Remove all arguments and use GlobalContextServerInternal instead?
|
|
22
|
+
pageFilesAll, pageConfigs, pageConfigGlobal, allPageIds) {
|
|
17
23
|
const { onBeforeRouteHook, filesystemRoots } = getGlobalHooks(pageFilesAll, pageConfigs, pageConfigGlobal);
|
|
18
24
|
const pageRoutes = getPageRoutes(filesystemRoots, pageFilesAll, pageConfigs, allPageIds);
|
|
19
25
|
return { pageRoutes, onBeforeRouteHook };
|
|
@@ -51,7 +57,7 @@ function getPageRoutes(filesystemRoots, pageFilesAll, pageConfigs, allPageIds) {
|
|
|
51
57
|
const { filePathToShowToUser } = definedAtData;
|
|
52
58
|
(0, utils_js_1.assert)(filePathToShowToUser);
|
|
53
59
|
(0, utils_js_1.assert)((0, utils_js_2.isCallable)(route));
|
|
54
|
-
//
|
|
60
|
+
// TO-DO/next-major-release: remove
|
|
55
61
|
if ((0, getConfigValueRuntime_js_1.getConfigValueRuntime)(pageConfig, 'iKnowThePerformanceRisksOfAsyncRouteFunctions', 'boolean'))
|
|
56
62
|
(0, resolveRouteFunction_js_1.warnDeprecatedAllowKey)();
|
|
57
63
|
pageRoute = {
|
|
@@ -84,7 +90,7 @@ function getPageRoutes(filesystemRoots, pageFilesAll, pageConfigs, allPageIds) {
|
|
|
84
90
|
});
|
|
85
91
|
}
|
|
86
92
|
// Old design
|
|
87
|
-
//
|
|
93
|
+
// TO-DO/next-major-release: remove
|
|
88
94
|
if (pageConfigs.length === 0) {
|
|
89
95
|
(0, utils_js_1.assert)(filesystemRoots);
|
|
90
96
|
const comesFromV1PageConfig = false;
|
|
@@ -151,7 +157,7 @@ function getGlobalHooks(pageFilesAll, pageConfigs, pageConfigGlobal) {
|
|
|
151
157
|
return { onBeforeRouteHook: hook, filesystemRoots: null };
|
|
152
158
|
}
|
|
153
159
|
// Old design
|
|
154
|
-
//
|
|
160
|
+
// TO-DO/next-major-release: remove
|
|
155
161
|
let onBeforeRouteHook = null;
|
|
156
162
|
const filesystemRoots = [];
|
|
157
163
|
pageFilesAll
|
|
@@ -18,7 +18,7 @@ async function resolveRouteFunction(routeFunction, pageContext, routeFunctionFil
|
|
|
18
18
|
hookName: 'route',
|
|
19
19
|
}, pageContext, preparePageContextForPublicUsage_js_1.preparePageContextForPublicUsage);
|
|
20
20
|
assertSyncRouting(result, `The Route Function ${routeFunctionFilePath}`);
|
|
21
|
-
//
|
|
21
|
+
// TO-DO/next-major-release: make resolveRouteFunction() and route() sync
|
|
22
22
|
//* We disallow asynchronous routing, because we need to check whether a link is a Vike link in a synchronous fashion before calling ev.preventDefault() in the 'click' event listener
|
|
23
23
|
result = await result;
|
|
24
24
|
//*/
|
|
@@ -54,11 +54,11 @@ async function resolveRouteFunction(routeFunction, pageContext, routeFunctionFil
|
|
|
54
54
|
routeParams,
|
|
55
55
|
};
|
|
56
56
|
}
|
|
57
|
-
//
|
|
57
|
+
// TO-DO/next-major-release: remove, and make routing synchronous (enabling Vike to synchronously check whether a link is a Vike link before even calling ev.preventDefault())
|
|
58
58
|
function assertSyncRouting(res, errPrefix) {
|
|
59
59
|
(0, utils_js_1.assertWarning)(!(0, utils_js_1.isPromise)(res), `${errPrefix} returned a promise, but asynchronous routing is deprecated and will be removed in the next major release, see https://vike.dev/route-function#async`, { onlyOnce: true });
|
|
60
60
|
}
|
|
61
|
-
//
|
|
61
|
+
// TO-DO/next-major-release: remove
|
|
62
62
|
function warnDeprecatedAllowKey() {
|
|
63
63
|
const allowKey = picocolors_1.default.cyan('iKnowThePerformanceRisksOfAsyncRouteFunctions');
|
|
64
64
|
(0, utils_js_1.assertWarning)(false, `${allowKey} is deprecated and will be removed in the next major release`, { onlyOnce: true });
|
|
@@ -13,7 +13,7 @@ const utils_js_1 = require("../utils.js");
|
|
|
13
13
|
const utils_js_2 = require("./utils.js");
|
|
14
14
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
15
15
|
const PARAM_TOKEN_NEW = '@';
|
|
16
|
-
//
|
|
16
|
+
// TO-DO/next-major-release: remove
|
|
17
17
|
const PARAM_TOKEN_OLD = ':';
|
|
18
18
|
function assertRouteString(routeString, errPrefix = 'Invalid') {
|
|
19
19
|
let errPrefix2 = `${errPrefix} Route String ${highlight(routeString)}`;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolveRoute = void 0;
|
|
4
|
-
//
|
|
4
|
+
// TO-DO/next-major-release: move
|
|
5
5
|
// import { resolveRoute } from 'vike/routing'
|
|
6
6
|
// to:
|
|
7
7
|
// import { resolveRoute } from 'vike'
|
|
@@ -29,22 +29,25 @@ function assertIsNotProductionRuntime() {
|
|
|
29
29
|
setup.shouldNotBeProduction = true;
|
|
30
30
|
}
|
|
31
31
|
function onSetupRuntime() {
|
|
32
|
+
// TODO/now
|
|
33
|
+
if (true)
|
|
34
|
+
return;
|
|
32
35
|
if (debug.isActivated)
|
|
33
36
|
debug('assertSetup()', new Error().stack);
|
|
34
37
|
if (isTest())
|
|
35
38
|
return;
|
|
36
39
|
assertNodeEnvIsNotUndefinedString();
|
|
37
40
|
if (!setup.viteDevServer && setup.isViteDev === undefined) {
|
|
38
|
-
//
|
|
39
|
-
(0, assert_js_1.assertWarning)(!isNodeEnvDev(), `The ${getEnvDescription()}, which is contradictory because the environment seems to be a production environment (Vite isn't loaded), see https://vike.dev/NODE_ENV`, { onlyOnce: true });
|
|
40
|
-
(0, assert_js_1.assertUsage)(!setup.vikeVitePlugin, `
|
|
41
|
+
// TO-DO/eventually: make it assertUsage() again once https://github.com/vikejs/vike/issues/1528 is implemented.
|
|
42
|
+
(0, assert_js_1.assertWarning)(!isNodeEnvDev(), `The ${getEnvDescription()}, which is contradictory because the environment seems to be a production environment (Vite isn't loaded), see ${picocolors_1.default.underline('https://vike.dev/NODE_ENV')} and ${picocolors_1.default.underline('https://vike.dev/warning/setup')}`, { onlyOnce: true });
|
|
43
|
+
(0, assert_js_1.assertUsage)(!setup.vikeVitePlugin, `Vike's Vite plugin (the ${picocolors_1.default.cyan('vike/plugin')} module) shouldn't be loaded in production, see ${picocolors_1.default.underline('https://vike.dev/warning/setup')}`);
|
|
41
44
|
// This assert() one of the main goal of this file: it ensures assertIsNotProductionRuntime()
|
|
42
45
|
(0, assert_js_1.assert)(!setup.shouldNotBeProduction);
|
|
43
46
|
}
|
|
44
47
|
else {
|
|
45
48
|
if (!setup.isPreview && !setup.vitePreviewServer && !setup.isPrerendering) {
|
|
46
|
-
//
|
|
47
|
-
(0, assert_js_1.assertWarning)(isNodeEnvDev(), `The ${getEnvDescription()}
|
|
49
|
+
// TO-DO/eventually: make it assertUsage() again once https://github.com/vikejs/vike/issues/1528 is implemented.
|
|
50
|
+
(0, assert_js_1.assertWarning)(isNodeEnvDev(), `The ${getEnvDescription()} while Vite is loaded, but Vite shouldn't be loaded in production, see ${picocolors_1.default.underline('https://vike.dev/warning/setup')}`, { onlyOnce: true });
|
|
48
51
|
}
|
|
49
52
|
(0, assert_js_1.assert)(setup.vikeVitePlugin);
|
|
50
53
|
(0, assert_js_1.assert)(setup.shouldNotBeProduction);
|
|
@@ -113,8 +116,8 @@ function markSetup_isPreview() {
|
|
|
113
116
|
function assertUsageNodeEnvIsNotDev(operation) {
|
|
114
117
|
if (!isNodeEnvDev())
|
|
115
118
|
return;
|
|
116
|
-
//
|
|
117
|
-
(0, assert_js_1.assertWarning)(false, `The ${getEnvDescription()}
|
|
119
|
+
// TO-DO/eventually: make it assertUsage() again once https://github.com/vikejs/vike/issues/1528 is implemented.
|
|
120
|
+
(0, assert_js_1.assertWarning)(false, `The ${getEnvDescription()} upon ${operation} which shouldn't be the case, see ${picocolors_1.default.underline('https://vike.dev/NODE_ENV')}`, { onlyOnce: true });
|
|
118
121
|
}
|
|
119
122
|
function getEnvDescription() {
|
|
120
123
|
const envType = `${(isNodeEnvDev() ? 'development' : 'production')} environment`;
|
|
@@ -125,7 +128,7 @@ function getEnvDescription() {
|
|
|
125
128
|
// https://github.com/cloudflare/workers-sdk/issues/7886
|
|
126
129
|
function assertNodeEnvIsNotUndefinedString() {
|
|
127
130
|
const nodeEnv = getNodeEnv();
|
|
128
|
-
(0, assert_js_1.assertWarning)(nodeEnv !== 'undefined', `${picocolors_1.default.cyan('process.env.NODE_ENV==="undefined"')} which is unexpected: ${picocolors_1.default.cyan('process.env.NODE_ENV')} is allowed to be the *value* ${picocolors_1.default.cyan('undefined')} (i.e. ${picocolors_1.default.cyan('process.env.NODE_ENV===undefined')}) but it shouldn't be the *string* ${picocolors_1.default.cyan('"undefined"')} ${picocolors_1.default.underline('https://vike.dev/NODE_ENV')}`, { onlyOnce: true });
|
|
131
|
+
(0, assert_js_1.assertWarning)(nodeEnv !== 'undefined', `${picocolors_1.default.cyan('process.env.NODE_ENV==="undefined"')} which is unexpected: ${picocolors_1.default.cyan('process.env.NODE_ENV')} is allowed to be the *value* ${picocolors_1.default.cyan('undefined')} (i.e. ${picocolors_1.default.cyan('process.env.NODE_ENV===undefined')}) but it shouldn't be the *string* ${picocolors_1.default.cyan('"undefined"')} — see ${picocolors_1.default.underline('https://vike.dev/NODE_ENV')}`, { onlyOnce: true });
|
|
129
132
|
}
|
|
130
133
|
function isNodeEnvDev() {
|
|
131
134
|
const nodeEnv = getNodeEnv();
|
package/dist/cjs/utils/debug.js
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.debugGlob = void 0;
|
|
4
4
|
const debug_js_1 = require("./debug.js");
|
|
5
|
-
//
|
|
5
|
+
// TO-DO/next-major-release: remove (or rename?)
|
|
6
6
|
exports.debugGlob = (0, debug_js_1.createDebugger)('vike:glob');
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getViteRPC = getViteRPC;
|
|
4
|
+
exports.createViteRPC = createViteRPC;
|
|
5
|
+
const assert_js_1 = require("./assert.js");
|
|
6
|
+
const genPromise_js_1 = require("./genPromise.js");
|
|
7
|
+
const getRandomId_js_1 = require("./getRandomId.js");
|
|
8
|
+
const getGlobalObject_js_1 = require("./getGlobalObject.js");
|
|
9
|
+
const debug_js_1 = require("./debug.js");
|
|
10
|
+
const assertIsNotBrowser_js_1 = require("./assertIsNotBrowser.js");
|
|
11
|
+
(0, assertIsNotBrowser_js_1.assertIsNotBrowser)();
|
|
12
|
+
const globalObject = (0, getGlobalObject_js_1.getGlobalObject)('utils/getViteRPC.ts', {
|
|
13
|
+
rpc: null,
|
|
14
|
+
});
|
|
15
|
+
const debug = (0, debug_js_1.createDebugger)('vike:vite-rpc');
|
|
16
|
+
function getViteRPC() {
|
|
17
|
+
globalObject.rpc ?? (globalObject.rpc = createRpcClient());
|
|
18
|
+
return globalObject.rpc;
|
|
19
|
+
}
|
|
20
|
+
function createRpcClient() {
|
|
21
|
+
// @ts-ignore
|
|
22
|
+
const hot = (undefined);
|
|
23
|
+
(0, assert_js_1.assert)(hot);
|
|
24
|
+
const callbacks = [];
|
|
25
|
+
hot.on(`vike:rpc:response`, (dataResponse) => {
|
|
26
|
+
if (debug.isActivated)
|
|
27
|
+
debug('Response received', dataResponse);
|
|
28
|
+
const { callId, functionReturn } = dataResponse;
|
|
29
|
+
callbacks.forEach((c) => {
|
|
30
|
+
if (callId !== c.callId)
|
|
31
|
+
return;
|
|
32
|
+
c.cb(functionReturn);
|
|
33
|
+
callbacks.splice(callbacks.indexOf(c), 1);
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
const rpc = new Proxy({}, {
|
|
37
|
+
get(_, functionName) {
|
|
38
|
+
return async (...functionArgs) => {
|
|
39
|
+
// @ts-ignore
|
|
40
|
+
const hot = (undefined);
|
|
41
|
+
(0, assert_js_1.assert)(hot);
|
|
42
|
+
const callId = (0, getRandomId_js_1.getRandomId)();
|
|
43
|
+
const { promise, resolve } = (0, genPromise_js_1.genPromise)({ timeout: 3 * 1000 });
|
|
44
|
+
callbacks.push({
|
|
45
|
+
callId,
|
|
46
|
+
cb: (functionReturn) => {
|
|
47
|
+
resolve(functionReturn);
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
const dataRequest = { callId, functionName, functionArgs };
|
|
51
|
+
if (debug.isActivated)
|
|
52
|
+
debug('Request sent', dataRequest);
|
|
53
|
+
// Vite's type is wrong; it (undefined).send() does seem to return a promise
|
|
54
|
+
await hot.send('vike:rpc:request', dataRequest);
|
|
55
|
+
const functionReturn = await promise;
|
|
56
|
+
return functionReturn;
|
|
57
|
+
};
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
return rpc;
|
|
61
|
+
}
|
|
62
|
+
function createViteRPC(viteDevServer, getRpcFunctions) {
|
|
63
|
+
const rpcFunctions = getRpcFunctions(viteDevServer);
|
|
64
|
+
const { environments } = viteDevServer;
|
|
65
|
+
for (const envName in environments) {
|
|
66
|
+
debug('Listening to environment', envName);
|
|
67
|
+
const env = environments[envName];
|
|
68
|
+
env.hot.on('vike:rpc:request', async (dataRequest) => {
|
|
69
|
+
if (debug.isActivated)
|
|
70
|
+
debug('Request received', dataRequest);
|
|
71
|
+
const { callId, functionName, functionArgs } = dataRequest;
|
|
72
|
+
const functionReturn = await rpcFunctions[functionName](...functionArgs);
|
|
73
|
+
const dataResponse = { callId, functionReturn };
|
|
74
|
+
if (debug.isActivated)
|
|
75
|
+
debug('Response sent', dataResponse);
|
|
76
|
+
env.hot.send('vike:rpc:response', dataResponse);
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -49,7 +49,7 @@ function isPathAliasRecommended(alias) {
|
|
|
49
49
|
// - In principle, we could allow path aliases that don't start with special character as long as they can be distinguished from npm package names.
|
|
50
50
|
// - But we still enforce path aliases to start with a special character because it's a much simpler rule to follow.
|
|
51
51
|
if (alias.startsWith('@/'))
|
|
52
|
-
return true; // Needed by contra.com
|
|
52
|
+
return true; // Needed by contra.com and https://github.com/vikejs/vike/issues/1567#issuecomment-3076374243
|
|
53
53
|
const firstLetter = alias[0];
|
|
54
54
|
(0, assert_js_1.assert)(firstLetter);
|
|
55
55
|
if (firstLetter === '@' || /[0-9a-z]/.test(firstLetter.toLowerCase()))
|
|
@@ -7,7 +7,7 @@ import { PageConfigRuntime } from '../types/PageConfig.js';
|
|
|
7
7
|
/**
|
|
8
8
|
* Used by {@link https://github.com/magne4000/vite-plugin-vercel|vite-plugin-vercel} to compute some rewrite rules and extract { isr } configs.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
10
|
+
* TO-DO/eventually: remove
|
|
11
11
|
*/
|
|
12
12
|
declare function getPagesAndRoutes(): Promise<{
|
|
13
13
|
pageRoutes: PageRoutes;
|
|
@@ -8,7 +8,7 @@ import { setNodeEnvProduction } from '../utils/assertSetup.js';
|
|
|
8
8
|
/**
|
|
9
9
|
* Used by {@link https://github.com/magne4000/vite-plugin-vercel|vite-plugin-vercel} to compute some rewrite rules and extract { isr } configs.
|
|
10
10
|
*
|
|
11
|
-
*
|
|
11
|
+
* TO-DO/eventually: remove
|
|
12
12
|
*/
|
|
13
13
|
async function getPagesAndRoutes() {
|
|
14
14
|
setNodeEnvProduction();
|
package/dist/esm/client/node.js
CHANGED
|
@@ -30,7 +30,7 @@ declare function createPageContextClientSide(urlOriginal: string): Promise<{
|
|
|
30
30
|
} & {
|
|
31
31
|
_pageRoutes: import("../../__internal/index.js").PageRoutes;
|
|
32
32
|
_onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
|
|
33
|
-
}
|
|
33
|
+
} & Record<string, any>;
|
|
34
34
|
_pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
|
|
35
35
|
_urlHandler: null;
|
|
36
36
|
_urlRewrite: null | string;
|
|
@@ -14,14 +14,14 @@ async function createPageContextClientSide(urlOriginal) {
|
|
|
14
14
|
isPrerendering: false,
|
|
15
15
|
urlOriginal,
|
|
16
16
|
_globalContext: globalContext,
|
|
17
|
-
_pageFilesAll: globalContext._pageFilesAll, //
|
|
17
|
+
_pageFilesAll: globalContext._pageFilesAll, // TO-DO/next-major-release: remove
|
|
18
18
|
_urlHandler: null,
|
|
19
19
|
_urlRewrite: null,
|
|
20
20
|
_baseServer: baseServer,
|
|
21
21
|
});
|
|
22
22
|
const pageContextUrlComputed = getPageContextUrlComputed(pageContextCreated);
|
|
23
23
|
objectAssign(pageContextCreated, pageContextUrlComputed);
|
|
24
|
-
const pageContextAugmented =
|
|
24
|
+
const pageContextAugmented = createPageContextShared(pageContextCreated, globalContext._vikeConfigPublicGlobal);
|
|
25
25
|
augmentType(pageContextCreated, pageContextAugmented);
|
|
26
26
|
return pageContextCreated;
|
|
27
27
|
}
|