Home / File/ prerender.ts — astro Source File

prerender.ts — astro Source File

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

File typescript CoreAstro RoutingSystem 5 imports 1 functions

Entity Profile

Dependency Diagram

graph LR
  38e74a42_461a_7851_4408_04bbe406277e["prerender.ts"]
  ec3f57f9_1334_b72b_abeb_11b186147ebe["../integrations/hooks.js"]
  38e74a42_461a_7851_4408_04bbe406277e --> ec3f57f9_1334_b72b_abeb_11b186147ebe
  8651c206_171a_4a48_b04b_b47f5573b5da["../prerender/utils.js"]
  38e74a42_461a_7851_4408_04bbe406277e --> 8651c206_171a_4a48_b04b_b47f5573b5da
  e9b74c5a_8d34_34a7_e196_5e41b87214aa["../types/astro.js"]
  38e74a42_461a_7851_4408_04bbe406277e --> e9b74c5a_8d34_34a7_e196_5e41b87214aa
  10d4e39f_edb6_3e34_aa93_ae1211e7da05["../types/public/internal.js"]
  38e74a42_461a_7851_4408_04bbe406277e --> 10d4e39f_edb6_3e34_aa93_ae1211e7da05
  d3861967_b647_84d2_ff48_15013353bd56["../core/logger/core.js"]
  38e74a42_461a_7851_4408_04bbe406277e --> d3861967_b647_84d2_ff48_15013353bd56
  style 38e74a42_461a_7851_4408_04bbe406277e fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { runHookRouteSetup } from '../../../integrations/hooks.js';
import { getPrerenderDefault } from '../../../prerender/utils.js';
import type { AstroSettings } from '../../../types/astro.js';
import type { RouteData } from '../../../types/public/internal.js';
import type { Logger } from '../../logger/core.js';

const PRERENDER_REGEX = /^\s*export\s+const\s+prerender\s*=\s*(true|false);?/m;

export async function getRoutePrerenderOption(
	content: string,
	route: RouteData,
	settings: AstroSettings,
	logger: Logger,
) {
	// Check if the route is pre-rendered or not
	const match = PRERENDER_REGEX.exec(content);
	if (match) {
		route.prerender = match[1] === 'true';
		if (route.redirectRoute) {
			route.redirectRoute.prerender = match[1] === 'true';
		}
	}

	await runHookRouteSetup({ route, settings, logger });

	// If not explicitly set, default to the global setting
	if (typeof route.prerender === undefined) {
		route.prerender = getPrerenderDefault(settings.config);
	}

	if (!route.prerender) settings.buildOutput = 'server';
}

Domain

Subdomains

Dependencies

  • ../core/logger/core.js
  • ../integrations/hooks.js
  • ../prerender/utils.js
  • ../types/astro.js
  • ../types/public/internal.js

Frequently Asked Questions

What does prerender.ts do?
prerender.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 prerender.ts?
prerender.ts defines 1 function(s): getRoutePrerenderOption.
What does prerender.ts depend on?
prerender.ts imports 5 module(s): ../core/logger/core.js, ../integrations/hooks.js, ../prerender/utils.js, ../types/astro.js, ../types/public/internal.js.
Where is prerender.ts in the architecture?
prerender.ts is located at packages/astro/src/core/routing/manifest/prerender.ts (domain: CoreAstro, subdomain: RoutingSystem, directory: packages/astro/src/core/routing/manifest).

Analyze Your Own Codebase

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

Try Supermodel Free