vike 0.4.239-commit-59f1017 → 0.4.239-commit-9dcde6d
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.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} +1 -1
- package/dist/esm/client/runtime-client-routing/{globalContext.js → getGlobalContextClientInternal.js} +8 -4
- package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +4 -4
- package/dist/esm/client/runtime-client-routing/isClientSideRoutable.d.ts +1 -1
- package/dist/esm/client/runtime-client-routing/renderPageClientSide.d.ts +1 -1
- package/dist/esm/client/runtime-client-routing/renderPageClientSide.js +2 -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.js +3 -1
- package/dist/esm/node/vite/index.js +34 -15
- package/dist/esm/node/vite/plugins/pluginBaseUrls.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginBaseUrls.js +37 -35
- package/dist/esm/node/vite/plugins/pluginBuild/pluginDistFileNames.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/pluginDistFileNames.js +82 -80
- package/dist/esm/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +23 -21
- package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.js +38 -36
- package/dist/esm/node/vite/plugins/pluginBuild/pluginSuppressRollupWarning.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/pluginSuppressRollupWarning.js +26 -24
- package/dist/esm/node/vite/plugins/pluginDev/determineFsAllowList.js +0 -1
- package/dist/esm/node/vite/plugins/pluginEnvVars.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginEnvVars.js +87 -65
- package/dist/esm/node/vite/plugins/pluginExtractExportNames.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginExtractExportNames.js +29 -27
- package/dist/esm/node/vite/plugins/pluginFileEnv.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginFileEnv.js +75 -73
- package/dist/esm/node/vite/plugins/pluginNonRunnableDev.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginNonRunnableDev.js +30 -28
- package/dist/esm/node/vite/plugins/pluginPreview.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginPreview.js +35 -33
- package/dist/esm/node/vite/plugins/pluginReplaceGlobalThisConstants.d.ts +9 -0
- package/dist/esm/node/vite/plugins/pluginReplaceGlobalThisConstants.js +45 -0
- package/dist/esm/node/vite/plugins/pluginReplaceIsClientSide.d.ts +3 -0
- package/dist/esm/node/vite/plugins/pluginReplaceIsClientSide.js +89 -0
- package/dist/esm/node/vite/plugins/pluginVirtualFiles.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginVirtualFiles.js +50 -48
- package/dist/esm/node/vite/plugins/pluginWorkaroundCssModuleHmr.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +12 -10
- package/dist/esm/node/vite/plugins/pluginWorkaroundVite6HmrRegression.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginWorkaroundVite6HmrRegression.js +26 -24
- package/dist/esm/shared/createGlobalContextShared.d.ts +1 -1
- package/dist/esm/shared/route/abort.d.ts +22 -11
- package/dist/esm/shared/route/abort.js +37 -5
- 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/findPackageJson.js +0 -1
- package/dist/esm/utils/getViteRPC.js +0 -2
- package/dist/esm/utils/requireResolve.js +0 -1
- package/package.json +2 -21
- 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 -778
- 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 -582
- 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 -52
- package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +0 -357
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildApp.js +0 -183
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +0 -234
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistFileNames.js +0 -256
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +0 -40
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginModuleBanner.js +0 -49
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginProdBuildEntry.js +0 -111
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginSuppressRollupWarning.js +0 -65
- package/dist/cjs/node/vite/plugins/pluginBuild.js +0 -22
- package/dist/cjs/node/vite/plugins/pluginCommon/assertResolveAlias.js +0 -88
- package/dist/cjs/node/vite/plugins/pluginCommon.js +0 -183
- 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 -111
- package/dist/cjs/node/vite/plugins/pluginEnvVars.js +0 -92
- package/dist/cjs/node/vite/plugins/pluginExtractAssets.js +0 -241
- package/dist/cjs/node/vite/plugins/pluginExtractExportNames.js +0 -113
- package/dist/cjs/node/vite/plugins/pluginFileEnv.js +0 -172
- package/dist/cjs/node/vite/plugins/pluginNonRunnableDev.js +0 -70
- package/dist/cjs/node/vite/plugins/pluginPreview.js +0 -82
- package/dist/cjs/node/vite/plugins/pluginReplaceConstants.js +0 -95
- package/dist/cjs/node/vite/plugins/pluginSetGlobalContext.js +0 -51
- 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 -233
- package/dist/cjs/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +0 -17
- 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 -43
- 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.d.ts +0 -3
- package/dist/esm/node/vite/plugins/pluginBuild.js +0 -20
- package/dist/esm/node/vite/plugins/pluginReplaceConstants.d.ts +0 -14
- package/dist/esm/node/vite/plugins/pluginReplaceConstants.js +0 -92
|
@@ -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
|
-
}
|