Home / File/ config.ts — astro Source File

config.ts — astro Source File

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

File typescript CoreAstro RenderingEngine 5 imports 2 functions

Entity Profile

Dependency Diagram

graph LR
  93b6d1fa_b78d_25ec_ec93_dc71c857dfdf["config.ts"]
  bf5441b3_b825_f070_aed3_a0f2ac54caa3["../core/routing/manifest/create.js"]
  93b6d1fa_b78d_25ec_ec93_dc71c857dfdf --> bf5441b3_b825_f070_aed3_a0f2ac54caa3
  a1519c71_eb4f_7c62_b5c1_9d29320228d0["../routing/manifest/pattern.js"]
  93b6d1fa_b78d_25ec_ec93_dc71c857dfdf --> a1519c71_eb4f_7c62_b5c1_9d29320228d0
  e9b74c5a_8d34_34a7_e196_5e41b87214aa["../types/astro.js"]
  93b6d1fa_b78d_25ec_ec93_dc71c857dfdf --> e9b74c5a_8d34_34a7_e196_5e41b87214aa
  10d4e39f_edb6_3e34_aa93_ae1211e7da05["../types/public/internal.js"]
  93b6d1fa_b78d_25ec_ec93_dc71c857dfdf --> 10d4e39f_edb6_3e34_aa93_ae1211e7da05
  e4df8f29_fb2f_3d70_a962_fdf6a3670b22["path"]
  93b6d1fa_b78d_25ec_ec93_dc71c857dfdf --> e4df8f29_fb2f_3d70_a962_fdf6a3670b22
  style 93b6d1fa_b78d_25ec_ec93_dc71c857dfdf fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import {
	removeLeadingForwardSlash,
	removeTrailingForwardSlash,
} from '@astrojs/internal-helpers/path';
import { resolveInjectedRoute } from '../../core/routing/manifest/create.js';
import { getPattern } from '../../core/routing/manifest/pattern.js';
import type { AstroSettings, RoutesList } from '../../types/astro.js';
import type { RouteData } from '../../types/public/internal.js';

export function injectImageEndpoint(
	settings: AstroSettings,
	manifest: RoutesList,
	mode: 'dev' | 'build',
	cwd?: string,
) {
	manifest.routes.unshift(getImageEndpointData(settings, mode, cwd));
}

function getImageEndpointData(
	settings: AstroSettings,
	mode: 'dev' | 'build',
	cwd?: string,
): RouteData {
	const endpointEntrypoint =
		settings.config.image.endpoint.entrypoint === undefined // If not set, use default endpoint
			? mode === 'dev'
				? 'astro/assets/endpoint/dev'
				: 'astro/assets/endpoint/generic'
			: settings.config.image.endpoint.entrypoint;

	const segments = [
		[
			{
				content: removeTrailingForwardSlash(
					removeLeadingForwardSlash(settings.config.image.endpoint.route),
				),
				dynamic: false,
				spread: false,
			},
		],
	];

	return {
		type: 'endpoint',
		isIndex: false,
		route: settings.config.image.endpoint.route,
		pattern: getPattern(segments, settings.config.base, settings.config.trailingSlash),
		segments,
		params: [],
		component: resolveInjectedRoute(endpointEntrypoint, settings.config.root, cwd).component,
		pathname: settings.config.image.endpoint.route,
		prerender: false,
		fallbackRoutes: [],
		origin: 'internal',
		distURL: [],
	};
}

Domain

Subdomains

Dependencies

  • ../core/routing/manifest/create.js
  • ../routing/manifest/pattern.js
  • ../types/astro.js
  • ../types/public/internal.js
  • path

Frequently Asked Questions

What does config.ts do?
config.ts is a source file in the astro codebase, written in typescript. It belongs to the CoreAstro domain, RenderingEngine subdomain.
What functions are defined in config.ts?
config.ts defines 2 function(s): getImageEndpointData, injectImageEndpoint.
What does config.ts depend on?
config.ts imports 5 module(s): ../core/routing/manifest/create.js, ../routing/manifest/pattern.js, ../types/astro.js, ../types/public/internal.js, path.
Where is config.ts in the architecture?
config.ts is located at packages/astro/src/assets/endpoint/config.ts (domain: CoreAstro, subdomain: RenderingEngine, directory: packages/astro/src/assets/endpoint).

Analyze Your Own Codebase

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

Try Supermodel Free