UNPKG

@sls-next/lambda-at-edge

Version:

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

67 lines (66 loc) 3.56 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 "@sls-next/core"; 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) => Promise<string | string[]>; baseDir?: string; cleanupDotNext?: boolean; assetIgnorePatterns?: string[]; regenerationQueueName?: string; separateApiLambda?: boolean; disableOriginResponseHandler?: boolean; useV2Handler?: boolean; }; 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" | "default-handler-v2" | "regeneration-handler-v2", destination: string, shouldMinify: boolean): Promise<void>; copyTraces(buildManifest: OriginRequestDefaultHandlerManifest, destination: string): Promise<void>; buildDefaultLambda(buildManifest: OriginRequestDefaultHandlerManifest, apiBuildManifest: OriginRequestApiHandlerManifest, separateApiLambda: boolean, useV2Handler: boolean): Promise<void[]>; buildApiLambda(apiBuildManifest: OriginRequestApiHandlerManifest): Promise<void[]>; buildRegenerationHandler(buildManifest: OriginRequestDefaultHandlerManifest, useV2Handler: boolean): Promise<void>; copyChunks(handlerDir: string): Promise<void>; copyJSFiles(handlerDir: string): Promise<void>; buildImageLambda(buildManifest: OriginRequestImageHandlerManifest): Promise<void>; readNextConfig(): Promise<NextConfig | undefined>; buildStaticAssets(defaultBuildManifest: OriginRequestDefaultHandlerManifest, routesManifest: RoutesManifest, ignorePatterns: string[]): Promise<[void, ...void[]]>; cleanupDotNext(shouldClean: boolean): Promise<void>; build(debugMode?: boolean): Promise<void>; runThirdPartyIntegrations(defaultLambdaDir: string, regenerationLambdaDir: string): Promise<void>; } export default Builder;