astro-sst
Version:
Adapter that allows Astro to deploy your site to AWS utilizing SST.
55 lines (54 loc) • 2.16 kB
TypeScript
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 {};