vike 0.4.223 → 0.4.224-commit-f0d0f8a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/node/api/build.js +4 -37
- package/dist/cjs/node/api/prepareViteApiCall.js +9 -3
- package/dist/cjs/node/plugin/index.js +8 -20
- package/dist/cjs/node/plugin/plugins/baseUrls.js +3 -1
- package/dist/cjs/node/plugin/plugins/{buildConfig/fixServerAssets.js → build/handleAssetsManifest.js} +130 -52
- package/dist/cjs/node/plugin/plugins/build/pluginAutoFullBuild.js +145 -0
- package/dist/cjs/node/plugin/plugins/build/pluginBuildApp.js +52 -0
- package/dist/cjs/node/plugin/plugins/{buildConfig.js → build/pluginBuildConfig.js} +22 -84
- package/dist/cjs/node/plugin/plugins/{buildEntry/index.js → build/pluginBuildEntry.js} +9 -9
- package/dist/cjs/node/plugin/plugins/{distFileNames.js → build/pluginDistFileNames.js} +7 -7
- package/dist/cjs/node/plugin/plugins/{packageJsonFile.js → build/pluginDistPackageJsonFile.js} +6 -6
- package/dist/cjs/node/plugin/plugins/{suppressRollupWarning.js → build/pluginSuppressRollupWarning.js} +3 -3
- package/dist/cjs/node/plugin/plugins/build.js +21 -0
- package/dist/cjs/node/plugin/plugins/commonConfig.js +22 -4
- package/dist/cjs/node/plugin/plugins/devConfig/determineFsAllowList.js +1 -1
- package/dist/cjs/node/plugin/plugins/devConfig/determineOptimizeDeps.js +5 -5
- package/dist/cjs/node/plugin/plugins/devConfig/index.js +1 -1
- package/dist/cjs/node/plugin/plugins/envVars.js +2 -2
- package/dist/cjs/node/plugin/plugins/extractAssetsPlugin.js +9 -9
- package/dist/cjs/node/plugin/plugins/extractExportNamesPlugin.js +2 -2
- package/dist/cjs/node/plugin/plugins/fileEnv.js +5 -2
- package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +3 -3
- package/dist/cjs/node/plugin/plugins/importUserCode/index.js +2 -5
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/assertExtensions.js +5 -5
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +7 -2
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles/ignorePatternsBuiltIn.js +16 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +50 -64
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js +2 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.js +3 -3
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +19 -7
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +277 -212
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/virtual-files/getVirtualFilePageConfigValuesAll.js +4 -4
- package/dist/cjs/node/plugin/plugins/previewConfig.js +12 -7
- package/dist/cjs/node/plugin/shared/addSsrMiddleware.js +5 -1
- package/dist/cjs/node/plugin/shared/findPageFiles.js +3 -3
- package/dist/cjs/node/plugin/shared/getOutDirs.js +8 -7
- package/dist/cjs/node/plugin/shared/isViteServerBuild.js +47 -0
- package/dist/cjs/node/plugin/shared/resolveClientEntriesDev.js +1 -1
- package/dist/cjs/node/plugin/utils.js +1 -0
- package/dist/cjs/node/prerender/context.js +3 -8
- package/dist/cjs/node/prerender/resolvePrerenderConfig.js +30 -21
- package/dist/cjs/node/prerender/runPrerender.js +28 -30
- package/dist/cjs/node/prerender/utils.js +1 -0
- package/dist/cjs/node/runtime/html/stream.js +7 -0
- package/dist/cjs/node/runtime/renderPage/logErrorHint.js +13 -2
- package/dist/cjs/shared/getPageContextUrlComputed.js +1 -1
- package/dist/cjs/shared/page-configs/getConfigValueBuildTime.js +2 -5
- package/dist/cjs/shared/page-configs/serialize/parsePageConfigs.js +3 -1
- package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +20 -9
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/debug.js +2 -1
- package/dist/cjs/utils/findFile.js +1 -1
- package/dist/cjs/utils/findPackageJson.js +1 -1
- package/dist/cjs/utils/isFilePathAbsoluteFilesystem.js +10 -4
- package/dist/cjs/utils/path.js +1 -0
- package/dist/cjs/utils/requireResolve.js +11 -4
- package/dist/cjs/utils/sorter.js +0 -3
- package/dist/esm/client/client-routing-runtime/index.d.ts +1 -0
- package/dist/esm/client/client-routing-runtime/index.js +1 -0
- package/dist/esm/client/client-routing-runtime/renderPageClientSide.d.ts +8 -0
- package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +10 -1
- package/dist/esm/node/api/build.js +4 -4
- package/dist/esm/node/api/prepareViteApiCall.js +9 -3
- package/dist/esm/node/plugin/index.d.ts +2 -1
- package/dist/esm/node/plugin/index.js +4 -17
- package/dist/esm/node/plugin/plugins/baseUrls.js +3 -1
- package/dist/esm/node/plugin/plugins/build/handleAssetsManifest.d.ts +18 -0
- package/dist/esm/node/plugin/plugins/{buildConfig/fixServerAssets.js → build/handleAssetsManifest.js} +131 -53
- package/dist/esm/node/plugin/plugins/build/pluginAutoFullBuild.d.ts +5 -0
- package/dist/esm/node/plugin/plugins/build/pluginAutoFullBuild.js +140 -0
- package/dist/esm/node/plugin/plugins/build/pluginBuildApp.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/build/pluginBuildApp.js +50 -0
- package/dist/esm/node/plugin/plugins/{buildConfig.d.ts → build/pluginBuildConfig.d.ts} +3 -3
- package/dist/esm/node/plugin/plugins/{buildConfig.js → build/pluginBuildConfig.js} +22 -81
- package/dist/esm/node/plugin/plugins/build/pluginBuildEntry.d.ts +7 -0
- package/dist/esm/node/plugin/plugins/{buildEntry/index.js → build/pluginBuildEntry.js} +9 -9
- package/dist/esm/node/plugin/plugins/build/pluginDistFileNames.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/{distFileNames.js → build/pluginDistFileNames.js} +7 -7
- package/dist/esm/node/plugin/plugins/build/pluginDistPackageJsonFile.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/{packageJsonFile.js → build/pluginDistPackageJsonFile.js} +7 -6
- package/dist/esm/node/plugin/plugins/build/pluginSuppressRollupWarning.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/{suppressRollupWarning.js → build/pluginSuppressRollupWarning.js} +3 -3
- package/dist/esm/node/plugin/plugins/build.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/build.js +19 -0
- package/dist/esm/node/plugin/plugins/commonConfig.d.ts +16 -6
- package/dist/esm/node/plugin/plugins/commonConfig.js +22 -4
- package/dist/esm/node/plugin/plugins/devConfig/determineFsAllowList.js +1 -1
- package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.js +5 -5
- package/dist/esm/node/plugin/plugins/devConfig/index.js +1 -1
- package/dist/esm/node/plugin/plugins/envVars.js +2 -2
- package/dist/esm/node/plugin/plugins/extractAssetsPlugin.js +10 -10
- package/dist/esm/node/plugin/plugins/extractExportNamesPlugin.js +2 -2
- package/dist/esm/node/plugin/plugins/fileEnv.js +5 -2
- package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +3 -3
- package/dist/esm/node/plugin/plugins/importUserCode/index.js +2 -5
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/assertExtensions.js +5 -5
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +7 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles/ignorePatternsBuiltIn.d.ts +1 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles/ignorePatternsBuiltIn.js +13 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.d.ts +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +50 -64
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js +2 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.js +3 -3
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.d.ts +0 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +20 -8
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +8 -6
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +279 -214
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/virtual-files/getVirtualFilePageConfigValuesAll.js +4 -4
- package/dist/esm/node/plugin/plugins/previewConfig.js +12 -7
- package/dist/esm/node/plugin/shared/addSsrMiddleware.d.ts +1 -1
- package/dist/esm/node/plugin/shared/addSsrMiddleware.js +5 -1
- package/dist/esm/node/plugin/shared/findPageFiles.js +3 -3
- package/dist/esm/node/plugin/shared/getHttpRequestAsyncStore.js +1 -3
- package/dist/esm/node/plugin/shared/getOutDirs.d.ts +2 -2
- package/dist/esm/node/plugin/shared/getOutDirs.js +8 -7
- package/dist/esm/node/plugin/shared/isViteServerBuild.d.ts +15 -0
- package/dist/esm/node/plugin/shared/isViteServerBuild.js +45 -0
- package/dist/esm/node/plugin/shared/resolveClientEntriesDev.js +1 -1
- package/dist/esm/node/plugin/utils.d.ts +1 -0
- package/dist/esm/node/plugin/utils.js +1 -0
- package/dist/esm/node/prerender/context.d.ts +0 -2
- package/dist/esm/node/prerender/context.js +4 -9
- package/dist/esm/node/prerender/resolvePrerenderConfig.d.ts +11 -6
- package/dist/esm/node/prerender/resolvePrerenderConfig.js +31 -22
- package/dist/esm/node/prerender/runPrerender.d.ts +7 -25
- package/dist/esm/node/prerender/runPrerender.js +29 -31
- package/dist/esm/node/prerender/utils.d.ts +1 -0
- package/dist/esm/node/prerender/utils.js +1 -0
- package/dist/esm/node/runtime/globalContext.d.ts +3 -2
- package/dist/esm/node/runtime/html/stream.js +7 -0
- package/dist/esm/node/runtime/renderPage/logErrorHint.js +13 -2
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +165 -5
- package/dist/esm/shared/getPageContextUrlComputed.js +1 -1
- package/dist/esm/shared/page-configs/Config.d.ts +12 -2
- package/dist/esm/shared/page-configs/PageConfig.d.ts +5 -5
- package/dist/esm/shared/page-configs/getConfigValueBuildTime.js +2 -5
- package/dist/esm/shared/page-configs/serialize/parsePageConfigs.js +3 -1
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.d.ts +2 -0
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +20 -9
- package/dist/esm/types/index.d.ts +2 -0
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/debug.js +2 -1
- package/dist/esm/utils/findFile.js +1 -1
- package/dist/esm/utils/findPackageJson.js +1 -1
- package/dist/esm/utils/isFilePathAbsoluteFilesystem.js +8 -2
- package/dist/esm/utils/path.js +1 -0
- package/dist/esm/utils/projectInfo.d.ts +1 -1
- package/dist/esm/utils/requireResolve.js +11 -4
- package/dist/esm/utils/sorter.d.ts +18 -5
- package/dist/esm/utils/sorter.js +0 -3
- package/package.json +9 -16
- package/dist/cjs/node/plugin/plugins/autoFullBuild.js +0 -119
- package/dist/cjs/node/plugin/plugins/buildApp.js +0 -76
- package/dist/cjs/node/plugin/plugins/removeRequireHookPlugin.js +0 -17
- package/dist/cjs/node/plugin/shared/getFullBuildInlineConfig.js +0 -20
- package/dist/cjs/node/plugin/shared/viteIsSSR.js +0 -31
- package/dist/esm/node/plugin/plugins/autoFullBuild.d.ts +0 -3
- package/dist/esm/node/plugin/plugins/autoFullBuild.js +0 -114
- package/dist/esm/node/plugin/plugins/buildApp.d.ts +0 -3
- package/dist/esm/node/plugin/plugins/buildApp.js +0 -74
- package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.d.ts +0 -20
- package/dist/esm/node/plugin/plugins/buildEntry/index.d.ts +0 -8
- package/dist/esm/node/plugin/plugins/distFileNames.d.ts +0 -3
- package/dist/esm/node/plugin/plugins/packageJsonFile.d.ts +0 -3
- package/dist/esm/node/plugin/plugins/removeRequireHookPlugin.d.ts +0 -3
- package/dist/esm/node/plugin/plugins/removeRequireHookPlugin.js +0 -15
- package/dist/esm/node/plugin/plugins/suppressRollupWarning.d.ts +0 -3
- package/dist/esm/node/plugin/shared/getFullBuildInlineConfig.d.ts +0 -2
- package/dist/esm/node/plugin/shared/getFullBuildInlineConfig.js +0 -17
- package/dist/esm/node/plugin/shared/viteIsSSR.d.ts +0 -11
- package/dist/esm/node/plugin/shared/viteIsSSR.js +0 -29
- package/dist-cjs-fixup.mjs +0 -41
|
@@ -8,7 +8,7 @@ const extractAssetsQuery_js_1 = require("../../../../../shared/extractAssetsQuer
|
|
|
8
8
|
const debug_js_1 = require("./debug.js");
|
|
9
9
|
const isRuntimeEnvMatch_js_1 = require("./isRuntimeEnvMatch.js");
|
|
10
10
|
const serializeConfigValues_js_1 = require("../../../../../../shared/page-configs/serialize/serializeConfigValues.js");
|
|
11
|
-
const
|
|
11
|
+
const handleAssetsManifest_js_1 = require("../../../build/handleAssetsManifest.js");
|
|
12
12
|
const getConfigValueBuildTime_js_1 = require("../../../../../../shared/page-configs/getConfigValueBuildTime.js");
|
|
13
13
|
async function getVirtualFilePageConfigValuesAll(id, isDev, config) {
|
|
14
14
|
const result = (0, virtualFilePageConfigValuesAll_js_1.isVirtualFileIdPageConfigValuesAll)(id);
|
|
@@ -26,11 +26,11 @@ async function getVirtualFilePageConfigValuesAll(id, isDev, config) {
|
|
|
26
26
|
(0, utils_js_1.assert)(pageConfig, { id, pageId });
|
|
27
27
|
const code = getLoadConfigValuesAll(pageConfig, isForClientSide, pageId,
|
|
28
28
|
// TODO/now: add meta.default
|
|
29
|
-
vikeConfig.global.config.includeAssetsImportedByServer ?? true, isDev);
|
|
29
|
+
vikeConfig.global.config.includeAssetsImportedByServer ?? true, config, isDev);
|
|
30
30
|
(0, debug_js_1.debug)(id, isForClientSide ? 'CLIENT-SIDE' : 'SERVER-SIDE', code);
|
|
31
31
|
return code;
|
|
32
32
|
}
|
|
33
|
-
function getLoadConfigValuesAll(pageConfig, isForClientSide, pageId, includeAssetsImportedByServer, isDev) {
|
|
33
|
+
function getLoadConfigValuesAll(pageConfig, isForClientSide, pageId, includeAssetsImportedByServer, config, isDev) {
|
|
34
34
|
const lines = [];
|
|
35
35
|
const importStatements = [];
|
|
36
36
|
const filesEnv = new Map();
|
|
@@ -38,7 +38,7 @@ function getLoadConfigValuesAll(pageConfig, isForClientSide, pageId, includeAsse
|
|
|
38
38
|
lines.push('export const configValuesSerialized = {');
|
|
39
39
|
lines.push(...(0, serializeConfigValues_js_1.serializeConfigValues)(pageConfig, importStatements, filesEnv, (configEnv) => (0, isRuntimeEnvMatch_js_1.isRuntimeEnvMatch)(configEnv, { isForClientSide, isClientRouting, isDev }), '', false));
|
|
40
40
|
lines.push('};');
|
|
41
|
-
if (!(0,
|
|
41
|
+
if (!(0, handleAssetsManifest_js_1.handleAssetsManifest_isFixEnabled)(config) && includeAssetsImportedByServer && isForClientSide && !isDev) {
|
|
42
42
|
importStatements.push(`import '${(0, extractAssetsQuery_js_1.extractAssetsAddQuery)((0, virtualFilePageConfigValuesAll_js_1.getVirtualFileIdPageConfigValuesAll)(pageId, false))}'`);
|
|
43
43
|
}
|
|
44
44
|
const code = [...importStatements, ...lines].join('\n');
|
|
@@ -11,6 +11,8 @@ const addSsrMiddleware_js_1 = require("../shared/addSsrMiddleware.js");
|
|
|
11
11
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
12
12
|
const index_js_1 = require("./devConfig/index.js");
|
|
13
13
|
const getOutDirs_js_1 = require("../shared/getOutDirs.js");
|
|
14
|
+
const sirv_1 = __importDefault(require("sirv"));
|
|
15
|
+
const resolvePrerenderConfig_js_1 = require("../../prerender/resolvePrerenderConfig.js");
|
|
14
16
|
function previewConfig() {
|
|
15
17
|
let config;
|
|
16
18
|
// let vikeConfig: VikeConfigObject
|
|
@@ -37,23 +39,26 @@ function previewConfig() {
|
|
|
37
39
|
*/
|
|
38
40
|
return () => {
|
|
39
41
|
assertDist();
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
42
|
+
// We cannot re-use Vite's static middleware: https://github.com/vitejs/vite/pull/14836#issuecomment-1788540300
|
|
43
|
+
addStaticAssetsMiddleware(server.middlewares);
|
|
44
|
+
const prerenderConfigGlobal = (0, resolvePrerenderConfig_js_1.resolvePrerenderConfigGlobal)(config._vikeConfigObject);
|
|
45
|
+
if (!prerenderConfigGlobal.isPrerenderingEnabledForAllPages) {
|
|
46
|
+
(0, addSsrMiddleware_js_1.addSsrMiddleware)(server.middlewares, config, true, prerenderConfigGlobal.isPrerenderingEnabled);
|
|
43
47
|
}
|
|
44
|
-
/*/
|
|
45
|
-
(0, addSsrMiddleware_js_1.addSsrMiddleware)(server.middlewares, config, true);
|
|
46
|
-
//*/
|
|
47
48
|
addStatic404Middleware(server.middlewares);
|
|
48
49
|
};
|
|
49
50
|
}
|
|
50
51
|
};
|
|
51
52
|
function assertDist() {
|
|
52
|
-
|
|
53
|
+
const { outDirRoot, outDirClient, outDirServer } = (0, getOutDirs_js_1.getOutDirs)(config);
|
|
53
54
|
[outDirRoot, outDirClient, outDirServer].forEach((outDirAny) => {
|
|
54
55
|
(0, utils_js_1.assertUsage)(fs_1.default.existsSync(outDirAny), `Cannot run ${picocolors_1.default.cyan('$ vike preview')}: your app isn't built (the build directory ${picocolors_1.default.cyan(outDirAny)} is missing). Make sure to run ${picocolors_1.default.cyan('$ vike build')} before running ${picocolors_1.default.cyan('$ vike preview')}.`);
|
|
55
56
|
});
|
|
56
57
|
}
|
|
58
|
+
function addStaticAssetsMiddleware(middlewares) {
|
|
59
|
+
const { outDirClient } = (0, getOutDirs_js_1.getOutDirs)(config);
|
|
60
|
+
middlewares.use((0, sirv_1.default)(outDirClient));
|
|
61
|
+
}
|
|
57
62
|
function addStatic404Middleware(middlewares) {
|
|
58
63
|
const { outDirClient } = (0, getOutDirs_js_1.getOutDirs)(config);
|
|
59
64
|
middlewares.use(config.base, (_, res, next) => {
|
|
@@ -7,7 +7,7 @@ exports.addSsrMiddleware = addSsrMiddleware;
|
|
|
7
7
|
const renderPage_js_1 = require("../../runtime/renderPage.js");
|
|
8
8
|
const utils_js_1 = require("../utils.js");
|
|
9
9
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
10
|
-
function addSsrMiddleware(middlewares, config, isPreview) {
|
|
10
|
+
function addSsrMiddleware(middlewares, config, isPreview, isPrerenderingEnabled) {
|
|
11
11
|
middlewares.use(async (req, res, next) => {
|
|
12
12
|
if (res.headersSent)
|
|
13
13
|
return next();
|
|
@@ -42,6 +42,10 @@ function addSsrMiddleware(middlewares, config, isPreview) {
|
|
|
42
42
|
// - We purposely don't use next(err) to align behavior: we use our own/copied implementation of buildErrorMessage() regardless of whether the user uses Vite's dev middleware or Vite's standalone dev server
|
|
43
43
|
return next();
|
|
44
44
|
}
|
|
45
|
+
if (pageContext.httpResponse.statusCode === 404 && isPreview && isPrerenderingEnabled) {
|
|
46
|
+
// Serve /dist/client/404.html instead
|
|
47
|
+
return next();
|
|
48
|
+
}
|
|
45
49
|
const configHeaders = (isPreview && config?.preview?.headers) || config?.server?.headers;
|
|
46
50
|
if (configHeaders) {
|
|
47
51
|
for (const [name, value] of Object.entries(configHeaders))
|
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.findPageFiles = findPageFiles;
|
|
7
|
-
const
|
|
7
|
+
const tinyglobby_1 = require("tinyglobby");
|
|
8
8
|
const utils_js_1 = require("../utils.js");
|
|
9
9
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
10
10
|
const getOutDirs_js_1 = require("./getOutDirs.js");
|
|
@@ -12,11 +12,11 @@ async function findPageFiles(config, fileTypes, isDev) {
|
|
|
12
12
|
const cwd = config.root;
|
|
13
13
|
const { outDirRoot } = (0, getOutDirs_js_1.getOutDirs)(config);
|
|
14
14
|
const timeBase = new Date().getTime();
|
|
15
|
-
let pageFiles = await (0,
|
|
15
|
+
let pageFiles = await (0, tinyglobby_1.glob)(fileTypes.map((fileType) => `**/*${fileType}.${utils_js_1.scriptFileExtensions}`), { ignore: ['**/node_modules/**', `${outDirRoot}/**`], cwd, dot: false, expandDirectories: false });
|
|
16
16
|
pageFiles = pageFiles.map((p) => '/' + (0, utils_js_1.toPosixPath)(p));
|
|
17
17
|
const time = new Date().getTime() - timeBase;
|
|
18
18
|
if (isDev) {
|
|
19
|
-
// We only warn in dev, because while building it's expected to take a long time as
|
|
19
|
+
// We only warn in dev, because while building it's expected to take a long time as tinyglobby is competing for resources with other tasks
|
|
20
20
|
(0, utils_js_1.assertWarning)(time < 1.5 * 1000, `Finding your page files ${picocolors_1.default.cyan('**/*.page.*')} took an unexpected long time (${time}ms). Reach out to the vike maintainer.`, {
|
|
21
21
|
onlyOnce: 'slow-page-files-search'
|
|
22
22
|
});
|
|
@@ -7,20 +7,21 @@ exports.getOutDirs = getOutDirs;
|
|
|
7
7
|
exports.resolveOutDir = resolveOutDir;
|
|
8
8
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
9
9
|
const utils_js_1 = require("../utils.js");
|
|
10
|
-
const
|
|
10
|
+
const isViteServerBuild_js_1 = require("./isViteServerBuild.js");
|
|
11
11
|
const debug = (0, utils_js_1.createDebugger)('vike:outDir');
|
|
12
|
-
function getOutDirs(
|
|
12
|
+
function getOutDirs(configGlobal, viteEnv) {
|
|
13
|
+
const configEnv = viteEnv?.config ?? configGlobal;
|
|
13
14
|
debug('getOutDirs()', new Error().stack);
|
|
14
|
-
const outDir = getOutDirFromViteResolvedConfig(
|
|
15
|
+
const outDir = getOutDirFromViteResolvedConfig(configEnv);
|
|
15
16
|
if (!isOutDirRoot(outDir))
|
|
16
|
-
assertOutDirResolved(outDir,
|
|
17
|
-
const outDirs = getOutDirsAll(outDir,
|
|
17
|
+
assertOutDirResolved(outDir, configEnv);
|
|
18
|
+
const outDirs = getOutDirsAll(outDir, configEnv.root);
|
|
18
19
|
return outDirs;
|
|
19
20
|
}
|
|
20
21
|
/** Appends `client/` or `server/` to `config.build.outDir` */
|
|
21
22
|
function resolveOutDir(config, isSSR) {
|
|
22
23
|
debug('resolveOutDir()', new Error().stack);
|
|
23
|
-
const isServerSide = (0,
|
|
24
|
+
const isServerSide = (0, isViteServerBuild_js_1.isViteServerBuild)(config) || isSSR;
|
|
24
25
|
debug('isServerSide', isServerSide);
|
|
25
26
|
const outDir = getOutDirFromViteUserConfig(config) || 'dist';
|
|
26
27
|
debug('outDir', outDir);
|
|
@@ -109,7 +110,7 @@ function assertOutDirResolved(outDir, config) {
|
|
|
109
110
|
(0, utils_js_1.assert)('/client'.length === '/server'.length);
|
|
110
111
|
const outDirCorrected = outDir.slice(0, -1 * '/client'.length);
|
|
111
112
|
const wrongUsage = `You've set Vite's config.build.outDir to ${picocolors_1.default.cyan(outDir)} but you should set it to ${picocolors_1.default.cyan(outDirCorrected)} instead.`;
|
|
112
|
-
if ((0,
|
|
113
|
+
if ((0, isViteServerBuild_js_1.isViteServerBuild)(config)) {
|
|
113
114
|
(0, utils_js_1.assertUsage)(outDir.endsWith('/server'), wrongUsage);
|
|
114
115
|
}
|
|
115
116
|
else {
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isViteServerBuild = isViteServerBuild;
|
|
4
|
+
exports.isViteClientBuild = isViteClientBuild;
|
|
5
|
+
exports.isViteServerBuild_options = isViteServerBuild_options;
|
|
6
|
+
exports.isViteServerBuild_safe = isViteServerBuild_safe;
|
|
7
|
+
exports.isViteServerBuild_onlySsrEnv = isViteServerBuild_onlySsrEnv;
|
|
8
|
+
const assert_js_1 = require("../../../utils/assert.js");
|
|
9
|
+
function isViteServerBuild(configGlobal, viteEnv) {
|
|
10
|
+
const configEnv = viteEnv?.config ?? configGlobal;
|
|
11
|
+
return !!configEnv?.build?.ssr;
|
|
12
|
+
}
|
|
13
|
+
// Only `ssr` env: for example don't include `vercel_edge` nor `vercel_node`.
|
|
14
|
+
function isViteServerBuild_onlySsrEnv(configGlobal, viteEnv) {
|
|
15
|
+
return viteEnv ? viteEnv.name === 'ssr' : isViteServerBuild(configGlobal);
|
|
16
|
+
}
|
|
17
|
+
function isViteClientBuild(configGlobal, viteEnv) {
|
|
18
|
+
const yes = !isViteServerBuild(configGlobal, viteEnv);
|
|
19
|
+
const isVite5 = viteEnv === undefined;
|
|
20
|
+
if (!isVite5) {
|
|
21
|
+
const yes2 = viteEnv.name === 'client';
|
|
22
|
+
(0, assert_js_1.assert)(yes === yes2);
|
|
23
|
+
}
|
|
24
|
+
return yes;
|
|
25
|
+
}
|
|
26
|
+
function isViteServerBuild_options(options) {
|
|
27
|
+
return !!options?.ssr;
|
|
28
|
+
}
|
|
29
|
+
// Vite is quite messy about setting `ssr: boolean`, thus we use an extra safe implemention for security purposes.
|
|
30
|
+
// It's used for .client.js and .server.js guarantee thus we use agressive assert() calls for added safety.
|
|
31
|
+
function isViteServerBuild_safe(config, options) {
|
|
32
|
+
if (config.command === 'build') {
|
|
33
|
+
(0, assert_js_1.assert)(typeof config.build.ssr === 'boolean');
|
|
34
|
+
const val = config.build.ssr;
|
|
35
|
+
if (options?.ssr !== undefined)
|
|
36
|
+
(0, assert_js_1.assert)(val === options.ssr);
|
|
37
|
+
return val;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
(0, assert_js_1.assert)(typeof options?.ssr === 'boolean');
|
|
41
|
+
const val = options.ssr;
|
|
42
|
+
/* This assert() fails (which is very unexpected).
|
|
43
|
+
if (typeof config.build.ssr === 'boolean') assert(val === config.build.ssr)
|
|
44
|
+
//*/
|
|
45
|
+
return val;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.resolveClientEntriesDev = resolveClientEntriesDev;
|
|
4
4
|
const utils_js_1 = require("../utils.js");
|
|
5
5
|
const module_1 = require("module");
|
|
6
|
-
// @ts-ignore
|
|
6
|
+
// @ts-ignore `file://${__filename}` is shimmed at dist/cjs by dist-cjs-fixup.js.
|
|
7
7
|
const importMetaUrl = `file://${__filename}`;
|
|
8
8
|
const require_ = (0, module_1.createRequire)(importMetaUrl);
|
|
9
9
|
(0, utils_js_1.assertIsNotProductionRuntime)();
|
|
@@ -44,3 +44,4 @@ __exportStar(require("../../utils/isArray.js"), exports);
|
|
|
44
44
|
__exportStar(require("../../utils/PROJECT_VERSION.js"), exports);
|
|
45
45
|
__exportStar(require("../../utils/isEqualStringList.js"), exports);
|
|
46
46
|
__exportStar(require("../../utils/isDocker.js"), exports);
|
|
47
|
+
__exportStar(require("../../utils/isVitest.js"), exports);
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isPrerenderEnabled = isPrerenderEnabled;
|
|
4
3
|
exports.isPrerenderAutoRunEnabled = isPrerenderAutoRunEnabled;
|
|
5
4
|
exports.temp_disablePrerenderAutoRun = temp_disablePrerenderAutoRun;
|
|
6
5
|
exports.isPrerendering = isPrerendering;
|
|
@@ -8,14 +7,10 @@ exports.setContextIsPrerendering = setContextIsPrerendering;
|
|
|
8
7
|
const getGlobalObject_js_1 = require("../../utils/getGlobalObject.js");
|
|
9
8
|
const resolvePrerenderConfig_js_1 = require("./resolvePrerenderConfig.js");
|
|
10
9
|
const globalObject = (0, getGlobalObject_js_1.getGlobalObject)('prerender/context.ts', {});
|
|
11
|
-
function isPrerenderEnabled(vikeConfig) {
|
|
12
|
-
const prerenderConfig = (0, resolvePrerenderConfig_js_1.resolvePrerenderConfig)(vikeConfig);
|
|
13
|
-
return !!prerenderConfig;
|
|
14
|
-
}
|
|
15
10
|
function isPrerenderAutoRunEnabled(vikeConfig) {
|
|
16
|
-
const
|
|
17
|
-
return (
|
|
18
|
-
!(
|
|
11
|
+
const prerenderConfigGlobal = (0, resolvePrerenderConfig_js_1.resolvePrerenderConfigGlobal)(vikeConfig);
|
|
12
|
+
return (prerenderConfigGlobal.isPrerenderingEnabled &&
|
|
13
|
+
!(prerenderConfigGlobal || {}).disableAutoRun &&
|
|
19
14
|
!globalObject.isDisabled &&
|
|
20
15
|
vikeConfig.global.config.disableAutoFullBuild !== 'prerender');
|
|
21
16
|
}
|
|
@@ -1,29 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.resolvePrerenderConfigGlobal = resolvePrerenderConfigGlobal;
|
|
4
4
|
exports.resolvePrerenderConfigLocal = resolvePrerenderConfigLocal;
|
|
5
5
|
const utils_js_1 = require("./utils.js");
|
|
6
6
|
const getConfigValueBuildTime_js_1 = require("../../shared/page-configs/getConfigValueBuildTime.js");
|
|
7
|
-
|
|
8
|
-
// TODO/now:
|
|
9
|
-
// - prerender.value
|
|
10
|
-
function resolvePrerenderConfig(vikeConfig) {
|
|
7
|
+
function resolvePrerenderConfigGlobal(vikeConfig) {
|
|
11
8
|
const prerenderConfigs = vikeConfig.global.config.prerender;
|
|
12
|
-
|
|
13
|
-
!vikeConfig.pageConfigs.some((pageConfig) => resolvePrerenderConfigLocal(pageConfig)?.value)) {
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
let prerenderSettings = prerenderConfigs || [];
|
|
9
|
+
let prerenderConfigList = prerenderConfigs || [];
|
|
17
10
|
// Needed because of backwards compatibility of `vike({prerender:true})` in `vite.config.js`; after we remove it we can remove this line.
|
|
18
|
-
|
|
19
|
-
(0, utils_js_1.assert)(
|
|
20
|
-
const
|
|
21
|
-
partial: pickFirst(
|
|
22
|
-
noExtraDir: pickFirst(
|
|
23
|
-
parallel: pickFirst(
|
|
24
|
-
disableAutoRun: pickFirst(
|
|
11
|
+
prerenderConfigList = prerenderConfigList.filter(isObject2);
|
|
12
|
+
(0, utils_js_1.assert)(prerenderConfigList.every(isObject2)); // Help TS
|
|
13
|
+
const prerenderConfigGlobal = {
|
|
14
|
+
partial: pickFirst(prerenderConfigList.map((c) => c.partial)) ?? false,
|
|
15
|
+
noExtraDir: pickFirst(prerenderConfigList.map((c) => c.noExtraDir)) ?? false,
|
|
16
|
+
parallel: pickFirst(prerenderConfigList.map((c) => c.parallel)) ?? true,
|
|
17
|
+
disableAutoRun: pickFirst(prerenderConfigList.map((c) => c.disableAutoRun)) ?? false
|
|
25
18
|
};
|
|
26
|
-
|
|
19
|
+
const prerenderConfigGlobalLocalValue = prerenderConfigList.map((c) => c.value).filter((v) => v !== null);
|
|
20
|
+
const defaultLocalValue = pickFirst(prerenderConfigGlobalLocalValue) ??
|
|
21
|
+
(prerenderConfigGlobalLocalValue.length > 0 ||
|
|
22
|
+
// Backwards compatibility for with vike({ prerender: true }) in vite.config.js
|
|
23
|
+
prerenderConfigs?.some((p) => p === true) ||
|
|
24
|
+
false);
|
|
25
|
+
(0, utils_js_1.objectAssign)(prerenderConfigGlobal, {
|
|
26
|
+
defaultLocalValue,
|
|
27
|
+
isPrerenderingEnabledForAllPages: vikeConfig.pageConfigs.length > 0 &&
|
|
28
|
+
vikeConfig.pageConfigs.every((pageConfig) => resolvePrerenderConfigLocal(pageConfig)?.value ?? defaultLocalValue),
|
|
29
|
+
isPrerenderingEnabled: vikeConfig.pageConfigs.length > 0 &&
|
|
30
|
+
vikeConfig.pageConfigs.some((pageConfig) => resolvePrerenderConfigLocal(pageConfig)?.value ?? defaultLocalValue)
|
|
31
|
+
});
|
|
32
|
+
// TODO/next-major remove
|
|
33
|
+
if (vikeConfig.pageConfigs.length === 0 && defaultLocalValue)
|
|
34
|
+
prerenderConfigGlobal.isPrerenderingEnabled = true;
|
|
35
|
+
return prerenderConfigGlobal;
|
|
27
36
|
}
|
|
28
37
|
function resolvePrerenderConfigLocal(pageConfig) {
|
|
29
38
|
const configValue = (0, getConfigValueBuildTime_js_1.getConfigValueBuildTime)(pageConfig, 'prerender');
|
|
@@ -32,11 +41,11 @@ function resolvePrerenderConfigLocal(pageConfig) {
|
|
|
32
41
|
const values = configValue.value;
|
|
33
42
|
(0, utils_js_1.assert)((0, utils_js_1.isArray)(values));
|
|
34
43
|
const value = values[0];
|
|
44
|
+
// TODO/now I believe this assert() can fail
|
|
35
45
|
(0, utils_js_1.assert)(typeof value === 'boolean');
|
|
36
46
|
(0, utils_js_1.assert)((0, utils_js_1.isArray)(configValue.definedAtData));
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
return { value, configValueFilePathToShowToUser };
|
|
47
|
+
const prerenderConfigLocal = { value };
|
|
48
|
+
return prerenderConfigLocal;
|
|
40
49
|
}
|
|
41
50
|
function isObject2(p) {
|
|
42
51
|
return typeof p === 'object' && p !== null;
|
|
@@ -68,6 +68,7 @@ const resolvePrerenderConfig_js_1 = require("./resolvePrerenderConfig.js");
|
|
|
68
68
|
const getOutDirs_js_1 = require("../plugin/shared/getOutDirs.js");
|
|
69
69
|
const context_js_2 = require("../cli/context.js");
|
|
70
70
|
const isViteCliCall_js_1 = require("../plugin/shared/isViteCliCall.js");
|
|
71
|
+
const commonConfig_js_1 = require("../plugin/plugins/commonConfig.js");
|
|
71
72
|
async function runPrerenderFromAPI(options = {}) {
|
|
72
73
|
return await runPrerender(options, 'prerender()');
|
|
73
74
|
// - We purposely propagate the error to the user land, so that the error interrupts the user land. It's also, I guess, a nice-to-have that the user has control over the error.
|
|
@@ -94,11 +95,13 @@ async function runPrerenderFromAutoRun(viteConfig, config) {
|
|
|
94
95
|
prerenderContextPublic = ret.prerenderContextPublic;
|
|
95
96
|
}
|
|
96
97
|
catch (err) {
|
|
98
|
+
// Avoid Rollup prefixing the error with [vike:build:pluginAutoFullBuild], see for example https://github.com/vikejs/vike/issues/472#issuecomment-1276274203
|
|
97
99
|
console.error(err);
|
|
98
100
|
(0, logErrorHint_js_1.logErrorHint)(err);
|
|
99
101
|
process.exit(1);
|
|
100
102
|
}
|
|
101
|
-
|
|
103
|
+
const vike = (0, commonConfig_js_1.getVikeConfigPublic)(config);
|
|
104
|
+
vike.prerenderContext = prerenderContextPublic;
|
|
102
105
|
const forceExit = (0, context_js_2.isVikeCli)() || (0, isViteCliCall_js_1.isViteCliCall)();
|
|
103
106
|
return { forceExit };
|
|
104
107
|
}
|
|
@@ -117,15 +120,14 @@ async function runPrerender(options = {}, standaloneTrigger) {
|
|
|
117
120
|
const vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig)(viteConfig);
|
|
118
121
|
const { outDirClient } = (0, getOutDirs_js_1.getOutDirs)(viteConfig);
|
|
119
122
|
const { root } = viteConfig;
|
|
120
|
-
const
|
|
121
|
-
validatePrerenderConfig(
|
|
122
|
-
|
|
123
|
+
const prerenderConfigGlobal = (0, resolvePrerenderConfig_js_1.resolvePrerenderConfigGlobal)(vikeConfig);
|
|
124
|
+
validatePrerenderConfig(prerenderConfigGlobal);
|
|
125
|
+
const { partial, noExtraDir, parallel, defaultLocalValue, isPrerenderingEnabled } = prerenderConfigGlobal;
|
|
126
|
+
if (!isPrerenderingEnabled) {
|
|
123
127
|
(0, utils_js_1.assert)(standaloneTrigger);
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
});
|
|
128
|
+
// TODO/now: make it assertUsage() and remove dist/server/entry.mjs if pre-rendering is completely disabled
|
|
129
|
+
(0, utils_js_1.assertWarning)(false, `You're executing ${picocolors_1.default.cyan(standaloneTrigger)} but you didn't enable pre-rendering. Use the ${picocolors_1.default.cyan('prerender')} setting (${picocolors_1.default.underline('https://vike.dev/prerender')}) to enable pre-rendering for at least one page.`, { onlyOnce: true });
|
|
127
130
|
}
|
|
128
|
-
const { partial = false, noExtraDir = false, parallel = true } = prerenderConfig || {};
|
|
129
131
|
const concurrencyLimit = (0, utils_js_1.pLimit)(parallel === false || parallel === 0 ? 1 : parallel === true || parallel === undefined ? (0, os_1.cpus)().length : parallel);
|
|
130
132
|
await (0, globalContext_js_1.initGlobalContext_runPrerender)();
|
|
131
133
|
const globalContext = await (0, globalContext_js_1.getGlobalContextInternal)();
|
|
@@ -138,7 +140,7 @@ async function runPrerender(options = {}, standaloneTrigger) {
|
|
|
138
140
|
output: []
|
|
139
141
|
};
|
|
140
142
|
const doNotPrerenderList = [];
|
|
141
|
-
await collectDoNoPrerenderList(vikeConfig.pageConfigs, doNotPrerenderList, concurrencyLimit, globalContext);
|
|
143
|
+
await collectDoNoPrerenderList(vikeConfig.pageConfigs, doNotPrerenderList, defaultLocalValue, concurrencyLimit, globalContext);
|
|
142
144
|
await callOnBeforePrerenderStartHooks(prerenderContext, globalContext, concurrencyLimit, doNotPrerenderList);
|
|
143
145
|
await handlePagesWithStaticRoutes(prerenderContext, globalContext, doNotPrerenderList, concurrencyLimit);
|
|
144
146
|
await callOnPrerenderStartHook(prerenderContext, globalContext);
|
|
@@ -161,20 +163,21 @@ async function runPrerender(options = {}, standaloneTrigger) {
|
|
|
161
163
|
const prerenderContextPublic = makePublic(prerenderContext);
|
|
162
164
|
return { viteConfig, prerenderContextPublic };
|
|
163
165
|
}
|
|
164
|
-
async function collectDoNoPrerenderList(pageConfigs, doNotPrerenderList, concurrencyLimit, globalContext) {
|
|
166
|
+
async function collectDoNoPrerenderList(pageConfigs, doNotPrerenderList, defaultLocalValue, concurrencyLimit, globalContext) {
|
|
165
167
|
// V1 design
|
|
166
168
|
pageConfigs.forEach((pageConfig) => {
|
|
167
|
-
const
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
169
|
+
const prerenderConfigLocal = (0, resolvePrerenderConfig_js_1.resolvePrerenderConfigLocal)(pageConfig);
|
|
170
|
+
const { pageId } = pageConfig;
|
|
171
|
+
if (!prerenderConfigLocal) {
|
|
172
|
+
if (!defaultLocalValue) {
|
|
173
|
+
doNotPrerenderList.push({ pageId });
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
const { value } = prerenderConfigLocal;
|
|
178
|
+
if (value === false) {
|
|
179
|
+
doNotPrerenderList.push({ pageId });
|
|
180
|
+
}
|
|
178
181
|
}
|
|
179
182
|
});
|
|
180
183
|
// Old design
|
|
@@ -207,12 +210,7 @@ async function collectDoNoPrerenderList(pageConfigs, doNotPrerenderList, concurr
|
|
|
207
210
|
}
|
|
208
211
|
else {
|
|
209
212
|
// Don't pre-render `pageId`
|
|
210
|
-
doNotPrerenderList.push({
|
|
211
|
-
pageId,
|
|
212
|
-
setByConfigFile: p.filePath,
|
|
213
|
-
setByConfigName: 'doNotPrerender',
|
|
214
|
-
setByConfigValue: doNotPrerender
|
|
215
|
-
});
|
|
213
|
+
doNotPrerenderList.push({ pageId });
|
|
216
214
|
}
|
|
217
215
|
}
|
|
218
216
|
});
|
|
@@ -565,8 +563,7 @@ function warnContradictoryNoPrerenderList(prerenderedPageContexts, doNotPrerende
|
|
|
565
563
|
if (!isContradictory)
|
|
566
564
|
return;
|
|
567
565
|
}
|
|
568
|
-
|
|
569
|
-
(0, utils_js_1.assertWarning)(false, `The ${providedByHook.hookName}() hook defined by ${providedByHook.hookFilePath} returns the URL ${picocolors_1.default.cyan(urlOriginal)}, while ${setByConfigFile} sets the config ${picocolors_1.default.cyan(setByConfigName)} to ${picocolors_1.default.cyan(String(setByConfigValue))}. This is contradictory: either don't set the config ${picocolors_1.default.cyan(setByConfigName)} to ${picocolors_1.default.cyan(String(setByConfigValue))} or remove the URL ${picocolors_1.default.cyan(urlOriginal)} from the list of URLs to be pre-rendered.`, { onlyOnce: true });
|
|
566
|
+
(0, utils_js_1.assertWarning)(false, `The ${providedByHook.hookName}() hook defined by ${providedByHook.hookFilePath} returns the URL ${picocolors_1.default.cyan(urlOriginal)} matching the route of the page ${picocolors_1.default.cyan(pageId)} which isn't configured to be pre-rendered. This is contradictory: either enable pre-rendering for ${picocolors_1.default.cyan(pageId)} or remove the URL ${picocolors_1.default.cyan(urlOriginal)} from the list of URLs to be pre-rendered.`, { onlyOnce: true });
|
|
570
567
|
});
|
|
571
568
|
}
|
|
572
569
|
async function warnMissingPages(prerenderedPageContexts, globalContext, doNotPrerenderList, partial) {
|
|
@@ -813,7 +810,8 @@ prerenderConfig) {
|
|
|
813
810
|
}
|
|
814
811
|
function makePublic(prerenderContext) {
|
|
815
812
|
const prerenderContextPublic = (0, utils_js_1.makePublicCopy)(prerenderContext, 'prerenderContext', [
|
|
816
|
-
'
|
|
813
|
+
'output', // vite-plugin-vercel
|
|
814
|
+
'pageContexts' // https://vike.dev/i18n#pre-rendering
|
|
817
815
|
]);
|
|
818
816
|
return prerenderContextPublic;
|
|
819
817
|
}
|
|
@@ -33,3 +33,4 @@ __exportStar(require("../../utils/isArray.js"), exports);
|
|
|
33
33
|
__exportStar(require("../../utils/isObject.js"), exports);
|
|
34
34
|
__exportStar(require("../../utils/changeEnumerable.js"), exports);
|
|
35
35
|
__exportStar(require("../../utils/makePublicCopy.js"), exports);
|
|
36
|
+
__exportStar(require("../../utils/isNotNullish.js"), exports);
|
|
@@ -164,6 +164,13 @@ function getStreamReadableWeb(htmlRender) {
|
|
|
164
164
|
if (isStreamReadableWeb(htmlRender)) {
|
|
165
165
|
return htmlRender;
|
|
166
166
|
}
|
|
167
|
+
if (isStreamPipeWeb(htmlRender)) {
|
|
168
|
+
const streamPipeWeb = getStreamPipeWeb(htmlRender);
|
|
169
|
+
(0, utils_js_1.assert)(streamPipeWeb);
|
|
170
|
+
const { readable, writable } = new TransformStream();
|
|
171
|
+
streamPipeWeb(writable);
|
|
172
|
+
return readable;
|
|
173
|
+
}
|
|
167
174
|
return null;
|
|
168
175
|
}
|
|
169
176
|
function pipeToStreamWritableWeb(htmlRender, writable) {
|
|
@@ -27,15 +27,25 @@ const errorsMisc = [
|
|
|
27
27
|
errMsg: 'assets.json',
|
|
28
28
|
link: 'https://vike.dev/getGlobalContext',
|
|
29
29
|
mustMentionNodeModules: false
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
errMsg: 'ERR_UNKNOWN_FILE_EXTENSION',
|
|
33
|
+
link: 'https://vike.dev/broken-npm-package#err-unknown-file-extension'
|
|
30
34
|
}
|
|
31
35
|
];
|
|
36
|
+
const reactInvalidEelement = 'https://vike.dev/broken-npm-package#react-invalid-component';
|
|
32
37
|
const errorsReact = [
|
|
33
38
|
{
|
|
34
39
|
errMsg: 'Element type is invalid: expected a string (for built-in components) or a class/function (for composite components)',
|
|
35
|
-
link:
|
|
40
|
+
link: reactInvalidEelement,
|
|
36
41
|
// The stack trace can be user-land while the import is coming from node_modules
|
|
37
42
|
mustMentionNodeModules: false
|
|
38
43
|
},
|
|
44
|
+
{
|
|
45
|
+
errMsg: 'Objects are not valid as a React child',
|
|
46
|
+
link: reactInvalidEelement,
|
|
47
|
+
mustMentionNodeModules: false
|
|
48
|
+
},
|
|
39
49
|
{
|
|
40
50
|
// React's "Invalid hook call.", see https://github.com/vikejs/vike/discussions/1637#discussioncomment-9424712
|
|
41
51
|
errMsg: "Cannot read properties of null (reading 'useContext')"
|
|
@@ -71,7 +81,8 @@ const errorsCjsEsm = [
|
|
|
71
81
|
{ errMsg: 'exports is not defined' },
|
|
72
82
|
{ errMsg: 'module is not defined' },
|
|
73
83
|
{ errMsg: 'not defined in ES' },
|
|
74
|
-
{ errMsg: "Unexpected token 'export'" }
|
|
84
|
+
{ errMsg: "Unexpected token 'export'" },
|
|
85
|
+
{ errMsg: 'Failed to resolve entry for package' }
|
|
75
86
|
];
|
|
76
87
|
function logErrorHint(error) {
|
|
77
88
|
/* Collect errors for ./logErrorHint.spec.ts
|
|
@@ -39,7 +39,7 @@ function getUrlParsed(pageContext) {
|
|
|
39
39
|
// 6. The value of pageContext.urlPathname is now '/login': the pathname of `pageContext.urlLogical`. (While pageContext.urlOriginal is still '/fr-FR/admin'.)
|
|
40
40
|
// Reproduction: https://github.com/vikejs/vike/discussions/1436#discussioncomment-8142023
|
|
41
41
|
// Determine logical URL
|
|
42
|
-
const assertUrlResolved = (src) => (0, utils_js_1.assert)(
|
|
42
|
+
const assertUrlResolved = (src) => (0, utils_js_1.assert)(typeof urlResolved === 'string',
|
|
43
43
|
// TODO/eventually: remove debug logs, see:
|
|
44
44
|
// - https://github.com/vikejs/vike/issues/2138#issuecomment-2631713411
|
|
45
45
|
// - https://github.com/vikejs/vike/commit/5c7810f3080ab62536950f26e019bb2a3a517082
|
|
@@ -29,9 +29,7 @@ function getConfigValue(pageConfig, configName) {
|
|
|
29
29
|
if (!configDef.cumulative) {
|
|
30
30
|
const configValueSource = sources[0];
|
|
31
31
|
(0, utils_js_1.assert)(configValueSource);
|
|
32
|
-
(0, utils_js_1.assert)(configValueSource.
|
|
33
|
-
(0, utils_js_1.assert)(sources.slice(1).every((s) => s.isOverriden === true));
|
|
34
|
-
(0, utils_js_1.assert)('value' in configValueSource);
|
|
32
|
+
(0, utils_js_1.assert)(configValueSource.valueIsLoaded);
|
|
35
33
|
return {
|
|
36
34
|
type: 'standard',
|
|
37
35
|
value: configValueSource.value,
|
|
@@ -52,9 +50,8 @@ function mergeCumulative(configValueSources) {
|
|
|
52
50
|
const value = [];
|
|
53
51
|
const definedAtData = [];
|
|
54
52
|
configValueSources.forEach((configValueSource) => {
|
|
55
|
-
(0, utils_js_1.assert)(configValueSource.isOverriden === false);
|
|
56
53
|
(0, utils_js_1.assert)(configValueSource.configEnv.config === true);
|
|
57
|
-
(0, utils_js_1.assert)(
|
|
54
|
+
(0, utils_js_1.assert)(configValueSource.valueIsLoaded);
|
|
58
55
|
value.push(configValueSource.value);
|
|
59
56
|
definedAtData.push(getDefinedAtFile(configValueSource));
|
|
60
57
|
});
|
|
@@ -66,7 +66,9 @@ function parseConfigValuesSerialized_tmp(configValuesSerialized) {
|
|
|
66
66
|
const { valueSerialized, ...common } = configValueSeriliazed;
|
|
67
67
|
const { value, sideExports } = parseValueSerialized(valueSerialized, configName, () => {
|
|
68
68
|
(0, utils_js_1.assert)(configValueSeriliazed.type !== 'computed');
|
|
69
|
-
|
|
69
|
+
const { definedAtData } = configValueSeriliazed;
|
|
70
|
+
const definedAtFile = Array.isArray(definedAtData) ? definedAtData[0] : definedAtData;
|
|
71
|
+
return definedAtFile;
|
|
70
72
|
});
|
|
71
73
|
addSideExports(sideExports);
|
|
72
74
|
configValue = { value, ...common };
|