vike 0.0.0-alpha.0 → 0.4.142-commit-6eb0dd3
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/RenderErrorPage.js +2 -0
- package/__internal/setup.js +2 -0
- package/__internal.js +2 -0
- package/abort.js +2 -0
- package/cli.js +2 -0
- package/client/router.js +2 -0
- package/client.js +2 -0
- package/dist/cjs/__internal/index.js +31 -0
- package/dist/cjs/node/cli/bin.js +44 -0
- package/dist/cjs/node/cli/index.js +11 -0
- package/dist/cjs/node/cli/onLoad.js +8 -0
- package/dist/cjs/node/cli/utils.js +21 -0
- package/dist/cjs/node/client/router.js +15 -0
- package/dist/cjs/node/createPageRenderer.js +133 -0
- package/dist/cjs/node/importBuild.js +3 -0
- package/dist/cjs/node/plugin/index.js +70 -0
- package/dist/cjs/node/plugin/onLoad.js +13 -0
- package/dist/cjs/node/plugin/plugins/autoFullBuild.js +104 -0
- package/dist/cjs/node/plugin/plugins/baseUrls.js +43 -0
- package/dist/cjs/node/plugin/plugins/buildConfig.js +252 -0
- package/dist/cjs/node/plugin/plugins/commonConfig/assertResolveAlias.js +73 -0
- package/dist/cjs/node/plugin/plugins/commonConfig.js +80 -0
- package/dist/cjs/node/plugin/plugins/config/assertVikeConfig.js +74 -0
- package/dist/cjs/node/plugin/plugins/config/findConfigVikeFromStemPackages.js +27 -0
- package/dist/cjs/node/plugin/plugins/config/index.js +77 -0
- package/dist/cjs/node/plugin/plugins/config/pickFirst.js +7 -0
- package/dist/cjs/node/plugin/plugins/config/resolveBase.js +48 -0
- package/dist/cjs/node/plugin/plugins/config/resolveExtensions.js +107 -0
- package/dist/cjs/node/plugin/plugins/config/stemUtils.js +85 -0
- package/dist/cjs/node/plugin/plugins/devConfig/determineFsAllowList.js +42 -0
- package/dist/cjs/node/plugin/plugins/devConfig/determineOptimizeDeps.js +125 -0
- package/dist/cjs/node/plugin/plugins/devConfig/index.js +87 -0
- package/dist/cjs/node/plugin/plugins/distFileNames.js +169 -0
- package/dist/cjs/node/plugin/plugins/envVars.js +84 -0
- package/dist/cjs/node/plugin/plugins/extensionsAssets.js +101 -0
- package/dist/cjs/node/plugin/plugins/extractAssetsPlugin.js +234 -0
- package/dist/cjs/node/plugin/plugins/extractExportNamesPlugin.js +95 -0
- package/dist/cjs/node/plugin/plugins/importBuild/index.js +54 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/generateEagerImport.js +21 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +242 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/index.js +140 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/debug.js +5 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getFilePathToShowToUser.js +10 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +100 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js +176 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +1120 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +79 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +160 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/helpers.js +34 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/isConfigEnvMatch.js +13 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/replaceImportStatements.js +154 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/transpileAndExecuteFile.js +283 -0
- package/dist/cjs/node/plugin/plugins/manifest.js +59 -0
- package/dist/cjs/node/plugin/plugins/packageJsonFile.js +45 -0
- package/dist/cjs/node/plugin/plugins/previewConfig.js +61 -0
- package/dist/cjs/node/plugin/plugins/removeRequireHookPlugin.js +18 -0
- package/dist/cjs/node/plugin/plugins/setGlobalContext.js +31 -0
- package/dist/cjs/node/plugin/plugins/suppressRollupWarning.js +51 -0
- package/dist/cjs/node/plugin/shared/addSsrMiddleware.js +41 -0
- package/dist/cjs/node/plugin/shared/findPageFiles.js +24 -0
- package/dist/cjs/node/plugin/shared/getConfigValueSource.js +25 -0
- package/dist/cjs/node/plugin/shared/getHttpRequestAsyncStore.js +122 -0
- package/dist/cjs/node/plugin/shared/isAsset.js +41 -0
- package/dist/cjs/node/plugin/shared/isErrorDebug.js +8 -0
- package/dist/cjs/node/plugin/shared/isViteCliCall.js +84 -0
- package/dist/cjs/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelReact.js +15 -0
- package/dist/cjs/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelSolid.js +15 -0
- package/dist/cjs/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errEsbuild.js +38 -0
- package/dist/cjs/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx.js +26 -0
- package/dist/cjs/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errPostcss.js +30 -0
- package/dist/cjs/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwc.js +19 -0
- package/dist/cjs/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwcBig.js +19 -0
- package/dist/cjs/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueCss.js +29 -0
- package/dist/cjs/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueHtml.js +13 -0
- package/dist/cjs/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueJavascript.js +15 -0
- package/dist/cjs/node/plugin/shared/loggerNotProd/errorWithCodeSnippet.js +168 -0
- package/dist/cjs/node/plugin/shared/loggerNotProd/log.js +114 -0
- package/dist/cjs/node/plugin/shared/loggerNotProd.js +224 -0
- package/dist/cjs/node/plugin/shared/loggerVite/removeSuperfluousViteLog.js +25 -0
- package/dist/cjs/node/plugin/shared/loggerVite.js +61 -0
- package/dist/cjs/node/plugin/shared/parseEsModule.js +34 -0
- package/dist/cjs/node/plugin/shared/removeSourceMap.js +12 -0
- package/dist/cjs/node/plugin/shared/rollupIsEsm.js +16 -0
- package/dist/cjs/node/plugin/utils.js +41 -0
- package/dist/cjs/node/prerender/index.js +5 -0
- package/dist/cjs/node/prerender/runPrerender.js +707 -0
- package/dist/cjs/node/prerender/utils.js +31 -0
- package/dist/cjs/node/runtime/globalContext/loadImportBuild.js +30 -0
- package/dist/cjs/node/runtime/globalContext.js +163 -0
- package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +161 -0
- package/dist/cjs/node/runtime/html/injectAssets/getViteDevScripts.js +28 -0
- package/dist/cjs/node/runtime/html/injectAssets/inferHtmlTags.js +52 -0
- package/dist/cjs/node/runtime/html/injectAssets/injectAssets__public.js +32 -0
- package/dist/cjs/node/runtime/html/injectAssets/injectHtmlTags.js +157 -0
- package/dist/cjs/node/runtime/html/injectAssets/mergeScriptTags.js +71 -0
- package/dist/cjs/node/runtime/html/injectAssets/sanitizeJson.js +9 -0
- package/dist/cjs/node/runtime/html/injectAssets.js +76 -0
- package/dist/cjs/node/runtime/html/renderHtml.js +237 -0
- package/dist/cjs/node/runtime/html/serializePageContextClientSide.js +117 -0
- package/dist/cjs/node/runtime/html/stream/react-streaming.js +36 -0
- package/dist/cjs/node/runtime/html/stream.js +751 -0
- package/dist/cjs/node/runtime/index-common.js +23 -0
- package/dist/cjs/node/runtime/index-deprecated.js +61 -0
- package/dist/cjs/node/runtime/index.js +19 -0
- package/dist/cjs/node/runtime/onLoad.js +12 -0
- package/dist/cjs/node/runtime/page-files/setup.js +23 -0
- package/dist/cjs/node/runtime/renderPage/analyzePage.js +69 -0
- package/dist/cjs/node/runtime/renderPage/assertArguments.js +43 -0
- package/dist/cjs/node/runtime/renderPage/createHttpResponseObject/assertNoInfiniteHttpRedirect.js +44 -0
- package/dist/cjs/node/runtime/renderPage/createHttpResponseObject.js +68 -0
- package/dist/cjs/node/runtime/renderPage/debugPageFiles.js +53 -0
- package/dist/cjs/node/runtime/renderPage/executeOnBeforeRenderHook.js +23 -0
- package/dist/cjs/node/runtime/renderPage/executeOnRenderHtmlHook.js +139 -0
- package/dist/cjs/node/runtime/renderPage/getEarlyHints.js +46 -0
- package/dist/cjs/node/runtime/renderPage/getHttpResponseBody.js +131 -0
- package/dist/cjs/node/runtime/renderPage/getPageAssets/assertClientEntryId.js +25 -0
- package/dist/cjs/node/runtime/renderPage/getPageAssets/getManifestEntry.js +128 -0
- package/dist/cjs/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.js +75 -0
- package/dist/cjs/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.js +61 -0
- package/dist/cjs/node/runtime/renderPage/getPageAssets/sortPageAssetsForEarlyHintsHeader.js +33 -0
- package/dist/cjs/node/runtime/renderPage/getPageAssets.js +133 -0
- package/dist/cjs/node/runtime/renderPage/handleErrorWithoutErrorPage.js +43 -0
- package/dist/cjs/node/runtime/renderPage/handlePageContextRequestUrl.js +33 -0
- package/dist/cjs/node/runtime/renderPage/inferMediaType.js +41 -0
- package/dist/cjs/node/runtime/renderPage/isConfigInvalid.js +8 -0
- package/dist/cjs/node/runtime/renderPage/isNewError.js +23 -0
- package/dist/cjs/node/runtime/renderPage/loadPageFilesServerSide.js +100 -0
- package/dist/cjs/node/runtime/renderPage/log404/index.js +144 -0
- package/dist/cjs/node/runtime/renderPage/loggerProd.js +23 -0
- package/dist/cjs/node/runtime/renderPage/loggerRuntime.js +17 -0
- package/dist/cjs/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.js +19 -0
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +186 -0
- package/dist/cjs/node/runtime/renderPage.js +405 -0
- package/dist/cjs/node/runtime/utils.js +71 -0
- package/dist/cjs/node/shared/ViteManifest.js +2 -0
- package/dist/cjs/node/shared/assertPluginManifest.js +24 -0
- package/dist/cjs/node/shared/assertRuntimeManifest.js +19 -0
- package/dist/cjs/node/shared/extractAssetsQuery.js +29 -0
- package/dist/cjs/node/shared/getClientEntryFilePath.js +18 -0
- package/dist/cjs/node/shared/getConfigVike.js +8 -0
- package/dist/cjs/node/shared/utils.js +33 -0
- package/dist/cjs/node/shared/virtual-files/virtualFileImportUserCode.js +27 -0
- package/dist/cjs/node/shared/virtual-files/virtualFilePageConfigValuesAll.js +39 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/shared/ConfigVike.js +2 -0
- package/dist/cjs/shared/RenderErrorPage.js +6 -0
- package/dist/cjs/shared/VikeNamespace.js +2 -0
- package/dist/cjs/shared/abort.js +16 -0
- package/dist/cjs/shared/addIs404ToPageProps.js +26 -0
- package/dist/cjs/shared/addUrlComputedProps.js +111 -0
- package/dist/cjs/shared/assertHookReturnedObject.js +22 -0
- package/dist/cjs/shared/assertOnBeforeRenderHookReturn.js +22 -0
- package/dist/cjs/shared/assertPageContextProvidedByUser.js +21 -0
- package/dist/cjs/shared/assertPageFilePath.js +12 -0
- package/dist/cjs/shared/determinePageIdOld.js +12 -0
- package/dist/cjs/shared/error-page.js +41 -0
- package/dist/cjs/shared/getPageContextRequestUrl.js +16 -0
- package/dist/cjs/shared/getPageFiles/analyzeClientSide.js +22 -0
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide/ClientDependency.js +2 -0
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide/analyzeExports.js +51 -0
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide/determineClientEntry.js +30 -0
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide/getExportNames.js +16 -0
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide.js +61 -0
- package/dist/cjs/shared/getPageFiles/analyzePageServerSide.js +23 -0
- package/dist/cjs/shared/getPageFiles/assertExports.js +24 -0
- package/dist/cjs/shared/getPageFiles/assertPageConfigs.js +19 -0
- package/dist/cjs/shared/getPageFiles/fileTypes.js +53 -0
- package/dist/cjs/shared/getPageFiles/getAllPageIdFiles.js +106 -0
- package/dist/cjs/shared/getPageFiles/getExports.js +146 -0
- package/dist/cjs/shared/getPageFiles/getPageFileObject.js +62 -0
- package/dist/cjs/shared/getPageFiles/parseGlobResults.js +127 -0
- package/dist/cjs/shared/getPageFiles/setPageFiles.js +47 -0
- package/dist/cjs/shared/getPageFiles.js +18 -0
- package/dist/cjs/shared/hooks/executeHook.js +74 -0
- package/dist/cjs/shared/hooks/getHook.js +29 -0
- package/dist/cjs/shared/notSerializable.js +5 -0
- package/dist/cjs/shared/page-configs/Config/PageContextConfig.js +2 -0
- package/dist/cjs/shared/page-configs/Config/helpers.js +2 -0
- package/dist/cjs/shared/page-configs/Config.js +2 -0
- package/dist/cjs/shared/page-configs/PageConfig.js +2 -0
- package/dist/cjs/shared/page-configs/findPageConfig.js +11 -0
- package/dist/cjs/shared/page-configs/getExportPath.js +31 -0
- package/dist/cjs/shared/page-configs/loadPageCode.js +63 -0
- package/dist/cjs/shared/page-configs/utils.js +80 -0
- package/dist/cjs/shared/route/abort.js +161 -0
- package/dist/cjs/shared/route/debug.js +14 -0
- package/dist/cjs/shared/route/deduceRouteStringFromFilesystemPath.js +53 -0
- package/dist/cjs/shared/route/executeGuardHook.js +40 -0
- package/dist/cjs/shared/route/executeOnBeforeRouteHook.js +56 -0
- package/dist/cjs/shared/route/index.js +119 -0
- package/dist/cjs/shared/route/loadPageRoutes.js +197 -0
- package/dist/cjs/shared/route/resolvePrecedence.js +72 -0
- package/dist/cjs/shared/route/resolveRedirects.js +55 -0
- package/dist/cjs/shared/route/resolveRoute.js +21 -0
- package/dist/cjs/shared/route/resolveRouteFunction.js +70 -0
- package/dist/cjs/shared/route/resolveRouteString.js +101 -0
- package/dist/cjs/shared/route/routing.js +9 -0
- package/dist/cjs/shared/route/utils.js +43 -0
- package/dist/cjs/shared/sortPageContext.js +17 -0
- package/dist/cjs/shared/types.js +2 -0
- package/dist/cjs/shared/utils.js +43 -0
- package/dist/cjs/types/index-dreprecated.js +3 -0
- package/dist/cjs/types/index.js +2 -0
- package/dist/cjs/utils/PromiseType.js +2 -0
- package/dist/cjs/utils/arrayIncludes.js +7 -0
- package/dist/cjs/utils/assert.js +194 -0
- package/dist/cjs/utils/assertDefaultExport.js +53 -0
- package/dist/cjs/utils/assertIsBrowser.js +9 -0
- package/dist/cjs/utils/assertIsNotBrowser.js +10 -0
- package/dist/cjs/utils/assertIsNotProductionRuntime.js +44 -0
- package/dist/cjs/utils/assertNodeVersion.js +14 -0
- package/dist/cjs/utils/assertPathIsFilesystemAbsolute.js +20 -0
- package/dist/cjs/utils/assertRoutingType.js +30 -0
- package/dist/cjs/utils/assertSingleInstance.js +97 -0
- package/dist/cjs/utils/autoRetry.js +23 -0
- package/dist/cjs/utils/capitalizeFirstLetter.js +10 -0
- package/dist/cjs/utils/cast.js +7 -0
- package/dist/cjs/utils/checkType.js +7 -0
- package/dist/cjs/utils/compareString.js +11 -0
- package/dist/cjs/utils/createErrorWithCleanStackTrace.js +46 -0
- package/dist/cjs/utils/debug.js +109 -0
- package/dist/cjs/utils/debugGlob.js +6 -0
- package/dist/cjs/utils/deepEqual.js +11 -0
- package/dist/cjs/utils/dynamicImport.js +8 -0
- package/dist/cjs/utils/escapeRegex.js +8 -0
- package/dist/cjs/utils/filesystemPathHandling.js +19 -0
- package/dist/cjs/utils/findUserPackageJsonPath.js +24 -0
- package/dist/cjs/utils/freezePartial.js +36 -0
- package/dist/cjs/utils/getCurrentUrl.js +19 -0
- package/dist/cjs/utils/getDependencyPackageJson.js +91 -0
- package/dist/cjs/utils/getFileExtension.js +17 -0
- package/dist/cjs/utils/getFilePathAbsolute.js +66 -0
- package/dist/cjs/utils/getGlobalObject.js +11 -0
- package/dist/cjs/utils/getMostSimilar.js +69 -0
- package/dist/cjs/utils/getOutDirs.js +121 -0
- package/dist/cjs/utils/getPropAccessNotation.js +10 -0
- package/dist/cjs/utils/getRandomId.js +15 -0
- package/dist/cjs/utils/getTerminWidth.js +8 -0
- package/dist/cjs/utils/getValuePrintable.js +11 -0
- package/dist/cjs/utils/hasProp.js +48 -0
- package/dist/cjs/utils/hasPropertyGetter.js +8 -0
- package/dist/cjs/utils/humanizeTime.js +25 -0
- package/dist/cjs/utils/isBrowser.js +9 -0
- package/dist/cjs/utils/isCallable.js +7 -0
- package/dist/cjs/utils/isDev.js +32 -0
- package/dist/cjs/utils/isEquivalentError.js +18 -0
- package/dist/cjs/utils/isHtml.js +10 -0
- package/dist/cjs/utils/isNodeJS.js +17 -0
- package/dist/cjs/utils/isNotNullish.js +5 -0
- package/dist/cjs/utils/isNpmPackage.js +96 -0
- package/dist/cjs/utils/isObject.js +7 -0
- package/dist/cjs/utils/isObjectWithKeys.js +16 -0
- package/dist/cjs/utils/isPlainObject.js +18 -0
- package/dist/cjs/utils/isPromise.js +8 -0
- package/dist/cjs/utils/isReact.js +24 -0
- package/dist/cjs/utils/isScriptFile.js +53 -0
- package/dist/cjs/utils/isStemPackageName.js +14 -0
- package/dist/cjs/utils/isStringRecord.js +7 -0
- package/dist/cjs/utils/isVitest.js +7 -0
- package/dist/cjs/utils/joinEnglish.js +14 -0
- package/dist/cjs/utils/mergeCumulativeValues.js +21 -0
- package/dist/cjs/utils/nodeEnv.js +16 -0
- package/dist/cjs/utils/objectAssign.js +10 -0
- package/dist/cjs/utils/objectEntries.js +8 -0
- package/dist/cjs/utils/objectKeys.js +10 -0
- package/dist/cjs/utils/pLimit.js +135 -0
- package/dist/cjs/utils/parseUrl-extras.js +96 -0
- package/dist/cjs/utils/parseUrl.js +221 -0
- package/dist/cjs/utils/path-shim.js +15 -0
- package/dist/cjs/utils/projectInfo.js +14 -0
- package/dist/cjs/utils/removeEmptyLines.js +10 -0
- package/dist/cjs/utils/removeFileExtention.js +7 -0
- package/dist/cjs/utils/resolve.js +60 -0
- package/dist/cjs/utils/serverSideRouteTo.js +7 -0
- package/dist/cjs/utils/sleep.js +7 -0
- package/dist/cjs/utils/slice.js +36 -0
- package/dist/cjs/utils/sorter.js +60 -0
- package/dist/cjs/utils/stringifyStringArray.js +7 -0
- package/dist/cjs/utils/stripAnsi.js +22 -0
- package/dist/cjs/utils/styleFileRE.js +5 -0
- package/dist/cjs/utils/throttle.js +16 -0
- package/dist/cjs/utils/trackLogs.js +31 -0
- package/dist/cjs/utils/trimWithAnsi.js +41 -0
- package/dist/cjs/utils/truncateString.js +19 -0
- package/dist/cjs/utils/unique.js +7 -0
- package/dist/cjs/utils/urlToFile.js +36 -0
- package/dist/cjs/utils/virtual-files.js +33 -0
- package/dist/cjs/utils/viteIsSSR.js +23 -0
- package/dist/cjs/utils/warnIfErrorIsNotObject.js +24 -0
- package/dist/esm/__internal/index.d.ts +17 -0
- package/dist/esm/__internal/index.js +27 -0
- package/dist/esm/client/client-routing-runtime/createPageContext.d.ts +18 -0
- package/dist/esm/client/client-routing-runtime/createPageContext.js +35 -0
- package/dist/esm/client/client-routing-runtime/entry.d.ts +1 -0
- package/dist/esm/client/client-routing-runtime/entry.js +9 -0
- package/dist/esm/client/client-routing-runtime/getBaseServer.d.ts +1 -0
- package/dist/esm/client/client-routing-runtime/getBaseServer.js +11 -0
- package/dist/esm/client/client-routing-runtime/getPageContext/removeBuiltInOverrides.d.ts +7 -0
- package/dist/esm/client/client-routing-runtime/getPageContext/removeBuiltInOverrides.js +22 -0
- package/dist/esm/client/client-routing-runtime/getPageContext.d.ts +29 -0
- package/dist/esm/client/client-routing-runtime/getPageContext.js +240 -0
- package/dist/esm/client/client-routing-runtime/getPageId.d.ts +10 -0
- package/dist/esm/client/client-routing-runtime/getPageId.js +17 -0
- package/dist/esm/client/client-routing-runtime/history.d.ts +13 -0
- package/dist/esm/client/client-routing-runtime/history.js +71 -0
- package/dist/esm/client/client-routing-runtime/index.d.ts +18 -0
- package/dist/esm/client/client-routing-runtime/index.js +7 -0
- package/dist/esm/client/client-routing-runtime/isExternalLink.d.ts +2 -0
- package/dist/esm/client/client-routing-runtime/isExternalLink.js +4 -0
- package/dist/esm/client/client-routing-runtime/navigate.d.ts +17 -0
- package/dist/esm/client/client-routing-runtime/navigate.js +34 -0
- package/dist/esm/client/client-routing-runtime/navigationState.d.ts +5 -0
- package/dist/esm/client/client-routing-runtime/navigationState.js +14 -0
- package/dist/esm/client/client-routing-runtime/onLoad.d.ts +2 -0
- package/dist/esm/client/client-routing-runtime/onLoad.js +8 -0
- package/dist/esm/client/client-routing-runtime/pageFiles.d.ts +1 -0
- package/dist/esm/client/client-routing-runtime/pageFiles.js +4 -0
- package/dist/esm/client/client-routing-runtime/prefetch/alreadyPrefetched.d.ts +4 -0
- package/dist/esm/client/client-routing-runtime/prefetch/alreadyPrefetched.js +16 -0
- package/dist/esm/client/client-routing-runtime/prefetch/getPrefetchSettings.d.ts +11 -0
- package/dist/esm/client/client-routing-runtime/prefetch/getPrefetchSettings.js +82 -0
- package/dist/esm/client/client-routing-runtime/prefetch.d.ts +15 -0
- package/dist/esm/client/client-routing-runtime/prefetch.js +89 -0
- package/dist/esm/client/client-routing-runtime/skipLink/isClientSideRoutable.d.ts +2 -0
- package/dist/esm/client/client-routing-runtime/skipLink/isClientSideRoutable.js +15 -0
- package/dist/esm/client/client-routing-runtime/skipLink.d.ts +3 -0
- package/dist/esm/client/client-routing-runtime/skipLink.js +61 -0
- package/dist/esm/client/client-routing-runtime/useClientRouter.d.ts +6 -0
- package/dist/esm/client/client-routing-runtime/useClientRouter.js +493 -0
- package/dist/esm/client/client-routing-runtime/utils.d.ts +22 -0
- package/dist/esm/client/client-routing-runtime/utils.js +28 -0
- package/dist/esm/client/node.d.ts +1 -0
- package/dist/esm/client/node.js +9 -0
- package/dist/esm/client/server-routing-runtime/entry.d.ts +1 -0
- package/dist/esm/client/server-routing-runtime/entry.js +17 -0
- package/dist/esm/client/server-routing-runtime/getPageContext.d.ts +14 -0
- package/dist/esm/client/server-routing-runtime/getPageContext.js +36 -0
- package/dist/esm/client/server-routing-runtime/index.d.ts +16 -0
- package/dist/esm/client/server-routing-runtime/index.js +2 -0
- package/dist/esm/client/server-routing-runtime/onLoad.d.ts +2 -0
- package/dist/esm/client/server-routing-runtime/onLoad.js +5 -0
- package/dist/esm/client/server-routing-runtime/pageFiles.d.ts +1 -0
- package/dist/esm/client/server-routing-runtime/pageFiles.js +4 -0
- package/dist/esm/client/server-routing-runtime/utils.d.ts +14 -0
- package/dist/esm/client/server-routing-runtime/utils.js +18 -0
- package/dist/esm/client/shared/executeOnRenderClientHook.d.ts +11 -0
- package/dist/esm/client/shared/executeOnRenderClientHook.js +63 -0
- package/dist/esm/client/shared/getPageContextProxyForUser.d.ts +11 -0
- package/dist/esm/client/shared/getPageContextProxyForUser.js +66 -0
- package/dist/esm/client/shared/getPageContextSerializedInHtml.d.ts +5 -0
- package/dist/esm/client/shared/getPageContextSerializedInHtml.js +16 -0
- package/dist/esm/client/shared/loadPageFilesClientSide.d.ts +8 -0
- package/dist/esm/client/shared/loadPageFilesClientSide.js +64 -0
- package/dist/esm/client/shared/preparePageContextForUserConsumptionClientSide.d.ts +12 -0
- package/dist/esm/client/shared/preparePageContextForUserConsumptionClientSide.js +53 -0
- package/dist/esm/node/cli/bin.d.ts +1 -0
- package/dist/esm/node/cli/bin.js +42 -0
- package/dist/esm/node/cli/index.d.ts +2 -0
- package/dist/esm/node/cli/index.js +7 -0
- package/dist/esm/node/cli/onLoad.d.ts +2 -0
- package/dist/esm/node/cli/onLoad.js +5 -0
- package/dist/esm/node/cli/utils.d.ts +2 -0
- package/dist/esm/node/cli/utils.js +5 -0
- package/dist/esm/node/client/router.d.ts +4 -0
- package/dist/esm/node/client/router.js +12 -0
- package/dist/esm/node/createPageRenderer.d.ts +13 -0
- package/dist/esm/node/createPageRenderer.js +131 -0
- package/dist/esm/node/importBuild.d.ts +1 -0
- package/dist/esm/node/importBuild.js +3 -0
- package/dist/esm/node/plugin/index.d.ts +6 -0
- package/dist/esm/node/plugin/index.js +64 -0
- package/dist/esm/node/plugin/onLoad.d.ts +2 -0
- package/dist/esm/node/plugin/onLoad.js +10 -0
- package/dist/esm/node/plugin/plugins/autoFullBuild.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/autoFullBuild.js +98 -0
- package/dist/esm/node/plugin/plugins/baseUrls.d.ts +4 -0
- package/dist/esm/node/plugin/plugins/baseUrls.js +40 -0
- package/dist/esm/node/plugin/plugins/buildConfig.d.ts +12 -0
- package/dist/esm/node/plugin/plugins/buildConfig.js +246 -0
- package/dist/esm/node/plugin/plugins/commonConfig/assertResolveAlias.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/commonConfig/assertResolveAlias.js +67 -0
- package/dist/esm/node/plugin/plugins/commonConfig.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/commonConfig.js +74 -0
- package/dist/esm/node/plugin/plugins/config/assertVikeConfig.d.ts +7 -0
- package/dist/esm/node/plugin/plugins/config/assertVikeConfig.js +71 -0
- package/dist/esm/node/plugin/plugins/config/findConfigVikeFromStemPackages.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/config/findConfigVikeFromStemPackages.js +24 -0
- package/dist/esm/node/plugin/plugins/config/index.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/config/index.js +71 -0
- package/dist/esm/node/plugin/plugins/config/pickFirst.d.ts +1 -0
- package/dist/esm/node/plugin/plugins/config/pickFirst.js +3 -0
- package/dist/esm/node/plugin/plugins/config/resolveBase.d.ts +10 -0
- package/dist/esm/node/plugin/plugins/config/resolveBase.js +42 -0
- package/dist/esm/node/plugin/plugins/config/resolveExtensions.d.ts +4 -0
- package/dist/esm/node/plugin/plugins/config/resolveExtensions.js +101 -0
- package/dist/esm/node/plugin/plugins/config/stemUtils.d.ts +8 -0
- package/dist/esm/node/plugin/plugins/config/stemUtils.js +79 -0
- package/dist/esm/node/plugin/plugins/devConfig/determineFsAllowList.d.ts +4 -0
- package/dist/esm/node/plugin/plugins/devConfig/determineFsAllowList.js +36 -0
- package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.d.ts +4 -0
- package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.js +122 -0
- package/dist/esm/node/plugin/plugins/devConfig/index.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/devConfig/index.js +84 -0
- package/dist/esm/node/plugin/plugins/distFileNames.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/distFileNames.js +163 -0
- package/dist/esm/node/plugin/plugins/envVars.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/envVars.js +81 -0
- package/dist/esm/node/plugin/plugins/extensionsAssets.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/extensionsAssets.js +95 -0
- package/dist/esm/node/plugin/plugins/extractAssetsPlugin.d.ts +5 -0
- package/dist/esm/node/plugin/plugins/extractAssetsPlugin.js +232 -0
- package/dist/esm/node/plugin/plugins/extractExportNamesPlugin.d.ts +7 -0
- package/dist/esm/node/plugin/plugins/extractExportNamesPlugin.js +92 -0
- package/dist/esm/node/plugin/plugins/importBuild/index.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/importBuild/index.js +48 -0
- package/dist/esm/node/plugin/plugins/importUserCode/generateEagerImport.d.ts +5 -0
- package/dist/esm/node/plugin/plugins/importUserCode/generateEagerImport.js +18 -0
- package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.d.ts +6 -0
- package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +236 -0
- package/dist/esm/node/plugin/plugins/importUserCode/index.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/importUserCode/index.js +134 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/debug.d.ts +8 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/debug.js +2 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getFilePathToShowToUser.d.ts +7 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getFilePathToShowToUser.js +7 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.d.ts +53 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +97 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.d.ts +31 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js +174 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +15 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +1114 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +73 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +154 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/helpers.d.ts +5 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/helpers.js +31 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/isConfigEnvMatch.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/isConfigEnvMatch.js +10 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/replaceImportStatements.d.ts +31 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/replaceImportStatements.js +148 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/transpileAndExecuteFile.d.ts +12 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/transpileAndExecuteFile.js +277 -0
- package/dist/esm/node/plugin/plugins/manifest.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/manifest.js +53 -0
- package/dist/esm/node/plugin/plugins/packageJsonFile.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/packageJsonFile.js +42 -0
- package/dist/esm/node/plugin/plugins/previewConfig.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/previewConfig.js +55 -0
- package/dist/esm/node/plugin/plugins/removeRequireHookPlugin.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/removeRequireHookPlugin.js +15 -0
- package/dist/esm/node/plugin/plugins/setGlobalContext.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/setGlobalContext.js +28 -0
- package/dist/esm/node/plugin/plugins/suppressRollupWarning.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/suppressRollupWarning.js +48 -0
- package/dist/esm/node/plugin/shared/addSsrMiddleware.d.ts +4 -0
- package/dist/esm/node/plugin/shared/addSsrMiddleware.js +38 -0
- package/dist/esm/node/plugin/shared/findPageFiles.d.ts +4 -0
- package/dist/esm/node/plugin/shared/findPageFiles.js +18 -0
- package/dist/esm/node/plugin/shared/getConfigValueSource.d.ts +7 -0
- package/dist/esm/node/plugin/shared/getConfigValueSource.js +22 -0
- package/dist/esm/node/plugin/shared/getHttpRequestAsyncStore.d.ts +11 -0
- package/dist/esm/node/plugin/shared/getHttpRequestAsyncStore.js +103 -0
- package/dist/esm/node/plugin/shared/isAsset.d.ts +2 -0
- package/dist/esm/node/plugin/shared/isAsset.js +38 -0
- package/dist/esm/node/plugin/shared/isErrorDebug.d.ts +2 -0
- package/dist/esm/node/plugin/shared/isErrorDebug.js +5 -0
- package/dist/esm/node/plugin/shared/isViteCliCall.d.ts +10 -0
- package/dist/esm/node/plugin/shared/isViteCliCall.js +81 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelReact.d.ts +16 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelReact.js +12 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelSolid.d.ts +16 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelSolid.js +12 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errEsbuild.d.ts +33 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errEsbuild.js +35 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx.d.ts +47 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx.js +23 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errPostcss.d.ts +30 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errPostcss.js +27 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwc.d.ts +16 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwc.js +16 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwcBig.d.ts +16 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwcBig.js +16 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueCss.d.ts +30 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueCss.js +26 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueHtml.d.ts +14 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueHtml.js +10 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueJavascript.d.ts +16 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueJavascript.js +12 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/errorWithCodeSnippet.d.ts +15 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/errorWithCodeSnippet.js +163 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/log.d.ts +14 -0
- package/dist/esm/node/plugin/shared/loggerNotProd/log.js +108 -0
- package/dist/esm/node/plugin/shared/loggerNotProd.d.ts +39 -0
- package/dist/esm/node/plugin/shared/loggerNotProd.js +218 -0
- package/dist/esm/node/plugin/shared/loggerVite/removeSuperfluousViteLog.d.ts +6 -0
- package/dist/esm/node/plugin/shared/loggerVite/removeSuperfluousViteLog.js +22 -0
- package/dist/esm/node/plugin/shared/loggerVite.d.ts +3 -0
- package/dist/esm/node/plugin/shared/loggerVite.js +58 -0
- package/dist/esm/node/plugin/shared/parseEsModule.d.ts +11 -0
- package/dist/esm/node/plugin/shared/parseEsModule.js +31 -0
- package/dist/esm/node/plugin/shared/removeSourceMap.d.ts +7 -0
- package/dist/esm/node/plugin/shared/removeSourceMap.js +9 -0
- package/dist/esm/node/plugin/shared/rollupIsEsm.d.ts +3 -0
- package/dist/esm/node/plugin/shared/rollupIsEsm.js +12 -0
- package/dist/esm/node/plugin/utils.d.ts +19 -0
- package/dist/esm/node/plugin/utils.js +25 -0
- package/dist/esm/node/prerender/index.d.ts +1 -0
- package/dist/esm/node/prerender/index.js +1 -0
- package/dist/esm/node/prerender/runPrerender.d.ts +53 -0
- package/dist/esm/node/prerender/runPrerender.js +678 -0
- package/dist/esm/node/prerender/utils.d.ts +13 -0
- package/dist/esm/node/prerender/utils.js +15 -0
- package/dist/esm/node/runtime/globalContext/loadImportBuild.d.ts +18 -0
- package/dist/esm/node/runtime/globalContext/loadImportBuild.js +27 -0
- package/dist/esm/node/runtime/globalContext.d.ts +52 -0
- package/dist/esm/node/runtime/globalContext.js +157 -0
- package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.d.ts +27 -0
- package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +155 -0
- package/dist/esm/node/runtime/html/injectAssets/getViteDevScripts.d.ts +2 -0
- package/dist/esm/node/runtime/html/injectAssets/getViteDevScripts.js +22 -0
- package/dist/esm/node/runtime/html/injectAssets/inferHtmlTags.d.ts +7 -0
- package/dist/esm/node/runtime/html/injectAssets/inferHtmlTags.js +49 -0
- package/dist/esm/node/runtime/html/injectAssets/injectAssets__public.d.ts +2 -0
- package/dist/esm/node/runtime/html/injectAssets/injectAssets__public.js +29 -0
- package/dist/esm/node/runtime/html/injectAssets/injectHtmlTags.d.ts +10 -0
- package/dist/esm/node/runtime/html/injectAssets/injectHtmlTags.js +155 -0
- package/dist/esm/node/runtime/html/injectAssets/mergeScriptTags.d.ts +2 -0
- package/dist/esm/node/runtime/html/injectAssets/mergeScriptTags.js +68 -0
- package/dist/esm/node/runtime/html/injectAssets/sanitizeJson.d.ts +2 -0
- package/dist/esm/node/runtime/html/injectAssets/sanitizeJson.js +6 -0
- package/dist/esm/node/runtime/html/injectAssets.d.ts +34 -0
- package/dist/esm/node/runtime/html/injectAssets.js +73 -0
- package/dist/esm/node/runtime/html/renderHtml.d.ts +33 -0
- package/dist/esm/node/runtime/html/renderHtml.js +231 -0
- package/dist/esm/node/runtime/html/serializePageContextClientSide.d.ts +22 -0
- package/dist/esm/node/runtime/html/serializePageContextClientSide.js +111 -0
- package/dist/esm/node/runtime/html/stream/react-streaming.d.ts +25 -0
- package/dist/esm/node/runtime/html/stream/react-streaming.js +33 -0
- package/dist/esm/node/runtime/html/stream.d.ts +84 -0
- package/dist/esm/node/runtime/html/stream.js +745 -0
- package/dist/esm/node/runtime/index-common.d.ts +10 -0
- package/dist/esm/node/runtime/index-common.js +11 -0
- package/dist/esm/node/runtime/index-deprecated.d.ts +17 -0
- package/dist/esm/node/runtime/index-deprecated.js +40 -0
- package/dist/esm/node/runtime/index.d.ts +1 -0
- package/dist/esm/node/runtime/index.js +3 -0
- package/dist/esm/node/runtime/onLoad.d.ts +2 -0
- package/dist/esm/node/runtime/onLoad.js +9 -0
- package/dist/esm/node/runtime/page-files/setup.d.ts +1 -0
- package/dist/esm/node/runtime/page-files/setup.js +21 -0
- package/dist/esm/node/runtime/renderPage/analyzePage.d.ts +5 -0
- package/dist/esm/node/runtime/renderPage/analyzePage.js +66 -0
- package/dist/esm/node/runtime/renderPage/assertArguments.d.ts +2 -0
- package/dist/esm/node/runtime/renderPage/assertArguments.js +37 -0
- package/dist/esm/node/runtime/renderPage/createHttpResponseObject/assertNoInfiniteHttpRedirect.d.ts +2 -0
- package/dist/esm/node/runtime/renderPage/createHttpResponseObject/assertNoInfiniteHttpRedirect.js +38 -0
- package/dist/esm/node/runtime/renderPage/createHttpResponseObject.d.ts +28 -0
- package/dist/esm/node/runtime/renderPage/createHttpResponseObject.js +65 -0
- package/dist/esm/node/runtime/renderPage/debugPageFiles.d.ts +24 -0
- package/dist/esm/node/runtime/renderPage/debugPageFiles.js +47 -0
- package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderHook.d.ts +7 -0
- package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderHook.js +20 -0
- package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.d.ts +25 -0
- package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.js +133 -0
- package/dist/esm/node/runtime/renderPage/getEarlyHints.d.ts +7 -0
- package/dist/esm/node/runtime/renderPage/getEarlyHints.js +43 -0
- package/dist/esm/node/runtime/renderPage/getHttpResponseBody.d.ts +31 -0
- package/dist/esm/node/runtime/renderPage/getHttpResponseBody.js +125 -0
- package/dist/esm/node/runtime/renderPage/getPageAssets/assertClientEntryId.d.ts +2 -0
- package/dist/esm/node/runtime/renderPage/getPageAssets/assertClientEntryId.js +22 -0
- package/dist/esm/node/runtime/renderPage/getPageAssets/getManifestEntry.d.ts +6 -0
- package/dist/esm/node/runtime/renderPage/getPageAssets/getManifestEntry.js +125 -0
- package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.d.ts +4 -0
- package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.js +72 -0
- package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.d.ts +4 -0
- package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.js +58 -0
- package/dist/esm/node/runtime/renderPage/getPageAssets/sortPageAssetsForEarlyHintsHeader.d.ts +3 -0
- package/dist/esm/node/runtime/renderPage/getPageAssets/sortPageAssetsForEarlyHintsHeader.js +30 -0
- package/dist/esm/node/runtime/renderPage/getPageAssets.d.ts +19 -0
- package/dist/esm/node/runtime/renderPage/getPageAssets.js +130 -0
- package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.d.ts +11 -0
- package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.js +37 -0
- package/dist/esm/node/runtime/renderPage/handlePageContextRequestUrl.d.ts +5 -0
- package/dist/esm/node/runtime/renderPage/handlePageContextRequestUrl.js +30 -0
- package/dist/esm/node/runtime/renderPage/inferMediaType.d.ts +7 -0
- package/dist/esm/node/runtime/renderPage/inferMediaType.js +38 -0
- package/dist/esm/node/runtime/renderPage/isConfigInvalid.d.ts +2 -0
- package/dist/esm/node/runtime/renderPage/isConfigInvalid.js +4 -0
- package/dist/esm/node/runtime/renderPage/isNewError.d.ts +4 -0
- package/dist/esm/node/runtime/renderPage/isNewError.js +20 -0
- package/dist/esm/node/runtime/renderPage/loadPageFilesServerSide.d.ts +29 -0
- package/dist/esm/node/runtime/renderPage/loadPageFilesServerSide.js +97 -0
- package/dist/esm/node/runtime/renderPage/log404/index.d.ts +10 -0
- package/dist/esm/node/runtime/renderPage/log404/index.js +138 -0
- package/dist/esm/node/runtime/renderPage/loggerProd.d.ts +2 -0
- package/dist/esm/node/runtime/renderPage/loggerProd.js +17 -0
- package/dist/esm/node/runtime/renderPage/loggerRuntime.d.ts +5 -0
- package/dist/esm/node/runtime/renderPage/loggerRuntime.js +15 -0
- package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +26 -0
- package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.js +16 -0
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +265 -0
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +180 -0
- package/dist/esm/node/runtime/renderPage.d.ts +17 -0
- package/dist/esm/node/runtime/renderPage.js +399 -0
- package/dist/esm/node/runtime/utils.d.ts +52 -0
- package/dist/esm/node/runtime/utils.js +55 -0
- package/dist/esm/node/shared/ViteManifest.d.ts +13 -0
- package/dist/esm/node/shared/ViteManifest.js +1 -0
- package/dist/esm/node/shared/assertPluginManifest.d.ts +14 -0
- package/dist/esm/node/shared/assertPluginManifest.js +21 -0
- package/dist/esm/node/shared/assertRuntimeManifest.d.ts +11 -0
- package/dist/esm/node/shared/assertRuntimeManifest.js +16 -0
- package/dist/esm/node/shared/extractAssetsQuery.d.ts +4 -0
- package/dist/esm/node/shared/extractAssetsQuery.js +26 -0
- package/dist/esm/node/shared/getClientEntryFilePath.d.ts +3 -0
- package/dist/esm/node/shared/getClientEntryFilePath.js +15 -0
- package/dist/esm/node/shared/getConfigVike.d.ts +3 -0
- package/dist/esm/node/shared/getConfigVike.js +5 -0
- package/dist/esm/node/shared/utils.d.ts +15 -0
- package/dist/esm/node/shared/utils.js +17 -0
- package/dist/esm/node/shared/virtual-files/virtualFileImportUserCode.d.ts +11 -0
- package/dist/esm/node/shared/virtual-files/virtualFileImportUserCode.js +24 -0
- package/dist/esm/node/shared/virtual-files/virtualFilePageConfigValuesAll.d.ts +9 -0
- package/dist/esm/node/shared/virtual-files/virtualFilePageConfigValuesAll.js +36 -0
- package/dist/esm/shared/ConfigVike.d.ts +128 -0
- package/dist/esm/shared/ConfigVike.js +1 -0
- package/dist/esm/shared/RenderErrorPage.d.ts +1 -0
- package/dist/esm/shared/RenderErrorPage.js +2 -0
- package/dist/esm/shared/VikeNamespace.d.ts +43 -0
- package/dist/esm/shared/VikeNamespace.js +1 -0
- package/dist/esm/shared/abort.d.ts +1 -0
- package/dist/esm/shared/abort.js +11 -0
- package/dist/esm/shared/addIs404ToPageProps.d.ts +7 -0
- package/dist/esm/shared/addIs404ToPageProps.js +23 -0
- package/dist/esm/shared/addUrlComputedProps.d.ts +62 -0
- package/dist/esm/shared/addUrlComputedProps.js +108 -0
- package/dist/esm/shared/assertHookReturnedObject.d.ts +4 -0
- package/dist/esm/shared/assertHookReturnedObject.js +19 -0
- package/dist/esm/shared/assertOnBeforeRenderHookReturn.d.ts +4 -0
- package/dist/esm/shared/assertOnBeforeRenderHookReturn.js +16 -0
- package/dist/esm/shared/assertPageContextProvidedByUser.d.ts +5 -0
- package/dist/esm/shared/assertPageContextProvidedByUser.js +15 -0
- package/dist/esm/shared/assertPageFilePath.d.ts +2 -0
- package/dist/esm/shared/assertPageFilePath.js +9 -0
- package/dist/esm/shared/determinePageIdOld.d.ts +2 -0
- package/dist/esm/shared/determinePageIdOld.js +9 -0
- package/dist/esm/shared/error-page.d.ts +8 -0
- package/dist/esm/shared/error-page.js +38 -0
- package/dist/esm/shared/getPageContextRequestUrl.d.ts +6 -0
- package/dist/esm/shared/getPageContextRequestUrl.js +13 -0
- package/dist/esm/shared/getPageFiles/analyzeClientSide.d.ts +7 -0
- package/dist/esm/shared/getPageFiles/analyzeClientSide.js +19 -0
- package/dist/esm/shared/getPageFiles/analyzePageClientSide/ClientDependency.d.ts +6 -0
- package/dist/esm/shared/getPageFiles/analyzePageClientSide/ClientDependency.js +1 -0
- package/dist/esm/shared/getPageFiles/analyzePageClientSide/analyzeExports.d.ts +10 -0
- package/dist/esm/shared/getPageFiles/analyzePageClientSide/analyzeExports.js +48 -0
- package/dist/esm/shared/getPageFiles/analyzePageClientSide/determineClientEntry.d.ts +14 -0
- package/dist/esm/shared/getPageFiles/analyzePageClientSide/determineClientEntry.js +27 -0
- package/dist/esm/shared/getPageFiles/analyzePageClientSide/getExportNames.d.ts +3 -0
- package/dist/esm/shared/getPageFiles/analyzePageClientSide/getExportNames.js +13 -0
- package/dist/esm/shared/getPageFiles/analyzePageClientSide.d.ts +17 -0
- package/dist/esm/shared/getPageFiles/analyzePageClientSide.js +58 -0
- package/dist/esm/shared/getPageFiles/analyzePageServerSide.d.ts +5 -0
- package/dist/esm/shared/getPageFiles/analyzePageServerSide.js +20 -0
- package/dist/esm/shared/getPageFiles/assertExports.d.ts +7 -0
- package/dist/esm/shared/getPageFiles/assertExports.js +21 -0
- package/dist/esm/shared/getPageFiles/assertPageConfigs.d.ts +5 -0
- package/dist/esm/shared/getPageFiles/assertPageConfigs.js +16 -0
- package/dist/esm/shared/getPageFiles/fileTypes.d.ts +8 -0
- package/dist/esm/shared/getPageFiles/fileTypes.js +50 -0
- package/dist/esm/shared/getPageFiles/getAllPageIdFiles.d.ts +5 -0
- package/dist/esm/shared/getPageFiles/getAllPageIdFiles.js +103 -0
- package/dist/esm/shared/getPageFiles/getExports.d.ts +39 -0
- package/dist/esm/shared/getPageFiles/getExports.js +140 -0
- package/dist/esm/shared/getPageFiles/getPageFileObject.d.ts +18 -0
- package/dist/esm/shared/getPageFiles/getPageFileObject.js +59 -0
- package/dist/esm/shared/getPageFiles/parseGlobResults.d.ts +8 -0
- package/dist/esm/shared/getPageFiles/parseGlobResults.js +124 -0
- package/dist/esm/shared/getPageFiles/setPageFiles.d.ts +13 -0
- package/dist/esm/shared/getPageFiles/setPageFiles.js +44 -0
- package/dist/esm/shared/getPageFiles.d.ts +9 -0
- package/dist/esm/shared/getPageFiles.js +8 -0
- package/dist/esm/shared/hooks/executeHook.d.ts +5 -0
- package/dist/esm/shared/hooks/executeHook.js +71 -0
- package/dist/esm/shared/hooks/getHook.d.ts +24 -0
- package/dist/esm/shared/hooks/getHook.js +26 -0
- package/dist/esm/shared/notSerializable.d.ts +1 -0
- package/dist/esm/shared/notSerializable.js +2 -0
- package/dist/esm/shared/page-configs/Config/PageContextConfig.d.ts +8 -0
- package/dist/esm/shared/page-configs/Config/PageContextConfig.js +1 -0
- package/dist/esm/shared/page-configs/Config/helpers.d.ts +10 -0
- package/dist/esm/shared/page-configs/Config/helpers.js +1 -0
- package/dist/esm/shared/page-configs/Config.d.ts +131 -0
- package/dist/esm/shared/page-configs/Config.js +1 -0
- package/dist/esm/shared/page-configs/PageConfig.d.ts +97 -0
- package/dist/esm/shared/page-configs/PageConfig.js +1 -0
- package/dist/esm/shared/page-configs/findPageConfig.d.ts +3 -0
- package/dist/esm/shared/page-configs/findPageConfig.js +8 -0
- package/dist/esm/shared/page-configs/getExportPath.d.ts +2 -0
- package/dist/esm/shared/page-configs/getExportPath.js +28 -0
- package/dist/esm/shared/page-configs/loadPageCode.d.ts +3 -0
- package/dist/esm/shared/page-configs/loadPageCode.js +57 -0
- package/dist/esm/shared/page-configs/utils.d.ts +28 -0
- package/dist/esm/shared/page-configs/utils.js +74 -0
- package/dist/esm/shared/route/abort.d.ts +103 -0
- package/dist/esm/shared/route/abort.js +155 -0
- package/dist/esm/shared/route/debug.d.ts +3 -0
- package/dist/esm/shared/route/debug.js +11 -0
- package/dist/esm/shared/route/deduceRouteStringFromFilesystemPath.d.ts +7 -0
- package/dist/esm/shared/route/deduceRouteStringFromFilesystemPath.js +50 -0
- package/dist/esm/shared/route/executeGuardHook.d.ts +8 -0
- package/dist/esm/shared/route/executeGuardHook.js +37 -0
- package/dist/esm/shared/route/executeOnBeforeRouteHook.d.ts +17 -0
- package/dist/esm/shared/route/executeOnBeforeRouteHook.js +50 -0
- package/dist/esm/shared/route/index.d.ts +31 -0
- package/dist/esm/shared/route/index.js +113 -0
- package/dist/esm/shared/route/loadPageRoutes.d.ts +29 -0
- package/dist/esm/shared/route/loadPageRoutes.js +194 -0
- package/dist/esm/shared/route/resolvePrecedence.d.ts +8 -0
- package/dist/esm/shared/route/resolvePrecedence.js +69 -0
- package/dist/esm/shared/route/resolveRedirects.d.ts +4 -0
- package/dist/esm/shared/route/resolveRedirects.js +50 -0
- package/dist/esm/shared/route/resolveRoute.d.ts +5 -0
- package/dist/esm/shared/route/resolveRoute.js +15 -0
- package/dist/esm/shared/route/resolveRouteFunction.d.ts +14 -0
- package/dist/esm/shared/route/resolveRouteFunction.js +64 -0
- package/dist/esm/shared/route/resolveRouteString.d.ts +17 -0
- package/dist/esm/shared/route/resolveRouteString.js +95 -0
- package/dist/esm/shared/route/routing.d.ts +1 -0
- package/dist/esm/shared/route/routing.js +5 -0
- package/dist/esm/shared/route/utils.d.ts +18 -0
- package/dist/esm/shared/route/utils.js +27 -0
- package/dist/esm/shared/sortPageContext.d.ts +2 -0
- package/dist/esm/shared/sortPageContext.js +14 -0
- package/dist/esm/shared/types.d.ts +127 -0
- package/dist/esm/shared/types.js +1 -0
- package/dist/esm/shared/utils.d.ts +23 -0
- package/dist/esm/shared/utils.js +27 -0
- package/dist/esm/types/index-dreprecated.d.ts +51 -0
- package/dist/esm/types/index-dreprecated.js +2 -0
- package/dist/esm/types/index.d.ts +47 -0
- package/dist/esm/types/index.js +1 -0
- package/dist/esm/utils/PromiseType.d.ts +1 -0
- package/dist/esm/utils/PromiseType.js +1 -0
- package/dist/esm/utils/arrayIncludes.d.ts +1 -0
- package/dist/esm/utils/arrayIncludes.js +3 -0
- package/dist/esm/utils/assert.d.ts +29 -0
- package/dist/esm/utils/assert.js +188 -0
- package/dist/esm/utils/assertDefaultExport.d.ts +8 -0
- package/dist/esm/utils/assertDefaultExport.js +47 -0
- package/dist/esm/utils/assertIsBrowser.d.ts +2 -0
- package/dist/esm/utils/assertIsBrowser.js +6 -0
- package/dist/esm/utils/assertIsNotBrowser.d.ts +3 -0
- package/dist/esm/utils/assertIsNotBrowser.js +7 -0
- package/dist/esm/utils/assertIsNotProductionRuntime.d.ts +10 -0
- package/dist/esm/utils/assertIsNotProductionRuntime.js +41 -0
- package/dist/esm/utils/assertNodeVersion.d.ts +2 -0
- package/dist/esm/utils/assertNodeVersion.js +11 -0
- package/dist/esm/utils/assertPathIsFilesystemAbsolute.d.ts +3 -0
- package/dist/esm/utils/assertPathIsFilesystemAbsolute.js +14 -0
- package/dist/esm/utils/assertRoutingType.d.ts +6 -0
- package/dist/esm/utils/assertRoutingType.js +24 -0
- package/dist/esm/utils/assertSingleInstance.d.ts +6 -0
- package/dist/esm/utils/assertSingleInstance.js +94 -0
- package/dist/esm/utils/autoRetry.d.ts +2 -0
- package/dist/esm/utils/autoRetry.js +20 -0
- package/dist/esm/utils/capitalizeFirstLetter.d.ts +2 -0
- package/dist/esm/utils/capitalizeFirstLetter.js +7 -0
- package/dist/esm/utils/cast.d.ts +4 -0
- package/dist/esm/utils/cast.js +4 -0
- package/dist/esm/utils/checkType.d.ts +2 -0
- package/dist/esm/utils/checkType.js +2 -0
- package/dist/esm/utils/compareString.d.ts +2 -0
- package/dist/esm/utils/compareString.js +8 -0
- package/dist/esm/utils/createErrorWithCleanStackTrace.d.ts +2 -0
- package/dist/esm/utils/createErrorWithCleanStackTrace.js +43 -0
- package/dist/esm/utils/debug.d.ts +15 -0
- package/dist/esm/utils/debug.js +106 -0
- package/dist/esm/utils/debugGlob.d.ts +8 -0
- package/dist/esm/utils/debugGlob.js +3 -0
- package/dist/esm/utils/deepEqual.d.ts +1 -0
- package/dist/esm/utils/deepEqual.js +7 -0
- package/dist/esm/utils/dynamicImport.d.ts +2 -0
- package/dist/esm/utils/dynamicImport.js +4 -0
- package/dist/esm/utils/escapeRegex.d.ts +1 -0
- package/dist/esm/utils/escapeRegex.js +4 -0
- package/dist/esm/utils/filesystemPathHandling.d.ts +4 -0
- package/dist/esm/utils/filesystemPathHandling.js +16 -0
- package/dist/esm/utils/findUserPackageJsonPath.d.ts +2 -0
- package/dist/esm/utils/findUserPackageJsonPath.js +18 -0
- package/dist/esm/utils/freezePartial.d.ts +2 -0
- package/dist/esm/utils/freezePartial.js +30 -0
- package/dist/esm/utils/getCurrentUrl.d.ts +4 -0
- package/dist/esm/utils/getCurrentUrl.js +16 -0
- package/dist/esm/utils/getDependencyPackageJson.d.ts +6 -0
- package/dist/esm/utils/getDependencyPackageJson.js +85 -0
- package/dist/esm/utils/getFileExtension.d.ts +2 -0
- package/dist/esm/utils/getFileExtension.js +14 -0
- package/dist/esm/utils/getFilePathAbsolute.d.ts +5 -0
- package/dist/esm/utils/getFilePathAbsolute.js +60 -0
- package/dist/esm/utils/getGlobalObject.d.ts +4 -0
- package/dist/esm/utils/getGlobalObject.js +7 -0
- package/dist/esm/utils/getMostSimilar.d.ts +2 -0
- package/dist/esm/utils/getMostSimilar.js +66 -0
- package/dist/esm/utils/getOutDirs.d.ts +16 -0
- package/dist/esm/utils/getOutDirs.js +115 -0
- package/dist/esm/utils/getPropAccessNotation.d.ts +2 -0
- package/dist/esm/utils/getPropAccessNotation.js +7 -0
- package/dist/esm/utils/getRandomId.d.ts +2 -0
- package/dist/esm/utils/getRandomId.js +12 -0
- package/dist/esm/utils/getTerminWidth.d.ts +1 -0
- package/dist/esm/utils/getTerminWidth.js +4 -0
- package/dist/esm/utils/getValuePrintable.d.ts +1 -0
- package/dist/esm/utils/getValuePrintable.js +7 -0
- package/dist/esm/utils/hasProp.d.ts +14 -0
- package/dist/esm/utils/hasProp.js +45 -0
- package/dist/esm/utils/hasPropertyGetter.d.ts +1 -0
- package/dist/esm/utils/hasPropertyGetter.js +4 -0
- package/dist/esm/utils/humanizeTime.d.ts +2 -0
- package/dist/esm/utils/humanizeTime.js +22 -0
- package/dist/esm/utils/isBrowser.d.ts +1 -0
- package/dist/esm/utils/isBrowser.js +5 -0
- package/dist/esm/utils/isCallable.d.ts +1 -0
- package/dist/esm/utils/isCallable.js +3 -0
- package/dist/esm/utils/isDev.d.ts +7 -0
- package/dist/esm/utils/isDev.js +29 -0
- package/dist/esm/utils/isEquivalentError.d.ts +2 -0
- package/dist/esm/utils/isEquivalentError.js +15 -0
- package/dist/esm/utils/isHtml.d.ts +2 -0
- package/dist/esm/utils/isHtml.js +7 -0
- package/dist/esm/utils/isNodeJS.d.ts +1 -0
- package/dist/esm/utils/isNodeJS.js +13 -0
- package/dist/esm/utils/isNotNullish.d.ts +1 -0
- package/dist/esm/utils/isNotNullish.js +1 -0
- package/dist/esm/utils/isNpmPackage.d.ts +17 -0
- package/dist/esm/utils/isNpmPackage.js +94 -0
- package/dist/esm/utils/isObject.d.ts +1 -0
- package/dist/esm/utils/isObject.js +3 -0
- package/dist/esm/utils/isObjectWithKeys.d.ts +4 -0
- package/dist/esm/utils/isObjectWithKeys.js +13 -0
- package/dist/esm/utils/isPlainObject.d.ts +3 -0
- package/dist/esm/utils/isPlainObject.js +15 -0
- package/dist/esm/utils/isPromise.d.ts +1 -0
- package/dist/esm/utils/isPromise.js +4 -0
- package/dist/esm/utils/isReact.d.ts +1 -0
- package/dist/esm/utils/isReact.js +20 -0
- package/dist/esm/utils/isScriptFile.d.ts +8 -0
- package/dist/esm/utils/isScriptFile.js +50 -0
- package/dist/esm/utils/isStemPackageName.d.ts +1 -0
- package/dist/esm/utils/isStemPackageName.js +10 -0
- package/dist/esm/utils/isStringRecord.d.ts +1 -0
- package/dist/esm/utils/isStringRecord.js +3 -0
- package/dist/esm/utils/isVitest.d.ts +1 -0
- package/dist/esm/utils/isVitest.js +3 -0
- package/dist/esm/utils/joinEnglish.d.ts +2 -0
- package/dist/esm/utils/joinEnglish.js +11 -0
- package/dist/esm/utils/mergeCumulativeValues.d.ts +2 -0
- package/dist/esm/utils/mergeCumulativeValues.js +18 -0
- package/dist/esm/utils/nodeEnv.d.ts +4 -0
- package/dist/esm/utils/nodeEnv.js +13 -0
- package/dist/esm/utils/objectAssign.d.ts +2 -0
- package/dist/esm/utils/objectAssign.js +7 -0
- package/dist/esm/utils/objectEntries.d.ts +4 -0
- package/dist/esm/utils/objectEntries.js +5 -0
- package/dist/esm/utils/objectKeys.d.ts +2 -0
- package/dist/esm/utils/objectKeys.js +6 -0
- package/dist/esm/utils/pLimit.d.ts +14 -0
- package/dist/esm/utils/pLimit.js +131 -0
- package/dist/esm/utils/parseUrl-extras.d.ts +17 -0
- package/dist/esm/utils/parseUrl-extras.js +93 -0
- package/dist/esm/utils/parseUrl.d.ts +22 -0
- package/dist/esm/utils/parseUrl.js +216 -0
- package/dist/esm/utils/path-shim.d.ts +2 -0
- package/dist/esm/utils/path-shim.js +12 -0
- package/dist/esm/utils/projectInfo.d.ts +11 -0
- package/dist/esm/utils/projectInfo.js +11 -0
- package/dist/esm/utils/removeEmptyLines.d.ts +1 -0
- package/dist/esm/utils/removeEmptyLines.js +6 -0
- package/dist/esm/utils/removeFileExtention.d.ts +1 -0
- package/dist/esm/utils/removeFileExtention.js +3 -0
- package/dist/esm/utils/resolve.d.ts +2 -0
- package/dist/esm/utils/resolve.js +57 -0
- package/dist/esm/utils/serverSideRouteTo.d.ts +2 -0
- package/dist/esm/utils/serverSideRouteTo.js +4 -0
- package/dist/esm/utils/sleep.d.ts +1 -0
- package/dist/esm/utils/sleep.js +3 -0
- package/dist/esm/utils/slice.d.ts +3 -0
- package/dist/esm/utils/slice.js +33 -0
- package/dist/esm/utils/sorter.d.ts +8 -0
- package/dist/esm/utils/sorter.js +57 -0
- package/dist/esm/utils/stringifyStringArray.d.ts +2 -0
- package/dist/esm/utils/stringifyStringArray.js +4 -0
- package/dist/esm/utils/stripAnsi.d.ts +2 -0
- package/dist/esm/utils/stripAnsi.js +19 -0
- package/dist/esm/utils/styleFileRE.d.ts +1 -0
- package/dist/esm/utils/styleFileRE.js +2 -0
- package/dist/esm/utils/throttle.d.ts +2 -0
- package/dist/esm/utils/throttle.js +13 -0
- package/dist/esm/utils/trackLogs.d.ts +1 -0
- package/dist/esm/utils/trackLogs.js +26 -0
- package/dist/esm/utils/trimWithAnsi.d.ts +4 -0
- package/dist/esm/utils/trimWithAnsi.js +38 -0
- package/dist/esm/utils/truncateString.d.ts +1 -0
- package/dist/esm/utils/truncateString.js +15 -0
- package/dist/esm/utils/unique.d.ts +2 -0
- package/dist/esm/utils/unique.js +4 -0
- package/dist/esm/utils/urlToFile.d.ts +4 -0
- package/dist/esm/utils/urlToFile.js +33 -0
- package/dist/esm/utils/virtual-files.d.ts +6 -0
- package/dist/esm/utils/virtual-files.js +30 -0
- package/dist/esm/utils/viteIsSSR.d.ts +11 -0
- package/dist/esm/utils/viteIsSSR.js +20 -0
- package/dist/esm/utils/warnIfErrorIsNotObject.d.ts +2 -0
- package/dist/esm/utils/warnIfErrorIsNotObject.js +18 -0
- package/node/cli/bin-entry.js +3 -0
- package/package.json +198 -1
- package/plugin.js +2 -0
- package/prerender.js +2 -0
- package/readme.md +3 -1
- package/routing.js +2 -0
- package/server.js +2 -0
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
// Unit tests at ./injectHtmlTags.spec.ts
|
|
2
|
+
export { injectHtmlTags };
|
|
3
|
+
export { createHtmlHeadIfMissing };
|
|
4
|
+
// Only needed for unit tests
|
|
5
|
+
export { injectAtOpeningTag };
|
|
6
|
+
export { injectAtClosingTag };
|
|
7
|
+
import { assert, assertUsage, slice } from '../../utils.js';
|
|
8
|
+
const POSITIONS = ['HTML_BEGIN', 'HTML_END', 'STREAM'];
|
|
9
|
+
function injectHtmlTags(htmlString, htmlTags, injectToStream) {
|
|
10
|
+
POSITIONS.forEach((position) => {
|
|
11
|
+
const htmlFragment = htmlTags
|
|
12
|
+
.filter((h) => h.position === position)
|
|
13
|
+
.map((h) => resolveHtmlTag(h.htmlTag))
|
|
14
|
+
.join('');
|
|
15
|
+
if (htmlFragment) {
|
|
16
|
+
htmlString = injectHtmlFragment(position, htmlFragment, htmlString, injectToStream);
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
return htmlString;
|
|
20
|
+
}
|
|
21
|
+
function injectHtmlFragment(position, htmlFragment, htmlString, injectToStream) {
|
|
22
|
+
if (position === 'HTML_BEGIN') {
|
|
23
|
+
{
|
|
24
|
+
const res = injectAtPaceholder(htmlFragment, htmlString, true);
|
|
25
|
+
if (res)
|
|
26
|
+
return res;
|
|
27
|
+
}
|
|
28
|
+
assert(tagOpeningExists('head', htmlString));
|
|
29
|
+
htmlString = injectAtOpeningTag('head', htmlString, htmlFragment);
|
|
30
|
+
return htmlString;
|
|
31
|
+
}
|
|
32
|
+
if (position === 'HTML_END') {
|
|
33
|
+
{
|
|
34
|
+
const res = injectAtPaceholder(htmlFragment, htmlString, false);
|
|
35
|
+
if (res)
|
|
36
|
+
return res;
|
|
37
|
+
}
|
|
38
|
+
if (tagClosingExists('body', htmlString)) {
|
|
39
|
+
return injectAtClosingTag('body', htmlString, htmlFragment);
|
|
40
|
+
}
|
|
41
|
+
if (tagClosingExists('html', htmlString)) {
|
|
42
|
+
return injectAtClosingTag('html', htmlString, htmlFragment);
|
|
43
|
+
}
|
|
44
|
+
return htmlString + '\n' + htmlFragment;
|
|
45
|
+
}
|
|
46
|
+
if (position === 'STREAM') {
|
|
47
|
+
assert(injectToStream);
|
|
48
|
+
injectToStream(htmlFragment, { flush: true });
|
|
49
|
+
return htmlString;
|
|
50
|
+
}
|
|
51
|
+
assert(false);
|
|
52
|
+
}
|
|
53
|
+
function resolveHtmlTag(htmlTag) {
|
|
54
|
+
return typeof htmlTag !== 'string' ? htmlTag() : htmlTag;
|
|
55
|
+
}
|
|
56
|
+
function injectAtOpeningTag(tag, htmlString, htmlFragment) {
|
|
57
|
+
const openingTag = getTagOpening(tag);
|
|
58
|
+
const matches = htmlString.match(openingTag);
|
|
59
|
+
assert(matches && matches.length >= 1);
|
|
60
|
+
const tagInstance = matches[0];
|
|
61
|
+
assert(tagInstance);
|
|
62
|
+
const htmlParts = htmlString.split(tagInstance);
|
|
63
|
+
assert(htmlParts.length >= 2);
|
|
64
|
+
// Insert `htmlFragment` after first `tagInstance`
|
|
65
|
+
const before = slice(htmlParts, 0, 1)[0] + tagInstance;
|
|
66
|
+
const after = slice(htmlParts, 1, 0).join(tagInstance);
|
|
67
|
+
htmlFragment = injectBreakLines(htmlFragment, before, after);
|
|
68
|
+
return before + htmlFragment + after;
|
|
69
|
+
}
|
|
70
|
+
function injectAtClosingTag(tag, htmlString, htmlFragment) {
|
|
71
|
+
const tagClosing = getTagClosing(tag);
|
|
72
|
+
const matches = htmlString.match(tagClosing);
|
|
73
|
+
assert(matches && matches.length >= 1);
|
|
74
|
+
const tagInstance = matches[0];
|
|
75
|
+
assert(tagInstance);
|
|
76
|
+
const htmlParts = htmlString.split(tagInstance);
|
|
77
|
+
assert(htmlParts.length >= 2);
|
|
78
|
+
// Insert `htmlFragment` before last `tagClosing`
|
|
79
|
+
const before = slice(htmlParts, 0, -1).join(tagInstance);
|
|
80
|
+
const after = tagInstance + slice(htmlParts, -1, 0);
|
|
81
|
+
htmlFragment = injectBreakLines(htmlFragment, before, after);
|
|
82
|
+
return before + htmlFragment + after;
|
|
83
|
+
}
|
|
84
|
+
function injectBreakLines(htmlFragment, before, after) {
|
|
85
|
+
assert(htmlFragment.trim() === htmlFragment);
|
|
86
|
+
const currentLineBefore = before.split('\n').slice(-1)[0];
|
|
87
|
+
let paddingParent = currentLineBefore.match(/\s*$/)[0];
|
|
88
|
+
let isBlankLine = !!paddingParent;
|
|
89
|
+
if (!paddingParent) {
|
|
90
|
+
paddingParent = currentLineBefore.match(/^\s*/)[0];
|
|
91
|
+
}
|
|
92
|
+
if (!paddingParent)
|
|
93
|
+
return htmlFragment;
|
|
94
|
+
const whitespaceExtra = paddingParent ? ' ' : '';
|
|
95
|
+
const whitespace = `${paddingParent}${whitespaceExtra}`;
|
|
96
|
+
const padding = `\n${whitespace}`;
|
|
97
|
+
htmlFragment = htmlFragment.split(/<(?=[^\/])/).join(`${padding}<`);
|
|
98
|
+
if (isBlankLine) {
|
|
99
|
+
assert(htmlFragment.startsWith(padding), { htmlFragment });
|
|
100
|
+
htmlFragment = whitespaceExtra + htmlFragment.slice(padding.length);
|
|
101
|
+
}
|
|
102
|
+
const currentLineAfter = after.split('\n')[0];
|
|
103
|
+
if (currentLineAfter.trim().length > 0) {
|
|
104
|
+
htmlFragment += '\n' + paddingParent;
|
|
105
|
+
}
|
|
106
|
+
return htmlFragment;
|
|
107
|
+
}
|
|
108
|
+
function createHtmlHeadIfMissing(htmlString) {
|
|
109
|
+
const assertion = () => assert(tagOpeningExists('head', htmlString) && tagClosingExists('head', htmlString));
|
|
110
|
+
if (tagOpeningExists('head', htmlString) && tagClosingExists('head', htmlString)) {
|
|
111
|
+
assertion();
|
|
112
|
+
return htmlString;
|
|
113
|
+
}
|
|
114
|
+
const htmlFragment = '<head></head>';
|
|
115
|
+
if (tagOpeningExists('html', htmlString)) {
|
|
116
|
+
htmlString = injectAtOpeningTag('html', htmlString, htmlFragment);
|
|
117
|
+
assertion();
|
|
118
|
+
return htmlString;
|
|
119
|
+
}
|
|
120
|
+
if (tagOpeningExists('!doctype', htmlString)) {
|
|
121
|
+
htmlString = injectAtOpeningTag('!doctype', htmlString, htmlFragment);
|
|
122
|
+
assertion();
|
|
123
|
+
return htmlString;
|
|
124
|
+
}
|
|
125
|
+
htmlString = htmlFragment + '\n' + htmlString;
|
|
126
|
+
assertion();
|
|
127
|
+
return htmlString;
|
|
128
|
+
}
|
|
129
|
+
// Pay attention to performance when searching for tags
|
|
130
|
+
// Use the most effective way to test or match tag existence
|
|
131
|
+
// Use tag existence checking with caution as it is costly operation
|
|
132
|
+
function tagOpeningExists(tag, htmlString) {
|
|
133
|
+
const tagOpeningRE = getTagOpening(tag);
|
|
134
|
+
return tagOpeningRE.test(htmlString);
|
|
135
|
+
}
|
|
136
|
+
function tagClosingExists(tag, htmlString) {
|
|
137
|
+
const tagClosingRE = getTagClosing(tag);
|
|
138
|
+
return tagClosingRE.test(htmlString);
|
|
139
|
+
}
|
|
140
|
+
function getTagOpening(tag) {
|
|
141
|
+
const tagOpening = new RegExp(`<${tag}(>| [^>]*>)`, 'i');
|
|
142
|
+
return tagOpening;
|
|
143
|
+
}
|
|
144
|
+
function getTagClosing(tag) {
|
|
145
|
+
const tagClosing = new RegExp(`</${tag}>`, 'i');
|
|
146
|
+
return tagClosing;
|
|
147
|
+
}
|
|
148
|
+
function injectAtPaceholder(htmlFragment, htmlString, isFirst) {
|
|
149
|
+
const placeholder = isFirst ? '__VITE_PLUGIN_SSR__ASSETS_FIRST__' : '__VITE_PLUGIN__SSR_ASSETS_LAST__';
|
|
150
|
+
const parts = htmlString.split(placeholder);
|
|
151
|
+
if (parts.length === 1)
|
|
152
|
+
return null;
|
|
153
|
+
assertUsage(parts.length === 2, "You're inserting assets twice into your HTML", { showStackTrace: true });
|
|
154
|
+
return [parts[0], htmlFragment, parts[1]].join('');
|
|
155
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
export { mergeScriptTags };
|
|
2
|
+
import { assert } from '../../utils.js';
|
|
3
|
+
const scriptRE = /(<script\b(?:\s[^>]*>|>))(.*?)<\/script>/gims;
|
|
4
|
+
const srcRE = /\bsrc\s*=\s*(?:"([^"]+)"|'([^']+)'|([^\s'">]+))/im;
|
|
5
|
+
const typeRE = /\btype\s*=\s*(?:"([^"]+)"|'([^']+)'|([^\s'">]+))/im;
|
|
6
|
+
function mergeScriptTags(scriptTagsHtml, isProduction) {
|
|
7
|
+
let scriptTag = '';
|
|
8
|
+
const scripts = parseScripts(scriptTagsHtml);
|
|
9
|
+
// We need to merge module scripts to ensure execution order
|
|
10
|
+
{
|
|
11
|
+
const scriptsModule = scripts.filter(({ isModule }) => isModule);
|
|
12
|
+
if (scriptsModule.length === 1) {
|
|
13
|
+
scriptTag += scriptsModule[0].outerHtml;
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
const contents = [];
|
|
17
|
+
scriptsModule.forEach(({ src, innerHtml }) => {
|
|
18
|
+
const hasInnerHtml = !!innerHtml.trim();
|
|
19
|
+
if (src) {
|
|
20
|
+
assert(!hasInnerHtml);
|
|
21
|
+
if (isProduction) {
|
|
22
|
+
contents.push(`import ${JSON.stringify(src)};`);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
// Ensure HMR preamble code is executed before client entries
|
|
26
|
+
contents.push(`import(${JSON.stringify(src)});`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
else if (hasInnerHtml) {
|
|
30
|
+
innerHtml = innerHtml.split('\n').filter(Boolean).join('\n');
|
|
31
|
+
contents.push(innerHtml);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
if (contents.length > 0) {
|
|
35
|
+
scriptTag += `<script type="module" defer>\n${contents.join('\n')}\n</script>`;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// We don't need to merge ES5 scripts
|
|
40
|
+
{
|
|
41
|
+
const scriptsES5 = scripts.filter(({ isModule }) => !isModule);
|
|
42
|
+
scriptsES5.forEach(({ outerHtml }) => {
|
|
43
|
+
scriptTag += outerHtml;
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
return scriptTag;
|
|
47
|
+
}
|
|
48
|
+
function parseScripts(htmlString) {
|
|
49
|
+
const scripts = [];
|
|
50
|
+
let match;
|
|
51
|
+
while ((match = scriptRE.exec(htmlString))) {
|
|
52
|
+
const [outerHtml, openTag, innerHtml] = match;
|
|
53
|
+
assert(outerHtml && openTag && innerHtml !== undefined);
|
|
54
|
+
let isModule = false;
|
|
55
|
+
{
|
|
56
|
+
const typeMatch = openTag.match(typeRE);
|
|
57
|
+
const type = typeMatch && (typeMatch[1] || typeMatch[2] || typeMatch[3]);
|
|
58
|
+
isModule = type === 'module';
|
|
59
|
+
}
|
|
60
|
+
let src = null;
|
|
61
|
+
{
|
|
62
|
+
const srcMatch = openTag.match(srcRE);
|
|
63
|
+
src = (srcMatch && (srcMatch[1] || srcMatch[2] || srcMatch[3])) || '';
|
|
64
|
+
}
|
|
65
|
+
scripts.push({ isModule, src, innerHtml, outerHtml });
|
|
66
|
+
}
|
|
67
|
+
return scripts;
|
|
68
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export { injectHtmlTagsToString };
|
|
2
|
+
export { injectHtmlTagsToStream };
|
|
3
|
+
export type { PageContextInjectAssets };
|
|
4
|
+
export type { PageContextPromise };
|
|
5
|
+
import type { PageAsset } from '../renderPage/getPageAssets.js';
|
|
6
|
+
import type { HtmlPart } from './renderHtml.js';
|
|
7
|
+
import { type PreloadFilter } from './injectAssets/getHtmlTags.js';
|
|
8
|
+
import type { InjectToStream } from './stream/react-streaming.js';
|
|
9
|
+
import type { PageConfig } from '../../../shared/page-configs/PageConfig.js';
|
|
10
|
+
import type { PageContextSerialization } from './serializePageContextClientSide.js';
|
|
11
|
+
type PageContextInjectAssets = {
|
|
12
|
+
urlPathname: string;
|
|
13
|
+
__getPageAssets: () => Promise<PageAsset[]>;
|
|
14
|
+
_pageId: string;
|
|
15
|
+
_isHtmlOnly: boolean;
|
|
16
|
+
_pageContextPromise: PageContextPromise;
|
|
17
|
+
_renderHook: {
|
|
18
|
+
hookFilePath: string;
|
|
19
|
+
hookName: 'onRenderHtml' | 'render';
|
|
20
|
+
};
|
|
21
|
+
_baseServer: string;
|
|
22
|
+
_pageConfigs: PageConfig[];
|
|
23
|
+
is404: null | boolean;
|
|
24
|
+
} & PageContextSerialization;
|
|
25
|
+
declare function injectHtmlTagsToString(htmlParts: HtmlPart[], pageContext: PageContextInjectAssets & {
|
|
26
|
+
_isStream: false;
|
|
27
|
+
}, injectFilter: PreloadFilter): Promise<string>;
|
|
28
|
+
declare function injectHtmlTagsToStream(pageContext: PageContextInjectAssets & {
|
|
29
|
+
_isStream: true;
|
|
30
|
+
}, injectToStream: null | InjectToStream, injectFilter: PreloadFilter): {
|
|
31
|
+
injectAtStreamBegin: (htmlPartsBegin: HtmlPart[]) => Promise<string>;
|
|
32
|
+
injectAtStreamEnd: (htmlPartsEnd: HtmlPart[]) => Promise<string>;
|
|
33
|
+
};
|
|
34
|
+
type PageContextPromise = null | Promise<unknown> | (() => void | Promise<unknown>);
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
export { injectHtmlTagsToString };
|
|
2
|
+
export { injectHtmlTagsToStream };
|
|
3
|
+
import { assert, isCallable, isPromise } from '../utils.js';
|
|
4
|
+
import { assertPageContextProvidedByUser } from '../../../shared/assertPageContextProvidedByUser.js';
|
|
5
|
+
import { injectHtmlTags, createHtmlHeadIfMissing } from './injectAssets/injectHtmlTags.js';
|
|
6
|
+
import { getHtmlTags } from './injectAssets/getHtmlTags.js';
|
|
7
|
+
async function injectHtmlTagsToString(htmlParts, pageContext, injectFilter) {
|
|
8
|
+
const htmlTags = await getHtmlTags(pageContext, null, injectFilter);
|
|
9
|
+
const pageAssets = await pageContext.__getPageAssets();
|
|
10
|
+
let htmlString = htmlPartsToString(htmlParts, pageAssets);
|
|
11
|
+
htmlString = injectToHtmlBegin(htmlString, htmlTags, null);
|
|
12
|
+
htmlString = injectToHtmlEnd(htmlString, htmlTags);
|
|
13
|
+
return htmlString;
|
|
14
|
+
}
|
|
15
|
+
function injectHtmlTagsToStream(pageContext, injectToStream, injectFilter) {
|
|
16
|
+
let htmlTags;
|
|
17
|
+
return {
|
|
18
|
+
injectAtStreamBegin,
|
|
19
|
+
injectAtStreamEnd
|
|
20
|
+
};
|
|
21
|
+
async function injectAtStreamBegin(htmlPartsBegin) {
|
|
22
|
+
htmlTags = await getHtmlTags(pageContext, injectToStream, injectFilter);
|
|
23
|
+
const pageAssets = await pageContext.__getPageAssets();
|
|
24
|
+
let htmlBegin = htmlPartsToString(htmlPartsBegin, pageAssets);
|
|
25
|
+
htmlBegin = injectToHtmlBegin(htmlBegin, htmlTags, injectToStream);
|
|
26
|
+
return htmlBegin;
|
|
27
|
+
}
|
|
28
|
+
async function injectAtStreamEnd(htmlPartsEnd) {
|
|
29
|
+
assert(htmlTags);
|
|
30
|
+
await resolvePageContextPromise(pageContext);
|
|
31
|
+
const pageAssets = await pageContext.__getPageAssets();
|
|
32
|
+
let htmlEnd = htmlPartsToString(htmlPartsEnd, pageAssets);
|
|
33
|
+
htmlEnd = injectToHtmlEnd(htmlEnd, htmlTags);
|
|
34
|
+
return htmlEnd;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function injectToHtmlBegin(htmlBegin, htmlTags, injectToStream) {
|
|
38
|
+
const htmlTagsAtBegin = htmlTags.filter((snippet) => snippet.position !== 'HTML_END');
|
|
39
|
+
// Ensure existence of `<head>`
|
|
40
|
+
htmlBegin = createHtmlHeadIfMissing(htmlBegin);
|
|
41
|
+
htmlBegin = injectHtmlTags(htmlBegin, htmlTagsAtBegin, injectToStream);
|
|
42
|
+
return htmlBegin;
|
|
43
|
+
}
|
|
44
|
+
function injectToHtmlEnd(htmlEnd, htmlTags) {
|
|
45
|
+
const htmlTagsAtEnd = htmlTags.filter((snippet) => snippet.position === 'HTML_END');
|
|
46
|
+
htmlEnd = injectHtmlTags(htmlEnd, htmlTagsAtEnd, null);
|
|
47
|
+
return htmlEnd;
|
|
48
|
+
}
|
|
49
|
+
async function resolvePageContextPromise(pageContext) {
|
|
50
|
+
const pageContextPromise = pageContext._pageContextPromise;
|
|
51
|
+
if (!pageContextPromise) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
let pageContextProvidedByUser;
|
|
55
|
+
if (isCallable(pageContextPromise)) {
|
|
56
|
+
pageContextProvidedByUser = await pageContextPromise();
|
|
57
|
+
}
|
|
58
|
+
else if (isPromise(pageContextPromise)) {
|
|
59
|
+
pageContextProvidedByUser = await pageContextPromise;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
assert(false);
|
|
63
|
+
}
|
|
64
|
+
assertPageContextProvidedByUser(pageContextProvidedByUser, pageContext._renderHook);
|
|
65
|
+
Object.assign(pageContext, pageContextProvidedByUser);
|
|
66
|
+
}
|
|
67
|
+
function htmlPartsToString(htmlParts, pageAssets) {
|
|
68
|
+
let htmlString = '';
|
|
69
|
+
htmlParts.forEach((p) => {
|
|
70
|
+
htmlString += typeof p === 'string' ? p : p(pageAssets);
|
|
71
|
+
});
|
|
72
|
+
return htmlString;
|
|
73
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export { escapeInject };
|
|
2
|
+
export { dangerouslySkipEscape };
|
|
3
|
+
export { renderDocumentHtml };
|
|
4
|
+
export { isDocumentHtml };
|
|
5
|
+
export { getHtmlString };
|
|
6
|
+
export type { HtmlRender };
|
|
7
|
+
export type { HtmlPart };
|
|
8
|
+
export type { DocumentHtml };
|
|
9
|
+
export type { TemplateWrapped };
|
|
10
|
+
import type { PageContextInjectAssets } from './injectAssets.js';
|
|
11
|
+
import { StreamProviderAny, StreamTypePatch, StreamProviderNormalized } from './stream.js';
|
|
12
|
+
import type { PageAsset } from '../renderPage/getPageAssets.js';
|
|
13
|
+
import type { PreloadFilter } from './injectAssets/getHtmlTags.js';
|
|
14
|
+
type DocumentHtml = TemplateWrapped | EscapedString | StreamProviderAny;
|
|
15
|
+
type HtmlRender = string | StreamProviderNormalized;
|
|
16
|
+
type TemplateStrings = TemplateStringsArray;
|
|
17
|
+
type TemplateVariable = string | EscapedString | StreamProviderAny | TemplateWrapped;
|
|
18
|
+
type TemplateWrapped = {
|
|
19
|
+
_template: TemplateContent;
|
|
20
|
+
};
|
|
21
|
+
type TemplateContent = {
|
|
22
|
+
templateStrings: TemplateStrings;
|
|
23
|
+
templateVariables: TemplateVariable[];
|
|
24
|
+
};
|
|
25
|
+
declare function isDocumentHtml(something: unknown): something is DocumentHtml;
|
|
26
|
+
declare function renderDocumentHtml(documentHtml: DocumentHtml, pageContext: PageContextInjectAssets, onErrorWhileStreaming: (err: unknown) => void, injectFilter: PreloadFilter): Promise<HtmlRender>;
|
|
27
|
+
declare function escapeInject(templateStrings: TemplateStrings, ...templateVariables: (TemplateVariable | StreamTypePatch)[]): TemplateWrapped;
|
|
28
|
+
type EscapedString = {
|
|
29
|
+
_escaped: string;
|
|
30
|
+
};
|
|
31
|
+
declare function dangerouslySkipEscape(alreadyEscapedString: string): EscapedString;
|
|
32
|
+
type HtmlPart = string | ((pageAssets: PageAsset[]) => string);
|
|
33
|
+
declare function getHtmlString(htmlRender: HtmlRender): Promise<string>;
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
export { escapeInject };
|
|
2
|
+
export { dangerouslySkipEscape };
|
|
3
|
+
export { renderDocumentHtml };
|
|
4
|
+
export { isDocumentHtml };
|
|
5
|
+
export { getHtmlString };
|
|
6
|
+
import { assert, assertUsage, assertWarning, checkType, hasProp, isHtml, isPromise, objectAssign } from '../utils.js';
|
|
7
|
+
import { injectHtmlTagsToString, injectHtmlTagsToStream } from './injectAssets.js';
|
|
8
|
+
import { processStream, isStream, streamToString } from './stream.js';
|
|
9
|
+
import { isStreamReactStreaming } from './stream/react-streaming.js';
|
|
10
|
+
import { getGlobalContext } from '../globalContext.js';
|
|
11
|
+
import pc from '@brillout/picocolors';
|
|
12
|
+
function isDocumentHtml(something) {
|
|
13
|
+
if (isTemplateWrapped(something) || isEscapedString(something) || isStream(something)) {
|
|
14
|
+
checkType(something);
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
async function renderDocumentHtml(documentHtml, pageContext, onErrorWhileStreaming, injectFilter) {
|
|
20
|
+
if (isEscapedString(documentHtml)) {
|
|
21
|
+
objectAssign(pageContext, { _isStream: false });
|
|
22
|
+
let htmlString = getEscapedString(documentHtml);
|
|
23
|
+
htmlString = await injectHtmlTagsToString([htmlString], pageContext, injectFilter);
|
|
24
|
+
return htmlString;
|
|
25
|
+
}
|
|
26
|
+
if (isStream(documentHtml)) {
|
|
27
|
+
objectAssign(pageContext, { _isStream: true });
|
|
28
|
+
const stream = documentHtml;
|
|
29
|
+
const streamWrapper = await renderHtmlStream(stream, null, pageContext, onErrorWhileStreaming, injectFilter);
|
|
30
|
+
return streamWrapper;
|
|
31
|
+
}
|
|
32
|
+
if (isTemplateWrapped(documentHtml)) {
|
|
33
|
+
const templateContent = documentHtml._template;
|
|
34
|
+
const render = await renderTemplate(templateContent, pageContext);
|
|
35
|
+
if (!('htmlStream' in render)) {
|
|
36
|
+
objectAssign(pageContext, { _isStream: false });
|
|
37
|
+
const { htmlPartsAll } = render;
|
|
38
|
+
const htmlString = await injectHtmlTagsToString(htmlPartsAll, pageContext, injectFilter);
|
|
39
|
+
return htmlString;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
objectAssign(pageContext, { _isStream: true });
|
|
43
|
+
const { htmlStream } = render;
|
|
44
|
+
const streamWrapper = await renderHtmlStream(htmlStream, {
|
|
45
|
+
htmlPartsBegin: render.htmlPartsBegin,
|
|
46
|
+
htmlPartsEnd: render.htmlPartsEnd
|
|
47
|
+
}, pageContext, onErrorWhileStreaming, injectFilter);
|
|
48
|
+
return streamWrapper;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
checkType(documentHtml);
|
|
52
|
+
assert(false);
|
|
53
|
+
}
|
|
54
|
+
async function renderHtmlStream(streamOriginal, injectString, pageContext, onErrorWhileStreaming, injectFilter) {
|
|
55
|
+
const opts = {
|
|
56
|
+
onErrorWhileStreaming,
|
|
57
|
+
enableEagerStreaming: pageContext.enableEagerStreaming
|
|
58
|
+
};
|
|
59
|
+
if (injectString) {
|
|
60
|
+
let injectToStream = null;
|
|
61
|
+
if (isStreamReactStreaming(streamOriginal) && !streamOriginal.disabled) {
|
|
62
|
+
injectToStream = streamOriginal.injectToStream;
|
|
63
|
+
}
|
|
64
|
+
const { injectAtStreamBegin, injectAtStreamEnd } = injectHtmlTagsToStream(pageContext, injectToStream, injectFilter);
|
|
65
|
+
objectAssign(opts, {
|
|
66
|
+
injectStringAtBegin: async () => {
|
|
67
|
+
return await injectAtStreamBegin(injectString.htmlPartsBegin);
|
|
68
|
+
},
|
|
69
|
+
injectStringAtEnd: async () => {
|
|
70
|
+
return await injectAtStreamEnd(injectString.htmlPartsEnd);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
const streamWrapper = await processStream(streamOriginal, opts);
|
|
75
|
+
return streamWrapper;
|
|
76
|
+
}
|
|
77
|
+
function isTemplateWrapped(something) {
|
|
78
|
+
return hasProp(something, '_template');
|
|
79
|
+
}
|
|
80
|
+
function isEscapedString(something) {
|
|
81
|
+
const result = hasProp(something, '_escaped');
|
|
82
|
+
if (result) {
|
|
83
|
+
assert(hasProp(something, '_escaped', 'string'));
|
|
84
|
+
checkType(something);
|
|
85
|
+
}
|
|
86
|
+
return result;
|
|
87
|
+
}
|
|
88
|
+
function getEscapedString(escapedString) {
|
|
89
|
+
let htmlString;
|
|
90
|
+
assert(hasProp(escapedString, '_escaped'));
|
|
91
|
+
htmlString = escapedString._escaped;
|
|
92
|
+
assert(typeof htmlString === 'string');
|
|
93
|
+
return htmlString;
|
|
94
|
+
}
|
|
95
|
+
function escapeInject(templateStrings, ...templateVariables) {
|
|
96
|
+
assertUsage(templateStrings.length === templateVariables.length + 1 && templateStrings.every((str) => typeof str === 'string'), `You're using ${pc.cyan('escapeInject')} as a function, but ${pc.cyan('escapeInject')} is a string template tag, see https://vike.dev/escapeInject`, { showStackTrace: true });
|
|
97
|
+
return {
|
|
98
|
+
_template: {
|
|
99
|
+
templateStrings,
|
|
100
|
+
templateVariables: templateVariables
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
function dangerouslySkipEscape(alreadyEscapedString) {
|
|
105
|
+
return _dangerouslySkipEscape(alreadyEscapedString);
|
|
106
|
+
}
|
|
107
|
+
function _dangerouslySkipEscape(arg) {
|
|
108
|
+
if (hasProp(arg, '_escaped')) {
|
|
109
|
+
assert(isEscapedString(arg));
|
|
110
|
+
return arg;
|
|
111
|
+
}
|
|
112
|
+
assertUsage(!isPromise(arg), `[dangerouslySkipEscape(${pc.cyan('str')})] Argument ${pc.cyan('str')} is a promise. It should be a string instead (or a stream). Make sure to ${pc.cyan('await str')}.`, { showStackTrace: true });
|
|
113
|
+
if (typeof arg === 'string') {
|
|
114
|
+
return { _escaped: arg };
|
|
115
|
+
}
|
|
116
|
+
assertWarning(false, `[dangerouslySkipEscape(${pc.cyan('str')})] Argument ${pc.cyan('str')} should be a string but we got ${pc.cyan(`typeof str === "${typeof arg}"`)}.`, {
|
|
117
|
+
onlyOnce: false,
|
|
118
|
+
showStackTrace: true
|
|
119
|
+
});
|
|
120
|
+
return { _escaped: String(arg) };
|
|
121
|
+
}
|
|
122
|
+
async function renderTemplate(templateContent, pageContext) {
|
|
123
|
+
const htmlPartsBegin = [];
|
|
124
|
+
const htmlPartsEnd = [];
|
|
125
|
+
let htmlStream = null;
|
|
126
|
+
const addHtmlPart = (htmlPart) => {
|
|
127
|
+
if (htmlStream === null) {
|
|
128
|
+
htmlPartsBegin.push(htmlPart);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
htmlPartsEnd.push(htmlPart);
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
const setStream = (stream) => {
|
|
135
|
+
const { hookName, hookFilePath } = pageContext._renderHook;
|
|
136
|
+
assertUsage(!htmlStream, `Injecting two streams in ${pc.cyan('escapeInject')} template tag of ${hookName}() hook defined by ${hookFilePath}. Inject only one stream instead.`);
|
|
137
|
+
htmlStream = stream;
|
|
138
|
+
};
|
|
139
|
+
const { templateStrings, templateVariables } = templateContent;
|
|
140
|
+
for (let i = 0; i < templateVariables.length; i++) {
|
|
141
|
+
addHtmlPart(templateStrings[i]);
|
|
142
|
+
let templateVar = templateVariables[i];
|
|
143
|
+
// Process `dangerouslySkipEscape()`
|
|
144
|
+
if (isEscapedString(templateVar)) {
|
|
145
|
+
const htmlString = getEscapedString(templateVar);
|
|
146
|
+
// User used `dangerouslySkipEscape()` so we assume the string to be safe
|
|
147
|
+
addHtmlPart(htmlString);
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
// Process `escapeInject` fragments
|
|
151
|
+
if (isTemplateWrapped(templateVar)) {
|
|
152
|
+
const templateContentInner = templateVar._template;
|
|
153
|
+
const result = await renderTemplate(templateContentInner, pageContext);
|
|
154
|
+
if (!('htmlStream' in result)) {
|
|
155
|
+
result.htmlPartsAll.forEach(addHtmlPart);
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
result.htmlPartsBegin.forEach(addHtmlPart);
|
|
159
|
+
setStream(result.htmlStream);
|
|
160
|
+
result.htmlPartsEnd.forEach(addHtmlPart);
|
|
161
|
+
}
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
if (isStream(templateVar)) {
|
|
165
|
+
setStream(templateVar);
|
|
166
|
+
continue;
|
|
167
|
+
}
|
|
168
|
+
const getErrMsg = (typeText, end) => {
|
|
169
|
+
const { hookName, hookFilePath } = pageContext._renderHook;
|
|
170
|
+
const nth = (i === 0 && '1st') || (i === 1 && '2nd') || (i === 2 && '3rd') || `${i}-th`;
|
|
171
|
+
return [`The ${nth} HTML variable is ${typeText}, see ${hookName}() hook defined by ${hookFilePath}.`, end]
|
|
172
|
+
.filter(Boolean)
|
|
173
|
+
.join(' ');
|
|
174
|
+
};
|
|
175
|
+
assertUsage(!isPromise(templateVar), getErrMsg('a promise', `Did you forget to ${pc.cyan('await')} the promise?`));
|
|
176
|
+
if (templateVar === undefined || templateVar === null) {
|
|
177
|
+
assertWarning(false, getErrMsg(`${pc.cyan(String(templateVar))} which will be converted to an empty string`, `Pass an empty string instead of ${pc.cyan(String(templateVar))} to remove this warning.`), { onlyOnce: false });
|
|
178
|
+
templateVar = '';
|
|
179
|
+
}
|
|
180
|
+
{
|
|
181
|
+
const varType = typeof templateVar;
|
|
182
|
+
const streamNote = ['boolean', 'number', 'bigint', 'symbol'].includes(varType)
|
|
183
|
+
? null
|
|
184
|
+
: '(See https://vike.dev/stream for HTML streaming.)';
|
|
185
|
+
assertUsage(varType === 'string', getErrMsg(pc.cyan(`typeof htmlVar === "${varType}"`), streamNote));
|
|
186
|
+
}
|
|
187
|
+
{
|
|
188
|
+
const { isProduction } = getGlobalContext();
|
|
189
|
+
if (isHtml(templateVar) &&
|
|
190
|
+
// We don't show this warning in production because it's expected that some users may (un)willingly do some XSS injection: we avoid flooding the production logs.
|
|
191
|
+
!isProduction) {
|
|
192
|
+
assertWarning(false, getErrMsg(`${pc.cyan(templateVar)} which seems to be HTML code`, 'Did you forget to wrap the value with dangerouslySkipEscape()?'), { onlyOnce: false });
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
// Escape untrusted template variable
|
|
196
|
+
addHtmlPart(escapeHtml(templateVar));
|
|
197
|
+
}
|
|
198
|
+
assert(templateStrings.length === templateVariables.length + 1);
|
|
199
|
+
addHtmlPart(templateStrings[templateStrings.length - 1]);
|
|
200
|
+
if (htmlStream === null) {
|
|
201
|
+
assert(htmlPartsEnd.length === 0);
|
|
202
|
+
return {
|
|
203
|
+
htmlPartsAll: htmlPartsBegin
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
return {
|
|
207
|
+
htmlStream,
|
|
208
|
+
htmlPartsBegin,
|
|
209
|
+
htmlPartsEnd
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
function escapeHtml(unsafeString) {
|
|
213
|
+
// Source: https://stackoverflow.com/questions/6234773/can-i-escape-html-special-chars-in-javascript/6234804#6234804
|
|
214
|
+
const safe = unsafeString
|
|
215
|
+
.replace(/&/g, '&')
|
|
216
|
+
.replace(/</g, '<')
|
|
217
|
+
.replace(/>/g, '>')
|
|
218
|
+
.replace(/"/g, '"')
|
|
219
|
+
.replace(/'/g, ''');
|
|
220
|
+
return safe;
|
|
221
|
+
}
|
|
222
|
+
async function getHtmlString(htmlRender) {
|
|
223
|
+
if (typeof htmlRender === 'string') {
|
|
224
|
+
return htmlRender;
|
|
225
|
+
}
|
|
226
|
+
if (isStream(htmlRender)) {
|
|
227
|
+
return streamToString(htmlRender);
|
|
228
|
+
}
|
|
229
|
+
checkType(htmlRender);
|
|
230
|
+
assert(false);
|
|
231
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export { serializePageContextClientSide };
|
|
2
|
+
export { serializePageContextAbort };
|
|
3
|
+
export type { PageContextSerialization };
|
|
4
|
+
import type { PageConfig } from '../../../shared/page-configs/PageConfig.js';
|
|
5
|
+
import type { UrlRedirect } from '../../../shared/route/abort.js';
|
|
6
|
+
type PageContextSerialization = {
|
|
7
|
+
_pageId: string;
|
|
8
|
+
_passToClient: string[];
|
|
9
|
+
_pageConfigs: PageConfig[];
|
|
10
|
+
is404: null | boolean;
|
|
11
|
+
pageProps?: Record<string, unknown>;
|
|
12
|
+
_isError?: true;
|
|
13
|
+
_pageContextInit: Record<string, unknown>;
|
|
14
|
+
};
|
|
15
|
+
declare function serializePageContextClientSide(pageContext: PageContextSerialization): string;
|
|
16
|
+
declare function serializePageContextAbort(pageContext: Record<string, unknown> & ({
|
|
17
|
+
_urlRedirect: UrlRedirect;
|
|
18
|
+
} | {
|
|
19
|
+
_urlRewrite: string;
|
|
20
|
+
} | {
|
|
21
|
+
abortStatusCode: number;
|
|
22
|
+
})): string;
|