vike 0.4.231-commit-e1c3295 → 0.4.232-commit-134207d
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/README.md +4 -2
- package/dist/cjs/__internal/index.js +2 -2
- package/dist/cjs/client/runtime-client-routing/globalContext.js +1 -1
- package/dist/cjs/client/shared/createGetGlobalContextClient.js +2 -2
- package/dist/cjs/client/shared/preparePageContextForPublicUsageClientShared.js +2 -2
- package/dist/cjs/node/api/build.js +6 -2
- package/dist/cjs/node/api/dev.js +1 -1
- package/dist/cjs/node/api/prepareViteApiCall.js +8 -8
- package/dist/cjs/node/api/prerender.js +1 -1
- package/dist/cjs/node/api/preview.js +2 -2
- package/dist/cjs/node/cli/entry.js +1 -1
- package/dist/cjs/node/cli/parseCli.js +2 -2
- package/dist/cjs/node/client/router.js +1 -1
- package/dist/cjs/node/createPageRenderer.js +1 -1
- package/dist/cjs/node/prerender/context.js +1 -1
- package/dist/cjs/node/prerender/resolvePrerenderConfig.js +3 -2
- package/dist/cjs/node/prerender/runPrerender.js +91 -46
- package/dist/cjs/node/prerender/runPrerenderEntry.js +1 -1
- package/dist/cjs/node/prerender/utils.js +1 -0
- package/dist/cjs/node/runtime/globalContext.js +22 -15
- package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +7 -7
- package/dist/cjs/node/runtime/html/injectAssets/getViteDevScript.js +1 -1
- package/dist/cjs/node/runtime/html/injectAssets/inferHtmlTags.js +1 -1
- package/dist/cjs/node/runtime/html/injectAssets/injectAssets__public.js +5 -5
- package/dist/cjs/node/runtime/html/injectAssets/injectHtmlTags.js +3 -3
- package/dist/cjs/node/runtime/html/injectAssets.js +1 -1
- package/dist/cjs/node/runtime/html/renderHtml.js +8 -8
- package/dist/cjs/node/runtime/html/serializeContext.js +5 -5
- package/dist/cjs/node/runtime/html/stream.js +19 -19
- package/dist/cjs/node/runtime/index-deprecated.js +2 -2
- package/dist/cjs/node/runtime/index.js +1 -1
- package/dist/cjs/node/runtime/renderPage/analyzePage.js +4 -4
- package/dist/cjs/node/runtime/renderPage/assertArguments.js +1 -1
- package/dist/cjs/node/runtime/renderPage/createHttpResponse/assertNoInfiniteHttpRedirect.js +1 -1
- package/dist/cjs/node/runtime/renderPage/createHttpResponse.js +5 -6
- package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +4 -4
- package/dist/cjs/node/runtime/renderPage/debugPageFiles.js +1 -1
- package/dist/cjs/node/runtime/renderPage/execHookServer.js +1 -4
- package/dist/cjs/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.js +1 -1
- package/dist/cjs/node/runtime/renderPage/executeOnRenderHtmlHook.js +3 -3
- package/dist/cjs/node/runtime/renderPage/getEarlyHints.js +1 -1
- package/dist/cjs/node/runtime/renderPage/getHttpResponseBody.js +1 -1
- package/dist/cjs/node/runtime/renderPage/getPageAssets/getManifestEntry.js +1 -1
- package/dist/cjs/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.js +1 -1
- package/dist/cjs/node/runtime/renderPage/getPageAssets.js +2 -2
- package/dist/cjs/node/runtime/renderPage/handleErrorWithoutErrorPage.js +1 -1
- package/dist/cjs/node/runtime/renderPage/handlePageContextRequestUrl.js +1 -1
- package/dist/cjs/node/runtime/renderPage/isFontFallback.js +3 -3
- package/dist/cjs/node/runtime/renderPage/isNewError.js +2 -1
- package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +10 -10
- package/dist/cjs/node/runtime/renderPage/log404/index.js +4 -8
- package/dist/cjs/node/runtime/renderPage/logErrorHint/errors.js +2 -2
- package/dist/cjs/node/runtime/renderPage/logErrorHint.js +18 -18
- package/dist/cjs/node/runtime/renderPage/loggerProd.js +3 -3
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -1
- package/dist/cjs/node/runtime/renderPage/resolveRedirects.js +22 -4
- package/dist/cjs/node/runtime/renderPage.js +17 -34
- package/dist/cjs/node/runtime/universal-middleware.js +2 -2
- package/dist/cjs/node/runtime/utils.js +1 -1
- package/dist/cjs/node/runtime-dev/createDevMiddleware.js +3 -3
- package/dist/cjs/node/shared/extractAssetsQuery.js +1 -1
- package/dist/cjs/node/shared/getVikeConfigError.js +22 -0
- package/dist/cjs/node/shared/resolveBase.js +1 -1
- package/dist/cjs/node/shared/utils.js +1 -0
- package/dist/cjs/node/shared/virtualFiles/virtualFilePageConfigLazy.js +2 -2
- package/dist/cjs/node/vite/index.js +2 -2
- package/dist/cjs/node/vite/plugins/pluginBaseUrls.js +3 -3
- package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +30 -28
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +10 -10
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildApp.js +10 -10
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +10 -10
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildEntry.js +12 -13
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistFileNames.js +14 -12
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +2 -2
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginModuleBanner.js +3 -3
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginSuppressRollupWarning.js +3 -3
- package/dist/cjs/node/vite/plugins/pluginBuild.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginCommon/assertResolveAlias.js +2 -2
- package/dist/cjs/node/vite/plugins/pluginCommon.js +14 -14
- package/dist/cjs/node/vite/plugins/pluginDev/determineFsAllowList.js +2 -2
- package/dist/cjs/node/vite/plugins/pluginDev/determineOptimizeDeps.js +2 -2
- package/dist/cjs/node/vite/plugins/pluginDev.js +8 -8
- package/dist/cjs/node/vite/plugins/pluginEnvVars.js +4 -4
- package/dist/cjs/node/vite/plugins/pluginExtractAssets.js +6 -6
- package/dist/cjs/node/vite/plugins/pluginExtractExportNames.js +2 -2
- package/dist/cjs/node/vite/plugins/pluginFileEnv.js +3 -3
- package/dist/cjs/node/vite/plugins/pluginPreview.js +9 -9
- package/dist/cjs/node/vite/plugins/pluginReplaceConstants.js +3 -3
- package/dist/cjs/node/vite/plugins/pluginSetGlobalContext.js +6 -6
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getVirtualFileEntry.js +10 -10
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigLazy.js +11 -1
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +3 -3
- package/dist/cjs/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginWorkaroundVite6HmrRegression.js +2 -2
- package/dist/cjs/node/vite/shared/addSsrMiddleware.js +3 -3
- package/dist/cjs/node/vite/shared/findPageFiles.js +1 -1
- package/dist/cjs/node/vite/shared/getFilePath.js +24 -24
- package/dist/cjs/node/vite/shared/getHttpRequestAsyncStore.js +4 -4
- package/dist/cjs/node/vite/shared/getOutDirs.js +2 -2
- package/dist/cjs/node/vite/shared/getViteConfigRuntime.js +3 -3
- package/dist/cjs/node/vite/shared/isAsset.js +1 -1
- package/dist/cjs/node/vite/shared/isViteCliCall.js +1 -1
- package/dist/cjs/node/vite/shared/isViteServerBuild.js +2 -2
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelReact.js +1 -1
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelSolid.js +1 -1
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errEsbuild.js +5 -5
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx1.js +3 -3
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx2.js +10 -10
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errPostcss.js +2 -2
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwc.js +2 -2
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwcBig.js +2 -2
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueCss.js +2 -2
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueHtml.js +1 -1
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueJavascript.js +1 -1
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet.js +3 -3
- package/dist/cjs/node/vite/shared/loggerNotProd.js +1 -1
- package/dist/cjs/node/vite/shared/resolveClientEntriesDev.js +2 -2
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/assertExtensions.js +2 -2
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +50 -50
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles/ignorePatternsBuiltIn.js +1 -1
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +13 -13
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.js +14 -5
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/getPlusFilesAll.js +4 -4
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/loadFileAtConfigTime.js +1 -1
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/pointerImports.js +5 -5
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/resolvePointerImport.js +5 -5
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +25 -25
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal.js +46 -46
- package/dist/cjs/node/vite/utils.js +2 -7
- package/dist/cjs/shared/assertHookReturnedObject.js +1 -1
- package/dist/cjs/shared/assertPageContextProvidedByUser.js +2 -2
- package/dist/cjs/shared/createGlobalContextShared.js +26 -18
- package/dist/cjs/shared/createPageContextShared.js +1 -1
- package/dist/cjs/shared/getPageContextRequestUrl.js +1 -1
- package/dist/cjs/shared/getPageContextUrlComputed.js +5 -5
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide/analyzeExports.js +3 -3
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide/determineClientEntry.js +1 -1
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide.js +3 -3
- package/dist/cjs/shared/getPageFiles/fileTypes.js +1 -1
- package/dist/cjs/shared/getPageFiles/getAllPageIdFiles.js +2 -2
- package/dist/cjs/shared/getPageFiles/getPageFileObject.js +1 -1
- package/dist/cjs/shared/getProxyForPublicUsage.js +2 -2
- package/dist/cjs/shared/hooks/execHook.js +2 -2
- package/dist/cjs/shared/hooks/getHook.js +4 -4
- package/dist/cjs/shared/modifyUrl.js +1 -1
- package/dist/cjs/shared/page-configs/assertPlusFileExport.js +2 -2
- package/dist/cjs/shared/page-configs/getConfigValueBuildTime.js +4 -4
- package/dist/cjs/shared/page-configs/resolveVikeConfigPublic.js +21 -21
- package/dist/cjs/shared/page-configs/serialize/parsePageConfigs.js +3 -3
- package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +9 -9
- package/dist/cjs/shared/preparePageContextForPublicUsage.js +3 -3
- package/dist/cjs/shared/route/abort.js +7 -7
- package/dist/cjs/shared/route/debug.js +1 -1
- package/dist/cjs/shared/route/deduceRouteStringFromFilesystemPath.js +1 -1
- package/dist/cjs/shared/route/executeOnBeforeRouteHook.js +3 -3
- package/dist/cjs/shared/route/index.js +5 -5
- package/dist/cjs/shared/route/loadPageRoutes.js +8 -8
- package/dist/cjs/shared/route/resolvePrecedence.js +2 -2
- package/dist/cjs/shared/route/resolveRoute.js +1 -1
- package/dist/cjs/shared/route/resolveRouteFunction.js +2 -2
- package/dist/cjs/shared/utils.js +1 -0
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/assert.js +9 -9
- package/dist/cjs/utils/assertKeys.js +1 -1
- package/dist/cjs/utils/assertSetup.js +1 -1
- package/dist/cjs/utils/assertSingleInstance.js +5 -5
- package/dist/cjs/utils/catchInfiniteLoop.js +1 -1
- package/dist/cjs/utils/debug.js +1 -1
- package/dist/cjs/utils/findFile.js +5 -5
- package/dist/cjs/utils/findPackageJson.js +3 -3
- package/dist/cjs/utils/formatHintLog.js +1 -1
- package/dist/cjs/utils/freezePartial.js +1 -1
- package/dist/cjs/utils/genPromise.js +2 -2
- package/dist/cjs/utils/getMostSimilar.js +1 -1
- package/dist/cjs/utils/injectRollupInputs.js +2 -2
- package/dist/cjs/utils/isFilePathAbsoluteFilesystem.js +1 -1
- package/dist/cjs/utils/objectAssignSafe.js +1 -1
- package/dist/cjs/utils/pLimit.js +4 -4
- package/dist/cjs/utils/parseNpmPackage.js +2 -2
- package/dist/cjs/utils/parseUrl.js +3 -3
- package/dist/cjs/utils/path.js +1 -1
- package/dist/cjs/utils/preservePropertyGetters.js +1 -1
- package/dist/cjs/utils/{removeFileExtention.js → removeFileExtension.js} +2 -2
- package/dist/cjs/utils/requireResolve.js +10 -10
- package/dist/cjs/utils/rollupSourceMap.js +2 -2
- package/dist/cjs/utils/stripAnsi.js +1 -1
- package/dist/cjs/utils/styleFileRE.js +1 -0
- package/dist/cjs/utils/trimWithAnsi.js +1 -1
- package/dist/esm/__internal/index.js +2 -2
- package/dist/esm/client/index.d.ts +1 -1
- package/dist/esm/client/index.js +1 -1
- package/dist/esm/client/node.js +1 -1
- package/dist/esm/client/runtime-client-routing/createPageContextClientSide.js +1 -1
- package/dist/esm/client/runtime-client-routing/getPageContext/removeBuiltInOverrides.js +1 -1
- package/dist/esm/client/runtime-client-routing/getPageContextCurrent.js +1 -1
- package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +2 -3
- package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.js +5 -5
- package/dist/esm/client/runtime-client-routing/globalContext.js +1 -1
- package/dist/esm/client/runtime-client-routing/history.js +6 -6
- package/dist/esm/client/runtime-client-routing/initClientRouter.js +1 -1
- package/dist/esm/client/runtime-client-routing/initOnLinkClick.js +1 -1
- package/dist/esm/client/runtime-client-routing/initOnPopState.js +1 -1
- package/dist/esm/client/runtime-client-routing/isClientSideRoutable.js +1 -1
- package/dist/esm/client/runtime-client-routing/navigate.js +1 -1
- package/dist/esm/client/runtime-client-routing/prefetch/getPrefetchSettings.js +2 -2
- package/dist/esm/client/runtime-client-routing/prefetch.js +10 -10
- package/dist/esm/client/runtime-client-routing/renderPageClientSide.d.ts +1 -1
- package/dist/esm/client/runtime-client-routing/renderPageClientSide.js +20 -20
- package/dist/esm/client/runtime-client-routing/setScrollPosition.js +1 -1
- package/dist/esm/client/runtime-server-routing/createPageContextClientSide.js +1 -1
- package/dist/esm/client/shared/createGetGlobalContextClient.js +3 -3
- package/dist/esm/client/shared/loadPageConfigsLazyClientSide.js +1 -1
- package/dist/esm/client/shared/preparePageContextForPublicUsageClientShared.js +3 -3
- package/dist/esm/node/api/build.js +6 -2
- package/dist/esm/node/api/dev.js +1 -1
- package/dist/esm/node/api/prepareViteApiCall.js +8 -8
- package/dist/esm/node/api/prerender.js +1 -1
- package/dist/esm/node/api/preview.js +2 -2
- package/dist/esm/node/cli/entry.js +1 -1
- package/dist/esm/node/cli/parseCli.js +2 -2
- package/dist/esm/node/client/router.js +1 -1
- package/dist/esm/node/createPageRenderer.js +1 -1
- package/dist/esm/node/prerender/context.d.ts +1 -1
- package/dist/esm/node/prerender/context.js +1 -1
- package/dist/esm/node/prerender/resolvePrerenderConfig.d.ts +1 -0
- package/dist/esm/node/prerender/resolvePrerenderConfig.js +3 -2
- package/dist/esm/node/prerender/runPrerender.d.ts +9 -6
- package/dist/esm/node/prerender/runPrerender.js +90 -45
- package/dist/esm/node/prerender/runPrerenderEntry.js +1 -1
- 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.js +25 -18
- package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +8 -8
- package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.js +1 -1
- package/dist/esm/node/runtime/html/injectAssets/inferHtmlTags.js +1 -1
- package/dist/esm/node/runtime/html/injectAssets/injectAssets__public.js +5 -5
- package/dist/esm/node/runtime/html/injectAssets/injectHtmlTags.js +3 -3
- package/dist/esm/node/runtime/html/injectAssets.js +2 -2
- package/dist/esm/node/runtime/html/renderHtml.js +10 -10
- package/dist/esm/node/runtime/html/serializeContext.js +5 -5
- package/dist/esm/node/runtime/html/stream.d.ts +1 -1
- package/dist/esm/node/runtime/html/stream.js +21 -21
- package/dist/esm/node/runtime/index-deprecated.js +2 -2
- package/dist/esm/node/runtime/index.js +1 -1
- package/dist/esm/node/runtime/renderPage/analyzePage.js +4 -4
- package/dist/esm/node/runtime/renderPage/assertArguments.js +1 -1
- package/dist/esm/node/runtime/renderPage/createHttpResponse/assertNoInfiniteHttpRedirect.js +1 -1
- package/dist/esm/node/runtime/renderPage/createHttpResponse.js +5 -6
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +4 -4
- package/dist/esm/node/runtime/renderPage/debugPageFiles.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/debugPageFiles.js +1 -1
- package/dist/esm/node/runtime/renderPage/execHookServer.js +2 -5
- package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.js +1 -1
- package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.js +5 -5
- package/dist/esm/node/runtime/renderPage/getEarlyHints.js +1 -1
- package/dist/esm/node/runtime/renderPage/getHttpResponseBody.js +2 -2
- package/dist/esm/node/runtime/renderPage/getPageAssets/getManifestEntry.js +1 -1
- package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.js +1 -1
- package/dist/esm/node/runtime/renderPage/getPageAssets.js +2 -2
- package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.js +1 -1
- package/dist/esm/node/runtime/renderPage/handlePageContextRequestUrl.js +1 -1
- package/dist/esm/node/runtime/renderPage/isFontFallback.js +3 -3
- package/dist/esm/node/runtime/renderPage/isNewError.d.ts +2 -0
- package/dist/esm/node/runtime/renderPage/isNewError.js +2 -1
- package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +11 -11
- package/dist/esm/node/runtime/renderPage/log404/index.js +5 -9
- package/dist/esm/node/runtime/renderPage/logErrorHint/errors.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/logErrorHint/errors.js +1 -1
- package/dist/esm/node/runtime/renderPage/logErrorHint.js +18 -18
- package/dist/esm/node/runtime/renderPage/loggerProd.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/loggerProd.js +3 -3
- package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +1 -1
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +2 -2
- package/dist/esm/node/runtime/renderPage/resolveRedirects.d.ts +2 -0
- package/dist/esm/node/runtime/renderPage/resolveRedirects.js +24 -6
- package/dist/esm/node/runtime/renderPage.d.ts +0 -11
- package/dist/esm/node/runtime/renderPage.js +20 -37
- package/dist/esm/node/runtime/universal-middleware.js +2 -2
- package/dist/esm/node/runtime/utils.d.ts +1 -1
- package/dist/esm/node/runtime/utils.js +1 -1
- package/dist/esm/node/runtime-dev/createDevMiddleware.js +3 -3
- package/dist/esm/node/shared/extractAssetsQuery.js +1 -1
- package/dist/esm/node/shared/getVikeConfigError.d.ts +13 -0
- package/dist/esm/node/shared/getVikeConfigError.js +20 -0
- package/dist/esm/node/shared/resolveBase.js +1 -1
- package/dist/esm/node/shared/utils.d.ts +1 -0
- package/dist/esm/node/shared/utils.js +1 -0
- package/dist/esm/node/shared/virtualFiles/virtualFilePageConfigLazy.js +2 -2
- package/dist/esm/node/vite/index.js +2 -2
- package/dist/esm/node/vite/plugins/pluginBaseUrls.js +3 -3
- package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.d.ts +3 -2
- package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.js +14 -12
- package/dist/esm/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +10 -10
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildApp.js +10 -10
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.js +12 -12
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildEntry.d.ts +1 -2
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildEntry.js +11 -12
- package/dist/esm/node/vite/plugins/pluginBuild/pluginDistFileNames.js +11 -9
- package/dist/esm/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +2 -2
- package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.js +3 -3
- package/dist/esm/node/vite/plugins/pluginBuild/pluginSuppressRollupWarning.js +3 -3
- package/dist/esm/node/vite/plugins/pluginBuild.js +1 -1
- package/dist/esm/node/vite/plugins/pluginCommon/assertResolveAlias.js +2 -2
- package/dist/esm/node/vite/plugins/pluginCommon.js +14 -14
- package/dist/esm/node/vite/plugins/pluginDev/determineFsAllowList.js +1 -1
- package/dist/esm/node/vite/plugins/pluginDev/determineOptimizeDeps.js +5 -5
- package/dist/esm/node/vite/plugins/pluginDev.js +8 -8
- package/dist/esm/node/vite/plugins/pluginEnvVars.js +5 -5
- package/dist/esm/node/vite/plugins/pluginExtractAssets.js +8 -8
- package/dist/esm/node/vite/plugins/pluginExtractExportNames.js +3 -3
- package/dist/esm/node/vite/plugins/pluginFileEnv.js +4 -4
- package/dist/esm/node/vite/plugins/pluginPreview.js +5 -5
- package/dist/esm/node/vite/plugins/pluginReplaceConstants.js +3 -3
- package/dist/esm/node/vite/plugins/pluginSetGlobalContext.js +7 -7
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFileEntry.js +11 -11
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigLazy.js +13 -3
- package/dist/esm/node/vite/plugins/pluginVirtualFiles.js +3 -3
- package/dist/esm/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +1 -1
- package/dist/esm/node/vite/plugins/pluginWorkaroundVite6HmrRegression.js +2 -2
- package/dist/esm/node/vite/shared/addSsrMiddleware.js +3 -3
- package/dist/esm/node/vite/shared/findPageFiles.js +1 -1
- package/dist/esm/node/vite/shared/getFilePath.d.ts +5 -5
- package/dist/esm/node/vite/shared/getFilePath.js +22 -22
- package/dist/esm/node/vite/shared/getHttpRequestAsyncStore.js +4 -4
- package/dist/esm/node/vite/shared/getOutDirs.js +2 -2
- package/dist/esm/node/vite/shared/getViteConfigRuntime.js +3 -3
- package/dist/esm/node/vite/shared/isAsset.js +1 -1
- package/dist/esm/node/vite/shared/isViteCliCall.js +1 -1
- package/dist/esm/node/vite/shared/isViteServerBuild.js +2 -2
- package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelReact.js +1 -1
- package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelSolid.js +1 -1
- package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errEsbuild.js +5 -5
- package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx1.js +3 -3
- package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx2.js +10 -10
- package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errPostcss.js +2 -2
- package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwc.js +2 -2
- package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwcBig.js +2 -2
- package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueCss.js +2 -2
- package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueHtml.js +1 -1
- package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueJavascript.js +1 -1
- package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet.js +4 -4
- package/dist/esm/node/vite/shared/loggerNotProd.js +3 -3
- package/dist/esm/node/vite/shared/resolveClientEntriesDev.js +3 -3
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/assertExtensions.js +1 -1
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +50 -50
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles/ignorePatternsBuiltIn.js +1 -1
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +10 -10
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.js +14 -5
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/getPlusFilesAll.js +4 -4
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/loadFileAtConfigTime.js +1 -1
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/pointerImports.js +5 -5
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/resolvePointerImport.js +6 -6
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +14 -14
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal.d.ts +2 -2
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal.js +52 -52
- package/dist/esm/node/vite/utils.d.ts +0 -6
- package/dist/esm/node/vite/utils.js +2 -7
- package/dist/esm/shared/assertHookReturnedObject.js +1 -1
- package/dist/esm/shared/assertPageContextProvidedByUser.d.ts +1 -1
- package/dist/esm/shared/assertPageContextProvidedByUser.js +2 -2
- package/dist/esm/shared/createGlobalContextShared.d.ts +2 -0
- package/dist/esm/shared/createGlobalContextShared.js +28 -20
- package/dist/esm/shared/createPageContextShared.js +1 -1
- package/dist/esm/shared/getPageContextRequestUrl.js +1 -1
- package/dist/esm/shared/getPageContextUrlComputed.js +5 -5
- package/dist/esm/shared/getPageFiles/analyzePageClientSide/analyzeExports.d.ts +1 -1
- package/dist/esm/shared/getPageFiles/analyzePageClientSide/analyzeExports.js +3 -3
- package/dist/esm/shared/getPageFiles/analyzePageClientSide/determineClientEntry.d.ts +1 -1
- package/dist/esm/shared/getPageFiles/analyzePageClientSide/determineClientEntry.js +1 -1
- package/dist/esm/shared/getPageFiles/analyzePageClientSide.js +3 -3
- package/dist/esm/shared/getPageFiles/fileTypes.js +1 -1
- package/dist/esm/shared/getPageFiles/getAllPageIdFiles.js +2 -2
- package/dist/esm/shared/getPageFiles/getPageFileObject.js +1 -1
- package/dist/esm/shared/getProxyForPublicUsage.js +2 -2
- package/dist/esm/shared/hooks/execHook.js +3 -3
- package/dist/esm/shared/hooks/getHook.js +4 -4
- package/dist/esm/shared/modifyUrl.js +1 -1
- package/dist/esm/shared/modifyUrlSameOrigin.js +1 -1
- package/dist/esm/shared/page-configs/assertPlusFileExport.js +2 -2
- package/dist/esm/shared/page-configs/getConfigValueBuildTime.js +4 -4
- package/dist/esm/shared/page-configs/resolveVikeConfigPublic.d.ts +2 -2
- package/dist/esm/shared/page-configs/resolveVikeConfigPublic.js +22 -22
- package/dist/esm/shared/page-configs/serialize/parsePageConfigs.js +3 -3
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +11 -11
- package/dist/esm/shared/preparePageContextForPublicUsage.js +4 -4
- package/dist/esm/shared/route/abort.js +8 -8
- package/dist/esm/shared/route/debug.js +1 -1
- package/dist/esm/shared/route/deduceRouteStringFromFilesystemPath.js +1 -1
- package/dist/esm/shared/route/executeOnBeforeRouteHook.js +5 -5
- package/dist/esm/shared/route/index.js +6 -6
- package/dist/esm/shared/route/loadPageRoutes.js +8 -8
- package/dist/esm/shared/route/resolvePrecedence.d.ts +2 -2
- package/dist/esm/shared/route/resolvePrecedence.js +2 -2
- package/dist/esm/shared/route/resolveRoute.js +1 -1
- package/dist/esm/shared/route/resolveRouteFunction.js +2 -2
- package/dist/esm/shared/utils.d.ts +1 -0
- package/dist/esm/shared/utils.js +1 -0
- package/dist/esm/types/Config.d.ts +6 -0
- package/dist/esm/types/FilePath.d.ts +1 -1
- package/dist/esm/types/PageConfig.d.ts +1 -1
- package/dist/esm/types/PageContext.d.ts +2 -2
- package/dist/esm/types/index-dreprecated.d.ts +1 -1
- package/dist/esm/types/index.d.ts +3 -3
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/assert.js +9 -9
- package/dist/esm/utils/assertKeys.js +1 -1
- package/dist/esm/utils/assertSetup.js +1 -1
- package/dist/esm/utils/assertSingleInstance.js +5 -5
- package/dist/esm/utils/catchInfiniteLoop.js +1 -1
- package/dist/esm/utils/debug.js +1 -1
- package/dist/esm/utils/findFile.js +2 -2
- package/dist/esm/utils/findPackageJson.js +2 -2
- package/dist/esm/utils/formatHintLog.js +1 -1
- package/dist/esm/utils/freezePartial.js +1 -1
- package/dist/esm/utils/genPromise.d.ts +1 -1
- package/dist/esm/utils/genPromise.js +2 -2
- package/dist/esm/utils/getMostSimilar.js +1 -1
- package/dist/esm/utils/injectRollupInputs.js +2 -2
- package/dist/esm/utils/isFilePathAbsoluteFilesystem.js +1 -1
- package/dist/esm/utils/objectAssignSafe.js +1 -1
- package/dist/esm/utils/pLimit.js +4 -4
- package/dist/esm/utils/parseNpmPackage.js +2 -2
- package/dist/esm/utils/parseUrl.js +3 -3
- package/dist/esm/utils/path.js +1 -1
- package/dist/esm/utils/preservePropertyGetters.js +1 -1
- package/dist/esm/utils/removeFileExtension.d.ts +1 -0
- package/dist/esm/utils/{removeFileExtention.js → removeFileExtension.js} +1 -1
- package/dist/esm/utils/requireResolve.d.ts +3 -3
- package/dist/esm/utils/requireResolve.js +10 -10
- package/dist/esm/utils/rollupSourceMap.js +2 -2
- package/dist/esm/utils/stripAnsi.js +1 -1
- package/dist/esm/utils/styleFileRE.js +1 -0
- package/dist/esm/utils/trimWithAnsi.js +1 -1
- package/package.json +2 -2
- package/dist/esm/utils/removeFileExtention.d.ts +0 -1
|
@@ -21,14 +21,14 @@ async function preview(options = {}) {
|
|
|
21
21
|
const outServerIndexRelative = path.relative(viteConfigResolved.root, outServerIndex);
|
|
22
22
|
assertWarning(false, `Never run ${pc.cyan('$ vike preview')} in production, run ${pc.cyan(`$ node ${outServerIndexRelative}`)} instead (or Bun/Deno).`, { onlyOnce: true });
|
|
23
23
|
return {
|
|
24
|
-
viteConfig: viteConfigResolved
|
|
24
|
+
viteConfig: viteConfigResolved,
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
else {
|
|
28
28
|
const server = await previewVite(viteConfigFromUserEnhanced);
|
|
29
29
|
return {
|
|
30
30
|
viteServer: server,
|
|
31
|
-
viteConfig: server.config
|
|
31
|
+
viteConfig: server.config,
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
}
|
|
@@ -30,7 +30,7 @@ async function cmdDev() {
|
|
|
30
30
|
const startupDurationString = pc.dim(`ready in ${pc.reset(pc.bold(String(Math.ceil(performance.now() - startTime))))} ms`);
|
|
31
31
|
const hasExistingLogs = process.stdout.bytesWritten > 0 || process.stderr.bytesWritten > 0;
|
|
32
32
|
info(` ${pc.yellow(`${pc.bold('Vike')} v${PROJECT_VERSION}`)} ${startupDurationString}\n`, {
|
|
33
|
-
clear: !hasExistingLogs
|
|
33
|
+
clear: !hasExistingLogs,
|
|
34
34
|
});
|
|
35
35
|
viteServer.printUrls();
|
|
36
36
|
}
|
|
@@ -6,7 +6,7 @@ const commands = [
|
|
|
6
6
|
{ name: 'dev', desc: 'Start development server' },
|
|
7
7
|
{ name: 'build', desc: 'Build for production' },
|
|
8
8
|
{ name: 'preview', desc: 'Start preview server using production build (only works for SSG apps)' },
|
|
9
|
-
{ name: 'prerender', desc: 'Pre-render pages (only needed when prerender.disableAutoRun is true)' }
|
|
9
|
+
{ name: 'prerender', desc: 'Pre-render pages (only needed when prerender.disableAutoRun is true)' },
|
|
10
10
|
];
|
|
11
11
|
function parseCli() {
|
|
12
12
|
const command = getCommand();
|
|
@@ -67,7 +67,7 @@ function showHelp() {
|
|
|
67
67
|
`More Vike settings can be passed over the ${pc.cyan('VIKE_CONFIG')} environment variable or as ${pc.cyan('CLI options')}.`,
|
|
68
68
|
`More Vite settings can be passed over the ${pc.cyan('VITE_CONFIG')} environment variable.`,
|
|
69
69
|
``,
|
|
70
|
-
`See ${pc.underline('https://vike.dev/cli')} for more information
|
|
70
|
+
`See ${pc.underline('https://vike.dev/cli')} for more information.`,
|
|
71
71
|
].join('\n'));
|
|
72
72
|
process.exit(1);
|
|
73
73
|
}
|
|
@@ -17,7 +17,7 @@ function showWarnings(options) {
|
|
|
17
17
|
viteDevServer !== undefined && 'viteDevServer',
|
|
18
18
|
root !== undefined && 'root',
|
|
19
19
|
outDir !== undefined && 'outDir',
|
|
20
|
-
isProduction !== undefined && 'isProduction'
|
|
20
|
+
isProduction !== undefined && 'isProduction',
|
|
21
21
|
].filter(notFalse);
|
|
22
22
|
assertWarning(opts.length === 0, `The options ${str(opts)} you passed to \`createPageRenderer()\` have no effect anymore: they are now automatically determined.`, { onlyOnce: true });
|
|
23
23
|
}
|
|
@@ -6,5 +6,5 @@ import type { VikeConfigInternal } from '../vite/shared/resolveVikeConfigInterna
|
|
|
6
6
|
import type { PrerenderTrigger } from './runPrerender.js';
|
|
7
7
|
declare function isPrerenderAutoRunEnabled(vikeConfig: VikeConfigInternal): boolean;
|
|
8
8
|
declare function temp_disablePrerenderAutoRun(): void;
|
|
9
|
-
declare function wasPrerenderRun():
|
|
9
|
+
declare function wasPrerenderRun(): false | PrerenderTrigger;
|
|
10
10
|
declare function setWasPrerenderRun(trigger: PrerenderTrigger): void;
|
|
@@ -17,7 +17,7 @@ function temp_disablePrerenderAutoRun() {
|
|
|
17
17
|
globalObject.isDisabled = true;
|
|
18
18
|
}
|
|
19
19
|
function wasPrerenderRun() {
|
|
20
|
-
return globalObject.wasPrerenderRun;
|
|
20
|
+
return globalObject.wasPrerenderRun || false;
|
|
21
21
|
}
|
|
22
22
|
function setWasPrerenderRun(trigger) {
|
|
23
23
|
globalObject.wasPrerenderRun = trigger;
|
|
@@ -4,6 +4,7 @@ import { VikeConfigInternal } from '../vite/shared/resolveVikeConfigInternal.js'
|
|
|
4
4
|
import type { PageConfigBuildTime } from '../../types/PageConfig.js';
|
|
5
5
|
declare function resolvePrerenderConfigGlobal(vikeConfig: Pick<VikeConfigInternal, 'config' | '_pageConfigs' | '_from'>): {
|
|
6
6
|
partial: boolean;
|
|
7
|
+
redirects: boolean | null;
|
|
7
8
|
noExtraDir: boolean | null;
|
|
8
9
|
keepDistServer: boolean;
|
|
9
10
|
parallel: number | boolean;
|
|
@@ -9,10 +9,11 @@ function resolvePrerenderConfigGlobal(vikeConfig) {
|
|
|
9
9
|
const prerenderSettings = prerenderConfigs.filter(isObject2);
|
|
10
10
|
const prerenderConfigGlobal = {
|
|
11
11
|
partial: pickFirst(prerenderSettings.map((c) => c.partial)) ?? false,
|
|
12
|
+
redirects: pickFirst(prerenderSettings.map((c) => c.redirects)) ?? null,
|
|
12
13
|
noExtraDir: pickFirst(prerenderSettings.map((c) => c.noExtraDir)) ?? null,
|
|
13
14
|
keepDistServer: pickFirst(prerenderSettings.map((c) => c.keepDistServer)) ?? false,
|
|
14
15
|
parallel: pickFirst(prerenderSettings.map((c) => c.parallel)) ?? true,
|
|
15
|
-
disableAutoRun: pickFirst(prerenderSettings.map((c) => c.disableAutoRun)) ?? false
|
|
16
|
+
disableAutoRun: pickFirst(prerenderSettings.map((c) => c.disableAutoRun)) ?? false,
|
|
16
17
|
};
|
|
17
18
|
let defaultLocalValue = false;
|
|
18
19
|
{
|
|
@@ -34,7 +35,7 @@ function resolvePrerenderConfigGlobal(vikeConfig) {
|
|
|
34
35
|
isPrerenderingEnabledForAllPages: vikeConfig._pageConfigs.length > 0 &&
|
|
35
36
|
vikeConfig._pageConfigs.every((pageConfig) => resolvePrerenderConfigLocal(pageConfig)?.value ?? defaultLocalValue),
|
|
36
37
|
isPrerenderingEnabled: vikeConfig._pageConfigs.length > 0 &&
|
|
37
|
-
vikeConfig._pageConfigs.some((pageConfig) => resolvePrerenderConfigLocal(pageConfig)?.value ?? defaultLocalValue)
|
|
38
|
+
vikeConfig._pageConfigs.some((pageConfig) => resolvePrerenderConfigLocal(pageConfig)?.value ?? defaultLocalValue),
|
|
38
39
|
});
|
|
39
40
|
// TODO/next-major remove
|
|
40
41
|
if (vikeConfig._pageConfigs.length === 0 && defaultLocalValue)
|
|
@@ -4,6 +4,7 @@ export type { PrerenderContextPublic };
|
|
|
4
4
|
export type { PrerenderTrigger };
|
|
5
5
|
import type { PageFile } from '../../shared/getPageFiles.js';
|
|
6
6
|
import { type GlobalContextServerInternal } from '../runtime/globalContext.js';
|
|
7
|
+
import { type ResolvedConfig } from 'vite';
|
|
7
8
|
import type { APIOptions } from '../api/types.js';
|
|
8
9
|
type ProvidedByHook = null | {
|
|
9
10
|
hookFilePath: string;
|
|
@@ -16,7 +17,9 @@ type ProvidedByHookTransformer = null | {
|
|
|
16
17
|
type PageContextPrerendered = {
|
|
17
18
|
urlOriginal: string;
|
|
18
19
|
_providedByHook?: ProvidedByHook;
|
|
19
|
-
pageId: string;
|
|
20
|
+
pageId: string | null;
|
|
21
|
+
isRedirect?: true;
|
|
22
|
+
is404: boolean;
|
|
20
23
|
};
|
|
21
24
|
type PrerenderedPageContexts = Record<string, PageContextPrerendered>;
|
|
22
25
|
type PrerenderContextPublic = Pick<PrerenderContext, 'pageContexts' | 'output'>;
|
|
@@ -59,7 +62,7 @@ type PrerenderOptions = APIOptions & {
|
|
|
59
62
|
};
|
|
60
63
|
type PrerenderTrigger = '$ vike prerender' | 'prerender()' | 'auto-run';
|
|
61
64
|
declare function runPrerender(options: PrerenderOptions | undefined, trigger: PrerenderTrigger): Promise<{
|
|
62
|
-
viteConfig:
|
|
65
|
+
viteConfig: ResolvedConfig;
|
|
63
66
|
}>;
|
|
64
67
|
declare function createPageContextPrerendering(urlOriginal: string, prerenderContext: PrerenderContext, globalContext: GlobalContextServerInternal, is404: boolean, pageId: string | undefined, providedByHook: ProvidedByHook): Promise<((({
|
|
65
68
|
_isOriginalObject: true;
|
|
@@ -94,7 +97,7 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
|
|
|
94
97
|
_isPrerendering: false;
|
|
95
98
|
assetsManifest: null;
|
|
96
99
|
_viteDevServer: import("vite").ViteDevServer;
|
|
97
|
-
viteConfig:
|
|
100
|
+
viteConfig: ResolvedConfig;
|
|
98
101
|
viteConfigRuntime: {
|
|
99
102
|
root: string;
|
|
100
103
|
build: {
|
|
@@ -112,7 +115,7 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
|
|
|
112
115
|
_onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
|
|
113
116
|
} | {
|
|
114
117
|
_isPrerendering: true;
|
|
115
|
-
viteConfig:
|
|
118
|
+
viteConfig: ResolvedConfig;
|
|
116
119
|
_isProduction: true;
|
|
117
120
|
assetsManifest: import("../../types/ViteManifest.js").ViteManifest;
|
|
118
121
|
_viteDevServer: null;
|
|
@@ -215,7 +218,7 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
|
|
|
215
218
|
_isPrerendering: false;
|
|
216
219
|
assetsManifest: null;
|
|
217
220
|
_viteDevServer: import("vite").ViteDevServer;
|
|
218
|
-
viteConfig:
|
|
221
|
+
viteConfig: ResolvedConfig;
|
|
219
222
|
viteConfigRuntime: {
|
|
220
223
|
root: string;
|
|
221
224
|
build: {
|
|
@@ -233,7 +236,7 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
|
|
|
233
236
|
_onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
|
|
234
237
|
} | {
|
|
235
238
|
_isPrerendering: true;
|
|
236
|
-
viteConfig:
|
|
239
|
+
viteConfig: ResolvedConfig;
|
|
237
240
|
_isProduction: true;
|
|
238
241
|
assetsManifest: import("../../types/ViteManifest.js").ViteManifest;
|
|
239
242
|
_viteDevServer: null;
|
|
@@ -2,14 +2,14 @@ export { runPrerender };
|
|
|
2
2
|
// Failed attempt to run this file (i.e. pre-rendering) in a separate process: https://github.com/vikejs/vike/commit/48feda87012115b32a5c9701da354cb8c138dfd2
|
|
3
3
|
// - The issue is that prerenderContext needs to be serialized for being able to pass it from the child process to the parent process.
|
|
4
4
|
// - The prerenderContext is used by vike-vercel
|
|
5
|
-
import path from 'path';
|
|
5
|
+
import path from 'node:path';
|
|
6
6
|
import { route } from '../../shared/route/index.js';
|
|
7
|
-
import { assert, assertUsage, assertWarning, hasProp, objectAssign, isObjectWithKeys, isCallable, isPropertyGetter, assertPosixPath, urlToFile, isPlainObject, pLimit, isArray, onSetupPrerender, PROJECT_VERSION, preservePropertyGetters, changeEnumerable } from './utils.js';
|
|
7
|
+
import { assert, assertUsage, assertWarning, hasProp, objectAssign, isObjectWithKeys, isCallable, isPropertyGetter, assertPosixPath, urlToFile, isPlainObject, pLimit, isArray, onSetupPrerender, PROJECT_VERSION, preservePropertyGetters, changeEnumerable, escapeHtml, } from './utils.js';
|
|
8
8
|
import { prerenderPage } from '../runtime/renderPage/renderPageAlreadyRouted.js';
|
|
9
9
|
import { createPageContextServerSide } from '../runtime/renderPage/createPageContextServerSide.js';
|
|
10
10
|
import pc from '@brillout/picocolors';
|
|
11
|
-
import { cpus } from 'os';
|
|
12
|
-
import { getGlobalContextServerInternal, initGlobalContext_runPrerender, setGlobalContext_isPrerendering } from '../runtime/globalContext.js';
|
|
11
|
+
import { cpus } from 'node:os';
|
|
12
|
+
import { getGlobalContextServerInternal, initGlobalContext_runPrerender, setGlobalContext_isPrerendering, } from '../runtime/globalContext.js';
|
|
13
13
|
import { resolveConfig as resolveViteConfig } from 'vite';
|
|
14
14
|
import { getPageFilesServerSide } from '../../shared/getPageFiles.js';
|
|
15
15
|
import { getPageContextRequestUrl } from '../../shared/getPageContextRequestUrl.js';
|
|
@@ -19,7 +19,7 @@ import { loadConfigValues } from '../../shared/page-configs/loadConfigValues.js'
|
|
|
19
19
|
import { getErrorPageId, isErrorPage } from '../../shared/error-page.js';
|
|
20
20
|
import { isAbortError } from '../../shared/route/abort.js';
|
|
21
21
|
import { loadPageConfigsLazyServerSide } from '../runtime/renderPage/loadPageConfigsLazyServerSide.js';
|
|
22
|
-
import { getHookFromPageConfig, getHookFromPageConfigGlobal, getHookTimeoutDefault, getHook_setIsPrerenderering } from '../../shared/hooks/getHook.js';
|
|
22
|
+
import { getHookFromPageConfig, getHookFromPageConfigGlobal, getHookTimeoutDefault, getHook_setIsPrerenderering, } from '../../shared/hooks/getHook.js';
|
|
23
23
|
import { noRouteMatch } from '../../shared/route/noRouteMatch.js';
|
|
24
24
|
import { getVikeConfigInternal } from '../vite/shared/resolveVikeConfigInternal.js';
|
|
25
25
|
import { execHookWithoutPageContext, isUserHookError } from '../../shared/hooks/execHook.js';
|
|
@@ -28,6 +28,7 @@ import { resolvePrerenderConfigGlobal, resolvePrerenderConfigLocal } from './res
|
|
|
28
28
|
import { getOutDirs } from '../vite/shared/getOutDirs.js';
|
|
29
29
|
import fs from 'node:fs';
|
|
30
30
|
import { getProxyForPublicUsage } from '../../shared/getProxyForPublicUsage.js';
|
|
31
|
+
import { getStaticRedirectsForPrerender } from '../runtime/renderPage/resolveRedirects.js';
|
|
31
32
|
const docLink = 'https://vike.dev/i18n#pre-rendering';
|
|
32
33
|
async function runPrerender(options = {}, trigger) {
|
|
33
34
|
setWasPrerenderRun(trigger);
|
|
@@ -42,8 +43,7 @@ async function runPrerender(options = {}, trigger) {
|
|
|
42
43
|
await disableReactStreaming();
|
|
43
44
|
const viteConfig = await resolveViteConfig(options.viteConfig || {}, 'build', 'production');
|
|
44
45
|
const vikeConfig = await getVikeConfigInternal();
|
|
45
|
-
const {
|
|
46
|
-
const { root } = viteConfig;
|
|
46
|
+
const { outDirServer } = getOutDirs(viteConfig);
|
|
47
47
|
const prerenderConfigGlobal = resolvePrerenderConfigGlobal(vikeConfig);
|
|
48
48
|
const { partial, noExtraDir, parallel, defaultLocalValue, isPrerenderingEnabled } = prerenderConfigGlobal;
|
|
49
49
|
if (!isPrerenderingEnabled) {
|
|
@@ -67,7 +67,7 @@ async function runPrerender(options = {}, trigger) {
|
|
|
67
67
|
output: [],
|
|
68
68
|
_noExtraDir: noExtraDir,
|
|
69
69
|
_pageContextInit: options.pageContextInit ?? null,
|
|
70
|
-
_prerenderedPageContexts: {}
|
|
70
|
+
_prerenderedPageContexts: {},
|
|
71
71
|
};
|
|
72
72
|
const doNotPrerenderList = [];
|
|
73
73
|
await collectDoNoPrerenderList(vikeConfig._pageConfigs, doNotPrerenderList, defaultLocalValue, concurrencyLimit, globalContext);
|
|
@@ -88,12 +88,19 @@ async function runPrerender(options = {}, trigger) {
|
|
|
88
88
|
const onComplete = async (htmlFile) => {
|
|
89
89
|
prerenderedCount++;
|
|
90
90
|
const { pageId } = htmlFile.pageContext;
|
|
91
|
-
assert(pageId);
|
|
92
|
-
|
|
93
|
-
|
|
91
|
+
assert((typeof pageId === 'string' && pageId) || pageId === null);
|
|
92
|
+
if (pageId) {
|
|
93
|
+
prerenderContext._prerenderedPageContexts[pageId] = htmlFile.pageContext;
|
|
94
|
+
}
|
|
95
|
+
await writeFiles(htmlFile, viteConfig, options.onPagePrerender, prerenderContext, logLevel);
|
|
94
96
|
};
|
|
95
97
|
await prerenderPages(prerenderContext, concurrencyLimit, onComplete);
|
|
96
98
|
warnContradictoryNoPrerenderList(prerenderContext._prerenderedPageContexts, doNotPrerenderList);
|
|
99
|
+
const { redirects, isPrerenderingEnabledForAllPages } = prerenderConfigGlobal;
|
|
100
|
+
if (redirects !== null ? redirects : isPrerenderingEnabledForAllPages) {
|
|
101
|
+
const showWarningUponDynamicRedirects = !prerenderConfigGlobal.partial;
|
|
102
|
+
await prerenderRedirects(globalContext, onComplete, showWarningUponDynamicRedirects);
|
|
103
|
+
}
|
|
97
104
|
if (logLevel === 'info') {
|
|
98
105
|
console.log(`${pc.green(`✓`)} ${prerenderedCount} HTML documents pre-rendered.`);
|
|
99
106
|
}
|
|
@@ -176,7 +183,7 @@ async function callOnBeforePrerenderStartHooks(prerenderContext, globalContext,
|
|
|
176
183
|
hookName: 'onBeforePrerenderStart',
|
|
177
184
|
hookFilePath,
|
|
178
185
|
pageId: pageConfig.pageId,
|
|
179
|
-
hookTimeout
|
|
186
|
+
hookTimeout,
|
|
180
187
|
});
|
|
181
188
|
})));
|
|
182
189
|
// 0.4 design
|
|
@@ -201,7 +208,7 @@ async function callOnBeforePrerenderStartHooks(prerenderContext, globalContext,
|
|
|
201
208
|
hookName: 'prerender',
|
|
202
209
|
hookFilePath,
|
|
203
210
|
pageId: p.pageId,
|
|
204
|
-
hookTimeout: getHookTimeoutDefault('onBeforePrerenderStart')
|
|
211
|
+
hookTimeout: getHookTimeoutDefault('onBeforePrerenderStart'),
|
|
205
212
|
});
|
|
206
213
|
})));
|
|
207
214
|
await Promise.all(onBeforePrerenderStartHooks.map(({ pageId, ...hook }) => concurrencyLimit(async () => {
|
|
@@ -266,7 +273,7 @@ function getUrlList404(globalContext) {
|
|
|
266
273
|
urlList.push({
|
|
267
274
|
// A URL is required for `viteDevServer.transformIndexHtml(url,html)`
|
|
268
275
|
urlOriginal: '/404',
|
|
269
|
-
pageId: errorPageId
|
|
276
|
+
pageId: errorPageId,
|
|
270
277
|
});
|
|
271
278
|
}
|
|
272
279
|
return urlList;
|
|
@@ -284,10 +291,10 @@ async function createPageContexts(urlList, prerenderContext, globalContext, conc
|
|
|
284
291
|
async function createPageContextPrerendering(urlOriginal, prerenderContext, globalContext, is404, pageId, providedByHook) {
|
|
285
292
|
const pageContextInit = {
|
|
286
293
|
urlOriginal,
|
|
287
|
-
...prerenderContext._pageContextInit
|
|
294
|
+
...prerenderContext._pageContextInit,
|
|
288
295
|
};
|
|
289
296
|
const pageContext = await createPageContextServerSide(pageContextInit, globalContext, {
|
|
290
|
-
isPrerendering: true
|
|
297
|
+
isPrerendering: true,
|
|
291
298
|
});
|
|
292
299
|
assert(pageContext.isPrerendering === true);
|
|
293
300
|
objectAssign(pageContext, {
|
|
@@ -298,7 +305,7 @@ async function createPageContextPrerendering(urlOriginal, prerenderContext, glob
|
|
|
298
305
|
_prerenderContext: prerenderContext,
|
|
299
306
|
_providedByHook: providedByHook,
|
|
300
307
|
_urlOriginalModifiedByHook: null,
|
|
301
|
-
is404
|
|
308
|
+
is404,
|
|
302
309
|
});
|
|
303
310
|
if (!is404) {
|
|
304
311
|
const pageContextFromRoute = await route(pageContext);
|
|
@@ -312,7 +319,7 @@ async function createPageContextPrerendering(urlOriginal, prerenderContext, glob
|
|
|
312
319
|
objectAssign(pageContext, {
|
|
313
320
|
pageId,
|
|
314
321
|
_debugRouteMatches: [],
|
|
315
|
-
routeParams: {}
|
|
322
|
+
routeParams: {},
|
|
316
323
|
});
|
|
317
324
|
}
|
|
318
325
|
objectAssign(pageContext, await loadPageConfigsLazyServerSide(pageContext));
|
|
@@ -355,7 +362,7 @@ function assertRouteMatch(pageContextFromRoute, pageContext) {
|
|
|
355
362
|
assertUsage(false, `The ${hookName}() hook defined by ${hookFilePath} returns a URL ${pc.cyan(urlOriginal)} that ${noRouteMatch}. Make sure that the URLs returned by ${hookName}() always match the route of a page.`);
|
|
356
363
|
}
|
|
357
364
|
else {
|
|
358
|
-
// `prerenderHookFile` is `null` when the URL was deduced by the
|
|
365
|
+
// `prerenderHookFile` is `null` when the URL was deduced by the Filesystem Routing of `.page.js` files. The `onBeforeRoute()` can override Filesystem Routing; it is therefore expected that the deduced URL may not match any page.
|
|
359
366
|
assert(pageContextFromRoute._routingProvidedByOnBeforeRouteHook);
|
|
360
367
|
// Abort since the URL doesn't correspond to any page
|
|
361
368
|
return;
|
|
@@ -372,7 +379,7 @@ async function callOnPrerenderStartHook(prerenderContext, globalContext, concurr
|
|
|
372
379
|
onPrerenderStartHook = {
|
|
373
380
|
...hook,
|
|
374
381
|
// Make TypeScript happy
|
|
375
|
-
hookName
|
|
382
|
+
hookName,
|
|
376
383
|
};
|
|
377
384
|
}
|
|
378
385
|
}
|
|
@@ -385,7 +392,7 @@ async function callOnPrerenderStartHook(prerenderContext, globalContext, concurr
|
|
|
385
392
|
if (!p.exportNames?.includes('onBeforePrerender'))
|
|
386
393
|
return false;
|
|
387
394
|
assertUsage(p.fileType !== '.page.client', `${p.filePath} (which is a \`.page.client.js\` file) has \`export { onBeforePrerender }\` but it is only allowed in \`.page.server.js\` or \`.page.js\` files`);
|
|
388
|
-
assertUsage(p.isDefaultPageFile, `${p.filePath} has \`export { onBeforePrerender }\` but it is only allowed in \`
|
|
395
|
+
assertUsage(p.isDefaultPageFile, `${p.filePath} has \`export { onBeforePrerender }\` but it is only allowed in \`_default.page.\` files`);
|
|
389
396
|
return true;
|
|
390
397
|
});
|
|
391
398
|
if (pageFilesWithOnBeforePrerenderHook.length === 0) {
|
|
@@ -406,7 +413,7 @@ async function callOnPrerenderStartHook(prerenderContext, globalContext, concurr
|
|
|
406
413
|
hookFn: hook.onBeforePrerender,
|
|
407
414
|
hookFilePath: hook.hookFilePath,
|
|
408
415
|
hookName: 'onBeforePrerender',
|
|
409
|
-
hookTimeout
|
|
416
|
+
hookTimeout,
|
|
410
417
|
};
|
|
411
418
|
}
|
|
412
419
|
if (!onPrerenderStartHook) {
|
|
@@ -424,7 +431,7 @@ async function callOnPrerenderStartHook(prerenderContext, globalContext, concurr
|
|
|
424
431
|
return pageContext.urlOriginal;
|
|
425
432
|
},
|
|
426
433
|
enumerable: false,
|
|
427
|
-
configurable: true
|
|
434
|
+
configurable: true,
|
|
428
435
|
});
|
|
429
436
|
assert(isPropertyGetter(pageContext, 'url'));
|
|
430
437
|
assert(pageContext.urlOriginal);
|
|
@@ -455,8 +462,8 @@ async function callOnPrerenderStartHook(prerenderContext, globalContext, concurr
|
|
|
455
462
|
assertWarning(false, `${errPrefix} returns ${pc.cyan('{ globalContext: { prerenderPageContexts } }')} but the return value has been renamed to ${pc.cyan('{ prerenderContext: { pageContexts } }')}, see ${docLink}`, { onlyOnce: true });
|
|
456
463
|
result = {
|
|
457
464
|
prerenderContext: {
|
|
458
|
-
pageContexts: result.globalContext.prerenderPageContexts
|
|
459
|
-
}
|
|
465
|
+
pageContexts: result.globalContext.prerenderPageContexts,
|
|
466
|
+
},
|
|
460
467
|
};
|
|
461
468
|
}
|
|
462
469
|
assertUsage(isObjectWithKeys(result, ['prerenderContext']) &&
|
|
@@ -482,7 +489,7 @@ async function callOnPrerenderStartHook(prerenderContext, globalContext, concurr
|
|
|
482
489
|
if (pageContext.urlOriginal !== pageContext._urlOriginalBeforeHook && !pageContext.is404) {
|
|
483
490
|
pageContext._urlOriginalModifiedByHook = {
|
|
484
491
|
hookFilePath,
|
|
485
|
-
hookName
|
|
492
|
+
hookName,
|
|
486
493
|
};
|
|
487
494
|
const pageContextFromRoute = await route(pageContext,
|
|
488
495
|
// Avoid calling onBeforeRoute() twice, otherwise onBeforeRoute() will wrongfully believe URL doesn't have locale after onBeforeRoute() already removed the local from the URL when called the first time.
|
|
@@ -507,7 +514,6 @@ async function prerenderPages(prerenderContext, concurrencyLimit, onComplete) {
|
|
|
507
514
|
pageContext,
|
|
508
515
|
htmlString: documentHtml,
|
|
509
516
|
pageContextSerialized,
|
|
510
|
-
doNotCreateExtraDirectory: prerenderContext._noExtraDir ?? pageContext.is404
|
|
511
517
|
});
|
|
512
518
|
})));
|
|
513
519
|
}
|
|
@@ -536,23 +542,24 @@ async function warnMissingPages(prerenderedPageContexts, globalContext, doNotPre
|
|
|
536
542
|
.filter((pageId) => !isErrorPage(pageId, globalContext._pageConfigs))
|
|
537
543
|
.forEach((pageId) => {
|
|
538
544
|
const pageAt = isV1 ? pageId : `\`${pageId}.page.*\``;
|
|
539
|
-
assertWarning(partial, `Cannot pre-render page ${pageAt} because it has a non-static route, while
|
|
545
|
+
assertWarning(partial, `Cannot pre-render page ${pageAt} because it has a non-static route, while there isn't any ${hookName}() hook returning an URL matching the page's route. You must use a ${hookName}() hook (https://vike.dev/${hookName}) for providing the list of URLs to be pre-rendered for that page. If you want to skip pre-rendering that page, you can remove this warning by setting +prerender to false at ${pageAt} (https://vike.dev/prerender#toggle) or by setting +prerender.partial to true (https://vike.dev/prerender#partial).`, { onlyOnce: true });
|
|
540
546
|
});
|
|
541
547
|
}
|
|
542
|
-
async function writeFiles({ pageContext, htmlString, pageContextSerialized
|
|
543
|
-
const
|
|
544
|
-
assert(urlOriginal.startsWith('/'));
|
|
545
|
-
const writeJobs = [
|
|
546
|
-
write(urlOriginal, pageContext, 'HTML', htmlString, root, outDirClient, doNotCreateExtraDirectory, onPagePrerender, output, logLevel)
|
|
547
|
-
];
|
|
548
|
+
async function writeFiles({ pageContext, htmlString, pageContextSerialized }, viteConfig, onPagePrerender, prerenderContext, logLevel) {
|
|
549
|
+
const writeJobs = [write(pageContext, 'HTML', htmlString, viteConfig, onPagePrerender, prerenderContext, logLevel)];
|
|
548
550
|
if (pageContextSerialized !== null) {
|
|
549
|
-
writeJobs.push(write(
|
|
551
|
+
writeJobs.push(write(pageContext, 'JSON', pageContextSerialized, viteConfig, onPagePrerender, prerenderContext, logLevel));
|
|
550
552
|
}
|
|
551
553
|
await Promise.all(writeJobs);
|
|
552
554
|
}
|
|
553
|
-
async function write(
|
|
555
|
+
async function write(pageContext, fileType, fileContent, viteConfig, onPagePrerender, prerenderContext, logLevel) {
|
|
556
|
+
const { urlOriginal } = pageContext;
|
|
557
|
+
assert(urlOriginal.startsWith('/'));
|
|
558
|
+
const { outDirClient } = getOutDirs(viteConfig);
|
|
559
|
+
const { root } = viteConfig;
|
|
554
560
|
let fileUrl;
|
|
555
561
|
if (fileType === 'HTML') {
|
|
562
|
+
const doNotCreateExtraDirectory = prerenderContext._noExtraDir ?? pageContext.is404;
|
|
556
563
|
fileUrl = urlToFile(urlOriginal, '.html', doNotCreateExtraDirectory);
|
|
557
564
|
}
|
|
558
565
|
else {
|
|
@@ -563,7 +570,7 @@ async function write(urlOriginal, pageContext, fileType, fileContent, root, outD
|
|
|
563
570
|
assert(fileUrl.startsWith('/'));
|
|
564
571
|
const filePathRelative = fileUrl.slice(1);
|
|
565
572
|
assert(!filePathRelative.startsWith('/'),
|
|
566
|
-
//
|
|
573
|
+
// https://github.com/vikejs/vike/issues/1929
|
|
567
574
|
{ urlOriginal, fileUrl });
|
|
568
575
|
assertPosixPath(outDirClient);
|
|
569
576
|
assertPosixPath(filePathRelative);
|
|
@@ -571,20 +578,20 @@ async function write(urlOriginal, pageContext, fileType, fileContent, root, outD
|
|
|
571
578
|
objectAssign(pageContext, {
|
|
572
579
|
_prerenderResult: {
|
|
573
580
|
filePath,
|
|
574
|
-
fileContent
|
|
575
|
-
}
|
|
581
|
+
fileContent,
|
|
582
|
+
},
|
|
576
583
|
});
|
|
577
|
-
output.push({
|
|
584
|
+
prerenderContext.output.push({
|
|
578
585
|
filePath,
|
|
579
586
|
fileType,
|
|
580
587
|
fileContent,
|
|
581
|
-
pageContext
|
|
588
|
+
pageContext,
|
|
582
589
|
});
|
|
583
590
|
if (onPagePrerender) {
|
|
584
591
|
await onPagePrerender(pageContext);
|
|
585
592
|
}
|
|
586
593
|
else {
|
|
587
|
-
const { promises } = await import('fs');
|
|
594
|
+
const { promises } = await import('node:fs');
|
|
588
595
|
const { writeFile, mkdir } = promises;
|
|
589
596
|
await mkdir(path.posix.dirname(filePath), { recursive: true });
|
|
590
597
|
await writeFile(filePath, fileContent);
|
|
@@ -641,7 +648,7 @@ function checkOutdatedOptions(options) {
|
|
|
641
648
|
['base', 'outDir'].forEach((prop) => {
|
|
642
649
|
assertWarning(options[prop] === undefined, `[prerender()] Option ${pc.cyan(prop)} is outdated and has no effect (vike now automatically determines ${pc.cyan(prop)})`, {
|
|
643
650
|
showStackTrace: true,
|
|
644
|
-
onlyOnce: true
|
|
651
|
+
onlyOnce: true,
|
|
645
652
|
});
|
|
646
653
|
});
|
|
647
654
|
}
|
|
@@ -682,10 +689,10 @@ function preparePrerenderContextForPublicUsage(prerenderContext) {
|
|
|
682
689
|
get() {
|
|
683
690
|
assertWarning(false, `prerenderPageContexts has been renamed pageContexts, see ${pc.underline(docLink)}`, {
|
|
684
691
|
showStackTrace: true,
|
|
685
|
-
onlyOnce: true
|
|
692
|
+
onlyOnce: true,
|
|
686
693
|
});
|
|
687
694
|
return prerenderContext.pageContexts;
|
|
688
|
-
}
|
|
695
|
+
},
|
|
689
696
|
});
|
|
690
697
|
}
|
|
691
698
|
// Required because of https://vike.dev/i18n#pre-rendering
|
|
@@ -696,3 +703,41 @@ function preparePrerenderContextForPublicUsage(prerenderContext) {
|
|
|
696
703
|
const prerenderContextPublic = getProxyForPublicUsage(prerenderContext, 'prerenderContext');
|
|
697
704
|
return prerenderContextPublic;
|
|
698
705
|
}
|
|
706
|
+
async function prerenderRedirects(globalContext, onComplete, showWarningUponDynamicRedirects) {
|
|
707
|
+
const redirects = globalContext.config.redirects ?? [];
|
|
708
|
+
const redirectsStatic = getStaticRedirectsForPrerender(redirects, showWarningUponDynamicRedirects);
|
|
709
|
+
for (const [urlSource, urlTarget] of Object.entries(redirectsStatic)) {
|
|
710
|
+
const urlOriginal = urlSource;
|
|
711
|
+
const htmlString = getRedirectHtml(urlTarget);
|
|
712
|
+
await onComplete({
|
|
713
|
+
pageContext: { urlOriginal, pageId: null, is404: false, isRedirect: true },
|
|
714
|
+
htmlString,
|
|
715
|
+
pageContextSerialized: null,
|
|
716
|
+
});
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
function getRedirectHtml(urlTarget) {
|
|
720
|
+
const urlTargetSafe = escapeHtml(urlTarget);
|
|
721
|
+
// To test it: /test/playground => http://localhost:3000/download
|
|
722
|
+
const htmlString = `<!DOCTYPE html>
|
|
723
|
+
<html lang="en">
|
|
724
|
+
<head>
|
|
725
|
+
<meta charset="UTF-8">
|
|
726
|
+
<meta http-equiv="refresh" content="0;url=${urlTargetSafe}">
|
|
727
|
+
<title>Redirect ${urlTargetSafe}</title>
|
|
728
|
+
<style>body{opacity:0}</style>
|
|
729
|
+
<noscript>
|
|
730
|
+
<style>body{opacity:1}</style>
|
|
731
|
+
</noscript>
|
|
732
|
+
</head>
|
|
733
|
+
<body style="min-height: 100vh; margin: 0; font-family: sans-serif; display: flex; justify-content: center; align-items: center; transition: opacity 0.3s;">
|
|
734
|
+
<script>setTimeout(()=>{document.body.style.opacity=1},2000)</script>
|
|
735
|
+
<div>
|
|
736
|
+
<h1>Redirect <a href="${urlTargetSafe}"><code style="background-color: #eaeaea; padding: 3px 5px; border-radius: 4px;">${urlTargetSafe}</code></a></h1>
|
|
737
|
+
<p>If you aren't redirected, click the link above.</p>
|
|
738
|
+
<!-- This HTML was generated by Vike. -->
|
|
739
|
+
</div>
|
|
740
|
+
</body>
|
|
741
|
+
</html>`;
|
|
742
|
+
return htmlString;
|
|
743
|
+
}
|
|
@@ -48,6 +48,6 @@ function runPrerender_forceExit() {
|
|
|
48
48
|
process.exit(0);
|
|
49
49
|
/* I guess there is no need to tell the user about it? Let's see if a user complains.
|
|
50
50
|
* I don't known whether there is a way to call process.exit(0) only if needed, thus I'm not sure if there is a way to conditionally show a assertInfo().
|
|
51
|
-
assertInfo(false, "Pre-rendering was forced exit. (Didn't gracefully exit because the event queue isn't empty. This is
|
|
51
|
+
assertInfo(false, "Pre-rendering was forced exit. (Didn't gracefully exit because the event queue isn't empty. This is usually fine, see ...", { onlyOnce: false })
|
|
52
52
|
*/
|
|
53
53
|
}
|