vike 0.4.239-commit-59f1017 → 0.4.239-commit-4d0d950
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/client/runtime-client-routing/entry.js +5 -0
- package/dist/esm/client/runtime-client-routing/globalContext.d.ts +1 -1
- package/dist/esm/client/runtime-client-routing/globalContext.js +9 -3
- package/dist/esm/client/runtime-client-routing/renderPageClientSide.js +1 -0
- package/dist/esm/client/runtime-server-routing/createPageContextClientSide.d.ts +1 -1
- package/dist/esm/client/runtime-server-routing/entry.js +5 -0
- package/dist/esm/client/runtime-server-routing/globalContext.d.ts +2 -2
- package/dist/esm/client/runtime-server-routing/globalContext.js +7 -3
- package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +4 -3
- package/dist/esm/client/shared/createGetGlobalContextClient.js +38 -34
- package/dist/esm/node/vite/index.js +34 -15
- package/dist/esm/node/vite/plugins/pluginBaseUrls.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginBaseUrls.js +37 -35
- package/dist/esm/node/vite/plugins/pluginBuild/pluginDistFileNames.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/pluginDistFileNames.js +82 -80
- package/dist/esm/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +23 -21
- package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.js +38 -36
- package/dist/esm/node/vite/plugins/pluginBuild/pluginSuppressRollupWarning.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/pluginSuppressRollupWarning.js +26 -24
- package/dist/esm/node/vite/plugins/pluginDev/determineFsAllowList.js +0 -1
- package/dist/esm/node/vite/plugins/pluginEnvVars.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginEnvVars.js +87 -65
- package/dist/esm/node/vite/plugins/pluginExtractExportNames.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginExtractExportNames.js +29 -27
- package/dist/esm/node/vite/plugins/pluginFileEnv.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginFileEnv.js +75 -73
- package/dist/esm/node/vite/plugins/pluginNonRunnableDev.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginNonRunnableDev.js +30 -28
- package/dist/esm/node/vite/plugins/pluginPreview.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginPreview.js +35 -33
- package/dist/esm/node/vite/plugins/pluginReplaceGlobalThisConstants.d.ts +9 -0
- package/dist/esm/node/vite/plugins/pluginReplaceGlobalThisConstants.js +45 -0
- package/dist/esm/node/vite/plugins/pluginReplaceIsClientSide.d.ts +3 -0
- package/dist/esm/node/vite/plugins/pluginReplaceIsClientSide.js +89 -0
- package/dist/esm/node/vite/plugins/pluginVirtualFiles.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginVirtualFiles.js +50 -48
- package/dist/esm/node/vite/plugins/pluginWorkaroundCssModuleHmr.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +12 -10
- package/dist/esm/node/vite/plugins/pluginWorkaroundVite6HmrRegression.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginWorkaroundVite6HmrRegression.js +26 -24
- package/dist/esm/shared/createGlobalContextShared.js +1 -0
- package/dist/esm/shared/route/abort.d.ts +22 -11
- package/dist/esm/shared/route/abort.js +37 -5
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/findPackageJson.js +0 -1
- package/dist/esm/utils/getViteRPC.js +0 -2
- package/dist/esm/utils/requireResolve.js +0 -1
- package/package.json +2 -21
- package/dist/cjs/__internal/index.js +0 -35
- package/dist/cjs/client/runtime-client-routing/globalContext.js +0 -49
- package/dist/cjs/client/runtime-client-routing/prefetch/PrefetchSetting.js +0 -2
- package/dist/cjs/client/runtime-server-routing/globalContext.js +0 -41
- package/dist/cjs/client/runtime-server-routing/onLoad.js +0 -7
- package/dist/cjs/client/runtime-server-routing/utils.js +0 -34
- package/dist/cjs/client/shared/createGetGlobalContextClient.js +0 -65
- package/dist/cjs/client/shared/getJsonSerializedInHtml.js +0 -40
- package/dist/cjs/client/shared/preparePageContextForPublicUsageClientShared.js +0 -41
- package/dist/cjs/client/shared/utils.js +0 -23
- package/dist/cjs/node/api/build.js +0 -24
- package/dist/cjs/node/api/context.js +0 -23
- package/dist/cjs/node/api/dev.js +0 -18
- package/dist/cjs/node/api/index.js +0 -44
- package/dist/cjs/node/api/onLoad.js +0 -9
- package/dist/cjs/node/api/prepareViteApiCall.js +0 -206
- package/dist/cjs/node/api/prerender.js +0 -18
- package/dist/cjs/node/api/preview.js +0 -38
- package/dist/cjs/node/api/types.js +0 -2
- package/dist/cjs/node/api/utils.js +0 -27
- package/dist/cjs/node/cli/context.js +0 -17
- package/dist/cjs/node/cli/entry.js +0 -121
- package/dist/cjs/node/cli/index.js +0 -12
- package/dist/cjs/node/cli/onLoad.js +0 -9
- package/dist/cjs/node/cli/parseCli.js +0 -95
- package/dist/cjs/node/cli/utils.js +0 -24
- package/dist/cjs/node/client/router.js +0 -19
- package/dist/cjs/node/createPageRenderer.js +0 -132
- package/dist/cjs/node/importBuild.js +0 -3
- package/dist/cjs/node/prerender/context.js +0 -26
- package/dist/cjs/node/prerender/index.js +0 -12
- package/dist/cjs/node/prerender/resolvePrerenderConfig.js +0 -66
- package/dist/cjs/node/prerender/runPrerender.js +0 -778
- package/dist/cjs/node/prerender/runPrerenderEntry.js +0 -55
- package/dist/cjs/node/prerender/utils.js +0 -37
- package/dist/cjs/node/runtime/globalContext.js +0 -582
- package/dist/cjs/node/runtime/index-deprecated.js +0 -33
- package/dist/cjs/node/runtime/index.js +0 -74
- package/dist/cjs/node/runtime/loggerRuntime.js +0 -17
- package/dist/cjs/node/runtime/onLoad.js +0 -29
- package/dist/cjs/node/runtime/page-files/setup.js +0 -5
- package/dist/cjs/node/runtime/renderPage/analyzePage.js +0 -71
- package/dist/cjs/node/runtime/renderPage/assertArguments.js +0 -42
- package/dist/cjs/node/runtime/renderPage/createHttpResponse/assertNoInfiniteHttpRedirect.js +0 -51
- package/dist/cjs/node/runtime/renderPage/createHttpResponse.js +0 -114
- package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +0 -59
- package/dist/cjs/node/runtime/renderPage/csp.js +0 -47
- package/dist/cjs/node/runtime/renderPage/execHookDataAndOnBeforeRender.js +0 -31
- package/dist/cjs/node/runtime/renderPage/execHookOnRenderHtml.js +0 -120
- package/dist/cjs/node/runtime/renderPage/execHookServer.js +0 -8
- package/dist/cjs/node/runtime/renderPage/getCacheControl.js +0 -24
- package/dist/cjs/node/runtime/renderPage/getEarlyHints.js +0 -20
- package/dist/cjs/node/runtime/renderPage/getHttpResponseBody.js +0 -137
- package/dist/cjs/node/runtime/renderPage/getPageAssets/getManifestEntry.js +0 -125
- package/dist/cjs/node/runtime/renderPage/getPageAssets/retrievePageAssetsDev.js +0 -86
- package/dist/cjs/node/runtime/renderPage/getPageAssets/retrievePageAssetsProd.js +0 -77
- package/dist/cjs/node/runtime/renderPage/getPageAssets/sortPageAssetsForEarlyHintsHeader.js +0 -36
- package/dist/cjs/node/runtime/renderPage/getPageAssets.js +0 -50
- package/dist/cjs/node/runtime/renderPage/handleErrorWithoutErrorPage.js +0 -41
- package/dist/cjs/node/runtime/renderPage/handlePageContextRequestUrl.js +0 -68
- package/dist/cjs/node/runtime/renderPage/headersResponse.js +0 -48
- package/dist/cjs/node/runtime/renderPage/html/injectAssets/getHtmlTags.js +0 -269
- package/dist/cjs/node/runtime/renderPage/html/injectAssets/getViteDevScript.js +0 -32
- package/dist/cjs/node/runtime/renderPage/html/injectAssets/inferHtmlTags.js +0 -55
- package/dist/cjs/node/runtime/renderPage/html/injectAssets/injectAssets__public.js +0 -31
- package/dist/cjs/node/runtime/renderPage/html/injectAssets/injectHtmlTags.js +0 -161
- package/dist/cjs/node/runtime/renderPage/html/injectAssets/mergeScriptTags.js +0 -73
- package/dist/cjs/node/runtime/renderPage/html/injectAssets/sanitizeJson.js +0 -8
- package/dist/cjs/node/runtime/renderPage/html/injectAssets.js +0 -93
- package/dist/cjs/node/runtime/renderPage/html/propKeys.js +0 -47
- package/dist/cjs/node/runtime/renderPage/html/renderHtml.js +0 -245
- package/dist/cjs/node/runtime/renderPage/html/serializeContext.js +0 -189
- package/dist/cjs/node/runtime/renderPage/html/stream/react-streaming.js +0 -36
- package/dist/cjs/node/runtime/renderPage/html/stream.js +0 -829
- package/dist/cjs/node/runtime/renderPage/inferMediaType.js +0 -81
- package/dist/cjs/node/runtime/renderPage/isFontFallback.js +0 -29
- package/dist/cjs/node/runtime/renderPage/isNewError.js +0 -25
- package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +0 -124
- package/dist/cjs/node/runtime/renderPage/log404/index.js +0 -154
- package/dist/cjs/node/runtime/renderPage/logErrorHint/errors.js +0 -20
- package/dist/cjs/node/runtime/renderPage/logErrorHint.js +0 -200
- package/dist/cjs/node/runtime/renderPage/loggerProd.js +0 -34
- package/dist/cjs/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +0 -10
- package/dist/cjs/node/runtime/renderPage/renderPageAfterRoute.js +0 -83
- package/dist/cjs/node/runtime/renderPage/resolveRedirects.js +0 -71
- package/dist/cjs/node/runtime/renderPage.js +0 -502
- package/dist/cjs/node/runtime/universal-middleware.js +0 -20
- package/dist/cjs/node/runtime/utils.js +0 -83
- package/dist/cjs/node/runtime-dev/createDevMiddleware.js +0 -27
- package/dist/cjs/node/runtime-dev/index.js +0 -42
- package/dist/cjs/node/shared/assertV1Design.js +0 -30
- package/dist/cjs/node/shared/extractAssetsQuery.js +0 -29
- package/dist/cjs/node/shared/getVikeConfigError.js +0 -22
- package/dist/cjs/node/shared/isErrorDebug.js +0 -7
- package/dist/cjs/node/shared/prependEntriesDir.js +0 -13
- package/dist/cjs/node/shared/resolveBase.js +0 -35
- package/dist/cjs/node/shared/utils.js +0 -35
- package/dist/cjs/node/shared/virtualFileId.js +0 -110
- package/dist/cjs/node/vite/index.js +0 -69
- package/dist/cjs/node/vite/onLoad.js +0 -21
- package/dist/cjs/node/vite/plugins/pluginBaseUrls.js +0 -52
- package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +0 -357
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildApp.js +0 -183
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +0 -234
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistFileNames.js +0 -256
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +0 -40
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginModuleBanner.js +0 -49
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginProdBuildEntry.js +0 -111
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginSuppressRollupWarning.js +0 -65
- package/dist/cjs/node/vite/plugins/pluginBuild.js +0 -22
- package/dist/cjs/node/vite/plugins/pluginCommon/assertResolveAlias.js +0 -88
- package/dist/cjs/node/vite/plugins/pluginCommon.js +0 -183
- package/dist/cjs/node/vite/plugins/pluginDev/determineFsAllowList.js +0 -28
- package/dist/cjs/node/vite/plugins/pluginDev/determineOptimizeDeps.js +0 -163
- package/dist/cjs/node/vite/plugins/pluginDev.js +0 -111
- package/dist/cjs/node/vite/plugins/pluginEnvVars.js +0 -92
- package/dist/cjs/node/vite/plugins/pluginExtractAssets.js +0 -241
- package/dist/cjs/node/vite/plugins/pluginExtractExportNames.js +0 -113
- package/dist/cjs/node/vite/plugins/pluginFileEnv.js +0 -172
- package/dist/cjs/node/vite/plugins/pluginNonRunnableDev.js +0 -70
- package/dist/cjs/node/vite/plugins/pluginPreview.js +0 -82
- package/dist/cjs/node/vite/plugins/pluginReplaceConstants.js +0 -95
- package/dist/cjs/node/vite/plugins/pluginSetGlobalContext.js +0 -51
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/debug.js +0 -5
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.js +0 -56
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.js +0 -190
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.js +0 -54
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +0 -97
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +0 -233
- package/dist/cjs/node/vite/plugins/pluginWorkaroundCssModuleHmr.js +0 -17
- package/dist/cjs/node/vite/plugins/pluginWorkaroundVite6HmrRegression.js +0 -35
- package/dist/cjs/node/vite/shared/addSsrMiddleware.js +0 -60
- package/dist/cjs/node/vite/shared/findPageFiles.js +0 -25
- package/dist/cjs/node/vite/shared/getAssetsDir.js +0 -10
- package/dist/cjs/node/vite/shared/getClientEntrySrcDev.js +0 -42
- package/dist/cjs/node/vite/shared/getEnvVarObject.js +0 -37
- package/dist/cjs/node/vite/shared/getFilePath.js +0 -172
- package/dist/cjs/node/vite/shared/getHttpRequestAsyncStore.js +0 -125
- package/dist/cjs/node/vite/shared/getMagicString.js +0 -18
- package/dist/cjs/node/vite/shared/getManifestFilePathRelative.js +0 -10
- package/dist/cjs/node/vite/shared/getOutDirs.js +0 -146
- package/dist/cjs/node/vite/shared/getViteConfigRuntime.js +0 -21
- package/dist/cjs/node/vite/shared/isAsset.js +0 -40
- package/dist/cjs/node/vite/shared/isViteCliCall.js +0 -83
- package/dist/cjs/node/vite/shared/isViteServerSide.js +0 -68
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelReact.js +0 -15
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errBabelSolid.js +0 -15
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errEsbuild.js +0 -38
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx1.js +0 -26
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errMdx2.js +0 -85
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errPostcss.js +0 -30
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwc.js +0 -19
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errSwcBig.js +0 -19
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueCss.js +0 -29
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueHtml.js +0 -13
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet/fixture-errors/errVueJavascript.js +0 -15
- package/dist/cjs/node/vite/shared/loggerNotProd/errorWithCodeSnippet.js +0 -162
- package/dist/cjs/node/vite/shared/loggerNotProd/log.js +0 -102
- package/dist/cjs/node/vite/shared/loggerNotProd.js +0 -208
- package/dist/cjs/node/vite/shared/loggerVite/removeSuperfluousViteLog.js +0 -26
- package/dist/cjs/node/vite/shared/loggerVite.js +0 -54
- package/dist/cjs/node/vite/shared/normalizeId.js +0 -9
- package/dist/cjs/node/vite/shared/parseEsModule.js +0 -33
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/assertExtensions.js +0 -136
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +0 -262
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles/ignorePatternsBuiltIn.js +0 -18
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +0 -252
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.js +0 -190
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/getConfigFileExport.js +0 -17
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/getPlusFilesAll.js +0 -127
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/loadFileAtConfigTime.js +0 -129
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/pointerImports.js +0 -195
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/resolvePointerImport.js +0 -102
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +0 -425
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal.js +0 -1151
- package/dist/cjs/node/vite/shared/rollupIsEsm.js +0 -15
- package/dist/cjs/node/vite/utils.js +0 -45
- package/dist/cjs/package.json +0 -1
- package/dist/cjs/shared/NOT_SERIALIZABLE.js +0 -4
- package/dist/cjs/shared/RenderErrorPage.js +0 -6
- package/dist/cjs/shared/abort.js +0 -16
- package/dist/cjs/shared/addIs404ToPageProps.js +0 -18
- package/dist/cjs/shared/assertHookReturnedObject.js +0 -21
- package/dist/cjs/shared/assertOnBeforeRenderHookReturn.js +0 -21
- package/dist/cjs/shared/assertPageContextProvidedByUser.js +0 -20
- package/dist/cjs/shared/createGlobalContextShared.js +0 -109
- package/dist/cjs/shared/createPageContextShared.js +0 -17
- package/dist/cjs/shared/determinePageIdOld.js +0 -11
- package/dist/cjs/shared/error-page.js +0 -40
- package/dist/cjs/shared/getPageContext.js +0 -6
- package/dist/cjs/shared/getPageContextRequestUrl.js +0 -16
- package/dist/cjs/shared/getPageContextUrlComputed.js +0 -132
- package/dist/cjs/shared/getPageFiles/analyzeClientSide.js +0 -19
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide/ClientDependency.js +0 -2
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide/analyzeExports.js +0 -50
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide/determineClientEntry.js +0 -30
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide/getExportNames.js +0 -15
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide.js +0 -59
- package/dist/cjs/shared/getPageFiles/analyzePageServerSide.js +0 -22
- package/dist/cjs/shared/getPageFiles/assert_exports_old_design.js +0 -24
- package/dist/cjs/shared/getPageFiles/fileTypes.js +0 -52
- package/dist/cjs/shared/getPageFiles/getAllPageIdFiles.js +0 -102
- package/dist/cjs/shared/getPageFiles/getPageFileObject.js +0 -56
- package/dist/cjs/shared/getPageFiles/parseVirtualFileExportsGlobalEntry.js +0 -100
- package/dist/cjs/shared/getPageFiles.js +0 -7
- package/dist/cjs/shared/getProxyForPublicUsage.js +0 -56
- package/dist/cjs/shared/hooks/execHook.js +0 -147
- package/dist/cjs/shared/hooks/getHook.js +0 -173
- package/dist/cjs/shared/htmlElementIds.js +0 -5
- package/dist/cjs/shared/misc/isServerSideError.js +0 -4
- package/dist/cjs/shared/misc/pageContextInitIsPassedToClient.js +0 -4
- package/dist/cjs/shared/modifyUrl.js +0 -28
- package/dist/cjs/shared/modifyUrlSameOrigin.js +0 -47
- package/dist/cjs/shared/page-configs/assertPlusFileExport.js +0 -42
- package/dist/cjs/shared/page-configs/findPageConfig.js +0 -10
- package/dist/cjs/shared/page-configs/getConfigDefinedAt.js +0 -65
- package/dist/cjs/shared/page-configs/getConfigValueBuildTime.js +0 -68
- package/dist/cjs/shared/page-configs/getConfigValueRuntime.js +0 -10
- package/dist/cjs/shared/page-configs/getConfigValueTyped.js +0 -32
- package/dist/cjs/shared/page-configs/getExportPath.js +0 -29
- package/dist/cjs/shared/page-configs/helpers.js +0 -27
- package/dist/cjs/shared/page-configs/loadAndParseVirtualFilePageEntry.js +0 -25
- package/dist/cjs/shared/page-configs/resolveVikeConfigPublic.js +0 -287
- package/dist/cjs/shared/page-configs/serialize/PageConfigSerialized.js +0 -2
- package/dist/cjs/shared/page-configs/serialize/assertPageConfigsSerialized.js +0 -1
- package/dist/cjs/shared/page-configs/serialize/parsePageConfigsSerialized.js +0 -145
- package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +0 -290
- package/dist/cjs/shared/prepareGlobalContextForPublicUsage.js +0 -10
- package/dist/cjs/shared/preparePageContextForPublicUsage.js +0 -80
- package/dist/cjs/shared/route/abort.js +0 -178
- package/dist/cjs/shared/route/debug.js +0 -23
- package/dist/cjs/shared/route/deduceRouteStringFromFilesystemPath.js +0 -52
- package/dist/cjs/shared/route/execHookGuard.js +0 -37
- package/dist/cjs/shared/route/execHookOnBeforeRoute.js +0 -84
- package/dist/cjs/shared/route/index.js +0 -107
- package/dist/cjs/shared/route/loadPageRoutes.js +0 -197
- package/dist/cjs/shared/route/noRouteMatch.js +0 -4
- package/dist/cjs/shared/route/resolvePrecedence.js +0 -93
- package/dist/cjs/shared/route/resolveRoute.js +0 -20
- package/dist/cjs/shared/route/resolveRouteFunction.js +0 -73
- package/dist/cjs/shared/route/resolveRouteString.js +0 -153
- package/dist/cjs/shared/route/resolveUrlPathname.js +0 -47
- package/dist/cjs/shared/route/routing.js +0 -9
- package/dist/cjs/shared/route/utils.js +0 -40
- package/dist/cjs/shared/utils.js +0 -49
- package/dist/cjs/types/Config/ConfigResolved.js +0 -2
- package/dist/cjs/types/Config.js +0 -2
- package/dist/cjs/types/FilePath.js +0 -2
- package/dist/cjs/types/PageConfig.js +0 -2
- package/dist/cjs/types/PageContext.js +0 -2
- package/dist/cjs/types/VikeGlobalInternal.js +0 -2
- package/dist/cjs/types/VikeNamespace.js +0 -2
- package/dist/cjs/types/ViteManifest.js +0 -2
- package/dist/cjs/types/defineConfig.js +0 -6
- package/dist/cjs/types/index-dreprecated.js +0 -3
- package/dist/cjs/types/index.js +0 -5
- package/dist/cjs/utils/PROJECT_VERSION.js +0 -5
- package/dist/cjs/utils/PromiseType.js +0 -2
- package/dist/cjs/utils/assert.js +0 -211
- package/dist/cjs/utils/assertIsBrowser.js +0 -8
- package/dist/cjs/utils/assertIsNotBrowser.js +0 -9
- package/dist/cjs/utils/assertKeys.js +0 -27
- package/dist/cjs/utils/assertNodeVersion.js +0 -14
- package/dist/cjs/utils/assertRoutingType.js +0 -29
- package/dist/cjs/utils/assertSetup.js +0 -171
- package/dist/cjs/utils/assertSingleInstance.js +0 -110
- package/dist/cjs/utils/assertVersion.js +0 -60
- package/dist/cjs/utils/capitalizeFirstLetter.js +0 -9
- package/dist/cjs/utils/cast.js +0 -6
- package/dist/cjs/utils/catchInfiniteLoop.js +0 -34
- package/dist/cjs/utils/changeEnumerable.js +0 -8
- package/dist/cjs/utils/checkType.js +0 -6
- package/dist/cjs/utils/compareString.js +0 -10
- package/dist/cjs/utils/createErrorWithCleanStackTrace.js +0 -39
- package/dist/cjs/utils/debug.js +0 -178
- package/dist/cjs/utils/debugGlob.js +0 -6
- package/dist/cjs/utils/deepEqual.js +0 -10
- package/dist/cjs/utils/escapeHtml.js +0 -13
- package/dist/cjs/utils/escapeRegex.js +0 -7
- package/dist/cjs/utils/findFile.js +0 -30
- package/dist/cjs/utils/findPackageJson.js +0 -18
- package/dist/cjs/utils/formatHintLog.js +0 -17
- package/dist/cjs/utils/freezePartial.js +0 -35
- package/dist/cjs/utils/genPromise.js +0 -51
- package/dist/cjs/utils/getFileExtension.js +0 -16
- package/dist/cjs/utils/getGlobalObject.js +0 -15
- package/dist/cjs/utils/getMostSimilar.js +0 -68
- package/dist/cjs/utils/getPropAccessNotation.js +0 -9
- package/dist/cjs/utils/getRandomId.js +0 -14
- package/dist/cjs/utils/getTerminalWidth.js +0 -7
- package/dist/cjs/utils/getValuePrintable.js +0 -10
- package/dist/cjs/utils/getViteRPC.js +0 -79
- package/dist/cjs/utils/hasProp.js +0 -50
- package/dist/cjs/utils/humanizeTime.js +0 -24
- package/dist/cjs/utils/includes.js +0 -13
- package/dist/cjs/utils/injectRollupInputs.js +0 -29
- package/dist/cjs/utils/isArray.js +0 -7
- package/dist/cjs/utils/isArrayOfStrings.js +0 -7
- package/dist/cjs/utils/isBrowser.js +0 -8
- package/dist/cjs/utils/isCallable.js +0 -6
- package/dist/cjs/utils/isDev.js +0 -20
- package/dist/cjs/utils/isDocker.js +0 -45
- package/dist/cjs/utils/isEqualStringList.js +0 -13
- package/dist/cjs/utils/isFilePathAbsoluteFilesystem.js +0 -66
- package/dist/cjs/utils/isHtml.js +0 -9
- package/dist/cjs/utils/isImportPath.js +0 -21
- package/dist/cjs/utils/isNodeJS.js +0 -16
- package/dist/cjs/utils/isNonRunnableDev.js +0 -12
- package/dist/cjs/utils/isNullish.js +0 -16
- package/dist/cjs/utils/isObject.js +0 -6
- package/dist/cjs/utils/isObjectOfStrings.js +0 -7
- package/dist/cjs/utils/isObjectWithKeys.js +0 -15
- package/dist/cjs/utils/isPlainObject.js +0 -19
- package/dist/cjs/utils/isPromise.js +0 -7
- package/dist/cjs/utils/isPropertyGetter.js +0 -7
- package/dist/cjs/utils/isReact.js +0 -23
- package/dist/cjs/utils/isRunnableDevEnvironment.js +0 -9
- package/dist/cjs/utils/isSameErrorMessage.js +0 -9
- package/dist/cjs/utils/isScriptFile.js +0 -67
- package/dist/cjs/utils/isVikeReactApp.js +0 -8
- package/dist/cjs/utils/isVitest.js +0 -6
- package/dist/cjs/utils/joinEnglish.js +0 -14
- package/dist/cjs/utils/normalizeHeaders.js +0 -17
- package/dist/cjs/utils/objectAssign.js +0 -14
- package/dist/cjs/utils/objectAssignSafe.js +0 -7
- package/dist/cjs/utils/objectDefineProperty.js +0 -7
- package/dist/cjs/utils/objectEntries.js +0 -8
- package/dist/cjs/utils/objectEntriesForEach.js +0 -7
- package/dist/cjs/utils/objectFilter.js +0 -10
- package/dist/cjs/utils/objectFromEntries.js +0 -7
- package/dist/cjs/utils/objectKeys.js +0 -9
- package/dist/cjs/utils/objectReplace.js +0 -9
- package/dist/cjs/utils/onPageVisibilityChange.js +0 -18
- package/dist/cjs/utils/pLimit.js +0 -134
- package/dist/cjs/utils/parseNpmPackage.js +0 -106
- package/dist/cjs/utils/parseUrl-extras.js +0 -110
- package/dist/cjs/utils/parseUrl.js +0 -338
- package/dist/cjs/utils/path.js +0 -59
- package/dist/cjs/utils/pick.js +0 -12
- package/dist/cjs/utils/preservePropertyGetters.js +0 -30
- package/dist/cjs/utils/redirectHard.js +0 -6
- package/dist/cjs/utils/removeEmptyLines.js +0 -9
- package/dist/cjs/utils/removeFileExtension.js +0 -6
- package/dist/cjs/utils/requireResolve.js +0 -214
- package/dist/cjs/utils/rollupSourceMap.js +0 -19
- package/dist/cjs/utils/sleep.js +0 -6
- package/dist/cjs/utils/slice.js +0 -35
- package/dist/cjs/utils/sorter.js +0 -117
- package/dist/cjs/utils/stringifyStringArray.js +0 -6
- package/dist/cjs/utils/stripAnsi.js +0 -21
- package/dist/cjs/utils/styleFileRE.js +0 -6
- package/dist/cjs/utils/throttle.js +0 -15
- package/dist/cjs/utils/trackLogs.js +0 -31
- package/dist/cjs/utils/trimWithAnsi.js +0 -40
- package/dist/cjs/utils/truncateString.js +0 -23
- package/dist/cjs/utils/unique.js +0 -6
- package/dist/cjs/utils/updateType.js +0 -9
- package/dist/cjs/utils/urlToFile.js +0 -36
- package/dist/cjs/utils/virtualFileId.js +0 -43
- package/dist/cjs/utils/warnIfErrorIsNotObject.js +0 -23
- package/dist/esm/node/vite/plugins/pluginBuild.d.ts +0 -3
- package/dist/esm/node/vite/plugins/pluginBuild.js +0 -20
- package/dist/esm/node/vite/plugins/pluginReplaceConstants.d.ts +0 -14
- package/dist/esm/node/vite/plugins/pluginReplaceConstants.js +0 -92
|
@@ -25,85 +25,87 @@ const filterFunction = (id) => {
|
|
|
25
25
|
function pluginFileEnv() {
|
|
26
26
|
let config;
|
|
27
27
|
let viteDevServer;
|
|
28
|
-
return
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
// In production, we have to use transform() to replace modules with a runtime error because generateBundle() doesn't work for dynamic imports. In production, dynamic imports can only be verified at runtime.
|
|
54
|
-
transform: {
|
|
55
|
-
filter: filterRolldown,
|
|
56
|
-
async handler(code, id, options) {
|
|
57
|
-
id = normalizeId(id);
|
|
58
|
-
// In dev, only using load() is enough as it also works for dynamic imports (see sibling comment).
|
|
59
|
-
if (viteDevServer)
|
|
60
|
-
return;
|
|
61
|
-
if (skip(id, config.root))
|
|
62
|
-
return;
|
|
63
|
-
const isServerSide = isViteServerSide_extraSafe(config, this.environment, options);
|
|
64
|
-
if (!isWrongEnv(id, isServerSide))
|
|
65
|
-
return;
|
|
66
|
-
const { importers } = this.getModuleInfo(id);
|
|
67
|
-
// Throwing a verbose error doesn't waste client-side KBs as dynamic imports are code split.
|
|
68
|
-
const errMsg = getErrorMessage(id, isServerSide, importers, false, true);
|
|
69
|
-
// We have to inject empty exports to avoid Rollup complaining about missing exports, see https://gist.github.com/brillout/5ea45776e65bd65100a52ecd7bfda3ff
|
|
70
|
-
const { exportNames } = await getExportNames(code);
|
|
71
|
-
return rollupSourceMapRemove([
|
|
72
|
-
`throw new Error(${JSON.stringify(errMsg)});`,
|
|
73
|
-
...exportNames.map((name) => name === 'default' ? 'export default undefined;' : `export const ${name} = undefined;`),
|
|
74
|
-
].join('\n'));
|
|
28
|
+
return [
|
|
29
|
+
{
|
|
30
|
+
name: 'vike:pluginFileEnv',
|
|
31
|
+
load: {
|
|
32
|
+
filter: filterRolldown,
|
|
33
|
+
handler(id, options) {
|
|
34
|
+
// In build, we use generateBundle() instead of the load() hook. Using load() works for dynamic imports in dev thanks to Vite's lazy transpiling, but it doesn't work in build because Rollup transpiles any dynamically imported module even if it's never actually imported.
|
|
35
|
+
if (!viteDevServer)
|
|
36
|
+
return;
|
|
37
|
+
if (!isV1Design())
|
|
38
|
+
return;
|
|
39
|
+
if (skip(id, config.root))
|
|
40
|
+
return;
|
|
41
|
+
// For `.vue` files: https://github.com/vikejs/vike/issues/1912#issuecomment-2394981475
|
|
42
|
+
if (id.endsWith('?direct'))
|
|
43
|
+
id = id.slice(0, -1 * '?direct'.length);
|
|
44
|
+
const moduleInfo = viteDevServer.moduleGraph.getModuleById(id);
|
|
45
|
+
assert(moduleInfo);
|
|
46
|
+
const importers = Array.from(moduleInfo.importers)
|
|
47
|
+
.map((m) => m.id)
|
|
48
|
+
.filter((id) => id !== null);
|
|
49
|
+
assertFileEnv(id, isViteServerSide_extraSafe(config, this.environment, options), importers,
|
|
50
|
+
// In dev, we only show a warning because we don't want to disrupt when the user plays with settings such as [ssr](https://vike.dev/ssr).
|
|
51
|
+
true);
|
|
52
|
+
},
|
|
75
53
|
},
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
assert(dynamicImporters.length > 0)
|
|
89
|
-
*/
|
|
54
|
+
// In production, we have to use transform() to replace modules with a runtime error because generateBundle() doesn't work for dynamic imports. In production, dynamic imports can only be verified at runtime.
|
|
55
|
+
transform: {
|
|
56
|
+
filter: filterRolldown,
|
|
57
|
+
async handler(code, id, options) {
|
|
58
|
+
id = normalizeId(id);
|
|
59
|
+
// In dev, only using load() is enough as it also works for dynamic imports (see sibling comment).
|
|
60
|
+
if (viteDevServer)
|
|
61
|
+
return;
|
|
62
|
+
if (skip(id, config.root))
|
|
63
|
+
return;
|
|
64
|
+
const isServerSide = isViteServerSide_extraSafe(config, this.environment, options);
|
|
65
|
+
if (!isWrongEnv(id, isServerSide))
|
|
90
66
|
return;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
|
|
67
|
+
const { importers } = this.getModuleInfo(id);
|
|
68
|
+
// Throwing a verbose error doesn't waste client-side KBs as dynamic imports are code split.
|
|
69
|
+
const errMsg = getErrorMessage(id, isServerSide, importers, false, true);
|
|
70
|
+
// We have to inject empty exports to avoid Rollup complaining about missing exports, see https://gist.github.com/brillout/5ea45776e65bd65100a52ecd7bfda3ff
|
|
71
|
+
const { exportNames } = await getExportNames(code);
|
|
72
|
+
return rollupSourceMapRemove([
|
|
73
|
+
`throw new Error(${JSON.stringify(errMsg)});`,
|
|
74
|
+
...exportNames.map((name) => name === 'default' ? 'export default undefined;' : `export const ${name} = undefined;`),
|
|
75
|
+
].join('\n'));
|
|
76
|
+
},
|
|
94
77
|
},
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
78
|
+
generateBundle: {
|
|
79
|
+
handler() {
|
|
80
|
+
Array.from(this.getModuleIds())
|
|
81
|
+
.filter(filterFunction)
|
|
82
|
+
.filter((id) => !skip(id, config.root))
|
|
83
|
+
.forEach((moduleId) => {
|
|
84
|
+
const mod = this.getModuleInfo(moduleId);
|
|
85
|
+
const { importers } = mod;
|
|
86
|
+
if (importers.length === 0) {
|
|
87
|
+
// Dynamic imports can only be verified at runtime
|
|
88
|
+
/* This assertion can fail: https://github.com/vikejs/vike/issues/2227
|
|
89
|
+
assert(dynamicImporters.length > 0)
|
|
90
|
+
*/
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
assertFileEnv(moduleId, isViteServerSide(config, this.environment), importers, false);
|
|
94
|
+
});
|
|
95
|
+
},
|
|
99
96
|
},
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
97
|
+
configResolved: {
|
|
98
|
+
handler(config_) {
|
|
99
|
+
config = config_;
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
configureServer: {
|
|
103
|
+
handler(viteDevServer_) {
|
|
104
|
+
viteDevServer = viteDevServer_;
|
|
105
|
+
},
|
|
104
106
|
},
|
|
105
107
|
},
|
|
106
|
-
|
|
108
|
+
];
|
|
107
109
|
function assertFileEnv(moduleId, isServerSide, importers, onlyWarn) {
|
|
108
110
|
if (!isWrongEnv(moduleId, isServerSide))
|
|
109
111
|
return;
|
|
@@ -23,4 +23,4 @@ declare global {
|
|
|
23
23
|
var __VIKE__DYNAMIC_IMPORT: (module: string) => Promise<Record<string, unknown>>;
|
|
24
24
|
var __VIKE__IS_NON_RUNNABLE_DEV: undefined | boolean;
|
|
25
25
|
}
|
|
26
|
-
declare function pluginNonRunnableDev(): Plugin;
|
|
26
|
+
declare function pluginNonRunnableDev(): Plugin[];
|
|
@@ -30,38 +30,40 @@ function getViteRpcFunctions(viteDevServer) {
|
|
|
30
30
|
}
|
|
31
31
|
function pluginNonRunnableDev() {
|
|
32
32
|
let config;
|
|
33
|
-
return
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
33
|
+
return [
|
|
34
|
+
{
|
|
35
|
+
name: 'vike:pluginNonRunnableDev',
|
|
36
|
+
apply: (_, configEnv) => isDevCheck(configEnv),
|
|
37
|
+
configureServer: {
|
|
38
|
+
handler(viteDevServer) {
|
|
39
|
+
createViteRPC(viteDevServer, getViteRpcFunctions);
|
|
40
|
+
},
|
|
39
41
|
},
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
configResolved: {
|
|
43
|
+
handler(config_) {
|
|
44
|
+
config = config_;
|
|
45
|
+
},
|
|
44
46
|
},
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
47
|
+
transform: {
|
|
48
|
+
filter: filterRolldown,
|
|
49
|
+
handler(code, id) {
|
|
50
|
+
assert(config._isDev);
|
|
51
|
+
assert(filterFunction(id));
|
|
52
|
+
const idWithoutQuery = getIdWithoutQuery(id);
|
|
53
|
+
if (isRunnableDevEnvironment(this.environment))
|
|
54
|
+
return;
|
|
55
|
+
const { magicString, getMagicStringResult } = getMagicString(code, id);
|
|
56
|
+
if (idWithoutQuery === distFileIsNonRunnableDev) {
|
|
57
|
+
magicString.replaceAll('__VIKE__IS_NON_RUNNABLE_DEV', JSON.stringify(true));
|
|
58
|
+
}
|
|
59
|
+
if (idWithoutQuery === distFileGlobalContext) {
|
|
60
|
+
magicString.replaceAll('__VIKE__DYNAMIC_IMPORT', 'import');
|
|
61
|
+
}
|
|
62
|
+
return getMagicStringResult();
|
|
63
|
+
},
|
|
62
64
|
},
|
|
63
65
|
},
|
|
64
|
-
|
|
66
|
+
];
|
|
65
67
|
}
|
|
66
68
|
function getIdWithoutQuery(id) {
|
|
67
69
|
return id.split('?')[0];
|
|
@@ -11,43 +11,45 @@ import { getVikeConfigInternal } from '../shared/resolveVikeConfigInternal.js';
|
|
|
11
11
|
function pluginPreview() {
|
|
12
12
|
let config;
|
|
13
13
|
let vikeConfig;
|
|
14
|
-
return
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
14
|
+
return [
|
|
15
|
+
{
|
|
16
|
+
name: 'vike:pluginPreview',
|
|
17
|
+
apply: applyPreview,
|
|
18
|
+
config: {
|
|
19
|
+
handler() {
|
|
20
|
+
return {
|
|
21
|
+
appType: 'custom',
|
|
22
|
+
};
|
|
23
|
+
},
|
|
22
24
|
},
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
configResolved: {
|
|
26
|
+
async handler(config_) {
|
|
27
|
+
config = config_;
|
|
28
|
+
vikeConfig = await getVikeConfigInternal();
|
|
29
|
+
logDockerHint(config.preview.host);
|
|
30
|
+
// vikeConfig = await getVikeConfig(config)
|
|
31
|
+
},
|
|
30
32
|
},
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
33
|
+
configurePreviewServer: {
|
|
34
|
+
handler(server) {
|
|
35
|
+
/* - Couldn't make `appType: 'mpa'` work as of npm:@brillout/vite@5.0.0-beta.14.0426910c
|
|
36
|
+
- This ugly hack to set appType for preview won't be need once https://github.com/vitejs/vite/pull/14855 is merged.
|
|
37
|
+
config.appType = 'mpa'
|
|
38
|
+
*/
|
|
39
|
+
return () => {
|
|
40
|
+
const { isPrerenderingEnabledForAllPages, isPrerenderingEnabled } = vikeConfig.prerenderContext;
|
|
41
|
+
assertDist(isPrerenderingEnabledForAllPages);
|
|
42
|
+
// We cannot re-use Vite's static middleware: https://github.com/vitejs/vite/pull/14836#issuecomment-1788540300
|
|
43
|
+
addStaticAssetsMiddleware(server.middlewares);
|
|
44
|
+
if (!isPrerenderingEnabledForAllPages) {
|
|
45
|
+
addSsrMiddleware(server.middlewares, config, true, isPrerenderingEnabled);
|
|
46
|
+
}
|
|
47
|
+
addStatic404Middleware(server.middlewares);
|
|
48
|
+
};
|
|
49
|
+
},
|
|
48
50
|
},
|
|
49
51
|
},
|
|
50
|
-
|
|
52
|
+
];
|
|
51
53
|
function assertDist(isPrerenderingEnabledForAllPages) {
|
|
52
54
|
const { outDirRoot, outDirClient, outDirServer } = getOutDirs(config, undefined);
|
|
53
55
|
const dirS = [outDirRoot, outDirClient];
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { pluginReplaceGlobalThisConstants };
|
|
2
|
+
import type { Plugin } from 'vite';
|
|
3
|
+
declare global {
|
|
4
|
+
/** Like `import.meta.env.DEV` but works inside `node_modules/` (even if package is `ssr.external`). The value `undefined` is to be interpreted as `false`. */
|
|
5
|
+
var __VIKE__IS_DEV: boolean | undefined;
|
|
6
|
+
/** Like `import.meta.env.SSR` but works inside `node_modules/` (even if package is `ssr.external`). The value `undefined` is to be interpreted as `false`. */
|
|
7
|
+
var __VIKE__IS_CLIENT: boolean | undefined;
|
|
8
|
+
}
|
|
9
|
+
declare function pluginReplaceGlobalThisConstants(): Plugin[];
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export { pluginReplaceGlobalThisConstants };
|
|
2
|
+
import { assert } from '../utils.js';
|
|
3
|
+
// === Explanation: globalThis.__VIKE__IS_DEV
|
|
4
|
+
// If client-side => always noExternal => globalThis.__VIKE__IS_DEV is set by the `define` config below.
|
|
5
|
+
// If server-side:
|
|
6
|
+
// If ssr.noExternal => globalThis.__VIKE__IS_DEV is set by the `define` config below.
|
|
7
|
+
// If `ssr.external`:
|
|
8
|
+
// If not RunnableDevEnvironment (e.g. `@cloudflare/vite-plugin`) => always ssr.noExternal => globalThis.__VIKE__IS_DEV is set by the `define` config below.
|
|
9
|
+
// If RunnableDevEnvironment (the default setup):
|
|
10
|
+
// If dev/preview/pre-rendering => Vite is loaded, and server and Vite run inside the same process (because RunnableDevEnvironment) => globalThis.__VIKE__IS_DEV is set by the assignment below.
|
|
11
|
+
// If production => Vite isn't loaded => globalThis.__VIKE__IS_DEV is `undefined` (it's never set) => value `undefined` is to be interpreted as `false`.
|
|
12
|
+
// === Explanation: globalThis.__VIKE__IS_CLIENT
|
|
13
|
+
// If client-side => always noExternal => globalThis.__VIKE__IS_CLIENT is set to `true` by the `define` config below.
|
|
14
|
+
// If server-side => globalThis.__VIKE__IS_CLIENT is either `false` or `undefined` (the value `undefined` is to be interpreted as `false`).
|
|
15
|
+
globalThis.__VIKE__IS_CLIENT = false;
|
|
16
|
+
function pluginReplaceGlobalThisConstants() {
|
|
17
|
+
return [
|
|
18
|
+
{
|
|
19
|
+
name: 'vike:pluginReplaceGlobalThisConstants',
|
|
20
|
+
config: {
|
|
21
|
+
handler(config) {
|
|
22
|
+
const isDev = config._isDev;
|
|
23
|
+
assert(typeof isDev === 'boolean');
|
|
24
|
+
globalThis.__VIKE__IS_DEV = isDev;
|
|
25
|
+
return {
|
|
26
|
+
define: {
|
|
27
|
+
'globalThis.__VIKE__IS_DEV': JSON.stringify(isDev),
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
configEnvironment: {
|
|
33
|
+
handler(name, config) {
|
|
34
|
+
const consumer = config.consumer ?? (name === 'client' ? 'client' : 'server');
|
|
35
|
+
const isClientSide = consumer === 'client';
|
|
36
|
+
return {
|
|
37
|
+
define: {
|
|
38
|
+
'globalThis.__VIKE__IS_CLIENT': JSON.stringify(isClientSide),
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
export { pluginReplaceIsClientSide };
|
|
2
|
+
import { assert, assertPosixPath } from '../utils.js';
|
|
3
|
+
import { normalizeId } from '../shared/normalizeId.js';
|
|
4
|
+
import { isViteServerSide_extraSafe } from '../shared/isViteServerSide.js';
|
|
5
|
+
import { getMagicString } from '../shared/getMagicString.js';
|
|
6
|
+
const constantsIsClientSide = [
|
|
7
|
+
//
|
|
8
|
+
'pageContext.isClientSide',
|
|
9
|
+
'globalContext.isClientSide',
|
|
10
|
+
'pageContext.globalContext.isClientSide',
|
|
11
|
+
];
|
|
12
|
+
const skipNodeModules = '/node_modules/';
|
|
13
|
+
const skipIrrelevant = 'Context.isClientSide';
|
|
14
|
+
assert(constantsIsClientSide.every((constant) => constant.endsWith(skipIrrelevant)));
|
|
15
|
+
const filterRolldown = {
|
|
16
|
+
id: {
|
|
17
|
+
exclude: `**${skipNodeModules}**`,
|
|
18
|
+
},
|
|
19
|
+
code: {
|
|
20
|
+
include: skipIrrelevant,
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
const filterFunction = (id, code) => {
|
|
24
|
+
if (id.includes(skipNodeModules))
|
|
25
|
+
return false;
|
|
26
|
+
if (!code.includes(skipIrrelevant))
|
|
27
|
+
return false;
|
|
28
|
+
return true;
|
|
29
|
+
};
|
|
30
|
+
function pluginReplaceIsClientSide() {
|
|
31
|
+
let config;
|
|
32
|
+
return [
|
|
33
|
+
{
|
|
34
|
+
name: 'vike:pluginReplaceIsClientSide',
|
|
35
|
+
enforce: 'post',
|
|
36
|
+
apply: 'build',
|
|
37
|
+
configResolved: {
|
|
38
|
+
handler(config_) {
|
|
39
|
+
config = config_;
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
transform: {
|
|
43
|
+
filter: filterRolldown,
|
|
44
|
+
handler(code, id, options) {
|
|
45
|
+
id = normalizeId(id);
|
|
46
|
+
assertPosixPath(id);
|
|
47
|
+
assertPosixPath(config.root);
|
|
48
|
+
if (!id.startsWith(config.root))
|
|
49
|
+
return; // skip linked dependencies
|
|
50
|
+
assert(filterFunction(id, code));
|
|
51
|
+
const isBuild = config.command === 'build';
|
|
52
|
+
assert(isBuild);
|
|
53
|
+
// Used by vike.dev
|
|
54
|
+
// https://github.com/vikejs/vike/blob/08a1ff55c80ddca64ca6d4417fefd45fefeb4ffb/docs/vite.config.ts#L12
|
|
55
|
+
// @ts-expect-error
|
|
56
|
+
if (config._skipVikeReplaceConstants?.(id))
|
|
57
|
+
return;
|
|
58
|
+
const { magicString, getMagicStringResult } = getMagicString(code, id);
|
|
59
|
+
if (constantsIsClientSide.some((c) => code.includes(c))) {
|
|
60
|
+
const replacement = !isViteServerSide_extraSafe(config, this.environment, options);
|
|
61
|
+
const regExp = getConstantRegExp(constantsIsClientSide);
|
|
62
|
+
magicString.replaceAll(regExp, JSON.stringify(replacement));
|
|
63
|
+
}
|
|
64
|
+
if (!magicString.hasChanged())
|
|
65
|
+
return null;
|
|
66
|
+
return getMagicStringResult();
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
];
|
|
71
|
+
}
|
|
72
|
+
// Copied & adapted from:
|
|
73
|
+
// https://github.com/rollup/plugins/blob/e1a5ef99f1578eb38a8c87563cb9651db228f3bd/packages/replace/src/index.js#L57-L67
|
|
74
|
+
function getConstantRegExp(constants) {
|
|
75
|
+
const keys = Object.values(constants).sort(longest).map(escape);
|
|
76
|
+
// const delimiters = ['\\b', '\\b(?!\\.)']
|
|
77
|
+
const delimiters = ['(?<!\\.)\\b', '\\b(?!\\.)']; // Improved version, to avoid replacing `globalContext.pageContext.isClientSide` with `globalContext.false`
|
|
78
|
+
const preventAssignment = false; // Let's try without it first, let's see if a user complains
|
|
79
|
+
const lookbehind = preventAssignment ? '(?<!\\b(?:const|let|var)\\s*)' : '';
|
|
80
|
+
const lookahead = preventAssignment ? '(?!\\s*=[^=])' : '';
|
|
81
|
+
const pattern = new RegExp(`${lookbehind}${delimiters[0]}(${keys.join('|')})${delimiters[1]}${lookahead}`, 'g');
|
|
82
|
+
return pattern;
|
|
83
|
+
}
|
|
84
|
+
function escape(str) {
|
|
85
|
+
return str.replace(/[-[\]/{}()*+?.\\^$|]/g, '\\$&');
|
|
86
|
+
}
|
|
87
|
+
function longest(a, b) {
|
|
88
|
+
return b.length - a.length;
|
|
89
|
+
}
|
|
@@ -20,61 +20,63 @@ const filterRolldown = {
|
|
|
20
20
|
const filterFunction = (id) => isVirtualFileId(id);
|
|
21
21
|
function pluginVirtualFiles() {
|
|
22
22
|
let config;
|
|
23
|
-
return
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
23
|
+
return [
|
|
24
|
+
{
|
|
25
|
+
name: 'vike:pluginVirtualFiles',
|
|
26
|
+
configResolved: {
|
|
27
|
+
async handler(config_) {
|
|
28
|
+
config = config_;
|
|
29
|
+
// TO-DO/next-major-release: remove
|
|
30
|
+
if (!isV1Design())
|
|
31
|
+
config.experimental.importGlobRestoreExtension = true;
|
|
32
|
+
},
|
|
31
33
|
},
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
handleHotUpdate: {
|
|
41
|
-
async handler(ctx) {
|
|
42
|
-
try {
|
|
43
|
-
return await handleHotUpdate(ctx, config);
|
|
44
|
-
}
|
|
45
|
-
catch (err) {
|
|
46
|
-
// Vite swallows errors thrown by handleHotUpdate()
|
|
47
|
-
console.error(err);
|
|
48
|
-
throw err;
|
|
49
|
-
}
|
|
34
|
+
resolveId: {
|
|
35
|
+
filter: filterRolldown,
|
|
36
|
+
handler(id) {
|
|
37
|
+
assert(filterFunction(id));
|
|
38
|
+
return addVirtualFileIdPrefix(id);
|
|
39
|
+
},
|
|
50
40
|
},
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
assert(filterFunction(id));
|
|
56
|
-
id = removeVirtualFileIdPrefix(id);
|
|
57
|
-
const isDev = config._isDev;
|
|
58
|
-
assert(typeof isDev === 'boolean');
|
|
59
|
-
const idParsed = parseVirtualFileId(id);
|
|
60
|
-
if (idParsed) {
|
|
61
|
-
if (idParsed.type === 'page-entry') {
|
|
62
|
-
const code = await generateVirtualFilePageEntry(id, isDev);
|
|
63
|
-
return code;
|
|
41
|
+
handleHotUpdate: {
|
|
42
|
+
async handler(ctx) {
|
|
43
|
+
try {
|
|
44
|
+
return await handleHotUpdate(ctx, config);
|
|
64
45
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
46
|
+
catch (err) {
|
|
47
|
+
// Vite swallows errors thrown by handleHotUpdate()
|
|
48
|
+
console.error(err);
|
|
49
|
+
throw err;
|
|
68
50
|
}
|
|
69
|
-
}
|
|
51
|
+
},
|
|
70
52
|
},
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
53
|
+
load: {
|
|
54
|
+
filter: filterRolldown,
|
|
55
|
+
async handler(id, options) {
|
|
56
|
+
assert(filterFunction(id));
|
|
57
|
+
id = removeVirtualFileIdPrefix(id);
|
|
58
|
+
const isDev = config._isDev;
|
|
59
|
+
assert(typeof isDev === 'boolean');
|
|
60
|
+
const idParsed = parseVirtualFileId(id);
|
|
61
|
+
if (idParsed) {
|
|
62
|
+
if (idParsed.type === 'page-entry') {
|
|
63
|
+
const code = await generateVirtualFilePageEntry(id, isDev);
|
|
64
|
+
return code;
|
|
65
|
+
}
|
|
66
|
+
if (idParsed.type === 'global-entry') {
|
|
67
|
+
const code = await generateVirtualFileGlobalEntryWithOldDesign(id, options, config, this.environment, isDev);
|
|
68
|
+
return code;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
configureServer: {
|
|
74
|
+
handler(server) {
|
|
75
|
+
handleFileAddRemove(server, config);
|
|
76
|
+
},
|
|
75
77
|
},
|
|
76
78
|
},
|
|
77
|
-
|
|
79
|
+
];
|
|
78
80
|
}
|
|
79
81
|
function handleFileAddRemove(server, config) {
|
|
80
82
|
server.watcher.prependListener('add', (f) => listener(f, false));
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
export { pluginWorkaroundCssModuleHmr };
|
|
2
2
|
function pluginWorkaroundCssModuleHmr() {
|
|
3
|
-
return
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
3
|
+
return [
|
|
4
|
+
{
|
|
5
|
+
name: 'vike:pluginWorkaroundCssModuleHmr',
|
|
6
|
+
handleHotUpdate: {
|
|
7
|
+
handler(ctx) {
|
|
8
|
+
// prevent full reload due to non self-accepting css module.
|
|
9
|
+
// here only "?direct" module should be filtered out as it doesn't have a parent module.
|
|
10
|
+
if (ctx.file.includes('module.css')) {
|
|
11
|
+
return ctx.modules.filter((m) => !m.id?.includes('?direct'));
|
|
12
|
+
}
|
|
13
|
+
},
|
|
12
14
|
},
|
|
13
15
|
},
|
|
14
|
-
|
|
16
|
+
];
|
|
15
17
|
}
|