Home / Function/ vercelAdapter() — astro Function Reference

vercelAdapter() — astro Function Reference

Architecture documentation for the vercelAdapter() function in index.ts from the astro codebase.

Entity Profile

Dependency Diagram

graph TD
  0219003e_0431_f5b2_9b31_f2db70f1ade0["vercelAdapter()"]
  9b72c5c7_3349_4acd_8ca1_afe541842abe["index.ts"]
  0219003e_0431_f5b2_9b31_f2db70f1ade0 -->|defined in| 9b72c5c7_3349_4acd_8ca1_afe541842abe
  bd0b5522_a8a8_7b48_264b_eea043facf72["getAdapter()"]
  0219003e_0431_f5b2_9b31_f2db70f1ade0 -->|calls| bd0b5522_a8a8_7b48_264b_eea043facf72
  b08d0cb6_4d5e_9fe0_317b_85cd9ce4765d["buildServerlessFolder()"]
  0219003e_0431_f5b2_9b31_f2db70f1ade0 -->|calls| b08d0cb6_4d5e_9fe0_317b_85cd9ce4765d
  8053f98f_c4a0_24d5_fb52_9329536f5a87["buildISRFolder()"]
  0219003e_0431_f5b2_9b31_f2db70f1ade0 -->|calls| 8053f98f_c4a0_24d5_fb52_9329536f5a87
  e0424635_5fcc_b507_73d9_0057236d2bb6["buildMiddlewareFolder()"]
  0219003e_0431_f5b2_9b31_f2db70f1ade0 -->|calls| e0424635_5fcc_b507_73d9_0057236d2bb6
  abaf86fe_24d1_df12_8373_9ce824aeb498["isAcceptedPattern()"]
  0219003e_0431_f5b2_9b31_f2db70f1ade0 -->|calls| abaf86fe_24d1_df12_8373_9ce824aeb498
  81f08521_e4d5_19b6_ed8f_39e6b0f628fb["createRoutesWithStaticHeaders()"]
  0219003e_0431_f5b2_9b31_f2db70f1ade0 -->|calls| 81f08521_e4d5_19b6_ed8f_39e6b0f628fb
  style 0219003e_0431_f5b2_9b31_f2db70f1ade0 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/integrations/vercel/src/index.ts lines 212–628

export default function vercelAdapter({
	webAnalytics,
	includeFiles: _includeFiles = [],
	excludeFiles: _excludeFiles = [],
	imageService,
	imagesConfig,
	devImageService = 'sharp',
	edgeMiddleware = false,
	maxDuration,
	isr = false,
	skewProtection = process.env.VERCEL_SKEW_PROTECTION_ENABLED === '1',
	staticHeaders = false,
}: VercelServerlessConfig = {}): AstroIntegration {
	if (maxDuration) {
		if (typeof maxDuration !== 'number') {
			throw new TypeError(`maxDuration must be a number`, {
				cause: maxDuration,
			});
		}
		if (maxDuration <= 0) {
			throw new TypeError(`maxDuration must be a positive number`, {
				cause: maxDuration,
			});
		}
	}

	let _config: AstroConfig;
	let _buildTempFolder: URL;
	let _serverEntry: string;
	let _middlewareEntryPoint: URL | undefined;
	let _routeToHeaders: RouteToHeaders | undefined = undefined;
	// Extra files to be merged with `includeFiles` during build
	const extraFilesToInclude: URL[] = [];
	// Secret used to verify that the caller is the astro-generated edge middleware and not a third-party
	const middlewareSecret = crypto.randomUUID();

	let _buildOutput: 'server' | 'static';

	let staticDir: URL | undefined;
	let routes: IntegrationResolvedRoute[];

	return {
		name: PACKAGE_NAME,
		hooks: {
			'astro:config:setup': async ({ command, config, updateConfig, injectScript, logger }) => {
				if (webAnalytics?.enabled) {
					injectScript(
						'head-inline',
						await getInjectableWebAnalyticsContent({
							mode: command === 'dev' ? 'development' : 'production',
						}),
					);
				}

				staticDir = new URL('./.vercel/output/static', config.root);
				updateConfig({
					build: {
						format: 'directory',
						redirects: false,
					},
					integrations: [
						{
							name: 'astro:copy-vercel-output',
							hooks: {
								'astro:build:done': async () => {
									logger.info('Copying static files to .vercel/output/static');
									const _staticDir =
										_buildOutput === 'static' ? _config.outDir : _config.build.client;
									cpSync(_staticDir, new URL('./.vercel/output/static/', _config.root), {
										recursive: true,
									});
								},
							},
						},
					],
					vite: {
						ssr: {
							external: ['@vercel/nft'],
						},
						build: {
							rollupOptions: {

Domain

Subdomains

Frequently Asked Questions

What does vercelAdapter() do?
vercelAdapter() is a function in the astro codebase, defined in packages/integrations/vercel/src/index.ts.
Where is vercelAdapter() defined?
vercelAdapter() is defined in packages/integrations/vercel/src/index.ts at line 212.
What does vercelAdapter() call?
vercelAdapter() calls 6 function(s): buildISRFolder, buildMiddlewareFolder, buildServerlessFolder, createRoutesWithStaticHeaders, getAdapter, isAcceptedPattern.

Analyze Your Own Codebase

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

Try Supermodel Free