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
|
@@ -4,7 +4,7 @@ import { getPageContextInitEnhanced, renderPageAlreadyRouted } from './renderPag
|
|
|
4
4
|
import { route } from '../../shared/route/index.js';
|
|
5
5
|
import { assert, hasProp, objectAssign, isUrl, parseUrl, onSetupRuntime, assertWarning, getGlobalObject, checkType, assertUsage, normalizeUrlPathname, removeBaseServer, modifyUrlPathname, prependBase, removeUrlOrigin, setUrlOrigin, createUrlFromComponents, isUri, getUrlPretty } from './utils.js';
|
|
6
6
|
import { assertNoInfiniteAbortLoop, getPageContextFromAllRewrites, isAbortError, logAbortErrorHandled } from '../../shared/route/abort.js';
|
|
7
|
-
import {
|
|
7
|
+
import { getGlobalContextInternal, initGlobalContext_renderPage } from './globalContext.js';
|
|
8
8
|
import { handlePageContextRequestUrl } from './renderPage/handlePageContextRequestUrl.js';
|
|
9
9
|
import { createHttpResponseFavicon404, createHttpResponseRedirect, createHttpResponsePageContextJson, createHttpResponseError } from './renderPage/createHttpResponse.js';
|
|
10
10
|
import { logRuntimeError, logRuntimeInfo } from './renderPage/loggerRuntime.js';
|
|
@@ -18,6 +18,7 @@ import { getErrorPageId } from '../../shared/error-page.js';
|
|
|
18
18
|
import { handleErrorWithoutErrorPage } from './renderPage/handleErrorWithoutErrorPage.js';
|
|
19
19
|
import { loadUserFilesServerSide } from './renderPage/loadUserFilesServerSide.js';
|
|
20
20
|
import { resolveRedirects } from './renderPage/resolveRedirects.js';
|
|
21
|
+
import { resolveBaseRuntime } from '../shared/resolveBase.js';
|
|
21
22
|
const globalObject = getGlobalObject('runtime/renderPage.ts', {
|
|
22
23
|
httpRequestsCount: 0
|
|
23
24
|
});
|
|
@@ -75,25 +76,26 @@ async function renderPageAndPrepare(pageContextInit, httpRequestId) {
|
|
|
75
76
|
return handleInvalidConfig(isConfigInvalid.err);
|
|
76
77
|
}
|
|
77
78
|
else {
|
|
78
|
-
// From now on,
|
|
79
|
+
// From now on, globalContext contains all the configuration data; getVikeConfig() isn't called anymore for this request
|
|
79
80
|
}
|
|
81
|
+
const globalContext = await getGlobalContextInternal();
|
|
80
82
|
// Check Base URL
|
|
81
|
-
assertBaseUrl(pageContextInit);
|
|
83
|
+
await assertBaseUrl(pageContextInit, globalContext);
|
|
82
84
|
// Normalize URL
|
|
83
85
|
{
|
|
84
|
-
const pageContextHttpResponse = normalizeUrl(pageContextInit, httpRequestId);
|
|
86
|
+
const pageContextHttpResponse = await normalizeUrl(pageContextInit, globalContext, httpRequestId);
|
|
85
87
|
if (pageContextHttpResponse)
|
|
86
88
|
return pageContextHttpResponse;
|
|
87
89
|
}
|
|
88
90
|
// Permanent redirects (HTTP status code `301`)
|
|
89
91
|
{
|
|
90
|
-
const pageContextHttpResponse = getPermanentRedirect(pageContextInit, httpRequestId);
|
|
92
|
+
const pageContextHttpResponse = await getPermanentRedirect(pageContextInit, globalContext, httpRequestId);
|
|
91
93
|
if (pageContextHttpResponse)
|
|
92
94
|
return pageContextHttpResponse;
|
|
93
95
|
}
|
|
94
|
-
return await renderPageAlreadyPrepared(pageContextInit, httpRequestId, []);
|
|
96
|
+
return await renderPageAlreadyPrepared(pageContextInit, globalContext, httpRequestId, []);
|
|
95
97
|
}
|
|
96
|
-
async function renderPageAlreadyPrepared(pageContextInit, httpRequestId, pageContextsFromRewrite) {
|
|
98
|
+
async function renderPageAlreadyPrepared(pageContextInit, globalContext, httpRequestId, pageContextsFromRewrite) {
|
|
97
99
|
assertNoInfiniteAbortLoop(pageContextsFromRewrite.length,
|
|
98
100
|
// There doesn't seem to be a way to count the number of HTTP redirects (vike don't have access to the HTTP request headers/cookies)
|
|
99
101
|
// https://stackoverflow.com/questions/9683007/detect-infinite-http-redirect-loop-on-server-side
|
|
@@ -105,7 +107,7 @@ async function renderPageAlreadyPrepared(pageContextInit, httpRequestId, pageCon
|
|
|
105
107
|
objectAssign(pageContextNominalPageInit, pageContextFromAllRewrites);
|
|
106
108
|
}
|
|
107
109
|
{
|
|
108
|
-
const pageContextInitEnhanced = getPageContextInitEnhancedSSR(pageContextInit, pageContextNominalPageInit._urlRewrite, httpRequestId);
|
|
110
|
+
const pageContextInitEnhanced = await getPageContextInitEnhancedSSR(pageContextInit, globalContext, pageContextNominalPageInit._urlRewrite, httpRequestId);
|
|
109
111
|
objectAssign(pageContextNominalPageInit, pageContextInitEnhanced);
|
|
110
112
|
}
|
|
111
113
|
let errNominalPage;
|
|
@@ -137,10 +139,10 @@ async function renderPageAlreadyPrepared(pageContextInit, httpRequestId, pageCon
|
|
|
137
139
|
assert(pageContextNominalPageSuccess === undefined);
|
|
138
140
|
assert(pageContextNominalPageInit);
|
|
139
141
|
assert(hasProp(pageContextNominalPageInit, 'urlOriginal', 'string'));
|
|
140
|
-
const pageContextErrorPageInit = await getPageContextErrorPageInit(pageContextInit, errNominalPage, pageContextNominalPageInit, httpRequestId);
|
|
142
|
+
const pageContextErrorPageInit = await getPageContextErrorPageInit(pageContextInit, globalContext, errNominalPage, pageContextNominalPageInit, httpRequestId);
|
|
141
143
|
// Handle `throw redirect()` and `throw render()` while rendering nominal page
|
|
142
144
|
if (isAbortError(errNominalPage)) {
|
|
143
|
-
const handled = await handleAbortError(errNominalPage, pageContextsFromRewrite, pageContextInit, pageContextNominalPageInit, httpRequestId, pageContextErrorPageInit);
|
|
145
|
+
const handled = await handleAbortError(errNominalPage, pageContextsFromRewrite, pageContextInit, pageContextNominalPageInit, httpRequestId, pageContextErrorPageInit, globalContext);
|
|
144
146
|
if (handled.pageContextReturn) {
|
|
145
147
|
// - throw redirect()
|
|
146
148
|
// - throw render(url)
|
|
@@ -153,7 +155,6 @@ async function renderPageAlreadyPrepared(pageContextInit, httpRequestId, pageCon
|
|
|
153
155
|
Object.assign(pageContextErrorPageInit, handled.pageContextAbort);
|
|
154
156
|
}
|
|
155
157
|
{
|
|
156
|
-
const globalContext = getGlobalContext();
|
|
157
158
|
const errorPageId = getErrorPageId(globalContext.pageFilesAll, globalContext.pageConfigs);
|
|
158
159
|
if (!errorPageId) {
|
|
159
160
|
objectAssign(pageContextErrorPageInit, { pageId: null });
|
|
@@ -170,7 +171,7 @@ async function renderPageAlreadyPrepared(pageContextInit, httpRequestId, pageCon
|
|
|
170
171
|
catch (errErrorPage) {
|
|
171
172
|
// Handle `throw redirect()` and `throw render()` while rendering error page
|
|
172
173
|
if (isAbortError(errErrorPage)) {
|
|
173
|
-
const handled = await handleAbortError(errErrorPage, pageContextsFromRewrite, pageContextInit, pageContextNominalPageInit, httpRequestId, pageContextErrorPageInit);
|
|
174
|
+
const handled = await handleAbortError(errErrorPage, pageContextsFromRewrite, pageContextInit, pageContextNominalPageInit, httpRequestId, pageContextErrorPageInit, globalContext);
|
|
174
175
|
// throw render(abortStatusCode)
|
|
175
176
|
if (!handled.pageContextReturn) {
|
|
176
177
|
const pageContextAbort = errErrorPage._pageContextAbort;
|
|
@@ -286,8 +287,8 @@ async function renderPageNominal(pageContext) {
|
|
|
286
287
|
assert(pageContext === pageContextAfterRender);
|
|
287
288
|
return pageContextAfterRender;
|
|
288
289
|
}
|
|
289
|
-
async function getPageContextErrorPageInit(pageContextInit, errNominalPage, pageContextNominalPagePartial, httpRequestId) {
|
|
290
|
-
const pageContextInitEnhanced = getPageContextInitEnhancedSSR(pageContextInit, null, httpRequestId);
|
|
290
|
+
async function getPageContextErrorPageInit(pageContextInit, globalContext, errNominalPage, pageContextNominalPagePartial, httpRequestId) {
|
|
291
|
+
const pageContextInitEnhanced = await getPageContextInitEnhancedSSR(pageContextInit, globalContext, null, httpRequestId);
|
|
291
292
|
assert(errNominalPage);
|
|
292
293
|
const pageContext = {};
|
|
293
294
|
objectAssign(pageContext, pageContextInitEnhanced);
|
|
@@ -302,9 +303,9 @@ async function getPageContextErrorPageInit(pageContextInit, errNominalPage, page
|
|
|
302
303
|
assert(pageContext.errorWhileRendering);
|
|
303
304
|
return pageContext;
|
|
304
305
|
}
|
|
305
|
-
function getPageContextInitEnhancedSSR(pageContextInit, urlRewrite, httpRequestId) {
|
|
306
|
+
async function getPageContextInitEnhancedSSR(pageContextInit, globalContext, urlRewrite, httpRequestId) {
|
|
306
307
|
const { isClientSideNavigation, _urlHandler } = handlePageContextUrl(pageContextInit.urlOriginal);
|
|
307
|
-
const pageContextInitEnhanced = getPageContextInitEnhanced(pageContextInit, {
|
|
308
|
+
const pageContextInitEnhanced = await getPageContextInitEnhanced(pageContextInit, globalContext, {
|
|
308
309
|
ssr: {
|
|
309
310
|
urlRewrite,
|
|
310
311
|
urlHandler: _urlHandler,
|
|
@@ -335,15 +336,16 @@ function assertIsNotViteRequest(urlPathname, urlOriginal) {
|
|
|
335
336
|
return;
|
|
336
337
|
assertUsage(false, `${pc.code('renderPage(pageContextInit)')} called with ${pc.code(`pageContextInit.urlOriginal===${JSON.stringify(urlOriginal)}`)} which is unexpected because the URL ${pc.bold(urlOriginal)} should have already been handled by the development middleware: make sure the ${pc.cyan('createDevMiddleware()')} middleware is executed *before* the ${pc.cyan('renderPage()')} middleware, see ${pc.underline('https://vike.dev/renderPage')}`);
|
|
337
338
|
}
|
|
338
|
-
function normalizeUrl(pageContextInit, httpRequestId) {
|
|
339
|
-
const {
|
|
339
|
+
async function normalizeUrl(pageContextInit, globalContext, httpRequestId) {
|
|
340
|
+
const { baseServer } = resolveBaseRuntime(globalContext);
|
|
341
|
+
const { trailingSlash, disableUrlNormalization } = globalContext.config;
|
|
340
342
|
if (disableUrlNormalization)
|
|
341
343
|
return null;
|
|
342
344
|
const { urlOriginal } = pageContextInit;
|
|
343
345
|
const { isPageContextRequest } = handlePageContextRequestUrl(urlOriginal);
|
|
344
346
|
if (isPageContextRequest)
|
|
345
347
|
return null;
|
|
346
|
-
const urlNormalized = normalizeUrlPathname(urlOriginal, trailingSlash, baseServer);
|
|
348
|
+
const urlNormalized = normalizeUrlPathname(urlOriginal, trailingSlash ?? false, baseServer);
|
|
347
349
|
if (!urlNormalized)
|
|
348
350
|
return null;
|
|
349
351
|
logRuntimeInfo?.(`URL normalized from ${pc.cyan(urlOriginal)} to ${pc.cyan(urlNormalized)} (https://vike.dev/url-normalization)`, httpRequestId, 'info');
|
|
@@ -352,13 +354,13 @@ function normalizeUrl(pageContextInit, httpRequestId) {
|
|
|
352
354
|
objectAssign(pageContextHttpResponse, { httpResponse });
|
|
353
355
|
return pageContextHttpResponse;
|
|
354
356
|
}
|
|
355
|
-
function getPermanentRedirect(pageContextInit, httpRequestId) {
|
|
356
|
-
const
|
|
357
|
-
const urlWithoutBase = removeBaseServer(pageContextInit.urlOriginal,
|
|
357
|
+
async function getPermanentRedirect(pageContextInit, globalContext, httpRequestId) {
|
|
358
|
+
const { baseServer } = resolveBaseRuntime(globalContext);
|
|
359
|
+
const urlWithoutBase = removeBaseServer(pageContextInit.urlOriginal, baseServer);
|
|
358
360
|
let origin = null;
|
|
359
361
|
let urlTargetExternal = null;
|
|
360
362
|
let urlTarget = modifyUrlPathname(urlWithoutBase, (urlPathname) => {
|
|
361
|
-
const urlTarget = resolveRedirects(globalContext.
|
|
363
|
+
const urlTarget = resolveRedirects(globalContext.config.redirects ?? [], urlPathname);
|
|
362
364
|
if (urlTarget === null)
|
|
363
365
|
return null;
|
|
364
366
|
if (!isUrl(urlTarget)) {
|
|
@@ -385,8 +387,9 @@ function getPermanentRedirect(pageContextInit, httpRequestId) {
|
|
|
385
387
|
}
|
|
386
388
|
if (normalize(urlTarget) === normalize(urlWithoutBase))
|
|
387
389
|
return null;
|
|
390
|
+
const { baseServer } = resolveBaseRuntime(globalContext);
|
|
388
391
|
if (!originChanged)
|
|
389
|
-
urlTarget = prependBase(urlTarget,
|
|
392
|
+
urlTarget = prependBase(urlTarget, baseServer);
|
|
390
393
|
assert(urlTarget !== pageContextInit.urlOriginal);
|
|
391
394
|
}
|
|
392
395
|
logRuntimeInfo?.(`Permanent redirection defined by config.redirects (https://vike.dev/redirects)`, httpRequestId, 'info');
|
|
@@ -400,13 +403,12 @@ function normalize(url) {
|
|
|
400
403
|
}
|
|
401
404
|
async function handleAbortError(errAbort, pageContextsFromRewrite, pageContextInit,
|
|
402
405
|
// handleAbortError() creates a new pageContext object and we don't merge pageContextNominalPageInit to it: we only use some pageContextNominalPageInit information.
|
|
403
|
-
pageContextNominalPageInit, httpRequestId, pageContextErrorPageInit) {
|
|
404
|
-
logAbortErrorHandled(errAbort,
|
|
406
|
+
pageContextNominalPageInit, httpRequestId, pageContextErrorPageInit, globalContext) {
|
|
407
|
+
logAbortErrorHandled(errAbort, globalContext.isProduction, pageContextNominalPageInit);
|
|
405
408
|
const pageContextAbort = errAbort._pageContextAbort;
|
|
406
409
|
let pageContextSerialized;
|
|
407
410
|
if (pageContextNominalPageInit.isClientSideNavigation) {
|
|
408
411
|
if (pageContextAbort.abortStatusCode) {
|
|
409
|
-
const globalContext = getGlobalContext();
|
|
410
412
|
const errorPageId = getErrorPageId(globalContext.pageFilesAll, globalContext.pageConfigs);
|
|
411
413
|
const abortCall = pageContextAbort._abortCall;
|
|
412
414
|
assert(abortCall);
|
|
@@ -427,7 +429,7 @@ pageContextNominalPageInit, httpRequestId, pageContextErrorPageInit) {
|
|
|
427
429
|
return { pageContextReturn };
|
|
428
430
|
}
|
|
429
431
|
if (pageContextAbort._urlRewrite) {
|
|
430
|
-
const pageContextReturn = await renderPageAlreadyPrepared(pageContextInit, httpRequestId, [
|
|
432
|
+
const pageContextReturn = await renderPageAlreadyPrepared(pageContextInit, globalContext, httpRequestId, [
|
|
431
433
|
...pageContextsFromRewrite,
|
|
432
434
|
pageContextAbort
|
|
433
435
|
]);
|
|
@@ -450,8 +452,8 @@ pageContextNominalPageInit, httpRequestId, pageContextErrorPageInit) {
|
|
|
450
452
|
assert(pageContextAbort.abortStatusCode);
|
|
451
453
|
return { pageContextAbort };
|
|
452
454
|
}
|
|
453
|
-
function assertBaseUrl(pageContextInit) {
|
|
454
|
-
const { baseServer } =
|
|
455
|
+
async function assertBaseUrl(pageContextInit, globalContext) {
|
|
456
|
+
const { baseServer } = resolveBaseRuntime(globalContext);
|
|
455
457
|
const { urlOriginal } = pageContextInit;
|
|
456
458
|
const { urlWithoutPageContextRequestSuffix } = handlePageContextRequestUrl(urlOriginal);
|
|
457
459
|
const { hasBaseServer } = parseUrl(urlWithoutPageContextRequestSuffix, baseServer);
|
|
@@ -15,14 +15,13 @@ export * from '../../utils/projectInfo.js';
|
|
|
15
15
|
export * from '../../utils/isArray.js';
|
|
16
16
|
export * from '../../utils/isObject.js';
|
|
17
17
|
export * from '../../utils/objectAssign.js';
|
|
18
|
+
export * from '../../utils/objectAssignSafe.js';
|
|
18
19
|
export * from '../../utils/objectReplace.js';
|
|
19
20
|
export * from '../../utils/PromiseType.js';
|
|
20
21
|
export * from '../../utils/compareString.js';
|
|
21
22
|
export * from '../../utils/isObjectWithKeys.js';
|
|
22
23
|
export * from '../../utils/stringifyStringArray.js';
|
|
23
24
|
export * from '../../utils/unique.js';
|
|
24
|
-
export * from '../../utils/filesystemPathHandling.js';
|
|
25
|
-
export * from '../../utils/getOutDirs.js';
|
|
26
25
|
export * from '../../utils/capitalizeFirstLetter.js';
|
|
27
26
|
export * from '../../utils/debugGlob.js';
|
|
28
27
|
export * from '../../utils/isSameErrorMessage.js';
|
|
@@ -41,7 +40,7 @@ export * from '../../utils/objectEntries.js';
|
|
|
41
40
|
export * from '../../utils/objectFromEntries.js';
|
|
42
41
|
export * from '../../utils/getFileExtension.js';
|
|
43
42
|
export * from '../../utils/assertSetup.js';
|
|
44
|
-
export * from '../../utils/path
|
|
43
|
+
export * from '../../utils/path.js';
|
|
45
44
|
export * from '../../utils/isHtml.js';
|
|
46
45
|
export * from '../../utils/warnIfErrorIsNotObject.js';
|
|
47
46
|
export * from '../../utils/stripAnsi.js';
|
|
@@ -56,3 +55,4 @@ export * from '../../utils/isVikeReactApp.js';
|
|
|
56
55
|
export * from '../../utils/getPropAccessNotation.js';
|
|
57
56
|
export * from '../../utils/PROJECT_VERSION.js';
|
|
58
57
|
export * from '../../utils/genPromise.js';
|
|
58
|
+
export * from '../../utils/makePublicCopy.js';
|
|
@@ -19,14 +19,13 @@ export * from '../../utils/projectInfo.js';
|
|
|
19
19
|
export * from '../../utils/isArray.js';
|
|
20
20
|
export * from '../../utils/isObject.js';
|
|
21
21
|
export * from '../../utils/objectAssign.js';
|
|
22
|
+
export * from '../../utils/objectAssignSafe.js';
|
|
22
23
|
export * from '../../utils/objectReplace.js';
|
|
23
24
|
export * from '../../utils/PromiseType.js';
|
|
24
25
|
export * from '../../utils/compareString.js';
|
|
25
26
|
export * from '../../utils/isObjectWithKeys.js';
|
|
26
27
|
export * from '../../utils/stringifyStringArray.js';
|
|
27
28
|
export * from '../../utils/unique.js';
|
|
28
|
-
export * from '../../utils/filesystemPathHandling.js';
|
|
29
|
-
export * from '../../utils/getOutDirs.js';
|
|
30
29
|
export * from '../../utils/capitalizeFirstLetter.js';
|
|
31
30
|
export * from '../../utils/debugGlob.js';
|
|
32
31
|
export * from '../../utils/isSameErrorMessage.js';
|
|
@@ -45,7 +44,7 @@ export * from '../../utils/objectEntries.js';
|
|
|
45
44
|
export * from '../../utils/objectFromEntries.js';
|
|
46
45
|
export * from '../../utils/getFileExtension.js';
|
|
47
46
|
export * from '../../utils/assertSetup.js';
|
|
48
|
-
export * from '../../utils/path
|
|
47
|
+
export * from '../../utils/path.js';
|
|
49
48
|
export * from '../../utils/isHtml.js';
|
|
50
49
|
export * from '../../utils/warnIfErrorIsNotObject.js';
|
|
51
50
|
export * from '../../utils/stripAnsi.js';
|
|
@@ -60,3 +59,4 @@ export * from '../../utils/isVikeReactApp.js';
|
|
|
60
59
|
export * from '../../utils/getPropAccessNotation.js';
|
|
61
60
|
export * from '../../utils/PROJECT_VERSION.js';
|
|
62
61
|
export * from '../../utils/genPromise.js';
|
|
62
|
+
export * from '../../utils/makePublicCopy.js';
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
export { createDevMiddleware };
|
|
2
2
|
import { createServer } from 'vite';
|
|
3
3
|
import { prepareViteApiCall } from '../api/prepareViteApiCall.js';
|
|
4
|
+
import { setGlobalContext_isProduction } from '../runtime/globalContext.js';
|
|
4
5
|
/*
|
|
5
6
|
* Create server middleware for development with HMR and lazy-transpiling.
|
|
6
7
|
*
|
|
7
8
|
* https://vike.dev/createDevMiddleware
|
|
8
9
|
*/
|
|
9
10
|
async function createDevMiddleware(options = {}) {
|
|
10
|
-
|
|
11
|
+
setGlobalContext_isProduction(false);
|
|
12
|
+
const viteConfigFromOptions = {
|
|
11
13
|
...options.viteConfig,
|
|
12
14
|
server: {
|
|
13
15
|
...options.viteConfig?.server,
|
|
@@ -15,8 +17,8 @@ async function createDevMiddleware(options = {}) {
|
|
|
15
17
|
}
|
|
16
18
|
};
|
|
17
19
|
if (options.root)
|
|
18
|
-
|
|
19
|
-
const { viteConfigEnhanced } = await prepareViteApiCall(
|
|
20
|
+
viteConfigFromOptions.root = options.root;
|
|
21
|
+
const { viteConfigEnhanced } = await prepareViteApiCall(viteConfigFromOptions, 'dev');
|
|
20
22
|
const server = await createServer(viteConfigEnhanced);
|
|
21
23
|
const devMiddleware = server.middlewares;
|
|
22
24
|
return { devMiddleware, viteServer: server, viteConfig: server.config };
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
export { resolveBase };
|
|
2
|
+
export { resolveBaseRuntime };
|
|
2
3
|
export { resolveBaseFromResolvedConfig };
|
|
3
4
|
import type { ResolvedConfig } from 'vite';
|
|
5
|
+
import type { GlobalContext } from '../runtime/globalContext.js';
|
|
4
6
|
declare function resolveBaseFromResolvedConfig(baseServer: string | null, baseAssets: string | null, config: ResolvedConfig): {
|
|
5
7
|
baseServer: string;
|
|
6
8
|
baseAssets: string;
|
|
7
9
|
};
|
|
8
|
-
|
|
10
|
+
type BaseUrlsResolved = {
|
|
9
11
|
baseServer: string;
|
|
10
12
|
baseAssets: string;
|
|
11
13
|
};
|
|
14
|
+
declare function resolveBaseRuntime(globalContext: GlobalContext): BaseUrlsResolved;
|
|
15
|
+
declare function resolveBase(baseViteOriginal: string | null, baseServerUnresolved: string | null, baseAssetsUnresolved: string | null): BaseUrlsResolved;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { resolveBase };
|
|
2
|
+
export { resolveBaseRuntime };
|
|
2
3
|
export { resolveBaseFromResolvedConfig };
|
|
3
4
|
import { assert, assertUsage, isBaseServer, isBaseAssets } from './utils.js';
|
|
4
5
|
import pc from '@brillout/picocolors';
|
|
@@ -7,6 +8,12 @@ function resolveBaseFromResolvedConfig(baseServer, baseAssets, config) {
|
|
|
7
8
|
assert(baseViteOriginal === null || typeof baseViteOriginal == 'string');
|
|
8
9
|
return resolveBase(baseViteOriginal, baseServer, baseAssets);
|
|
9
10
|
}
|
|
11
|
+
function resolveBaseRuntime(globalContext) {
|
|
12
|
+
const baseViteOriginal = globalContext.viteConfigRuntime._baseViteOriginal;
|
|
13
|
+
const baseServerUnresolved = globalContext.config.baseServer ?? null;
|
|
14
|
+
const baseAssetsUnresolved = globalContext.config.baseAssets ?? null;
|
|
15
|
+
return resolveBase(baseViteOriginal, baseServerUnresolved, baseAssetsUnresolved);
|
|
16
|
+
}
|
|
10
17
|
function resolveBase(baseViteOriginal, baseServerUnresolved, baseAssetsUnresolved) {
|
|
11
18
|
if (baseViteOriginal === '/__UNSET__')
|
|
12
19
|
baseViteOriginal = null;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { getPageConfigsRuntime };
|
|
2
|
+
export { getAllPageIds };
|
|
3
|
+
import type { PageFile } from './getPageFiles.js';
|
|
4
|
+
import { type ConfigUserFriendly } from './page-configs/getPageConfigUserFriendly.js';
|
|
5
|
+
import type { PageConfigGlobalRuntime, PageConfigRuntime } from './page-configs/PageConfig.js';
|
|
6
|
+
declare function getPageConfigsRuntime(virtualFileExports: unknown): {
|
|
7
|
+
pageFilesAll: PageFile[];
|
|
8
|
+
allPageIds: string[];
|
|
9
|
+
pageConfigs: PageConfigRuntime[];
|
|
10
|
+
pageConfigGlobal: PageConfigGlobalRuntime;
|
|
11
|
+
globalConfig: ConfigUserFriendly;
|
|
12
|
+
};
|
|
13
|
+
declare function getAllPageIds(pageFilesAll: PageFile[], pageConfigs: PageConfigRuntime[]): string[];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export { getPageConfigsRuntime };
|
|
2
|
+
export { getAllPageIds };
|
|
3
|
+
import { parseGlobResults } from './getPageFiles/parseGlobResults.js';
|
|
4
|
+
import { getPageConfigUserFriendlyNew } from './page-configs/getPageConfigUserFriendly.js';
|
|
5
|
+
import { unique } from './utils.js';
|
|
6
|
+
function getPageConfigsRuntime(virtualFileExports) {
|
|
7
|
+
const { pageFilesAll, pageConfigs, pageConfigGlobal } = parseGlobResults(virtualFileExports);
|
|
8
|
+
const allPageIds = getAllPageIds(pageFilesAll, pageConfigs);
|
|
9
|
+
// TODO/now: re-use this call, instead of calling it twice
|
|
10
|
+
const globalConfig = getPageConfigUserFriendlyNew(pageConfigGlobal);
|
|
11
|
+
return { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal, globalConfig };
|
|
12
|
+
}
|
|
13
|
+
function getAllPageIds(pageFilesAll, pageConfigs) {
|
|
14
|
+
const fileIds = pageFilesAll.filter(({ isDefaultPageFile }) => !isDefaultPageFile).map(({ pageId }) => pageId);
|
|
15
|
+
const allPageIds = unique(fileIds);
|
|
16
|
+
const allPageIds2 = pageConfigs.map((p) => p.pageId);
|
|
17
|
+
return [...allPageIds, ...allPageIds2];
|
|
18
|
+
}
|
|
@@ -37,24 +37,29 @@ function getUrlParsed(pageContext) {
|
|
|
37
37
|
// 6. The value of pageContext.urlPathname is now '/login': the pathname of `pageContext.urlLogical`. (While pageContext.urlOriginal is still '/fr-FR/admin'.)
|
|
38
38
|
// Reproduction: https://github.com/vikejs/vike/discussions/1436#discussioncomment-8142023
|
|
39
39
|
// Determine logical URL
|
|
40
|
+
// TODO/soon: revert https://github.com/vikejs/vike/issues/2138#issuecomment-2631713411
|
|
41
|
+
const assertUrlResolved = (src) => assert(urlResolved && typeof urlResolved === 'string', { src, urlResolved });
|
|
40
42
|
let urlResolved;
|
|
41
43
|
let baseToBeRemoved;
|
|
42
44
|
if (pageContext.urlLogical) {
|
|
43
45
|
// Set by onBeforeRoute()
|
|
44
46
|
urlResolved = pageContext.urlLogical;
|
|
45
47
|
baseToBeRemoved = false;
|
|
48
|
+
assertUrlResolved(1);
|
|
46
49
|
}
|
|
47
50
|
else if (pageContext._urlRewrite) {
|
|
48
51
|
// Set by `throw render()`
|
|
49
52
|
urlResolved = pageContext._urlRewrite;
|
|
50
53
|
baseToBeRemoved = false;
|
|
54
|
+
assertUrlResolved(2);
|
|
51
55
|
}
|
|
52
56
|
else {
|
|
53
57
|
// Set by renderPage()
|
|
54
58
|
urlResolved = pageContext.urlOriginal;
|
|
55
59
|
baseToBeRemoved = true;
|
|
60
|
+
assertUrlResolved(3);
|
|
56
61
|
}
|
|
57
|
-
|
|
62
|
+
assertUrlResolved(4);
|
|
58
63
|
// Remove .pageContext.json
|
|
59
64
|
let urlHandler = pageContext._urlHandler;
|
|
60
65
|
if (!urlHandler)
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
export { fileTypes };
|
|
3
3
|
export { isValidFileType };
|
|
4
4
|
export { determineFileType };
|
|
5
|
-
import { assert
|
|
5
|
+
import { assert } from '../utils.js';
|
|
6
6
|
import { isScriptFile } from '../../utils/isScriptFile.js';
|
|
7
7
|
const fileTypes = [
|
|
8
8
|
'.page',
|
|
@@ -18,7 +18,6 @@ function isValidFileType(filePath) {
|
|
|
18
18
|
return ['.js', '.mjs', '.cjs', '.css'].some((ext) => filePath.endsWith(ext));
|
|
19
19
|
}
|
|
20
20
|
function determineFileType(filePath) {
|
|
21
|
-
assertPosixPath(filePath);
|
|
22
21
|
{
|
|
23
22
|
const isCSS = filePath.endsWith('.css');
|
|
24
23
|
if (isCSS) {
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
export { getPageFilesClientSide };
|
|
3
3
|
export { getPageFilesServerSide };
|
|
4
4
|
import { assert, assertUsage, isNotNullish } from '../utils.js';
|
|
5
|
-
import { assertPageFilePath } from '../assertPageFilePath.js';
|
|
6
5
|
function getPageFilesClientSide(pageFilesAll, pageId) {
|
|
7
6
|
return determine(pageFilesAll, pageId, true);
|
|
8
7
|
}
|
|
@@ -86,8 +85,6 @@ function getPageFilesSorter(envIsClient, pageId) {
|
|
|
86
85
|
};
|
|
87
86
|
}
|
|
88
87
|
function getPathDistance(pathA, pathB) {
|
|
89
|
-
assertPageFilePath(pathA);
|
|
90
|
-
assertPageFilePath(pathB);
|
|
91
88
|
// Index of first different character
|
|
92
89
|
let idx = 0;
|
|
93
90
|
for (; idx < pathA.length && idx < pathB.length; idx++) {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// TODO/v1-release: remove
|
|
2
2
|
export { getPageFileObject };
|
|
3
3
|
import { determinePageIdOld } from '../determinePageIdOld.js';
|
|
4
|
-
import { assertPageFilePath } from '../assertPageFilePath.js';
|
|
5
4
|
import { isErrorPageId } from '../error-page.js';
|
|
6
5
|
import { assert, slice } from '../utils.js';
|
|
7
6
|
import { determineFileType } from './fileTypes.js';
|
|
@@ -36,19 +35,15 @@ function getPageFileObject(filePath) {
|
|
|
36
35
|
return pageFile;
|
|
37
36
|
}
|
|
38
37
|
function isDefaultFilePath(filePath) {
|
|
39
|
-
assertPageFilePath(filePath);
|
|
40
38
|
if (isErrorPageId(filePath, false)) {
|
|
41
39
|
return false;
|
|
42
40
|
}
|
|
43
41
|
return filePath.includes('/_default');
|
|
44
42
|
}
|
|
45
43
|
function isRendererFilePath(filePath) {
|
|
46
|
-
assertPageFilePath(filePath);
|
|
47
44
|
return filePath.includes('/renderer/');
|
|
48
45
|
}
|
|
49
46
|
function isAncestorDefaultPage(pageId, defaultPageFilePath) {
|
|
50
|
-
assertPageFilePath(pageId);
|
|
51
|
-
assertPageFilePath(defaultPageFilePath);
|
|
52
47
|
assert(!pageId.endsWith('/'));
|
|
53
48
|
assert(!defaultPageFilePath.endsWith('/'));
|
|
54
49
|
assert(isDefaultFilePath(defaultPageFilePath));
|
|
@@ -2,7 +2,7 @@ export { parseGlobResults };
|
|
|
2
2
|
import { type PageFile } from './getPageFileObject.js';
|
|
3
3
|
import type { PageConfigRuntime, PageConfigGlobalRuntime } from '../page-configs/PageConfig.js';
|
|
4
4
|
declare function parseGlobResults(pageFilesExports: unknown): {
|
|
5
|
-
|
|
5
|
+
pageFilesAll: PageFile[];
|
|
6
6
|
pageConfigs: PageConfigRuntime[];
|
|
7
7
|
pageConfigGlobal: PageConfigGlobalRuntime;
|
|
8
8
|
};
|
|
@@ -5,6 +5,7 @@ import { assertExportValues } from './assert_exports_old_design.js';
|
|
|
5
5
|
import { getPageFileObject } from './getPageFileObject.js';
|
|
6
6
|
import { fileTypes } from './fileTypes.js';
|
|
7
7
|
import { parsePageConfigs } from '../page-configs/serialize/parsePageConfigs.js';
|
|
8
|
+
// TODO/now: rename
|
|
8
9
|
function parseGlobResults(pageFilesExports) {
|
|
9
10
|
assert(hasProp(pageFilesExports, 'pageFilesLazy', 'object'));
|
|
10
11
|
assert(hasProp(pageFilesExports, 'pageFilesEager', 'object'));
|
|
@@ -60,11 +61,11 @@ function parseGlobResults(pageFilesExports) {
|
|
|
60
61
|
pageFilesExports.pageFilesList.forEach((filePath) => {
|
|
61
62
|
pageFilesMap[filePath] = pageFilesMap[filePath] ?? getPageFileObject(filePath);
|
|
62
63
|
});
|
|
63
|
-
const
|
|
64
|
-
|
|
64
|
+
const pageFilesAll = Object.values(pageFilesMap);
|
|
65
|
+
pageFilesAll.forEach(({ filePath }) => {
|
|
65
66
|
assert(!filePath.includes('\\'));
|
|
66
67
|
});
|
|
67
|
-
return {
|
|
68
|
+
return { pageFilesAll, pageConfigs, pageConfigGlobal };
|
|
68
69
|
}
|
|
69
70
|
function parseGlobResult(globObject) {
|
|
70
71
|
const ret = [];
|
|
@@ -2,4 +2,3 @@ export type { PageFile } from './getPageFiles/getPageFileObject.js';
|
|
|
2
2
|
export type { ExportsAll, PageConfigUserFriendly } from './page-configs/getPageConfigUserFriendly.js';
|
|
3
3
|
export { getPageFilesClientSide } from './getPageFiles/getAllPageIdFiles.js';
|
|
4
4
|
export { getPageFilesServerSide } from './getPageFiles/getAllPageIdFiles.js';
|
|
5
|
-
export { getPageConfigUserFriendly } from './page-configs/getPageConfigUserFriendly.js';
|
|
@@ -37,7 +37,7 @@ import type { PrefetchSetting, PrefetchStaticAssets } from '../../client/client-
|
|
|
37
37
|
import type { ConfigDefinition } from '../../node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js';
|
|
38
38
|
import type { DocumentHtml } from '../../node/runtime/html/renderHtml.js';
|
|
39
39
|
import type { InjectFilterEntry } from '../../types/index.js';
|
|
40
|
-
import type { VikeVitePluginOptions } from '../../node/plugin/
|
|
40
|
+
import type { VikeVitePluginOptions } from '../../node/plugin/index.js';
|
|
41
41
|
import type { Vike, VikePackages } from '../VikeNamespace.js';
|
|
42
42
|
import type { HooksTimeoutProvidedByUser } from '../hooks/getHook.js';
|
|
43
43
|
import type { PageContextClient, PageContextServer } from '../types.js';
|
|
@@ -246,11 +246,55 @@ type ConfigBuiltIn = {
|
|
|
246
246
|
*/
|
|
247
247
|
guard?: GuardAsync | GuardSync | ImportString;
|
|
248
248
|
/**
|
|
249
|
-
*
|
|
249
|
+
* Pre-render page(s).
|
|
250
250
|
*
|
|
251
251
|
* https://vike.dev/pre-rendering
|
|
252
|
+
* https://vike.dev/prerender
|
|
253
|
+
*
|
|
254
|
+
* @default false
|
|
252
255
|
*/
|
|
253
|
-
prerender?: boolean | ImportString
|
|
256
|
+
prerender?: boolean | ImportString | {
|
|
257
|
+
/**
|
|
258
|
+
* Allow only some of your pages to be pre-rendered.
|
|
259
|
+
*
|
|
260
|
+
* This setting doesn't affect the pre-rendering process: it merely suppresses the warnings when some of your pages cannot be pre-rendered.
|
|
261
|
+
*
|
|
262
|
+
* https://vike.dev/prerender#partial
|
|
263
|
+
*
|
|
264
|
+
* @default false
|
|
265
|
+
*/
|
|
266
|
+
partial?: boolean;
|
|
267
|
+
/**
|
|
268
|
+
* Don't create a new directory for each HTML file.
|
|
269
|
+
*
|
|
270
|
+
* For example, generate `dist/client/about.html` instead of `dist/client/about/index.html`.
|
|
271
|
+
*
|
|
272
|
+
* https://vike.dev/prerender#noextradir
|
|
273
|
+
*
|
|
274
|
+
* @default false
|
|
275
|
+
*/
|
|
276
|
+
noExtraDir?: boolean;
|
|
277
|
+
/**
|
|
278
|
+
* Number of concurrent pre-render jobs.
|
|
279
|
+
*
|
|
280
|
+
* Set to `false` to disable concurrency.
|
|
281
|
+
*
|
|
282
|
+
* https://vike.dev/prerender#parallel
|
|
283
|
+
*
|
|
284
|
+
* @default os.cpus().length
|
|
285
|
+
*/
|
|
286
|
+
parallel?: boolean | number;
|
|
287
|
+
/**
|
|
288
|
+
* Disable the automatic initiation of the pre-rendering process when running `$ vike build`.
|
|
289
|
+
*
|
|
290
|
+
* Use this if you want to programmatically initiate the pre-rendering process instead.
|
|
291
|
+
*
|
|
292
|
+
* https://vike.dev/prerender#disableautorun
|
|
293
|
+
*
|
|
294
|
+
* @default false
|
|
295
|
+
*/
|
|
296
|
+
disableAutoRun?: boolean;
|
|
297
|
+
};
|
|
254
298
|
/**
|
|
255
299
|
* Install Vike extensions.
|
|
256
300
|
*
|
|
@@ -358,6 +402,38 @@ type ConfigBuiltIn = {
|
|
|
358
402
|
* https://vike.dev/redirects
|
|
359
403
|
*/
|
|
360
404
|
redirects?: Record<string, string>;
|
|
405
|
+
/** Whether URLs should end with a trailing slash.
|
|
406
|
+
*
|
|
407
|
+
* https://vike.dev/url-normalization
|
|
408
|
+
*
|
|
409
|
+
* @default false
|
|
410
|
+
*/
|
|
411
|
+
trailingSlash?: boolean;
|
|
412
|
+
/** Disable automatic URL normalization.
|
|
413
|
+
*
|
|
414
|
+
* https://vike.dev/url-normalization
|
|
415
|
+
*
|
|
416
|
+
* @default false
|
|
417
|
+
*/
|
|
418
|
+
disableUrlNormalization?: boolean;
|
|
419
|
+
/** @deprecated It's now `true` by default. You can remove this option. */
|
|
420
|
+
includeAssetsImportedByServer?: boolean;
|
|
421
|
+
/** @deprecated See https://vike.dev/disableAutoFullBuild */
|
|
422
|
+
disableAutoFullBuild?: boolean | 'prerender';
|
|
423
|
+
/** Use Vite Environment API to orchestrate the build process.
|
|
424
|
+
* @experimental
|
|
425
|
+
*/
|
|
426
|
+
viteEnvironmentAPI?: boolean;
|
|
427
|
+
/** The Base URL of your server.
|
|
428
|
+
*
|
|
429
|
+
* https://vike.dev/base-url
|
|
430
|
+
*/
|
|
431
|
+
baseServer?: string;
|
|
432
|
+
/** The Base URL of your static assets.
|
|
433
|
+
*
|
|
434
|
+
* https://vike.dev/base-url
|
|
435
|
+
*/
|
|
436
|
+
baseAssets?: string;
|
|
361
437
|
/**
|
|
362
438
|
* @experimental DON'T USE: the API *will* have breaking changes upon any minor version release.
|
|
363
439
|
*
|
|
@@ -403,10 +479,14 @@ type ConfigBuiltIn = {
|
|
|
403
479
|
* https://vike.dev/keepScrollPosition
|
|
404
480
|
*/
|
|
405
481
|
keepScrollPosition?: KeepScrollPosition;
|
|
482
|
+
/** @experimental */
|
|
483
|
+
middleware?: Function;
|
|
406
484
|
};
|
|
407
485
|
type ConfigBuiltInResolved = {
|
|
408
486
|
passToClient?: string[][];
|
|
409
487
|
redirects?: Record<string, string>[];
|
|
488
|
+
prerender?: Exclude<Config['prerender'], ImportString | undefined>[];
|
|
489
|
+
middleware?: Function[];
|
|
410
490
|
};
|
|
411
491
|
type ConfigMeta = Record<string, ConfigDefinition>;
|
|
412
492
|
type ImportString = `import:${string}`;
|