vike 0.4.239 → 0.4.240-commit-bac5dee
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/esm/client/index.d.ts +1 -1
- package/dist/esm/client/index.js +1 -1
- package/dist/esm/client/runtime-client-routing/createPageContextClientSide.d.ts +1 -1
- package/dist/esm/client/runtime-client-routing/createPageContextClientSide.js +1 -1
- package/dist/esm/client/runtime-client-routing/entry.js +5 -3
- package/dist/esm/client/runtime-client-routing/getBaseServer.js +0 -1
- package/dist/esm/client/runtime-client-routing/{globalContext.d.ts → getGlobalContextClientInternal.d.ts} +2 -2
- package/dist/esm/client/runtime-client-routing/{globalContext.js → getGlobalContextClientInternal.js} +8 -4
- package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +6 -6
- package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.js +1 -1
- package/dist/esm/client/runtime-client-routing/isClientSideRoutable.d.ts +1 -1
- package/dist/esm/client/runtime-client-routing/renderPageClientSide.d.ts +4 -4
- package/dist/esm/client/runtime-client-routing/renderPageClientSide.js +15 -4
- package/dist/esm/client/runtime-server-routing/createPageContextClientSide.d.ts +1 -1
- package/dist/esm/client/runtime-server-routing/createPageContextClientSide.js +1 -1
- package/dist/esm/client/runtime-server-routing/entry.js +5 -3
- package/dist/esm/client/runtime-server-routing/{globalContext.d.ts → getGlobalContextClientInternal.d.ts} +2 -2
- package/dist/esm/client/runtime-server-routing/getGlobalContextClientInternal.js +6 -0
- package/dist/esm/client/shared/execHookOnRenderClient.d.ts +1 -1
- package/dist/esm/client/shared/{createGetGlobalContextClient.d.ts → getGlobalContextClientInternalShared.d.ts} +11 -8
- package/dist/esm/client/shared/getGlobalContextClientInternalShared.js +66 -0
- package/dist/esm/client/shared/loadPageConfigsLazyClientSide.js +1 -3
- package/dist/esm/node/prerender/runPrerender.d.ts +4 -2
- package/dist/esm/node/prerender/runPrerender.js +5 -2
- package/dist/esm/node/runtime/globalContext.d.ts +15 -2
- package/dist/esm/node/runtime/globalContext.js +46 -32
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +4 -2
- package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.d.ts +4 -2
- package/dist/esm/node/runtime/renderPage/renderPageAfterRoute.d.ts +8 -4
- package/dist/esm/node/runtime/renderPage.d.ts +4 -2
- package/dist/esm/node/vite/index.js +42 -18
- package/dist/esm/node/vite/onLoad.js +1 -1
- package/dist/esm/node/vite/plugins/{pluginBuild → build}/handleAssetsManifest.d.ts +4 -0
- package/dist/esm/node/vite/plugins/{pluginBuild → build}/handleAssetsManifest.js +21 -6
- package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginBuildApp.js +24 -20
- package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginBuildConfig.js +20 -6
- package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginDistFileNames.d.ts +1 -1
- package/dist/esm/node/vite/plugins/build/pluginDistFileNames.js +253 -0
- package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginDistPackageJsonFile.d.ts +1 -1
- package/dist/esm/node/vite/plugins/build/pluginDistPackageJsonFile.js +40 -0
- package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginModuleBanner.d.ts +1 -1
- package/dist/esm/node/vite/plugins/build/pluginModuleBanner.js +49 -0
- package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginProdBuildEntry.js +4 -2
- package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginSuppressRollupWarning.d.ts +1 -1
- package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginSuppressRollupWarning.js +27 -23
- package/dist/esm/node/vite/plugins/non-runnable-dev/pluginReplaceConstantsNonRunnableDev.d.ts +7 -0
- package/dist/esm/node/vite/plugins/non-runnable-dev/pluginReplaceConstantsNonRunnableDev.js +47 -0
- package/dist/esm/node/vite/plugins/{pluginNonRunnableDev.d.ts → non-runnable-dev/pluginViteRPC.d.ts} +3 -7
- package/dist/esm/node/vite/plugins/non-runnable-dev/pluginViteRPC.js +30 -0
- package/dist/esm/node/vite/plugins/pluginBaseUrls.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginBaseUrls.js +39 -33
- package/dist/esm/node/vite/plugins/pluginCommon.js +8 -28
- package/dist/esm/node/vite/plugins/pluginDev/determineFsAllowList.js +0 -1
- package/dist/esm/node/vite/plugins/pluginDev/determineOptimizeDeps.js +1 -1
- package/dist/esm/node/vite/plugins/pluginDev.js +51 -47
- package/dist/esm/node/vite/plugins/pluginExtractAssets.js +108 -92
- package/dist/esm/node/vite/plugins/pluginExtractExportNames.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginExtractExportNames.js +39 -23
- package/dist/esm/node/vite/plugins/pluginFileEnv.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginFileEnv.js +117 -92
- package/dist/esm/node/vite/plugins/pluginPreview.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginPreview.js +38 -30
- package/dist/esm/node/vite/plugins/pluginReplaceConstantsEnvVars.d.ts +3 -0
- package/dist/esm/node/vite/plugins/pluginReplaceConstantsEnvVars.js +127 -0
- package/dist/esm/node/vite/plugins/pluginReplaceConstantsGlobalThis.d.ts +17 -0
- package/dist/esm/node/vite/plugins/pluginReplaceConstantsGlobalThis.js +52 -0
- package/dist/esm/node/vite/plugins/pluginReplaceConstantsPageContext.d.ts +3 -0
- package/dist/esm/node/vite/plugins/pluginReplaceConstantsPageContext.js +89 -0
- package/dist/esm/node/vite/plugins/pluginSetGlobalContext.js +4 -2
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.js +1 -1
- package/dist/esm/node/vite/plugins/pluginVirtualFiles.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginVirtualFiles.js +67 -47
- package/dist/esm/node/vite/plugins/pluginWorkaroundCssModuleHmr.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +13 -9
- package/dist/esm/node/vite/plugins/pluginWorkaroundVite6HmrRegression.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginWorkaroundVite6HmrRegression.js +26 -24
- package/dist/esm/node/vite/shared/getMagicString.d.ts +1 -1
- package/dist/esm/node/vite/shared/getMagicString.js +2 -0
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +2 -2
- package/dist/esm/shared/createGlobalContextShared.d.ts +4 -4
- package/dist/esm/shared/route/abort.d.ts +22 -11
- package/dist/esm/shared/route/abort.js +45 -5
- package/dist/esm/shared/route/index.js +13 -4
- package/dist/esm/shared/route/utils.d.ts +1 -0
- package/dist/esm/shared/route/utils.js +1 -0
- package/dist/esm/types/Config.d.ts +1 -1
- package/dist/esm/types/PageContext.d.ts +8 -8
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/assert.js +1 -0
- package/dist/esm/utils/debug.d.ts +5 -3
- package/dist/esm/utils/debug.js +28 -11
- package/dist/esm/utils/findPackageJson.js +0 -1
- package/dist/esm/utils/getGlobalObject.d.ts +5 -1
- package/dist/esm/utils/getGlobalObject.js +5 -1
- package/dist/esm/utils/getViteRPC.js +0 -2
- package/dist/esm/utils/isDev.js +3 -1
- package/dist/esm/utils/isNonRunnableDev.js +2 -2
- package/dist/esm/utils/requireResolve.js +1 -2
- package/dist/esm/utils/virtualFileId.d.ts +4 -0
- package/dist/esm/utils/virtualFileId.js +14 -11
- package/package.json +7 -26
- package/dist/cjs/__internal/index.js +0 -35
- package/dist/cjs/client/runtime-client-routing/globalContext.js +0 -49
- package/dist/cjs/client/runtime-client-routing/prefetch/PrefetchSetting.js +0 -2
- package/dist/cjs/client/runtime-server-routing/globalContext.js +0 -41
- package/dist/cjs/client/runtime-server-routing/onLoad.js +0 -7
- package/dist/cjs/client/runtime-server-routing/utils.js +0 -34
- package/dist/cjs/client/shared/createGetGlobalContextClient.js +0 -65
- package/dist/cjs/client/shared/getJsonSerializedInHtml.js +0 -40
- package/dist/cjs/client/shared/preparePageContextForPublicUsageClientShared.js +0 -41
- package/dist/cjs/client/shared/utils.js +0 -23
- package/dist/cjs/node/api/build.js +0 -24
- package/dist/cjs/node/api/context.js +0 -23
- package/dist/cjs/node/api/dev.js +0 -18
- package/dist/cjs/node/api/index.js +0 -44
- package/dist/cjs/node/api/onLoad.js +0 -9
- package/dist/cjs/node/api/prepareViteApiCall.js +0 -206
- package/dist/cjs/node/api/prerender.js +0 -18
- package/dist/cjs/node/api/preview.js +0 -38
- package/dist/cjs/node/api/types.js +0 -2
- package/dist/cjs/node/api/utils.js +0 -27
- package/dist/cjs/node/cli/context.js +0 -17
- package/dist/cjs/node/cli/entry.js +0 -121
- package/dist/cjs/node/cli/index.js +0 -12
- package/dist/cjs/node/cli/onLoad.js +0 -9
- package/dist/cjs/node/cli/parseCli.js +0 -95
- package/dist/cjs/node/cli/utils.js +0 -24
- package/dist/cjs/node/client/router.js +0 -19
- package/dist/cjs/node/createPageRenderer.js +0 -132
- package/dist/cjs/node/importBuild.js +0 -3
- package/dist/cjs/node/prerender/context.js +0 -26
- package/dist/cjs/node/prerender/index.js +0 -12
- package/dist/cjs/node/prerender/resolvePrerenderConfig.js +0 -66
- package/dist/cjs/node/prerender/runPrerender.js +0 -777
- package/dist/cjs/node/prerender/runPrerenderEntry.js +0 -55
- package/dist/cjs/node/prerender/utils.js +0 -37
- package/dist/cjs/node/runtime/globalContext.js +0 -572
- package/dist/cjs/node/runtime/index-deprecated.js +0 -33
- package/dist/cjs/node/runtime/index.js +0 -74
- package/dist/cjs/node/runtime/loggerRuntime.js +0 -17
- package/dist/cjs/node/runtime/onLoad.js +0 -29
- package/dist/cjs/node/runtime/page-files/setup.js +0 -5
- package/dist/cjs/node/runtime/renderPage/analyzePage.js +0 -71
- package/dist/cjs/node/runtime/renderPage/assertArguments.js +0 -42
- package/dist/cjs/node/runtime/renderPage/createHttpResponse/assertNoInfiniteHttpRedirect.js +0 -51
- package/dist/cjs/node/runtime/renderPage/createHttpResponse.js +0 -114
- package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +0 -59
- package/dist/cjs/node/runtime/renderPage/csp.js +0 -47
- package/dist/cjs/node/runtime/renderPage/execHookDataAndOnBeforeRender.js +0 -31
- package/dist/cjs/node/runtime/renderPage/execHookOnRenderHtml.js +0 -120
- package/dist/cjs/node/runtime/renderPage/execHookServer.js +0 -8
- package/dist/cjs/node/runtime/renderPage/getCacheControl.js +0 -24
- package/dist/cjs/node/runtime/renderPage/getEarlyHints.js +0 -20
- package/dist/cjs/node/runtime/renderPage/getHttpResponseBody.js +0 -137
- package/dist/cjs/node/runtime/renderPage/getPageAssets/getManifestEntry.js +0 -125
- package/dist/cjs/node/runtime/renderPage/getPageAssets/retrievePageAssetsDev.js +0 -86
- package/dist/cjs/node/runtime/renderPage/getPageAssets/retrievePageAssetsProd.js +0 -77
- package/dist/cjs/node/runtime/renderPage/getPageAssets/sortPageAssetsForEarlyHintsHeader.js +0 -36
- package/dist/cjs/node/runtime/renderPage/getPageAssets.js +0 -50
- package/dist/cjs/node/runtime/renderPage/handleErrorWithoutErrorPage.js +0 -41
- package/dist/cjs/node/runtime/renderPage/handlePageContextRequestUrl.js +0 -68
- package/dist/cjs/node/runtime/renderPage/headersResponse.js +0 -48
- package/dist/cjs/node/runtime/renderPage/html/injectAssets/getHtmlTags.js +0 -269
- package/dist/cjs/node/runtime/renderPage/html/injectAssets/getViteDevScript.js +0 -32
- package/dist/cjs/node/runtime/renderPage/html/injectAssets/inferHtmlTags.js +0 -55
- package/dist/cjs/node/runtime/renderPage/html/injectAssets/injectAssets__public.js +0 -31
- package/dist/cjs/node/runtime/renderPage/html/injectAssets/injectHtmlTags.js +0 -161
- package/dist/cjs/node/runtime/renderPage/html/injectAssets/mergeScriptTags.js +0 -73
- package/dist/cjs/node/runtime/renderPage/html/injectAssets/sanitizeJson.js +0 -8
- package/dist/cjs/node/runtime/renderPage/html/injectAssets.js +0 -93
- package/dist/cjs/node/runtime/renderPage/html/propKeys.js +0 -47
- package/dist/cjs/node/runtime/renderPage/html/renderHtml.js +0 -245
- package/dist/cjs/node/runtime/renderPage/html/serializeContext.js +0 -189
- package/dist/cjs/node/runtime/renderPage/html/stream/react-streaming.js +0 -36
- package/dist/cjs/node/runtime/renderPage/html/stream.js +0 -829
- package/dist/cjs/node/runtime/renderPage/inferMediaType.js +0 -81
- package/dist/cjs/node/runtime/renderPage/isFontFallback.js +0 -29
- package/dist/cjs/node/runtime/renderPage/isNewError.js +0 -25
- package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +0 -124
- package/dist/cjs/node/runtime/renderPage/log404/index.js +0 -154
- package/dist/cjs/node/runtime/renderPage/logErrorHint/errors.js +0 -20
- package/dist/cjs/node/runtime/renderPage/logErrorHint.js +0 -200
- package/dist/cjs/node/runtime/renderPage/loggerProd.js +0 -34
- package/dist/cjs/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +0 -10
- package/dist/cjs/node/runtime/renderPage/renderPageAfterRoute.js +0 -83
- package/dist/cjs/node/runtime/renderPage/resolveRedirects.js +0 -71
- package/dist/cjs/node/runtime/renderPage.js +0 -502
- package/dist/cjs/node/runtime/universal-middleware.js +0 -20
- package/dist/cjs/node/runtime/utils.js +0 -83
- package/dist/cjs/node/runtime-dev/createDevMiddleware.js +0 -27
- package/dist/cjs/node/runtime-dev/index.js +0 -42
- package/dist/cjs/node/shared/assertV1Design.js +0 -30
- package/dist/cjs/node/shared/extractAssetsQuery.js +0 -29
- package/dist/cjs/node/shared/getVikeConfigError.js +0 -22
- package/dist/cjs/node/shared/isErrorDebug.js +0 -7
- package/dist/cjs/node/shared/prependEntriesDir.js +0 -13
- package/dist/cjs/node/shared/resolveBase.js +0 -35
- package/dist/cjs/node/shared/utils.js +0 -35
- package/dist/cjs/node/shared/virtualFileId.js +0 -110
- package/dist/cjs/node/vite/index.js +0 -69
- package/dist/cjs/node/vite/onLoad.js +0 -21
- package/dist/cjs/node/vite/plugins/pluginBaseUrls.js +0 -48
- package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +0 -342
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildApp.js +0 -179
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +0 -220
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistFileNames.js +0 -254
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +0 -36
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginModuleBanner.js +0 -41
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginProdBuildEntry.js +0 -109
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginSuppressRollupWarning.js +0 -63
- package/dist/cjs/node/vite/plugins/pluginBuild.js +0 -21
- package/dist/cjs/node/vite/plugins/pluginCommon/assertResolveAlias.js +0 -88
- package/dist/cjs/node/vite/plugins/pluginCommon.js +0 -197
- package/dist/cjs/node/vite/plugins/pluginDev/determineFsAllowList.js +0 -28
- package/dist/cjs/node/vite/plugins/pluginDev/determineOptimizeDeps.js +0 -163
- package/dist/cjs/node/vite/plugins/pluginDev.js +0 -107
- package/dist/cjs/node/vite/plugins/pluginEnvVars.js +0 -87
- package/dist/cjs/node/vite/plugins/pluginExtractAssets.js +0 -227
- package/dist/cjs/node/vite/plugins/pluginExtractExportNames.js +0 -99
- package/dist/cjs/node/vite/plugins/pluginFileEnv.js +0 -149
- package/dist/cjs/node/vite/plugins/pluginNonRunnableDev.js +0 -52
- package/dist/cjs/node/vite/plugins/pluginPreview.js +0 -76
- package/dist/cjs/node/vite/plugins/pluginReplaceConstants.js +0 -69
- package/dist/cjs/node/vite/plugins/pluginSetGlobalContext.js +0 -49
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/debug.js +0 -5
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.js +0 -56
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.js +0 -190
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.js +0 -54
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +0 -97
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +0 -215
- package/dist/cjs/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +0 -15
- package/dist/cjs/node/vite/plugins/pluginWorkaroundVite6HmrRegression.js +0 -35
- package/dist/cjs/node/vite/shared/addSsrMiddleware.js +0 -60
- package/dist/cjs/node/vite/shared/findPageFiles.js +0 -25
- package/dist/cjs/node/vite/shared/getAssetsDir.js +0 -10
- package/dist/cjs/node/vite/shared/getClientEntrySrcDev.js +0 -42
- package/dist/cjs/node/vite/shared/getEnvVarObject.js +0 -37
- package/dist/cjs/node/vite/shared/getFilePath.js +0 -172
- package/dist/cjs/node/vite/shared/getHttpRequestAsyncStore.js +0 -125
- package/dist/cjs/node/vite/shared/getMagicString.js +0 -18
- package/dist/cjs/node/vite/shared/getManifestFilePathRelative.js +0 -10
- package/dist/cjs/node/vite/shared/getOutDirs.js +0 -146
- package/dist/cjs/node/vite/shared/getViteConfigRuntime.js +0 -21
- package/dist/cjs/node/vite/shared/isAsset.js +0 -40
- package/dist/cjs/node/vite/shared/isViteCliCall.js +0 -83
- package/dist/cjs/node/vite/shared/isViteServerSide.js +0 -68
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelReact.js +0 -15
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelSolid.js +0 -15
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errEsbuild.js +0 -38
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx1.js +0 -26
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx2.js +0 -85
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errPostcss.js +0 -30
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwc.js +0 -19
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwcBig.js +0 -19
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueCss.js +0 -29
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueHtml.js +0 -13
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueJavascript.js +0 -15
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet.js +0 -162
- package/dist/cjs/node/vite/shared/loggerNotProd/log.js +0 -102
- package/dist/cjs/node/vite/shared/loggerNotProd.js +0 -208
- package/dist/cjs/node/vite/shared/loggerVite/removeSuperfluousViteLog.js +0 -26
- package/dist/cjs/node/vite/shared/loggerVite.js +0 -54
- package/dist/cjs/node/vite/shared/normalizeId.js +0 -9
- package/dist/cjs/node/vite/shared/parseEsModule.js +0 -33
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/assertExtensions.js +0 -136
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +0 -262
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles/ignorePatternsBuiltIn.js +0 -18
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +0 -252
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.js +0 -190
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/getConfigFileExport.js +0 -17
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/getPlusFilesAll.js +0 -127
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/loadFileAtConfigTime.js +0 -129
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/pointerImports.js +0 -195
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/resolvePointerImport.js +0 -102
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +0 -425
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal.js +0 -1151
- package/dist/cjs/node/vite/shared/rollupIsEsm.js +0 -15
- package/dist/cjs/node/vite/utils.js +0 -45
- package/dist/cjs/package.json +0 -1
- package/dist/cjs/shared/NOT_SERIALIZABLE.js +0 -4
- package/dist/cjs/shared/RenderErrorPage.js +0 -6
- package/dist/cjs/shared/abort.js +0 -16
- package/dist/cjs/shared/addIs404ToPageProps.js +0 -18
- package/dist/cjs/shared/assertHookReturnedObject.js +0 -21
- package/dist/cjs/shared/assertOnBeforeRenderHookReturn.js +0 -21
- package/dist/cjs/shared/assertPageContextProvidedByUser.js +0 -20
- package/dist/cjs/shared/createGlobalContextShared.js +0 -109
- package/dist/cjs/shared/createPageContextShared.js +0 -17
- package/dist/cjs/shared/determinePageIdOld.js +0 -11
- package/dist/cjs/shared/error-page.js +0 -40
- package/dist/cjs/shared/getPageContext.js +0 -6
- package/dist/cjs/shared/getPageContextRequestUrl.js +0 -16
- package/dist/cjs/shared/getPageContextUrlComputed.js +0 -132
- package/dist/cjs/shared/getPageFiles/analyzeClientSide.js +0 -19
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide/ClientDependency.js +0 -2
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide/analyzeExports.js +0 -50
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide/determineClientEntry.js +0 -30
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide/getExportNames.js +0 -15
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide.js +0 -59
- package/dist/cjs/shared/getPageFiles/analyzePageServerSide.js +0 -22
- package/dist/cjs/shared/getPageFiles/assert_exports_old_design.js +0 -24
- package/dist/cjs/shared/getPageFiles/fileTypes.js +0 -52
- package/dist/cjs/shared/getPageFiles/getAllPageIdFiles.js +0 -102
- package/dist/cjs/shared/getPageFiles/getPageFileObject.js +0 -56
- package/dist/cjs/shared/getPageFiles/parseVirtualFileExportsGlobalEntry.js +0 -100
- package/dist/cjs/shared/getPageFiles.js +0 -7
- package/dist/cjs/shared/getProxyForPublicUsage.js +0 -56
- package/dist/cjs/shared/hooks/execHook.js +0 -147
- package/dist/cjs/shared/hooks/getHook.js +0 -173
- package/dist/cjs/shared/htmlElementIds.js +0 -5
- package/dist/cjs/shared/misc/isServerSideError.js +0 -4
- package/dist/cjs/shared/misc/pageContextInitIsPassedToClient.js +0 -4
- package/dist/cjs/shared/modifyUrl.js +0 -28
- package/dist/cjs/shared/modifyUrlSameOrigin.js +0 -47
- package/dist/cjs/shared/page-configs/assertPlusFileExport.js +0 -42
- package/dist/cjs/shared/page-configs/findPageConfig.js +0 -10
- package/dist/cjs/shared/page-configs/getConfigDefinedAt.js +0 -65
- package/dist/cjs/shared/page-configs/getConfigValueBuildTime.js +0 -68
- package/dist/cjs/shared/page-configs/getConfigValueRuntime.js +0 -10
- package/dist/cjs/shared/page-configs/getConfigValueTyped.js +0 -32
- package/dist/cjs/shared/page-configs/getExportPath.js +0 -29
- package/dist/cjs/shared/page-configs/helpers.js +0 -27
- package/dist/cjs/shared/page-configs/loadAndParseVirtualFilePageEntry.js +0 -25
- package/dist/cjs/shared/page-configs/resolveVikeConfigPublic.js +0 -287
- package/dist/cjs/shared/page-configs/serialize/PageConfigSerialized.js +0 -2
- package/dist/cjs/shared/page-configs/serialize/assertPageConfigsSerialized.js +0 -1
- package/dist/cjs/shared/page-configs/serialize/parsePageConfigsSerialized.js +0 -145
- package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +0 -290
- package/dist/cjs/shared/prepareGlobalContextForPublicUsage.js +0 -10
- package/dist/cjs/shared/preparePageContextForPublicUsage.js +0 -80
- package/dist/cjs/shared/route/abort.js +0 -178
- package/dist/cjs/shared/route/debug.js +0 -23
- package/dist/cjs/shared/route/deduceRouteStringFromFilesystemPath.js +0 -52
- package/dist/cjs/shared/route/execHookGuard.js +0 -37
- package/dist/cjs/shared/route/execHookOnBeforeRoute.js +0 -84
- package/dist/cjs/shared/route/index.js +0 -107
- package/dist/cjs/shared/route/loadPageRoutes.js +0 -197
- package/dist/cjs/shared/route/noRouteMatch.js +0 -4
- package/dist/cjs/shared/route/resolvePrecedence.js +0 -93
- package/dist/cjs/shared/route/resolveRoute.js +0 -20
- package/dist/cjs/shared/route/resolveRouteFunction.js +0 -73
- package/dist/cjs/shared/route/resolveRouteString.js +0 -153
- package/dist/cjs/shared/route/resolveUrlPathname.js +0 -47
- package/dist/cjs/shared/route/routing.js +0 -9
- package/dist/cjs/shared/route/utils.js +0 -40
- package/dist/cjs/shared/utils.js +0 -49
- package/dist/cjs/types/Config/ConfigResolved.js +0 -2
- package/dist/cjs/types/Config.js +0 -2
- package/dist/cjs/types/FilePath.js +0 -2
- package/dist/cjs/types/PageConfig.js +0 -2
- package/dist/cjs/types/PageContext.js +0 -2
- package/dist/cjs/types/VikeGlobalInternal.js +0 -2
- package/dist/cjs/types/VikeNamespace.js +0 -2
- package/dist/cjs/types/ViteManifest.js +0 -2
- package/dist/cjs/types/defineConfig.js +0 -6
- package/dist/cjs/types/index-dreprecated.js +0 -3
- package/dist/cjs/types/index.js +0 -5
- package/dist/cjs/utils/PROJECT_VERSION.js +0 -5
- package/dist/cjs/utils/PromiseType.js +0 -2
- package/dist/cjs/utils/assert.js +0 -211
- package/dist/cjs/utils/assertIsBrowser.js +0 -8
- package/dist/cjs/utils/assertIsNotBrowser.js +0 -9
- package/dist/cjs/utils/assertKeys.js +0 -27
- package/dist/cjs/utils/assertNodeVersion.js +0 -14
- package/dist/cjs/utils/assertRoutingType.js +0 -29
- package/dist/cjs/utils/assertSetup.js +0 -171
- package/dist/cjs/utils/assertSingleInstance.js +0 -110
- package/dist/cjs/utils/assertVersion.js +0 -60
- package/dist/cjs/utils/capitalizeFirstLetter.js +0 -9
- package/dist/cjs/utils/cast.js +0 -6
- package/dist/cjs/utils/catchInfiniteLoop.js +0 -34
- package/dist/cjs/utils/changeEnumerable.js +0 -8
- package/dist/cjs/utils/checkType.js +0 -6
- package/dist/cjs/utils/compareString.js +0 -10
- package/dist/cjs/utils/createErrorWithCleanStackTrace.js +0 -39
- package/dist/cjs/utils/debug.js +0 -178
- package/dist/cjs/utils/debugGlob.js +0 -6
- package/dist/cjs/utils/deepEqual.js +0 -10
- package/dist/cjs/utils/escapeHtml.js +0 -13
- package/dist/cjs/utils/escapeRegex.js +0 -7
- package/dist/cjs/utils/findFile.js +0 -30
- package/dist/cjs/utils/findPackageJson.js +0 -18
- package/dist/cjs/utils/formatHintLog.js +0 -17
- package/dist/cjs/utils/freezePartial.js +0 -35
- package/dist/cjs/utils/genPromise.js +0 -51
- package/dist/cjs/utils/getFileExtension.js +0 -16
- package/dist/cjs/utils/getGlobalObject.js +0 -15
- package/dist/cjs/utils/getMostSimilar.js +0 -68
- package/dist/cjs/utils/getPropAccessNotation.js +0 -9
- package/dist/cjs/utils/getRandomId.js +0 -14
- package/dist/cjs/utils/getTerminalWidth.js +0 -7
- package/dist/cjs/utils/getValuePrintable.js +0 -10
- package/dist/cjs/utils/getViteRPC.js +0 -79
- package/dist/cjs/utils/hasProp.js +0 -50
- package/dist/cjs/utils/humanizeTime.js +0 -24
- package/dist/cjs/utils/includes.js +0 -13
- package/dist/cjs/utils/injectRollupInputs.js +0 -29
- package/dist/cjs/utils/isArray.js +0 -7
- package/dist/cjs/utils/isArrayOfStrings.js +0 -7
- package/dist/cjs/utils/isBrowser.js +0 -8
- package/dist/cjs/utils/isCallable.js +0 -6
- package/dist/cjs/utils/isDev.js +0 -20
- package/dist/cjs/utils/isDocker.js +0 -45
- package/dist/cjs/utils/isEqualStringList.js +0 -13
- package/dist/cjs/utils/isFilePathAbsoluteFilesystem.js +0 -66
- package/dist/cjs/utils/isHtml.js +0 -9
- package/dist/cjs/utils/isImportPath.js +0 -21
- package/dist/cjs/utils/isNodeJS.js +0 -16
- package/dist/cjs/utils/isNonRunnableDev.js +0 -12
- package/dist/cjs/utils/isNullish.js +0 -16
- package/dist/cjs/utils/isObject.js +0 -6
- package/dist/cjs/utils/isObjectOfStrings.js +0 -7
- package/dist/cjs/utils/isObjectWithKeys.js +0 -15
- package/dist/cjs/utils/isPlainObject.js +0 -19
- package/dist/cjs/utils/isPromise.js +0 -7
- package/dist/cjs/utils/isPropertyGetter.js +0 -7
- package/dist/cjs/utils/isReact.js +0 -23
- package/dist/cjs/utils/isRunnableDevEnvironment.js +0 -9
- package/dist/cjs/utils/isSameErrorMessage.js +0 -9
- package/dist/cjs/utils/isScriptFile.js +0 -67
- package/dist/cjs/utils/isVikeReactApp.js +0 -8
- package/dist/cjs/utils/isVitest.js +0 -6
- package/dist/cjs/utils/joinEnglish.js +0 -14
- package/dist/cjs/utils/normalizeHeaders.js +0 -17
- package/dist/cjs/utils/objectAssign.js +0 -14
- package/dist/cjs/utils/objectAssignSafe.js +0 -7
- package/dist/cjs/utils/objectDefineProperty.js +0 -7
- package/dist/cjs/utils/objectEntries.js +0 -8
- package/dist/cjs/utils/objectEntriesForEach.js +0 -7
- package/dist/cjs/utils/objectFilter.js +0 -10
- package/dist/cjs/utils/objectFromEntries.js +0 -7
- package/dist/cjs/utils/objectKeys.js +0 -9
- package/dist/cjs/utils/objectReplace.js +0 -9
- package/dist/cjs/utils/onPageVisibilityChange.js +0 -18
- package/dist/cjs/utils/pLimit.js +0 -134
- package/dist/cjs/utils/parseNpmPackage.js +0 -106
- package/dist/cjs/utils/parseUrl-extras.js +0 -110
- package/dist/cjs/utils/parseUrl.js +0 -338
- package/dist/cjs/utils/path.js +0 -59
- package/dist/cjs/utils/pick.js +0 -12
- package/dist/cjs/utils/preservePropertyGetters.js +0 -30
- package/dist/cjs/utils/redirectHard.js +0 -6
- package/dist/cjs/utils/removeEmptyLines.js +0 -9
- package/dist/cjs/utils/removeFileExtension.js +0 -6
- package/dist/cjs/utils/requireResolve.js +0 -214
- package/dist/cjs/utils/rollupSourceMap.js +0 -19
- package/dist/cjs/utils/sleep.js +0 -6
- package/dist/cjs/utils/slice.js +0 -35
- package/dist/cjs/utils/sorter.js +0 -117
- package/dist/cjs/utils/stringifyStringArray.js +0 -6
- package/dist/cjs/utils/stripAnsi.js +0 -21
- package/dist/cjs/utils/styleFileRE.js +0 -6
- package/dist/cjs/utils/throttle.js +0 -15
- package/dist/cjs/utils/trackLogs.js +0 -31
- package/dist/cjs/utils/trimWithAnsi.js +0 -40
- package/dist/cjs/utils/truncateString.js +0 -23
- package/dist/cjs/utils/unique.js +0 -6
- package/dist/cjs/utils/updateType.js +0 -9
- package/dist/cjs/utils/urlToFile.js +0 -36
- package/dist/cjs/utils/virtualFileId.js +0 -39
- package/dist/cjs/utils/warnIfErrorIsNotObject.js +0 -23
- package/dist/esm/client/runtime-server-routing/globalContext.js +0 -5
- package/dist/esm/client/shared/createGetGlobalContextClient.js +0 -65
- package/dist/esm/node/vite/plugins/pluginBuild/pluginDistFileNames.js +0 -249
- package/dist/esm/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +0 -34
- package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.js +0 -39
- package/dist/esm/node/vite/plugins/pluginBuild.d.ts +0 -3
- package/dist/esm/node/vite/plugins/pluginBuild.js +0 -19
- package/dist/esm/node/vite/plugins/pluginEnvVars.d.ts +0 -3
- package/dist/esm/node/vite/plugins/pluginEnvVars.js +0 -85
- package/dist/esm/node/vite/plugins/pluginNonRunnableDev.js +0 -50
- package/dist/esm/node/vite/plugins/pluginReplaceConstants.d.ts +0 -3
- package/dist/esm/node/vite/plugins/pluginReplaceConstants.js +0 -67
- package/dist/esm/shared/route/debug.d.ts +0 -6
- package/dist/esm/shared/route/debug.js +0 -21
- /package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginBuildApp.d.ts +0 -0
- /package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginBuildConfig.d.ts +0 -0
- /package/dist/esm/node/vite/plugins/{pluginBuild → build}/pluginProdBuildEntry.d.ts +0 -0
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.execHookOnRenderHtml = execHookOnRenderHtml;
|
|
7
|
-
const renderHtml_js_1 = require("./html/renderHtml.js");
|
|
8
|
-
const getHook_js_1 = require("../../../shared/hooks/getHook.js");
|
|
9
|
-
const utils_js_1 = require("../utils.js");
|
|
10
|
-
const stream_js_1 = require("./html/stream.js");
|
|
11
|
-
const assertPageContextProvidedByUser_js_1 = require("../../../shared/assertPageContextProvidedByUser.js");
|
|
12
|
-
const preparePageContextForPublicUsageServer_js_1 = require("./preparePageContextForPublicUsageServer.js");
|
|
13
|
-
const assertHookReturnedObject_js_1 = require("../../../shared/assertHookReturnedObject.js");
|
|
14
|
-
const loggerRuntime_js_1 = require("../loggerRuntime.js");
|
|
15
|
-
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
16
|
-
const execHook_js_1 = require("../../../shared/hooks/execHook.js");
|
|
17
|
-
async function execHookOnRenderHtml(pageContext) {
|
|
18
|
-
const hook = getRenderHook(pageContext);
|
|
19
|
-
(0, utils_js_1.objectAssign)(pageContext, { _renderHook: hook });
|
|
20
|
-
const { hookReturn } = await (0, execHook_js_1.execHookDirectSingleWithReturn)(hook, pageContext, preparePageContextForPublicUsageServer_js_1.preparePageContextForPublicUsageServer);
|
|
21
|
-
const { documentHtml, pageContextProvidedByRenderHook, pageContextPromise, injectFilter } = processHookReturnValue(hookReturn, hook);
|
|
22
|
-
Object.assign(pageContext, pageContextProvidedByRenderHook);
|
|
23
|
-
(0, utils_js_1.objectAssign)(pageContext, { _pageContextPromise: pageContextPromise });
|
|
24
|
-
const onErrorWhileStreaming = (err) => {
|
|
25
|
-
// Should the stream inject the following?
|
|
26
|
-
// ```
|
|
27
|
-
// <script>console.error("An error occurred on the server side while streaming the page to HTML, see server logs.")</script>
|
|
28
|
-
// ```
|
|
29
|
-
(0, loggerRuntime_js_1.logRuntimeError)(err, pageContext._httpRequestId);
|
|
30
|
-
if (!pageContext.errorWhileRendering) {
|
|
31
|
-
pageContext.errorWhileRendering = err;
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
const htmlRender = await (0, renderHtml_js_1.renderDocumentHtml)(documentHtml, pageContext, onErrorWhileStreaming, injectFilter);
|
|
35
|
-
(0, utils_js_1.assert)(typeof htmlRender === 'string' || (0, stream_js_1.isStream)(htmlRender));
|
|
36
|
-
return { htmlRender, renderHook: hook };
|
|
37
|
-
}
|
|
38
|
-
function getRenderHook(pageContext) {
|
|
39
|
-
let hookFound;
|
|
40
|
-
{
|
|
41
|
-
let hook;
|
|
42
|
-
let hookName = undefined;
|
|
43
|
-
hook = (0, getHook_js_1.getHookFromPageContext)(pageContext, 'onRenderHtml');
|
|
44
|
-
if (hook) {
|
|
45
|
-
hookName = 'onRenderHtml';
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
hook = (0, getHook_js_1.getHookFromPageContext)(pageContext, 'render');
|
|
49
|
-
if (hook) {
|
|
50
|
-
hookName = 'render';
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
if (hook) {
|
|
54
|
-
(0, utils_js_1.assert)(hookName);
|
|
55
|
-
const { hookFilePath, hookFn, hookTimeout } = hook;
|
|
56
|
-
hookFound = { hookFn, hookFilePath, hookName, hookTimeout };
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
if (!hookFound) {
|
|
60
|
-
const hookName = pageContext._globalContext._pageConfigs.length > 0 ? 'onRenderHtml' : 'render';
|
|
61
|
-
(0, utils_js_1.assertUsage)(false, `No ${hookName}() hook found, see https://vike.dev/${hookName}`);
|
|
62
|
-
}
|
|
63
|
-
return hookFound;
|
|
64
|
-
}
|
|
65
|
-
function processHookReturnValue(hookReturnValue, renderHook) {
|
|
66
|
-
let documentHtml;
|
|
67
|
-
let pageContextPromise = null;
|
|
68
|
-
let pageContextProvidedByRenderHook = null;
|
|
69
|
-
let injectFilter = null;
|
|
70
|
-
if ((0, renderHtml_js_1.isDocumentHtml)(hookReturnValue)) {
|
|
71
|
-
documentHtml = hookReturnValue;
|
|
72
|
-
return { documentHtml, pageContextProvidedByRenderHook, pageContextPromise, injectFilter };
|
|
73
|
-
}
|
|
74
|
-
const errPrefix = `The ${renderHook.hookName}() hook defined at ${renderHook.hookFilePath}`;
|
|
75
|
-
const errSuffix = `a string generated with ${picocolors_1.default.cyan('escapeInject`<html>...</html>`')} or the value returned by ${picocolors_1.default.cyan('dangerouslySkipEscape()')}, see https://vike.dev/escapeInject`;
|
|
76
|
-
if (typeof hookReturnValue === 'string') {
|
|
77
|
-
(0, utils_js_1.assertWarning)(false, [
|
|
78
|
-
errPrefix,
|
|
79
|
-
`returned a plain JavaScript string which is ${picocolors_1.default.red(picocolors_1.default.bold('dangerous'))}: it should instead return`,
|
|
80
|
-
errSuffix,
|
|
81
|
-
].join(' '), { onlyOnce: true });
|
|
82
|
-
hookReturnValue = (0, renderHtml_js_1.dangerouslySkipEscape)(hookReturnValue);
|
|
83
|
-
}
|
|
84
|
-
const wrongReturnValue = `should return the value ${picocolors_1.default.cyan('documentHtml')} or an object ${picocolors_1.default.cyan('{ documentHtml }')} where ${picocolors_1.default.cyan('documentHtml')} is ${errSuffix}`;
|
|
85
|
-
(0, utils_js_1.assertUsage)((0, utils_js_1.isObject)(hookReturnValue), `${errPrefix} ${wrongReturnValue}`);
|
|
86
|
-
(0, assertHookReturnedObject_js_1.assertHookReturnedObject)(hookReturnValue, ['documentHtml', 'pageContext', 'injectFilter'], errPrefix);
|
|
87
|
-
(0, utils_js_1.assertUsage)(hookReturnValue.documentHtml, `${errPrefix} returned an object that is missing the ${picocolors_1.default.code('documentHtml')} property: it ${wrongReturnValue}`);
|
|
88
|
-
if (hookReturnValue.injectFilter) {
|
|
89
|
-
(0, utils_js_1.assertUsage)((0, utils_js_1.isCallable)(hookReturnValue.injectFilter), 'injectFilter should be a function');
|
|
90
|
-
injectFilter = hookReturnValue.injectFilter;
|
|
91
|
-
}
|
|
92
|
-
{
|
|
93
|
-
let val = hookReturnValue.documentHtml;
|
|
94
|
-
const errBegin = `${errPrefix} returned ${picocolors_1.default.cyan('{ documentHtml }')}, but ${picocolors_1.default.cyan('documentHtml')}`;
|
|
95
|
-
if (typeof val === 'string') {
|
|
96
|
-
(0, utils_js_1.assertWarning)(false, [
|
|
97
|
-
errBegin,
|
|
98
|
-
`is a plain JavaScript string which is ${picocolors_1.default.bold(picocolors_1.default.red('dangerous'))}: ${picocolors_1.default.cyan('documentHtml')} should be`,
|
|
99
|
-
errSuffix,
|
|
100
|
-
].join(' '), { onlyOnce: true });
|
|
101
|
-
val = (0, renderHtml_js_1.dangerouslySkipEscape)(val);
|
|
102
|
-
}
|
|
103
|
-
(0, utils_js_1.assertUsage)((0, renderHtml_js_1.isDocumentHtml)(val), [errBegin, 'should be', errSuffix].join(' '));
|
|
104
|
-
documentHtml = val;
|
|
105
|
-
}
|
|
106
|
-
if (hookReturnValue.pageContext) {
|
|
107
|
-
const val = hookReturnValue.pageContext;
|
|
108
|
-
const errBegin = `${errPrefix} returned ${picocolors_1.default.cyan('{ pageContext }')}, but ${picocolors_1.default.cyan('pageContext')}`;
|
|
109
|
-
if ((0, utils_js_1.isPromise)(val) || (0, utils_js_1.isCallable)(val)) {
|
|
110
|
-
(0, utils_js_1.assertWarning)(!(0, utils_js_1.isPromise)(val), `${errBegin} is a promise which is deprecated in favor of async functions, see https://vike.dev/streaming#initial-data-after-stream-end`, { onlyOnce: true });
|
|
111
|
-
pageContextPromise = val;
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
(0, utils_js_1.assertUsage)((0, utils_js_1.isObject)(val), `${errBegin} should be an object or an async function, see https://vike.dev/streaming#initial-data-after-stream-end`);
|
|
115
|
-
(0, assertPageContextProvidedByUser_js_1.assertPageContextProvidedByUser)(val, renderHook);
|
|
116
|
-
pageContextProvidedByRenderHook = val;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
return { documentHtml, pageContextProvidedByRenderHook, pageContextPromise, injectFilter };
|
|
120
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.execHookServer = execHookServer;
|
|
4
|
-
const execHook_js_1 = require("../../../shared/hooks/execHook.js");
|
|
5
|
-
const preparePageContextForPublicUsageServer_js_1 = require("./preparePageContextForPublicUsageServer.js");
|
|
6
|
-
async function execHookServer(hookName, pageContext) {
|
|
7
|
-
return await (0, execHook_js_1.execHook)(hookName, pageContext, preparePageContextForPublicUsageServer_js_1.preparePageContextForPublicUsageServer);
|
|
8
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.cacheControlDisable = void 0;
|
|
4
|
-
exports.getCacheControl = getCacheControl;
|
|
5
|
-
const helpers_js_1 = require("../../../shared/page-configs/helpers.js");
|
|
6
|
-
const getConfigValueRuntime_js_1 = require("../../../shared/page-configs/getConfigValueRuntime.js");
|
|
7
|
-
const cacheControlDisable = 'no-store, max-age=0';
|
|
8
|
-
exports.cacheControlDisable = cacheControlDisable;
|
|
9
|
-
function getCacheControl(pageId, pageConfigs) {
|
|
10
|
-
// TO-DO/next-major-release: remove this line
|
|
11
|
-
if (pageConfigs.length === 0)
|
|
12
|
-
return cacheControlDisable;
|
|
13
|
-
if (pageId) {
|
|
14
|
-
const pageConfig = (0, helpers_js_1.getPageConfig)(pageId, pageConfigs);
|
|
15
|
-
const configValue = (0, getConfigValueRuntime_js_1.getConfigValueRuntime)(pageConfig, 'cacheControl', 'string');
|
|
16
|
-
const value = configValue?.value;
|
|
17
|
-
if (value)
|
|
18
|
-
return value;
|
|
19
|
-
}
|
|
20
|
-
// - Disabling caching by default is the safest strategy, because caching is problematic with authentication as described in https://github.com/vikejs/vike/issues/1275#issuecomment-1824366875
|
|
21
|
-
// - Are there use cases when we don't need to disable caching?
|
|
22
|
-
// - When there isn't any <script id="vike_pageContext" type="application/json"> then we can safely have caching. (We don't implement this exception because we're lazy and it's quite a rare situation.)
|
|
23
|
-
return cacheControlDisable;
|
|
24
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getEarlyHints = getEarlyHints;
|
|
4
|
-
const isFontFallback_js_1 = require("./isFontFallback.js");
|
|
5
|
-
const inferHtmlTags_js_1 = require("./html/injectAssets/inferHtmlTags.js");
|
|
6
|
-
function getEarlyHints(assets) {
|
|
7
|
-
const earlyHints = [];
|
|
8
|
-
{
|
|
9
|
-
assets.forEach((asset) => {
|
|
10
|
-
// Don't early hint fallback fonts, https://github.com/vikejs/vike/issues/624
|
|
11
|
-
if ((0, isFontFallback_js_1.isFontFallback)(asset, earlyHints))
|
|
12
|
-
return;
|
|
13
|
-
earlyHints.push({
|
|
14
|
-
...asset,
|
|
15
|
-
earlyHintLink: (0, inferHtmlTags_js_1.inferEarlyHintLink)(asset),
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
return earlyHints;
|
|
20
|
-
}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getHttpResponseBody = getHttpResponseBody;
|
|
7
|
-
exports.getHttpResponseBodyStreamHandlers = getHttpResponseBodyStreamHandlers;
|
|
8
|
-
const stream_js_1 = require("./html/stream.js");
|
|
9
|
-
const utils_js_1 = require("../utils.js");
|
|
10
|
-
const renderHtml_js_1 = require("./html/renderHtml.js");
|
|
11
|
-
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
12
|
-
const streamDocs = 'See https://vike.dev/streaming for more information.';
|
|
13
|
-
function getHttpResponseBody(htmlRender, renderHook) {
|
|
14
|
-
if (typeof htmlRender !== 'string') {
|
|
15
|
-
(0, utils_js_1.assertUsage)(false, getErrMsg(htmlRender, renderHook, 'body', `Use ${picocolors_1.default.cyan('pageContext.httpResponse.pipe()')} instead`));
|
|
16
|
-
}
|
|
17
|
-
const body = htmlRender;
|
|
18
|
-
return body;
|
|
19
|
-
}
|
|
20
|
-
function getHttpResponseBodyStreamHandlers(htmlRender, renderHook) {
|
|
21
|
-
return {
|
|
22
|
-
pipe(writable) {
|
|
23
|
-
const getErrMsgMixingStreamTypes = (writableType) => `The ${getErrMsgBody(htmlRender, renderHook)} while a ${writableType} was passed to pageContext.httpResponse.pipe() which is contradictory. You cannot mix a Web Stream with a Node.js Stream.`;
|
|
24
|
-
if ((0, stream_js_1.isStreamWritableWeb)(writable)) {
|
|
25
|
-
const success = (0, stream_js_1.pipeToStreamWritableWeb)(htmlRender, writable);
|
|
26
|
-
if (success) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
(0, utils_js_1.assert)((0, stream_js_1.isStreamReadableNode)(htmlRender) || (0, stream_js_1.isStreamPipeNode)(htmlRender));
|
|
31
|
-
(0, utils_js_1.assertUsage)(false, getErrMsgMixingStreamTypes('Web Writable'));
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
if ((0, stream_js_1.isStreamWritableNode)(writable)) {
|
|
35
|
-
const success = (0, stream_js_1.pipeToStreamWritableNode)(htmlRender, writable);
|
|
36
|
-
if (success) {
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
(0, utils_js_1.assert)((0, stream_js_1.isStreamReadableWeb)(htmlRender) || (0, stream_js_1.isStreamPipeWeb)(htmlRender));
|
|
41
|
-
(0, utils_js_1.assertUsage)(false, getErrMsgMixingStreamTypes('Node.js Writable'));
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
(0, utils_js_1.assertUsage)(false, `The argument ${picocolors_1.default.cyan('writable')} passed to ${picocolors_1.default.cyan('pageContext.httpResponse.pipe(writable)')} doesn't seem to be ${(0, stream_js_1.getStreamName)('writable', 'web')} nor ${(0, stream_js_1.getStreamName)('writable', 'node')}.`);
|
|
45
|
-
},
|
|
46
|
-
getReadableWebStream() {
|
|
47
|
-
const webStream = (0, stream_js_1.getStreamReadableWeb)(htmlRender);
|
|
48
|
-
if (webStream === null) {
|
|
49
|
-
(0, utils_js_1.assertUsage)(false, getErrMsg(htmlRender, renderHook, 'getReadableWebStream()', getFixMsg('readable', 'web')));
|
|
50
|
-
}
|
|
51
|
-
return webStream;
|
|
52
|
-
},
|
|
53
|
-
async getReadableNodeStream() {
|
|
54
|
-
const nodeStream = await (0, stream_js_1.getStreamReadableNode)(htmlRender);
|
|
55
|
-
if (nodeStream === null) {
|
|
56
|
-
(0, utils_js_1.assertUsage)(false, getErrMsg(htmlRender, renderHook, 'getReadableNodeStream()', getFixMsg('readable', 'node')));
|
|
57
|
-
}
|
|
58
|
-
return nodeStream;
|
|
59
|
-
},
|
|
60
|
-
async getBody() {
|
|
61
|
-
const body = await (0, renderHtml_js_1.getHtmlString)(htmlRender);
|
|
62
|
-
return body;
|
|
63
|
-
},
|
|
64
|
-
// TO-DO/next-major-release: remove
|
|
65
|
-
async getNodeStream() {
|
|
66
|
-
(0, utils_js_1.assertWarning)(false, '`pageContext.httpResponse.getNodeStream()` is outdated, use `pageContext.httpResponse.getReadableNodeStream()` instead. ' +
|
|
67
|
-
streamDocs, { onlyOnce: true, showStackTrace: true });
|
|
68
|
-
const nodeStream = await (0, stream_js_1.getStreamReadableNode)(htmlRender);
|
|
69
|
-
if (nodeStream === null) {
|
|
70
|
-
(0, utils_js_1.assertUsage)(false, getErrMsg(htmlRender, renderHook, 'getNodeStream()', getFixMsg('readable', 'node')));
|
|
71
|
-
}
|
|
72
|
-
return nodeStream;
|
|
73
|
-
},
|
|
74
|
-
// TO-DO/next-major-release: remove
|
|
75
|
-
getWebStream() {
|
|
76
|
-
(0, utils_js_1.assertWarning)(false, '`pageContext.httpResponse.getWebStream(res)` is outdated, use `pageContext.httpResponse.getReadableWebStream(res)` instead. ' +
|
|
77
|
-
streamDocs, { onlyOnce: true, showStackTrace: true });
|
|
78
|
-
const webStream = (0, stream_js_1.getStreamReadableWeb)(htmlRender);
|
|
79
|
-
if (webStream === null) {
|
|
80
|
-
(0, utils_js_1.assertUsage)(false, getErrMsg(htmlRender, renderHook, 'getWebStream()', getFixMsg('readable', 'web')));
|
|
81
|
-
}
|
|
82
|
-
return webStream;
|
|
83
|
-
},
|
|
84
|
-
// TO-DO/next-major-release: remove
|
|
85
|
-
pipeToWebWritable(writable) {
|
|
86
|
-
(0, utils_js_1.assertWarning)(false, '`pageContext.httpResponse.pipeToWebWritable(res)` is outdated, use `pageContext.httpResponse.pipe(res)` instead. ' +
|
|
87
|
-
streamDocs, { onlyOnce: true, showStackTrace: true });
|
|
88
|
-
const success = (0, stream_js_1.pipeToStreamWritableWeb)(htmlRender, writable);
|
|
89
|
-
if (!success) {
|
|
90
|
-
(0, utils_js_1.assertUsage)(false, getErrMsg(htmlRender, renderHook, 'pipeToWebWritable()'));
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
|
-
// TO-DO/next-major-release: remove
|
|
94
|
-
pipeToNodeWritable(writable) {
|
|
95
|
-
(0, utils_js_1.assertWarning)(false, '`pageContext.httpResponse.pipeToNodeWritable(res)` is outdated, use `pageContext.httpResponse.pipe(res)` instead. ' +
|
|
96
|
-
streamDocs, { onlyOnce: true, showStackTrace: true });
|
|
97
|
-
const success = (0, stream_js_1.pipeToStreamWritableNode)(htmlRender, writable);
|
|
98
|
-
if (!success) {
|
|
99
|
-
(0, utils_js_1.assertUsage)(false, getErrMsg(htmlRender, renderHook, 'pipeToNodeWritable()'));
|
|
100
|
-
}
|
|
101
|
-
},
|
|
102
|
-
};
|
|
103
|
-
function getFixMsg(kind, type) {
|
|
104
|
-
const streamName = (0, stream_js_1.getStreamName)(kind, type);
|
|
105
|
-
(0, utils_js_1.assert)(['a ', 'an ', 'the '].some((s) => streamName.startsWith(s)));
|
|
106
|
-
(0, utils_js_1.assert)(renderHook);
|
|
107
|
-
const { hookFilePath, hookName } = renderHook;
|
|
108
|
-
return `Make sure the ${hookName}() hook defined by ${hookFilePath} provides ${streamName} instead`;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
function getErrMsg(htmlRender, renderHook, method, msgAddendum) {
|
|
112
|
-
(0, utils_js_1.assert)(!msgAddendum || !msgAddendum.endsWith('.'));
|
|
113
|
-
const errMsgBody = getErrMsgBody(htmlRender, renderHook);
|
|
114
|
-
return [`pageContext.httpResponse.${method} can't be used because the ${errMsgBody}`, msgAddendum, streamDocs]
|
|
115
|
-
.filter(Boolean)
|
|
116
|
-
.join('. ');
|
|
117
|
-
}
|
|
118
|
-
function getErrMsgBody(htmlRender, renderHook) {
|
|
119
|
-
(0, utils_js_1.assert)(renderHook);
|
|
120
|
-
const { hookFilePath, hookName } = renderHook;
|
|
121
|
-
const hookReturnType = getHookReturnType(htmlRender);
|
|
122
|
-
(0, utils_js_1.assert)(['a ', 'an ', 'the '].some((s) => hookReturnType.startsWith(s)));
|
|
123
|
-
const errMsgBody = `${hookName}()\ hook defined by ${hookFilePath} provides ${hookReturnType}`;
|
|
124
|
-
(0, utils_js_1.assert)(!errMsgBody.endsWith(' '));
|
|
125
|
-
return errMsgBody;
|
|
126
|
-
}
|
|
127
|
-
function getHookReturnType(htmlRender) {
|
|
128
|
-
if (typeof htmlRender === 'string') {
|
|
129
|
-
return 'an HTML string';
|
|
130
|
-
}
|
|
131
|
-
else if ((0, stream_js_1.isStream)(htmlRender)) {
|
|
132
|
-
return (0, stream_js_1.inferStreamName)(htmlRender);
|
|
133
|
-
}
|
|
134
|
-
else {
|
|
135
|
-
(0, utils_js_1.assert)(false);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getManifestEntry = getManifestEntry;
|
|
4
|
-
const utils_js_1 = require("../../utils.js");
|
|
5
|
-
const virtualFileId_js_1 = require("../../../shared/virtualFileId.js");
|
|
6
|
-
const prependEntriesDir_js_1 = require("../../../shared/prependEntriesDir.js");
|
|
7
|
-
function getManifestEntry(id, assetsManifest) {
|
|
8
|
-
const debugInfo = getDebugInfo(id, assetsManifest);
|
|
9
|
-
// Vike client entry
|
|
10
|
-
if (id.startsWith('@@vike/')) {
|
|
11
|
-
const manifestKeyEnd = (0, utils_js_1.slice)(id, '@@vike'.length, 0);
|
|
12
|
-
const { manifestKey, manifestEntry } = findEntryWithKeyEnd(manifestKeyEnd, assetsManifest, id);
|
|
13
|
-
(0, utils_js_1.assert)(manifestEntry && manifestKey, debugInfo);
|
|
14
|
-
return { manifestEntry, manifestKey };
|
|
15
|
-
}
|
|
16
|
-
// Page code importer
|
|
17
|
-
const virtualFile = (0, virtualFileId_js_1.parseVirtualFileId)(id);
|
|
18
|
-
if (virtualFile && virtualFile.type === 'page-entry') {
|
|
19
|
-
{
|
|
20
|
-
const manifestKey = id;
|
|
21
|
-
const manifestEntry = assetsManifest[manifestKey];
|
|
22
|
-
if (manifestEntry) {
|
|
23
|
-
return { manifestEntry, manifestKey };
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
// Workaround for what seems to be a Vite bug when process.cwd() !== config.root
|
|
27
|
-
// - Manifest key is:
|
|
28
|
-
// ../../virtual:vike:page-entry:client:/pages/index
|
|
29
|
-
// But it should be this instead:
|
|
30
|
-
// virtual:vike:page-entry:client:/pages/index
|
|
31
|
-
// - This workaround was implemented to support Vitest running /tests/*
|
|
32
|
-
// - I don't know whether end users actually need this workaround? (I'm not sure what the bug actually is.)
|
|
33
|
-
const manifestKeyEnd = id;
|
|
34
|
-
const { manifestKey, manifestEntry } = getEntryWithKeyEnd(manifestKeyEnd, assetsManifest, id);
|
|
35
|
-
(0, utils_js_1.assert)(manifestEntry, debugInfo);
|
|
36
|
-
return { manifestEntry, manifestKey };
|
|
37
|
-
}
|
|
38
|
-
// User files
|
|
39
|
-
if (id.startsWith('/')) {
|
|
40
|
-
const manifestKey = id.slice(1);
|
|
41
|
-
let manifestEntry = assetsManifest[manifestKey];
|
|
42
|
-
(0, utils_js_1.assert)(manifestEntry, debugInfo);
|
|
43
|
-
return { manifestEntry, manifestKey };
|
|
44
|
-
}
|
|
45
|
-
// npm package import
|
|
46
|
-
(0, utils_js_1.assertIsImportPathNpmPackage)(id);
|
|
47
|
-
const found = Object.entries(assetsManifest).find(([, e]) => e.name === (0, prependEntriesDir_js_1.prependEntriesDir)(id));
|
|
48
|
-
(0, utils_js_1.assert)(found);
|
|
49
|
-
const [manifestKey, manifestEntry] = found;
|
|
50
|
-
return { manifestEntry, manifestKey };
|
|
51
|
-
/* Can we remove this?
|
|
52
|
-
// extensions[number].pageConfigsSrcDir
|
|
53
|
-
if (id.startsWith('/node_modules/') || id.startsWith('/../')) {
|
|
54
|
-
let manifestKeyEnd = id.split('/node_modules/').slice(-1)[0]
|
|
55
|
-
assert(manifestKeyEnd, debugInfo)
|
|
56
|
-
assert(!manifestKeyEnd.startsWith('/'), debugInfo)
|
|
57
|
-
manifestKeyEnd = '/' + manifestKeyEnd
|
|
58
|
-
{
|
|
59
|
-
const { manifestEntry, manifestKey } = findEntryWithKeyEnd(manifestKeyEnd, assetsManifest, id)
|
|
60
|
-
if (manifestEntry) {
|
|
61
|
-
assert(manifestKey, debugInfo)
|
|
62
|
-
return { manifestEntry, manifestKey }
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
{
|
|
66
|
-
assert(manifestKeyEnd.startsWith('/'), debugInfo)
|
|
67
|
-
const dirS = manifestKeyEnd.split('/')
|
|
68
|
-
assert(dirS[0] === '', debugInfo)
|
|
69
|
-
manifestKeyEnd = '/' + dirS.slice(2).join('/')
|
|
70
|
-
assert(manifestKeyEnd.startsWith('/'), debugInfo)
|
|
71
|
-
}
|
|
72
|
-
{
|
|
73
|
-
const { manifestEntry, manifestKey } = findEntryWithKeyEnd(manifestKeyEnd, assetsManifest, id)
|
|
74
|
-
if (manifestEntry) {
|
|
75
|
-
assert(manifestKey, debugInfo)
|
|
76
|
-
return { manifestEntry, manifestKey }
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
assert(false, debugInfo)
|
|
80
|
-
}
|
|
81
|
-
*/
|
|
82
|
-
}
|
|
83
|
-
function findEntryWithKeyEnd(manifestKeyEnd, assetsManifest, id) {
|
|
84
|
-
const debugInfo = getDebugInfo(id, assetsManifest, manifestKeyEnd);
|
|
85
|
-
(0, utils_js_1.assert)(manifestKeyEnd.startsWith('/'), debugInfo);
|
|
86
|
-
const manifestKeys = [];
|
|
87
|
-
for (const manifestKey in assetsManifest) {
|
|
88
|
-
if (manifestKey.endsWith(manifestKeyEnd)) {
|
|
89
|
-
manifestKeys.push(manifestKey);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
const manifestKeysRelative = manifestKeys.filter((k) => k.startsWith('../'));
|
|
93
|
-
(0, utils_js_1.assert)(manifestKeysRelative.length <= 1, debugInfo);
|
|
94
|
-
const manifestKey = manifestKeysRelative[0] ?? manifestKeys[0] ?? null;
|
|
95
|
-
if (!manifestKey) {
|
|
96
|
-
return { manifestEntry: null, manifestKey: null };
|
|
97
|
-
}
|
|
98
|
-
const manifestEntry = assetsManifest[manifestKey];
|
|
99
|
-
return { manifestEntry, manifestKey };
|
|
100
|
-
}
|
|
101
|
-
function getEntryWithKeyEnd(manifestKeyEnd, assetsManifest, id) {
|
|
102
|
-
const debugInfo = getDebugInfo(id, assetsManifest, manifestKeyEnd);
|
|
103
|
-
const manifestKeys = [];
|
|
104
|
-
for (const manifestKey in assetsManifest) {
|
|
105
|
-
if (manifestKey.endsWith(manifestKeyEnd)) {
|
|
106
|
-
manifestKeys.push(manifestKey);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
(0, utils_js_1.assert)(manifestKeys.length <= 1, debugInfo);
|
|
110
|
-
const manifestKey = manifestKeys[0];
|
|
111
|
-
if (!manifestKey) {
|
|
112
|
-
return { manifestEntry: null, manifestKey: null };
|
|
113
|
-
}
|
|
114
|
-
const manifestEntry = assetsManifest[manifestKey];
|
|
115
|
-
return { manifestEntry, manifestKey };
|
|
116
|
-
}
|
|
117
|
-
function getDebugInfo(id, assetsManifest, manifestKeyEnd) {
|
|
118
|
-
const manifestKeys = Object.keys(assetsManifest);
|
|
119
|
-
if (manifestKeyEnd === undefined) {
|
|
120
|
-
return { manifestKeys, id };
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
return { manifestKeys, manifestKeyEnd, id };
|
|
124
|
-
}
|
|
125
|
-
}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.retrievePageAssetsDev = retrievePageAssetsDev;
|
|
4
|
-
exports.setGetClientEntrySrcDev = setGetClientEntrySrcDev;
|
|
5
|
-
const utils_js_1 = require("../../utils.js");
|
|
6
|
-
const virtualFileId_js_1 = require("../../../shared/virtualFileId.js");
|
|
7
|
-
const globalObject = (0, utils_js_1.getGlobalObject)('getPageAssets/retrievePageAssetsDev.ts', {
|
|
8
|
-
// We cannot define getClientEntrySrcDev() in this file because it depends on utils/requireResolve.ts which isn't available in production
|
|
9
|
-
getClientEntrySrcDev: null,
|
|
10
|
-
});
|
|
11
|
-
async function retrievePageAssetsDev(viteDevServer, clientDependencies, clientEntries) {
|
|
12
|
-
const clientEntriesSrc = clientEntries.map((clientEntry) => globalObject.getClientEntrySrcDev(clientEntry, viteDevServer));
|
|
13
|
-
const assetUrls = await getAssetUrls(clientDependencies, viteDevServer);
|
|
14
|
-
return { clientEntriesSrc, assetUrls };
|
|
15
|
-
}
|
|
16
|
-
function setGetClientEntrySrcDev(getClientEntrySrcDev) {
|
|
17
|
-
globalObject.getClientEntrySrcDev = getClientEntrySrcDev;
|
|
18
|
-
}
|
|
19
|
-
async function getAssetUrls(clientDependencies, viteDevServer) {
|
|
20
|
-
const assetUrls = new Set();
|
|
21
|
-
await Promise.all(clientDependencies.map(async ({ id }) => {
|
|
22
|
-
if (id.startsWith('@@vike'))
|
|
23
|
-
return; // vike doesn't have any CSS
|
|
24
|
-
(0, utils_js_1.assert)(id);
|
|
25
|
-
const virtualFile = (0, virtualFileId_js_1.parseVirtualFileId)(id);
|
|
26
|
-
(0, utils_js_1.assert)(!virtualFile || virtualFile.type !== 'global-entry');
|
|
27
|
-
const { moduleGraph } = viteDevServer;
|
|
28
|
-
const [_, graphId] = await moduleGraph.resolveUrl(id);
|
|
29
|
-
(0, utils_js_1.assert)(graphId, { id });
|
|
30
|
-
const mod = moduleGraph.getModuleById(graphId);
|
|
31
|
-
if (!mod) {
|
|
32
|
-
/* Not sure when the assertion fails. So let's just remove it for now.
|
|
33
|
-
* - https://github.com/vikejs/vike/issues/391
|
|
34
|
-
// `moduleGraph` is missing `.page.client.js` files on the very first render
|
|
35
|
-
assert(id.includes('.page.client.'), { id })
|
|
36
|
-
*/
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
(0, utils_js_1.assert)(mod, { id });
|
|
40
|
-
collectCss(mod, assetUrls, new Set());
|
|
41
|
-
}));
|
|
42
|
-
return Array.from(assetUrls);
|
|
43
|
-
}
|
|
44
|
-
// Collect the CSS to be injected to the HTML to avoid FLOUC
|
|
45
|
-
// - We only collect the root import: https://github.com/vikejs/vike/issues/400
|
|
46
|
-
function collectCss(mod, styleUrls, visitedModules, importer) {
|
|
47
|
-
(0, utils_js_1.assert)(mod);
|
|
48
|
-
if (!mod.url)
|
|
49
|
-
return;
|
|
50
|
-
if (visitedModules.has(mod.url))
|
|
51
|
-
return;
|
|
52
|
-
visitedModules.add(mod.url);
|
|
53
|
-
const virtualFile = (0, virtualFileId_js_1.parseVirtualFileId)(mod.id || mod.url);
|
|
54
|
-
if (virtualFile && virtualFile.type === 'global-entry')
|
|
55
|
-
return; // virtual:vike:global-entry:server dependency list includes all pages
|
|
56
|
-
if (isStyle(mod) && (!importer || !isStyle(importer))) {
|
|
57
|
-
if (mod.url.startsWith('/')) {
|
|
58
|
-
styleUrls.add(mod.url);
|
|
59
|
-
}
|
|
60
|
-
else if (mod.url.startsWith('\0')) {
|
|
61
|
-
// Virtual modules
|
|
62
|
-
// - https://vitejs.dev/guide/api-plugin.html#virtual-modules-convention
|
|
63
|
-
// - I believe some Vite plugins don't respect the \0 virtual module convention. What should we do then?
|
|
64
|
-
// - https://github.com/vikejs/vike/issues/1327
|
|
65
|
-
// - https://github.com/vikejs/vike/commit/3f7b9916dddc84e29e2c20d2b0df7211b6f1acbd
|
|
66
|
-
// - https://github.com/vikejs/vike/issues/479#issuecomment-1870043943
|
|
67
|
-
styleUrls.add(`/@id/__x00__${mod.url.substring(1)}`);
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
// Is this useful? Maybe for virtual modules that don't respect the \0 virtual module convention?
|
|
71
|
-
styleUrls.add(`/@id/${mod.url}`);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
mod.importedModules.forEach((dep) => {
|
|
75
|
-
collectCss(dep, styleUrls, visitedModules, mod);
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
function isStyle(mod) {
|
|
79
|
-
return (
|
|
80
|
-
// CSS-in-JS libraries such as [wyw-in-js](https://github.com/vikejs/vike/issues/2039)
|
|
81
|
-
mod.type === 'css' ||
|
|
82
|
-
// .css, .less, ...
|
|
83
|
-
utils_js_1.styleFileRE.test(mod.url) ||
|
|
84
|
-
// CSS of .vue files
|
|
85
|
-
(mod.id && /\?vue&type=style/.test(mod.id)));
|
|
86
|
-
}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.retrievePageAssetsProd = retrievePageAssetsProd;
|
|
4
|
-
exports.resolveIncludeAssetsImportedByServer = resolveIncludeAssetsImportedByServer;
|
|
5
|
-
const utils_js_1 = require("../../utils.js");
|
|
6
|
-
const getManifestEntry_js_1 = require("./getManifestEntry.js");
|
|
7
|
-
const extractAssetsQuery_js_1 = require("../../../shared/extractAssetsQuery.js");
|
|
8
|
-
function retrievePageAssetsProd(assetsManifest, clientDependencies, clientEntries, config) {
|
|
9
|
-
const clientEntriesSrc = clientEntries.map((clientEntry) => getClientEntrySrcProd(clientEntry, assetsManifest));
|
|
10
|
-
const assetUrls = getAssetsUrl(clientDependencies, assetsManifest, config);
|
|
11
|
-
return { clientEntriesSrc, assetUrls };
|
|
12
|
-
}
|
|
13
|
-
function getClientEntrySrcProd(clientEntry, assetsManifest) {
|
|
14
|
-
const { manifestEntry } = (0, getManifestEntry_js_1.getManifestEntry)(clientEntry, assetsManifest);
|
|
15
|
-
(0, utils_js_1.assert)(manifestEntry.isEntry || manifestEntry.isDynamicEntry || clientEntry.endsWith('.css'), { clientEntry });
|
|
16
|
-
let { file } = manifestEntry;
|
|
17
|
-
(0, utils_js_1.assert)(!file.startsWith('/'));
|
|
18
|
-
return '/' + file;
|
|
19
|
-
}
|
|
20
|
-
function getAssetsUrl(clientDependencies, assetsManifest, config) {
|
|
21
|
-
const includeAssetsImportedByServer = resolveIncludeAssetsImportedByServer(config);
|
|
22
|
-
let assetUrls = new Set();
|
|
23
|
-
(0, utils_js_1.assert)(assetsManifest);
|
|
24
|
-
const visistedAssets = new Set();
|
|
25
|
-
clientDependencies.forEach(({ id, onlyAssets, eagerlyImported }) => {
|
|
26
|
-
if (eagerlyImported)
|
|
27
|
-
return; // Eagerly imported assets aren't imported with import() and therefore don't create a new Rollup entry and aren't listed in the manifest file
|
|
28
|
-
// TO-DO/next-major-release: remove
|
|
29
|
-
if (includeAssetsImportedByServer &&
|
|
30
|
-
onlyAssets &&
|
|
31
|
-
id.includes('.page.server.') &&
|
|
32
|
-
// We assume that all npm packages have already built their files: bundlers (Rollup, esbuild, tsup, ...) extract the CSS out of JavaScript => we can assume JavaScript to not import any CSS/assets.
|
|
33
|
-
!(0, utils_js_1.isImportPathNpmPackage)(id, {
|
|
34
|
-
// I presume Vite already resolves path aliases when Vite sets the module's id
|
|
35
|
-
cannotBePathAlias: true,
|
|
36
|
-
})) {
|
|
37
|
-
id = (0, extractAssetsQuery_js_1.extractAssetsAddQuery)(id);
|
|
38
|
-
}
|
|
39
|
-
const { manifestKey } = (0, getManifestEntry_js_1.getManifestEntry)(id, assetsManifest);
|
|
40
|
-
collectAssets(manifestKey, assetUrls, visistedAssets, assetsManifest, onlyAssets);
|
|
41
|
-
});
|
|
42
|
-
collectSingleStyle(assetUrls, assetsManifest);
|
|
43
|
-
return Array.from(assetUrls);
|
|
44
|
-
}
|
|
45
|
-
function collectAssets(manifestKey, assetUrls, visistedAssets, assetsManifest, onlyCollectStaticAssets) {
|
|
46
|
-
if (visistedAssets.has(manifestKey))
|
|
47
|
-
return;
|
|
48
|
-
visistedAssets.add(manifestKey);
|
|
49
|
-
const manifestEntry = assetsManifest[manifestKey];
|
|
50
|
-
(0, utils_js_1.assert)(manifestEntry, { manifestKey });
|
|
51
|
-
const { file } = manifestEntry;
|
|
52
|
-
if (!onlyCollectStaticAssets) {
|
|
53
|
-
assetUrls.add(`/${file}`);
|
|
54
|
-
}
|
|
55
|
-
const { imports = [], assets = [], css = [] } = manifestEntry;
|
|
56
|
-
for (const manifestKey of imports) {
|
|
57
|
-
const importManifestEntry = assetsManifest[manifestKey];
|
|
58
|
-
(0, utils_js_1.assert)(importManifestEntry);
|
|
59
|
-
collectAssets(manifestKey, assetUrls, visistedAssets, assetsManifest, onlyCollectStaticAssets);
|
|
60
|
-
}
|
|
61
|
-
for (const cssAsset of css) {
|
|
62
|
-
assetUrls.add(`/${cssAsset}`);
|
|
63
|
-
}
|
|
64
|
-
for (const asset of assets) {
|
|
65
|
-
assetUrls.add(`/${asset}`);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
// Support `config.build.cssCodeSplit: false`, see https://github.com/vikejs/vike/issues/644
|
|
69
|
-
function collectSingleStyle(assetUrls, assetsManifest) {
|
|
70
|
-
const style = assetsManifest['style.css'];
|
|
71
|
-
if (style && Object.values(assetsManifest).filter((asset) => asset.file.endsWith('.css')).length === 1) {
|
|
72
|
-
assetUrls.add(`/${style.file}`);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
function resolveIncludeAssetsImportedByServer(config) {
|
|
76
|
-
return config.includeAssetsImportedByServer ?? true;
|
|
77
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sortPageAssetsForEarlyHintsHeader = sortPageAssetsForEarlyHintsHeader;
|
|
4
|
-
const utils_js_1 = require("../../utils.js");
|
|
5
|
-
async function sortPageAssetsForEarlyHintsHeader(pageAssets, isProduction) {
|
|
6
|
-
pageAssets.sort((0, utils_js_1.higherFirst)(({ assetType }) => {
|
|
7
|
-
// In dev, we load scripts first in order to parallelize I/O and CPU
|
|
8
|
-
if (!isProduction && assetType === 'script') {
|
|
9
|
-
return 1;
|
|
10
|
-
}
|
|
11
|
-
let priority = 0;
|
|
12
|
-
// CSS has highest priority
|
|
13
|
-
if (assetType === 'style')
|
|
14
|
-
return priority;
|
|
15
|
-
priority--;
|
|
16
|
-
// Visual assets have high priority
|
|
17
|
-
if (assetType === 'font')
|
|
18
|
-
return priority;
|
|
19
|
-
priority--;
|
|
20
|
-
if (assetType === 'image')
|
|
21
|
-
return priority;
|
|
22
|
-
priority--;
|
|
23
|
-
if (assetType === 'video')
|
|
24
|
-
return priority;
|
|
25
|
-
priority--;
|
|
26
|
-
if (assetType === 'audio')
|
|
27
|
-
return priority;
|
|
28
|
-
priority--;
|
|
29
|
-
// Others
|
|
30
|
-
if (assetType !== 'script')
|
|
31
|
-
return priority;
|
|
32
|
-
priority--;
|
|
33
|
-
// JavaScript has lowest priority
|
|
34
|
-
return priority;
|
|
35
|
-
}));
|
|
36
|
-
}
|