middleware-plugin.d.ts 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import type { AssetBinding } from '../loaders/get-module-build-info';
  2. import type { MiddlewareMatcher } from '../../analysis/get-page-static-info';
  3. import { webpack } from 'next/dist/compiled/webpack/webpack';
  4. export interface EdgeFunctionDefinition {
  5. env: string[];
  6. files: string[];
  7. name: string;
  8. page: string;
  9. matchers: MiddlewareMatcher[];
  10. wasm?: AssetBinding[];
  11. assets?: AssetBinding[];
  12. regions?: string[] | string;
  13. }
  14. export interface MiddlewareManifest {
  15. version: 2;
  16. sortedMiddleware: string[];
  17. middleware: {
  18. [page: string]: EdgeFunctionDefinition;
  19. };
  20. functions: {
  21. [page: string]: EdgeFunctionDefinition;
  22. };
  23. }
  24. export default class MiddlewarePlugin {
  25. private readonly dev;
  26. private readonly sriEnabled;
  27. private readonly allowMiddlewareResponseBody;
  28. constructor({ dev, sriEnabled, allowMiddlewareResponseBody, }: {
  29. dev: boolean;
  30. sriEnabled: boolean;
  31. allowMiddlewareResponseBody: boolean;
  32. });
  33. apply(compiler: webpack.Compiler): void;
  34. }
  35. export declare function handleWebpackExtenalForEdgeRuntime({ request, context, contextInfo, getResolve, }: {
  36. request: string;
  37. context: string;
  38. contextInfo: any;
  39. getResolve: () => any;
  40. }): Promise<string | undefined>;