webpack-config.d.ts 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. import { webpack } from 'next/dist/compiled/webpack/webpack';
  2. import { CustomRoutes } from '../lib/load-custom-routes.js';
  3. import { CompilerNameValues } from '../shared/lib/constants';
  4. import { NextConfigComplete } from '../server/config-shared';
  5. import type { Span } from '../trace';
  6. import type { MiddlewareMatcher } from './analysis/get-page-static-info';
  7. export declare function getDefineEnv({ dev, config, distDir, isClient, hasRewrites, hasReactRoot, isNodeServer, isEdgeServer, middlewareMatchers, }: {
  8. dev?: boolean;
  9. distDir: string;
  10. isClient?: boolean;
  11. hasRewrites?: boolean;
  12. hasReactRoot?: boolean;
  13. isNodeServer?: boolean;
  14. isEdgeServer?: boolean;
  15. middlewareMatchers?: MiddlewareMatcher[];
  16. config: NextConfigComplete;
  17. }): {
  18. 'process.env'?: string | undefined;
  19. 'global.GENTLY'?: string | undefined;
  20. 'process.env.__NEXT_TRAILING_SLASH': string;
  21. 'process.env.__NEXT_BUILD_INDICATOR': string;
  22. 'process.env.__NEXT_BUILD_INDICATOR_POSITION': string;
  23. 'process.env.__NEXT_STRICT_MODE': string;
  24. 'process.env.__NEXT_REACT_ROOT': string;
  25. 'process.env.__NEXT_OPTIMIZE_FONTS': string;
  26. 'process.env.__NEXT_OPTIMIZE_CSS': string;
  27. 'process.env.__NEXT_SCRIPT_WORKERS': string;
  28. 'process.env.__NEXT_SCROLL_RESTORATION': string;
  29. 'process.env.__NEXT_IMAGE_OPTS': string;
  30. 'process.env.__NEXT_ROUTER_BASEPATH': string;
  31. 'process.env.__NEXT_HAS_REWRITES': string;
  32. 'process.env.__NEXT_I18N_SUPPORT': string;
  33. 'process.env.__NEXT_I18N_DOMAINS': string;
  34. 'process.env.__NEXT_ANALYTICS_ID': string;
  35. 'process.env.__NEXT_DIST_DIR'?: string | undefined;
  36. 'process.env.__NEXT_MIDDLEWARE_MATCHERS': string;
  37. 'process.env.__NEXT_MANUAL_CLIENT_BASE_PATH': string;
  38. 'process.env.__NEXT_NEW_LINK_BEHAVIOR': string;
  39. 'process.env.__NEXT_OPTIMISTIC_CLIENT_CACHE': string;
  40. 'process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE': string;
  41. 'process.env.__NEXT_ALLOW_MIDDLEWARE_RESPONSE_BODY': string;
  42. 'process.env.__NEXT_MANUAL_TRAILING_SLASH': string;
  43. 'process.env.__NEXT_CROSS_ORIGIN': string;
  44. 'process.browser': string;
  45. 'process.env.__NEXT_TEST_MODE': string;
  46. 'process.env.NEXT_RUNTIME'?: string | undefined;
  47. 'process.env.NODE_ENV': string;
  48. EdgeRuntime?: string | undefined;
  49. __NEXT_DEFINE_ENV: string;
  50. };
  51. export declare function attachReactRefresh(webpackConfig: webpack.Configuration, targetLoader: webpack.RuleSetUseItem): void;
  52. export declare const NODE_RESOLVE_OPTIONS: {
  53. dependencyType: string;
  54. modules: string[];
  55. fallback: boolean;
  56. exportsFields: string[];
  57. importsFields: string[];
  58. conditionNames: string[];
  59. descriptionFiles: string[];
  60. extensions: string[];
  61. enforceExtensions: boolean;
  62. symlinks: boolean;
  63. mainFields: string[];
  64. mainFiles: string[];
  65. roots: never[];
  66. fullySpecified: boolean;
  67. preferRelative: boolean;
  68. preferAbsolute: boolean;
  69. restrictions: never[];
  70. };
  71. export declare const NODE_BASE_RESOLVE_OPTIONS: {
  72. alias: boolean;
  73. dependencyType: string;
  74. modules: string[];
  75. fallback: boolean;
  76. exportsFields: string[];
  77. importsFields: string[];
  78. conditionNames: string[];
  79. descriptionFiles: string[];
  80. extensions: string[];
  81. enforceExtensions: boolean;
  82. symlinks: boolean;
  83. mainFields: string[];
  84. mainFiles: string[];
  85. roots: never[];
  86. fullySpecified: boolean;
  87. preferRelative: boolean;
  88. preferAbsolute: boolean;
  89. restrictions: never[];
  90. };
  91. export declare const NODE_ESM_RESOLVE_OPTIONS: {
  92. alias: boolean;
  93. dependencyType: string;
  94. conditionNames: string[];
  95. fullySpecified: boolean;
  96. modules: string[];
  97. fallback: boolean;
  98. exportsFields: string[];
  99. importsFields: string[];
  100. descriptionFiles: string[];
  101. extensions: string[];
  102. enforceExtensions: boolean;
  103. symlinks: boolean;
  104. mainFields: string[];
  105. mainFiles: string[];
  106. roots: never[];
  107. preferRelative: boolean;
  108. preferAbsolute: boolean;
  109. restrictions: never[];
  110. };
  111. export declare const NODE_BASE_ESM_RESOLVE_OPTIONS: {
  112. alias: boolean;
  113. dependencyType: string;
  114. conditionNames: string[];
  115. fullySpecified: boolean;
  116. modules: string[];
  117. fallback: boolean;
  118. exportsFields: string[];
  119. importsFields: string[];
  120. descriptionFiles: string[];
  121. extensions: string[];
  122. enforceExtensions: boolean;
  123. symlinks: boolean;
  124. mainFields: string[];
  125. mainFiles: string[];
  126. roots: never[];
  127. preferRelative: boolean;
  128. preferAbsolute: boolean;
  129. restrictions: never[];
  130. };
  131. export declare const nextImageLoaderRegex: RegExp;
  132. export declare function resolveExternal(appDir: string, esmExternalsConfig: NextConfigComplete['experimental']['esmExternals'], context: string, request: string, isEsmRequested: boolean, getResolve: (options: any) => (resolveContext: string, resolveRequest: string) => Promise<[string | null, boolean]>, isLocalCallback?: (res: string) => any, baseResolveCheck?: boolean, esmResolveOptions?: any, nodeResolveOptions?: any, baseEsmResolveOptions?: any, baseResolveOptions?: any): Promise<{
  133. localRes: any;
  134. res?: undefined;
  135. isEsm?: undefined;
  136. } | {
  137. res: string | null;
  138. isEsm: boolean;
  139. localRes?: undefined;
  140. }>;
  141. export default function getBaseWebpackConfig(dir: string, { buildId, config, compilerType, dev, entrypoints, hasReactRoot, isDevFallback, pagesDir, reactProductionProfiling, rewrites, runWebpackSpan, target, appDir, middlewareMatchers, }: {
  142. buildId: string;
  143. config: NextConfigComplete;
  144. compilerType: CompilerNameValues;
  145. dev?: boolean;
  146. entrypoints: webpack.EntryObject;
  147. hasReactRoot: boolean;
  148. isDevFallback?: boolean;
  149. pagesDir?: string;
  150. reactProductionProfiling?: boolean;
  151. rewrites: CustomRoutes['rewrites'];
  152. runWebpackSpan: Span;
  153. target?: string;
  154. appDir?: string;
  155. middlewareMatchers?: MiddlewareMatcher[];
  156. }): Promise<webpack.Configuration>;