Home / File/ app.ts — astro Source File

app.ts — astro Source File

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

File typescript CoreAstro RenderingEngine 22 imports 1 classes

Entity Profile

Dependency Diagram

graph LR
  6ca59778_1689_2eea_61cd_dfe5334eb243["app.ts"]
  97dbad4f_4a90_206c_6e29_6a54c12480f2["../core/app/index.js"]
  6ca59778_1689_2eea_61cd_dfe5334eb243 --> 97dbad4f_4a90_206c_6e29_6a54c12480f2
  c396bb1c_7eee_221a_d665_5744d13dc23f["../core/build/util.js"]
  6ca59778_1689_2eea_61cd_dfe5334eb243 --> c396bb1c_7eee_221a_d665_5744d13dc23f
  7216d952_4e4a_2d18_a85b_74b4ace79e2b["../core/constants.js"]
  6ca59778_1689_2eea_61cd_dfe5334eb243 --> 7216d952_4e4a_2d18_a85b_74b4ace79e2b
  8df634da_0f30_1e1f_1314_2439b0c9baab["../core/errors/errors-data.js"]
  6ca59778_1689_2eea_61cd_dfe5334eb243 --> 8df634da_0f30_1e1f_1314_2439b0c9baab
  ef8a1e3f_e350_75a6_b92d_62a8566d8db9["../core/errors/index.js"]
  6ca59778_1689_2eea_61cd_dfe5334eb243 --> ef8a1e3f_e350_75a6_b92d_62a8566d8db9
  d3861967_b647_84d2_ff48_15013353bd56["../core/logger/core.js"]
  6ca59778_1689_2eea_61cd_dfe5334eb243 --> d3861967_b647_84d2_ff48_15013353bd56
  32f8c7d4_d66e_e0cf_b019_46ec3f2fea31["../core/module-loader/index.js"]
  6ca59778_1689_2eea_61cd_dfe5334eb243 --> 32f8c7d4_d66e_e0cf_b019_46ec3f2fea31
  7e14fb1f_4abe_1438_9c6e_bb382e90b0fe["../core/render-context.js"]
  6ca59778_1689_2eea_61cd_dfe5334eb243 --> 7e14fb1f_4abe_1438_9c6e_bb382e90b0fe
  6f8d6404_9359_4a80_21ec_f5d07c6e4626["../core/request.js"]
  6ca59778_1689_2eea_61cd_dfe5334eb243 --> 6f8d6404_9359_4a80_21ec_f5d07c6e4626
  e9b74c5a_8d34_34a7_e196_5e41b87214aa["../types/astro.js"]
  6ca59778_1689_2eea_61cd_dfe5334eb243 --> e9b74c5a_8d34_34a7_e196_5e41b87214aa
  baa53824_73a3_1e03_2043_4d0c058ecca5["../types/public/index.js"]
  6ca59778_1689_2eea_61cd_dfe5334eb243 --> baa53824_73a3_1e03_2043_4d0c058ecca5
  1df740aa_2c16_6e41_684b_dfb098a3c1f2["./controller.js"]
  6ca59778_1689_2eea_61cd_dfe5334eb243 --> 1df740aa_2c16_6e41_684b_dfb098a3c1f2
  50974987_6e61_90fa_a6c1_30148cb19b9d["./error.js"]
  6ca59778_1689_2eea_61cd_dfe5334eb243 --> 50974987_6e61_90fa_a6c1_30148cb19b9d
  911da7d4_13f4_c549_1a3f_f8499193df89["../vite-plugin-astro-server/index.js"]
  6ca59778_1689_2eea_61cd_dfe5334eb243 --> 911da7d4_13f4_c549_1a3f_f8499193df89
  style 6ca59778_1689_2eea_61cd_dfe5334eb243 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import type http from 'node:http';
import { removeTrailingForwardSlash } from '@astrojs/internal-helpers/path';
import { BaseApp, type RenderErrorOptions } from '../core/app/index.js';
import { shouldAppendForwardSlash } from '../core/build/util.js';
import { clientLocalsSymbol } from '../core/constants.js';
import {
	MiddlewareNoDataOrNextCalled,
	MiddlewareNotAResponse,
} from '../core/errors/errors-data.js';
import { type AstroError, createSafeError, isAstroError } from '../core/errors/index.js';
import type { Logger } from '../core/logger/core.js';
import type { ModuleLoader } from '../core/module-loader/index.js';
import type { CreateRenderContext, RenderContext } from '../core/render-context.js';
import { createRequest } from '../core/request.js';
import type { AstroSettings, RoutesList } from '../types/astro.js';
import type { RouteData, SSRManifest } from '../types/public/index.js';
import type { DevServerController } from '../vite-plugin-astro-server/controller.js';
import { recordServerError } from '../vite-plugin-astro-server/error.js';
import { runWithErrorHandling } from '../vite-plugin-astro-server/index.js';
import { handle500Response, writeSSRResult } from '../vite-plugin-astro-server/response.js';
import { RunnablePipeline } from './pipeline.js';
import { getCustom404Route, getCustom500Route } from '../core/routing/helpers.js';
import { ensure404Route } from '../core/routing/astro-designed-error-pages.js';
import { matchRoute } from '../core/routing/dev.js';
import type { DevMatch } from '../core/app/base.js';

export class AstroServerApp extends BaseApp<RunnablePipeline> {
	settings: AstroSettings;
	logger: Logger;
	loader: ModuleLoader;
	manifestData: RoutesList;
	currentRenderContext: RenderContext | undefined = undefined;
	resolvedPathname: string | undefined = undefined;
	constructor(
		manifest: SSRManifest,
		streaming = true,
		logger: Logger,
		manifestData: RoutesList,
		loader: ModuleLoader,
		settings: AstroSettings,
		getDebugInfo: () => Promise<string>,
	) {
		super(manifest, streaming, settings, logger, loader, manifestData, getDebugInfo);
		this.settings = settings;
		this.logger = logger;
		this.loader = loader;
		this.manifestData = manifestData;
	}

	isDev(): boolean {
		return true;
	}

	/**
	 * Updates the routes list when files change during development.
	 * Called via HMR when new pages are added/removed.
	 */
	updateRoutes(newRoutesList: RoutesList): void {
		this.manifestData = newRoutesList;
		this.pipeline.setManifestData(newRoutesList);
// ... (240 more lines)

Domain

Subdomains

Classes

Dependencies

  • ../core/app/base.js
  • ../core/app/index.js
  • ../core/build/util.js
  • ../core/constants.js
  • ../core/errors/errors-data.js
  • ../core/errors/index.js
  • ../core/logger/core.js
  • ../core/module-loader/index.js
  • ../core/render-context.js
  • ../core/request.js
  • ../core/routing/astro-designed-error-pages.js
  • ../core/routing/dev.js
  • ../core/routing/helpers.js
  • ../types/astro.js
  • ../types/public/index.js
  • ../vite-plugin-astro-server/index.js
  • ./controller.js
  • ./error.js
  • ./pipeline.js
  • ./response.js
  • node:http
  • path

Frequently Asked Questions

What does app.ts do?
app.ts is a source file in the astro codebase, written in typescript. It belongs to the CoreAstro domain, RenderingEngine subdomain.
What does app.ts depend on?
app.ts imports 22 module(s): ../core/app/base.js, ../core/app/index.js, ../core/build/util.js, ../core/constants.js, ../core/errors/errors-data.js, ../core/errors/index.js, ../core/logger/core.js, ../core/module-loader/index.js, and 14 more.
Where is app.ts in the architecture?
app.ts is located at packages/astro/src/vite-plugin-app/app.ts (domain: CoreAstro, subdomain: RenderingEngine, directory: packages/astro/src/vite-plugin-app).

Analyze Your Own Codebase

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

Try Supermodel Free