63 lines
2.0 KiB
Plaintext
63 lines
2.0 KiB
Plaintext
|
import type * as vite from 'vite';
|
||
|
import type { InlineConfig } from 'vite';
|
||
|
import type { AstroConfig, AstroSettings, ComponentInstance, ManifestData, MiddlewareHandler, RouteData, RuntimeMode, SSRLoadedRenderer } from '../../@types/astro.js';
|
||
|
import type { Logger } from '../logger/core.js';
|
||
|
import type { RouteCache } from '../render/route-cache.js';
|
||
|
export type ComponentPath = string;
|
||
|
export type ViteID = string;
|
||
|
export type PageOutput = AstroConfig['output'];
|
||
|
export type StylesheetAsset = {
|
||
|
type: 'inline';
|
||
|
content: string;
|
||
|
} | {
|
||
|
type: 'external';
|
||
|
src: string;
|
||
|
};
|
||
|
export interface PageBuildData {
|
||
|
component: ComponentPath;
|
||
|
route: RouteData;
|
||
|
moduleSpecifier: string;
|
||
|
propagatedStyles: Map<string, Set<StylesheetAsset>>;
|
||
|
propagatedScripts: Map<string, Set<string>>;
|
||
|
hoistedScript: {
|
||
|
type: 'inline' | 'external';
|
||
|
value: string;
|
||
|
} | undefined;
|
||
|
styles: Array<{
|
||
|
depth: number;
|
||
|
order: number;
|
||
|
sheet: StylesheetAsset;
|
||
|
}>;
|
||
|
}
|
||
|
export type AllPagesData = Record<ComponentPath, PageBuildData>;
|
||
|
/** Options for the static build */
|
||
|
export interface StaticBuildOptions {
|
||
|
allPages: AllPagesData;
|
||
|
settings: AstroSettings;
|
||
|
logger: Logger;
|
||
|
manifest: ManifestData;
|
||
|
mode: RuntimeMode;
|
||
|
origin: string;
|
||
|
pageNames: string[];
|
||
|
routeCache: RouteCache;
|
||
|
viteConfig: InlineConfig;
|
||
|
teardownCompiler: boolean;
|
||
|
}
|
||
|
type ImportComponentInstance = () => Promise<ComponentInstance>;
|
||
|
export interface SinglePageBuiltModule {
|
||
|
page: ImportComponentInstance;
|
||
|
/**
|
||
|
* The `onRequest` hook exported by the middleware
|
||
|
*/
|
||
|
onRequest?: MiddlewareHandler;
|
||
|
renderers: SSRLoadedRenderer[];
|
||
|
}
|
||
|
export type ViteBuildReturn = Awaited<ReturnType<typeof vite.build>>;
|
||
|
export type RollupOutput = Extract<Extract<ViteBuildReturn, Exclude<ViteBuildReturn, Array<any>>>, {
|
||
|
output: any;
|
||
|
}>;
|
||
|
export type OutputChunk = Extract<RollupOutput['output'][number], {
|
||
|
type: 'chunk';
|
||
|
}>;
|
||
|
export {};
|