next
Version:
The React Framework
103 lines (102 loc) • 5.24 kB
TypeScript
import type { NextConfigComplete } from '../server/config-shared';
import '../server/node-polyfill-fetch';
import { CustomRoutes } from '../lib/load-custom-routes';
import { GetStaticPaths, ServerRuntime } from 'next/types';
import { BuildManifest } from '../server/get-page-files';
import { UnwrapPromise } from '../lib/coalesced-function';
import { MiddlewareManifest } from './webpack/plugins/middleware-plugin';
import { AppBuildManifest } from './webpack/plugins/app-build-manifest-plugin';
export declare type ROUTER_TYPE = 'pages' | 'app';
export interface PageInfo {
isHybridAmp?: boolean;
size: number;
totalSize: number;
static: boolean;
isSsg: boolean;
ssgPageRoutes: string[] | null;
initialRevalidateSeconds: number | false;
pageDuration: number | undefined;
ssgPageDurations: number[] | undefined;
runtime: ServerRuntime;
}
export declare function printTreeView(lists: {
pages: ReadonlyArray<string>;
app?: ReadonlyArray<string>;
}, pageInfos: Map<string, PageInfo>, serverless: boolean, { distPath, buildId, pagesDir, pageExtensions, buildManifest, appBuildManifest, middlewareManifest, useStatic404, gzipSize, }: {
distPath: string;
buildId: string;
pagesDir: string;
pageExtensions: string[];
buildManifest: BuildManifest;
appBuildManifest?: AppBuildManifest;
middlewareManifest: MiddlewareManifest;
useStatic404: boolean;
gzipSize?: boolean;
}): Promise<void>;
export declare function printCustomRoutes({ redirects, rewrites, headers, }: CustomRoutes): void;
declare type ComputeFilesGroup = {
files: ReadonlyArray<string>;
size: {
total: number;
};
};
declare type ComputeFilesManifest = {
unique: ComputeFilesGroup;
common: ComputeFilesGroup;
};
declare type ComputeFilesManifestResult = {
router: {
pages: ComputeFilesManifest;
app?: ComputeFilesManifest;
};
sizes: Map<string, number>;
};
export declare function computeFromManifest(manifests: {
build: BuildManifest;
app?: AppBuildManifest;
}, distPath: string, gzipSize?: boolean, pageInfos?: Map<string, PageInfo>): Promise<ComputeFilesManifestResult>;
export declare function unique<T>(main: ReadonlyArray<T>, sub: ReadonlyArray<T>): T[];
export declare function difference<T>(main: ReadonlyArray<T> | ReadonlySet<T>, sub: ReadonlyArray<T> | ReadonlySet<T>): T[];
export declare function getJsPageSizeInKb(routerType: ROUTER_TYPE, page: string, distPath: string, buildManifest: BuildManifest, appBuildManifest?: AppBuildManifest, gzipSize?: boolean, cachedStats?: ComputeFilesManifestResult): Promise<[number, number]>;
export declare function buildStaticPaths(page: string, getStaticPaths: GetStaticPaths, configFileName: string, locales?: string[], defaultLocale?: string): Promise<Omit<UnwrapPromise<ReturnType<GetStaticPaths>>, 'paths'> & {
paths: string[];
encodedPaths: string[];
}>;
export declare function isPageStatic(page: string, distDir: string, serverless: boolean, configFileName: string, runtimeEnvConfig: any, httpAgentOptions: NextConfigComplete['httpAgentOptions'], locales?: string[], defaultLocale?: string, parentId?: any): Promise<{
isStatic?: boolean;
isAmpOnly?: boolean;
isHybridAmp?: boolean;
hasServerProps?: boolean;
hasStaticProps?: boolean;
prerenderRoutes?: string[];
encodedPrerenderRoutes?: string[];
prerenderFallback?: boolean | 'blocking';
isNextImageImported?: boolean;
traceIncludes?: string[];
traceExcludes?: string[];
}>;
export declare function hasCustomGetInitialProps(page: string, distDir: string, isLikeServerless: boolean, runtimeEnvConfig: any, checkingApp: boolean): Promise<boolean>;
export declare function getNamedExports(page: string, distDir: string, isLikeServerless: boolean, runtimeEnvConfig: any): Promise<Array<string>>;
export declare function detectConflictingPaths(combinedPages: string[], ssgPages: Set<string>, additionalSsgPaths: Map<string, string[]>): void;
/**
* With RSC we automatically add .server and .client to page extensions. This
* function allows to remove them for cases where we just need to strip out
* the actual extension keeping the .server and .client.
*/
export declare function withoutRSCExtensions(pageExtensions: string[]): string[];
export declare function isServerComponentPage(nextConfig: NextConfigComplete, filePath: string): boolean;
export declare function copyTracedFiles(dir: string, distDir: string, pageKeys: ReadonlyArray<string>, tracingRoot: string, serverConfig: {
[key: string]: any;
}, middlewareManifest: MiddlewareManifest): Promise<void>;
export declare function isReservedPage(page: string): boolean;
export declare function isCustomErrorPage(page: string): boolean;
export declare function isMiddlewareFile(file: string): boolean;
export declare function isMiddlewareFilename(file?: string): boolean;
export declare function getPossibleMiddlewareFilenames(folder: string, extensions: string[]): string[];
export declare class MiddlewareInServerlessTargetError extends Error {
constructor();
}
export declare class NestedMiddlewareError extends Error {
constructor(nestedFileNames: string[], mainDir: string, pagesDir: string);
}
export {};