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
Defined In
Calls
Source
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