next-dev-server.d.ts 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. /// <reference types="node" />
  2. /// <reference types="node" />
  3. import type { __ApiPreviewProps } from '../api-utils';
  4. import type { CustomRoutes } from '../../lib/load-custom-routes';
  5. import type { FindComponentsResult } from '../next-server';
  6. import type { LoadComponentsReturnType } from '../load-components';
  7. import type { Options as ServerOptions } from '../next-server';
  8. import type { Params } from '../../shared/lib/router/utils/route-matcher';
  9. import type { ParsedUrl } from '../../shared/lib/router/utils/parse-url';
  10. import type { ParsedUrlQuery } from 'querystring';
  11. import type { UrlWithParsedQuery } from 'url';
  12. import type { BaseNextRequest, BaseNextResponse } from '../base-http';
  13. import type { MiddlewareRoutingItem, RoutingItem } from '../base-server';
  14. import Server from '../next-server';
  15. import { NodeNextResponse, NodeNextRequest } from '../base-http/node';
  16. export interface Options extends ServerOptions {
  17. /**
  18. * Tells of Next.js is running from the `next dev` command
  19. */
  20. isNextDevCommand?: boolean;
  21. }
  22. export default class DevServer extends Server {
  23. private devReady;
  24. private setDevReady?;
  25. private webpackWatcher?;
  26. private hotReloader?;
  27. private isCustomServer;
  28. protected sortedRoutes?: string[];
  29. private addedUpgradeListener;
  30. private pagesDir?;
  31. private appDir?;
  32. private actualMiddlewareFile?;
  33. private middleware?;
  34. private edgeFunctions?;
  35. private verifyingTypeScript?;
  36. private usingTypeScript?;
  37. protected staticPathsWorker?: {
  38. [key: string]: any;
  39. } & {
  40. loadStaticPaths: typeof import('./static-paths-worker').loadStaticPaths;
  41. };
  42. private getStaticPathsWorker;
  43. constructor(options: Options);
  44. protected getBuildId(): string;
  45. addExportPathMapRoutes(): Promise<void>;
  46. startWatcher(): Promise<void>;
  47. stopWatcher(): Promise<void>;
  48. private verifyTypeScript;
  49. prepare(): Promise<void>;
  50. protected close(): Promise<void>;
  51. protected hasPage(pathname: string): Promise<boolean>;
  52. protected _beforeCatchAllRender(req: BaseNextRequest, res: BaseNextResponse, params: Params, parsedUrl: UrlWithParsedQuery): Promise<boolean>;
  53. private setupWebSocketHandler;
  54. runMiddleware(params: {
  55. request: BaseNextRequest;
  56. response: BaseNextResponse;
  57. parsedUrl: ParsedUrl;
  58. parsed: UrlWithParsedQuery;
  59. middlewareList: MiddlewareRoutingItem[];
  60. }): Promise<import("../web/types").FetchEventResult | {
  61. finished: boolean;
  62. }>;
  63. runEdgeFunction(params: {
  64. req: BaseNextRequest;
  65. res: BaseNextResponse;
  66. query: ParsedUrlQuery;
  67. params: Params | undefined;
  68. page: string;
  69. appPaths: string[] | null;
  70. isAppPath: boolean;
  71. }): Promise<import("../web/types").FetchEventResult | null>;
  72. run(req: NodeNextRequest, res: NodeNextResponse, parsedUrl: UrlWithParsedQuery): Promise<void>;
  73. private logErrorWithOriginalStack;
  74. protected getCustomRoutes(): CustomRoutes;
  75. private _devCachedPreviewProps;
  76. protected getPreviewProps(): __ApiPreviewProps;
  77. protected getPagesManifest(): undefined;
  78. protected getAppPathsManifest(): undefined;
  79. protected getMiddleware(): MiddlewareRoutingItem | undefined;
  80. protected getEdgeFunctions(): RoutingItem[];
  81. protected getServerComponentManifest(): undefined;
  82. protected getServerCSSManifest(): undefined;
  83. protected hasMiddleware(): Promise<boolean>;
  84. protected ensureMiddleware(): Promise<void>;
  85. protected ensureEdgeFunction({ page, appPaths, }: {
  86. page: string;
  87. appPaths: string[] | null;
  88. }): Promise<void>;
  89. generateRoutes(): {
  90. headers: import("../router").Route[];
  91. rewrites: {
  92. beforeFiles: import("../router").Route[];
  93. afterFiles: import("../router").Route[];
  94. fallback: import("../router").Route[];
  95. };
  96. redirects: import("../router").Route[];
  97. catchAllRoute: import("../router").Route;
  98. catchAllMiddleware: import("../router").Route[];
  99. pageChecker: import("../router").PageChecker;
  100. useFileSystemPublicRoutes: boolean;
  101. dynamicRoutes: import("../router").DynamicRoutes | undefined;
  102. nextConfig: import("../config-shared").NextConfig;
  103. fsRoutes: import("../router").Route[];
  104. };
  105. protected generatePublicRoutes(): never[];
  106. protected getDynamicRoutes(): never[];
  107. _filterAmpDevelopmentScript(html: string, event: {
  108. line: number;
  109. col: number;
  110. code: string;
  111. }): boolean;
  112. protected getStaticPaths({ pathname, originalAppPath, }: {
  113. pathname: string;
  114. originalAppPath?: string;
  115. }): Promise<{
  116. staticPaths?: string[];
  117. fallbackMode?: false | 'static' | 'blocking';
  118. }>;
  119. protected ensureApiPage(pathname: string): Promise<void>;
  120. protected findPageComponents({ pathname, query, params, isAppPath, appPaths, }: {
  121. pathname: string;
  122. query: ParsedUrlQuery;
  123. params: Params;
  124. isAppPath: boolean;
  125. appPaths?: string[] | null;
  126. }): Promise<FindComponentsResult | null>;
  127. protected getFallbackErrorComponents(): Promise<LoadComponentsReturnType | null>;
  128. protected setImmutableAssetCacheControl(res: BaseNextResponse): void;
  129. private servePublic;
  130. hasPublicFile(path: string): Promise<boolean>;
  131. getCompilationError(page: string): Promise<any>;
  132. protected isServeableUrl(untrustedFileUrl: string): boolean;
  133. }