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
|
@@ -5,86 +5,94 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getGlobalContextSync = getGlobalContextSync;
|
|
7
7
|
exports.getGlobalContextAsync = getGlobalContextAsync;
|
|
8
|
-
exports.
|
|
8
|
+
exports.getGlobalContextInternal = getGlobalContextInternal;
|
|
9
9
|
exports.getViteDevServer = getViteDevServer;
|
|
10
10
|
exports.getViteConfig = getViteConfig;
|
|
11
|
-
exports.getRuntimeManifest = getRuntimeManifest;
|
|
12
11
|
exports.initGlobalContext_renderPage = initGlobalContext_renderPage;
|
|
13
12
|
exports.initGlobalContext_runPrerender = initGlobalContext_runPrerender;
|
|
14
|
-
exports.
|
|
13
|
+
exports.initGlobalContext_getPagesAndRoutes = initGlobalContext_getPagesAndRoutes;
|
|
15
14
|
exports.setGlobalContext_viteDevServer = setGlobalContext_viteDevServer;
|
|
16
15
|
exports.setGlobalContext_viteConfig = setGlobalContext_viteConfig;
|
|
17
|
-
exports.setGlobalContext_vikeConfig = setGlobalContext_vikeConfig;
|
|
18
|
-
exports.setGlobalContext_isViteDev = setGlobalContext_isViteDev;
|
|
19
16
|
exports.setGlobalContext_isPrerendering = setGlobalContext_isPrerendering;
|
|
17
|
+
exports.setGlobalContext_isProduction = setGlobalContext_isProduction;
|
|
20
18
|
exports.setGlobalContext_buildEntry = setGlobalContext_buildEntry;
|
|
21
19
|
exports.clearGlobalContext = clearGlobalContext;
|
|
20
|
+
exports.assertBuildInfo = assertBuildInfo;
|
|
21
|
+
exports.getViteConfigRuntime = getViteConfigRuntime;
|
|
22
|
+
exports.updateUserFiles = updateUserFiles;
|
|
23
|
+
// The core logic revolves around:
|
|
24
|
+
// - globalObject.userFiles which is the main requirement for assembleGlobalContext()
|
|
25
|
+
// - In production: globalObject.buildEntry which is the production entry set by @brillout/vite-plugin-server-entry
|
|
26
|
+
// - loadBuildEntry() sets globalObject.buildEntry and then sets globalObject.userFiles
|
|
27
|
+
// - With vike-server it's set at server start: @brillout/vite-plugin-server-entry injects `import './entry.mjs'` (the production entry generated by @brillout/vite-plugin-server-entry) as first line of code of dist/server/index.mjs while dist/server/entry.mjs calls setGlobalContext_buildEntry()
|
|
28
|
+
// - Without vike-server it's manually loaded here using importServerProductionEntry() which uses @brillout/vite-plugin-server-entry's autoImporter or crawler
|
|
29
|
+
// - In development: globalObject.viteDevServer which is Vite's development server
|
|
30
|
+
// - globalObject.viteDevServer is used by updateUserFiles() which then sets globalConfig.userFiles
|
|
22
31
|
const utils_js_1 = require("./utils.js");
|
|
23
32
|
const runtime_1 = require("@brillout/vite-plugin-server-entry/runtime");
|
|
24
33
|
const virtualFileImportUserCode_js_1 = require("../shared/virtual-files/virtualFileImportUserCode.js");
|
|
25
|
-
const getPageFiles_js_1 = require("../../shared/getPageFiles/getPageFiles.js");
|
|
26
|
-
const assertPluginManifest_js_1 = require("../shared/assertPluginManifest.js");
|
|
27
|
-
const assertRuntimeManifest_js_1 = require("../shared/assertRuntimeManifest.js");
|
|
28
34
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
29
|
-
const resolveBase_js_1 = require("../shared/resolveBase.js");
|
|
30
35
|
const loadPageRoutes_js_1 = require("../../shared/route/loadPageRoutes.js");
|
|
31
36
|
const assertV1Design_js_1 = require("../shared/assertV1Design.js");
|
|
37
|
+
const getPageConfigsRuntime_js_1 = require("../../shared/getPageConfigsRuntime.js");
|
|
32
38
|
const debug = (0, utils_js_1.createDebugger)('vike:globalContext');
|
|
33
39
|
const globalObject = (0, utils_js_1.getGlobalObject)('globalContext.ts', getInitialGlobalContext());
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
40
|
+
async function getGlobalContextInternal() {
|
|
41
|
+
// getGlobalContextInternal() should always be called after initGlobalContext()
|
|
42
|
+
(0, utils_js_1.assert)(globalObject.isInitialized);
|
|
43
|
+
assertGlobalContextIsDefined();
|
|
44
|
+
if (globalObject.isProduction !== true)
|
|
45
|
+
await globalObject.waitForUserFilesUpdate;
|
|
46
|
+
const { globalContext } = globalObject;
|
|
47
|
+
assertIsDefined(globalContext);
|
|
48
|
+
return globalContext;
|
|
49
|
+
}
|
|
50
|
+
function assertIsDefined(globalContext) {
|
|
51
|
+
if (!globalContext) {
|
|
52
|
+
debug('globalContext', globalContext);
|
|
53
|
+
debug('assertIsDefined()', new Error().stack);
|
|
38
54
|
(0, utils_js_1.assert)(false);
|
|
39
55
|
}
|
|
40
|
-
|
|
56
|
+
}
|
|
57
|
+
function assertGlobalContextIsDefined() {
|
|
58
|
+
assertIsDefined(globalObject.globalContext);
|
|
59
|
+
(0, utils_js_1.assert)(globalObject.globalContext_public);
|
|
41
60
|
}
|
|
42
61
|
/** @experimental https://vike.dev/getGlobalContext */
|
|
43
62
|
function getGlobalContextSync() {
|
|
44
|
-
|
|
45
|
-
|
|
63
|
+
const { globalContext_public } = globalObject;
|
|
64
|
+
(0, utils_js_1.assertUsage)(globalContext_public, "The global context isn't set yet, call getGlobalContextSync() later or use getGlobalContextAsync() instead.");
|
|
65
|
+
return globalContext_public;
|
|
46
66
|
}
|
|
47
67
|
/** @experimental https://vike.dev/getGlobalContext */
|
|
48
68
|
async function getGlobalContextAsync(isProduction) {
|
|
49
69
|
(0, utils_js_1.assertUsage)(typeof isProduction === 'boolean', `[getGlobalContextAsync(isProduction)] Argument ${picocolors_1.default.cyan('isProduction')} ${isProduction === undefined ? 'is missing' : `should be ${picocolors_1.default.cyan('true')} or ${picocolors_1.default.cyan('false')}`}`);
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
70
|
+
setIsProduction(isProduction);
|
|
71
|
+
if (!globalObject.globalContext)
|
|
72
|
+
await initGlobalContext_getGlobalContextAsync();
|
|
73
|
+
if (!isProduction)
|
|
74
|
+
await globalObject.waitForUserFilesUpdate;
|
|
75
|
+
assertGlobalContextIsDefined();
|
|
76
|
+
const { globalContext_public } = globalObject;
|
|
77
|
+
(0, utils_js_1.assert)(globalContext_public);
|
|
78
|
+
return globalContext_public;
|
|
54
79
|
}
|
|
55
80
|
function makePublic(globalContext) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
assetsManifest: globalContext.assetsManifest
|
|
59
|
-
};
|
|
60
|
-
// Add internals (and prepended _ prefix to their keys)
|
|
61
|
-
{
|
|
62
|
-
const publicKeys = Object.keys(globalContextPublic);
|
|
63
|
-
(0, utils_js_1.objectKeys)(globalContext)
|
|
64
|
-
.filter((key) => !publicKeys.includes(key))
|
|
65
|
-
.forEach((key) => {
|
|
66
|
-
const keyPublic = `_${key}`;
|
|
67
|
-
Object.defineProperty(globalContextPublic, keyPublic, {
|
|
68
|
-
enumerable: true,
|
|
69
|
-
get() {
|
|
70
|
-
(0, utils_js_1.assertWarning)(false, `Using internal globalContext.${keyPublic} which is discouraged: it may break in any minor version update. Instead, reach out on GitHub and elaborate your use case.`, {
|
|
71
|
-
onlyOnce: true
|
|
72
|
-
});
|
|
73
|
-
return globalContext[key];
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
}
|
|
81
|
+
// TODO/soon: add `pages`
|
|
82
|
+
const globalContextPublic = (0, utils_js_1.makePublicCopy)(globalContext, 'globalContext', ['assetsManifest', 'config', 'viteConfig']);
|
|
78
83
|
return globalContextPublic;
|
|
79
84
|
}
|
|
80
|
-
function setGlobalContext_viteDevServer(viteDevServer) {
|
|
85
|
+
async function setGlobalContext_viteDevServer(viteDevServer) {
|
|
86
|
+
debug('setGlobalContext_viteDevServer()');
|
|
87
|
+
setIsProduction(false);
|
|
81
88
|
if (globalObject.viteDevServer)
|
|
82
89
|
return;
|
|
83
90
|
assertIsNotInitilizedYet();
|
|
84
91
|
(0, utils_js_1.assert)(globalObject.viteConfig);
|
|
85
92
|
globalObject.viteDevServer = viteDevServer;
|
|
93
|
+
await updateUserFiles();
|
|
94
|
+
assertGlobalContextIsDefined();
|
|
86
95
|
globalObject.viteDevServerPromiseResolve(viteDevServer);
|
|
87
|
-
eagerlyLoadUserFiles();
|
|
88
96
|
}
|
|
89
97
|
function setGlobalContext_viteConfig(viteConfig, outDirRoot) {
|
|
90
98
|
if (globalObject.viteConfig)
|
|
@@ -93,21 +101,16 @@ function setGlobalContext_viteConfig(viteConfig, outDirRoot) {
|
|
|
93
101
|
globalObject.viteConfig = viteConfig;
|
|
94
102
|
globalObject.outDirRoot = outDirRoot;
|
|
95
103
|
}
|
|
96
|
-
function setGlobalContext_vikeConfig(vikeConfig) {
|
|
97
|
-
if (globalObject.vikeConfig)
|
|
98
|
-
return;
|
|
99
|
-
assertIsNotInitilizedYet();
|
|
100
|
-
globalObject.vikeConfig = vikeConfig;
|
|
101
|
-
}
|
|
102
104
|
function assertIsNotInitilizedYet() {
|
|
103
|
-
// In
|
|
105
|
+
// In development, globalObject.viteDevServer always needs to be awaited for before initializing globalObject.globalContext
|
|
104
106
|
(0, utils_js_1.assert)(!globalObject.globalContext);
|
|
105
107
|
}
|
|
106
|
-
function setGlobalContext_isViteDev(isViteDev) {
|
|
107
|
-
globalObject.isViteDev = isViteDev;
|
|
108
|
-
}
|
|
109
108
|
function setGlobalContext_isPrerendering() {
|
|
110
109
|
globalObject.isPrerendering = true;
|
|
110
|
+
setIsProduction(true);
|
|
111
|
+
}
|
|
112
|
+
function setGlobalContext_isProduction(isProduction) {
|
|
113
|
+
setIsProduction(isProduction);
|
|
111
114
|
}
|
|
112
115
|
function getViteDevServer() {
|
|
113
116
|
return globalObject.viteDevServer ?? null;
|
|
@@ -117,10 +120,15 @@ function getViteConfig() {
|
|
|
117
120
|
}
|
|
118
121
|
async function initGlobalContext_renderPage() {
|
|
119
122
|
debug('initGlobalContext_renderPage()');
|
|
120
|
-
|
|
123
|
+
// globalObject.isProduction isn't set upon production server without vike-server (there isn't any signal we can use)
|
|
124
|
+
if (globalObject.isProduction === undefined)
|
|
125
|
+
setIsProduction(true);
|
|
126
|
+
await initGlobalContext();
|
|
121
127
|
}
|
|
122
128
|
async function initGlobalContext_runPrerender() {
|
|
123
129
|
debug('initGlobalContext_runPrerender()');
|
|
130
|
+
(0, utils_js_1.assert)(globalObject.isPrerendering === true);
|
|
131
|
+
(0, utils_js_1.assert)(globalObject.isProduction === true);
|
|
124
132
|
if (globalObject.initGlobalContext_runPrerender_alreadyCalled)
|
|
125
133
|
return;
|
|
126
134
|
globalObject.initGlobalContext_runPrerender_alreadyCalled = true;
|
|
@@ -130,99 +138,122 @@ async function initGlobalContext_runPrerender() {
|
|
|
130
138
|
// We assume initGlobalContext_runPrerender() to be called before:
|
|
131
139
|
// - initGlobalContext_renderPage()
|
|
132
140
|
// - initGlobalContext_getGlobalContextAsync()
|
|
133
|
-
(
|
|
134
|
-
await initGlobalContext(
|
|
141
|
+
assertIsNotInitilizedYet();
|
|
142
|
+
await initGlobalContext();
|
|
135
143
|
}
|
|
136
|
-
async function initGlobalContext_getGlobalContextAsync(
|
|
144
|
+
async function initGlobalContext_getGlobalContextAsync() {
|
|
137
145
|
debug('initGlobalContext_getGlobalContextAsync()');
|
|
146
|
+
await initGlobalContext();
|
|
147
|
+
}
|
|
148
|
+
async function initGlobalContext_getPagesAndRoutes() {
|
|
149
|
+
debug('initGlobalContext_getPagesAndRoutes()');
|
|
150
|
+
setIsProduction(true);
|
|
151
|
+
await initGlobalContext();
|
|
152
|
+
}
|
|
153
|
+
async function waitForViteDevServer() {
|
|
154
|
+
debug('waitForViteDevServer()');
|
|
155
|
+
const waitFor = 20;
|
|
156
|
+
const timeout = setTimeout(() => {
|
|
157
|
+
(0, utils_js_1.assertWarning)(false, `Vite's development server still not created after ${waitFor} seconds.`, {
|
|
158
|
+
onlyOnce: false,
|
|
159
|
+
showStackTrace: true
|
|
160
|
+
});
|
|
161
|
+
}, waitFor * 1000);
|
|
162
|
+
await globalObject.viteDevServerPromise;
|
|
163
|
+
clearTimeout(timeout);
|
|
164
|
+
assertGlobalContextIsDefined();
|
|
165
|
+
}
|
|
166
|
+
async function initGlobalContext() {
|
|
167
|
+
const { isProduction } = globalObject;
|
|
168
|
+
(0, utils_js_1.assert)(typeof isProduction === 'boolean');
|
|
138
169
|
if (!isProduction) {
|
|
139
|
-
|
|
140
|
-
const timeout = setTimeout(() => {
|
|
141
|
-
(0, utils_js_1.assertWarning)(false, `Vite's development server still not created after ${waitFor} seconds.`, {
|
|
142
|
-
onlyOnce: false,
|
|
143
|
-
showStackTrace: true
|
|
144
|
-
});
|
|
145
|
-
}, waitFor * 1000);
|
|
146
|
-
await globalObject.viteDevServerPromise;
|
|
147
|
-
clearTimeout(timeout);
|
|
170
|
+
await waitForViteDevServer();
|
|
148
171
|
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
// TODO/now: refactor: move this to the top of the file
|
|
152
|
-
async function initGlobalContext(isProduction) {
|
|
153
|
-
if (globalObject.globalContext) {
|
|
154
|
-
(0, utils_js_1.assert)(globalObject.globalContext.isProduction === isProduction);
|
|
155
|
-
// We assume setGlobalContext_isPrerendering() is called before initGlobalContext()
|
|
156
|
-
(0, utils_js_1.assert)(globalObject.globalContext.isPrerendering === (globalObject.isPrerendering ?? false));
|
|
157
|
-
return;
|
|
172
|
+
else {
|
|
173
|
+
await loadBuildEntry(globalObject.outDirRoot);
|
|
158
174
|
}
|
|
159
|
-
|
|
175
|
+
assertGlobalContextIsDefined();
|
|
176
|
+
globalObject.isInitialized = true;
|
|
177
|
+
}
|
|
178
|
+
function setIsProduction(isProduction) {
|
|
179
|
+
debug('setIsProduction', isProduction);
|
|
180
|
+
(0, utils_js_1.assert)(typeof isProduction === 'boolean');
|
|
181
|
+
if (globalObject.isProduction !== undefined)
|
|
182
|
+
(0, utils_js_1.assert)(globalObject.isProduction === isProduction);
|
|
183
|
+
globalObject.isProduction = isProduction;
|
|
184
|
+
}
|
|
185
|
+
function defineGlobalContext() {
|
|
186
|
+
const globalContext = assembleGlobalContext();
|
|
187
|
+
assertIsDefined(globalContext);
|
|
188
|
+
const globalContext_public = makePublic(globalContext);
|
|
189
|
+
(0, utils_js_1.objectAssign)(globalContext, { globalContext_public });
|
|
190
|
+
globalObject.globalContext = globalContext;
|
|
191
|
+
globalObject.globalContext_public = globalContext_public;
|
|
192
|
+
assertGlobalContextIsDefined();
|
|
160
193
|
(0, utils_js_1.onSetupRuntime)();
|
|
194
|
+
}
|
|
195
|
+
function assembleGlobalContext() {
|
|
196
|
+
const { viteDevServer, viteConfig, isPrerendering, isProduction, userFiles } = globalObject;
|
|
197
|
+
(0, utils_js_1.assert)(typeof isProduction === 'boolean');
|
|
198
|
+
let globalContext;
|
|
161
199
|
if (!isProduction) {
|
|
200
|
+
// Requires globalObject.viteDevServer
|
|
201
|
+
if (!viteDevServer)
|
|
202
|
+
return null;
|
|
203
|
+
(0, utils_js_1.assert)(userFiles); // main common requiement
|
|
162
204
|
(0, utils_js_1.assert)(viteConfig);
|
|
163
|
-
(0, utils_js_1.assert)(vikeConfig);
|
|
164
|
-
(0, utils_js_1.assert)(viteDevServer);
|
|
165
205
|
(0, utils_js_1.assert)(!isPrerendering);
|
|
166
|
-
const
|
|
167
|
-
|
|
168
|
-
globalObject.globalContext = {
|
|
206
|
+
const viteConfigRuntime = getViteConfigRuntime(viteConfig);
|
|
207
|
+
globalContext = {
|
|
169
208
|
isProduction: false,
|
|
170
209
|
isPrerendering: false,
|
|
171
210
|
assetsManifest: null,
|
|
172
211
|
viteDevServer,
|
|
173
212
|
viteConfig,
|
|
174
|
-
vikeConfig: {
|
|
175
|
-
global: globalConfig
|
|
176
|
-
},
|
|
177
213
|
...userFiles,
|
|
178
|
-
|
|
179
|
-
baseAssets: pluginManifest.baseAssets,
|
|
180
|
-
includeAssetsImportedByServer: pluginManifest.includeAssetsImportedByServer,
|
|
181
|
-
trailingSlash: pluginManifest.trailingSlash,
|
|
182
|
-
disableUrlNormalization: pluginManifest.disableUrlNormalization
|
|
214
|
+
viteConfigRuntime
|
|
183
215
|
};
|
|
184
216
|
}
|
|
185
217
|
else {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
(0,
|
|
192
|
-
|
|
218
|
+
// Requires globalObject.buildEntry
|
|
219
|
+
if (!globalObject.buildEntry)
|
|
220
|
+
return null;
|
|
221
|
+
(0, utils_js_1.assert)(userFiles); // main common requiement
|
|
222
|
+
const { buildInfo, assetsManifest } = globalObject;
|
|
223
|
+
(0, utils_js_1.assert)(buildInfo);
|
|
224
|
+
(0, utils_js_1.assert)(assetsManifest);
|
|
225
|
+
const globalContext_ = {
|
|
193
226
|
isProduction: true,
|
|
194
227
|
assetsManifest,
|
|
195
|
-
vikeConfig: {
|
|
196
|
-
global: globalConfig
|
|
197
|
-
},
|
|
198
228
|
...userFiles,
|
|
199
229
|
viteDevServer: null,
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
includeAssetsImportedByServer: pluginManifest.includeAssetsImportedByServer,
|
|
203
|
-
trailingSlash: pluginManifest.trailingSlash,
|
|
204
|
-
usesClientRouter: pluginManifest.usesClientRouter,
|
|
205
|
-
disableUrlNormalization: pluginManifest.disableUrlNormalization
|
|
230
|
+
viteConfigRuntime: buildInfo.viteConfigRuntime,
|
|
231
|
+
usesClientRouter: buildInfo.usesClientRouter
|
|
206
232
|
};
|
|
207
233
|
if (isPrerendering) {
|
|
208
234
|
(0, utils_js_1.assert)(viteConfig);
|
|
209
|
-
(0, utils_js_1.objectAssign)(
|
|
235
|
+
(0, utils_js_1.objectAssign)(globalContext_, {
|
|
210
236
|
isPrerendering: true,
|
|
211
237
|
viteConfig
|
|
212
238
|
});
|
|
213
|
-
|
|
239
|
+
globalContext = globalContext_;
|
|
214
240
|
}
|
|
215
241
|
else {
|
|
216
|
-
(0, utils_js_1.objectAssign)(
|
|
242
|
+
(0, utils_js_1.objectAssign)(globalContext_, {
|
|
217
243
|
isPrerendering: false,
|
|
218
244
|
viteConfig: null
|
|
219
245
|
});
|
|
220
|
-
|
|
246
|
+
globalContext = globalContext_;
|
|
221
247
|
}
|
|
222
248
|
}
|
|
249
|
+
return globalContext;
|
|
223
250
|
}
|
|
224
|
-
async function
|
|
225
|
-
|
|
251
|
+
async function getUserFiles() {
|
|
252
|
+
// Help TypeScript resolve what TypeScript (wrongfully) believes to be cyclic dependency
|
|
253
|
+
const globalObject_ = globalObject;
|
|
254
|
+
const { pageConfigsRuntime } = globalObject_;
|
|
255
|
+
(0, utils_js_1.assert)(pageConfigsRuntime);
|
|
256
|
+
const { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal, globalConfig } = pageConfigsRuntime;
|
|
226
257
|
const { pageRoutes, onBeforeRouteHook } = await (0, loadPageRoutes_js_1.loadPageRoutes)(pageFilesAll, pageConfigs, pageConfigGlobal, allPageIds);
|
|
227
258
|
const userFiles = {
|
|
228
259
|
pageFilesAll,
|
|
@@ -230,25 +261,13 @@ async function getPageRuntimeInfo(isProduction) {
|
|
|
230
261
|
pageConfigGlobal,
|
|
231
262
|
allPageIds,
|
|
232
263
|
pageRoutes,
|
|
233
|
-
onBeforeRouteHook
|
|
264
|
+
onBeforeRouteHook,
|
|
265
|
+
config: globalConfig.config
|
|
234
266
|
};
|
|
235
267
|
(0, assertV1Design_js_1.assertV1Design)(
|
|
236
268
|
// pageConfigs is PageConfigRuntime[] but assertV1Design() requires PageConfigBuildTime[]
|
|
237
269
|
pageConfigs.length > 0, pageFilesAll);
|
|
238
|
-
return
|
|
239
|
-
}
|
|
240
|
-
function getRuntimeManifest(vikeConfigGlobal, viteConfig) {
|
|
241
|
-
const { includeAssetsImportedByServer, trailingSlash, disableUrlNormalization } = vikeConfigGlobal;
|
|
242
|
-
const { baseServer, baseAssets } = (0, resolveBase_js_1.resolveBaseFromResolvedConfig)(vikeConfigGlobal.baseServer, vikeConfigGlobal.baseAssets, viteConfig);
|
|
243
|
-
const manifest = {
|
|
244
|
-
baseServer,
|
|
245
|
-
baseAssets,
|
|
246
|
-
includeAssetsImportedByServer,
|
|
247
|
-
trailingSlash,
|
|
248
|
-
disableUrlNormalization
|
|
249
|
-
};
|
|
250
|
-
(0, assertRuntimeManifest_js_1.assertRuntimeManifest)(manifest);
|
|
251
|
-
return manifest;
|
|
270
|
+
return userFiles;
|
|
252
271
|
}
|
|
253
272
|
function assertViteManifest(manifest) {
|
|
254
273
|
(0, utils_js_1.assert)((0, utils_js_1.isPlainObject)(manifest));
|
|
@@ -263,54 +282,107 @@ function assertViteManifest(manifest) {
|
|
|
263
282
|
})
|
|
264
283
|
*/
|
|
265
284
|
}
|
|
266
|
-
function
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
285
|
+
async function loadBuildEntry(outDir) {
|
|
286
|
+
debug('loadBuildEntry()');
|
|
287
|
+
if (globalObject.userFiles) {
|
|
288
|
+
(0, utils_js_1.assert)(globalObject.buildInfo);
|
|
289
|
+
(0, utils_js_1.assert)(globalObject.assetsManifest);
|
|
290
|
+
(0, utils_js_1.assert)(globalObject.buildEntry);
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
273
293
|
if (!globalObject.buildEntry) {
|
|
274
294
|
debug('importServerProductionEntry()');
|
|
275
295
|
// importServerProductionEntry() loads dist/server/entry.mjs which calls setGlobalContext_buildEntry()
|
|
276
|
-
await (0, runtime_1.importServerProductionEntry)({ outDir
|
|
296
|
+
await (0, runtime_1.importServerProductionEntry)({ outDir });
|
|
277
297
|
if (!globalObject.buildEntry) {
|
|
278
298
|
debug('globalObject.buildEntryPrevious');
|
|
279
299
|
// Needed, for example, when calling the API prerender() then preview() because both trigger a importServerProductionEntry() call but only the first only is applied because of the import() cache. (A proper implementation would be to clear the import() cache, but it probably isn't possible on platforms such as Cloudflare Workers.)
|
|
280
300
|
globalObject.buildEntry = globalObject.buildEntryPrevious;
|
|
281
301
|
}
|
|
282
302
|
(0, utils_js_1.assert)(globalObject.buildEntry);
|
|
303
|
+
(0, utils_js_1.assertWarning)(!globalObject.buildInfo?.viteConfigRuntime.vitePluginServerEntry.inject,
|
|
304
|
+
// TODO/soon: show precise path
|
|
305
|
+
// TODO/soon: make this warning work on test/vike-node/
|
|
306
|
+
`Run the server production build (e.g. ${picocolors_1.default.cyan('$ node dist/server/index.mjs')}) instead of running the original server entry (e.g. ${picocolors_1.default.cyan('$ ts-node server/index.ts')})`, { onlyOnce: true });
|
|
283
307
|
}
|
|
284
308
|
const { buildEntry } = globalObject;
|
|
285
|
-
(
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
return buildEntry;
|
|
309
|
+
assertBuildEntry(buildEntry);
|
|
310
|
+
globalObject.assetsManifest = buildEntry.assetsManifest;
|
|
311
|
+
globalObject.buildInfo = buildEntry.buildInfo;
|
|
312
|
+
await setUserFiles(buildEntry.virtualFileExports);
|
|
290
313
|
}
|
|
291
|
-
function setGlobalContext_buildEntry(buildEntry) {
|
|
314
|
+
async function setGlobalContext_buildEntry(buildEntry) {
|
|
292
315
|
debug('setGlobalContext_buildEntry()');
|
|
316
|
+
setIsProduction(true);
|
|
317
|
+
assertBuildEntry(buildEntry);
|
|
293
318
|
globalObject.buildEntry = buildEntry;
|
|
294
319
|
globalObject.buildEntryPrevious = buildEntry;
|
|
320
|
+
(0, utils_js_1.assert)(globalObject.buildEntry); // ensure no infinite loop
|
|
321
|
+
await loadBuildEntry();
|
|
322
|
+
assertGlobalContextIsDefined();
|
|
323
|
+
}
|
|
324
|
+
function assertBuildEntry(buildEntry) {
|
|
325
|
+
(0, utils_js_1.assert)((0, utils_js_1.isObject)(buildEntry));
|
|
326
|
+
(0, utils_js_1.assert)((0, utils_js_1.hasProp)(buildEntry, 'virtualFileExports', 'object'));
|
|
327
|
+
const { virtualFileExports } = buildEntry;
|
|
328
|
+
(0, utils_js_1.assert)((0, utils_js_1.hasProp)(buildEntry, 'assetsManifest', 'object'));
|
|
329
|
+
const { assetsManifest } = buildEntry;
|
|
330
|
+
assertViteManifest(assetsManifest);
|
|
331
|
+
(0, utils_js_1.assert)((0, utils_js_1.hasProp)(buildEntry, 'buildInfo', 'object'));
|
|
332
|
+
const { buildInfo } = buildEntry;
|
|
333
|
+
assertBuildInfo(buildInfo);
|
|
334
|
+
(0, utils_js_1.checkType)({ virtualFileExports, assetsManifest, buildInfo });
|
|
295
335
|
}
|
|
296
|
-
function
|
|
297
|
-
(0,
|
|
336
|
+
function assertBuildInfo(buildInfo) {
|
|
337
|
+
(0, utils_js_1.assert)((0, utils_js_1.isObject)(buildInfo));
|
|
338
|
+
(0, utils_js_1.assert)((0, utils_js_1.hasProp)(buildInfo, 'versionAtBuildTime', 'string'));
|
|
339
|
+
assertVersionAtBuildTime(buildInfo.versionAtBuildTime);
|
|
340
|
+
(0, utils_js_1.assert)((0, utils_js_1.hasProp)(buildInfo, 'viteConfigRuntime', 'object'));
|
|
341
|
+
(0, utils_js_1.assert)((0, utils_js_1.hasProp)(buildInfo.viteConfigRuntime, '_baseViteOriginal', 'string'));
|
|
342
|
+
(0, utils_js_1.assert)((0, utils_js_1.hasProp)(buildInfo.viteConfigRuntime, 'vitePluginServerEntry', 'object'));
|
|
343
|
+
(0, utils_js_1.assert)((0, utils_js_1.hasProp)(buildInfo, 'usesClientRouter', 'boolean'));
|
|
344
|
+
(0, utils_js_1.checkType)({ ...buildInfo, viteConfigRuntime: buildInfo.viteConfigRuntime });
|
|
298
345
|
}
|
|
299
|
-
|
|
346
|
+
function assertVersionAtBuildTime(versionAtBuildTime) {
|
|
347
|
+
const versionAtRuntime = utils_js_1.projectInfo.projectVersion;
|
|
348
|
+
const pretty = (version) => picocolors_1.default.bold(`vike@${version}`);
|
|
349
|
+
(0, utils_js_1.assertUsage)(versionAtBuildTime === versionAtRuntime, `Re-build your app (you're using ${pretty(versionAtRuntime)} but your app was built with ${pretty(versionAtBuildTime)})`);
|
|
350
|
+
}
|
|
351
|
+
function getViteConfigRuntime(viteConfig) {
|
|
352
|
+
(0, utils_js_1.assert)((0, utils_js_1.hasProp)(viteConfig, '_baseViteOriginal', 'string'));
|
|
353
|
+
const viteConfigRuntime = {
|
|
354
|
+
_baseViteOriginal: viteConfig._baseViteOriginal,
|
|
355
|
+
vitePluginServerEntry: {
|
|
356
|
+
inject: viteConfig.vitePluginServerEntry?.inject
|
|
357
|
+
}
|
|
358
|
+
};
|
|
359
|
+
return viteConfigRuntime;
|
|
360
|
+
}
|
|
361
|
+
async function updateUserFiles() {
|
|
362
|
+
const { promise, resolve } = (0, utils_js_1.genPromise)();
|
|
363
|
+
(0, utils_js_1.assert)(!globalObject.isProduction);
|
|
364
|
+
globalObject.waitForUserFilesUpdate = promise;
|
|
300
365
|
const viteDevServer = getViteDevServer();
|
|
301
366
|
(0, utils_js_1.assert)(viteDevServer);
|
|
302
|
-
let
|
|
367
|
+
let virtualFileExports;
|
|
303
368
|
try {
|
|
304
|
-
|
|
369
|
+
virtualFileExports = await viteDevServer.ssrLoadModule(virtualFileImportUserCode_js_1.virtualFileIdImportUserCodeServer);
|
|
305
370
|
}
|
|
306
371
|
catch (err) {
|
|
307
372
|
(0, utils_js_1.debugGlob)(`Glob error: ${virtualFileImportUserCode_js_1.virtualFileIdImportUserCodeServer} transpile error: `, err);
|
|
308
373
|
throw err;
|
|
309
374
|
}
|
|
310
|
-
|
|
311
|
-
(0, utils_js_1.debugGlob)('Glob result: ',
|
|
312
|
-
|
|
313
|
-
|
|
375
|
+
virtualFileExports = virtualFileExports.default || virtualFileExports;
|
|
376
|
+
(0, utils_js_1.debugGlob)('Glob result: ', virtualFileExports);
|
|
377
|
+
await setUserFiles(virtualFileExports);
|
|
378
|
+
resolve();
|
|
379
|
+
}
|
|
380
|
+
async function setUserFiles(virtualFileExports) {
|
|
381
|
+
globalObject.pageConfigsRuntime = (0, getPageConfigsRuntime_js_1.getPageConfigsRuntime)(virtualFileExports);
|
|
382
|
+
const userFiles = await getUserFiles();
|
|
383
|
+
globalObject.userFiles = userFiles;
|
|
384
|
+
defineGlobalContext();
|
|
385
|
+
assertGlobalContextIsDefined();
|
|
314
386
|
}
|
|
315
387
|
function clearGlobalContext() {
|
|
316
388
|
debug('clearGlobalContext()');
|
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getHtmlTags = getHtmlTags;
|
|
7
|
+
const isFontFallback_js_1 = require("../../renderPage/isFontFallback.js");
|
|
7
8
|
const utils_js_1 = require("../../utils.js");
|
|
8
9
|
const serializePageContextClientSide_js_1 = require("../serializePageContextClientSide.js");
|
|
9
10
|
const sanitizeJson_js_1 = require("./sanitizeJson.js");
|
|
@@ -11,16 +12,16 @@ const inferHtmlTags_js_1 = require("./inferHtmlTags.js");
|
|
|
11
12
|
const mergeScriptTags_js_1 = require("./mergeScriptTags.js");
|
|
12
13
|
const helpers_js_1 = require("../../../../shared/page-configs/helpers.js");
|
|
13
14
|
const getConfigValueRuntime_js_1 = require("../../../../shared/page-configs/getConfigValueRuntime.js");
|
|
14
|
-
const globalContext_js_1 = require("../../globalContext.js");
|
|
15
15
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
16
16
|
const getConfigDefinedAt_js_1 = require("../../../../shared/page-configs/getConfigDefinedAt.js");
|
|
17
17
|
const stamp = '__injectFilterEntry';
|
|
18
|
-
function getHtmlTags(pageContext, streamFromReactStreamingPackage, injectFilter, pageAssets, viteDevScript, isStream) {
|
|
18
|
+
async function getHtmlTags(pageContext, streamFromReactStreamingPackage, injectFilter, pageAssets, viteDevScript, isStream) {
|
|
19
19
|
(0, utils_js_1.assert)([true, false].includes(pageContext._isHtmlOnly));
|
|
20
20
|
const isHtmlOnly = pageContext._isHtmlOnly;
|
|
21
|
-
const { isProduction } =
|
|
21
|
+
const { isProduction } = pageContext._globalContext;
|
|
22
22
|
const injectScriptsAt = getInjectScriptsAt(pageContext.pageId, pageContext._pageConfigs);
|
|
23
|
-
const injectFilterEntries =
|
|
23
|
+
const injectFilterEntries = [];
|
|
24
|
+
pageAssets
|
|
24
25
|
.filter((asset) => {
|
|
25
26
|
if (asset.isEntry && asset.assetType === 'script') {
|
|
26
27
|
// We could allow the user to change the position of <script> but we currently don't:
|
|
@@ -31,15 +32,18 @@ function getHtmlTags(pageContext, streamFromReactStreamingPackage, injectFilter,
|
|
|
31
32
|
}
|
|
32
33
|
return true;
|
|
33
34
|
})
|
|
34
|
-
.
|
|
35
|
+
.forEach((asset) => {
|
|
35
36
|
const inject = (() => {
|
|
36
37
|
if (!isProduction) {
|
|
37
38
|
// In development, we should always load assets as soon as possible, in order to eagerly process assets (e.g. applying the transform() hooks of Vite plugins) which are lazily discovered.
|
|
38
39
|
return 'HTML_BEGIN';
|
|
39
40
|
}
|
|
40
|
-
if (asset.assetType === 'style'
|
|
41
|
+
if (asset.assetType === 'style') {
|
|
41
42
|
return 'HTML_BEGIN';
|
|
42
43
|
}
|
|
44
|
+
if (asset.assetType === 'font') {
|
|
45
|
+
return !(0, isFontFallback_js_1.isFontFallback)(asset, injectFilterEntries) ? 'HTML_BEGIN' : false;
|
|
46
|
+
}
|
|
43
47
|
if (asset.assetType === 'script') {
|
|
44
48
|
if (isHtmlOnly)
|
|
45
49
|
return false;
|
|
@@ -53,7 +57,7 @@ function getHtmlTags(pageContext, streamFromReactStreamingPackage, injectFilter,
|
|
|
53
57
|
// @ts-ignore
|
|
54
58
|
[stamp]: true
|
|
55
59
|
};
|
|
56
|
-
|
|
60
|
+
injectFilterEntries.push(entry);
|
|
57
61
|
});
|
|
58
62
|
assertInjectFilterEntries(injectFilterEntries);
|
|
59
63
|
// ==============
|
|
@@ -4,11 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getViteDevScript = getViteDevScript;
|
|
7
|
-
const globalContext_js_1 = require("../../globalContext.js");
|
|
8
7
|
const utils_js_1 = require("../../utils.js");
|
|
9
8
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
10
|
-
async function getViteDevScript() {
|
|
11
|
-
const globalContext =
|
|
9
|
+
async function getViteDevScript(pageContext) {
|
|
10
|
+
const globalContext = pageContext._globalContext;
|
|
12
11
|
if (globalContext.isProduction) {
|
|
13
12
|
return '';
|
|
14
13
|
}
|
|
@@ -9,8 +9,8 @@ const getHtmlTags_js_1 = require("./injectAssets/getHtmlTags.js");
|
|
|
9
9
|
const getViteDevScript_js_1 = require("./injectAssets/getViteDevScript.js");
|
|
10
10
|
async function injectHtmlTagsToString(htmlParts, pageContext, injectFilter) {
|
|
11
11
|
const pageAssets = await pageContext.__getPageAssets();
|
|
12
|
-
const viteDevScript = await (0, getViteDevScript_js_1.getViteDevScript)();
|
|
13
|
-
const htmlTags = (0, getHtmlTags_js_1.getHtmlTags)(pageContext, null, injectFilter, pageAssets, viteDevScript, false);
|
|
12
|
+
const viteDevScript = await (0, getViteDevScript_js_1.getViteDevScript)(pageContext);
|
|
13
|
+
const htmlTags = await (0, getHtmlTags_js_1.getHtmlTags)(pageContext, null, injectFilter, pageAssets, viteDevScript, false);
|
|
14
14
|
let htmlString = htmlPartsToString(htmlParts, pageAssets);
|
|
15
15
|
htmlString = injectToHtmlBegin(htmlString, htmlTags);
|
|
16
16
|
htmlString = injectToHtmlEnd(htmlString, htmlTags);
|
|
@@ -26,8 +26,8 @@ function injectHtmlTagsToStream(pageContext, streamFromReactStreamingPackage, in
|
|
|
26
26
|
};
|
|
27
27
|
async function injectAtStreamBegin(htmlPartsBegin) {
|
|
28
28
|
const pageAssets = await pageContext.__getPageAssets();
|
|
29
|
-
const viteDevScript = await (0, getViteDevScript_js_1.getViteDevScript)();
|
|
30
|
-
htmlTags = (0, getHtmlTags_js_1.getHtmlTags)(pageContext, streamFromReactStreamingPackage, injectFilter, pageAssets, viteDevScript, true);
|
|
29
|
+
const viteDevScript = await (0, getViteDevScript_js_1.getViteDevScript)(pageContext);
|
|
30
|
+
htmlTags = await (0, getHtmlTags_js_1.getHtmlTags)(pageContext, streamFromReactStreamingPackage, injectFilter, pageAssets, viteDevScript, true);
|
|
31
31
|
let htmlBegin = htmlPartsToString(htmlPartsBegin, pageAssets);
|
|
32
32
|
htmlBegin = injectToHtmlBegin(htmlBegin, htmlTags);
|
|
33
33
|
if (streamFromReactStreamingPackage) {
|