UNPKG

astro-sst

Version:

Adapter that allows Astro to deploy your site to AWS utilizing SST.

55 lines (54 loc) 2.16 kB
import type { AstroConfig, IntegrationResolvedRoute, RouteType, ValidRedirectStatus } from "astro"; export declare const BUILD_META_FILE_NAME = "sst.buildMeta.json"; type ResponseMode = "stream" | "buffer"; export type BuildMetaConfig = { astroVersion: string; pluginVersion: string; base: AstroConfig["base"]; domainName?: string; responseMode: ResponseMode; outputMode: AstroConfig["output"]; pageResolution: AstroConfig["build"]["format"]; trailingSlash: AstroConfig["trailingSlash"]; serverBuildOutputFile: string; clientBuildOutputDir: string; clientBuildVersionedSubDir: string; routes: Array<{ route: string; type: RouteType; pattern: string; prerender?: boolean; redirectPath?: string; redirectStatus?: ValidRedirectStatus; }>; }; export type IntegrationConfig = { responseMode: ResponseMode; }; export declare class BuildMeta { protected static integrationConfig: IntegrationConfig; protected static astroConfig: AstroConfig; protected static routes: IntegrationResolvedRoute[]; protected static buildOutput: AstroConfig["output"]; static setIntegrationConfig(config: IntegrationConfig): void; static setAstroConfig(config: AstroConfig): void; static setRoutes(routes: IntegrationResolvedRoute[]): void; static setBuildOutput(output: AstroConfig["output"]): void; static handlePrerendered404InSsr(): Promise<void>; /** * The main function that exports all build metadata to a JSON file. * Processes all routes from the build result, handles trailing slash redirects, * adds asset routes, and writes the complete configuration to the output directory. */ static writeToFile(): Promise<void>; /** * Creates a redirect path string from route segments. * Handles dynamic segments by replacing them with ${n} placeholders. * Takes trailing slash configuration into account. * * Example: For "/blog/[id]" route with "always" trailing slash, returns "/blog/${1}/" */ private static buildRedirectPath; private static getAdapterVersion; } export {};