vike 0.4.220 → 0.4.221-commit-ab9e52a
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
package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{debug.js → virtual-files/debug.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { createDebugger } from '
|
|
1
|
+
import { createDebugger } from '../../../../utils.js';
|
|
2
2
|
export const debug = createDebugger('vike:virtual-files');
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export { getVirtualFilePageConfigValuesAll };
|
|
2
|
-
import { assert } from '
|
|
3
|
-
import { getVirtualFileIdPageConfigValuesAll, isVirtualFileIdPageConfigValuesAll } from '
|
|
4
|
-
import { getVikeConfig } from '
|
|
5
|
-
import { extractAssetsAddQuery } from '
|
|
2
|
+
import { assert } from '../../../../utils.js';
|
|
3
|
+
import { getVirtualFileIdPageConfigValuesAll, isVirtualFileIdPageConfigValuesAll } from '../../../../../shared/virtual-files/virtualFilePageConfigValuesAll.js';
|
|
4
|
+
import { getVikeConfig } from '../getVikeConfig.js';
|
|
5
|
+
import { extractAssetsAddQuery } from '../../../../../shared/extractAssetsQuery.js';
|
|
6
6
|
import { debug } from './debug.js';
|
|
7
7
|
import { isRuntimeEnvMatch } from './isRuntimeEnvMatch.js';
|
|
8
|
-
import { serializeConfigValues } from '
|
|
9
|
-
import { fixServerAssets_isEnabled } from '
|
|
10
|
-
import { getConfigValueBuildTime } from '
|
|
8
|
+
import { serializeConfigValues } from '../../../../../../shared/page-configs/serialize/serializeConfigValues.js';
|
|
9
|
+
import { fixServerAssets_isEnabled } from '../../../buildConfig/fixServerAssets.js';
|
|
10
|
+
import { getConfigValueBuildTime } from '../../../../../../shared/page-configs/getConfigValueBuildTime.js';
|
|
11
11
|
async function getVirtualFilePageConfigValuesAll(id, isDev, config) {
|
|
12
12
|
const result = isVirtualFileIdPageConfigValuesAll(id);
|
|
13
13
|
assert(result);
|
|
@@ -22,16 +22,19 @@ async function getVirtualFilePageConfigValuesAll(id, isDev, config) {
|
|
|
22
22
|
const { pageConfigs } = vikeConfig;
|
|
23
23
|
const pageConfig = pageConfigs.find((pageConfig) => pageConfig.pageId === pageId);
|
|
24
24
|
assert(pageConfig, { id, pageId });
|
|
25
|
-
const code = getLoadConfigValuesAll(pageConfig, isForClientSide, pageId,
|
|
25
|
+
const code = getLoadConfigValuesAll(pageConfig, isForClientSide, pageId,
|
|
26
|
+
// TODO/now: add meta.default
|
|
27
|
+
vikeConfig.global.config.includeAssetsImportedByServer ?? true, isDev);
|
|
26
28
|
debug(id, isForClientSide ? 'CLIENT-SIDE' : 'SERVER-SIDE', code);
|
|
27
29
|
return code;
|
|
28
30
|
}
|
|
29
31
|
function getLoadConfigValuesAll(pageConfig, isForClientSide, pageId, includeAssetsImportedByServer, isDev) {
|
|
30
32
|
const lines = [];
|
|
31
33
|
const importStatements = [];
|
|
34
|
+
const filesEnv = new Map();
|
|
32
35
|
const isClientRouting = getConfigValueBuildTime(pageConfig, 'clientRouting', 'boolean')?.value ?? false;
|
|
33
36
|
lines.push('export const configValuesSerialized = {');
|
|
34
|
-
lines.push(...serializeConfigValues(pageConfig, importStatements, (configEnv) => isRuntimeEnvMatch(configEnv, { isForClientSide, isClientRouting, isDev }), '', false));
|
|
37
|
+
lines.push(...serializeConfigValues(pageConfig, importStatements, filesEnv, (configEnv) => isRuntimeEnvMatch(configEnv, { isForClientSide, isClientRouting, isDev }), '', false));
|
|
35
38
|
lines.push('};');
|
|
36
39
|
if (!fixServerAssets_isEnabled() && includeAssetsImportedByServer && isForClientSide && !isDev) {
|
|
37
40
|
importStatements.push(`import '${extractAssetsAddQuery(getVirtualFileIdPageConfigValuesAll(pageId, false))}'`);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export { getVirtualFilePageConfigs };
|
|
2
|
-
import { getVirtualFileIdPageConfigValuesAll } from '
|
|
2
|
+
import { getVirtualFileIdPageConfigValuesAll } from '../../../../../shared/virtual-files/virtualFilePageConfigValuesAll.js';
|
|
3
3
|
import { debug } from './debug.js';
|
|
4
|
-
import { getVikeConfig } from '
|
|
4
|
+
import { getVikeConfig } from '../getVikeConfig.js';
|
|
5
5
|
import { isRuntimeEnvMatch } from './isRuntimeEnvMatch.js';
|
|
6
|
-
import { serializeConfigValues } from '
|
|
6
|
+
import { serializeConfigValues } from '../../../../../../shared/page-configs/serialize/serializeConfigValues.js';
|
|
7
7
|
async function getVirtualFilePageConfigs(isForClientSide, isDev, id, isClientRouting, config) {
|
|
8
8
|
const vikeConfig = await getVikeConfig(config, { doNotRestartViteOnError: true });
|
|
9
9
|
const { pageConfigs, pageConfigGlobal } = vikeConfig;
|
|
@@ -12,38 +12,40 @@ async function getVirtualFilePageConfigs(isForClientSide, isDev, id, isClientRou
|
|
|
12
12
|
function getCode(pageConfigs, pageConfigGlobal, isForClientSide, isDev, id, isClientRouting) {
|
|
13
13
|
const lines = [];
|
|
14
14
|
const importStatements = [];
|
|
15
|
+
const filesEnv = new Map();
|
|
15
16
|
lines.push('export const pageConfigsSerialized = [');
|
|
16
|
-
lines.push(getCodePageConfigsSerialized(pageConfigs, isForClientSide, isClientRouting, isDev, importStatements));
|
|
17
|
+
lines.push(getCodePageConfigsSerialized(pageConfigs, isForClientSide, isClientRouting, isDev, importStatements, filesEnv));
|
|
17
18
|
lines.push('];');
|
|
18
19
|
lines.push('export const pageConfigGlobalSerialized = {');
|
|
19
|
-
lines.push(getCodePageConfigGlobalSerialized(pageConfigGlobal, isForClientSide, isClientRouting, isDev, importStatements));
|
|
20
|
+
lines.push(getCodePageConfigGlobalSerialized(pageConfigGlobal, isForClientSide, isClientRouting, isDev, importStatements, filesEnv));
|
|
20
21
|
lines.push('};');
|
|
21
22
|
const code = [...importStatements, ...lines].join('\n');
|
|
22
23
|
debug(id, isForClientSide ? 'CLIENT-SIDE' : 'SERVER-SIDE', code);
|
|
23
24
|
return code;
|
|
24
25
|
}
|
|
25
|
-
function getCodePageConfigsSerialized(pageConfigs, isForClientSide, isClientRouting, isDev, importStatements) {
|
|
26
|
+
function getCodePageConfigsSerialized(pageConfigs, isForClientSide, isClientRouting, isDev, importStatements, filesEnv) {
|
|
26
27
|
const lines = [];
|
|
27
28
|
pageConfigs.forEach((pageConfig) => {
|
|
28
29
|
const { pageId, routeFilesystem, isErrorPage } = pageConfig;
|
|
29
|
-
const virtualFileIdPageConfigValuesAll = getVirtualFileIdPageConfigValuesAll(pageId, isForClientSide);
|
|
30
30
|
lines.push(` {`);
|
|
31
31
|
lines.push(` pageId: ${JSON.stringify(pageId)},`);
|
|
32
32
|
lines.push(` isErrorPage: ${JSON.stringify(isErrorPage)},`);
|
|
33
33
|
lines.push(` routeFilesystem: ${JSON.stringify(routeFilesystem)},`);
|
|
34
|
-
|
|
34
|
+
const virtualFileId = JSON.stringify(getVirtualFileIdPageConfigValuesAll(pageId, isForClientSide));
|
|
35
|
+
const load = `() => ({ moduleId: ${virtualFileId}, moduleExports: import(${virtualFileId}) })`;
|
|
36
|
+
lines.push(` loadConfigValuesAll: ${load},`);
|
|
35
37
|
lines.push(` configValuesSerialized: {`);
|
|
36
|
-
lines.push(...serializeConfigValues(pageConfig, importStatements, (configEnv) => isRuntimeEnvMatch(configEnv, { isForClientSide, isClientRouting, isDev }), ' ', true));
|
|
38
|
+
lines.push(...serializeConfigValues(pageConfig, importStatements, filesEnv, (configEnv) => isRuntimeEnvMatch(configEnv, { isForClientSide, isClientRouting, isDev }), ' ', true));
|
|
37
39
|
lines.push(` },`);
|
|
38
40
|
lines.push(` },`);
|
|
39
41
|
});
|
|
40
42
|
const code = lines.join('\n');
|
|
41
43
|
return code;
|
|
42
44
|
}
|
|
43
|
-
function getCodePageConfigGlobalSerialized(pageConfigGlobal, isForClientSide, isClientRouting, isDev, importStatements) {
|
|
45
|
+
function getCodePageConfigGlobalSerialized(pageConfigGlobal, isForClientSide, isClientRouting, isDev, importStatements, filesEnv) {
|
|
44
46
|
const lines = [];
|
|
45
47
|
lines.push(` configValuesSerialized: {`);
|
|
46
|
-
lines.push(...serializeConfigValues(pageConfigGlobal, importStatements, (configEnv) => isRuntimeEnvMatch(configEnv, { isForClientSide, isClientRouting, isDev }), ' ', null));
|
|
48
|
+
lines.push(...serializeConfigValues(pageConfigGlobal, importStatements, filesEnv, (configEnv) => isRuntimeEnvMatch(configEnv, { isForClientSide, isClientRouting, isDev }), ' ', null));
|
|
47
49
|
lines.push(` },`);
|
|
48
50
|
const code = lines.join('\n');
|
|
49
51
|
return code;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { isRuntimeEnvMatch };
|
|
2
|
-
import type { ConfigEnvInternal } from '
|
|
2
|
+
import type { ConfigEnvInternal } from '../../../../../../shared/page-configs/PageConfig.js';
|
|
3
3
|
declare function isRuntimeEnvMatch(configEnv: ConfigEnvInternal, runtime: {
|
|
4
4
|
isForClientSide: boolean;
|
|
5
5
|
isClientRouting: boolean;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
export { previewConfig };
|
|
2
|
-
import { assertUsage,
|
|
2
|
+
import { assertUsage, applyPreview } from '../utils.js';
|
|
3
3
|
import fs from 'fs';
|
|
4
4
|
import path from 'path';
|
|
5
5
|
import { addSsrMiddleware } from '../shared/addSsrMiddleware.js';
|
|
6
6
|
import pc from '@brillout/picocolors';
|
|
7
7
|
import { logDockerHint } from './devConfig/index.js';
|
|
8
|
+
import { getOutDirs, resolveOutDir } from '../shared/getOutDirs.js';
|
|
8
9
|
function previewConfig() {
|
|
9
10
|
let config;
|
|
10
|
-
// let
|
|
11
|
+
// let vikeConfig: VikeConfigObject
|
|
11
12
|
return {
|
|
12
13
|
name: 'vike:previewConfig',
|
|
13
14
|
apply: applyPreview,
|
|
@@ -22,8 +23,7 @@ function previewConfig() {
|
|
|
22
23
|
async configResolved(config_) {
|
|
23
24
|
config = config_;
|
|
24
25
|
logDockerHint(config.preview.host);
|
|
25
|
-
//
|
|
26
|
-
// vikeConfigGlobal = vikeConfig.vikeConfigGlobal
|
|
26
|
+
// vikeConfig = await getVikeConfig(config)
|
|
27
27
|
},
|
|
28
28
|
configurePreviewServer(server) {
|
|
29
29
|
/* - Couldn't make `appType: 'mpa'` work as of npm:@brillout/vite@5.0.0-beta.14.0426910c
|
|
@@ -33,7 +33,7 @@ function previewConfig() {
|
|
|
33
33
|
return () => {
|
|
34
34
|
assertDist();
|
|
35
35
|
/* We don't use this condition (we wrongfully always use the SSR middleware) because of the regression introduced by https://github.com/vitejs/vite/pull/14756 which stops servering .html files when `appType: 'custom'`.
|
|
36
|
-
if (!
|
|
36
|
+
if (!vikeConfig.global.config.prerender || vikeConfig.global.config.prerender.partial) {
|
|
37
37
|
addSsrMiddleware(server.middlewares, config, true)
|
|
38
38
|
}
|
|
39
39
|
/*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { setGlobalContext };
|
|
2
|
-
import {
|
|
3
|
-
import { assertFilePathAbsoluteFilesystem,
|
|
4
|
-
import {
|
|
2
|
+
import { setGlobalContext_viteDevServer, setGlobalContext_viteConfig, setGlobalContext_isProduction } from '../../runtime/globalContext.js';
|
|
3
|
+
import { assertFilePathAbsoluteFilesystem, isDevCheck, markSetup_isViteDev, markSetup_viteDevServer, markSetup_vitePreviewServer } from '../utils.js';
|
|
4
|
+
import { getOutDirs } from '../shared/getOutDirs.js';
|
|
5
5
|
function setGlobalContext() {
|
|
6
6
|
return [
|
|
7
7
|
{
|
|
@@ -21,7 +21,7 @@ function setGlobalContext() {
|
|
|
21
21
|
order: 'pre',
|
|
22
22
|
handler(_, env) {
|
|
23
23
|
const isViteDev = isDevCheck(env);
|
|
24
|
-
|
|
24
|
+
setGlobalContext_isProduction(!isViteDev);
|
|
25
25
|
markSetup_isViteDev(isViteDev);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
@@ -35,8 +35,6 @@ function setGlobalContext() {
|
|
|
35
35
|
const { outDirRoot } = getOutDirs(config);
|
|
36
36
|
assertFilePathAbsoluteFilesystem(outDirRoot); // Needed for `importServerProductionEntry({ outDir })` of @brillout/vite-plugin-server-entry
|
|
37
37
|
setGlobalContext_viteConfig(config, outDirRoot);
|
|
38
|
-
const vikeConfig = await getVikeConfig(config);
|
|
39
|
-
setGlobalContext_vikeConfig(vikeConfig);
|
|
40
38
|
}
|
|
41
39
|
}
|
|
42
40
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export { findPageFiles };
|
|
2
2
|
import glob from 'fast-glob';
|
|
3
|
-
import { assertWarning, toPosixPath, scriptFileExtensions
|
|
3
|
+
import { assertWarning, toPosixPath, scriptFileExtensions } from '../utils.js';
|
|
4
4
|
import pc from '@brillout/picocolors';
|
|
5
|
+
import { getOutDirs } from './getOutDirs.js';
|
|
5
6
|
async function findPageFiles(config, fileTypes, isDev) {
|
|
6
7
|
const cwd = config.root;
|
|
7
8
|
const { outDirRoot } = getOutDirs(config);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { getViteConfigFromCli, isViteCliCall } from './isViteCliCall.js';
|
|
2
|
+
export function getFullBuildInlineConfig(config) {
|
|
3
|
+
const configFromCli = !isViteCliCall() ? null : getViteConfigFromCli();
|
|
4
|
+
if (config._viteConfigEnhanced) {
|
|
5
|
+
return config._viteConfigEnhanced;
|
|
6
|
+
}
|
|
7
|
+
else {
|
|
8
|
+
return {
|
|
9
|
+
...configFromCli,
|
|
10
|
+
configFile: configFromCli?.configFile || config.configFile,
|
|
11
|
+
root: config.root,
|
|
12
|
+
build: {
|
|
13
|
+
...configFromCli?.build
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -12,4 +12,4 @@ type OutDirs = {
|
|
|
12
12
|
};
|
|
13
13
|
declare function getOutDirs(config: ResolvedConfig): OutDirs;
|
|
14
14
|
/** Appends `client/` or `server/` to `config.build.outDir` */
|
|
15
|
-
declare function resolveOutDir(config: UserConfig): string;
|
|
15
|
+
declare function resolveOutDir(config: UserConfig, isSSR?: true): string;
|
|
@@ -1,57 +1,39 @@
|
|
|
1
1
|
export { getOutDirs };
|
|
2
2
|
export { resolveOutDir };
|
|
3
|
-
import { viteIsSSR } from './viteIsSSR.js';
|
|
4
|
-
import { assert, assertUsage } from './assert.js';
|
|
5
|
-
import { pathJoin } from './path-shim.js';
|
|
6
|
-
import { assertPosixPath, toPosixPath } from './filesystemPathHandling.js';
|
|
7
3
|
import pc from '@brillout/picocolors';
|
|
8
|
-
import { createDebugger } from '
|
|
4
|
+
import { assert, assertPosixPath, assertUsage, createDebugger, pathJoin, toPosixPath } from '../utils.js';
|
|
5
|
+
import { viteIsSSR } from './viteIsSSR.js';
|
|
9
6
|
const debug = createDebugger('vike:outDir');
|
|
10
7
|
function getOutDirs(config) {
|
|
11
8
|
debug('getOutDirs()', new Error().stack);
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
outDirRoot = outDir;
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
assertOutDirResolved(outDir, config);
|
|
20
|
-
assert(outDir.endsWith('/server') || outDir.endsWith('/client'));
|
|
21
|
-
assert('/client'.length === '/server'.length);
|
|
22
|
-
outDirRoot = outDir.slice(0, -1 * '/client'.length);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
const outDirs = getOutDirsAll(outDirRoot, config.root);
|
|
26
|
-
debug('outDirRoot', outDirRoot);
|
|
27
|
-
debug('outDirs', outDirs);
|
|
9
|
+
const outDir = getOutDirFromViteResolvedConfig(config);
|
|
10
|
+
if (!isOutDirRoot(outDir))
|
|
11
|
+
assertOutDirResolved(outDir, config);
|
|
12
|
+
const outDirs = getOutDirsAll(outDir, config.root);
|
|
28
13
|
return outDirs;
|
|
29
14
|
}
|
|
30
15
|
/** Appends `client/` or `server/` to `config.build.outDir` */
|
|
31
|
-
function resolveOutDir(config) {
|
|
16
|
+
function resolveOutDir(config, isSSR) {
|
|
32
17
|
debug('resolveOutDir()', new Error().stack);
|
|
18
|
+
const isServerSide = viteIsSSR(config) || isSSR;
|
|
19
|
+
debug('isServerSide', isServerSide);
|
|
33
20
|
const outDir = getOutDirFromViteUserConfig(config) || 'dist';
|
|
34
|
-
debug('outDir',
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
21
|
+
debug('outDir', outDir);
|
|
22
|
+
/* outDir may already be resolved when using Telefunc + Vike (because both Telefunc and Vike use this logic)
|
|
23
|
+
assert(isOutDirRoot(outDir))
|
|
24
|
+
*/
|
|
25
|
+
const { outDirClient, outDirServer } = getOutDirsAll(outDir);
|
|
26
|
+
if (isServerSide) {
|
|
27
|
+
debug('outDirServer', 'outDirServer');
|
|
28
|
+
return outDirServer;
|
|
39
29
|
}
|
|
40
30
|
else {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
debug('outDirServer', 'outDirServer');
|
|
44
|
-
return outDirServer;
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
debug('outDirClient', 'outDirClient');
|
|
48
|
-
return outDirClient;
|
|
49
|
-
}
|
|
31
|
+
debug('outDirClient', 'outDirClient');
|
|
32
|
+
return outDirClient;
|
|
50
33
|
}
|
|
51
34
|
}
|
|
52
35
|
function determineOutDirs(outDirRoot) {
|
|
53
36
|
assertPosixPath(outDirRoot);
|
|
54
|
-
assert(!outDirRoot.endsWith('/'));
|
|
55
37
|
assert(isOutDirRoot(outDirRoot));
|
|
56
38
|
const outDirClient = pathJoin(outDirRoot, 'client');
|
|
57
39
|
const outDirServer = pathJoin(outDirRoot, 'server');
|
|
@@ -59,8 +41,35 @@ function determineOutDirs(outDirRoot) {
|
|
|
59
41
|
assertIsNotOutDirRoot(outDirServer);
|
|
60
42
|
return { outDirClient, outDirServer };
|
|
61
43
|
}
|
|
62
|
-
function getOutDirsAll(
|
|
63
|
-
|
|
44
|
+
function getOutDirsAll(outDir, root) {
|
|
45
|
+
let outDirRoot;
|
|
46
|
+
{
|
|
47
|
+
if (isOutDirRoot(outDir)) {
|
|
48
|
+
outDirRoot = outDir;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
assert(outDir.endsWith('/server') || outDir.endsWith('/client'));
|
|
52
|
+
assert('/client'.length === '/server'.length);
|
|
53
|
+
outDirRoot = outDir.slice(0, -1 * '/client'.length);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
debug('outDirRoot', outDirRoot);
|
|
57
|
+
let outDirs;
|
|
58
|
+
if (root) {
|
|
59
|
+
outDirs = getOutDirsAllFromRootNormalized(outDirRoot, root);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
outDirs = getOutDirsAllFromRoot(outDirRoot);
|
|
63
|
+
}
|
|
64
|
+
debug('outDirs', outDirs);
|
|
65
|
+
return outDirs;
|
|
66
|
+
}
|
|
67
|
+
function getOutDirsAllFromRoot(outDirRoot) {
|
|
68
|
+
let { outDirClient, outDirServer } = determineOutDirs(outDirRoot);
|
|
69
|
+
return { outDirRoot, outDirClient, outDirServer };
|
|
70
|
+
}
|
|
71
|
+
function getOutDirsAllFromRootNormalized(outDirRoot, root) {
|
|
72
|
+
if (root && !outDirIsAbsolutePath(outDirRoot)) {
|
|
64
73
|
assertPosixPath(outDirRoot);
|
|
65
74
|
assertPosixPath(root);
|
|
66
75
|
outDirRoot = pathJoin(root, outDirRoot);
|
|
@@ -88,7 +97,7 @@ function isOutDirRoot(outDirRot) {
|
|
|
88
97
|
function assertIsNotOutDirRoot(outDir) {
|
|
89
98
|
assert(outDir.endsWith('/client') || outDir.endsWith('/server'));
|
|
90
99
|
}
|
|
91
|
-
/** `outDir` ends with `/server` or `/client` */
|
|
100
|
+
/** Assert that `outDir` ends with `/server` or `/client` */
|
|
92
101
|
function assertOutDirResolved(outDir, config) {
|
|
93
102
|
assertPosixPath(outDir);
|
|
94
103
|
assertIsNotOutDirRoot(outDir);
|
|
@@ -106,16 +115,16 @@ function getOutDirFromViteUserConfig(config) {
|
|
|
106
115
|
let outDir = config.build?.outDir;
|
|
107
116
|
if (outDir === undefined)
|
|
108
117
|
return undefined;
|
|
109
|
-
outDir =
|
|
118
|
+
outDir = normalizeOutDir(outDir);
|
|
110
119
|
return outDir;
|
|
111
120
|
}
|
|
112
121
|
function getOutDirFromViteResolvedConfig(config) {
|
|
113
122
|
let outDir = config.build.outDir;
|
|
114
123
|
assert(outDir);
|
|
115
|
-
outDir =
|
|
124
|
+
outDir = normalizeOutDir(outDir);
|
|
116
125
|
return outDir;
|
|
117
126
|
}
|
|
118
|
-
function
|
|
127
|
+
function normalizeOutDir(outDir) {
|
|
119
128
|
outDir = toPosixPath(outDir);
|
|
120
129
|
outDir = outDir.replace(/\/+$/, ''); // remove trailing slashes
|
|
121
130
|
return outDir;
|
package/dist/esm/node/plugin/{resolveClientEntriesDev.js → shared/resolveClientEntriesDev.js}
RENAMED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
export { resolveClientEntriesDev };
|
|
2
|
-
import { assert, assertPosixPath, toPosixPath, pathJoin, assertIsNpmPackageImport, assertIsNotProductionRuntime } from '
|
|
2
|
+
import { assert, assertPosixPath, toPosixPath, pathJoin, assertIsNpmPackageImport, assertIsNotProductionRuntime } from '../utils.js';
|
|
3
3
|
import { createRequire } from 'module';
|
|
4
|
-
import { dirname } from 'path';
|
|
5
|
-
import { fileURLToPath } from 'url';
|
|
6
4
|
// @ts-ignore Shimmed by dist-cjs-fixup.js for CJS build.
|
|
7
5
|
const importMetaUrl = import.meta.url;
|
|
8
6
|
const require_ = createRequire(importMetaUrl);
|
|
9
|
-
const __dirname_ = dirname(fileURLToPath(importMetaUrl));
|
|
10
7
|
assertIsNotProductionRuntime();
|
|
11
8
|
async function resolveClientEntriesDev(clientEntry, viteDevServer) {
|
|
12
9
|
let root = viteDevServer.config.root;
|
|
@@ -32,13 +29,13 @@ async function resolveClientEntriesDev(clientEntry, viteDevServer) {
|
|
|
32
29
|
assert(clientEntry.endsWith('.js'));
|
|
33
30
|
try {
|
|
34
31
|
// For Vitest (which doesn't resolve vike to its dist but to its source files)
|
|
35
|
-
// [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/node/plugin/resolveClientEntriesDev.js
|
|
36
|
-
filePath = toPosixPath(require_.resolve(clientEntry.replace('@@vike/dist/esm/client/', '
|
|
32
|
+
// [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/node/plugin/shared/resolveClientEntriesDev.js
|
|
33
|
+
filePath = toPosixPath(require_.resolve(clientEntry.replace('@@vike/dist/esm/client/', '../../../client/').replace('.js', '.ts')));
|
|
37
34
|
}
|
|
38
35
|
catch {
|
|
39
36
|
// For users
|
|
40
|
-
// [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/dist/esm/node/plugin/resolveClientEntriesDev.js
|
|
41
|
-
filePath = toPosixPath(require_.resolve(clientEntry.replace('@@vike/dist/esm/client/', '
|
|
37
|
+
// [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/dist/esm/node/plugin/shared/resolveClientEntriesDev.js
|
|
38
|
+
filePath = toPosixPath(require_.resolve(clientEntry.replace('@@vike/dist/esm/client/', '../../../../../dist/esm/client/')));
|
|
42
39
|
}
|
|
43
40
|
}
|
|
44
41
|
else {
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
+
import type { ResolvedConfig, UserConfig } from 'vite';
|
|
1
2
|
export { viteIsSSR };
|
|
2
3
|
export { viteIsSSR_options };
|
|
3
|
-
declare function viteIsSSR(config:
|
|
4
|
-
build?: {
|
|
5
|
-
ssr?: boolean | string;
|
|
6
|
-
};
|
|
7
|
-
}): boolean;
|
|
4
|
+
declare function viteIsSSR(config: ResolvedConfig | UserConfig): boolean;
|
|
8
5
|
type Options = undefined | boolean | {
|
|
9
6
|
ssr?: boolean;
|
|
10
7
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { assert } from '
|
|
2
|
-
import { isObject } from '
|
|
1
|
+
import { assert } from '../../../utils/assert.js';
|
|
2
|
+
import { isObject } from '../../../utils/isObject.js';
|
|
3
3
|
export { viteIsSSR };
|
|
4
4
|
export { viteIsSSR_options };
|
|
5
5
|
function viteIsSSR(config) {
|
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
// We call onLoad() here so that it's called even when only a subset of the plugin is loaded. (Making the assert() calls inside onLoad() a lot stronger.)
|
|
3
3
|
import { onLoad } from './onLoad.js';
|
|
4
4
|
onLoad();
|
|
5
|
-
//
|
|
5
|
+
// It's common practice for Vike's Vite plugin to import from Vike's sever runtime
|
|
6
6
|
export * from '../runtime/utils.js';
|
|
7
7
|
// Utils only needed by `plugin/*`
|
|
8
|
-
export * from '../../utils/viteIsSSR.js';
|
|
9
8
|
export * from '../../utils/requireResolve.js';
|
|
10
9
|
export * from '../../utils/includes.js';
|
|
11
10
|
export * from '../../utils/isDev.js';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { isPrerenderEnabled };
|
|
2
|
+
export { isPrerenderAutoRunEnabled };
|
|
3
|
+
export { temp_disablePrerenderAutoRun };
|
|
4
|
+
export { isPrerendering };
|
|
5
|
+
export { setContextIsPrerendering };
|
|
6
|
+
import type { VikeConfigObject } from '../plugin/plugins/importUserCode/v1-design/getVikeConfig.js';
|
|
7
|
+
declare function isPrerenderEnabled(vikeConfig: VikeConfigObject): boolean;
|
|
8
|
+
declare function isPrerenderAutoRunEnabled(vikeConfig: VikeConfigObject): boolean;
|
|
9
|
+
declare function temp_disablePrerenderAutoRun(): void;
|
|
10
|
+
declare function isPrerendering(): boolean;
|
|
11
|
+
declare function setContextIsPrerendering(): void;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export { isPrerenderEnabled };
|
|
2
|
+
export { isPrerenderAutoRunEnabled };
|
|
3
|
+
export { temp_disablePrerenderAutoRun };
|
|
4
|
+
export { isPrerendering };
|
|
5
|
+
export { setContextIsPrerendering };
|
|
6
|
+
import { getGlobalObject } from '../../utils/getGlobalObject.js';
|
|
7
|
+
import { resolvePrerenderConfig } from './resolvePrerenderConfig.js';
|
|
8
|
+
const globalObject = getGlobalObject('prerender/context.ts', {});
|
|
9
|
+
function isPrerenderEnabled(vikeConfig) {
|
|
10
|
+
const prerenderConfig = resolvePrerenderConfig(vikeConfig);
|
|
11
|
+
return !!prerenderConfig;
|
|
12
|
+
}
|
|
13
|
+
function isPrerenderAutoRunEnabled(vikeConfig) {
|
|
14
|
+
const prerenderConfig = resolvePrerenderConfig(vikeConfig);
|
|
15
|
+
return (isPrerenderEnabled(vikeConfig) &&
|
|
16
|
+
!(prerenderConfig || {}).disableAutoRun &&
|
|
17
|
+
!globalObject.isDisabled &&
|
|
18
|
+
vikeConfig.global.config.disableAutoFullBuild !== 'prerender');
|
|
19
|
+
}
|
|
20
|
+
// TODO/v1-release: remove
|
|
21
|
+
function temp_disablePrerenderAutoRun() {
|
|
22
|
+
globalObject.isDisabled = true;
|
|
23
|
+
}
|
|
24
|
+
function isPrerendering() {
|
|
25
|
+
return !!globalObject.isPrerendering;
|
|
26
|
+
}
|
|
27
|
+
function setContextIsPrerendering() {
|
|
28
|
+
globalObject.isPrerendering = true;
|
|
29
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { resolvePrerenderConfig };
|
|
2
|
+
export { resolvePrerenderConfigLocal };
|
|
3
|
+
import type { ConfigResolved } from '../../shared/page-configs/Config/PageContextConfig.js';
|
|
4
|
+
import { VikeConfigObject } from '../plugin/plugins/importUserCode/v1-design/getVikeConfig.js';
|
|
5
|
+
import type { PageConfigBuildTime } from '../../shared/page-configs/PageConfig.js';
|
|
6
|
+
type PrerenderConfigSemiResolved = ConfigResolved['prerender'];
|
|
7
|
+
type PrerenderConfig = false | Exclude<Required<NonNullable<PrerenderConfigSemiResolved>[number]>, boolean>;
|
|
8
|
+
declare function resolvePrerenderConfig(vikeConfig: VikeConfigObject): PrerenderConfig;
|
|
9
|
+
declare function resolvePrerenderConfigLocal(pageConfig: PageConfigBuildTime): {
|
|
10
|
+
value: boolean;
|
|
11
|
+
configValueFilePathToShowToUser: string;
|
|
12
|
+
} | null;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export { resolvePrerenderConfig };
|
|
2
|
+
export { resolvePrerenderConfigLocal };
|
|
3
|
+
import { assert, isArray } from './utils.js';
|
|
4
|
+
import { getConfigValueBuildTime } from '../../shared/page-configs/getConfigValueBuildTime.js';
|
|
5
|
+
import { getConfigValueFilePathToShowToUser } from '../../shared/page-configs/helpers.js';
|
|
6
|
+
// TODO/now:
|
|
7
|
+
// - prerender.value
|
|
8
|
+
function resolvePrerenderConfig(vikeConfig) {
|
|
9
|
+
const prerenderConfigs = vikeConfig.global.config.prerender;
|
|
10
|
+
if (!prerenderConfigs &&
|
|
11
|
+
!vikeConfig.pageConfigs.some((pageConfig) => resolvePrerenderConfigLocal(pageConfig)?.value)) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
let prerenderSettings = prerenderConfigs || [];
|
|
15
|
+
// Needed because of backwards compatibility of `vike({prerender:true})` in `vite.config.js`; after we remove it we can remove this line.
|
|
16
|
+
prerenderSettings = prerenderSettings.filter(isObject2);
|
|
17
|
+
assert(prerenderSettings.every(isObject2));
|
|
18
|
+
const prerenderConfig = {
|
|
19
|
+
partial: pickFirst(prerenderSettings.map((c) => c.partial)) ?? false,
|
|
20
|
+
noExtraDir: pickFirst(prerenderSettings.map((c) => c.noExtraDir)) ?? false,
|
|
21
|
+
parallel: pickFirst(prerenderSettings.map((c) => c.parallel)) ?? true,
|
|
22
|
+
disableAutoRun: pickFirst(prerenderSettings.map((c) => c.disableAutoRun)) ?? false
|
|
23
|
+
};
|
|
24
|
+
return prerenderConfig;
|
|
25
|
+
}
|
|
26
|
+
function resolvePrerenderConfigLocal(pageConfig) {
|
|
27
|
+
const configValue = getConfigValueBuildTime(pageConfig, 'prerender');
|
|
28
|
+
if (!configValue)
|
|
29
|
+
return null;
|
|
30
|
+
const values = configValue.value;
|
|
31
|
+
assert(isArray(values));
|
|
32
|
+
const value = values[0];
|
|
33
|
+
assert(typeof value === 'boolean');
|
|
34
|
+
assert(isArray(configValue.definedAtData));
|
|
35
|
+
const configValueFilePathToShowToUser = getConfigValueFilePathToShowToUser(configValue.definedAtData[0]);
|
|
36
|
+
assert(configValueFilePathToShowToUser);
|
|
37
|
+
return { value, configValueFilePathToShowToUser };
|
|
38
|
+
}
|
|
39
|
+
function isObject2(p) {
|
|
40
|
+
return typeof p === 'object' && p !== null;
|
|
41
|
+
}
|
|
42
|
+
function pickFirst(arr) {
|
|
43
|
+
return arr.filter((v) => v !== undefined)[0];
|
|
44
|
+
}
|
|
@@ -3,8 +3,47 @@ export { runPrerenderFromCLIPrerenderCommand };
|
|
|
3
3
|
export { runPrerenderFromAutoRun };
|
|
4
4
|
export { runPrerender_forceExit };
|
|
5
5
|
export type { PrerenderOptions };
|
|
6
|
+
export type { PrerenderContextPublic };
|
|
7
|
+
import { PageContextInitEnhanced } from '../runtime/renderPage/renderPageAlreadyRouted.js';
|
|
6
8
|
import type { InlineConfig, ResolvedConfig } from 'vite';
|
|
9
|
+
import { PageContextUrlInternal } from '../../shared/getPageContextUrlComputed.js';
|
|
7
10
|
import type { APIOptions } from '../api/types.js';
|
|
11
|
+
type ProvidedByHook = null | {
|
|
12
|
+
hookFilePath: string;
|
|
13
|
+
hookName: 'onBeforePrerenderStart' | 'prerender';
|
|
14
|
+
};
|
|
15
|
+
type TransformerHook = {
|
|
16
|
+
hookFilePath: string;
|
|
17
|
+
hookName: 'onPrerenderStart' | 'onBeforePrerender';
|
|
18
|
+
};
|
|
19
|
+
type PageContextPrerendered = {
|
|
20
|
+
urlOriginal: string;
|
|
21
|
+
_providedByHook?: ProvidedByHook;
|
|
22
|
+
};
|
|
23
|
+
type PrerenderedPageContexts = Record<string, PageContextPrerendered>;
|
|
24
|
+
type PrerenderContext = {
|
|
25
|
+
pageContexts: PageContext[];
|
|
26
|
+
pageContextInit: Record<string, unknown> | null;
|
|
27
|
+
noExtraDir: boolean;
|
|
28
|
+
prerenderedPageContexts: PrerenderedPageContexts;
|
|
29
|
+
output: Output;
|
|
30
|
+
};
|
|
31
|
+
type Output = {
|
|
32
|
+
filePath: string;
|
|
33
|
+
fileType: FileType;
|
|
34
|
+
fileContent: string;
|
|
35
|
+
pageContext: PageContextPrerendered;
|
|
36
|
+
}[];
|
|
37
|
+
type FileType = 'HTML' | 'JSON';
|
|
38
|
+
type PrerenderContextPublic = Pick<PrerenderContext, 'pageContexts'>;
|
|
39
|
+
type PageContext = PageContextInitEnhanced & {
|
|
40
|
+
_urlRewrite: null;
|
|
41
|
+
_urlHandler: null;
|
|
42
|
+
_urlOriginalBeforeHook?: string;
|
|
43
|
+
_urlOriginalModifiedByHook?: TransformerHook;
|
|
44
|
+
_providedByHook: ProvidedByHook;
|
|
45
|
+
_pageContextAlreadyProvidedByOnPrerenderHook?: true;
|
|
46
|
+
} & PageContextUrlInternal;
|
|
8
47
|
type PrerenderOptions = APIOptions & {
|
|
9
48
|
/** Initial `pageContext` values */
|
|
10
49
|
pageContextInit?: Record<string, unknown>;
|
|
@@ -29,5 +68,7 @@ declare function runPrerenderFromAPI(options?: PrerenderOptions): Promise<{
|
|
|
29
68
|
viteConfig: ResolvedConfig;
|
|
30
69
|
}>;
|
|
31
70
|
declare function runPrerenderFromCLIPrerenderCommand(): Promise<void>;
|
|
32
|
-
declare function runPrerenderFromAutoRun(viteConfig: InlineConfig | undefined): Promise<
|
|
71
|
+
declare function runPrerenderFromAutoRun(viteConfig: InlineConfig | undefined, config: ResolvedConfig): Promise<{
|
|
72
|
+
forceExit: boolean;
|
|
73
|
+
}>;
|
|
33
74
|
declare function runPrerender_forceExit(): void;
|