vike 0.4.231-commit-e1c3295 → 0.4.232-commit-134207d
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/README.md +4 -2
- package/dist/cjs/__internal/index.js +2 -2
- package/dist/cjs/client/runtime-client-routing/globalContext.js +1 -1
- package/dist/cjs/client/shared/createGetGlobalContextClient.js +2 -2
- package/dist/cjs/client/shared/preparePageContextForPublicUsageClientShared.js +2 -2
- package/dist/cjs/node/api/build.js +6 -2
- package/dist/cjs/node/api/dev.js +1 -1
- package/dist/cjs/node/api/prepareViteApiCall.js +8 -8
- package/dist/cjs/node/api/prerender.js +1 -1
- package/dist/cjs/node/api/preview.js +2 -2
- package/dist/cjs/node/cli/entry.js +1 -1
- package/dist/cjs/node/cli/parseCli.js +2 -2
- package/dist/cjs/node/client/router.js +1 -1
- package/dist/cjs/node/createPageRenderer.js +1 -1
- package/dist/cjs/node/prerender/context.js +1 -1
- package/dist/cjs/node/prerender/resolvePrerenderConfig.js +3 -2
- package/dist/cjs/node/prerender/runPrerender.js +91 -46
- package/dist/cjs/node/prerender/runPrerenderEntry.js +1 -1
- package/dist/cjs/node/prerender/utils.js +1 -0
- package/dist/cjs/node/runtime/globalContext.js +22 -15
- package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +7 -7
- package/dist/cjs/node/runtime/html/injectAssets/getViteDevScript.js +1 -1
- package/dist/cjs/node/runtime/html/injectAssets/inferHtmlTags.js +1 -1
- package/dist/cjs/node/runtime/html/injectAssets/injectAssets__public.js +5 -5
- package/dist/cjs/node/runtime/html/injectAssets/injectHtmlTags.js +3 -3
- package/dist/cjs/node/runtime/html/injectAssets.js +1 -1
- package/dist/cjs/node/runtime/html/renderHtml.js +8 -8
- package/dist/cjs/node/runtime/html/serializeContext.js +5 -5
- package/dist/cjs/node/runtime/html/stream.js +19 -19
- package/dist/cjs/node/runtime/index-deprecated.js +2 -2
- package/dist/cjs/node/runtime/index.js +1 -1
- package/dist/cjs/node/runtime/renderPage/analyzePage.js +4 -4
- package/dist/cjs/node/runtime/renderPage/assertArguments.js +1 -1
- package/dist/cjs/node/runtime/renderPage/createHttpResponse/assertNoInfiniteHttpRedirect.js +1 -1
- package/dist/cjs/node/runtime/renderPage/createHttpResponse.js +5 -6
- package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +4 -4
- package/dist/cjs/node/runtime/renderPage/debugPageFiles.js +1 -1
- package/dist/cjs/node/runtime/renderPage/execHookServer.js +1 -4
- package/dist/cjs/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.js +1 -1
- package/dist/cjs/node/runtime/renderPage/executeOnRenderHtmlHook.js +3 -3
- package/dist/cjs/node/runtime/renderPage/getEarlyHints.js +1 -1
- package/dist/cjs/node/runtime/renderPage/getHttpResponseBody.js +1 -1
- package/dist/cjs/node/runtime/renderPage/getPageAssets/getManifestEntry.js +1 -1
- package/dist/cjs/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.js +1 -1
- package/dist/cjs/node/runtime/renderPage/getPageAssets.js +2 -2
- package/dist/cjs/node/runtime/renderPage/handleErrorWithoutErrorPage.js +1 -1
- package/dist/cjs/node/runtime/renderPage/handlePageContextRequestUrl.js +1 -1
- package/dist/cjs/node/runtime/renderPage/isFontFallback.js +3 -3
- package/dist/cjs/node/runtime/renderPage/isNewError.js +2 -1
- package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +10 -10
- package/dist/cjs/node/runtime/renderPage/log404/index.js +4 -8
- package/dist/cjs/node/runtime/renderPage/logErrorHint/errors.js +2 -2
- package/dist/cjs/node/runtime/renderPage/logErrorHint.js +18 -18
- package/dist/cjs/node/runtime/renderPage/loggerProd.js +3 -3
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -1
- package/dist/cjs/node/runtime/renderPage/resolveRedirects.js +22 -4
- package/dist/cjs/node/runtime/renderPage.js +17 -34
- package/dist/cjs/node/runtime/universal-middleware.js +2 -2
- package/dist/cjs/node/runtime/utils.js +1 -1
- package/dist/cjs/node/runtime-dev/createDevMiddleware.js +3 -3
- package/dist/cjs/node/shared/extractAssetsQuery.js +1 -1
- package/dist/cjs/node/shared/getVikeConfigError.js +22 -0
- package/dist/cjs/node/shared/resolveBase.js +1 -1
- package/dist/cjs/node/shared/utils.js +1 -0
- package/dist/cjs/node/shared/virtualFiles/virtualFilePageConfigLazy.js +2 -2
- package/dist/cjs/node/vite/index.js +2 -2
- package/dist/cjs/node/vite/plugins/pluginBaseUrls.js +3 -3
- package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +30 -28
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +10 -10
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildApp.js +10 -10
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +10 -10
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildEntry.js +12 -13
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistFileNames.js +14 -12
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +2 -2
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginModuleBanner.js +3 -3
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginSuppressRollupWarning.js +3 -3
- package/dist/cjs/node/vite/plugins/pluginBuild.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginCommon/assertResolveAlias.js +2 -2
- package/dist/cjs/node/vite/plugins/pluginCommon.js +14 -14
- package/dist/cjs/node/vite/plugins/pluginDev/determineFsAllowList.js +2 -2
- package/dist/cjs/node/vite/plugins/pluginDev/determineOptimizeDeps.js +2 -2
- package/dist/cjs/node/vite/plugins/pluginDev.js +8 -8
- package/dist/cjs/node/vite/plugins/pluginEnvVars.js +4 -4
- package/dist/cjs/node/vite/plugins/pluginExtractAssets.js +6 -6
- package/dist/cjs/node/vite/plugins/pluginExtractExportNames.js +2 -2
- package/dist/cjs/node/vite/plugins/pluginFileEnv.js +3 -3
- package/dist/cjs/node/vite/plugins/pluginPreview.js +9 -9
- package/dist/cjs/node/vite/plugins/pluginReplaceConstants.js +3 -3
- package/dist/cjs/node/vite/plugins/pluginSetGlobalContext.js +6 -6
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getVirtualFileEntry.js +10 -10
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigLazy.js +11 -1
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +3 -3
- package/dist/cjs/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginWorkaroundVite6HmrRegression.js +2 -2
- package/dist/cjs/node/vite/shared/addSsrMiddleware.js +3 -3
- package/dist/cjs/node/vite/shared/findPageFiles.js +1 -1
- package/dist/cjs/node/vite/shared/getFilePath.js +24 -24
- package/dist/cjs/node/vite/shared/getHttpRequestAsyncStore.js +4 -4
- package/dist/cjs/node/vite/shared/getOutDirs.js +2 -2
- package/dist/cjs/node/vite/shared/getViteConfigRuntime.js +3 -3
- package/dist/cjs/node/vite/shared/isAsset.js +1 -1
- package/dist/cjs/node/vite/shared/isViteCliCall.js +1 -1
- package/dist/cjs/node/vite/shared/isViteServerBuild.js +2 -2
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelReact.js +1 -1
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelSolid.js +1 -1
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errEsbuild.js +5 -5
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx1.js +3 -3
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx2.js +10 -10
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errPostcss.js +2 -2
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwc.js +2 -2
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwcBig.js +2 -2
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueCss.js +2 -2
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueHtml.js +1 -1
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueJavascript.js +1 -1
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet.js +3 -3
- package/dist/cjs/node/vite/shared/loggerNotProd.js +1 -1
- package/dist/cjs/node/vite/shared/resolveClientEntriesDev.js +2 -2
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/assertExtensions.js +2 -2
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +50 -50
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles/ignorePatternsBuiltIn.js +1 -1
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +13 -13
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.js +14 -5
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/getPlusFilesAll.js +4 -4
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/loadFileAtConfigTime.js +1 -1
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/pointerImports.js +5 -5
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/resolvePointerImport.js +5 -5
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +25 -25
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal.js +46 -46
- package/dist/cjs/node/vite/utils.js +2 -7
- package/dist/cjs/shared/assertHookReturnedObject.js +1 -1
- package/dist/cjs/shared/assertPageContextProvidedByUser.js +2 -2
- package/dist/cjs/shared/createGlobalContextShared.js +26 -18
- package/dist/cjs/shared/createPageContextShared.js +1 -1
- package/dist/cjs/shared/getPageContextRequestUrl.js +1 -1
- package/dist/cjs/shared/getPageContextUrlComputed.js +5 -5
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide/analyzeExports.js +3 -3
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide/determineClientEntry.js +1 -1
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide.js +3 -3
- package/dist/cjs/shared/getPageFiles/fileTypes.js +1 -1
- package/dist/cjs/shared/getPageFiles/getAllPageIdFiles.js +2 -2
- package/dist/cjs/shared/getPageFiles/getPageFileObject.js +1 -1
- package/dist/cjs/shared/getProxyForPublicUsage.js +2 -2
- package/dist/cjs/shared/hooks/execHook.js +2 -2
- package/dist/cjs/shared/hooks/getHook.js +4 -4
- package/dist/cjs/shared/modifyUrl.js +1 -1
- package/dist/cjs/shared/page-configs/assertPlusFileExport.js +2 -2
- package/dist/cjs/shared/page-configs/getConfigValueBuildTime.js +4 -4
- package/dist/cjs/shared/page-configs/resolveVikeConfigPublic.js +21 -21
- package/dist/cjs/shared/page-configs/serialize/parsePageConfigs.js +3 -3
- package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +9 -9
- package/dist/cjs/shared/preparePageContextForPublicUsage.js +3 -3
- package/dist/cjs/shared/route/abort.js +7 -7
- package/dist/cjs/shared/route/debug.js +1 -1
- package/dist/cjs/shared/route/deduceRouteStringFromFilesystemPath.js +1 -1
- package/dist/cjs/shared/route/executeOnBeforeRouteHook.js +3 -3
- package/dist/cjs/shared/route/index.js +5 -5
- package/dist/cjs/shared/route/loadPageRoutes.js +8 -8
- package/dist/cjs/shared/route/resolvePrecedence.js +2 -2
- package/dist/cjs/shared/route/resolveRoute.js +1 -1
- package/dist/cjs/shared/route/resolveRouteFunction.js +2 -2
- package/dist/cjs/shared/utils.js +1 -0
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/assert.js +9 -9
- package/dist/cjs/utils/assertKeys.js +1 -1
- package/dist/cjs/utils/assertSetup.js +1 -1
- package/dist/cjs/utils/assertSingleInstance.js +5 -5
- package/dist/cjs/utils/catchInfiniteLoop.js +1 -1
- package/dist/cjs/utils/debug.js +1 -1
- package/dist/cjs/utils/findFile.js +5 -5
- package/dist/cjs/utils/findPackageJson.js +3 -3
- package/dist/cjs/utils/formatHintLog.js +1 -1
- package/dist/cjs/utils/freezePartial.js +1 -1
- package/dist/cjs/utils/genPromise.js +2 -2
- package/dist/cjs/utils/getMostSimilar.js +1 -1
- package/dist/cjs/utils/injectRollupInputs.js +2 -2
- package/dist/cjs/utils/isFilePathAbsoluteFilesystem.js +1 -1
- package/dist/cjs/utils/objectAssignSafe.js +1 -1
- package/dist/cjs/utils/pLimit.js +4 -4
- package/dist/cjs/utils/parseNpmPackage.js +2 -2
- package/dist/cjs/utils/parseUrl.js +3 -3
- package/dist/cjs/utils/path.js +1 -1
- package/dist/cjs/utils/preservePropertyGetters.js +1 -1
- package/dist/cjs/utils/{removeFileExtention.js → removeFileExtension.js} +2 -2
- package/dist/cjs/utils/requireResolve.js +10 -10
- package/dist/cjs/utils/rollupSourceMap.js +2 -2
- package/dist/cjs/utils/stripAnsi.js +1 -1
- package/dist/cjs/utils/styleFileRE.js +1 -0
- package/dist/cjs/utils/trimWithAnsi.js +1 -1
- package/dist/esm/__internal/index.js +2 -2
- package/dist/esm/client/index.d.ts +1 -1
- package/dist/esm/client/index.js +1 -1
- package/dist/esm/client/node.js +1 -1
- package/dist/esm/client/runtime-client-routing/createPageContextClientSide.js +1 -1
- package/dist/esm/client/runtime-client-routing/getPageContext/removeBuiltInOverrides.js +1 -1
- package/dist/esm/client/runtime-client-routing/getPageContextCurrent.js +1 -1
- package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +2 -3
- package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.js +5 -5
- package/dist/esm/client/runtime-client-routing/globalContext.js +1 -1
- package/dist/esm/client/runtime-client-routing/history.js +6 -6
- package/dist/esm/client/runtime-client-routing/initClientRouter.js +1 -1
- package/dist/esm/client/runtime-client-routing/initOnLinkClick.js +1 -1
- package/dist/esm/client/runtime-client-routing/initOnPopState.js +1 -1
- package/dist/esm/client/runtime-client-routing/isClientSideRoutable.js +1 -1
- package/dist/esm/client/runtime-client-routing/navigate.js +1 -1
- package/dist/esm/client/runtime-client-routing/prefetch/getPrefetchSettings.js +2 -2
- package/dist/esm/client/runtime-client-routing/prefetch.js +10 -10
- package/dist/esm/client/runtime-client-routing/renderPageClientSide.d.ts +1 -1
- package/dist/esm/client/runtime-client-routing/renderPageClientSide.js +20 -20
- package/dist/esm/client/runtime-client-routing/setScrollPosition.js +1 -1
- package/dist/esm/client/runtime-server-routing/createPageContextClientSide.js +1 -1
- package/dist/esm/client/shared/createGetGlobalContextClient.js +3 -3
- package/dist/esm/client/shared/loadPageConfigsLazyClientSide.js +1 -1
- package/dist/esm/client/shared/preparePageContextForPublicUsageClientShared.js +3 -3
- package/dist/esm/node/api/build.js +6 -2
- package/dist/esm/node/api/dev.js +1 -1
- package/dist/esm/node/api/prepareViteApiCall.js +8 -8
- package/dist/esm/node/api/prerender.js +1 -1
- package/dist/esm/node/api/preview.js +2 -2
- package/dist/esm/node/cli/entry.js +1 -1
- package/dist/esm/node/cli/parseCli.js +2 -2
- package/dist/esm/node/client/router.js +1 -1
- package/dist/esm/node/createPageRenderer.js +1 -1
- package/dist/esm/node/prerender/context.d.ts +1 -1
- package/dist/esm/node/prerender/context.js +1 -1
- package/dist/esm/node/prerender/resolvePrerenderConfig.d.ts +1 -0
- package/dist/esm/node/prerender/resolvePrerenderConfig.js +3 -2
- package/dist/esm/node/prerender/runPrerender.d.ts +9 -6
- package/dist/esm/node/prerender/runPrerender.js +90 -45
- package/dist/esm/node/prerender/runPrerenderEntry.js +1 -1
- package/dist/esm/node/prerender/utils.d.ts +1 -0
- package/dist/esm/node/prerender/utils.js +1 -0
- package/dist/esm/node/runtime/globalContext.js +25 -18
- package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +8 -8
- package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.js +1 -1
- package/dist/esm/node/runtime/html/injectAssets/inferHtmlTags.js +1 -1
- package/dist/esm/node/runtime/html/injectAssets/injectAssets__public.js +5 -5
- package/dist/esm/node/runtime/html/injectAssets/injectHtmlTags.js +3 -3
- package/dist/esm/node/runtime/html/injectAssets.js +2 -2
- package/dist/esm/node/runtime/html/renderHtml.js +10 -10
- package/dist/esm/node/runtime/html/serializeContext.js +5 -5
- package/dist/esm/node/runtime/html/stream.d.ts +1 -1
- package/dist/esm/node/runtime/html/stream.js +21 -21
- package/dist/esm/node/runtime/index-deprecated.js +2 -2
- package/dist/esm/node/runtime/index.js +1 -1
- package/dist/esm/node/runtime/renderPage/analyzePage.js +4 -4
- package/dist/esm/node/runtime/renderPage/assertArguments.js +1 -1
- package/dist/esm/node/runtime/renderPage/createHttpResponse/assertNoInfiniteHttpRedirect.js +1 -1
- package/dist/esm/node/runtime/renderPage/createHttpResponse.js +5 -6
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +4 -4
- package/dist/esm/node/runtime/renderPage/debugPageFiles.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/debugPageFiles.js +1 -1
- package/dist/esm/node/runtime/renderPage/execHookServer.js +2 -5
- package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.js +1 -1
- package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.js +5 -5
- package/dist/esm/node/runtime/renderPage/getEarlyHints.js +1 -1
- package/dist/esm/node/runtime/renderPage/getHttpResponseBody.js +2 -2
- package/dist/esm/node/runtime/renderPage/getPageAssets/getManifestEntry.js +1 -1
- package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.js +1 -1
- package/dist/esm/node/runtime/renderPage/getPageAssets.js +2 -2
- package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.js +1 -1
- package/dist/esm/node/runtime/renderPage/handlePageContextRequestUrl.js +1 -1
- package/dist/esm/node/runtime/renderPage/isFontFallback.js +3 -3
- package/dist/esm/node/runtime/renderPage/isNewError.d.ts +2 -0
- package/dist/esm/node/runtime/renderPage/isNewError.js +2 -1
- package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +11 -11
- package/dist/esm/node/runtime/renderPage/log404/index.js +5 -9
- package/dist/esm/node/runtime/renderPage/logErrorHint/errors.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/logErrorHint/errors.js +1 -1
- package/dist/esm/node/runtime/renderPage/logErrorHint.js +18 -18
- package/dist/esm/node/runtime/renderPage/loggerProd.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/loggerProd.js +3 -3
- package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +1 -1
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +2 -2
- package/dist/esm/node/runtime/renderPage/resolveRedirects.d.ts +2 -0
- package/dist/esm/node/runtime/renderPage/resolveRedirects.js +24 -6
- package/dist/esm/node/runtime/renderPage.d.ts +0 -11
- package/dist/esm/node/runtime/renderPage.js +20 -37
- package/dist/esm/node/runtime/universal-middleware.js +2 -2
- package/dist/esm/node/runtime/utils.d.ts +1 -1
- package/dist/esm/node/runtime/utils.js +1 -1
- package/dist/esm/node/runtime-dev/createDevMiddleware.js +3 -3
- package/dist/esm/node/shared/extractAssetsQuery.js +1 -1
- package/dist/esm/node/shared/getVikeConfigError.d.ts +13 -0
- package/dist/esm/node/shared/getVikeConfigError.js +20 -0
- package/dist/esm/node/shared/resolveBase.js +1 -1
- package/dist/esm/node/shared/utils.d.ts +1 -0
- package/dist/esm/node/shared/utils.js +1 -0
- package/dist/esm/node/shared/virtualFiles/virtualFilePageConfigLazy.js +2 -2
- package/dist/esm/node/vite/index.js +2 -2
- package/dist/esm/node/vite/plugins/pluginBaseUrls.js +3 -3
- package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.d.ts +3 -2
- package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.js +14 -12
- package/dist/esm/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +10 -10
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildApp.js +10 -10
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.js +12 -12
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildEntry.d.ts +1 -2
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildEntry.js +11 -12
- package/dist/esm/node/vite/plugins/pluginBuild/pluginDistFileNames.js +11 -9
- package/dist/esm/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +2 -2
- package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.js +3 -3
- package/dist/esm/node/vite/plugins/pluginBuild/pluginSuppressRollupWarning.js +3 -3
- package/dist/esm/node/vite/plugins/pluginBuild.js +1 -1
- package/dist/esm/node/vite/plugins/pluginCommon/assertResolveAlias.js +2 -2
- package/dist/esm/node/vite/plugins/pluginCommon.js +14 -14
- package/dist/esm/node/vite/plugins/pluginDev/determineFsAllowList.js +1 -1
- package/dist/esm/node/vite/plugins/pluginDev/determineOptimizeDeps.js +5 -5
- package/dist/esm/node/vite/plugins/pluginDev.js +8 -8
- package/dist/esm/node/vite/plugins/pluginEnvVars.js +5 -5
- package/dist/esm/node/vite/plugins/pluginExtractAssets.js +8 -8
- package/dist/esm/node/vite/plugins/pluginExtractExportNames.js +3 -3
- package/dist/esm/node/vite/plugins/pluginFileEnv.js +4 -4
- package/dist/esm/node/vite/plugins/pluginPreview.js +5 -5
- package/dist/esm/node/vite/plugins/pluginReplaceConstants.js +3 -3
- package/dist/esm/node/vite/plugins/pluginSetGlobalContext.js +7 -7
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFileEntry.js +11 -11
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigLazy.js +13 -3
- package/dist/esm/node/vite/plugins/pluginVirtualFiles.js +3 -3
- package/dist/esm/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +1 -1
- package/dist/esm/node/vite/plugins/pluginWorkaroundVite6HmrRegression.js +2 -2
- package/dist/esm/node/vite/shared/addSsrMiddleware.js +3 -3
- package/dist/esm/node/vite/shared/findPageFiles.js +1 -1
- package/dist/esm/node/vite/shared/getFilePath.d.ts +5 -5
- package/dist/esm/node/vite/shared/getFilePath.js +22 -22
- package/dist/esm/node/vite/shared/getHttpRequestAsyncStore.js +4 -4
- package/dist/esm/node/vite/shared/getOutDirs.js +2 -2
- package/dist/esm/node/vite/shared/getViteConfigRuntime.js +3 -3
- package/dist/esm/node/vite/shared/isAsset.js +1 -1
- package/dist/esm/node/vite/shared/isViteCliCall.js +1 -1
- package/dist/esm/node/vite/shared/isViteServerBuild.js +2 -2
- package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelReact.js +1 -1
- package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelSolid.js +1 -1
- package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errEsbuild.js +5 -5
- package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx1.js +3 -3
- package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx2.js +10 -10
- package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errPostcss.js +2 -2
- package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwc.js +2 -2
- package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwcBig.js +2 -2
- package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueCss.js +2 -2
- package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueHtml.js +1 -1
- package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueJavascript.js +1 -1
- package/dist/esm/node/vite/shared/loggerNotProd/errorWithCodeSnippet.js +4 -4
- package/dist/esm/node/vite/shared/loggerNotProd.js +3 -3
- package/dist/esm/node/vite/shared/resolveClientEntriesDev.js +3 -3
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/assertExtensions.js +1 -1
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +50 -50
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles/ignorePatternsBuiltIn.js +1 -1
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +10 -10
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.js +14 -5
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/getPlusFilesAll.js +4 -4
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/loadFileAtConfigTime.js +1 -1
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/pointerImports.js +5 -5
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/resolvePointerImport.js +6 -6
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +14 -14
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal.d.ts +2 -2
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal.js +52 -52
- package/dist/esm/node/vite/utils.d.ts +0 -6
- package/dist/esm/node/vite/utils.js +2 -7
- package/dist/esm/shared/assertHookReturnedObject.js +1 -1
- package/dist/esm/shared/assertPageContextProvidedByUser.d.ts +1 -1
- package/dist/esm/shared/assertPageContextProvidedByUser.js +2 -2
- package/dist/esm/shared/createGlobalContextShared.d.ts +2 -0
- package/dist/esm/shared/createGlobalContextShared.js +28 -20
- package/dist/esm/shared/createPageContextShared.js +1 -1
- package/dist/esm/shared/getPageContextRequestUrl.js +1 -1
- package/dist/esm/shared/getPageContextUrlComputed.js +5 -5
- package/dist/esm/shared/getPageFiles/analyzePageClientSide/analyzeExports.d.ts +1 -1
- package/dist/esm/shared/getPageFiles/analyzePageClientSide/analyzeExports.js +3 -3
- package/dist/esm/shared/getPageFiles/analyzePageClientSide/determineClientEntry.d.ts +1 -1
- package/dist/esm/shared/getPageFiles/analyzePageClientSide/determineClientEntry.js +1 -1
- package/dist/esm/shared/getPageFiles/analyzePageClientSide.js +3 -3
- package/dist/esm/shared/getPageFiles/fileTypes.js +1 -1
- package/dist/esm/shared/getPageFiles/getAllPageIdFiles.js +2 -2
- package/dist/esm/shared/getPageFiles/getPageFileObject.js +1 -1
- package/dist/esm/shared/getProxyForPublicUsage.js +2 -2
- package/dist/esm/shared/hooks/execHook.js +3 -3
- package/dist/esm/shared/hooks/getHook.js +4 -4
- package/dist/esm/shared/modifyUrl.js +1 -1
- package/dist/esm/shared/modifyUrlSameOrigin.js +1 -1
- package/dist/esm/shared/page-configs/assertPlusFileExport.js +2 -2
- package/dist/esm/shared/page-configs/getConfigValueBuildTime.js +4 -4
- package/dist/esm/shared/page-configs/resolveVikeConfigPublic.d.ts +2 -2
- package/dist/esm/shared/page-configs/resolveVikeConfigPublic.js +22 -22
- package/dist/esm/shared/page-configs/serialize/parsePageConfigs.js +3 -3
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +11 -11
- package/dist/esm/shared/preparePageContextForPublicUsage.js +4 -4
- package/dist/esm/shared/route/abort.js +8 -8
- package/dist/esm/shared/route/debug.js +1 -1
- package/dist/esm/shared/route/deduceRouteStringFromFilesystemPath.js +1 -1
- package/dist/esm/shared/route/executeOnBeforeRouteHook.js +5 -5
- package/dist/esm/shared/route/index.js +6 -6
- package/dist/esm/shared/route/loadPageRoutes.js +8 -8
- package/dist/esm/shared/route/resolvePrecedence.d.ts +2 -2
- package/dist/esm/shared/route/resolvePrecedence.js +2 -2
- package/dist/esm/shared/route/resolveRoute.js +1 -1
- package/dist/esm/shared/route/resolveRouteFunction.js +2 -2
- package/dist/esm/shared/utils.d.ts +1 -0
- package/dist/esm/shared/utils.js +1 -0
- package/dist/esm/types/Config.d.ts +6 -0
- package/dist/esm/types/FilePath.d.ts +1 -1
- package/dist/esm/types/PageConfig.d.ts +1 -1
- package/dist/esm/types/PageContext.d.ts +2 -2
- package/dist/esm/types/index-dreprecated.d.ts +1 -1
- package/dist/esm/types/index.d.ts +3 -3
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/assert.js +9 -9
- package/dist/esm/utils/assertKeys.js +1 -1
- package/dist/esm/utils/assertSetup.js +1 -1
- package/dist/esm/utils/assertSingleInstance.js +5 -5
- package/dist/esm/utils/catchInfiniteLoop.js +1 -1
- package/dist/esm/utils/debug.js +1 -1
- package/dist/esm/utils/findFile.js +2 -2
- package/dist/esm/utils/findPackageJson.js +2 -2
- package/dist/esm/utils/formatHintLog.js +1 -1
- package/dist/esm/utils/freezePartial.js +1 -1
- package/dist/esm/utils/genPromise.d.ts +1 -1
- package/dist/esm/utils/genPromise.js +2 -2
- package/dist/esm/utils/getMostSimilar.js +1 -1
- package/dist/esm/utils/injectRollupInputs.js +2 -2
- package/dist/esm/utils/isFilePathAbsoluteFilesystem.js +1 -1
- package/dist/esm/utils/objectAssignSafe.js +1 -1
- package/dist/esm/utils/pLimit.js +4 -4
- package/dist/esm/utils/parseNpmPackage.js +2 -2
- package/dist/esm/utils/parseUrl.js +3 -3
- package/dist/esm/utils/path.js +1 -1
- package/dist/esm/utils/preservePropertyGetters.js +1 -1
- package/dist/esm/utils/removeFileExtension.d.ts +1 -0
- package/dist/esm/utils/{removeFileExtention.js → removeFileExtension.js} +1 -1
- package/dist/esm/utils/requireResolve.d.ts +3 -3
- package/dist/esm/utils/requireResolve.js +10 -10
- package/dist/esm/utils/rollupSourceMap.js +2 -2
- package/dist/esm/utils/stripAnsi.js +1 -1
- package/dist/esm/utils/styleFileRE.js +1 -0
- package/dist/esm/utils/trimWithAnsi.js +1 -1
- package/package.json +2 -2
- package/dist/esm/utils/removeFileExtention.d.ts +0 -1
|
@@ -8,33 +8,33 @@ export { isV1Design };
|
|
|
8
8
|
export { getConfVal };
|
|
9
9
|
export { getConfigDefinitionOptional };
|
|
10
10
|
export { getVikeConfigFromCliOrEnv };
|
|
11
|
-
export {
|
|
11
|
+
export { isOverridden };
|
|
12
12
|
// Public usage
|
|
13
13
|
export { getVikeConfig };
|
|
14
|
-
import { assertPosixPath, assert, isObject, assertUsage, assertWarning, objectEntries, hasProp, includes, assertIsNotProductionRuntime, getMostSimilar, joinEnglish, assertKeys, objectKeys, objectFromEntries, unique, isCallable, makeFirst, lowerFirst, makeLast, assertIsSingleModuleInstance, genPromise } from '../utils.js';
|
|
15
|
-
import { configDefinitionsBuiltIn } from './resolveVikeConfigInternal/configDefinitionsBuiltIn.js';
|
|
16
|
-
import { getLocationId, getFilesystemRouteString, getFilesystemRouteDefinedBy, isInherited, sortAfterInheritanceOrder, applyFilesystemRoutingRootEffect } from './resolveVikeConfigInternal/filesystemRouting.js';
|
|
14
|
+
import { assertPosixPath, assert, isObject, assertUsage, assertWarning, objectEntries, hasProp, includes, assertIsNotProductionRuntime, getMostSimilar, joinEnglish, assertKeys, objectKeys, objectFromEntries, unique, isCallable, makeFirst, lowerFirst, makeLast, assertIsSingleModuleInstance, genPromise, } from '../utils.js';
|
|
15
|
+
import { configDefinitionsBuiltIn, } from './resolveVikeConfigInternal/configDefinitionsBuiltIn.js';
|
|
16
|
+
import { getLocationId, getFilesystemRouteString, getFilesystemRouteDefinedBy, isInherited, sortAfterInheritanceOrder, applyFilesystemRoutingRootEffect, } from './resolveVikeConfigInternal/filesystemRouting.js';
|
|
17
17
|
import { getViteDevServer } from '../../runtime/globalContext.js';
|
|
18
18
|
import { logConfigError, logConfigErrorRecover } from './loggerNotProd.js';
|
|
19
|
-
import { removeSuperfluousViteLog_enable, removeSuperfluousViteLog_disable } from './loggerVite/removeSuperfluousViteLog.js';
|
|
19
|
+
import { removeSuperfluousViteLog_enable, removeSuperfluousViteLog_disable, } from './loggerVite/removeSuperfluousViteLog.js';
|
|
20
20
|
import pc from '@brillout/picocolors';
|
|
21
21
|
import { getConfigDefinedAt, getDefinedByString } from '../../../shared/page-configs/getConfigDefinedAt.js';
|
|
22
22
|
import { loadPointerImport, loadValueFile } from './resolveVikeConfigInternal/loadFileAtConfigTime.js';
|
|
23
23
|
import { resolvePointerImport } from './resolveVikeConfigInternal/resolvePointerImport.js';
|
|
24
24
|
import { getFilePathResolved } from './getFilePath.js';
|
|
25
25
|
import { getConfigValueBuildTime } from '../../../shared/page-configs/getConfigValueBuildTime.js';
|
|
26
|
-
import { resolveVikeConfigPublicGlobal, resolveVikeConfigPublicPageEager } from '../../../shared/page-configs/resolveVikeConfigPublic.js';
|
|
26
|
+
import { resolveVikeConfigPublicGlobal, resolveVikeConfigPublicPageEager, } from '../../../shared/page-configs/resolveVikeConfigPublic.js';
|
|
27
27
|
import { getConfigValuesBase, isJsonValue } from '../../../shared/page-configs/serialize/serializeConfigValues.js';
|
|
28
|
-
import { getPlusFilesAll } from './resolveVikeConfigInternal/getPlusFilesAll.js';
|
|
28
|
+
import { getPlusFilesAll, } from './resolveVikeConfigInternal/getPlusFilesAll.js';
|
|
29
29
|
import { getEnvVarObject } from './getEnvVarObject.js';
|
|
30
30
|
import { getApiOperation } from '../../api/context.js';
|
|
31
31
|
import { getCliOptions } from '../../cli/context.js';
|
|
32
32
|
import { resolvePrerenderConfigGlobal } from '../../prerender/resolvePrerenderConfig.js';
|
|
33
33
|
import { getProxyForPublicUsage } from '../../../shared/getProxyForPublicUsage.js';
|
|
34
|
-
import {
|
|
34
|
+
import { setVikeConfigError } from '../../shared/getVikeConfigError.js';
|
|
35
35
|
assertIsNotProductionRuntime();
|
|
36
36
|
// We can simply use global variables since Vike's config is:
|
|
37
|
-
// -
|
|
37
|
+
// - global
|
|
38
38
|
// - independent of Vite (therefore we don't need to tie Vike's config with Vite's `config` object)
|
|
39
39
|
assertIsSingleModuleInstance('v1-design/getVikeConfig.ts');
|
|
40
40
|
let restartVite = false;
|
|
@@ -109,7 +109,7 @@ async function resolveVikeConfigInternal_withErrorHandling(userRootDir, isDev, v
|
|
|
109
109
|
vikeConfigPromise = promise;
|
|
110
110
|
const esbuildCache = {
|
|
111
111
|
transpileCache: {},
|
|
112
|
-
vikeConfigDependencies: new Set()
|
|
112
|
+
vikeConfigDependencies: new Set(),
|
|
113
113
|
};
|
|
114
114
|
let hasError = false;
|
|
115
115
|
let ret;
|
|
@@ -138,7 +138,7 @@ async function resolveVikeConfigInternal_withErrorHandling(userRootDir, isDev, v
|
|
|
138
138
|
assert(err === undefined);
|
|
139
139
|
const hadError = vikeConfigHasBuildError;
|
|
140
140
|
vikeConfigHasBuildError = false;
|
|
141
|
-
|
|
141
|
+
setVikeConfigError({ errorBuild: false });
|
|
142
142
|
if (hadError) {
|
|
143
143
|
logConfigErrorRecover();
|
|
144
144
|
if (restartVite) {
|
|
@@ -152,7 +152,7 @@ async function resolveVikeConfigInternal_withErrorHandling(userRootDir, isDev, v
|
|
|
152
152
|
assert(ret === undefined);
|
|
153
153
|
assert(err);
|
|
154
154
|
vikeConfigHasBuildError = true;
|
|
155
|
-
|
|
155
|
+
setVikeConfigError({ errorBuild: { err } });
|
|
156
156
|
if (!doNotRestartViteOnError)
|
|
157
157
|
restartVite = true;
|
|
158
158
|
if (!isDev) {
|
|
@@ -184,7 +184,7 @@ async function resolveVikeConfigInternal(userRootDir, vikeVitePluginOptions, esb
|
|
|
184
184
|
const prerenderContext = resolvePrerenderContext({
|
|
185
185
|
config: vikeConfigPublicGlobal.config,
|
|
186
186
|
_from: vikeConfigPublicGlobal._from,
|
|
187
|
-
_pageConfigs: pageConfigs
|
|
187
|
+
_pageConfigs: pageConfigs,
|
|
188
188
|
});
|
|
189
189
|
const vikeConfig = {
|
|
190
190
|
_pageConfigs: pageConfigs,
|
|
@@ -193,7 +193,7 @@ async function resolveVikeConfigInternal(userRootDir, vikeVitePluginOptions, esb
|
|
|
193
193
|
_from: vikeConfigPublicGlobal._from,
|
|
194
194
|
pages: vikeConfigPublicPagesEager,
|
|
195
195
|
prerenderContext,
|
|
196
|
-
_vikeConfigDependencies: esbuildCache.vikeConfigDependencies
|
|
196
|
+
_vikeConfigDependencies: esbuildCache.vikeConfigDependencies,
|
|
197
197
|
};
|
|
198
198
|
vikeConfigSync = vikeConfig;
|
|
199
199
|
return vikeConfig;
|
|
@@ -225,7 +225,7 @@ async function resolveConfigDefinitions(plusFilesAll, userRootDir, esbuildCache)
|
|
|
225
225
|
configDefinitions,
|
|
226
226
|
plusFiles,
|
|
227
227
|
plusFilesRelevant,
|
|
228
|
-
configNamesKnownLocal
|
|
228
|
+
configNamesKnownLocal,
|
|
229
229
|
};
|
|
230
230
|
}));
|
|
231
231
|
const configDefinitionsResolved = {
|
|
@@ -233,7 +233,7 @@ async function resolveConfigDefinitions(plusFilesAll, userRootDir, esbuildCache)
|
|
|
233
233
|
configDefinitionsLocal,
|
|
234
234
|
configDefinitionsAll,
|
|
235
235
|
configNamesKnownAll,
|
|
236
|
-
configNamesKnownGlobal
|
|
236
|
+
configNamesKnownGlobal,
|
|
237
237
|
};
|
|
238
238
|
assertKnownConfigs(configDefinitionsResolved);
|
|
239
239
|
return configDefinitionsResolved;
|
|
@@ -256,7 +256,7 @@ async function loadCustomConfigBuildTimeFiles(plusFiles, configDefinitions, user
|
|
|
256
256
|
function getPageConfigsBuildTime(configDefinitionsResolved, plusFilesAll, userRootDir) {
|
|
257
257
|
const pageConfigGlobal = {
|
|
258
258
|
configDefinitions: configDefinitionsResolved.configDefinitionsGlobal,
|
|
259
|
-
configValueSources: {}
|
|
259
|
+
configValueSources: {},
|
|
260
260
|
};
|
|
261
261
|
objectEntries(configDefinitionsResolved.configDefinitionsGlobal).forEach(([configName, configDef]) => {
|
|
262
262
|
const sources = resolveConfigValueSources(configName, configDef,
|
|
@@ -294,7 +294,7 @@ function getPageConfigsBuildTime(configDefinitionsResolved, plusFilesAll, userRo
|
|
|
294
294
|
configDefinitions: configDefinitionsLocal,
|
|
295
295
|
plusFiles: plusFilesRelevant,
|
|
296
296
|
configValueSources,
|
|
297
|
-
configValuesComputed
|
|
297
|
+
configValuesComputed,
|
|
298
298
|
};
|
|
299
299
|
return pageConfig;
|
|
300
300
|
});
|
|
@@ -324,7 +324,7 @@ function assertGlobalConfigLocation(configName, sources, plusFilesAll, configDef
|
|
|
324
324
|
// It's `null` when the config is defined by `vike(options)` in vite.config.js
|
|
325
325
|
assert(plusFile);
|
|
326
326
|
const { filePathAbsoluteUserRootDir } = plusFile.filePath;
|
|
327
|
-
// Allow local Vike extensions to set
|
|
327
|
+
// Allow local Vike extensions to set global configs (`filePathAbsoluteUserRootDir===null` for Vike extension)
|
|
328
328
|
if (!filePathAbsoluteUserRootDir)
|
|
329
329
|
return;
|
|
330
330
|
assert(!plusFile.isExtensionConfig);
|
|
@@ -410,9 +410,9 @@ function temp_interopVikeVitePlugin(pageConfigGlobal, vikeVitePluginOptions, use
|
|
|
410
410
|
sources.push(getSourceNonConfigFile(configName, value, {
|
|
411
411
|
...getFilePathResolved({
|
|
412
412
|
userRootDir,
|
|
413
|
-
filePathAbsoluteUserRootDir: '/vite.config.js'
|
|
413
|
+
filePathAbsoluteUserRootDir: '/vite.config.js',
|
|
414
414
|
}),
|
|
415
|
-
fileExportPathToShowToUser: null
|
|
415
|
+
fileExportPathToShowToUser: null,
|
|
416
416
|
}));
|
|
417
417
|
});
|
|
418
418
|
}
|
|
@@ -447,12 +447,12 @@ function getVikeConfigFromCliOrEnv() {
|
|
|
447
447
|
const configFromEnvVar = getEnvVarObject('VIKE_CONFIG');
|
|
448
448
|
const vikeConfigFromCliOrEnv = {
|
|
449
449
|
...configFromCliOptions, // Lower precedence
|
|
450
|
-
...configFromEnvVar // Higher precedence
|
|
450
|
+
...configFromEnvVar, // Higher precedence
|
|
451
451
|
};
|
|
452
452
|
return {
|
|
453
453
|
vikeConfigFromCliOrEnv,
|
|
454
454
|
configFromCliOptions,
|
|
455
|
-
configFromEnvVar
|
|
455
|
+
configFromEnvVar,
|
|
456
456
|
};
|
|
457
457
|
}
|
|
458
458
|
function getSourceNonConfigFile(configName, value, definedAt) {
|
|
@@ -466,7 +466,7 @@ function getSourceNonConfigFile(configName, value, definedAt) {
|
|
|
466
466
|
locationId: '/',
|
|
467
467
|
plusFile: null,
|
|
468
468
|
valueIsLoadedWithImport: false,
|
|
469
|
-
valueIsDefinedByPlusValueFile: false
|
|
469
|
+
valueIsDefinedByPlusValueFile: false,
|
|
470
470
|
};
|
|
471
471
|
return source;
|
|
472
472
|
}
|
|
@@ -553,7 +553,7 @@ function sortPlusFilesSameLocationId(plusFile1, plusFile2, configName) {
|
|
|
553
553
|
return ret;
|
|
554
554
|
}
|
|
555
555
|
// Config set by +{configName}.js (highest precedence)
|
|
556
|
-
// No need to make it deterministic: the overall order is
|
|
556
|
+
// No need to make it deterministic: the overall order is already deterministic, see sortMakeDeterministic() at getPlusFilesAll()
|
|
557
557
|
return 0;
|
|
558
558
|
}
|
|
559
559
|
function resolveConfigValueSources(configName, configDef, plusFilesRelevant, userRootDir, isGlobal, plusFilesAll) {
|
|
@@ -585,11 +585,11 @@ function getConfigValueSource(configName, plusFile, configDef, userRootDir) {
|
|
|
585
585
|
assert(confVal);
|
|
586
586
|
const configValueSourceCommon = {
|
|
587
587
|
locationId: plusFile.locationId,
|
|
588
|
-
plusFile
|
|
588
|
+
plusFile,
|
|
589
589
|
};
|
|
590
590
|
const definedAtFilePath_ = {
|
|
591
591
|
...plusFile.filePath,
|
|
592
|
-
fileExportPathToShowToUser: ['default', configName]
|
|
592
|
+
fileExportPathToShowToUser: ['default', configName],
|
|
593
593
|
};
|
|
594
594
|
// +client.js
|
|
595
595
|
if (configDef._valueIsFilePath) {
|
|
@@ -610,7 +610,7 @@ function getConfigValueSource(configName, plusFile, configDef, userRootDir) {
|
|
|
610
610
|
valueFilePath = plusFile.filePath.filePathAbsoluteVite;
|
|
611
611
|
definedAtFilePath = {
|
|
612
612
|
...plusFile.filePath,
|
|
613
|
-
fileExportPathToShowToUser: []
|
|
613
|
+
fileExportPathToShowToUser: [],
|
|
614
614
|
};
|
|
615
615
|
}
|
|
616
616
|
const configValueSource = {
|
|
@@ -621,7 +621,7 @@ function getConfigValueSource(configName, plusFile, configDef, userRootDir) {
|
|
|
621
621
|
configEnv: configDef.env,
|
|
622
622
|
valueIsLoadedWithImport: false,
|
|
623
623
|
valueIsDefinedByPlusValueFile: false,
|
|
624
|
-
definedAt: definedAtFilePath
|
|
624
|
+
definedAt: definedAtFilePath,
|
|
625
625
|
};
|
|
626
626
|
return configValueSource;
|
|
627
627
|
}
|
|
@@ -634,10 +634,10 @@ function getConfigValueSource(configName, plusFile, configDef, userRootDir) {
|
|
|
634
634
|
const value = pointerImport.fileExportValueLoaded
|
|
635
635
|
? {
|
|
636
636
|
valueIsLoaded: true,
|
|
637
|
-
value: pointerImport.fileExportValue
|
|
637
|
+
value: pointerImport.fileExportValue,
|
|
638
638
|
}
|
|
639
639
|
: {
|
|
640
|
-
valueIsLoaded: false
|
|
640
|
+
valueIsLoaded: false,
|
|
641
641
|
};
|
|
642
642
|
const configValueSource = {
|
|
643
643
|
...configValueSourceCommon,
|
|
@@ -645,7 +645,7 @@ function getConfigValueSource(configName, plusFile, configDef, userRootDir) {
|
|
|
645
645
|
configEnv: resolveConfigEnv(configDef.env, pointerImport.fileExportPath),
|
|
646
646
|
valueIsLoadedWithImport: true,
|
|
647
647
|
valueIsDefinedByPlusValueFile: false,
|
|
648
|
-
definedAt: pointerImport.fileExportPath
|
|
648
|
+
definedAt: pointerImport.fileExportPath,
|
|
649
649
|
};
|
|
650
650
|
return configValueSource;
|
|
651
651
|
}
|
|
@@ -657,7 +657,7 @@ function getConfigValueSource(configName, plusFile, configDef, userRootDir) {
|
|
|
657
657
|
configEnv: configDef.env,
|
|
658
658
|
valueIsLoadedWithImport: false,
|
|
659
659
|
valueIsDefinedByPlusValueFile: false,
|
|
660
|
-
definedAt: definedAtFilePath_
|
|
660
|
+
definedAt: definedAtFilePath_,
|
|
661
661
|
};
|
|
662
662
|
return configValueSource;
|
|
663
663
|
}
|
|
@@ -676,8 +676,8 @@ function getConfigValueSource(configName, plusFile, configDef, userRootDir) {
|
|
|
676
676
|
fileExportPathToShowToUser: configName === plusFile.configName
|
|
677
677
|
? []
|
|
678
678
|
: // Side-effect config (e.g. `export { frontmatter }` of .md files)
|
|
679
|
-
[configName]
|
|
680
|
-
}
|
|
679
|
+
[configName],
|
|
680
|
+
},
|
|
681
681
|
};
|
|
682
682
|
return configValueSource;
|
|
683
683
|
}
|
|
@@ -700,7 +700,7 @@ function resolveIsGlobalValue(configDefGlobal, source, plusFilesAll) {
|
|
|
700
700
|
let isGlobal;
|
|
701
701
|
if (isCallable(configDefGlobal))
|
|
702
702
|
isGlobal = configDefGlobal(source.value, {
|
|
703
|
-
isGlobalLocation: isGlobalLocation(source.locationId, plusFilesAll)
|
|
703
|
+
isGlobalLocation: isGlobalLocation(source.locationId, plusFilesAll),
|
|
704
704
|
});
|
|
705
705
|
else
|
|
706
706
|
isGlobal = configDefGlobal ?? false;
|
|
@@ -737,20 +737,20 @@ function getConfigDefinitions(plusFilesRelevant, filter) {
|
|
|
737
737
|
assert(plusFile.isConfigFile);
|
|
738
738
|
configDef._userEffectDefinedAtFilePath = {
|
|
739
739
|
...plusFile.filePath,
|
|
740
|
-
fileExportPathToShowToUser: ['default', 'meta', configName, 'effect']
|
|
740
|
+
fileExportPathToShowToUser: ['default', 'meta', configName, 'effect'],
|
|
741
741
|
};
|
|
742
742
|
});
|
|
743
743
|
objectEntries(meta).forEach(([configName, configDefinitionUserLand]) => {
|
|
744
744
|
if ('isDefinedByPeerDependency' in configDefinitionUserLand) {
|
|
745
745
|
configDefinitionUserLand = {
|
|
746
746
|
env: { client: false, server: false, config: false },
|
|
747
|
-
...configDefinitionUserLand
|
|
747
|
+
...configDefinitionUserLand,
|
|
748
748
|
};
|
|
749
749
|
}
|
|
750
750
|
// User can override an existing config definition
|
|
751
751
|
configDefinitions[configName] = {
|
|
752
752
|
...configDefinitions[configName],
|
|
753
|
-
...configDefinitionUserLand
|
|
753
|
+
...configDefinitionUserLand,
|
|
754
754
|
};
|
|
755
755
|
});
|
|
756
756
|
});
|
|
@@ -828,13 +828,13 @@ function runEffect(configName, configDef, source) {
|
|
|
828
828
|
return null;
|
|
829
829
|
// The value needs to be loaded at config time, that's why we only support effect for configs that are config-only for now.
|
|
830
830
|
assertUsage(configDef.env.config, [
|
|
831
|
-
`Cannot add meta.effect to ${pc.cyan(configName)} because its meta.env is ${pc.cyan(JSON.stringify(configDef.env))} but an effect can only be added to a config that has a meta.env with ${pc.cyan('{ config: true }')}
|
|
831
|
+
`Cannot add meta.effect to ${pc.cyan(configName)} because its meta.env is ${pc.cyan(JSON.stringify(configDef.env))} but an effect can only be added to a config that has a meta.env with ${pc.cyan('{ config: true }')}.`,
|
|
832
832
|
].join(' '));
|
|
833
833
|
assert(source.valueIsLoaded);
|
|
834
834
|
// Call effect
|
|
835
835
|
const configModFromEffect = configDef.effect({
|
|
836
836
|
configValue: source.value,
|
|
837
|
-
configDefinedAt: getConfigDefinedAt('Config', configName, source.definedAt)
|
|
837
|
+
configDefinedAt: getConfigDefinedAt('Config', configName, source.definedAt),
|
|
838
838
|
});
|
|
839
839
|
if (!configModFromEffect)
|
|
840
840
|
return null;
|
|
@@ -855,7 +855,7 @@ function applyEffectConfVal(configModFromEffect, sourceEffect, configValueSource
|
|
|
855
855
|
valueIsLoadedWithImport: false,
|
|
856
856
|
valueIsDefinedByPlusValueFile: false,
|
|
857
857
|
valueIsLoaded: true,
|
|
858
|
-
value: configValue
|
|
858
|
+
value: configValue,
|
|
859
859
|
};
|
|
860
860
|
assert(sourceEffect.valueIsLoaded);
|
|
861
861
|
const isValueGlobalSource = resolveIsGlobalValue(configDefEffect.global, sourceEffect, plusFilesAll);
|
|
@@ -887,11 +887,11 @@ function applyEffectMetaEnv(configModFromEffect, configValueSources, configDefEf
|
|
|
887
887
|
assertUsage(keys.includes('env'), notSupported);
|
|
888
888
|
assertUsage(keys.length === 1, notSupported);
|
|
889
889
|
}
|
|
890
|
-
const
|
|
890
|
+
const envOverridden = configTargetDef.env;
|
|
891
891
|
const sources = configValueSources[configTargetName];
|
|
892
892
|
sources?.forEach((configValueSource) => {
|
|
893
893
|
// Apply effect
|
|
894
|
-
configValueSource.configEnv =
|
|
894
|
+
configValueSource.configEnv = envOverridden;
|
|
895
895
|
});
|
|
896
896
|
});
|
|
897
897
|
});
|
|
@@ -906,7 +906,7 @@ function getComputed(configValueSources, configDefinitions) {
|
|
|
906
906
|
return;
|
|
907
907
|
configValuesComputed[configName] = {
|
|
908
908
|
value,
|
|
909
|
-
configEnv: configDef.env
|
|
909
|
+
configEnv: configDef.env,
|
|
910
910
|
};
|
|
911
911
|
});
|
|
912
912
|
return configValuesComputed;
|
|
@@ -951,7 +951,7 @@ function assertKnownConfig(configName, configNamesKnownRelevant, configDefinitio
|
|
|
951
951
|
title: ui,
|
|
952
952
|
ssr: ui,
|
|
953
953
|
stream: ui,
|
|
954
|
-
Wrapper: ui
|
|
954
|
+
Wrapper: ui,
|
|
955
955
|
};
|
|
956
956
|
if (configName in knownVikeExntensionConfigs) {
|
|
957
957
|
const requiredVikeExtension = joinEnglish(knownVikeExntensionConfigs[configName].map((e) => pc.bold(e)), 'or');
|
|
@@ -998,7 +998,7 @@ function determineRouteFilesystem(locationId, configValueSources) {
|
|
|
998
998
|
assert(filesystemRouteString.startsWith('/'));
|
|
999
999
|
const routeFilesystem = {
|
|
1000
1000
|
routeString: filesystemRouteString,
|
|
1001
|
-
definedAtLocation: filesystemRouteDefinedBy
|
|
1001
|
+
definedAtLocation: filesystemRouteDefinedBy,
|
|
1002
1002
|
};
|
|
1003
1003
|
return { routeFilesystem, isErrorPage: undefined };
|
|
1004
1004
|
}
|
|
@@ -1097,7 +1097,7 @@ function isGlobalLocation(locationId, plusFilesAll) {
|
|
|
1097
1097
|
.map(([locationId]) => locationId);
|
|
1098
1098
|
return locationIdsPage.every((locId) => isInherited(locationId, locId));
|
|
1099
1099
|
}
|
|
1100
|
-
function
|
|
1100
|
+
function isOverridden(source, configName, pageConfig) {
|
|
1101
1101
|
const configDef = pageConfig.configDefinitions[configName];
|
|
1102
1102
|
assert(configDef);
|
|
1103
1103
|
if (configDef.cumulative)
|
|
@@ -1116,7 +1116,7 @@ function resolvePrerenderContext(vikeConfig) {
|
|
|
1116
1116
|
// Set at runPrerender()
|
|
1117
1117
|
output: null,
|
|
1118
1118
|
// Set at runPrerender()
|
|
1119
|
-
pageContexts: null
|
|
1119
|
+
pageContexts: null,
|
|
1120
1120
|
});
|
|
1121
1121
|
prerenderContext.isPrerenderingEnabled = isPrerenderingEnabled;
|
|
1122
1122
|
prerenderContext.isPrerenderingEnabledForAllPages = isPrerenderingEnabledForAllPages;
|
|
@@ -1143,19 +1143,19 @@ function getVikeConfigDummy(esbuildCache) {
|
|
|
1143
1143
|
const prerenderContextDummy = resolvePrerenderContext({
|
|
1144
1144
|
config: globalDummy.config,
|
|
1145
1145
|
_from: globalDummy._from,
|
|
1146
|
-
_pageConfigs: pageConfigsDummy
|
|
1146
|
+
_pageConfigs: pageConfigsDummy,
|
|
1147
1147
|
});
|
|
1148
1148
|
const vikeConfigDummy = {
|
|
1149
1149
|
_pageConfigs: pageConfigsDummy,
|
|
1150
1150
|
_pageConfigGlobal: {
|
|
1151
1151
|
configDefinitions: {},
|
|
1152
|
-
configValueSources: {}
|
|
1152
|
+
configValueSources: {},
|
|
1153
1153
|
},
|
|
1154
1154
|
config: globalDummy.config,
|
|
1155
1155
|
_from: globalDummy._from,
|
|
1156
1156
|
pages: {},
|
|
1157
1157
|
prerenderContext: prerenderContextDummy,
|
|
1158
|
-
_vikeConfigDependencies: esbuildCache.vikeConfigDependencies
|
|
1158
|
+
_vikeConfigDependencies: esbuildCache.vikeConfigDependencies,
|
|
1159
1159
|
};
|
|
1160
1160
|
vikeConfigSync = vikeConfigDummy;
|
|
1161
1161
|
isV1Design_ = true;
|
|
@@ -4,22 +4,16 @@ export * from '../../utils/includes.js';
|
|
|
4
4
|
export * from '../../utils/isDev.js';
|
|
5
5
|
export * from '../../utils/getMostSimilar.js';
|
|
6
6
|
export * from '../../utils/getRandomId.js';
|
|
7
|
-
export * from '../../utils/joinEnglish.js';
|
|
8
7
|
export * from '../../utils/escapeRegex.js';
|
|
9
|
-
export * from '../../utils/stripAnsi.js';
|
|
10
8
|
export * from '../../utils/trimWithAnsi.js';
|
|
11
9
|
export * from '../../utils/removeEmptyLines.js';
|
|
12
10
|
export * from '../../utils/findPackageJson.js';
|
|
13
|
-
export * from '../../utils/getPropAccessNotation.js';
|
|
14
11
|
export * from '../../utils/deepEqual.js';
|
|
15
12
|
export * from '../../utils/assertKeys.js';
|
|
16
13
|
export * from '../../utils/injectRollupInputs.js';
|
|
17
|
-
export * from '../../utils/humanizeTime.js';
|
|
18
14
|
export * from '../../utils/pLimit.js';
|
|
19
15
|
export * from '../../utils/assertVersion.js';
|
|
20
16
|
export * from '../../utils/isFilePathAbsoluteFilesystem.js';
|
|
21
|
-
export * from '../../utils/isArray.js';
|
|
22
|
-
export * from '../../utils/PROJECT_VERSION.js';
|
|
23
17
|
export * from '../../utils/isEqualStringList.js';
|
|
24
18
|
export * from '../../utils/isDocker.js';
|
|
25
19
|
export * from '../../utils/isVitest.js';
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
// We call onLoad() here so that it's called even when only a subset of the plugin is loaded. (Making the assert() calls inside onLoad() a lot stronger.)
|
|
3
3
|
import { onLoad } from './onLoad.js';
|
|
4
4
|
onLoad();
|
|
5
|
-
//
|
|
5
|
+
// - Server-side bloat is negligible
|
|
6
|
+
// - The Vite plugin imports the server runtime anyways
|
|
6
7
|
export * from '../runtime/utils.js';
|
|
7
8
|
// Utils only needed by `plugin/*`
|
|
8
9
|
export * from '../../utils/requireResolve.js';
|
|
@@ -10,22 +11,16 @@ export * from '../../utils/includes.js';
|
|
|
10
11
|
export * from '../../utils/isDev.js';
|
|
11
12
|
export * from '../../utils/getMostSimilar.js';
|
|
12
13
|
export * from '../../utils/getRandomId.js';
|
|
13
|
-
export * from '../../utils/joinEnglish.js';
|
|
14
14
|
export * from '../../utils/escapeRegex.js';
|
|
15
|
-
export * from '../../utils/stripAnsi.js';
|
|
16
15
|
export * from '../../utils/trimWithAnsi.js';
|
|
17
16
|
export * from '../../utils/removeEmptyLines.js';
|
|
18
17
|
export * from '../../utils/findPackageJson.js';
|
|
19
|
-
export * from '../../utils/getPropAccessNotation.js';
|
|
20
18
|
export * from '../../utils/deepEqual.js';
|
|
21
19
|
export * from '../../utils/assertKeys.js';
|
|
22
20
|
export * from '../../utils/injectRollupInputs.js';
|
|
23
|
-
export * from '../../utils/humanizeTime.js';
|
|
24
21
|
export * from '../../utils/pLimit.js';
|
|
25
22
|
export * from '../../utils/assertVersion.js';
|
|
26
23
|
export * from '../../utils/isFilePathAbsoluteFilesystem.js';
|
|
27
|
-
export * from '../../utils/isArray.js';
|
|
28
|
-
export * from '../../utils/PROJECT_VERSION.js';
|
|
29
24
|
export * from '../../utils/isEqualStringList.js';
|
|
30
25
|
export * from '../../utils/isDocker.js';
|
|
31
26
|
export * from '../../utils/isVitest.js';
|
|
@@ -14,6 +14,6 @@ function assertHookReturnedObject(obj, keysExpected, errPrefix) {
|
|
|
14
14
|
'returned an object with following unknown keys:',
|
|
15
15
|
stringifyStringArray(keysUnknown) + '.',
|
|
16
16
|
'Only following keys are allowed:',
|
|
17
|
-
stringifyStringArray(keysExpected) + '.'
|
|
17
|
+
stringifyStringArray(keysExpected) + '.',
|
|
18
18
|
].join(' '));
|
|
19
19
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { assertPageContextProvidedByUser };
|
|
2
|
-
declare function assertPageContextProvidedByUser(pageContextProvidedByUser: unknown, { hookName, hookFilePath }: {
|
|
2
|
+
declare function assertPageContextProvidedByUser(pageContextProvidedByUser: unknown, { hookName, hookFilePath, }: {
|
|
3
3
|
hookFilePath: string;
|
|
4
4
|
hookName: 'onBeforeRender' | 'onRenderHtml' | 'render' | 'onBeforeRoute';
|
|
5
5
|
}): asserts pageContextProvidedByUser is Record<string, unknown>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { assertPageContextProvidedByUser };
|
|
2
2
|
import { assert, assertUsage, assertWarning, isObject } from './utils.js';
|
|
3
3
|
import pc from '@brillout/picocolors';
|
|
4
|
-
function assertPageContextProvidedByUser(pageContextProvidedByUser, { hookName, hookFilePath }) {
|
|
4
|
+
function assertPageContextProvidedByUser(pageContextProvidedByUser, { hookName, hookFilePath, }) {
|
|
5
5
|
if (pageContextProvidedByUser === undefined || pageContextProvidedByUser === null)
|
|
6
6
|
return;
|
|
7
7
|
assert(!hookName.endsWith(')'));
|
|
@@ -10,6 +10,6 @@ function assertPageContextProvidedByUser(pageContextProvidedByUser, { hookName,
|
|
|
10
10
|
assertUsage(!('isPageContext' in pageContextProvidedByUser), `${errPrefix} shouldn't be the whole ${pc.cyan('pageContext')} object, see https://vike.dev/pageContext-manipulation#do-not-return-entire-pagecontext`);
|
|
11
11
|
// In principle, it's possible to use onBeforeRoute()` to override and define the whole routing.
|
|
12
12
|
// Is that a good idea to allow users to do this? Beyond deep integration with Vue Router or React Router, is there a use case for this?
|
|
13
|
-
assertWarning(!('pageId' in pageContextProvidedByUser), `${errPrefix} sets ${pc.cyan('pageContext.pageId')} which means that Vike's routing is
|
|
13
|
+
assertWarning(!('pageId' in pageContextProvidedByUser), `${errPrefix} sets ${pc.cyan('pageContext.pageId')} which means that Vike's routing is overridden. This is an experimental feature: make sure to contact a vike maintainer before using this.`, { onlyOnce: true });
|
|
14
14
|
assertUsage(!('is404' in pageContextProvidedByUser), `${errPrefix} sets ${pc.cyan('pageContext.is404')} which is forbidden, use ${pc.cyan('throw render()')} instead, see https://vike.dev/render`);
|
|
15
15
|
}
|
|
@@ -7,9 +7,11 @@ import type { PageFile } from './getPageFiles.js';
|
|
|
7
7
|
import type { PageConfigRuntime } from '../types/PageConfig.js';
|
|
8
8
|
import type { GlobalContextServerInternal } from '../node/runtime/globalContext.js';
|
|
9
9
|
import type { GlobalContextClientInternal } from '../client/runtime-client-routing/globalContext.js';
|
|
10
|
+
import { type Hook } from './hooks/getHook.js';
|
|
10
11
|
declare const getGlobalContextSyncErrMsg = "The global context isn't set yet, call getGlobalContextSync() later or use getGlobalContext() instead.";
|
|
11
12
|
declare function createGlobalContextShared<GlobalContextAddendum extends object>(virtualFileExports: unknown, globalObject: {
|
|
12
13
|
globalContext?: Record<string, unknown>;
|
|
14
|
+
onCreateGlobalContextHooks?: Hook[];
|
|
13
15
|
}, addGlobalContext?: (globalContext: GlobalContextBase) => Promise<GlobalContextAddendum>): Promise<{
|
|
14
16
|
/**
|
|
15
17
|
* Useful for distinguishing `globalContext` from other objects and narrowing down TypeScript unions.
|
|
@@ -1,39 +1,40 @@
|
|
|
1
1
|
export { createGlobalContextShared };
|
|
2
2
|
export { getGlobalContextSyncErrMsg };
|
|
3
|
-
import { changeEnumerable, objectAssign, unique } from './utils.js';
|
|
3
|
+
import { changeEnumerable, objectAssign, objectReplace, unique } from './utils.js';
|
|
4
4
|
import { parseVirtualFileExports } from './getPageFiles/parseVirtualFileExports.js';
|
|
5
|
-
import { resolveVikeConfigPublicGlobal, resolveVikeConfigPublicPageEager } from './page-configs/resolveVikeConfigPublic.js';
|
|
5
|
+
import { resolveVikeConfigPublicGlobal, resolveVikeConfigPublicPageEager, } from './page-configs/resolveVikeConfigPublic.js';
|
|
6
6
|
import { execHookGlobal } from './hooks/execHook.js';
|
|
7
7
|
import { prepareGlobalContextForPublicUsage } from './prepareGlobalContextForPublicUsage.js';
|
|
8
|
+
import { getHookFromPageConfigGlobalCumulative } from './hooks/getHook.js';
|
|
8
9
|
const getGlobalContextSyncErrMsg = "The global context isn't set yet, call getGlobalContextSync() later or use getGlobalContext() instead.";
|
|
9
10
|
async function createGlobalContextShared(virtualFileExports, globalObject, addGlobalContext) {
|
|
10
11
|
const globalContext = createGlobalContextBase(virtualFileExports);
|
|
11
12
|
const globalContextAddendum = await addGlobalContext?.(globalContext);
|
|
12
13
|
objectAssign(globalContext, globalContextAddendum);
|
|
14
|
+
const onCreateGlobalContextHooks = getHookFromPageConfigGlobalCumulative(globalContext._pageConfigGlobal, 'onCreateGlobalContext');
|
|
15
|
+
let hooksCalled = false;
|
|
16
|
+
if (!hooksAreEqual(globalObject.onCreateGlobalContextHooks ?? [], onCreateGlobalContextHooks)) {
|
|
17
|
+
globalObject.onCreateGlobalContextHooks = onCreateGlobalContextHooks;
|
|
18
|
+
await execHookGlobal('onCreateGlobalContext', globalContext._pageConfigGlobal, null, globalContext, prepareGlobalContextForPublicUsage);
|
|
19
|
+
hooksCalled = true;
|
|
20
|
+
}
|
|
13
21
|
if (!globalObject.globalContext) {
|
|
14
22
|
globalObject.globalContext = globalContext;
|
|
15
|
-
// - We deliberately call onCreateGlobalContext() only at the beginning and only once per process.
|
|
16
|
-
// - TO-DO/eventually: HMR
|
|
17
|
-
// - Once Photon supports it: `server.hot.send({ type: 'full-server-reload' })`
|
|
18
|
-
// - Either use:
|
|
19
|
-
// - import.meta.hot
|
|
20
|
-
// - https://vite.dev/guide/api-hmr.html
|
|
21
|
-
// - Use a Vite transformer to inject import.meta.hot code into each user-land `+onCreateGlobalContext.js` file
|
|
22
|
-
// - Seems more idiomatic
|
|
23
|
-
// - globalContext._viteDevServer.hot.send()
|
|
24
|
-
// - Send 'full-server-reload' signal whenever a onCreateGlobalContext() function is modified => we need a globalObject to track all hooks and see if one of them is new/modified.
|
|
25
|
-
// - Seems less idiomatic
|
|
26
|
-
await execHookGlobal('onCreateGlobalContext', globalContext._pageConfigGlobal, null, globalContext, prepareGlobalContextForPublicUsage);
|
|
27
23
|
}
|
|
28
24
|
else {
|
|
29
25
|
// Singleton: ensure all `globalContext` user-land references are preserved & updated.
|
|
30
|
-
|
|
31
|
-
|
|
26
|
+
if (hooksCalled) {
|
|
27
|
+
objectReplace(globalObject.globalContext, globalContext);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
// We don't use objectReplace() in order to keep user-land properties.
|
|
31
|
+
objectAssign(globalObject.globalContext, globalContext, true);
|
|
32
|
+
}
|
|
32
33
|
}
|
|
33
34
|
return globalObject.globalContext;
|
|
34
35
|
}
|
|
35
36
|
function createGlobalContextBase(virtualFileExports) {
|
|
36
|
-
const { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal, vikeConfigPublicGlobal, vikeConfigPublicPagesEager } = getConfigsAll(virtualFileExports);
|
|
37
|
+
const { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal, vikeConfigPublicGlobal, vikeConfigPublicPagesEager, } = getConfigsAll(virtualFileExports);
|
|
37
38
|
const globalContext = {
|
|
38
39
|
/**
|
|
39
40
|
* Useful for distinguishing `globalContext` from other objects and narrowing down TypeScript unions.
|
|
@@ -49,7 +50,7 @@ function createGlobalContextBase(virtualFileExports) {
|
|
|
49
50
|
_allPageIds: allPageIds,
|
|
50
51
|
_vikeConfigPublicGlobal: vikeConfigPublicGlobal,
|
|
51
52
|
config: vikeConfigPublicGlobal.config,
|
|
52
|
-
pages: vikeConfigPublicPagesEager
|
|
53
|
+
pages: vikeConfigPublicPagesEager,
|
|
53
54
|
};
|
|
54
55
|
changeEnumerable(globalContext, '_isOriginalObject', false);
|
|
55
56
|
return globalContext;
|
|
@@ -58,7 +59,7 @@ function getConfigsAll(virtualFileExports) {
|
|
|
58
59
|
const { pageFilesAll, pageConfigs, pageConfigGlobal } = parseVirtualFileExports(virtualFileExports);
|
|
59
60
|
const allPageIds = getAllPageIds(pageFilesAll, pageConfigs);
|
|
60
61
|
const vikeConfigPublicGlobal = resolveVikeConfigPublicGlobal({
|
|
61
|
-
pageConfigGlobalValues: pageConfigGlobal.configValues
|
|
62
|
+
pageConfigGlobalValues: pageConfigGlobal.configValues,
|
|
62
63
|
});
|
|
63
64
|
const vikeConfigPublicPagesEager = Object.fromEntries(pageConfigs.map((pageConfig) => {
|
|
64
65
|
return resolveVikeConfigPublicPageEager(pageConfigGlobal.configValues, pageConfig, pageConfig.configValues);
|
|
@@ -69,7 +70,7 @@ function getConfigsAll(virtualFileExports) {
|
|
|
69
70
|
pageConfigs,
|
|
70
71
|
pageConfigGlobal,
|
|
71
72
|
vikeConfigPublicGlobal,
|
|
72
|
-
vikeConfigPublicPagesEager
|
|
73
|
+
vikeConfigPublicPagesEager,
|
|
73
74
|
};
|
|
74
75
|
}
|
|
75
76
|
function getAllPageIds(pageFilesAll, pageConfigs) {
|
|
@@ -78,3 +79,10 @@ function getAllPageIds(pageFilesAll, pageConfigs) {
|
|
|
78
79
|
const allPageIds2 = pageConfigs.map((p) => p.pageId);
|
|
79
80
|
return [...allPageIds, ...allPageIds2];
|
|
80
81
|
}
|
|
82
|
+
function hooksAreEqual(hooks1, hooks2) {
|
|
83
|
+
const hooksFn1 = hooks1.map((hook) => hook.hookFn);
|
|
84
|
+
const hooksFn2 = hooks2.map((hook) => hook.hookFn);
|
|
85
|
+
return (hooksFn1.every((hook) => hooksFn2.includes(hook)) &&
|
|
86
|
+
//
|
|
87
|
+
hooksFn2.every((hook) => hooksFn1.includes(hook)));
|
|
88
|
+
}
|
|
@@ -11,7 +11,7 @@ async function createPageContextShared(pageContextCreated, pageConfigGlobal, vik
|
|
|
11
11
|
function createPageContextObject() {
|
|
12
12
|
const pageContext = {
|
|
13
13
|
_isOriginalObject: true,
|
|
14
|
-
isPageContext: true
|
|
14
|
+
isPageContext: true,
|
|
15
15
|
};
|
|
16
16
|
changeEnumerable(pageContext, '_isOriginalObject', false);
|
|
17
17
|
return pageContext;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { getPageContextRequestUrl };
|
|
2
2
|
export { pageContextJsonFileExtension };
|
|
3
3
|
export { doNotCreateExtraDirectory };
|
|
4
|
-
// This module isn't loaded by the client-side of Server Routing => we don't
|
|
4
|
+
// This module isn't loaded by the client-side of Server Routing => we don't include `urlToFile` to `./utils.ts`
|
|
5
5
|
import { urlToFile } from '../utils/urlToFile.js';
|
|
6
6
|
const pageContextJsonFileExtension = '.pageContext.json';
|
|
7
7
|
// `/some-base-url/index.pageContext.json` instead of `/some-base-url.pageContext.json` in order to comply to common reverse proxy setups, see https://github.com/vikejs/vike/issues/443
|
|
@@ -13,17 +13,17 @@ function getPageContextUrlComputed(pageContext) {
|
|
|
13
13
|
objectDefineProperty(pageContextUrlComputed, 'urlPathname', {
|
|
14
14
|
get: urlPathnameGetter,
|
|
15
15
|
enumerable: true,
|
|
16
|
-
configurable: true
|
|
16
|
+
configurable: true,
|
|
17
17
|
});
|
|
18
18
|
objectDefineProperty(pageContextUrlComputed, 'url', {
|
|
19
19
|
get: urlGetter,
|
|
20
20
|
enumerable: false,
|
|
21
|
-
configurable: true
|
|
21
|
+
configurable: true,
|
|
22
22
|
});
|
|
23
23
|
objectDefineProperty(pageContextUrlComputed, 'urlParsed', {
|
|
24
24
|
get: urlParsedGetter,
|
|
25
25
|
enumerable: true,
|
|
26
|
-
configurable: true
|
|
26
|
+
configurable: true,
|
|
27
27
|
});
|
|
28
28
|
return pageContextUrlComputed;
|
|
29
29
|
}
|
|
@@ -109,7 +109,7 @@ function urlParsedGetter() {
|
|
|
109
109
|
get hashString() {
|
|
110
110
|
assertWarning(false, 'pageContext.urlParsed.hashString has been renamed to pageContext.urlParsed.hashOriginal', {
|
|
111
111
|
onlyOnce: true,
|
|
112
|
-
showStackTrace: true
|
|
112
|
+
showStackTrace: true,
|
|
113
113
|
});
|
|
114
114
|
warnHashNotAvailable('hashString');
|
|
115
115
|
return urlParsed.hashOriginal;
|
|
@@ -118,7 +118,7 @@ function urlParsedGetter() {
|
|
|
118
118
|
get searchString() {
|
|
119
119
|
assertWarning(false, 'pageContext.urlParsed.searchString has been renamed to pageContext.urlParsed.searchOriginal', { onlyOnce: true, showStackTrace: true });
|
|
120
120
|
return urlParsed.searchOriginal;
|
|
121
|
-
}
|
|
121
|
+
},
|
|
122
122
|
};
|
|
123
123
|
changeEnumerable(urlParsedEnhanced, 'hashString', false);
|
|
124
124
|
changeEnumerable(urlParsedEnhanced, 'searchString', false);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { analyzeExports };
|
|
2
2
|
import type { PageFile } from '../getPageFileObject.js';
|
|
3
|
-
declare function analyzeExports({ pageFilesClientSide, pageFilesServerSide, pageId }: {
|
|
3
|
+
declare function analyzeExports({ pageFilesClientSide, pageFilesServerSide, pageId, }: {
|
|
4
4
|
pageFilesClientSide: PageFile[];
|
|
5
5
|
pageFilesServerSide: PageFile[];
|
|
6
6
|
pageId: string;
|