UNPKG

vike

Version:

The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.

42 lines (41 loc) 1.97 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.handleErrorWithoutErrorPage = handleErrorWithoutErrorPage; const stringify_1 = require("@brillout/json-serializer/stringify"); const utils_js_1 = require("../utils.js"); const createHttpResponse_js_1 = require("./createHttpResponse.js"); const picocolors_1 = __importDefault(require("@brillout/picocolors")); // When the user hasn't defined _error.page.js async function handleErrorWithoutErrorPage(pageContext) { (0, utils_js_1.assert)(pageContext.pageId === null); (0, utils_js_1.assert)(pageContext.errorWhileRendering || pageContext.is404); { const isV1 = pageContext._globalContext._pageConfigs.length > 0; await warnMissingErrorPage(isV1, pageContext._globalContext._isProduction); } if (!pageContext.isClientSideNavigation) { const httpResponse = (0, createHttpResponse_js_1.createHttpResponseError)(pageContext); (0, utils_js_1.objectAssign)(pageContext, { httpResponse }); return pageContext; } else { const __getPageAssets = async () => []; (0, utils_js_1.objectAssign)(pageContext, { __getPageAssets }); const httpResponse = await (0, createHttpResponse_js_1.createHttpResponsePage)((0, stringify_1.stringify)({ serverSideError: true }), null, pageContext); (0, utils_js_1.objectAssign)(pageContext, { httpResponse }); return pageContext; } } async function warnMissingErrorPage(isV1, isProduction) { if (!isProduction) { const msg = [ `No ${isV1 ? 'error page' : picocolors_1.default.cyan('_error.page.js')} found,`, 'we recommend defining one', 'https://vike.dev/error-page', ].join(' '); (0, utils_js_1.assertWarning)(false, msg, { onlyOnce: true }); } }