UNPKG

vike

Version:

The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.

367 lines (366 loc) 15.5 kB
export { runPrerenderFromAPI }; export { runPrerenderFromCLIPrerenderCommand }; export { runPrerenderFromAutoRun }; export { runPrerender_forceExit }; export type { PrerenderOptions }; export type { PrerenderContextPublic }; import type { PageFile } from '../../shared/getPageFiles.js'; import { type GlobalContextServerInternal, type GlobalContextServer } from '../runtime/globalContext.js'; import type { InlineConfig, ResolvedConfig } from 'vite'; import type { APIOptions } from '../api/types.js'; type ProvidedByHook = null | { hookFilePath: string; hookName: 'onBeforePrerenderStart' | 'prerender'; }; type ProvidedByHookTransformer = null | { hookFilePath: string; hookName: 'onPrerenderStart' | 'onBeforePrerender'; }; type PageContextPrerendered = { urlOriginal: string; _providedByHook?: ProvidedByHook; pageId: string; }; type PrerenderedPageContexts = Record<string, PageContextPrerendered>; type PrerenderContext = { pageContexts: PageContext[]; output: Output; _pageContextInit: Record<string, unknown> | null; _noExtraDir: boolean | null; _prerenderedPageContexts: PrerenderedPageContexts; }; type Output<PageContext = PageContextPrerendered> = { filePath: string; fileType: FileType; fileContent: string; pageContext: PageContext; }[]; type FileType = 'HTML' | 'JSON'; type PageContext = Awaited<ReturnType<typeof createPageContextPrerendering>> & { _urlOriginalBeforeHook?: string; }; type PrerenderOptions = APIOptions & { /** Initial `pageContext` values */ pageContextInit?: Record<string, unknown>; /** @experimental Don't use without having talked to a vike maintainer. */ onPagePrerender?: Function; /** @deprecated Define `prerender({ viteConfig: { root }})` instead. */ root?: string; /** @deprecated Define `prerender({ viteConfig: { configFile }})` instead. */ configFile?: string; /** @deprecated Define `partial` in vite.config.js instead, see https://vike.dev/prerender */ partial?: boolean; /** @deprecated Define `noExtraDir` in vite.config.js instead, see https://vike.dev/prerender */ noExtraDir?: boolean; /** @deprecated Define `parallel` in vite.config.js instead, see https://vike.dev/prerender */ parallel?: number; /** @deprecated */ outDir?: string; /** @deprecated */ base?: string; }; declare function runPrerenderFromAPI(options?: PrerenderOptions): Promise<{ viteConfig: ResolvedConfig; }>; declare function runPrerenderFromCLIPrerenderCommand(): Promise<void>; declare function runPrerenderFromAutoRun(viteConfig: InlineConfig | undefined): Promise<{ forceExit: boolean; }>; declare function createPageContextPrerendering(urlOriginal: string, prerenderContext: PrerenderContext, globalContext: GlobalContextServerInternal, globalContext_public: GlobalContextServer, is404: boolean, pageId: string | undefined, providedByHook: ProvidedByHook): Promise<((({ isClientSide: boolean; isPrerendering: boolean; } & Pick<import("../../shared/types.js").PageContextBuiltInServerInternal, "urlOriginal" | "headersOriginal"> & { url?: string; headers?: Record<string, string>; } & { globalContext: GlobalContextServer; _globalContext: { isGlobalContext: true; _virtualFileExports: unknown; _pageFilesAll: PageFile[]; _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[]; _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime; _allPageIds: string[]; config: import("../../types/index.js").ConfigResolved; pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly; } & ({ _isProduction: false; _isPrerendering: false; assetsManifest: null; _viteDevServer: import("vite").ViteDevServer; viteConfig: ResolvedConfig; viteConfigRuntime: { root: string; build: { outDir: string; }; _baseViteOriginal: string; vitePluginServerEntry: { inject: boolean | undefined; }; }; baseServer: string; baseAssets: string; isClientSide: false; _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes; _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null; isGlobalContext: true; _virtualFileExports: unknown; _pageFilesAll: PageFile[]; _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[]; _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime; _allPageIds: string[]; config: import("../../types/index.js").ConfigResolved; pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly; } | { _isPrerendering: true; viteConfig: ResolvedConfig; _isProduction: true; assetsManifest: import("../shared/ViteManifest.js").ViteManifest; _viteDevServer: null; viteConfigRuntime: { root: string; build: { outDir: string; }; _baseViteOriginal: string; vitePluginServerEntry: { inject: boolean | undefined; }; }; _usesClientRouter: boolean; baseServer: string; baseAssets: string; isClientSide: false; _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes; _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null; isGlobalContext: true; _virtualFileExports: unknown; _pageFilesAll: PageFile[]; _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[]; _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime; _allPageIds: string[]; config: import("../../types/index.js").ConfigResolved; pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly; } | { _isPrerendering: false; viteConfig: null; _isProduction: true; assetsManifest: import("../shared/ViteManifest.js").ViteManifest; _viteDevServer: null; viteConfigRuntime: { root: string; build: { outDir: string; }; _baseViteOriginal: string; vitePluginServerEntry: { inject: boolean | undefined; }; }; _usesClientRouter: boolean; baseServer: string; baseAssets: string; isClientSide: false; _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes; _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null; isGlobalContext: true; _virtualFileExports: unknown; _pageFilesAll: PageFile[]; _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[]; _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime; _allPageIds: string[]; config: import("../../types/index.js").ConfigResolved; pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly; }); _baseServer: string; _baseAssets: string; _includeAssetsImportedByServer: boolean; _pageFilesAll: PageFile[]; _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[]; _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime; _allPageIds: string[]; _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes; _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null; _pageContextInit: import("../runtime/renderPage.js").PageContextInit; _urlRewrite: null; _urlHandler: ((url: string) => string) | null; isClientSideNavigation: boolean; } & { urlParsed: import("../shared/utils.js").UrlPublic; urlPathname: string; url: string; } & { headers: Record<string, string> | null; } & { config: import("../../types/index.js").ConfigResolved; _source: import("../../shared/page-configs/getPageConfigUserFriendly.js").Source; _sources: import("../../shared/page-configs/getPageConfigUserFriendly.js").Sources; _from: import("../../shared/page-configs/getPageConfigUserFriendly.js").From; isPageContext: true; } & { _urlHandler: null; _httpRequestId: null; _urlRewrite: null; _noExtraDir: boolean | null; _prerenderContext: PrerenderContext; _providedByHook: ProvidedByHook; _urlOriginalModifiedByHook: ProvidedByHookTransformer; is404: boolean; } & import("../../shared/route/index.js").PageContextFromRoute & Record<"pageId", string>) | ({ isClientSide: boolean; isPrerendering: boolean; } & Pick<import("../../shared/types.js").PageContextBuiltInServerInternal, "urlOriginal" | "headersOriginal"> & { url?: string; headers?: Record<string, string>; } & { globalContext: GlobalContextServer; _globalContext: { isGlobalContext: true; _virtualFileExports: unknown; _pageFilesAll: PageFile[]; _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[]; _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime; _allPageIds: string[]; config: import("../../types/index.js").ConfigResolved; pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly; } & ({ _isProduction: false; _isPrerendering: false; assetsManifest: null; _viteDevServer: import("vite").ViteDevServer; viteConfig: ResolvedConfig; viteConfigRuntime: { root: string; build: { outDir: string; }; _baseViteOriginal: string; vitePluginServerEntry: { inject: boolean | undefined; }; }; baseServer: string; baseAssets: string; isClientSide: false; _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes; _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null; isGlobalContext: true; _virtualFileExports: unknown; _pageFilesAll: PageFile[]; _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[]; _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime; _allPageIds: string[]; config: import("../../types/index.js").ConfigResolved; pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly; } | { _isPrerendering: true; viteConfig: ResolvedConfig; _isProduction: true; assetsManifest: import("../shared/ViteManifest.js").ViteManifest; _viteDevServer: null; viteConfigRuntime: { root: string; build: { outDir: string; }; _baseViteOriginal: string; vitePluginServerEntry: { inject: boolean | undefined; }; }; _usesClientRouter: boolean; baseServer: string; baseAssets: string; isClientSide: false; _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes; _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null; isGlobalContext: true; _virtualFileExports: unknown; _pageFilesAll: PageFile[]; _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[]; _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime; _allPageIds: string[]; config: import("../../types/index.js").ConfigResolved; pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly; } | { _isPrerendering: false; viteConfig: null; _isProduction: true; assetsManifest: import("../shared/ViteManifest.js").ViteManifest; _viteDevServer: null; viteConfigRuntime: { root: string; build: { outDir: string; }; _baseViteOriginal: string; vitePluginServerEntry: { inject: boolean | undefined; }; }; _usesClientRouter: boolean; baseServer: string; baseAssets: string; isClientSide: false; _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes; _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null; isGlobalContext: true; _virtualFileExports: unknown; _pageFilesAll: PageFile[]; _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[]; _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime; _allPageIds: string[]; config: import("../../types/index.js").ConfigResolved; pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly; }); _baseServer: string; _baseAssets: string; _includeAssetsImportedByServer: boolean; _pageFilesAll: PageFile[]; _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[]; _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime; _allPageIds: string[]; _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes; _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null; _pageContextInit: import("../runtime/renderPage.js").PageContextInit; _urlRewrite: null; _urlHandler: ((url: string) => string) | null; isClientSideNavigation: boolean; } & { urlParsed: import("../shared/utils.js").UrlPublic; urlPathname: string; url: string; } & { headers: Record<string, string> | null; } & { config: import("../../types/index.js").ConfigResolved; _source: import("../../shared/page-configs/getPageConfigUserFriendly.js").Source; _sources: import("../../shared/page-configs/getPageConfigUserFriendly.js").Sources; _from: import("../../shared/page-configs/getPageConfigUserFriendly.js").From; isPageContext: true; } & { _urlHandler: null; _httpRequestId: null; _urlRewrite: null; _noExtraDir: boolean | null; _prerenderContext: PrerenderContext; _providedByHook: ProvidedByHook; _urlOriginalModifiedByHook: ProvidedByHookTransformer; is404: boolean; } & { pageId: string; _debugRouteMatches: never[]; routeParams: {}; })) & import("../../shared/getPageFiles.js").PageConfigUserFriendlyOld & { Page: unknown; _isHtmlOnly: boolean; _passToClient: string[]; _pageFilePathsLoaded: string[]; } & { __getPageAssets: () => Promise<import("../runtime/renderPage/getPageAssets.js").PageAsset[]>; }) & { _usesClientRouter: boolean; }>; declare function runPrerender_forceExit(): void; type PrerenderContextPublic = Pick<PrerenderContext, 'output' | 'pageContexts'>;