vike 0.4.236-commit-eab75f6 → 0.4.237-commit-85e89b1
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/client/runtime-client-routing/globalContext.js +2 -2
- package/dist/cjs/client/runtime-server-routing/globalContext.js +2 -2
- package/dist/cjs/client/shared/createGetGlobalContextClient.js +5 -7
- package/dist/cjs/node/api/preview.js +1 -1
- package/dist/cjs/node/prerender/runPrerender.js +4 -4
- package/dist/cjs/node/runtime/globalContext.js +21 -22
- package/dist/cjs/node/runtime/html/serializeContext.js +8 -47
- package/dist/cjs/node/runtime/html/stream.js +1 -1
- package/dist/cjs/node/runtime/renderPage/analyzePage.js +3 -3
- package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +4 -7
- package/dist/cjs/node/runtime/renderPage/getPageAssets/getManifestEntry.js +5 -4
- package/dist/cjs/node/runtime/renderPage/getPageAssets/{retrieveAssetsDev.js → retrievePageAssetsDev.js} +21 -6
- package/dist/cjs/node/runtime/renderPage/getPageAssets/{retrieveAssetsProd.js → retrievePageAssetsProd.js} +19 -2
- package/dist/cjs/node/runtime/renderPage/getPageAssets.js +5 -34
- package/dist/cjs/node/runtime/renderPage/handlePageContextRequestUrl.js +50 -14
- package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +22 -9
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -3
- package/dist/cjs/node/runtime/renderPage.js +7 -6
- package/dist/cjs/node/shared/virtualFileId.js +110 -0
- package/dist/cjs/node/vite/index.js +3 -3
- package/dist/cjs/node/vite/onLoad.js +5 -3
- package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +10 -10
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildApp.js +1 -0
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +20 -11
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildEntry.js +4 -4
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginModuleBanner.js +4 -10
- package/dist/cjs/node/vite/plugins/pluginDev/determineOptimizeDeps.js +46 -44
- package/dist/cjs/node/vite/plugins/pluginEnvVars.js +5 -12
- package/dist/cjs/node/vite/plugins/pluginExtractAssets.js +5 -5
- package/dist/cjs/node/vite/plugins/pluginExtractExportNames.js +5 -1
- package/dist/cjs/node/vite/plugins/pluginNonRunnableDev.js +2 -6
- package/dist/cjs/node/vite/plugins/pluginPreview.js +11 -4
- package/dist/cjs/node/vite/plugins/pluginReplaceConstants.js +5 -12
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/{getVirtualFilePageConfigsEager.js → generateVirtualFileGlobalEntry.js} +7 -9
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/{getVirtualFileEntry.js → generateVirtualFileGlobalEntryWithOldDesign.js} +11 -11
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/{getVirtualFilePageConfigLazy.js → generateVirtualFilePageEntry.js} +10 -12
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +67 -0
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +14 -12
- package/dist/cjs/node/vite/shared/findPageFiles.js +1 -1
- package/dist/cjs/node/vite/shared/{resolveClientEntriesDev.js → getClientEntrySrcDev.js} +2 -2
- package/dist/cjs/node/vite/shared/getMagicString.js +1 -1
- package/dist/cjs/node/vite/shared/getOutDirs.js +18 -12
- package/dist/cjs/node/vite/shared/getViteConfigRuntime.js +1 -1
- package/dist/cjs/node/vite/shared/isViteServerBuild.js +54 -31
- package/dist/cjs/node/vite/shared/loggerVite.js +1 -1
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +31 -3
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal.js +8 -19
- package/dist/cjs/shared/createGlobalContextShared.js +23 -10
- package/dist/cjs/shared/getPageFiles/{parseVirtualFileExports.js → parseVirtualFileExportsGlobalEntry.js} +20 -26
- package/dist/cjs/shared/modifyUrlSameOrigin.js +9 -4
- package/dist/cjs/shared/page-configs/loadPageEntry.js +25 -0
- package/dist/cjs/shared/page-configs/resolveVikeConfigPublic.js +4 -4
- package/dist/cjs/shared/page-configs/serialize/{parsePageConfigs.js → parsePageConfigsSerialized.js} +2 -2
- package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +15 -16
- package/dist/cjs/shared/utils.js +2 -0
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/cast.js +1 -1
- package/dist/esm/client/runtime-client-routing/createPageContextClientSide.d.ts +2 -2
- package/dist/esm/client/runtime-client-routing/getPageContextCurrent.d.ts +2 -2
- package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +12 -12
- package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.js +35 -48
- package/dist/esm/client/runtime-client-routing/globalContext.d.ts +2 -2
- package/dist/esm/client/runtime-client-routing/globalContext.js +2 -2
- package/dist/esm/client/runtime-client-routing/history.d.ts +3 -5
- package/dist/esm/client/runtime-client-routing/history.js +39 -22
- package/dist/esm/client/runtime-client-routing/initClientRouter.js +2 -3
- package/dist/esm/client/runtime-client-routing/prefetch/getPrefetchSettings.d.ts +2 -2
- package/dist/esm/client/runtime-client-routing/prefetch.d.ts +2 -2
- package/dist/esm/client/runtime-client-routing/prefetch.js +2 -2
- package/dist/esm/client/runtime-client-routing/preparePageContextForPublicUsageClient.d.ts +2 -2
- package/dist/esm/client/runtime-client-routing/renderPageClientSide.d.ts +4 -4
- package/dist/esm/client/runtime-client-routing/utils.d.ts +2 -0
- package/dist/esm/client/runtime-client-routing/utils.js +2 -0
- package/dist/esm/client/runtime-server-routing/createPageContextClientSide.d.ts +3 -3
- package/dist/esm/client/runtime-server-routing/globalContext.d.ts +2 -2
- package/dist/esm/client/runtime-server-routing/globalContext.js +2 -2
- package/dist/esm/client/runtime-server-routing/preparePageContextForPublicUsageClient.d.ts +2 -2
- package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +3 -3
- package/dist/esm/client/shared/createGetGlobalContextClient.js +5 -7
- package/dist/esm/client/shared/execHookOnRenderClient.d.ts +2 -2
- package/dist/esm/client/shared/loadPageConfigsLazyClientSide.d.ts +1 -1
- package/dist/esm/client/shared/loadPageConfigsLazyClientSide.js +4 -4
- package/dist/esm/client/shared/preparePageContextForPublicUsageClientShared.d.ts +2 -2
- package/dist/esm/node/api/preview.js +1 -1
- package/dist/esm/node/prerender/runPrerender.d.ts +9 -9
- package/dist/esm/node/prerender/runPrerender.js +4 -4
- package/dist/esm/node/runtime/globalContext.d.ts +10 -10
- package/dist/esm/node/runtime/globalContext.js +21 -22
- package/dist/esm/node/runtime/html/serializeContext.d.ts +8 -3
- package/dist/esm/node/runtime/html/serializeContext.js +8 -47
- package/dist/esm/node/runtime/html/stream.js +1 -1
- package/dist/esm/node/runtime/renderPage/analyzePage.js +3 -3
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +3 -3
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +4 -7
- package/dist/esm/node/runtime/renderPage/execHookServer.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/getPageAssets/getManifestEntry.js +5 -4
- package/dist/esm/node/runtime/renderPage/getPageAssets/retrievePageAssetsDev.d.ts +10 -0
- package/dist/esm/node/runtime/renderPage/getPageAssets/{retrieveAssetsDev.js → retrievePageAssetsDev.js} +22 -7
- package/dist/esm/node/runtime/renderPage/getPageAssets/retrievePageAssetsProd.d.ts +10 -0
- package/dist/esm/node/runtime/renderPage/getPageAssets/{retrieveAssetsProd.js → retrievePageAssetsProd.js} +19 -2
- package/dist/esm/node/runtime/renderPage/getPageAssets.d.ts +0 -6
- package/dist/esm/node/runtime/renderPage/getPageAssets.js +4 -33
- package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/handlePageContextRequestUrl.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/handlePageContextRequestUrl.js +51 -15
- package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.d.ts +3 -3
- package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +25 -12
- package/dist/esm/node/runtime/renderPage/log404/index.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.d.ts +2 -3
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +10 -11
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -3
- package/dist/esm/node/runtime/renderPage.d.ts +3 -2
- package/dist/esm/node/runtime/renderPage.js +7 -6
- package/dist/esm/node/shared/virtualFileId.d.ts +28 -0
- package/dist/esm/node/shared/virtualFileId.js +107 -0
- package/dist/esm/node/vite/index.js +3 -3
- package/dist/esm/node/vite/onLoad.js +5 -3
- package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.d.ts +2 -2
- package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.js +11 -11
- package/dist/esm/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildApp.js +1 -0
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.js +21 -12
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildEntry.js +4 -4
- package/dist/esm/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.js +5 -8
- package/dist/esm/node/vite/plugins/pluginDev/determineOptimizeDeps.js +47 -45
- package/dist/esm/node/vite/plugins/pluginEnvVars.js +6 -10
- package/dist/esm/node/vite/plugins/pluginExtractAssets.js +4 -4
- package/dist/esm/node/vite/plugins/pluginExtractExportNames.js +6 -2
- package/dist/esm/node/vite/plugins/pluginNonRunnableDev.js +2 -6
- package/dist/esm/node/vite/plugins/pluginPreview.js +13 -6
- package/dist/esm/node/vite/plugins/pluginReplaceConstants.js +6 -10
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.d.ts +2 -0
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/{getVirtualFilePageConfigsEager.js → generateVirtualFileGlobalEntry.js} +7 -9
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.d.ts +6 -0
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/{getVirtualFileEntry.js → generateVirtualFileGlobalEntryWithOldDesign.js} +11 -11
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.d.ts +3 -0
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/{getVirtualFilePageConfigLazy.js → generateVirtualFilePageEntry.js} +10 -12
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.d.ts +14 -0
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +65 -0
- package/dist/esm/node/vite/plugins/pluginVirtualFiles.js +14 -12
- package/dist/esm/node/vite/shared/findPageFiles.js +1 -1
- package/dist/esm/node/vite/shared/getClientEntrySrcDev.d.ts +4 -0
- package/dist/esm/node/vite/shared/{resolveClientEntriesDev.js → getClientEntrySrcDev.js} +2 -2
- package/dist/esm/node/vite/shared/getMagicString.js +1 -1
- package/dist/esm/node/vite/shared/getOutDirs.d.ts +6 -3
- package/dist/esm/node/vite/shared/getOutDirs.js +19 -13
- package/dist/esm/node/vite/shared/getViteConfigRuntime.js +1 -1
- package/dist/esm/node/vite/shared/isViteServerBuild.d.ts +14 -11
- package/dist/esm/node/vite/shared/isViteServerBuild.js +55 -31
- package/dist/esm/node/vite/shared/loggerVite.js +1 -1
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.d.ts +2 -2
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +31 -3
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal.d.ts +3 -5
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal.js +10 -21
- package/dist/esm/shared/createGlobalContextShared.d.ts +6 -6
- package/dist/esm/shared/createGlobalContextShared.js +25 -12
- package/dist/esm/shared/getPageFiles/{parseVirtualFileExports.d.ts → parseVirtualFileExportsGlobalEntry.d.ts} +2 -2
- package/dist/esm/shared/getPageFiles/{parseVirtualFileExports.js → parseVirtualFileExportsGlobalEntry.js} +20 -26
- package/dist/esm/shared/getPageFiles.d.ts +1 -1
- package/dist/esm/shared/hooks/execHook.d.ts +2 -2
- package/dist/esm/shared/hooks/getHook.d.ts +3 -3
- package/dist/esm/shared/modifyUrlSameOrigin.d.ts +1 -1
- package/dist/esm/shared/modifyUrlSameOrigin.js +9 -4
- package/dist/esm/shared/page-configs/loadPageEntry.d.ts +3 -0
- package/dist/esm/shared/page-configs/loadPageEntry.js +23 -0
- package/dist/esm/shared/page-configs/resolveVikeConfigPublic.d.ts +9 -9
- package/dist/esm/shared/page-configs/resolveVikeConfigPublic.js +4 -4
- package/dist/esm/shared/page-configs/serialize/PageConfigSerialized.d.ts +1 -1
- package/dist/esm/shared/page-configs/serialize/{parsePageConfigs.d.ts → parsePageConfigsSerialized.d.ts} +2 -2
- package/dist/esm/shared/page-configs/serialize/{parsePageConfigs.js → parsePageConfigsSerialized.js} +2 -2
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.d.ts +3 -2
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +15 -16
- package/dist/esm/shared/utils.d.ts +2 -0
- package/dist/esm/shared/utils.js +2 -0
- package/dist/esm/types/Config.d.ts +33 -98
- package/dist/esm/types/PageConfig.d.ts +9 -7
- package/dist/esm/types/VikeNamespace.d.ts +13 -0
- package/dist/esm/types/index.d.ts +3 -1
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/cast.d.ts +2 -2
- package/dist/esm/utils/cast.js +1 -1
- package/dist/esm/utils/objectFilter.d.ts +1 -1
- package/package.json +3 -3
- package/dist/cjs/node/shared/virtualFiles/virtualFileEntry.js +0 -31
- package/dist/cjs/node/shared/virtualFiles/virtualFilePageConfigLazy.js +0 -45
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/isRuntimeEnvMatch.js +0 -23
- package/dist/cjs/node/vite/shared/applyRegExWithMagicString.js +0 -11
- package/dist/cjs/shared/page-configs/loadConfigValues.js +0 -21
- package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.d.ts +0 -4
- package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.d.ts +0 -4
- package/dist/esm/node/shared/virtualFiles/virtualFileEntry.d.ts +0 -11
- package/dist/esm/node/shared/virtualFiles/virtualFileEntry.js +0 -28
- package/dist/esm/node/shared/virtualFiles/virtualFilePageConfigLazy.d.ts +0 -9
- package/dist/esm/node/shared/virtualFiles/virtualFilePageConfigLazy.js +0 -43
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFileEntry.d.ts +0 -5
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigLazy.d.ts +0 -3
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigsEager.d.ts +0 -2
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/isRuntimeEnvMatch.d.ts +0 -7
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/isRuntimeEnvMatch.js +0 -21
- package/dist/esm/node/vite/shared/applyRegExWithMagicString.d.ts +0 -3
- package/dist/esm/node/vite/shared/applyRegExWithMagicString.js +0 -9
- package/dist/esm/node/vite/shared/resolveClientEntriesDev.d.ts +0 -4
- package/dist/esm/shared/page-configs/loadConfigValues.d.ts +0 -3
- package/dist/esm/shared/page-configs/loadConfigValues.js +0 -19
|
@@ -2,31 +2,67 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.handlePageContextRequestUrl = handlePageContextRequestUrl;
|
|
4
4
|
const getPageContextRequestUrl_js_1 = require("../../../shared/getPageContextRequestUrl.js");
|
|
5
|
+
const modifyUrl_js_1 = require("../../../shared/modifyUrl.js");
|
|
5
6
|
const utils_js_1 = require("../utils.js");
|
|
6
7
|
// See also shared/getPageContextRequestUrl.ts
|
|
7
8
|
function handlePageContextRequestUrl(url) {
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
const urlParsed = (0, utils_js_1.parseUrl)(url, utils_js_1.baseServer);
|
|
10
|
+
if (!isMatch(urlParsed)) {
|
|
11
|
+
return {
|
|
12
|
+
isPageContextJsonRequest: false,
|
|
13
|
+
urlWithoutPageContextRequestSuffix: url,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
const { urlWithoutPageContextRequestSuffix, searchVikeArgs } = processUrl(urlParsed, url);
|
|
18
|
+
const previousUrl = parseSearchVikeArgs(searchVikeArgs);
|
|
19
|
+
return {
|
|
20
|
+
/* TO-DO/soon/once: pass & use previousUrl
|
|
21
|
+
isPageContextJsonRequest: { previousUrl },
|
|
22
|
+
/*/
|
|
23
|
+
isPageContextJsonRequest: true,
|
|
24
|
+
//*/
|
|
25
|
+
urlWithoutPageContextRequestSuffix,
|
|
26
|
+
};
|
|
10
27
|
}
|
|
11
|
-
return { urlWithoutPageContextRequestSuffix: removePageContextUrlSuffix(url), isPageContextRequest: true };
|
|
12
28
|
}
|
|
13
|
-
function
|
|
14
|
-
const { pathnameOriginal, pathname } =
|
|
15
|
-
(0, utils_js_1.assert)(
|
|
16
|
-
|
|
17
|
-
});
|
|
18
|
-
return pathnameOriginal.endsWith(getPageContextRequestUrl_js_1.pageContextJsonFileExtension);
|
|
29
|
+
function isMatch(urlParsed) {
|
|
30
|
+
const { pathnameOriginal, pathname } = urlParsed;
|
|
31
|
+
(0, utils_js_1.assert)(pathname.endsWith(getPageContextRequestUrl_js_1.pageContextJsonFileExtension) === pathnameOriginal.endsWith(getPageContextRequestUrl_js_1.pageContextJsonFileExtension));
|
|
32
|
+
return pathname.endsWith(getPageContextRequestUrl_js_1.pageContextJsonFileExtension);
|
|
19
33
|
}
|
|
20
|
-
function
|
|
21
|
-
const urlParsed = (0, utils_js_1.parseUrl)(url, utils_js_1.baseServer);
|
|
34
|
+
function processUrl(urlParsed, url) {
|
|
22
35
|
// We cannot use `urlParsed.pathname` because it would break the `urlParsed.pathnameOriginal` value of subsequent `parseUrl()` calls.
|
|
23
|
-
const {
|
|
36
|
+
const { pathnameOriginal, search } = urlParsed;
|
|
24
37
|
(0, utils_js_1.assert)(getPageContextRequestUrl_js_1.doNotCreateExtraDirectory === false);
|
|
25
38
|
const urlSuffix = `/index${getPageContextRequestUrl_js_1.pageContextJsonFileExtension}`;
|
|
26
39
|
(0, utils_js_1.assert)(pathnameOriginal.endsWith(urlSuffix), { url });
|
|
27
40
|
let pathnameModified = (0, utils_js_1.slice)(pathnameOriginal, 0, -1 * urlSuffix.length);
|
|
28
41
|
if (pathnameModified === '')
|
|
29
42
|
pathnameModified = '/';
|
|
30
|
-
|
|
31
|
-
|
|
43
|
+
const searchVikeArgs = search?._vike;
|
|
44
|
+
const urlWithoutPageContextRequestSuffix = (0, modifyUrl_js_1.modifyUrl)(url, {
|
|
45
|
+
pathname: pathnameModified,
|
|
46
|
+
search: {
|
|
47
|
+
_vike: searchVikeArgs ? null : undefined,
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
return {
|
|
51
|
+
searchVikeArgs,
|
|
52
|
+
urlWithoutPageContextRequestSuffix,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function parseSearchVikeArgs(searchVikeArgs) {
|
|
56
|
+
const args = {
|
|
57
|
+
previousUrl: null,
|
|
58
|
+
};
|
|
59
|
+
if (searchVikeArgs) {
|
|
60
|
+
const parsed = JSON.parse(searchVikeArgs);
|
|
61
|
+
(0, utils_js_1.assert)((0, utils_js_1.isObject)(parsed));
|
|
62
|
+
if ('previousUrl' in parsed) {
|
|
63
|
+
(0, utils_js_1.assert)((0, utils_js_1.hasProp)(parsed, 'previousUrl', 'string'));
|
|
64
|
+
args.previousUrl = parsed.previousUrl;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return args;
|
|
32
68
|
}
|
|
@@ -9,7 +9,7 @@ const getPageAssets_js_1 = require("./getPageAssets.js");
|
|
|
9
9
|
const debugPageFiles_js_1 = require("./debugPageFiles.js");
|
|
10
10
|
const findPageConfig_js_1 = require("../../../shared/page-configs/findPageConfig.js");
|
|
11
11
|
const analyzePage_js_1 = require("./analyzePage.js");
|
|
12
|
-
const
|
|
12
|
+
const loadPageEntry_js_1 = require("../../../shared/page-configs/loadPageEntry.js");
|
|
13
13
|
const execHookServer_js_1 = require("./execHookServer.js");
|
|
14
14
|
const getCacheControl_js_1 = require("./getCacheControl.js");
|
|
15
15
|
async function loadPageConfigsLazyServerSideAndExecHook(pageContext) {
|
|
@@ -31,19 +31,32 @@ async function loadPageConfigsLazyServerSide(pageContext) {
|
|
|
31
31
|
const { isHtmlOnly, isClientRouting, clientEntries, clientDependencies, pageFilesClientSide, pageFilesServerSide } = await (0, analyzePage_js_1.analyzePage)(pageContext._globalContext._pageFilesAll, pageConfig, pageContext.pageId, globalContext);
|
|
32
32
|
const isV1Design = !!pageConfig;
|
|
33
33
|
const passToClient = [];
|
|
34
|
-
const
|
|
34
|
+
const errMsgSuffix = ' should be an array of strings.';
|
|
35
35
|
if (!isV1Design) {
|
|
36
36
|
configPublicPageLazy.exportsAll.passToClient?.forEach((e) => {
|
|
37
|
-
(0, utils_js_1.assertUsage)((0, utils_js_1.hasProp)(e, 'exportValue', 'string[]'), `${e.exportSource}${
|
|
37
|
+
(0, utils_js_1.assertUsage)((0, utils_js_1.hasProp)(e, 'exportValue', 'string[]'), `${e.exportSource}${errMsgSuffix}`);
|
|
38
38
|
passToClient.push(...e.exportValue);
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
else {
|
|
42
42
|
configPublicPageLazy.from.configsCumulative.passToClient?.values.forEach((v) => {
|
|
43
|
-
const { value } = v;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
const { value, definedAt } = v;
|
|
44
|
+
const errMsg = `+passToClient value defined at ${definedAt}${errMsgSuffix}`;
|
|
45
|
+
//*/ TO-DO/next-major-release: remove the passToClient once setting from the public API
|
|
46
|
+
(0, utils_js_1.assertUsage)((0, utils_js_1.isArray)(value), `+passToClient value defined at ${definedAt} should be an array`);
|
|
47
|
+
const valS = value.map((el) => {
|
|
48
|
+
if ((0, utils_js_1.isObject)(el)) {
|
|
49
|
+
(0, utils_js_1.assertWarning)(!('once' in el), 'The passToClient once setting is deprecated and no longer has any effect. Instead, see the upcoming .once.js suffix (see https://github.com/vikejs/vike/issues/2566 for more information).', { onlyOnce: true });
|
|
50
|
+
(0, utils_js_1.assertUsage)((0, utils_js_1.hasProp)(el, 'prop', 'string'), errMsg);
|
|
51
|
+
return el.prop;
|
|
52
|
+
}
|
|
53
|
+
(0, utils_js_1.assertUsage)(typeof el === 'string', errMsg);
|
|
54
|
+
return el;
|
|
55
|
+
});
|
|
56
|
+
/*/
|
|
57
|
+
assertUsage(isArrayOfStrings(value), errMsg)
|
|
58
|
+
//*/
|
|
59
|
+
passToClient.push(...valS);
|
|
47
60
|
});
|
|
48
61
|
}
|
|
49
62
|
const pageContextAddendum = {};
|
|
@@ -108,9 +121,9 @@ async function loadPageConfigsLazyServerSide(pageContext) {
|
|
|
108
121
|
}
|
|
109
122
|
async function loadPageConfigFiles(pageFilesAll, pageConfig, pageConfigGlobal, pageId, isDev) {
|
|
110
123
|
const pageFilesServerSide = (0, getPageFiles_js_1.getPageFilesServerSide)(pageFilesAll, pageId);
|
|
111
|
-
const pageConfigLoaded = !pageConfig ? null : await (0,
|
|
124
|
+
const pageConfigLoaded = !pageConfig ? null : await (0, loadPageEntry_js_1.loadPageEntry)(pageConfig, isDev);
|
|
112
125
|
await Promise.all(pageFilesServerSide.map((p) => p.loadFile?.()));
|
|
113
|
-
const configPublicPageLazy = (0, resolveVikeConfigPublic_js_1.
|
|
126
|
+
const configPublicPageLazy = (0, resolveVikeConfigPublic_js_1.resolveVikeConfigPublicPageLazyLoaded)(pageFilesServerSide, pageConfigLoaded, pageConfigGlobal);
|
|
114
127
|
return {
|
|
115
128
|
configPublicPageLazy,
|
|
116
129
|
pageFilesLoaded: pageFilesServerSide,
|
|
@@ -63,8 +63,7 @@ async function renderPageAlreadyRouted(pageContext) {
|
|
|
63
63
|
}
|
|
64
64
|
async function prerenderPage(pageContext) {
|
|
65
65
|
(0, utils_js_1.objectAssign)(pageContext, {
|
|
66
|
-
|
|
67
|
-
_urlHandler: null,
|
|
66
|
+
_isPageContextJsonRequest: null,
|
|
68
67
|
});
|
|
69
68
|
/* Should we execute the guard() hook upon pre-rendering? Is there a use case for this?
|
|
70
69
|
* - It isn't trivial to implement, as it requires to duplicate / factor out the isAbortError() handling
|
|
@@ -73,7 +72,6 @@ async function prerenderPage(pageContext) {
|
|
|
73
72
|
await (0, execHookDataAndOnBeforeRender_js_1.execHookDataAndOnBeforeRender)(pageContext);
|
|
74
73
|
const { htmlRender, renderHook } = await (0, execHookOnRenderHtml_js_1.execHookOnRenderHtml)(pageContext);
|
|
75
74
|
(0, utils_js_1.assertUsage)(htmlRender !== null, `Cannot pre-render ${picocolors_1.default.cyan(pageContext.urlOriginal)} because the ${renderHook.hookName}() hook defined by ${renderHook.hookFilePath} didn't return an HTML string.`);
|
|
76
|
-
(0, utils_js_1.assert)(pageContext.isClientSideNavigation === false);
|
|
77
75
|
const documentHtml = await (0, renderHtml_js_1.getHtmlString)(htmlRender);
|
|
78
76
|
(0, utils_js_1.assert)(typeof documentHtml === 'string');
|
|
79
77
|
if (!pageContext._usesClientRouter) {
|
|
@@ -312,7 +312,7 @@ async function getPageContextErrorPageInit(pageContextBegin, errNominalPage, pag
|
|
|
312
312
|
return pageContext;
|
|
313
313
|
}
|
|
314
314
|
function getPageContextBegin(pageContextInit, globalContext, httpRequestId) {
|
|
315
|
-
const { isClientSideNavigation, _urlHandler } = handlePageContextUrl(pageContextInit.urlOriginal);
|
|
315
|
+
const { isClientSideNavigation, _urlHandler, _isPageContextJsonRequest } = handlePageContextUrl(pageContextInit.urlOriginal);
|
|
316
316
|
const pageContextBegin = (0, createPageContextServerSide_js_1.createPageContextServerSide)(pageContextInit, globalContext, {
|
|
317
317
|
isPrerendering: false,
|
|
318
318
|
ssr: {
|
|
@@ -320,13 +320,14 @@ function getPageContextBegin(pageContextInit, globalContext, httpRequestId) {
|
|
|
320
320
|
isClientSideNavigation,
|
|
321
321
|
},
|
|
322
322
|
});
|
|
323
|
-
(0, utils_js_1.objectAssign)(pageContextBegin, { _httpRequestId: httpRequestId });
|
|
323
|
+
(0, utils_js_1.objectAssign)(pageContextBegin, { _httpRequestId: httpRequestId, _isPageContextJsonRequest });
|
|
324
324
|
return pageContextBegin;
|
|
325
325
|
}
|
|
326
326
|
function handlePageContextUrl(urlOriginal) {
|
|
327
|
-
const {
|
|
327
|
+
const { isPageContextJsonRequest } = (0, handlePageContextRequestUrl_js_1.handlePageContextRequestUrl)(urlOriginal);
|
|
328
328
|
return {
|
|
329
|
-
isClientSideNavigation:
|
|
329
|
+
isClientSideNavigation: !!isPageContextJsonRequest,
|
|
330
|
+
_isPageContextJsonRequest: isPageContextJsonRequest,
|
|
330
331
|
_urlHandler: (url) => (0, handlePageContextRequestUrl_js_1.handlePageContextRequestUrl)(url).urlWithoutPageContextRequestSuffix,
|
|
331
332
|
};
|
|
332
333
|
}
|
|
@@ -350,8 +351,8 @@ async function normalizeUrl(pageContextBegin, globalContext, httpRequestId) {
|
|
|
350
351
|
if (disableUrlNormalization)
|
|
351
352
|
return null;
|
|
352
353
|
const { urlOriginal } = pageContext;
|
|
353
|
-
const {
|
|
354
|
-
if (
|
|
354
|
+
const { isPageContextJsonRequest } = (0, handlePageContextRequestUrl_js_1.handlePageContextRequestUrl)(urlOriginal);
|
|
355
|
+
if (isPageContextJsonRequest)
|
|
355
356
|
return null;
|
|
356
357
|
const urlNormalized = (0, utils_js_1.normalizeUrlPathname)(urlOriginal, trailingSlash ?? false, globalContext.baseServer);
|
|
357
358
|
if (!urlNormalized)
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.virtualFileIdGlobalEntryClientCR = exports.virtualFileIdGlobalEntryClientSR = exports.virtualFileIdGlobalEntryServer = void 0;
|
|
4
|
+
exports.parseVirtualFileId = parseVirtualFileId;
|
|
5
|
+
exports.generateVirtualFileId = generateVirtualFileId;
|
|
6
|
+
const extractAssetsQuery_js_1 = require("./extractAssetsQuery.js");
|
|
7
|
+
const utils_js_1 = require("./utils.js");
|
|
8
|
+
(0, utils_js_1.assertIsNotBrowser)();
|
|
9
|
+
// Global entries
|
|
10
|
+
const virtualFileIdGlobalEntryServer =
|
|
11
|
+
//
|
|
12
|
+
'virtual:vike:global-entry:server';
|
|
13
|
+
exports.virtualFileIdGlobalEntryServer = virtualFileIdGlobalEntryServer;
|
|
14
|
+
const virtualFileIdGlobalEntryClientSR =
|
|
15
|
+
//
|
|
16
|
+
'virtual:vike:global-entry:client:server-routing';
|
|
17
|
+
exports.virtualFileIdGlobalEntryClientSR = virtualFileIdGlobalEntryClientSR;
|
|
18
|
+
const virtualFileIdGlobalEntryClientCR =
|
|
19
|
+
//
|
|
20
|
+
'virtual:vike:global-entry:client:client-routing';
|
|
21
|
+
exports.virtualFileIdGlobalEntryClientCR = virtualFileIdGlobalEntryClientCR;
|
|
22
|
+
// Page entries
|
|
23
|
+
const virtualFileIdPageEntryClient =
|
|
24
|
+
//
|
|
25
|
+
'virtual:vike:page-entry:client:'; // ${pageId}
|
|
26
|
+
const virtualFileIdPageEntryServer =
|
|
27
|
+
//
|
|
28
|
+
'virtual:vike:page-entry:server:'; // ${pageId}
|
|
29
|
+
// Virtual ID prefixes
|
|
30
|
+
const virtualFileIdPageEntryPrefix =
|
|
31
|
+
//
|
|
32
|
+
'virtual:vike:page-entry:';
|
|
33
|
+
const virtualFileIdGlobalEntryPrefix =
|
|
34
|
+
//
|
|
35
|
+
'virtual:vike:global-entry:';
|
|
36
|
+
const virtualFileIdGlobalEntries = [
|
|
37
|
+
virtualFileIdGlobalEntryServer,
|
|
38
|
+
virtualFileIdGlobalEntryClientCR,
|
|
39
|
+
virtualFileIdGlobalEntryClientSR,
|
|
40
|
+
];
|
|
41
|
+
(0, utils_js_1.assert)(virtualFileIdGlobalEntries.every((v) =>
|
|
42
|
+
//
|
|
43
|
+
v.startsWith(virtualFileIdGlobalEntryPrefix)));
|
|
44
|
+
(0, utils_js_1.assert)([virtualFileIdPageEntryClient, virtualFileIdPageEntryServer].every((v) =>
|
|
45
|
+
//
|
|
46
|
+
v.startsWith(virtualFileIdPageEntryPrefix)));
|
|
47
|
+
function parseVirtualFileId(id) {
|
|
48
|
+
id = (0, utils_js_1.removeVirtualFileIdPrefix)(id);
|
|
49
|
+
if (!id.startsWith(virtualFileIdGlobalEntryPrefix) && !id.startsWith(virtualFileIdPageEntryPrefix))
|
|
50
|
+
return false;
|
|
51
|
+
// Global entry
|
|
52
|
+
if (id.includes(virtualFileIdGlobalEntryPrefix)) {
|
|
53
|
+
(0, utils_js_1.assert)(virtualFileIdGlobalEntries.includes(id));
|
|
54
|
+
const isForClientSide = id !== virtualFileIdGlobalEntryServer;
|
|
55
|
+
const isClientRouting = id === virtualFileIdGlobalEntryClientCR;
|
|
56
|
+
return {
|
|
57
|
+
type: 'global-entry',
|
|
58
|
+
isForClientSide,
|
|
59
|
+
isClientRouting,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
// Page entry
|
|
63
|
+
if (id.includes(virtualFileIdPageEntryPrefix)) {
|
|
64
|
+
(0, utils_js_1.assert)(id.startsWith(virtualFileIdPageEntryPrefix));
|
|
65
|
+
const idOriginal = id;
|
|
66
|
+
id = (0, extractAssetsQuery_js_1.extractAssetsRemoveQuery)(id);
|
|
67
|
+
const isExtractAssets = idOriginal !== id;
|
|
68
|
+
if (id.startsWith(virtualFileIdPageEntryClient)) {
|
|
69
|
+
(0, utils_js_1.assert)(isExtractAssets === false);
|
|
70
|
+
return {
|
|
71
|
+
type: 'page-entry',
|
|
72
|
+
pageId: id.slice(virtualFileIdPageEntryClient.length),
|
|
73
|
+
isForClientSide: true,
|
|
74
|
+
isExtractAssets,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
if (id.startsWith(virtualFileIdPageEntryServer)) {
|
|
78
|
+
return {
|
|
79
|
+
type: 'page-entry',
|
|
80
|
+
pageId: id.slice(virtualFileIdPageEntryServer.length),
|
|
81
|
+
isForClientSide: false,
|
|
82
|
+
isExtractAssets,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
(0, utils_js_1.assert)(false);
|
|
86
|
+
}
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
function generateVirtualFileId(args) {
|
|
90
|
+
if (args.type === 'global-entry') {
|
|
91
|
+
const { isForClientSide, isClientRouting } = args;
|
|
92
|
+
(0, utils_js_1.assert)(typeof isClientRouting === 'boolean');
|
|
93
|
+
if (!isForClientSide) {
|
|
94
|
+
return virtualFileIdGlobalEntryServer;
|
|
95
|
+
}
|
|
96
|
+
else if (isClientRouting) {
|
|
97
|
+
return virtualFileIdGlobalEntryClientCR;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
return virtualFileIdGlobalEntryClientSR;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
if (args.type === 'page-entry') {
|
|
104
|
+
const { pageId, isForClientSide } = args;
|
|
105
|
+
(0, utils_js_1.assert)(typeof pageId === 'string');
|
|
106
|
+
const id = `${isForClientSide ? virtualFileIdPageEntryClient : virtualFileIdPageEntryServer}${pageId}`;
|
|
107
|
+
return id;
|
|
108
|
+
}
|
|
109
|
+
(0, utils_js_1.assert)(false);
|
|
110
|
+
}
|
|
@@ -24,14 +24,14 @@ const pluginBaseUrls_js_1 = require("./plugins/pluginBaseUrls.js");
|
|
|
24
24
|
const pluginEnvVars_js_1 = require("./plugins/pluginEnvVars.js");
|
|
25
25
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
26
26
|
const pluginFileEnv_js_1 = require("./plugins/pluginFileEnv.js");
|
|
27
|
-
const
|
|
28
|
-
const resolveClientEntriesDev_js_1 = require("./shared/resolveClientEntriesDev.js");
|
|
27
|
+
const getClientEntrySrcDev_js_1 = require("./shared/getClientEntrySrcDev.js");
|
|
29
28
|
const pluginWorkaroundCssModuleHmr_js_1 = require("./plugins/pluginWorkaroundCssModuleHmr.js");
|
|
30
29
|
const pluginWorkaroundVite6HmrRegression_js_1 = require("./plugins/pluginWorkaroundVite6HmrRegression.js");
|
|
31
30
|
const pluginReplaceConstants_js_1 = require("./plugins/pluginReplaceConstants.js");
|
|
32
31
|
const pluginNonRunnableDev_js_1 = require("./plugins/pluginNonRunnableDev.js");
|
|
32
|
+
const retrievePageAssetsDev_js_1 = require("../runtime/renderPage/getPageAssets/retrievePageAssetsDev.js");
|
|
33
33
|
// We don't call this in ./onLoad.ts to avoid a cyclic dependency with utils.ts
|
|
34
|
-
(0,
|
|
34
|
+
(0, retrievePageAssetsDev_js_1.setGetClientEntrySrcDev)(getClientEntrySrcDev_js_1.getClientEntrySrcDev);
|
|
35
35
|
// Return `PluginInterop` instead of `Plugin` to avoid type mismatch upon different Vite versions
|
|
36
36
|
function plugin(vikeVitePluginOptions = {}) {
|
|
37
37
|
const plugins = [
|
|
@@ -11,9 +11,11 @@ function onLoad() {
|
|
|
11
11
|
(0, assertIsNotBrowser_js_1.assertIsNotBrowser)();
|
|
12
12
|
(0, assertNodeVersion_js_1.assertNodeVersion)();
|
|
13
13
|
// package.json#peerDependencies isn't enough as users often ignore it
|
|
14
|
-
// This assertion isn't reliable: the user may still use a Vite version older than
|
|
15
|
-
// TO-DO/eventually: let's also use this.meta.viteVersion
|
|
16
|
-
|
|
14
|
+
// This assertion isn't reliable: the user may still use a Vite version older than 6.0.0 — see https://github.com/vitejs/vite/pull/19355
|
|
15
|
+
// TO-DO/eventually: let's also use this.meta.viteVersion
|
|
16
|
+
// - https://github.com/vitejs/vite/pull/20088
|
|
17
|
+
// - https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md#700-2025-06-24
|
|
18
|
+
(0, assertVersion_js_1.assertVersion)('Vite', vite_1.version, '6.0.0');
|
|
17
19
|
// Ensure we don't bloat the server runtime with heavy dependencies such Vite and esbuild
|
|
18
20
|
(0, assertSetup_js_1.assertIsNotProductionRuntime)();
|
|
19
21
|
}
|
|
@@ -13,7 +13,7 @@ const node_fs_1 = __importDefault(require("node:fs"));
|
|
|
13
13
|
const node_path_1 = __importDefault(require("node:path"));
|
|
14
14
|
const node_fs_2 = require("node:fs");
|
|
15
15
|
const utils_js_1 = require("../../utils.js");
|
|
16
|
-
const
|
|
16
|
+
const virtualFileId_js_1 = require("../../../shared/virtualFileId.js");
|
|
17
17
|
const getAssetsDir_js_1 = require("../../shared/getAssetsDir.js");
|
|
18
18
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
19
19
|
const resolveVikeConfigInternal_js_1 = require("../../shared/resolveVikeConfigInternal.js");
|
|
@@ -38,7 +38,7 @@ async function fixServerAssets(config) {
|
|
|
38
38
|
return { clientManifestMod, serverManifestMod };
|
|
39
39
|
}
|
|
40
40
|
async function copyAssets(filesToMove, filesToRemove, config) {
|
|
41
|
-
const { outDirClient, outDirServer } = (0, getOutDirs_js_1.getOutDirs)(config);
|
|
41
|
+
const { outDirClient, outDirServer } = (0, getOutDirs_js_1.getOutDirs)(config, undefined);
|
|
42
42
|
const assetsDir = (0, getAssetsDir_js_1.getAssetsDir)(config);
|
|
43
43
|
const assetsDirServer = node_path_1.default.posix.join(outDirServer, assetsDir);
|
|
44
44
|
if (!filesToMove.length && !filesToRemove.length && !(0, node_fs_2.existsSync)(assetsDirServer))
|
|
@@ -170,13 +170,13 @@ function addServerAssets(clientManifest, serverManifest) {
|
|
|
170
170
|
}
|
|
171
171
|
function getPageId(key) {
|
|
172
172
|
// Normalize from:
|
|
173
|
-
// ../../virtual:vike:
|
|
173
|
+
// ../../virtual:vike:page-entry:client:/pages/index
|
|
174
174
|
// to:
|
|
175
|
-
// virtual:vike:
|
|
175
|
+
// virtual:vike:page-entry:client:/pages/index
|
|
176
176
|
// (This seems to be needed only for vitest tests that use Vite's build() API with an inline config.)
|
|
177
177
|
key = key.substring(key.indexOf('virtual:vike'));
|
|
178
|
-
const result = (0,
|
|
179
|
-
return result && result.pageId;
|
|
178
|
+
const result = (0, virtualFileId_js_1.parseVirtualFileId)(key);
|
|
179
|
+
return result && result.type === 'page-entry' ? result.pageId : null;
|
|
180
180
|
}
|
|
181
181
|
function collectResources(entryRoot, manifest) {
|
|
182
182
|
const css = [];
|
|
@@ -221,10 +221,10 @@ function handleAssetsManifest_assertUsageCssCodeSplit(config) {
|
|
|
221
221
|
(0, utils_js_1.assertWarning)(config.build.cssCodeSplit, `${picocolors_1.default.cyan('build.cssCodeSplit')} shouldn't be set to ${picocolors_1.default.cyan('false')} (https://github.com/vikejs/vike/issues/1993)`, { onlyOnce: true });
|
|
222
222
|
}
|
|
223
223
|
const targets = [];
|
|
224
|
-
function handleAssetsManifest_assertUsageCssTarget(config) {
|
|
224
|
+
function handleAssetsManifest_assertUsageCssTarget(config, env) {
|
|
225
225
|
if (!handleAssetsManifest_isFixEnabled(config))
|
|
226
226
|
return;
|
|
227
|
-
const isServerSide = (0, isViteServerBuild_js_1.isViteServerBuild)(config);
|
|
227
|
+
const isServerSide = (0, isViteServerBuild_js_1.isViteServerBuild)(config, env);
|
|
228
228
|
(0, utils_js_1.assert)(typeof isServerSide === 'boolean');
|
|
229
229
|
(0, utils_js_1.assert)(config.build.target !== undefined);
|
|
230
230
|
targets.push({ global: config.build.target, css: config.build.cssTarget, isServerSide });
|
|
@@ -295,7 +295,7 @@ async function handleAssetsManifest_getBuildConfig(config) {
|
|
|
295
295
|
copyPublicDir: vikeConfig.config.vite6BuilderApp
|
|
296
296
|
? // Already set by vike:build:pluginBuildApp
|
|
297
297
|
undefined
|
|
298
|
-
: !(0, isViteServerBuild_js_1.
|
|
298
|
+
: !(0, isViteServerBuild_js_1.isViteServerBuild_withoutEnv)(config),
|
|
299
299
|
};
|
|
300
300
|
}
|
|
301
301
|
async function handleAssetsManifest(config, viteEnv, options, bundle) {
|
|
@@ -333,7 +333,7 @@ async function writeAssetsManifestFile(assetsJsonFilePath, config) {
|
|
|
333
333
|
await promises_1.default.rm(serverManifestFilePath);
|
|
334
334
|
}
|
|
335
335
|
function getManifestFilePath(config, client) {
|
|
336
|
-
const outDirs = (0, getOutDirs_js_1.getOutDirs)(config);
|
|
336
|
+
const outDirs = (0, getOutDirs_js_1.getOutDirs)(config, undefined);
|
|
337
337
|
const outDir = client ? outDirs.outDirClient : outDirs.outDirServer;
|
|
338
338
|
const env = client ? config.environments.client : config.environments.ssr;
|
|
339
339
|
(0, utils_js_1.assert)(env);
|
|
@@ -60,7 +60,7 @@ function pluginAutoFullBuild() {
|
|
|
60
60
|
order: 'post',
|
|
61
61
|
async handler() {
|
|
62
62
|
(0, utils_js_1.onSetupBuild)();
|
|
63
|
-
(0, handleAssetsManifest_js_1.handleAssetsManifest_assertUsageCssTarget)(config);
|
|
63
|
+
(0, handleAssetsManifest_js_1.handleAssetsManifest_assertUsageCssTarget)(config, this.environment);
|
|
64
64
|
const vikeConfig = await (0, resolveVikeConfigInternal_js_1.getVikeConfigInternal)();
|
|
65
65
|
if (forceExit &&
|
|
66
66
|
// Let vike:build:pluginBuildApp force exit
|
|
@@ -6,7 +6,7 @@ exports.analyzeClientEntries = analyzeClientEntries;
|
|
|
6
6
|
const utils_js_1 = require("../../utils.js");
|
|
7
7
|
const resolveVikeConfigInternal_js_1 = require("../../shared/resolveVikeConfigInternal.js");
|
|
8
8
|
const findPageFiles_js_1 = require("../../shared/findPageFiles.js");
|
|
9
|
-
const
|
|
9
|
+
const virtualFileId_js_1 = require("../../../shared/virtualFileId.js");
|
|
10
10
|
const extractAssetsQuery_js_1 = require("../../../shared/extractAssetsQuery.js");
|
|
11
11
|
const prependEntriesDir_js_1 = require("../../../shared/prependEntriesDir.js");
|
|
12
12
|
const getFilePath_js_1 = require("../../shared/getFilePath.js");
|
|
@@ -14,9 +14,10 @@ const getConfigValueBuildTime_js_1 = require("../../../../shared/page-configs/ge
|
|
|
14
14
|
const isViteServerBuild_js_1 = require("../../shared/isViteServerBuild.js");
|
|
15
15
|
const getOutDirs_js_1 = require("../../shared/getOutDirs.js");
|
|
16
16
|
const handleAssetsManifest_js_1 = require("./handleAssetsManifest.js");
|
|
17
|
-
const
|
|
17
|
+
const retrievePageAssetsProd_js_1 = require("../../../runtime/renderPage/getPageAssets/retrievePageAssetsProd.js");
|
|
18
18
|
function pluginBuildConfig() {
|
|
19
19
|
let config;
|
|
20
|
+
let configUnresolved;
|
|
20
21
|
return [
|
|
21
22
|
{
|
|
22
23
|
name: 'vike:build:pluginBuildConfig',
|
|
@@ -35,18 +36,26 @@ function pluginBuildConfig() {
|
|
|
35
36
|
(0, handleAssetsManifest_js_1.handleAssetsManifest_assertUsageCssCodeSplit)(config);
|
|
36
37
|
},
|
|
37
38
|
},
|
|
38
|
-
|
|
39
|
+
configEnvironment: {
|
|
39
40
|
order: 'post',
|
|
40
|
-
async handler(
|
|
41
|
-
(0, utils_js_1.
|
|
41
|
+
async handler(envName, configEnv) {
|
|
42
|
+
(0, utils_js_1.assert)(configUnresolved);
|
|
42
43
|
return {
|
|
43
44
|
build: {
|
|
44
|
-
outDir: (0, getOutDirs_js_1.
|
|
45
|
-
...(await (0, handleAssetsManifest_js_1.handleAssetsManifest_getBuildConfig)(config)),
|
|
45
|
+
outDir: (0, getOutDirs_js_1.resolveOutDir_configEnvironment)(configUnresolved, envName, configEnv),
|
|
46
46
|
},
|
|
47
47
|
};
|
|
48
48
|
},
|
|
49
49
|
},
|
|
50
|
+
config: {
|
|
51
|
+
order: 'post',
|
|
52
|
+
async handler(config) {
|
|
53
|
+
configUnresolved = config;
|
|
54
|
+
(0, utils_js_1.onSetupBuild)();
|
|
55
|
+
const build = await (0, handleAssetsManifest_js_1.handleAssetsManifest_getBuildConfig)(config);
|
|
56
|
+
return { build };
|
|
57
|
+
},
|
|
58
|
+
},
|
|
50
59
|
buildStart() {
|
|
51
60
|
(0, utils_js_1.onSetupBuild)();
|
|
52
61
|
},
|
|
@@ -57,9 +66,9 @@ async function getEntries(config) {
|
|
|
57
66
|
const vikeConfig = await (0, resolveVikeConfigInternal_js_1.getVikeConfigInternal)();
|
|
58
67
|
const { _pageConfigs: pageConfigs } = vikeConfig;
|
|
59
68
|
// TO-DO/next-major-release: remove
|
|
60
|
-
const pageFileEntries = await getPageFileEntries(config, (0,
|
|
69
|
+
const pageFileEntries = await getPageFileEntries(config, (0, retrievePageAssetsProd_js_1.resolveIncludeAssetsImportedByServer)(vikeConfig.config));
|
|
61
70
|
(0, utils_js_1.assertUsage)(Object.keys(pageFileEntries).length !== 0 || pageConfigs.length !== 0, 'At least one page should be defined, see https://vike.dev/add');
|
|
62
|
-
if ((0, isViteServerBuild_js_1.
|
|
71
|
+
if ((0, isViteServerBuild_js_1.isViteServerBuild_withoutEnv)(config)) {
|
|
63
72
|
const pageEntries = getPageEntries(pageConfigs);
|
|
64
73
|
const entries = {
|
|
65
74
|
...pageFileEntries,
|
|
@@ -132,7 +141,7 @@ function analyzeClientEntries(pageConfigs, config) {
|
|
|
132
141
|
// Ensure Rollup creates entries for each page file, see https://github.com/vikejs/vike/issues/350
|
|
133
142
|
// (Otherwise the page files may be missing in the client manifest.json)
|
|
134
143
|
async function getPageFileEntries(config, includeAssetsImportedByServer) {
|
|
135
|
-
const isForClientSide = !(0, isViteServerBuild_js_1.
|
|
144
|
+
const isForClientSide = !(0, isViteServerBuild_js_1.isViteServerBuild_withoutEnv)(config);
|
|
136
145
|
const fileTypes = isForClientSide ? ['.page', '.page.client'] : ['.page', '.page.server'];
|
|
137
146
|
if (isForClientSide && includeAssetsImportedByServer) {
|
|
138
147
|
fileTypes.push('.page.server');
|
|
@@ -176,7 +185,7 @@ function getEntryFromClientEntry(clientEntry, config, addExtractAssetsQuery) {
|
|
|
176
185
|
}
|
|
177
186
|
function getEntryFromPageConfig(pageConfig, isForClientSide) {
|
|
178
187
|
let { pageId } = pageConfig;
|
|
179
|
-
const entryTarget = (0,
|
|
188
|
+
const entryTarget = (0, virtualFileId_js_1.generateVirtualFileId)({ type: 'page-entry', pageId, isForClientSide });
|
|
180
189
|
let entryName = pageId;
|
|
181
190
|
// Avoid:
|
|
182
191
|
// ```
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.pluginBuildEntry = pluginBuildEntry;
|
|
7
7
|
exports.set_macro_ASSETS_MANIFEST = set_macro_ASSETS_MANIFEST;
|
|
8
8
|
const plugin_1 = require("@brillout/vite-plugin-server-entry/plugin");
|
|
9
|
-
const
|
|
9
|
+
const virtualFileId_js_1 = require("../../../shared/virtualFileId.js");
|
|
10
10
|
const utils_js_1 = require("../../utils.js");
|
|
11
11
|
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
12
12
|
const node_path_1 = __importDefault(require("node:path"));
|
|
@@ -45,14 +45,14 @@ function getServerProductionEntryCode(config) {
|
|
|
45
45
|
// After the old design is removed, let's maybe simplify and move everything into a single virtual module
|
|
46
46
|
const importerCode = [
|
|
47
47
|
` import { setGlobalContext_buildEntry } from '${importPath}';`,
|
|
48
|
-
` import * as
|
|
48
|
+
` import * as virtualFileExportsGlobalEntry from '${virtualFileId_js_1.virtualFileIdGlobalEntryServer}';`,
|
|
49
49
|
` {`,
|
|
50
50
|
// Because of a Rollup bug, we have to assign ASSETS_MANIFEST to a variable before passing it to setGlobalContext_buildEntry()
|
|
51
51
|
// - This workaround doesn't work: https://github.com/vikejs/vike/commit/d5f3a4f7aae5a8bc44192e6cbb2bcb9007be188d
|
|
52
52
|
` const assetsManifest = ${ASSETS_MANIFEST};`,
|
|
53
53
|
` const buildInfo = ${JSON.stringify(buildInfo, null, 2)};`,
|
|
54
54
|
' setGlobalContext_buildEntry({',
|
|
55
|
-
`
|
|
55
|
+
` virtualFileExportsGlobalEntry,`,
|
|
56
56
|
` assetsManifest,`,
|
|
57
57
|
` buildInfo,`,
|
|
58
58
|
' });',
|
|
@@ -102,7 +102,7 @@ function getImportPath(config) {
|
|
|
102
102
|
return 'vike/__internal';
|
|
103
103
|
}
|
|
104
104
|
else {
|
|
105
|
-
const { outDirServer } = (0, getOutDirs_js_1.getOutDirs)(config);
|
|
105
|
+
const { outDirServer } = (0, getOutDirs_js_1.getOutDirs)(config, undefined);
|
|
106
106
|
const filePathRelative = node_path_1.default.posix.relative(outDirServer, filePathAbsolute);
|
|
107
107
|
return filePathRelative;
|
|
108
108
|
}
|
|
@@ -20,7 +20,7 @@ function pluginDistPackageJsonFile() {
|
|
|
20
20
|
config = config_;
|
|
21
21
|
},
|
|
22
22
|
generateBundle(options, bundle) {
|
|
23
|
-
if (!(0, isViteServerBuild_js_1.isViteServerBuild)(config))
|
|
23
|
+
if (!(0, isViteServerBuild_js_1.isViteServerBuild)(config, this.environment))
|
|
24
24
|
return;
|
|
25
25
|
const isEsm = (0, rollupIsEsm_js_1.rollupIsEsm)(options);
|
|
26
26
|
const fileName = 'package.json';
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.pluginModuleBanner = pluginModuleBanner;
|
|
7
|
-
const magic_string_1 = __importDefault(require("magic-string"));
|
|
8
4
|
const utils_js_1 = require("../../utils.js");
|
|
5
|
+
const getMagicString_js_1 = require("../../shared/getMagicString.js");
|
|
9
6
|
const isViteServerBuild_js_1 = require("../../shared/isViteServerBuild.js");
|
|
10
7
|
// Rollup's banner feature doesn't work with Vite: https://github.com/vitejs/vite/issues/8412
|
|
11
8
|
// But, anyways, we want to prepend the banner at the beginning of each module, not at the beginning of each file (I believe that's what Rollup's banner feature does).
|
|
@@ -21,7 +18,7 @@ function pluginModuleBanner() {
|
|
|
21
18
|
transform: {
|
|
22
19
|
order: 'post',
|
|
23
20
|
handler(code, id, options) {
|
|
24
|
-
if (!(0, isViteServerBuild_js_1.
|
|
21
|
+
if (!(0, isViteServerBuild_js_1.isViteServerBuild_extraSafe)(config, options, this.environment) &&
|
|
25
22
|
// Inject module banners if user sets `build.minify` to `false` for inspecting dist/client/
|
|
26
23
|
config.build.minify) {
|
|
27
24
|
return;
|
|
@@ -32,15 +29,12 @@ function pluginModuleBanner() {
|
|
|
32
29
|
if (id.startsWith(config.root))
|
|
33
30
|
id = id.slice(config.root.length + 1);
|
|
34
31
|
id = id.replaceAll('*/', '*\\/'); // https://github.com/vikejs/vike/issues/2377
|
|
35
|
-
const magicString =
|
|
32
|
+
const { magicString, getMagicStringResult } = (0, getMagicString_js_1.getMagicString)(code, id);
|
|
36
33
|
// Use legal comment so that esbuild doesn't remove it.
|
|
37
34
|
// - Terser still removes the comment, but I guess users use terser to minify JavaScript so I guess it's a good thing that comment is removed.
|
|
38
35
|
// - https://esbuild.github.io/api/#legal-comments
|
|
39
36
|
magicString.prepend(`/*! ${id} [vike:pluginModuleBanner] */\n`);
|
|
40
|
-
return
|
|
41
|
-
code: magicString.toString(),
|
|
42
|
-
map: magicString.generateMap({ hires: true, source: id }),
|
|
43
|
-
};
|
|
37
|
+
return getMagicStringResult();
|
|
44
38
|
},
|
|
45
39
|
},
|
|
46
40
|
};
|