Home / File/ hooks.ts — astro Source File

hooks.ts — astro Source File

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

File typescript CoreAstro RenderingEngine 25 imports 19 functions

Entity Profile

Dependency Diagram

graph LR
  19f4084c_157f_a15d_f001_5d8088b75dee["hooks.ts"]
  44d8bfb8_bf17_a8e8_447d_a46720def01c["../actions/integration.js"]
  19f4084c_157f_a15d_f001_5d8088b75dee --> 44d8bfb8_bf17_a8e8_447d_a46720def01c
  0dff10e7_1ebb_867f_8463_a5e280d1ba90["../actions/utils.js"]
  19f4084c_157f_a15d_f001_5d8088b75dee --> 0dff10e7_1ebb_867f_8463_a5e280d1ba90
  eb7ca709_080c_a438_b9d7_f1238835779d["../content/consts.js"]
  19f4084c_157f_a15d_f001_5d8088b75dee --> eb7ca709_080c_a438_b9d7_f1238835779d
  b0d51698_8c9c_7a14_2fa8_0c688b058e22["../content/content-layer.js"]
  19f4084c_157f_a15d_f001_5d8088b75dee --> b0d51698_8c9c_7a14_2fa8_0c688b058e22
  520c567a_b741_f105_70ac_c637eacc7f83["../content/utils.js"]
  19f4084c_157f_a15d_f001_5d8088b75dee --> 520c567a_b741_f105_70ac_c637eacc7f83
  a4f2698c_5256_262a_ba7c_f72b51878d10["../core/app/types.js"]
  19f4084c_157f_a15d_f001_5d8088b75dee --> a4f2698c_5256_262a_ba7c_f72b51878d10
  e099eff3_3f90_76ac_3751_a9ff5a6b8f25["../../core/build/types.js"]
  19f4084c_157f_a15d_f001_5d8088b75dee --> e099eff3_3f90_76ac_3751_a9ff5a6b8f25
  fb66cdc7_16ad_43ba_51ae_37a26501b497["../core/client-directive/index.js"]
  19f4084c_157f_a15d_f001_5d8088b75dee --> fb66cdc7_16ad_43ba_51ae_37a26501b497
  e53a8145_c0cb_5ad0_0494_6de420c6265c["../core/config/merge.js"]
  19f4084c_157f_a15d_f001_5d8088b75dee --> e53a8145_c0cb_5ad0_0494_6de420c6265c
  f7dbbd79_1b30_42d2_a656_b19b2a675798["../core/config/validate.js"]
  19f4084c_157f_a15d_f001_5d8088b75dee --> f7dbbd79_1b30_42d2_a656_b19b2a675798
  83a1f26e_e929_2185_8cb4_97cf43d76365["../core/dev/adapter-validation.js"]
  19f4084c_157f_a15d_f001_5d8088b75dee --> 83a1f26e_e929_2185_8cb4_97cf43d76365
  d3861967_b647_84d2_ff48_15013353bd56["../core/logger/core.js"]
  19f4084c_157f_a15d_f001_5d8088b75dee --> d3861967_b647_84d2_ff48_15013353bd56
  162316ad_87a9_ee43_993e_48696ea31a8d["../core/routing/manifest/generator.js"]
  19f4084c_157f_a15d_f001_5d8088b75dee --> 162316ad_87a9_ee43_993e_48696ea31a8d
  8651c206_171a_4a48_b04b_b47f5573b5da["../prerender/utils.js"]
  19f4084c_157f_a15d_f001_5d8088b75dee --> 8651c206_171a_4a48_b04b_b47f5573b5da
  style 19f4084c_157f_a15d_f001_5d8088b75dee fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import fsMod from 'node:fs';
import type { AddressInfo } from 'node:net';
import { fileURLToPath } from 'node:url';
import colors from 'piccolore';
import type { InlineConfig, ViteDevServer } from 'vite';
import { mergeConfig as mergeViteConfig } from 'vite';
import astroIntegrationActionsRouteHandler from '../actions/integration.js';
import { isActionsFilePresent } from '../actions/utils.js';
import { CONTENT_LAYER_TYPE } from '../content/consts.js';
import { globalContentLayer } from '../content/content-layer.js';
import { globalContentConfigObserver } from '../content/utils.js';
import type { SerializedSSRManifest } from '../core/app/types.js';
import type { PageBuildData } from '../core/build/types.js';
import { buildClientDirectiveEntrypoint } from '../core/client-directive/index.js';
import { mergeConfig } from '../core/config/merge.js';
import { validateConfigRefined } from '../core/config/validate.js';
import { validateSetAdapter } from '../core/dev/adapter-validation.js';
import type { AstroIntegrationLogger, Logger } from '../core/logger/core.js';
import { getRouteGenerator } from '../core/routing/manifest/generator.js';
import { getClientOutputDirectory } from '../prerender/utils.js';
import type { AstroSettings } from '../types/astro.js';
import type { AstroConfig } from '../types/public/config.js';
import type {
	ContentEntryType,
	DataEntryType,
	RefreshContentOptions,
} from '../types/public/content.js';
import type {
	AstroIntegration,
	AstroRenderer,
	BaseIntegrationHooks,
	HookParameters,
	IntegrationResolvedRoute,
	RouteOptions,
	RouteToHeaders,
} from '../types/public/integrations.js';
import type { RouteData } from '../types/public/internal.js';
import { validateSupportedFeatures } from './features-validation.js';

async function withTakingALongTimeMsg<T>({
	name,
	hookName,
	hookFn,
	logger,
	integrationLogger,
}: {
	name: string;
	hookName: keyof BaseIntegrationHooks;
	hookFn: () => T | Promise<T>;
	logger: Logger;
	integrationLogger: AstroIntegrationLogger;
}): Promise<T> {
	const timeout = setTimeout(() => {
		logger.info(
			'build',
			`Waiting for integration ${colors.bold(JSON.stringify(name))}, hook ${colors.bold(
				JSON.stringify(hookName),
			)}...`,
		);
	}, 3000);
// ... (645 more lines)

Domain

Subdomains

Dependencies

  • ../../core/build/types.js
  • ../../integrations/features-validation.js
  • ../actions/integration.js
  • ../actions/utils.js
  • ../content/consts.js
  • ../content/content-layer.js
  • ../content/utils.js
  • ../core/app/types.js
  • ../core/client-directive/index.js
  • ../core/config/merge.js
  • ../core/config/validate.js
  • ../core/dev/adapter-validation.js
  • ../core/logger/core.js
  • ../core/routing/manifest/generator.js
  • ../prerender/utils.js
  • ../types/astro.js
  • ../types/public/config.js
  • ../types/public/content.js
  • ../types/public/integrations.js
  • ../types/public/internal.js
  • node:fs
  • node:net
  • node:url
  • piccolore
  • vite

Frequently Asked Questions

What does hooks.ts do?
hooks.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 hooks.ts?
hooks.ts defines 19 function(s): getLogger, getToolbarServerCommunicationHelpers, normalizeCodegenDir, normalizeInjectedTypeFilename, runHookBuildDone, runHookBuildGenerated, runHookBuildSetup, runHookBuildSsr, runHookBuildStart, runHookConfigDone, and 9 more.
What does hooks.ts depend on?
hooks.ts imports 25 module(s): ../../core/build/types.js, ../../integrations/features-validation.js, ../actions/integration.js, ../actions/utils.js, ../content/consts.js, ../content/content-layer.js, ../content/utils.js, ../core/app/types.js, and 17 more.
Where is hooks.ts in the architecture?
hooks.ts is located at packages/astro/src/integrations/hooks.ts (domain: CoreAstro, subdomain: RenderingEngine, directory: packages/astro/src/integrations).

Analyze Your Own Codebase

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

Try Supermodel Free