createStaticPreviewServer() — astro Function Reference
Architecture documentation for the createStaticPreviewServer() function in static-preview-server.ts from the astro codebase.
Entity Profile
Dependency Diagram
graph TD 9a0c3d75_688d_afc5_488e_8fc3d9b66391["createStaticPreviewServer()"] bf1307cf_9863_81da_aef9_4f34d8a84d2e["static-preview-server.ts"] 9a0c3d75_688d_afc5_488e_8fc3d9b66391 -->|defined in| bf1307cf_9863_81da_aef9_4f34d8a84d2e style 9a0c3d75_688d_afc5_488e_8fc3d9b66391 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/astro/src/core/preview/static-preview-server.ts lines 20–92
export default async function createStaticPreviewServer(
settings: AstroSettings,
logger: Logger,
): Promise<PreviewServer> {
const startServerTime = performance.now();
let previewServer: VitePreviewServer;
try {
previewServer = await preview({
configFile: false,
base: settings.config.base,
appType: 'mpa',
build: {
outDir: fileURLToPath(settings.config.outDir),
},
root: fileURLToPath(settings.config.root),
preview: {
host: settings.config.server.host,
port: settings.config.server.port,
headers: settings.config.server.headers,
open: settings.config.server.open,
allowedHosts: settings.config.server.allowedHosts,
},
plugins: [vitePluginAstroPreview(settings)],
});
} catch (err) {
if (err instanceof Error) {
logger.error(null, err.stack || err.message);
}
throw err;
}
// Set up shortcuts
const customShortcuts: Array<vite.CLIShortcut> = [
// Disable default Vite shortcuts that don't work well with Astro
{ key: 'r', description: '' },
{ key: 'u', description: '' },
{ key: 'c', description: '' },
{ key: 's', description: '' },
];
previewServer.bindCLIShortcuts({
customShortcuts,
});
// Log server start URLs
logger.info(
'SKIP_FORMAT',
msg.serverStart({
startupTime: performance.now() - startServerTime,
resolvedUrls: previewServer.resolvedUrls ?? { local: [], network: [] },
host: settings.config.server.host,
base: settings.config.base,
}),
);
// Resolves once the server is closed
function closed() {
return new Promise<void>((resolve, reject) => {
previewServer.httpServer.addListener('close', resolve);
previewServer.httpServer.addListener('error', reject);
});
}
return {
host: getResolvedHostForHttpServer(settings.config.server.host),
port: settings.config.server.port,
closed,
server: previewServer.httpServer as http.Server,
stop: previewServer.close.bind(previewServer),
};
}
Domain
Subdomains
Source
Frequently Asked Questions
What does createStaticPreviewServer() do?
createStaticPreviewServer() is a function in the astro codebase, defined in packages/astro/src/core/preview/static-preview-server.ts.
Where is createStaticPreviewServer() defined?
createStaticPreviewServer() is defined in packages/astro/src/core/preview/static-preview-server.ts at line 20.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free