hot-reloader.d.ts 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /// <reference types="node" />
  2. /// <reference types="node" />
  3. /// <reference types="node" />
  4. /// <reference types="node" />
  5. import { webpack } from 'next/dist/compiled/webpack/webpack';
  6. import type { NextConfigComplete } from '../config-shared';
  7. import type { CustomRoutes } from '../../lib/load-custom-routes';
  8. import { IncomingMessage, ServerResponse } from 'http';
  9. import { UrlObject } from 'url';
  10. import getBaseWebpackConfig from '../../build/webpack-config';
  11. import { __ApiPreviewProps } from '../api-utils';
  12. import { UnwrapPromise } from '../../lib/coalesced-function';
  13. export declare function renderScriptError(res: ServerResponse, error: Error, { verbose }?: {
  14. verbose?: boolean | undefined;
  15. }): Promise<void>;
  16. export default class HotReloader {
  17. private dir;
  18. private buildId;
  19. private interceptors;
  20. private pagesDir?;
  21. private distDir;
  22. private webpackHotMiddleware?;
  23. private config;
  24. hasServerComponents: boolean;
  25. hasReactRoot: boolean;
  26. clientStats: webpack.Stats | null;
  27. serverStats: webpack.Stats | null;
  28. edgeServerStats: webpack.Stats | null;
  29. private clientError;
  30. private serverError;
  31. private serverPrevDocumentHash;
  32. private prevChunkNames?;
  33. private onDemandEntries?;
  34. private previewProps;
  35. private watcher;
  36. private rewrites;
  37. private fallbackWatcher;
  38. private hotReloaderSpan;
  39. private pagesMapping;
  40. private appDir?;
  41. multiCompiler?: webpack.MultiCompiler;
  42. activeConfigs?: Array<UnwrapPromise<ReturnType<typeof getBaseWebpackConfig>>>;
  43. constructor(dir: string, { config, pagesDir, distDir, buildId, previewProps, rewrites, appDir, }: {
  44. config: NextConfigComplete;
  45. pagesDir?: string;
  46. distDir: string;
  47. buildId: string;
  48. previewProps: __ApiPreviewProps;
  49. rewrites: CustomRoutes['rewrites'];
  50. appDir?: string;
  51. });
  52. run(req: IncomingMessage, res: ServerResponse, parsedUrl: UrlObject): Promise<{
  53. finished?: true;
  54. }>;
  55. onHMR(req: IncomingMessage, _res: ServerResponse, head: Buffer): void;
  56. private clean;
  57. private getWebpackConfig;
  58. buildFallbackError(): Promise<void>;
  59. start(initial?: boolean): Promise<void>;
  60. invalidate(): void;
  61. stop(): Promise<void>;
  62. getCompilationErrors(page: string): Promise<any[]>;
  63. send(action?: string | any, ...args: any[]): void;
  64. ensurePage({ page, clientOnly, appPaths, }: {
  65. page: string;
  66. clientOnly: boolean;
  67. appPaths?: string[] | null;
  68. }): Promise<void>;
  69. }