Home / File/ preview.ts — astro Source File

preview.ts — astro Source File

Architecture documentation for preview.ts, a typescript file in the astro codebase. 3 imports, 0 dependents.

Entity Profile

Dependency Diagram

graph LR
  091232e7_bb61_8242_10a5_61528a244cf7["preview.ts"]
  c2f6615e_96e9_c4eb_5f71_cf120e271705["node:http"]
  091232e7_bb61_8242_10a5_61528a244cf7 --> c2f6615e_96e9_c4eb_5f71_cf120e271705
  f16d8c76_2866_6150_bd14_0347b59abfe9["astro"]
  091232e7_bb61_8242_10a5_61528a244cf7 --> f16d8c76_2866_6150_bd14_0347b59abfe9
  89910508_08ee_53bc_2fb7_02df7e8a3838["server-destroy"]
  091232e7_bb61_8242_10a5_61528a244cf7 --> 89910508_08ee_53bc_2fb7_02df7e8a3838
  style 091232e7_bb61_8242_10a5_61528a244cf7 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { createServer } from 'node:http';
import type { CreatePreviewServer } from 'astro';
import enableDestroy from 'server-destroy';

const preview: CreatePreviewServer = async function ({ serverEntrypoint, host, port }) {
	const ssrModule = await import(serverEntrypoint.toString());
	const ssrHandler = ssrModule.handler;
	const server = createServer(ssrHandler);
	server.listen(port, host);
	enableDestroy(server);

	// biome-ignore lint/suspicious/noConsole: allowed
	console.log(`Preview server listening on http://${host}:${port}`);

	// Resolves once the server is closed
	const closed = new Promise<void>((resolve, reject) => {
		server.addListener('close', resolve);
		server.addListener('error', reject);
	});

	return {
		host,
		port,
		closed() {
			return closed;
		},
		server,
		stop: async () => {
			await new Promise((resolve, reject) => {
				server.destroy((err) => (err ? reject(err) : resolve(undefined)));
			});
		},
	};
};

export { preview as default };

Subdomains

Functions

Dependencies

  • astro
  • node:http
  • server-destroy

Frequently Asked Questions

What does preview.ts do?
preview.ts is a source file in the astro codebase, written in typescript. It belongs to the PerformanceBenchmarking domain, MetricsCalculator subdomain.
What functions are defined in preview.ts?
preview.ts defines 1 function(s): preview.
What does preview.ts depend on?
preview.ts imports 3 module(s): astro, node:http, server-destroy.
Where is preview.ts in the architecture?
preview.ts is located at benchmark/packages/timer/src/preview.ts (domain: PerformanceBenchmarking, subdomain: MetricsCalculator, directory: benchmark/packages/timer/src).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free