UNPKG

@serverless-stack/nextjs-lambda

Version:

Provides handlers that can be used in CloudFront Lambda@Edge to deploy next.js applications to the edge

63 lines (62 loc) 3.23 kB
/// <reference types="node" /> import { NodeFileTraceReasons } from "@vercel/nft"; import { OriginRequestDefaultHandlerManifest, OriginRequestApiHandlerManifest, RoutesManifest, OriginRequestImageHandlerManifest } from "./types"; import { Job } from "@vercel/nft/out/node-file-trace"; import { NextConfig } from "@serverless-stack/nextjs-core/dist/build"; export declare const DEFAULT_LAMBDA_CODE_DIR = "default-lambda"; export declare const API_LAMBDA_CODE_DIR = "api-lambda"; export declare const IMAGE_LAMBDA_CODE_DIR = "image-lambda"; export declare const REGENERATION_LAMBDA_CODE_DIR = "regeneration-lambda"; export declare const ASSETS_DIR = "assets"; declare type BuildOptions = { args?: string[]; cwd?: string; env?: NodeJS.ProcessEnv; cmd?: string; useServerlessTraceTarget?: boolean; logLambdaExecutionTimes?: boolean; domainRedirects?: { [key: string]: string; }; minifyHandlers?: boolean; enableHTTPCompression?: boolean; handler?: string; authentication?: { username: string; password: string; } | undefined; resolve?: (id: string, parent: string, job: Job, cjsResolve: boolean) => string | string[]; baseDir?: string; cleanupDotNext?: boolean; assetIgnorePatterns?: string[]; regenerationQueueName?: string; }; declare class Builder { nextConfigDir: string; nextStaticDir: string; dotNextDir: string; serverlessDir: string; outputDir: string; buildOptions: BuildOptions; constructor(nextConfigDir: string, outputDir: string, buildOptions?: BuildOptions, nextStaticDir?: string); readPublicFiles(assetIgnorePatterns: string[]): Promise<string[]>; readPagesManifest(): Promise<{ [key: string]: string; }>; copyLambdaHandlerDependencies(fileList: string[], reasons: NodeFileTraceReasons, handlerDirectory: string, base: string): Promise<void>[]; isSSRJSFile(buildManifest: OriginRequestDefaultHandlerManifest, relativePageFile: string): boolean; processAndCopyRoutesManifest(source: string, destination: string): Promise<void>; processAndCopyHandler(handlerType: "api-handler" | "default-handler" | "image-handler" | "regeneration-handler", destination: string, shouldMinify: boolean): Promise<void>; copyTraces(buildManifest: OriginRequestDefaultHandlerManifest, destination: string): Promise<void>; buildDefaultLambda(buildManifest: OriginRequestDefaultHandlerManifest): Promise<void[]>; buildApiLambda(apiBuildManifest: OriginRequestApiHandlerManifest): Promise<void[]>; buildRegenerationHandler(buildManifest: OriginRequestDefaultHandlerManifest): Promise<void>; copyChunks(buildDir: string): Promise<void>; buildImageLambda(buildManifest: OriginRequestImageHandlerManifest): Promise<void>; readNextConfig(): Promise<NextConfig | undefined>; buildStaticAssets(defaultBuildManifest: OriginRequestDefaultHandlerManifest, routesManifest: RoutesManifest, ignorePatterns: string[]): Promise<void[]>; cleanupDotNext(shouldClean: boolean): Promise<void>; build(debugMode?: boolean): Promise<void>; runThirdPartyIntegrations(defaultLambdaDir: string, regenerationLambdaDir: string): Promise<void>; } export default Builder;