vike 0.4.220 → 0.4.221-commit-8577456
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/__internal/index.js +5 -23
- package/dist/cjs/node/api/build.js +33 -24
- package/dist/cjs/node/api/context.js +6 -8
- package/dist/cjs/node/api/prepareViteApiCall.js +23 -21
- package/dist/cjs/node/api/prerender.js +1 -0
- package/dist/cjs/node/api/utils.js +2 -1
- package/dist/cjs/node/cli/context.js +16 -0
- package/dist/cjs/node/cli/entry.js +2 -0
- package/dist/cjs/node/cli/utils.js +1 -0
- package/dist/cjs/node/plugin/index.js +4 -8
- package/dist/cjs/node/plugin/onLoad.js +6 -1
- package/dist/cjs/node/plugin/plugins/autoFullBuild.js +34 -33
- package/dist/cjs/node/plugin/plugins/baseUrls.js +2 -2
- package/dist/cjs/node/plugin/plugins/buildApp.js +72 -0
- package/dist/cjs/node/plugin/plugins/buildConfig/fixServerAssets.js +12 -12
- package/dist/cjs/node/plugin/plugins/buildConfig.js +17 -12
- package/dist/cjs/node/plugin/plugins/buildEntry/index.js +28 -24
- package/dist/cjs/node/plugin/plugins/commonConfig.js +9 -7
- package/dist/cjs/node/plugin/plugins/extractAssetsPlugin.js +7 -4
- package/dist/cjs/node/plugin/plugins/extractExportNamesPlugin.js +2 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +15 -10
- package/dist/cjs/node/plugin/plugins/importUserCode/index.js +11 -6
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{assertExtensions.js → getVikeConfig/assertExtensions.js} +41 -36
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +59 -22
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{getConfigFileExport.js → getVikeConfig/getConfigFileExport.js} +2 -2
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.js +159 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +40 -23
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolvePointerImport.js +9 -64
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +11 -5
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +403 -590
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{debug.js → virtual-files/debug.js} +1 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{getVirtualFilePageConfigValuesAll.js → virtual-files/getVirtualFilePageConfigValuesAll.js} +12 -9
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{getVirtualFilePageConfigs.js → virtual-files/getVirtualFilePageConfigs.js} +13 -11
- package/dist/cjs/node/plugin/plugins/packageJsonFile.js +2 -2
- package/dist/cjs/node/plugin/plugins/previewConfig.js +7 -7
- package/dist/cjs/node/plugin/plugins/setGlobalContext.js +3 -5
- package/dist/cjs/node/plugin/shared/findPageFiles.js +2 -1
- package/dist/cjs/node/plugin/shared/getFullBuildInlineConfig.js +20 -0
- package/dist/cjs/{utils → node/plugin/shared}/getOutDirs.js +70 -61
- package/dist/cjs/node/plugin/{resolveClientEntriesDev.js → shared/resolveClientEntriesDev.js} +5 -8
- package/dist/cjs/{utils → node/plugin/shared}/viteIsSSR.js +2 -2
- package/dist/cjs/node/plugin/utils.js +1 -2
- package/dist/cjs/node/prerender/context.js +31 -0
- package/dist/cjs/node/prerender/resolvePrerenderConfig.js +46 -0
- package/dist/cjs/node/prerender/runPrerender.js +89 -68
- package/dist/cjs/node/prerender/utils.js +2 -2
- package/dist/cjs/node/runtime/globalContext.js +222 -150
- package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +11 -7
- package/dist/cjs/node/runtime/html/injectAssets/getViteDevScript.js +2 -3
- package/dist/cjs/node/runtime/html/injectAssets.js +4 -4
- package/dist/cjs/node/runtime/html/renderHtml.js +4 -5
- package/dist/cjs/node/runtime/page-files/setup.js +1 -1
- package/dist/cjs/node/runtime/renderPage/analyzePage.js +2 -3
- package/dist/cjs/node/runtime/renderPage/getEarlyHints.js +2 -27
- package/dist/cjs/node/runtime/renderPage/getPageAssets/sortPageAssetsForEarlyHintsHeader.js +2 -4
- package/dist/cjs/node/runtime/renderPage/getPageAssets.js +4 -4
- package/dist/cjs/node/runtime/renderPage/handleErrorWithoutErrorPage.js +3 -5
- package/dist/cjs/node/runtime/renderPage/isFontFallback.js +29 -0
- package/dist/cjs/node/runtime/renderPage/loadUserFilesServerSide.js +5 -4
- package/dist/cjs/node/runtime/renderPage/log404/index.js +1 -2
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +14 -10
- package/dist/cjs/node/runtime/renderPage/resolveRedirects.js +6 -5
- package/dist/cjs/node/runtime/renderPage.js +31 -29
- package/dist/cjs/node/runtime/utils.js +3 -3
- package/dist/cjs/node/runtime-dev/createDevMiddleware.js +5 -3
- package/dist/cjs/node/shared/resolveBase.js +7 -0
- package/dist/cjs/shared/getPageConfigsRuntime.js +20 -0
- package/dist/cjs/shared/getPageContextUrlComputed.js +6 -1
- package/dist/cjs/shared/getPageFiles/fileTypes.js +0 -1
- package/dist/cjs/shared/getPageFiles/getAllPageIdFiles.js +0 -3
- package/dist/cjs/shared/getPageFiles/getPageFileObject.js +0 -5
- package/dist/cjs/shared/getPageFiles/parseGlobResults.js +4 -3
- package/dist/cjs/shared/getPageFiles.js +1 -3
- package/dist/cjs/shared/page-configs/getPageConfigUserFriendly.js +15 -6
- package/dist/cjs/shared/page-configs/loadConfigValues.js +5 -1
- package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +69 -18
- package/dist/cjs/shared/route/loadPageRoutes.js +1 -0
- package/dist/cjs/shared/utils.js +0 -1
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/assertSetup.js +1 -1
- package/dist/cjs/utils/catchInfiniteLoop.js +34 -0
- package/dist/cjs/utils/debug.js +8 -6
- package/dist/cjs/utils/findFile.js +4 -3
- package/dist/cjs/utils/isDev.js +2 -2
- package/dist/cjs/utils/isFilePathAbsoluteFilesystem.js +2 -2
- package/dist/cjs/utils/makePublicCopy.js +32 -0
- package/dist/cjs/utils/objectAssignSafe.js +7 -0
- package/dist/cjs/utils/path.js +48 -0
- package/dist/cjs/utils/requireResolve.js +3 -3
- package/dist/esm/__internal/index.d.ts +2 -2
- package/dist/esm/__internal/index.js +7 -26
- package/dist/esm/client/client-routing-runtime/createPageContext.js +5 -9
- package/dist/esm/client/client-routing-runtime/history.d.ts +3 -1
- package/dist/esm/client/client-routing-runtime/history.js +23 -18
- package/dist/esm/client/client-routing-runtime/index.d.ts +0 -1
- package/dist/esm/client/client-routing-runtime/index.js +0 -1
- package/dist/esm/client/client-routing-runtime/initClientRouter.js +2 -2
- package/dist/esm/client/client-routing-runtime/initOnLinkClick.d.ts +0 -4
- package/dist/esm/client/client-routing-runtime/initOnLinkClick.js +0 -11
- package/dist/esm/client/client-routing-runtime/initOnPopState.d.ts +0 -10
- package/dist/esm/client/client-routing-runtime/initOnPopState.js +50 -70
- package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +15 -15
- package/dist/esm/client/client-routing-runtime/scrollRestoration.d.ts +4 -6
- package/dist/esm/client/client-routing-runtime/scrollRestoration.js +17 -12
- package/dist/esm/client/client-routing-runtime/setScrollPosition.d.ts +1 -1
- package/dist/esm/client/client-routing-runtime/setScrollPosition.js +29 -5
- package/dist/esm/client/client-routing-runtime/skipLink.d.ts +0 -2
- package/dist/esm/client/client-routing-runtime/skipLink.js +0 -1
- package/dist/esm/client/client-routing-runtime/utils.d.ts +1 -0
- package/dist/esm/client/client-routing-runtime/utils.js +1 -0
- package/dist/esm/client/server-routing-runtime/getPageContext.js +3 -4
- package/dist/esm/client/shared/loadUserFilesClientSide.js +3 -2
- package/dist/esm/node/api/build.d.ts +1 -6
- package/dist/esm/node/api/build.js +31 -25
- package/dist/esm/node/api/context.d.ts +4 -4
- package/dist/esm/node/api/context.js +6 -9
- package/dist/esm/node/api/prepareViteApiCall.d.ts +4 -3
- package/dist/esm/node/api/prepareViteApiCall.js +24 -22
- package/dist/esm/node/api/prerender.js +1 -0
- package/dist/esm/node/api/utils.d.ts +2 -1
- package/dist/esm/node/api/utils.js +2 -1
- package/dist/esm/node/cli/context.d.ts +5 -0
- package/dist/esm/node/cli/context.js +14 -0
- package/dist/esm/node/cli/entry.js +2 -0
- package/dist/esm/node/cli/parseCli.d.ts +3 -1
- package/dist/esm/node/cli/utils.d.ts +1 -0
- package/dist/esm/node/cli/utils.js +1 -0
- package/dist/esm/node/plugin/index.d.ts +29 -1
- package/dist/esm/node/plugin/index.js +5 -9
- package/dist/esm/node/plugin/onLoad.js +7 -2
- package/dist/esm/node/plugin/plugins/autoFullBuild.js +35 -34
- package/dist/esm/node/plugin/plugins/baseUrls.js +2 -2
- package/dist/esm/node/plugin/plugins/buildApp.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/buildApp.js +70 -0
- package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.d.ts +0 -2
- package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.js +11 -11
- package/dist/esm/node/plugin/plugins/buildConfig.js +16 -11
- package/dist/esm/node/plugin/plugins/buildEntry/index.d.ts +3 -3
- package/dist/esm/node/plugin/plugins/buildEntry/index.js +28 -24
- package/dist/esm/node/plugin/plugins/commonConfig.d.ts +8 -2
- package/dist/esm/node/plugin/plugins/commonConfig.js +7 -5
- package/dist/esm/node/plugin/plugins/extractAssetsPlugin.js +6 -3
- package/dist/esm/node/plugin/plugins/extractExportNamesPlugin.js +2 -1
- package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.d.ts +2 -2
- package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +14 -9
- package/dist/esm/node/plugin/plugins/importUserCode/index.js +11 -6
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/assertExtensions.d.ts +6 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{assertExtensions.js → getVikeConfig/assertExtensions.js} +41 -36
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.d.ts +2 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +58 -21
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{getConfigFileExport.js → getVikeConfig/getConfigFileExport.js} +2 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.d.ts +39 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.js +154 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.d.ts +15 -9
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +41 -24
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolvePointerImport.d.ts +8 -18
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolvePointerImport.js +10 -65
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.d.ts +6 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +12 -6
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +10 -122
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +407 -594
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{debug.js → virtual-files/debug.js} +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{getVirtualFilePageConfigValuesAll.js → virtual-files/getVirtualFilePageConfigValuesAll.js} +12 -9
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{getVirtualFilePageConfigs.js → virtual-files/getVirtualFilePageConfigs.js} +13 -11
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{isRuntimeEnvMatch.d.ts → virtual-files/isRuntimeEnvMatch.d.ts} +1 -1
- package/dist/esm/node/plugin/plugins/packageJsonFile.js +1 -1
- package/dist/esm/node/plugin/plugins/previewConfig.js +5 -5
- package/dist/esm/node/plugin/plugins/setGlobalContext.js +4 -6
- package/dist/esm/node/plugin/shared/findPageFiles.js +2 -1
- package/dist/esm/node/plugin/shared/getFullBuildInlineConfig.d.ts +2 -0
- package/dist/esm/node/plugin/shared/getFullBuildInlineConfig.js +17 -0
- package/dist/esm/{utils → node/plugin/shared}/getOutDirs.d.ts +1 -1
- package/dist/esm/{utils → node/plugin/shared}/getOutDirs.js +52 -43
- package/dist/esm/node/plugin/{resolveClientEntriesDev.js → shared/resolveClientEntriesDev.js} +5 -8
- package/dist/esm/{utils → node/plugin/shared}/viteIsSSR.d.ts +2 -5
- package/dist/esm/{utils → node/plugin/shared}/viteIsSSR.js +2 -2
- package/dist/esm/node/plugin/utils.d.ts +0 -1
- package/dist/esm/node/plugin/utils.js +1 -2
- package/dist/esm/node/prerender/context.d.ts +11 -0
- package/dist/esm/node/prerender/context.js +29 -0
- package/dist/esm/node/prerender/resolvePrerenderConfig.d.ts +12 -0
- package/dist/esm/node/prerender/resolvePrerenderConfig.js +44 -0
- package/dist/esm/node/prerender/runPrerender.d.ts +42 -1
- package/dist/esm/node/prerender/runPrerender.js +90 -69
- package/dist/esm/node/prerender/utils.d.ts +2 -2
- package/dist/esm/node/prerender/utils.js +2 -2
- package/dist/esm/node/runtime/globalContext.d.ts +44 -36
- package/dist/esm/node/runtime/globalContext.js +223 -151
- package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.d.ts +1 -1
- package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +11 -7
- package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.d.ts +4 -1
- package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.js +2 -3
- package/dist/esm/node/runtime/html/injectAssets.d.ts +2 -0
- package/dist/esm/node/runtime/html/injectAssets.js +4 -4
- package/dist/esm/node/runtime/html/renderHtml.js +4 -5
- package/dist/esm/node/runtime/page-files/setup.js +1 -1
- package/dist/esm/node/runtime/renderPage/analyzePage.d.ts +2 -1
- package/dist/esm/node/runtime/renderPage/analyzePage.js +2 -3
- package/dist/esm/node/runtime/renderPage/getEarlyHints.js +1 -26
- package/dist/esm/node/runtime/renderPage/getPageAssets/sortPageAssetsForEarlyHintsHeader.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/getPageAssets/sortPageAssetsForEarlyHintsHeader.js +2 -4
- package/dist/esm/node/runtime/renderPage/getPageAssets.d.ts +3 -1
- package/dist/esm/node/runtime/renderPage/getPageAssets.js +4 -4
- package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.d.ts +2 -0
- package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.js +3 -5
- package/dist/esm/node/runtime/renderPage/isFontFallback.d.ts +3 -0
- package/dist/esm/node/runtime/renderPage/isFontFallback.js +27 -0
- package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.d.ts +2 -0
- package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.js +6 -5
- package/dist/esm/node/runtime/renderPage/log404/index.d.ts +2 -0
- package/dist/esm/node/runtime/renderPage/log404/index.js +1 -2
- package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +3 -0
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +26 -10
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +14 -10
- package/dist/esm/node/runtime/renderPage/resolveRedirects.d.ts +2 -0
- package/dist/esm/node/runtime/renderPage/resolveRedirects.js +5 -5
- package/dist/esm/node/runtime/renderPage.js +32 -30
- package/dist/esm/node/runtime/utils.d.ts +3 -3
- package/dist/esm/node/runtime/utils.js +3 -3
- package/dist/esm/node/runtime-dev/createDevMiddleware.js +5 -3
- package/dist/esm/node/shared/resolveBase.d.ts +5 -1
- package/dist/esm/node/shared/resolveBase.js +7 -0
- package/dist/esm/shared/getPageConfigsRuntime.d.ts +13 -0
- package/dist/esm/shared/getPageConfigsRuntime.js +18 -0
- package/dist/esm/shared/getPageContextUrlComputed.js +6 -1
- package/dist/esm/shared/getPageFiles/fileTypes.js +1 -2
- package/dist/esm/shared/getPageFiles/getAllPageIdFiles.js +0 -3
- package/dist/esm/shared/getPageFiles/getPageFileObject.js +0 -5
- package/dist/esm/shared/getPageFiles/parseGlobResults.d.ts +1 -1
- package/dist/esm/shared/getPageFiles/parseGlobResults.js +4 -3
- package/dist/esm/shared/getPageFiles.d.ts +0 -1
- package/dist/esm/shared/getPageFiles.js +0 -1
- package/dist/esm/shared/page-configs/Config.d.ts +83 -3
- package/dist/esm/shared/page-configs/PageConfig.d.ts +30 -18
- package/dist/esm/shared/page-configs/getPageConfigUserFriendly.d.ts +6 -8
- package/dist/esm/shared/page-configs/getPageConfigUserFriendly.js +15 -6
- package/dist/esm/shared/page-configs/loadConfigValues.js +6 -2
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.d.ts +7 -1
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +70 -19
- package/dist/esm/shared/route/loadPageRoutes.js +1 -0
- package/dist/esm/shared/utils.d.ts +0 -1
- package/dist/esm/shared/utils.js +0 -1
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/assertSetup.js +1 -1
- package/dist/esm/utils/catchInfiniteLoop.d.ts +2 -0
- package/dist/esm/utils/catchInfiniteLoop.js +32 -0
- package/dist/esm/utils/debug.d.ts +1 -1
- package/dist/esm/utils/debug.js +8 -6
- package/dist/esm/utils/findFile.js +2 -1
- package/dist/esm/utils/isDev.js +3 -3
- package/dist/esm/utils/isFilePathAbsoluteFilesystem.js +1 -1
- package/dist/esm/utils/makePublicCopy.d.ts +3 -0
- package/dist/esm/utils/makePublicCopy.js +30 -0
- package/dist/esm/utils/objectAssignSafe.d.ts +1 -0
- package/dist/esm/utils/objectAssignSafe.js +4 -0
- package/dist/esm/utils/path.d.ts +14 -0
- package/dist/esm/utils/path.js +46 -0
- package/dist/esm/utils/projectInfo.d.ts +1 -1
- package/dist/esm/utils/requireResolve.js +1 -1
- package/package.json +2 -2
- package/dist/cjs/node/plugin/plugins/buildEntry/getVikeManifest.js +0 -17
- package/dist/cjs/node/plugin/plugins/importUserCode/addImportStatement.js +0 -29
- package/dist/cjs/node/prerender/isPrerenderAutoRunEnabled.js +0 -16
- package/dist/cjs/node/shared/assertPluginManifest.js +0 -20
- package/dist/cjs/node/shared/assertRuntimeManifest.js +0 -16
- package/dist/cjs/shared/assertPageFilePath.js +0 -11
- package/dist/cjs/shared/getPageFiles/getPageFiles.js +0 -48
- package/dist/cjs/utils/filesystemPathHandling.js +0 -18
- package/dist/cjs/utils/path-shim.js +0 -19
- package/dist/esm/node/plugin/plugins/buildEntry/getVikeManifest.d.ts +0 -5
- package/dist/esm/node/plugin/plugins/buildEntry/getVikeManifest.js +0 -15
- package/dist/esm/node/plugin/plugins/importUserCode/addImportStatement.d.ts +0 -14
- package/dist/esm/node/plugin/plugins/importUserCode/addImportStatement.js +0 -27
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/assertExtensions.d.ts +0 -5
- package/dist/esm/node/prerender/isPrerenderAutoRunEnabled.d.ts +0 -5
- package/dist/esm/node/prerender/isPrerenderAutoRunEnabled.js +0 -14
- package/dist/esm/node/shared/assertPluginManifest.d.ts +0 -12
- package/dist/esm/node/shared/assertPluginManifest.js +0 -18
- package/dist/esm/node/shared/assertRuntimeManifest.d.ts +0 -10
- package/dist/esm/node/shared/assertRuntimeManifest.js +0 -14
- package/dist/esm/shared/assertPageFilePath.d.ts +0 -2
- package/dist/esm/shared/assertPageFilePath.js +0 -9
- package/dist/esm/shared/getPageFiles/getPageFiles.d.ts +0 -15
- package/dist/esm/shared/getPageFiles/getPageFiles.js +0 -46
- package/dist/esm/utils/filesystemPathHandling.d.ts +0 -4
- package/dist/esm/utils/filesystemPathHandling.js +0 -16
- package/dist/esm/utils/path-shim.d.ts +0 -2
- package/dist/esm/utils/path-shim.js +0 -17
- /package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{isRuntimeEnvMatch.js → virtual-files/isRuntimeEnvMatch.js} +0 -0
- /package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{getConfigFileExport.d.ts → getVikeConfig/getConfigFileExport.d.ts} +0 -0
- /package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{debug.d.ts → virtual-files/debug.d.ts} +0 -0
- /package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{getVirtualFilePageConfigValuesAll.d.ts → virtual-files/getVirtualFilePageConfigValuesAll.d.ts} +0 -0
- /package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{getVirtualFilePageConfigs.d.ts → virtual-files/getVirtualFilePageConfigs.d.ts} +0 -0
- /package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{isRuntimeEnvMatch.js → virtual-files/isRuntimeEnvMatch.js} +0 -0
- /package/dist/esm/node/plugin/{resolveClientEntriesDev.d.ts → shared/resolveClientEntriesDev.d.ts} +0 -0
|
@@ -51,7 +51,6 @@ const vite_1 = require("vite");
|
|
|
51
51
|
const getPageFiles_js_1 = require("../../shared/getPageFiles.js");
|
|
52
52
|
const getPageContextRequestUrl_js_1 = require("../../shared/getPageContextRequestUrl.js");
|
|
53
53
|
const resolveRouteString_js_1 = require("../../shared/route/resolveRouteString.js");
|
|
54
|
-
const helpers_js_1 = require("../../shared/page-configs/helpers.js");
|
|
55
54
|
const getConfigValueRuntime_js_1 = require("../../shared/page-configs/getConfigValueRuntime.js");
|
|
56
55
|
const loadConfigValues_js_1 = require("../../shared/page-configs/loadConfigValues.js");
|
|
57
56
|
const error_page_js_1 = require("../../shared/error-page.js");
|
|
@@ -63,8 +62,12 @@ const noRouteMatch_js_1 = require("../../shared/route/noRouteMatch.js");
|
|
|
63
62
|
const getVikeConfig_js_1 = require("../plugin/plugins/importUserCode/v1-design/getVikeConfig.js");
|
|
64
63
|
const logErrorHint_js_1 = require("../runtime/renderPage/logErrorHint.js");
|
|
65
64
|
const executeHook_js_1 = require("../../shared/hooks/executeHook.js");
|
|
66
|
-
const getConfigValueBuildTime_js_1 = require("../../shared/page-configs/getConfigValueBuildTime.js");
|
|
67
65
|
const prepareViteApiCall_js_1 = require("../api/prepareViteApiCall.js");
|
|
66
|
+
const context_js_1 = require("./context.js");
|
|
67
|
+
const resolvePrerenderConfig_js_1 = require("./resolvePrerenderConfig.js");
|
|
68
|
+
const getOutDirs_js_1 = require("../plugin/shared/getOutDirs.js");
|
|
69
|
+
const context_js_2 = require("../cli/context.js");
|
|
70
|
+
const isViteCliCall_js_1 = require("../plugin/shared/isViteCliCall.js");
|
|
68
71
|
async function runPrerenderFromAPI(options = {}) {
|
|
69
72
|
return await runPrerender(options, 'prerender()');
|
|
70
73
|
// - 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.
|
|
@@ -82,18 +85,25 @@ async function runPrerenderFromCLIPrerenderCommand() {
|
|
|
82
85
|
process.exit(1);
|
|
83
86
|
}
|
|
84
87
|
runPrerender_forceExit();
|
|
88
|
+
(0, utils_js_1.assert)(false);
|
|
85
89
|
}
|
|
86
|
-
async function runPrerenderFromAutoRun(viteConfig) {
|
|
90
|
+
async function runPrerenderFromAutoRun(viteConfig, config) {
|
|
91
|
+
let prerenderContextPublic;
|
|
87
92
|
try {
|
|
88
|
-
await runPrerender({ viteConfig });
|
|
93
|
+
const ret = await runPrerender({ viteConfig });
|
|
94
|
+
prerenderContextPublic = ret.prerenderContextPublic;
|
|
89
95
|
}
|
|
90
96
|
catch (err) {
|
|
91
97
|
console.error(err);
|
|
92
98
|
(0, logErrorHint_js_1.logErrorHint)(err);
|
|
93
99
|
process.exit(1);
|
|
94
100
|
}
|
|
101
|
+
config.vike.prerenderContext = prerenderContextPublic;
|
|
102
|
+
const forceExit = (0, context_js_2.isVikeCli)() || (0, isViteCliCall_js_1.isViteCliCall)();
|
|
103
|
+
return { forceExit };
|
|
95
104
|
}
|
|
96
105
|
async function runPrerender(options = {}, standaloneTrigger) {
|
|
106
|
+
(0, context_js_1.setContextIsPrerendering)();
|
|
97
107
|
checkOutdatedOptions(options);
|
|
98
108
|
(0, utils_js_1.onSetupPrerender)();
|
|
99
109
|
(0, globalContext_js_1.setGlobalContext_isPrerendering)();
|
|
@@ -105,9 +115,9 @@ async function runPrerender(options = {}, standaloneTrigger) {
|
|
|
105
115
|
await disableReactStreaming();
|
|
106
116
|
const viteConfig = await (0, vite_1.resolveConfig)(options.viteConfig || {}, 'build', 'production');
|
|
107
117
|
const vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig)(viteConfig);
|
|
108
|
-
const { outDirClient } = (0,
|
|
118
|
+
const { outDirClient } = (0, getOutDirs_js_1.getOutDirs)(viteConfig);
|
|
109
119
|
const { root } = viteConfig;
|
|
110
|
-
const prerenderConfig = vikeConfig
|
|
120
|
+
const prerenderConfig = (0, resolvePrerenderConfig_js_1.resolvePrerenderConfig)(vikeConfig);
|
|
111
121
|
validatePrerenderConfig(prerenderConfig);
|
|
112
122
|
if (!prerenderConfig) {
|
|
113
123
|
(0, utils_js_1.assert)(standaloneTrigger);
|
|
@@ -118,46 +128,47 @@ async function runPrerender(options = {}, standaloneTrigger) {
|
|
|
118
128
|
const { partial = false, noExtraDir = false, parallel = true } = prerenderConfig || {};
|
|
119
129
|
const concurrencyLimit = (0, utils_js_1.pLimit)(parallel === false || parallel === 0 ? 1 : parallel === true || parallel === undefined ? (0, os_1.cpus)().length : parallel);
|
|
120
130
|
await (0, globalContext_js_1.initGlobalContext_runPrerender)();
|
|
121
|
-
const globalContext = (0, globalContext_js_1.
|
|
131
|
+
const globalContext = await (0, globalContext_js_1.getGlobalContextInternal)();
|
|
122
132
|
globalContext.pageFilesAll.forEach(assertExportNames);
|
|
123
|
-
const prerenderContext = {
|
|
124
|
-
|
|
125
|
-
_urlHandler: null,
|
|
126
|
-
_noExtraDir: noExtraDir ?? false,
|
|
133
|
+
const prerenderContext = {
|
|
134
|
+
noExtraDir: noExtraDir ?? false,
|
|
127
135
|
pageContexts: [],
|
|
128
|
-
pageContextInit: options.pageContextInit ?? null
|
|
129
|
-
|
|
136
|
+
pageContextInit: options.pageContextInit ?? null,
|
|
137
|
+
prerenderedPageContexts: {},
|
|
138
|
+
output: []
|
|
139
|
+
};
|
|
130
140
|
const doNotPrerenderList = [];
|
|
131
|
-
await collectDoNoPrerenderList(vikeConfig.pageConfigs, doNotPrerenderList, concurrencyLimit);
|
|
132
|
-
await callOnBeforePrerenderStartHooks(prerenderContext, concurrencyLimit, doNotPrerenderList);
|
|
133
|
-
await handlePagesWithStaticRoutes(prerenderContext, doNotPrerenderList, concurrencyLimit);
|
|
134
|
-
await callOnPrerenderStartHook(prerenderContext);
|
|
135
|
-
const prerenderedPageContexts = {};
|
|
141
|
+
await collectDoNoPrerenderList(vikeConfig.pageConfigs, doNotPrerenderList, concurrencyLimit, globalContext);
|
|
142
|
+
await callOnBeforePrerenderStartHooks(prerenderContext, globalContext, concurrencyLimit, doNotPrerenderList);
|
|
143
|
+
await handlePagesWithStaticRoutes(prerenderContext, globalContext, doNotPrerenderList, concurrencyLimit);
|
|
144
|
+
await callOnPrerenderStartHook(prerenderContext, globalContext);
|
|
136
145
|
let prerenderedCount = 0;
|
|
146
|
+
// Write files as soon as pages finish rendering (instead of writing all files at once only after all pages have rendered).
|
|
137
147
|
const onComplete = async (htmlFile) => {
|
|
138
148
|
prerenderedCount++;
|
|
139
149
|
if (htmlFile.pageId) {
|
|
140
|
-
prerenderedPageContexts[htmlFile.pageId] = htmlFile.pageContext;
|
|
150
|
+
prerenderContext.prerenderedPageContexts[htmlFile.pageId] = htmlFile.pageContext;
|
|
141
151
|
}
|
|
142
|
-
await writeFiles(htmlFile, root, outDirClient, options.onPagePrerender, logLevel);
|
|
152
|
+
await writeFiles(htmlFile, root, outDirClient, options.onPagePrerender, prerenderContext.output, logLevel);
|
|
143
153
|
};
|
|
144
|
-
await routeAndPrerender(prerenderContext, concurrencyLimit, onComplete);
|
|
145
|
-
warnContradictoryNoPrerenderList(prerenderedPageContexts, doNotPrerenderList);
|
|
146
|
-
await prerender404(
|
|
154
|
+
await routeAndPrerender(prerenderContext, globalContext, concurrencyLimit, onComplete);
|
|
155
|
+
warnContradictoryNoPrerenderList(prerenderContext.prerenderedPageContexts, doNotPrerenderList);
|
|
156
|
+
await prerender404(prerenderContext, globalContext, onComplete);
|
|
147
157
|
if (logLevel === 'info') {
|
|
148
158
|
console.log(`${picocolors_1.default.green(`✓`)} ${prerenderedCount} HTML documents pre-rendered.`);
|
|
149
159
|
}
|
|
150
|
-
warnMissingPages(prerenderedPageContexts, doNotPrerenderList, partial);
|
|
151
|
-
|
|
160
|
+
await warnMissingPages(prerenderContext.prerenderedPageContexts, globalContext, doNotPrerenderList, partial);
|
|
161
|
+
const prerenderContextPublic = makePublic(prerenderContext);
|
|
162
|
+
return { viteConfig, prerenderContextPublic };
|
|
152
163
|
}
|
|
153
|
-
async function collectDoNoPrerenderList(pageConfigs, doNotPrerenderList, concurrencyLimit) {
|
|
164
|
+
async function collectDoNoPrerenderList(pageConfigs, doNotPrerenderList, concurrencyLimit, globalContext) {
|
|
154
165
|
// V1 design
|
|
155
166
|
pageConfigs.forEach((pageConfig) => {
|
|
156
|
-
const
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
167
|
+
const configValue = (0, resolvePrerenderConfig_js_1.resolvePrerenderConfigLocal)(pageConfig);
|
|
168
|
+
if (!configValue)
|
|
169
|
+
return;
|
|
170
|
+
const { value, configValueFilePathToShowToUser } = configValue;
|
|
171
|
+
if (value === false) {
|
|
161
172
|
doNotPrerenderList.push({
|
|
162
173
|
pageId: pageConfig.pageId,
|
|
163
174
|
setByConfigName: 'prerender',
|
|
@@ -168,7 +179,6 @@ async function collectDoNoPrerenderList(pageConfigs, doNotPrerenderList, concurr
|
|
|
168
179
|
});
|
|
169
180
|
// Old design
|
|
170
181
|
// TODO/v1-release: remove
|
|
171
|
-
const globalContext = (0, globalContext_js_1.getGlobalContext)();
|
|
172
182
|
await Promise.all(globalContext.pageFilesAll
|
|
173
183
|
.filter((p) => {
|
|
174
184
|
assertExportNames(p);
|
|
@@ -211,9 +221,8 @@ function assertExportNames(pageFile) {
|
|
|
211
221
|
const { exportNames, fileType } = pageFile;
|
|
212
222
|
(0, utils_js_1.assert)(exportNames || fileType === '.page.route' || fileType === '.css', pageFile.filePath);
|
|
213
223
|
}
|
|
214
|
-
async function callOnBeforePrerenderStartHooks(prerenderContext, concurrencyLimit, doNotPrerenderList) {
|
|
224
|
+
async function callOnBeforePrerenderStartHooks(prerenderContext, globalContext, concurrencyLimit, doNotPrerenderList) {
|
|
215
225
|
const onBeforePrerenderStartHooks = [];
|
|
216
|
-
const globalContext = (0, globalContext_js_1.getGlobalContext)();
|
|
217
226
|
// V1 design
|
|
218
227
|
await Promise.all(globalContext.pageConfigs.map((pageConfig) => concurrencyLimit(async () => {
|
|
219
228
|
const hookName = 'onBeforePrerenderStart';
|
|
@@ -261,7 +270,7 @@ async function callOnBeforePrerenderStartHooks(prerenderContext, concurrencyLimi
|
|
|
261
270
|
}
|
|
262
271
|
const prerenderResult = await (0, executeHook_js_1.executeHook)(() => hookFn(), { hookName, hookFilePath, hookTimeout }, null);
|
|
263
272
|
const result = normalizeOnPrerenderHookResult(prerenderResult, hookFilePath, hookName);
|
|
264
|
-
result.
|
|
273
|
+
await Promise.all(result.map(async ({ url, pageContext }) => {
|
|
265
274
|
{
|
|
266
275
|
const pageContextFound = prerenderContext.pageContexts.find((pageContext) => isSameUrl(pageContext.urlOriginal, url));
|
|
267
276
|
if (pageContextFound) {
|
|
@@ -272,7 +281,7 @@ async function callOnBeforePrerenderStartHooks(prerenderContext, concurrencyLimi
|
|
|
272
281
|
(0, utils_js_1.assertUsage)(false, `URL ${picocolors_1.default.cyan(url)} provided ${providedTwice}. Make sure to provide the URL only once instead.`);
|
|
273
282
|
}
|
|
274
283
|
}
|
|
275
|
-
const pageContextNew = createPageContext(url, prerenderContext);
|
|
284
|
+
const pageContextNew = await createPageContext(url, prerenderContext, globalContext);
|
|
276
285
|
(0, utils_js_1.objectAssign)(pageContextNew, {
|
|
277
286
|
_providedByHook: {
|
|
278
287
|
hookFilePath,
|
|
@@ -286,12 +295,11 @@ async function callOnBeforePrerenderStartHooks(prerenderContext, concurrencyLimi
|
|
|
286
295
|
});
|
|
287
296
|
(0, utils_js_1.objectAssign)(pageContextNew, pageContext);
|
|
288
297
|
}
|
|
289
|
-
});
|
|
298
|
+
}));
|
|
290
299
|
})));
|
|
291
300
|
}
|
|
292
|
-
async function handlePagesWithStaticRoutes(prerenderContext, doNotPrerenderList, concurrencyLimit) {
|
|
301
|
+
async function handlePagesWithStaticRoutes(prerenderContext, globalContext, doNotPrerenderList, concurrencyLimit) {
|
|
293
302
|
// Pre-render pages with a static route
|
|
294
|
-
const globalContext = (0, globalContext_js_1.getGlobalContext)();
|
|
295
303
|
await Promise.all(globalContext.pageRoutes.map((pageRoute) => concurrencyLimit(async () => {
|
|
296
304
|
const { pageId } = pageRoute;
|
|
297
305
|
if (doNotPrerenderList.find((p) => p.pageId === pageId)) {
|
|
@@ -317,7 +325,7 @@ async function handlePagesWithStaticRoutes(prerenderContext, doNotPrerenderList,
|
|
|
317
325
|
return;
|
|
318
326
|
}
|
|
319
327
|
const routeParams = {};
|
|
320
|
-
const pageContext = createPageContext(urlOriginal, prerenderContext);
|
|
328
|
+
const pageContext = await createPageContext(urlOriginal, prerenderContext, globalContext);
|
|
321
329
|
(0, utils_js_1.objectAssign)(pageContext, {
|
|
322
330
|
_providedByHook: null,
|
|
323
331
|
routeParams,
|
|
@@ -335,11 +343,11 @@ async function handlePagesWithStaticRoutes(prerenderContext, doNotPrerenderList,
|
|
|
335
343
|
prerenderContext.pageContexts.push(pageContext);
|
|
336
344
|
})));
|
|
337
345
|
}
|
|
338
|
-
function createPageContext(urlOriginal, prerenderContext) {
|
|
346
|
+
async function createPageContext(urlOriginal, prerenderContext, globalContext) {
|
|
339
347
|
const pageContext = {
|
|
340
348
|
_urlHandler: null,
|
|
341
349
|
_urlRewrite: null,
|
|
342
|
-
_noExtraDir: prerenderContext.
|
|
350
|
+
_noExtraDir: prerenderContext.noExtraDir,
|
|
343
351
|
_prerenderContext: prerenderContext
|
|
344
352
|
};
|
|
345
353
|
const pageContextInit = {
|
|
@@ -347,13 +355,12 @@ function createPageContext(urlOriginal, prerenderContext) {
|
|
|
347
355
|
};
|
|
348
356
|
(0, utils_js_1.objectAssign)(pageContextInit, prerenderContext.pageContextInit);
|
|
349
357
|
{
|
|
350
|
-
const pageContextInitEnhanced = (0, renderPageAlreadyRouted_js_1.getPageContextInitEnhanced)(pageContextInit);
|
|
358
|
+
const pageContextInitEnhanced = await (0, renderPageAlreadyRouted_js_1.getPageContextInitEnhanced)(pageContextInit, globalContext);
|
|
351
359
|
(0, utils_js_1.objectAssign)(pageContext, pageContextInitEnhanced);
|
|
352
360
|
}
|
|
353
361
|
return pageContext;
|
|
354
362
|
}
|
|
355
|
-
async function callOnPrerenderStartHook(prerenderContext) {
|
|
356
|
-
const globalContext = (0, globalContext_js_1.getGlobalContext)();
|
|
363
|
+
async function callOnPrerenderStartHook(prerenderContext, globalContext) {
|
|
357
364
|
let onPrerenderStartHook;
|
|
358
365
|
// V1 design
|
|
359
366
|
if (globalContext.pageConfigs.length > 0) {
|
|
@@ -425,17 +432,20 @@ async function callOnPrerenderStartHook(prerenderContext) {
|
|
|
425
432
|
const docLink = 'https://vike.dev/i18n#pre-rendering';
|
|
426
433
|
// Set `enumerable` to `false` to avoid computed URL properties from being iterated & copied in onPrerenderStart() hook, e.g. /examples/i18n/
|
|
427
434
|
const { restoreEnumerable, addPageContextComputedUrl } = makePageContextComputedUrlNonEnumerable(prerenderContext.pageContexts);
|
|
428
|
-
let result = await (0, executeHook_js_1.executeHook)(() =>
|
|
429
|
-
|
|
435
|
+
let result = await (0, executeHook_js_1.executeHook)(() => {
|
|
436
|
+
const prerenderContextPublic = makePublic(prerenderContext);
|
|
430
437
|
// TODO/v1-release: remove warning
|
|
431
|
-
|
|
432
|
-
(
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
438
|
+
Object.defineProperty(prerenderContextPublic, 'prerenderPageContexts', {
|
|
439
|
+
get() {
|
|
440
|
+
(0, utils_js_1.assertWarning)(false, `prerenderPageContexts has been renamed pageContexts, see ${docLink}`, {
|
|
441
|
+
showStackTrace: true,
|
|
442
|
+
onlyOnce: true
|
|
443
|
+
});
|
|
444
|
+
return prerenderContext.pageContexts;
|
|
445
|
+
}
|
|
446
|
+
});
|
|
447
|
+
return hookFn(prerenderContextPublic);
|
|
448
|
+
}, onPrerenderStartHook, null);
|
|
439
449
|
restoreEnumerable();
|
|
440
450
|
if (result === null || result === undefined) {
|
|
441
451
|
return;
|
|
@@ -477,8 +487,7 @@ async function callOnPrerenderStartHook(prerenderContext) {
|
|
|
477
487
|
});
|
|
478
488
|
addPageContextComputedUrl(prerenderContext.pageContexts);
|
|
479
489
|
}
|
|
480
|
-
async function routeAndPrerender(prerenderContext, concurrencyLimit, onComplete) {
|
|
481
|
-
const globalContext = (0, globalContext_js_1.getGlobalContext)();
|
|
490
|
+
async function routeAndPrerender(prerenderContext, globalContext, concurrencyLimit, onComplete) {
|
|
482
491
|
(0, utils_js_1.assert)(globalContext.isPrerendering);
|
|
483
492
|
// Route all URLs
|
|
484
493
|
await Promise.all(prerenderContext.pageContexts.map((pageContext) => concurrencyLimit(async () => {
|
|
@@ -542,7 +551,7 @@ async function routeAndPrerender(prerenderContext, concurrencyLimit, onComplete)
|
|
|
542
551
|
pageContext,
|
|
543
552
|
htmlString: documentHtml,
|
|
544
553
|
pageContextSerialized,
|
|
545
|
-
doNotCreateExtraDirectory: prerenderContext.
|
|
554
|
+
doNotCreateExtraDirectory: prerenderContext.noExtraDir,
|
|
546
555
|
pageId
|
|
547
556
|
});
|
|
548
557
|
})));
|
|
@@ -560,8 +569,7 @@ function warnContradictoryNoPrerenderList(prerenderedPageContexts, doNotPrerende
|
|
|
560
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 });
|
|
561
570
|
});
|
|
562
571
|
}
|
|
563
|
-
function warnMissingPages(prerenderedPageContexts, doNotPrerenderList, partial) {
|
|
564
|
-
const globalContext = (0, globalContext_js_1.getGlobalContext)();
|
|
572
|
+
async function warnMissingPages(prerenderedPageContexts, globalContext, doNotPrerenderList, partial) {
|
|
565
573
|
const isV1 = globalContext.pageConfigs.length > 0;
|
|
566
574
|
const hookName = isV1 ? 'onBeforePrerenderStart' : 'prerender';
|
|
567
575
|
/* TODO/after-v1-design-release: document setting `prerender: false` as an alternative to using prerender.partial (both in the warnings and the docs)
|
|
@@ -577,11 +585,11 @@ function warnMissingPages(prerenderedPageContexts, doNotPrerenderList, partial)
|
|
|
577
585
|
(0, utils_js_1.assertWarning)(partial, `Cannot pre-render page ${pageAt} because it has a non-static route, while no ${hookName}() hook returned any URL matching the page's route. You need to use a ${hookName}() hook (https://vike.dev/${hookName}) providing a list of URLs for ${pageAt} that should be pre-rendered. If you don't want to pre-render ${pageAt} then use the option prerender.partial (https://vike.dev/prerender#partial) to suppress this warning.`, { onlyOnce: true });
|
|
578
586
|
});
|
|
579
587
|
}
|
|
580
|
-
async function prerender404(
|
|
581
|
-
if (!Object.values(prerenderedPageContexts).find(({ urlOriginal }) => urlOriginal === '/404')) {
|
|
588
|
+
async function prerender404(prerenderContext, globalContext, onComplete) {
|
|
589
|
+
if (!Object.values(prerenderContext.prerenderedPageContexts).find(({ urlOriginal }) => urlOriginal === '/404')) {
|
|
582
590
|
let result;
|
|
583
591
|
try {
|
|
584
|
-
result = await (0, renderPageAlreadyRouted_js_1.prerender404Page)(prerenderContext.pageContextInit);
|
|
592
|
+
result = await (0, renderPageAlreadyRouted_js_1.prerender404Page)(prerenderContext.pageContextInit, globalContext);
|
|
585
593
|
}
|
|
586
594
|
catch (err) {
|
|
587
595
|
assertIsNotAbort(err, 'the 404 page');
|
|
@@ -601,22 +609,23 @@ async function prerender404(prerenderedPageContexts, prerenderContext, onComplet
|
|
|
601
609
|
}
|
|
602
610
|
}
|
|
603
611
|
}
|
|
604
|
-
async function writeFiles({ urlOriginal, pageContext, htmlString, pageContextSerialized, doNotCreateExtraDirectory }, root, outDirClient, onPagePrerender, logLevel) {
|
|
612
|
+
async function writeFiles({ urlOriginal, pageContext, htmlString, pageContextSerialized, doNotCreateExtraDirectory }, root, outDirClient, onPagePrerender, output, logLevel) {
|
|
605
613
|
(0, utils_js_1.assert)(urlOriginal.startsWith('/'));
|
|
606
614
|
const writeJobs = [
|
|
607
|
-
write(urlOriginal, pageContext, '
|
|
615
|
+
write(urlOriginal, pageContext, 'HTML', htmlString, root, outDirClient, doNotCreateExtraDirectory, onPagePrerender, output, logLevel)
|
|
608
616
|
];
|
|
609
617
|
if (pageContextSerialized !== null) {
|
|
610
|
-
writeJobs.push(write(urlOriginal, pageContext, '
|
|
618
|
+
writeJobs.push(write(urlOriginal, pageContext, 'JSON', pageContextSerialized, root, outDirClient, doNotCreateExtraDirectory, onPagePrerender, output, logLevel));
|
|
611
619
|
}
|
|
612
620
|
await Promise.all(writeJobs);
|
|
613
621
|
}
|
|
614
|
-
async function write(urlOriginal, pageContext,
|
|
622
|
+
async function write(urlOriginal, pageContext, fileType, fileContent, root, outDirClient, doNotCreateExtraDirectory, onPagePrerender, output, logLevel) {
|
|
615
623
|
let fileUrl;
|
|
616
|
-
if (
|
|
624
|
+
if (fileType === 'HTML') {
|
|
617
625
|
fileUrl = (0, utils_js_1.urlToFile)(urlOriginal, '.html', doNotCreateExtraDirectory);
|
|
618
626
|
}
|
|
619
627
|
else {
|
|
628
|
+
(0, utils_js_1.assert)(fileType === 'JSON');
|
|
620
629
|
fileUrl = (0, getPageContextRequestUrl_js_1.getPageContextRequestUrl)(urlOriginal);
|
|
621
630
|
}
|
|
622
631
|
(0, utils_js_1.assertPosixPath)(fileUrl);
|
|
@@ -628,6 +637,12 @@ async function write(urlOriginal, pageContext, fileExtension, fileContent, root,
|
|
|
628
637
|
(0, utils_js_1.assertPosixPath)(outDirClient);
|
|
629
638
|
(0, utils_js_1.assertPosixPath)(filePathRelative);
|
|
630
639
|
const filePath = path_1.default.posix.join(outDirClient, filePathRelative);
|
|
640
|
+
output.push({
|
|
641
|
+
filePath,
|
|
642
|
+
fileType,
|
|
643
|
+
fileContent,
|
|
644
|
+
pageContext
|
|
645
|
+
});
|
|
631
646
|
if (onPagePrerender) {
|
|
632
647
|
const prerenderPageContext = {};
|
|
633
648
|
(0, utils_js_1.objectAssign)(prerenderPageContext, pageContext);
|
|
@@ -796,3 +811,9 @@ prerenderConfig) {
|
|
|
796
811
|
(0, utils_js_1.assertUsage)(false, `Setting ${picocolors_1.default.cyan(`prerender.${prop}`)} ${errMsg}`);
|
|
797
812
|
}
|
|
798
813
|
}
|
|
814
|
+
function makePublic(prerenderContext) {
|
|
815
|
+
const prerenderContextPublic = (0, utils_js_1.makePublicCopy)(prerenderContext, 'prerenderContext', [
|
|
816
|
+
'pageContexts'
|
|
817
|
+
]);
|
|
818
|
+
return prerenderContextPublic;
|
|
819
|
+
}
|
|
@@ -22,9 +22,8 @@ __exportStar(require("../../utils/projectInfo.js"), exports);
|
|
|
22
22
|
__exportStar(require("../../utils/objectAssign.js"), exports);
|
|
23
23
|
__exportStar(require("../../utils/isObjectWithKeys.js"), exports);
|
|
24
24
|
__exportStar(require("../../utils/isCallable.js"), exports);
|
|
25
|
-
__exportStar(require("../../utils/getOutDirs.js"), exports);
|
|
26
25
|
__exportStar(require("../../utils/isPropertyGetter.js"), exports);
|
|
27
|
-
__exportStar(require("../../utils/
|
|
26
|
+
__exportStar(require("../../utils/path.js"), exports);
|
|
28
27
|
__exportStar(require("../../utils/urlToFile.js"), exports);
|
|
29
28
|
__exportStar(require("../../utils/isPlainObject.js"), exports);
|
|
30
29
|
__exportStar(require("../../utils/assertSetup.js"), exports);
|
|
@@ -33,3 +32,4 @@ __exportStar(require("../../utils/isFilePathAbsoluteFilesystem.js"), exports);
|
|
|
33
32
|
__exportStar(require("../../utils/isArray.js"), exports);
|
|
34
33
|
__exportStar(require("../../utils/isObject.js"), exports);
|
|
35
34
|
__exportStar(require("../../utils/changeEnumerable.js"), exports);
|
|
35
|
+
__exportStar(require("../../utils/makePublicCopy.js"), exports);
|