Home / File/ astro.ts — astro Source File

astro.ts — astro Source File

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

File typescript CoreAstro RenderingEngine 11 imports 1 functions

Entity Profile

Dependency Diagram

graph LR
  77e674d0_7ed2_12ca_5a29_41ceac44bdcd["astro.ts"]
  e2c4dc3c_f14d_92d4_6dd6_1f5b627d5893["../core/config/timer.js"]
  77e674d0_7ed2_12ca_5a29_41ceac44bdcd --> e2c4dc3c_f14d_92d4_6dd6_1f5b627d5893
  8553f8df_4d06_7e90_1fbb_4d832af79e06["../core/config/tsconfig.js"]
  77e674d0_7ed2_12ca_5a29_41ceac44bdcd --> 8553f8df_4d06_7e90_1fbb_4d832af79e06
  d3861967_b647_84d2_ff48_15013353bd56["../core/logger/core.js"]
  77e674d0_7ed2_12ca_5a29_41ceac44bdcd --> d3861967_b647_84d2_ff48_15013353bd56
  a170ca6a_e9d2_0356_ff6d_60b52ee58679["../preferences/index.js"]
  77e674d0_7ed2_12ca_5a29_41ceac44bdcd --> a170ca6a_e9d2_0356_ff6d_60b52ee58679
  9e624f62_bcfa_4352_e9a0_dd454823f706["../../runtime/server/index.js"]
  77e674d0_7ed2_12ca_5a29_41ceac44bdcd --> 9e624f62_bcfa_4352_e9a0_dd454823f706
  135a8084_d596_67c2_9209_cca6693604e6["../types/public/common.js"]
  77e674d0_7ed2_12ca_5a29_41ceac44bdcd --> 135a8084_d596_67c2_9209_cca6693604e6
  c32d12e2_d85e_28c0_eea7_9b29629857e0["../types/public/config.js"]
  77e674d0_7ed2_12ca_5a29_41ceac44bdcd --> c32d12e2_d85e_28c0_eea7_9b29629857e0
  7f07e12d_4af0_1918_f31b_31410b415993["../types/public/content.js"]
  77e674d0_7ed2_12ca_5a29_41ceac44bdcd --> 7f07e12d_4af0_1918_f31b_31410b415993
  4c453c0b_17bb_ebc3_f7de_e2a632e42c1e["../types/public/integrations.js"]
  77e674d0_7ed2_12ca_5a29_41ceac44bdcd --> 4c453c0b_17bb_ebc3_f7de_e2a632e42c1e
  10d4e39f_edb6_3e34_aa93_ae1211e7da05["../types/public/internal.js"]
  77e674d0_7ed2_12ca_5a29_41ceac44bdcd --> 10d4e39f_edb6_3e34_aa93_ae1211e7da05
  6e91fe0d_c6ce_0cca_abd3_06b774edbe23["./toolbar.js"]
  77e674d0_7ed2_12ca_5a29_41ceac44bdcd --> 6e91fe0d_c6ce_0cca_abd3_06b774edbe23
  style 77e674d0_7ed2_12ca_5a29_41ceac44bdcd fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import type { AstroTimer } from '../core/config/timer.js';
import type { TSConfig } from '../core/config/tsconfig.js';
import type { Logger, LoggerLevel } from '../core/logger/core.js';
import type { AstroPreferences } from '../preferences/index.js';
import type { AstroComponentFactory } from '../runtime/server/index.js';
import type { GetStaticPaths } from './public/common.js';
import type { AstroConfig } from './public/config.js';
import type { ContentEntryType, DataEntryType } from './public/content.js';
import type {
	AstroAdapter,
	AstroPrerenderer,
	AstroRenderer,
	InjectedScriptStage,
	InjectedType,
} from './public/integrations.js';
import type { InternalInjectedRoute, ResolvedInjectedRoute, RouteData } from './public/internal.js';
import type { DevToolbarAppEntry } from './public/toolbar.js';

export type SerializedRouteData = Omit<
	RouteData,
	'generate' | 'pattern' | 'redirectRoute' | 'fallbackRoutes'
> & {
	pattern: string;
	redirectRoute: SerializedRouteData | undefined;
	fallbackRoutes: SerializedRouteData[];
	_meta: {
		trailingSlash: AstroConfig['trailingSlash'];
	};
};

type CspObject = Required<Exclude<AstroConfig['security']['csp'], boolean>>;

export interface AstroSettings {
	config: AstroConfig;
	adapter: AstroAdapter | undefined;
	prerenderer:
		| AstroPrerenderer
		| ((defaultPrerenderer: AstroPrerenderer) => AstroPrerenderer)
		| undefined;
	preferences: AstroPreferences;
	injectedRoutes: InternalInjectedRoute[];
	resolvedInjectedRoutes: ResolvedInjectedRoute[];
	pageExtensions: string[];
	contentEntryTypes: ContentEntryType[];
	dataEntryTypes: DataEntryType[];
	renderers: AstroRenderer[];
	scripts: {
		stage: InjectedScriptStage;
		content: string;
	}[];
	/**
	 * Map of directive name (e.g. `load`) to the directive script code
	 */
	clientDirectives: Map<string, string>;
	devToolbarApps: (DevToolbarAppEntry | string)[];
	middlewares: { pre: string[]; post: string[] };
	tsConfig: TSConfig | undefined;
	tsConfigPath: string | undefined;
	watchFiles: string[];
	timer: AstroTimer;
	dotAstroDir: URL;
	/**
	 * Latest version of Astro, will be undefined if:
	 * - unable to check
	 * - the user has disabled the check
	 * - the check has not completed yet
	 * - the user is on the latest version already
	 */
	latestAstroVersion: string | undefined;
	// This makes content optional. Internal only so it's not optional on InjectedType
	injectedTypes: Array<Omit<InjectedType, 'content'> & Partial<Pick<InjectedType, 'content'>>>;
	/**
	 * Determine if the build output should be a static, dist folder or a adapter-based server output
	 * undefined when unknown
	 */
	buildOutput: undefined | 'static' | 'server';
	injectedCsp: {
		fontResources: Set<string>;
		styleHashes: Required<CspObject['styleDirective']>['hashes'];
	};
	logLevel: LoggerLevel;
}

/** Generic interface for a component (Astro, Svelte, React, etc.) */
export interface ComponentInstance {
	default: AstroComponentFactory;
	css?: string[];
	partial?: boolean;
	prerender?: boolean;
	getStaticPaths?: GetStaticPaths;
}

export interface RoutesList {
	routes: RouteData[];
}

export interface AstroPluginOptions {
	settings: AstroSettings;
	logger: Logger;
}

export interface ImportedDevStyle {
	id: string;
	url: string;
	content: string;
}

Domain

Subdomains

Functions

Dependencies

  • ../../runtime/server/index.js
  • ../core/config/timer.js
  • ../core/config/tsconfig.js
  • ../core/logger/core.js
  • ../preferences/index.js
  • ../types/public/common.js
  • ../types/public/config.js
  • ../types/public/content.js
  • ../types/public/integrations.js
  • ../types/public/internal.js
  • ./toolbar.js

Frequently Asked Questions

What does astro.ts do?
astro.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 astro.ts?
astro.ts defines 1 function(s): AstroPrerenderer.
What does astro.ts depend on?
astro.ts imports 11 module(s): ../../runtime/server/index.js, ../core/config/timer.js, ../core/config/tsconfig.js, ../core/logger/core.js, ../preferences/index.js, ../types/public/common.js, ../types/public/config.js, ../types/public/content.js, and 3 more.
Where is astro.ts in the architecture?
astro.ts is located at packages/astro/src/types/astro.ts (domain: CoreAstro, subdomain: RenderingEngine, directory: packages/astro/src/types).

Analyze Your Own Codebase

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

Try Supermodel Free