hooks.ts — astro Source File
Architecture documentation for hooks.ts, a typescript file in the astro codebase. 25 imports, 0 dependents.
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
Functions
- getLogger()
- getToolbarServerCommunicationHelpers()
- normalizeCodegenDir()
- normalizeInjectedTypeFilename()
- runHookBuildDone()
- runHookBuildGenerated()
- runHookBuildSetup()
- runHookBuildSsr()
- runHookBuildStart()
- runHookConfigDone()
- runHookConfigSetup()
- runHookInternal()
- runHookRouteSetup()
- runHookRoutesResolved()
- runHookServerDone()
- runHookServerSetup()
- runHookServerStart()
- toIntegrationResolvedRoute()
- withTakingALongTimeMsg()
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
Source
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