Home / File/ preview.ts — astro Source File

preview.ts — astro Source File

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

File typescript CoreAstro RoutingSystem 8 imports 3 functions

Entity Profile

Dependency Diagram

graph LR
  0e850bda_fb21_6bc2_df97_aab29717b7c7["preview.ts"]
  22f5c3b0_9997_c1be_8811_a6d4604ad86a["./wrangler.js"]
  0e850bda_fb21_6bc2_df97_aab29717b7c7 --> 22f5c3b0_9997_c1be_8811_a6d4604ad86a
  f16d8c76_2866_6150_bd14_0347b59abfe9["astro"]
  0e850bda_fb21_6bc2_df97_aab29717b7c7 --> f16d8c76_2866_6150_bd14_0347b59abfe9
  263e522e_1aa5_ebc3_e7d6_45ebc51671f7["vite"]
  0e850bda_fb21_6bc2_df97_aab29717b7c7 --> 263e522e_1aa5_ebc3_e7d6_45ebc51671f7
  d9a92db9_c95e_9165_13ac_24b3d859d946["node:url"]
  0e850bda_fb21_6bc2_df97_aab29717b7c7 --> d9a92db9_c95e_9165_13ac_24b3d859d946
  cd61a25f_49b5_edd2_d556_1f8a13996d51["vite-plugin"]
  0e850bda_fb21_6bc2_df97_aab29717b7c7 --> cd61a25f_49b5_edd2_d556_1f8a13996d51
  c2f6615e_96e9_c4eb_5f71_cf120e271705["node:http"]
  0e850bda_fb21_6bc2_df97_aab29717b7c7 --> c2f6615e_96e9_c4eb_5f71_cf120e271705
  10250468_0e83_bd69_43e9_3bcef2294a91["piccolore"]
  0e850bda_fb21_6bc2_df97_aab29717b7c7 --> 10250468_0e83_bd69_43e9_3bcef2294a91
  253d3b9c_f382_44a6_02fa_ae7052447d04["node:perf_hooks"]
  0e850bda_fb21_6bc2_df97_aab29717b7c7 --> 253d3b9c_f382_44a6_02fa_ae7052447d04
  style 0e850bda_fb21_6bc2_df97_aab29717b7c7 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import type { CreatePreviewServer } from 'astro';
import {
	preview,
	type PreviewServer as VitePreviewServer,
	type CLIShortcut,
	type ResolvedServerUrls,
} from 'vite';
import { fileURLToPath } from 'node:url';
import { cloudflare as cfVitePlugin, type PluginConfig } from '@cloudflare/vite-plugin';
import type * as http from 'node:http';
import colors from 'piccolore';
import { performance } from 'node:perf_hooks';
import { cloudflareConfigCustomizer } from '../wrangler.js';

const createPreviewServer: CreatePreviewServer = async ({
	logger,
	base,
	server,
	headers,
	port,
	host,
	root,
}) => {
	const startServerTime = performance.now();
	let previewServer: VitePreviewServer;
	const cfPluginConfig: PluginConfig = {
		viteEnvironment: { name: 'ssr' },
		config: cloudflareConfigCustomizer(),
	};

	try {
		previewServer = await preview({
			configFile: false,
			base,
			appType: 'mpa',
			build: {
				outDir: fileURLToPath(server),
			},
			root: fileURLToPath(root),
			preview: {
				host,
				port,
				headers,
				open: false,
				allowedHosts: [],
			},
			plugins: [cfVitePlugin(cfPluginConfig)],
		});
	} catch (err) {
		if (err instanceof Error) {
			logger.error(err.stack || err.message);
		}
		throw err;
	}

	// Set up shortcuts

	const customShortcuts: Array<CLIShortcut> = [
		// Disable default Vite shortcuts that don't work well with Astro
		{ key: 'r', description: '' },
// ... (97 more lines)

Domain

Subdomains

Dependencies

  • ./wrangler.js
  • astro
  • node:http
  • node:perf_hooks
  • node:url
  • piccolore
  • vite
  • vite-plugin

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 CoreAstro domain, RoutingSystem subdomain.
What functions are defined in preview.ts?
preview.ts defines 3 function(s): createPreviewServer, getNetworkLogging, serverStart.
What does preview.ts depend on?
preview.ts imports 8 module(s): ./wrangler.js, astro, node:http, node:perf_hooks, node:url, piccolore, vite, vite-plugin.
Where is preview.ts in the architecture?
preview.ts is located at packages/integrations/cloudflare/src/entrypoints/preview.ts (domain: CoreAstro, subdomain: RoutingSystem, directory: packages/integrations/cloudflare/src/entrypoints).

Analyze Your Own Codebase

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

Try Supermodel Free