Home / Function/ buildServerlessFolder() — astro Function Reference

buildServerlessFolder() — astro Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  b08d0cb6_4d5e_9fe0_317b_85cd9ce4765d["buildServerlessFolder()"]
  b9cdb338_a865_cfb5_1987_5fa8663f4726["VercelBuilder"]
  b08d0cb6_4d5e_9fe0_317b_85cd9ce4765d -->|defined in| b9cdb338_a865_cfb5_1987_5fa8663f4726
  0219003e_0431_f5b2_9b31_f2db70f1ade0["vercelAdapter()"]
  0219003e_0431_f5b2_9b31_f2db70f1ade0 -->|calls| b08d0cb6_4d5e_9fe0_317b_85cd9ce4765d
  8053f98f_c4a0_24d5_fb52_9329536f5a87["buildISRFolder()"]
  8053f98f_c4a0_24d5_fb52_9329536f5a87 -->|calls| b08d0cb6_4d5e_9fe0_317b_85cd9ce4765d
  style b08d0cb6_4d5e_9fe0_317b_85cd9ce4765d fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/integrations/vercel/src/index.ts lines 658–693

	async buildServerlessFolder(entry: URL, functionName: string, root: URL) {
		const { includeFiles, excludeFiles, logger, NTF_CACHE, runtime, maxDuration } = this;
		// .vercel/output/functions/<name>.func/
		const functionFolder = new URL(`./functions/${functionName}.func/`, this.outDir);
		const packageJson = new URL(`./functions/${functionName}.func/package.json`, this.outDir);
		const vcConfig = new URL(`./functions/${functionName}.func/.vc-config.json`, this.outDir);

		// Copy necessary files (e.g. node_modules/)
		const { handler } = await copyDependenciesToFunction(
			{
				entry,
				outDir: functionFolder,
				includeFiles,
				excludeFiles,
				logger,
				root,
			},
			NTF_CACHE,
		);

		// Enable ESM
		// https://aws.amazon.com/blogs/compute/using-node-js-es-modules-and-top-level-await-in-aws-lambda/
		await writeJson(packageJson, {
			type: 'module',
		});

		// Serverless function config
		// https://vercel.com/docs/build-output-api/v3#vercel-primitives/serverless-functions/configuration
		await writeJson(vcConfig, {
			runtime,
			handler: handler.replaceAll('\\', '/'),
			launcherType: 'Nodejs',
			maxDuration,
			supportsResponseStreaming: true,
		});
	}

Domain

Subdomains

Frequently Asked Questions

What does buildServerlessFolder() do?
buildServerlessFolder() is a function in the astro codebase, defined in packages/integrations/vercel/src/index.ts.
Where is buildServerlessFolder() defined?
buildServerlessFolder() is defined in packages/integrations/vercel/src/index.ts at line 658.
What calls buildServerlessFolder()?
buildServerlessFolder() is called by 2 function(s): buildISRFolder, vercelAdapter.

Analyze Your Own Codebase

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

Try Supermodel Free