From 2e4124de673b95cf2bedf8edd52290f044d43b32 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Wed, 7 Jan 2026 18:03:41 +0100 Subject: [PATCH 01/19] add docs for `AstroIntegrationMiddleware`, `AstroRenderer` and `ClientDirectiveConfig` --- .../en/reference/integrations-reference.mdx | 99 ++++++++++++++++++- 1 file changed, 96 insertions(+), 3 deletions(-) diff --git a/src/content/docs/en/reference/integrations-reference.mdx b/src/content/docs/en/reference/integrations-reference.mdx index d7b824679d128..cc5c67ca92bc2 100644 --- a/src/content/docs/en/reference/integrations-reference.mdx +++ b/src/content/docs/en/reference/integrations-reference.mdx @@ -194,7 +194,7 @@ export default {

-**Type:** `(renderer:` [`AstroRenderer`](https://github.com/withastro/astro/blob/fdd607c5755034edf262e7b275732519328a33b2/packages/astro/src/%40types/astro.ts#L872-L883) `) => void;`
+**Type:** (renderer: AstroRenderer) => void;
**Examples:** [`svelte`](https://github.com/withastro/astro/blob/main/packages/integrations/svelte/src/index.ts), [`react`](https://github.com/withastro/astro/blob/main/packages/integrations/react/src/index.ts), [`preact`](https://github.com/withastro/astro/blob/main/packages/integrations/preact/src/index.ts), [`vue`](https://github.com/withastro/astro/blob/main/packages/integrations/vue/src/index.ts), [`solid`](https://github.com/withastro/astro/blob/main/packages/integrations/solid/src/index.ts)

@@ -229,7 +229,7 @@ addWatchFile(new URL('./ec.config.mjs', config.root));

-**Type:** `(directive:` [`ClientDirectiveConfig`](https://github.com/withastro/astro/blob/00327c213f74627ac9ca1dec774efa5bf71e9375/packages/astro/src/%40types/astro.ts#L1872-L1875) `) => void;`
+**Type:** (directive: ClientDirectiveConfig) => void;

@@ -352,7 +352,7 @@ export default {

-**Type:** `(middleware:` [`AstroIntegrationMiddleware`](https://github.com/withastro/astro/blob/852ac0f75dfca1b2602e9cdbfa0447d9998e2449/packages/astro/src/%40types/astro.ts#L2124-L2127) `) => void;`
+**Type:** (middleware: AstroIntegrationMiddleware) => void;

@@ -1269,6 +1269,9 @@ The following types can be imported from the `astro` module: ```ts import type { AstroIntegrationLogger, + AstroIntegrationMiddleware, + AstroRenderer, + ClientDirectiveConfig, HookParameters, IntegrationResolvedRoute, RedirectConfig, @@ -1344,6 +1347,96 @@ The example above will produce logs with `[astro-format]` by default, and `[astr [astro-format/build] Build finished. ``` +### `AstroIntegrationMiddleware` + +

+ +**Type:** `{ order: "pre" | "post"; entrypoint: string | URL; }` +

+ +Describes a [middleware added by an integration](#addmiddleware-option). This contains the following properties: + +#### `order` + +

+ +**Type:** `"pre" | "post"` +

+ +Specifies whether the middleware should run before (`pre`) or after (`post`) other middleware. + +#### `entrypoint` + +

+ +**Type:** `string | URL` +

+ +Defines the import path of the middleware. + +### `AstroRenderer` + +

+ +**Type:** `{ name: string; clientEntrypoint?: string | URL; serverEntrypoint: string | URL; }` +

+ +Describes a [component framework renderer added by an integration](#addrenderer-option). This contains the following properties: + +#### `name` + +

+ +**Type:** `string` +

+ +The name of the component framework renderer. + +#### `clientEntrypoint` + +

+ +**Type:** `string | URL` +

+ +Defines the import path of the renderer that runs on the client whenever your component is used. + +#### `serverEntrypoint` + +

+ +**Type:** `string | URL` +

+ +Defines the import path of the renderer that runs during server-side requests or static builds whenever your component is used. + +### `ClientDirectiveConfig` + +

+ +**Type:** `{ name: string; entrypoint: string | URL; }` +

+ +Describes a [custom client directive added by an integration](#addclientdirective-option). This contains the following properties: + +#### `name` + +

+ +**Type:** `string` +

+ +A custom name for the event triggered by the directive. + +#### `entrypoint` + +

+ +**Type:** `string | URL` +

+ +Defines the import path of the code executed whenever the directive is used. + ### `HookParameters` You can get the type of a hook’s arguments by passing the hook’s name to the `HookParameters` utility type. In the following example, a function’s `options` argument is typed to match the parameters of the `astro:config:setup` hook: From 8a3481fa1ca525d374c6a7d2d892b651fc21a6fd Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Wed, 7 Jan 2026 18:47:18 +0100 Subject: [PATCH 02/19] flatten `route` option type to avoid repeats --- src/content/docs/en/reference/integrations-reference.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/en/reference/integrations-reference.mdx b/src/content/docs/en/reference/integrations-reference.mdx index cc5c67ca92bc2..e0053436eb1a1 100644 --- a/src/content/docs/en/reference/integrations-reference.mdx +++ b/src/content/docs/en/reference/integrations-reference.mdx @@ -541,7 +541,7 @@ const integration = {

-**Type:** [`RouteOptions`](https://github.com/withastro/astro/blob/3b10b97a4fecd1dfd959b160a07b5b8427fe40a7/packages/astro/src/types/public/integrations.ts#L14-L27) +**Type:** `{ readonly component: string; prerender?: boolean; }`

An object with a `component` property to identify the route and the following additional values to allow you to configure the generated route: `prerender`. From 9198ab4b5143128ea1db8e4f51664cdcff429c22 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Wed, 7 Jan 2026 19:29:53 +0100 Subject: [PATCH 03/19] add docs for `PageBuildData` --- .../en/reference/integrations-reference.mdx | 55 ++++++++++++++++++- 1 file changed, 53 insertions(+), 2 deletions(-) diff --git a/src/content/docs/en/reference/integrations-reference.mdx b/src/content/docs/en/reference/integrations-reference.mdx index e0053436eb1a1..befb80e1423f7 100644 --- a/src/content/docs/en/reference/integrations-reference.mdx +++ b/src/content/docs/en/reference/integrations-reference.mdx @@ -955,10 +955,10 @@ export default {

-**Type:** Map\PageBuildData\> +**Type:** `Map`

-A `Map` with a list of pages as key and their build data as value. +A `Map` with a list of pages as key and [their build data](#page-build-data) as value. This can be used to perform an action if a route matches a criteria: @@ -977,6 +977,57 @@ export default { } ``` +#### Page build data + +A page contains the following properties describing how to build it: + +###### `key` + +

+ +**Type:** `string`
+ +

+ +Specifies a unique identifier for the page. + +###### `component` + +

+ +**Type:** `string` +

+ +Specifies the source component URL. + +###### `route` + +

+ +**Type:** [`RouteData`](#routedata) +

+ +Describes the information about the page route. + +###### `moduleSpecifier` + +

+ +**Type:** `string` +

+ +Defines a string that can be resolved into a file path for the module. + +###### `styles` + +

+ +**Type:** `Array<{ depth: number; order: number; sheet: { type: 'inline'; content: string } | { type: 'external'; src: string } }>`
+ +

+ +A list of styles to render on the page. Each style contains its `depth` and display `order` on the page, as well as an indication of whether it should be applied as an inline or external style. + #### `target` option

From d174b1d5f561b406ea64dba58147380e23718794 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Wed, 7 Jan 2026 19:40:46 +0100 Subject: [PATCH 04/19] remove broken external link for `AddressInfo` --- src/content/docs/en/reference/integrations-reference.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/en/reference/integrations-reference.mdx b/src/content/docs/en/reference/integrations-reference.mdx index befb80e1423f7..f5139d833c33c 100644 --- a/src/content/docs/en/reference/integrations-reference.mdx +++ b/src/content/docs/en/reference/integrations-reference.mdx @@ -873,7 +873,7 @@ The loader can then access the `refreshContextData` property to get the webhook

-**Type:** [`AddressInfo`](https://microsoft.github.io/PowerBI-JavaScript/interfaces/_node_modules__types_node_net_d_._net_.addressinfo.html) +**Type:** `AddressInfo`

The address, family and port number supplied by the [Node.js Net module](https://nodejs.org/api/net.html). From 39ff1c8a9ff1bb5ee74e7d58d74f23d563cdabb4 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Thu, 8 Jan 2026 00:53:54 +0100 Subject: [PATCH 05/19] add `SerializedSSRManifest`, `SSRManifest` & related types structure --- .../en/reference/integrations-reference.mdx | 515 +++++++++++++++++- 1 file changed, 514 insertions(+), 1 deletion(-) diff --git a/src/content/docs/en/reference/integrations-reference.mdx b/src/content/docs/en/reference/integrations-reference.mdx index f5139d833c33c..c9dd4251d8809 100644 --- a/src/content/docs/en/reference/integrations-reference.mdx +++ b/src/content/docs/en/reference/integrations-reference.mdx @@ -1103,7 +1103,7 @@ export default {

-**Type:** [`SerializedSSRManifest`](https://github.com/withastro/astro/blob/3b10b97a4fecd1dfd959b160a07b5b8427fe40a7/packages/astro/src/core/app/types.ts#L91-L109) +**Type:** [`SerializedSSRManifest`](#serialized-ssr-manifest-properties)

Allows you to create a custom build by accessing the SSR manifest. @@ -1122,6 +1122,64 @@ export default { } ``` +##### Serialized SSR manifest properties + +A subset of the [`SSRManifest`](#ssrmanifest) with the following additional properties: + +###### `routes` + +

+ +**Type:** `SerializedRouteInfo[]` +

+ +{/* TODO */} + +###### `assets` + +

+ +**Type:** `string[]` +

+ +{/* TODO */} + +###### `inlinedScripts` + +

+ +**Type:** `[string, string][]` +

+ +{/* TODO */} + +###### `clientDirectives` + +

+ +**Type:** `[string, string][]` +

+ +{/* TODO */} + +###### `serverIslandNameMap` + +

+ +**Type:** `[string, string][]` +

+ +{/* TODO */} + +###### `key` + +

+ +**Type:** `string` +

+ +{/* TODO */} + #### `entryPoints` option

@@ -1319,22 +1377,35 @@ The following types can be imported from the `astro` module: ```ts import type { + AssetsPrefix, AstroIntegrationLogger, AstroIntegrationMiddleware, + AstroMiddlewareInstance, AstroRenderer, ClientDirectiveConfig, HookParameters, IntegrationResolvedRoute, RedirectConfig, + ResolvedSessionConfig, RouteData, RoutePart, RouteType, + SSRLoadedRenderer, + SSRLoadedRendererValue, + SSRManifest, ValidRedirectStatus, // The following are deprecated: IntegrationRouteData, } from "astro"; ``` +### `AssetsPrefix` + +

+ +**Type:** `string | ({ fallback: string; } & Record) | undefined` +

+ ### `AstroIntegrationLogger` An instance of the Astro logger, useful to write logs. This logger uses the same [log level](/en/reference/cli-reference/#--verbose) @@ -1425,6 +1496,15 @@ Specifies whether the middleware should run before (`pre`) or after (`post`) oth Defines the import path of the middleware. +### `AstroMiddlewareInstance` + +

+ +**Type:** \{ onRequest?: MiddlewareHandler; \} +

+ +{/* TODO */} + ### `AstroRenderer`

@@ -1578,6 +1658,15 @@ When the value of `IntegrationResolvedRoute.type` is `redirect`, the value will Describes the destination of a redirect. This can be a string or an object containing information about the status code and its destination. +### `ResolvedSessionConfig` + +

+ +**Type:** SessionConfig\ & \{ driverModule?: () => Promise\<\{ default: () => unstorage.Driver \}\>; } +

+ +{/* TODO */} + ### `RouteData` Describes the information about a route. This contains the following properties: @@ -1799,6 +1888,430 @@ A union of supported route types: * `redirect`: a route points to another route that lives in the file system * `fallback`: a route that doesn't exist in the file system that needs to be handled with other means, usually a middleware +### `SSRLoadedRenderer` + +

+ +**Type:** `{ name: string; clientEntrypoint?: string | URL; ssr: SSRLoadedRendererValue; }` +

+ +A subset of [`AstroRenderer`](#astrorenderer) with the following additional properties: + +#### `ssr` + +

+ +**Type:** [`SSRLoadedRendererValue`](#ssrloadedrenderervalue) +

+ +{/* TODO */} + +### `SSRLoadedRendererValue` + +{/* TODO */} + +#### `name` + +

+ +**Type:** `string` +

+ +{/* TODO */} + +#### `check()` + +

+ +**Type:** `AsyncRendererComponentFn` +

+ +{/* TODO */} + +#### `renderToStaticMarkup()` + +

+ +**Type:** `AsyncRendererComponentFn<{ html: string; attrs?: Record; }>` +

+ +{/* TODO */} + +#### `supportsAstroStaticSlot` + +

+ +**Type:** `boolean` +

+ +{/* TODO */} + +#### `renderHydrationScript()` + +

+ +**Type:** `() => string` +

+ +{/* TODO, this is the JSDoc */} + +If provided, Astro will call this function and inject the returned script in the HTML before the first component handled by this renderer. + +This feature is needed by some renderers (in particular, by Solid). The Solid official hydration script sets up a page-level data structure. It is mainly used to transfer data between the server side render phase and the browser application state. Solid Components rendered later in the HTML may inject tiny scripts into the HTML that call into this page-level data structure. + +### `SSRManifest` + +{/* TODO */} + +#### `hrefRoot` + +

+ +**Type:** `string` +

+ +{/* TODO */} + +#### `adapterName` + +

+ +**Type:** `string` +

+ +{/* TODO */} + +#### `routes` + +

+ +**Type:** `RouteInfo[]` +

+ +{/* TODO */} + +#### `site` + +

+ +**Type:** `string` +

+ +{/* TODO */} + +#### `base` + +

+ +**Type:** `string` +

+ +{/* TODO */} + +#### `userAssetsBase` + +

+ +**Type:** `string | undefined` +

+ +{/* TODO, this is the JSDoc */} + +The base of the assets generated **by the user**. For example, scripts created by the user falls under this category. The value of this field comes from `vite.base`. We aren't usually this tight to vite in our code base, so probably this should be refactored somehow. + +#### `trailingSlash` + +

+ +**Type:** [`AstroConfig['trailingSlash']`](/en/reference/configuration-reference/#trailingslash) +

+ +{/* TODO */} + +#### `buildFormat` + +

+ +**Type:** [`NonNullable['format']`](/en/reference/configuration-reference/#buildformat) +

+ +{/* TODO */} + +#### `compressHTML` + +

+ +**Type:** `boolean` +

+ +{/* TODO */} + +#### `assetsPrefix` + +

+ +**Type:** [`AssetsPrefix`](#assetsprefix) +

+ +{/* TODO */} + +#### `renderers` + +

+ +**Type:** SSRLoadedRenderer[] +

+ +{/* TODO */} + +#### `clientDirectives` + +

+ +**Type:** `Map` +

+ +{/* TODO, this is the JSDoc */} + +Map of directive name (e.g. `load`) to the directive script code + +#### `entryModules` + +

+ +**Type:** `Record` +

+ +{/* TODO */} + +#### `inlinedScripts` + +

+ +**Type:** `Map` +

+ +{/* TODO */} + +#### `assets` + +

+ +**Type:** `Set` +

+ +{/* TODO */} + +#### `componentMetadata` + +

+ +**Type:** `Map` +

+ +{/* TODO */} + +#### `pageModule` + +

+ +**Type:** `{ page: ImportComponentInstance; onRequest?: MiddlewareHandler; renderers: SSRLoadedRenderer[]; }` +

+ +{/* TODO */} + +This contains the following properties: + +##### `page` + +

+ +**Type:** `() => Promise` +

+ +{/* TODO */} + +##### `onRequest` + +

+ +**Type:** [`MiddlewareHandler`](/en/reference/modules/astro-middleware/#middlewarehandler) +

+ +{/* TODO */} + +##### `renderers` + +

+ +**Type:** SSRLoadedRenderer[] +

+ +{/* TODO */} + +#### `pageMap` + +

+ +**Type:** `Map` +

+ +{/* TODO */} + +#### `serverIslandMap` + +

+ +**Type:** `Map` +

+ +{/* TODO */} + +#### `serverIslandNameMap` + +

+ +**Type:** `Map` +

+ +{/* TODO */} + +#### `key` + +

+ +**Type:** `Promise` +

+ +{/* TODO */} + +#### `i18n` + +

+ +**Type:** `SSRManifestI18n | undefined` +

+ +{/* TODO */} + +#### middleware + +

+ +**Type:** () => Promise\<AstroMiddlewareInstance\> | AstroMiddlewareInstance +

+ +{/* TODO */} + +#### `actions` + +

+ +**Type:** `() => Promise | SSRActions` +

+ +{/* TODO */} + +#### `checkOrigin` + +

+ +**Type:** `boolean` +

+ +{/* TODO */} + +#### `allowedDomains` + +

+ +**Type:** Partial\<RemotePattern\>[] +

+ +{/* TODO */} + +#### `sessionConfig` + +

+ +**Type:** [`ResolvedSessionConfig`](#resolvedsessionconfig) +

+ +{/* TODO */} + +#### `cacheDir` + +

+ +**Type:** `string | URL` +

+ +{/* TODO */} + +#### `srcDir` + +

+ +**Type:** `string | URL` +

+ +{/* TODO */} + +#### `outDir` + +

+ +**Type:** `string | URL` +

+ +{/* TODO */} + +#### `publicDir` + +

+ +**Type:** `string | URL` +

+ +{/* TODO */} + +#### `buildClientDir` + +

+ +**Type:** `string | URL` +

+ +{/* TODO */} + +#### `buildServerDir` + +

+ +**Type:** `string | URL` +

+ +{/* TODO */} + +#### `csp` + +

+ +**Type:** `SSRManifestCSP | undefined` +

+ +{/* TODO */} + +#### `internalFetchHeaders` + +

+ +**Type:** `Record` +

+ +{/* TODO */} + + ### `ValidRedirectStatus`

From b62df909f0cb8153facad557b17a76043d0be65b Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Thu, 8 Jan 2026 23:23:30 +0100 Subject: [PATCH 06/19] add Since for new entries --- .../en/reference/integrations-reference.mdx | 100 ++++++++++++------ 1 file changed, 70 insertions(+), 30 deletions(-) diff --git a/src/content/docs/en/reference/integrations-reference.mdx b/src/content/docs/en/reference/integrations-reference.mdx index c9dd4251d8809..acb5ff25797f7 100644 --- a/src/content/docs/en/reference/integrations-reference.mdx +++ b/src/content/docs/en/reference/integrations-reference.mdx @@ -1144,6 +1144,16 @@ A subset of the [`SSRManifest`](#ssrmanifest) with the following additional prop {/* TODO */} +###### `componentMetadata` + +

+ +**Type:** `[string, SSRComponentMetadata][]`
+ +

+ +{/* TODO */} + ###### `inlinedScripts`

@@ -1157,7 +1167,8 @@ A subset of the [`SSRManifest`](#ssrmanifest) with the following additional prop

-**Type:** `[string, string][]` +**Type:** `[string, string][]`
+

{/* TODO */} @@ -1166,7 +1177,8 @@ A subset of the [`SSRManifest`](#ssrmanifest) with the following additional prop

-**Type:** `[string, string][]` +**Type:** `[string, string][]`
+

{/* TODO */} @@ -1175,7 +1187,8 @@ A subset of the [`SSRManifest`](#ssrmanifest) with the following additional prop

-**Type:** `string` +**Type:** `string`
+

{/* TODO */} @@ -1967,7 +1980,8 @@ This feature is needed by some renderers (in particular, by Solid). The Solid of

-**Type:** `string` +**Type:** `string`
+

{/* TODO */} @@ -2012,7 +2026,8 @@ This feature is needed by some renderers (in particular, by Solid). The Solid of

-**Type:** `string | undefined` +**Type:** `string | undefined`
+

{/* TODO, this is the JSDoc */} @@ -2023,7 +2038,8 @@ The base of the assets generated **by the user**. For example, scripts created b

-**Type:** [`AstroConfig['trailingSlash']`](/en/reference/configuration-reference/#trailingslash) +**Type:** [`AstroConfig['trailingSlash']`](/en/reference/configuration-reference/#trailingslash)
+

{/* TODO */} @@ -2032,7 +2048,8 @@ The base of the assets generated **by the user**. For example, scripts created b

-**Type:** [`NonNullable['format']`](/en/reference/configuration-reference/#buildformat) +**Type:** [`NonNullable['format']`](/en/reference/configuration-reference/#buildformat)
+

{/* TODO */} @@ -2041,7 +2058,8 @@ The base of the assets generated **by the user**. For example, scripts created b

-**Type:** `boolean` +**Type:** `boolean`
+

{/* TODO */} @@ -2050,7 +2068,8 @@ The base of the assets generated **by the user**. For example, scripts created b

-**Type:** [`AssetsPrefix`](#assetsprefix) +**Type:** [`AssetsPrefix`](#assetsprefix)
+

{/* TODO */} @@ -2068,7 +2087,8 @@ The base of the assets generated **by the user**. For example, scripts created b

-**Type:** `Map` +**Type:** `Map`
+

{/* TODO, this is the JSDoc */} @@ -2088,7 +2108,8 @@ Map of directive name (e.g. `load`) to the directive script code

-**Type:** `Map` +**Type:** `Map`
+

{/* TODO */} @@ -2106,7 +2127,8 @@ Map of directive name (e.g. `load`) to the directive script code

-**Type:** `Map` +**Type:** `Map`
+

{/* TODO */} @@ -2115,7 +2137,8 @@ Map of directive name (e.g. `load`) to the directive script code

-**Type:** `{ page: ImportComponentInstance; onRequest?: MiddlewareHandler; renderers: SSRLoadedRenderer[]; }` +**Type:** `{ page: ImportComponentInstance; onRequest?: MiddlewareHandler; renderers: SSRLoadedRenderer[]; }`
+

{/* TODO */} @@ -2135,7 +2158,8 @@ This contains the following properties:

-**Type:** [`MiddlewareHandler`](/en/reference/modules/astro-middleware/#middlewarehandler) +**Type:** [`MiddlewareHandler`](/en/reference/modules/astro-middleware/#middlewarehandler)
+

{/* TODO */} @@ -2162,7 +2186,8 @@ This contains the following properties:

-**Type:** `Map` +**Type:** `Map`
+

{/* TODO */} @@ -2171,7 +2196,8 @@ This contains the following properties:

-**Type:** `Map` +**Type:** `Map`
+

{/* TODO */} @@ -2180,7 +2206,8 @@ This contains the following properties:

-**Type:** `Promise` +**Type:** `Promise`
+

{/* TODO */} @@ -2189,7 +2216,8 @@ This contains the following properties:

-**Type:** `SSRManifestI18n | undefined` +**Type:** `SSRManifestI18n | undefined`
+

{/* TODO */} @@ -2198,7 +2226,8 @@ This contains the following properties:

-**Type:** () => Promise\<AstroMiddlewareInstance\> | AstroMiddlewareInstance +**Type:** () => Promise\<AstroMiddlewareInstance\> | AstroMiddlewareInstance
+

{/* TODO */} @@ -2207,7 +2236,8 @@ This contains the following properties:

-**Type:** `() => Promise | SSRActions` +**Type:** `() => Promise | SSRActions`
+

{/* TODO */} @@ -2216,7 +2246,8 @@ This contains the following properties:

-**Type:** `boolean` +**Type:** `boolean`
+

{/* TODO */} @@ -2234,7 +2265,8 @@ This contains the following properties:

-**Type:** [`ResolvedSessionConfig`](#resolvedsessionconfig) +**Type:** [`ResolvedSessionConfig`](#resolvedsessionconfig)
+

{/* TODO */} @@ -2243,7 +2275,8 @@ This contains the following properties:

-**Type:** `string | URL` +**Type:** `string | URL`
+

{/* TODO */} @@ -2252,7 +2285,8 @@ This contains the following properties:

-**Type:** `string | URL` +**Type:** `string | URL`
+

{/* TODO */} @@ -2261,7 +2295,8 @@ This contains the following properties:

-**Type:** `string | URL` +**Type:** `string | URL`
+

{/* TODO */} @@ -2270,7 +2305,8 @@ This contains the following properties:

-**Type:** `string | URL` +**Type:** `string | URL`
+

{/* TODO */} @@ -2279,7 +2315,8 @@ This contains the following properties:

-**Type:** `string | URL` +**Type:** `string | URL`
+

{/* TODO */} @@ -2288,7 +2325,8 @@ This contains the following properties:

-**Type:** `string | URL` +**Type:** `string | URL`
+

{/* TODO */} @@ -2297,7 +2335,8 @@ This contains the following properties:

-**Type:** `SSRManifestCSP | undefined` +**Type:** `SSRManifestCSP | undefined`
+

{/* TODO */} @@ -2306,7 +2345,8 @@ This contains the following properties:

-**Type:** `Record` +**Type:** `Record`
+

{/* TODO */} From 2fd585ef1d6e25221a0bc3ed6ef2f6c205e8cfb0 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Fri, 9 Jan 2026 18:10:54 +0100 Subject: [PATCH 07/19] 31/52 TODOs done... --- .../en/reference/integrations-reference.mdx | 92 ++++++++----------- 1 file changed, 39 insertions(+), 53 deletions(-) diff --git a/src/content/docs/en/reference/integrations-reference.mdx b/src/content/docs/en/reference/integrations-reference.mdx index acb5ff25797f7..2c650cd77b7d1 100644 --- a/src/content/docs/en/reference/integrations-reference.mdx +++ b/src/content/docs/en/reference/integrations-reference.mdx @@ -1390,7 +1390,6 @@ The following types can be imported from the `astro` module: ```ts import type { - AssetsPrefix, AstroIntegrationLogger, AstroIntegrationMiddleware, AstroMiddlewareInstance, @@ -1412,13 +1411,6 @@ import type { } from "astro"; ``` -### `AssetsPrefix` - -

- -**Type:** `string | ({ fallback: string; } & Record) | undefined` -

- ### `AstroIntegrationLogger` An instance of the Astro logger, useful to write logs. This logger uses the same [log level](/en/reference/cli-reference/#--verbose) @@ -1908,7 +1900,7 @@ A union of supported route types: **Type:** `{ name: string; clientEntrypoint?: string | URL; ssr: SSRLoadedRendererValue; }`

-A subset of [`AstroRenderer`](#astrorenderer) with the following additional properties: +Describes a loaded UI framework renderer. This is a subset of [`AstroRenderer`](#astrorenderer) with the following additional properties: #### `ssr` @@ -1966,15 +1958,15 @@ A subset of [`AstroRenderer`](#astrorenderer) with the following additional prop **Type:** `() => string`

-{/* TODO, this is the JSDoc */} - +{/* TODO, this is the JSDoc: If provided, Astro will call this function and inject the returned script in the HTML before the first component handled by this renderer. This feature is needed by some renderers (in particular, by Solid). The Solid official hydration script sets up a page-level data structure. It is mainly used to transfer data between the server side render phase and the browser application state. Solid Components rendered later in the HTML may inject tiny scripts into the HTML that call into this page-level data structure. +*/} ### `SSRManifest` -{/* TODO */} +An object containing build configuration and project metadata that the server adapters use at runtime to serve on-demand rendered pages. This contains the following properties: #### `hrefRoot` @@ -1984,7 +1976,7 @@ This feature is needed by some renderers (in particular, by Solid). The Solid of

-{/* TODO */} +Specifies the root path used to generate URLs. #### `adapterName` @@ -1993,7 +1985,7 @@ This feature is needed by some renderers (in particular, by Solid). The Solid of **Type:** `string`

-{/* TODO */} +Defines the name of the [server adapter](/en/guides/on-demand-rendering/#server-adapters) used for on-demand rendering. #### `routes` @@ -2002,7 +1994,7 @@ This feature is needed by some renderers (in particular, by Solid). The Solid of **Type:** `RouteInfo[]`

-{/* TODO */} +An array containing information about all routes in the project. Each route includes its path pattern, whether it's prerendered, and other routing metadata. #### `site` @@ -2011,7 +2003,7 @@ This feature is needed by some renderers (in particular, by Solid). The Solid of **Type:** `string`

-{/* TODO */} +Specifies the [configured `site`](/en/reference/configuration-reference/#site). #### `base` @@ -2020,7 +2012,7 @@ This feature is needed by some renderers (in particular, by Solid). The Solid of **Type:** `string`

-{/* TODO */} +Specifies the [configured `base` path](/en/reference/configuration-reference/#base) to deploy to. #### `userAssetsBase` @@ -2030,9 +2022,7 @@ This feature is needed by some renderers (in particular, by Solid). The Solid of

-{/* TODO, this is the JSDoc */} - -The base of the assets generated **by the user**. For example, scripts created by the user falls under this category. The value of this field comes from `vite.base`. We aren't usually this tight to vite in our code base, so probably this should be refactored somehow. +Specifies the base path to use in development mode for user-generated assets, such as scripts and styles. #### `trailingSlash` @@ -2042,7 +2032,7 @@ The base of the assets generated **by the user**. For example, scripts created b

-{/* TODO */} +Specifies the [configured behavior for trailing slashes](/en/reference/configuration-reference/#trailingslash) in development mode and for on-demand rendered pages. #### `buildFormat` @@ -2052,7 +2042,7 @@ The base of the assets generated **by the user**. For example, scripts created b

-{/* TODO */} +Specifies the [configured output file format](/en/reference/configuration-reference/#buildformat). #### `compressHTML` @@ -2062,17 +2052,17 @@ The base of the assets generated **by the user**. For example, scripts created b

-{/* TODO */} +Determines whether [HTML minification is enabled in the project configuration](/en/reference/configuration-reference/#compresshtml). #### `assetsPrefix`

-**Type:** [`AssetsPrefix`](#assetsprefix)
+**Type:** `string | ({ fallback: string; } & Record) | undefined`

-{/* TODO */} +Specifies the [configured prefix for Astro-generated asset links](/en/reference/configuration-reference/#buildassetsprefix). #### `renderers` @@ -2081,7 +2071,7 @@ The base of the assets generated **by the user**. For example, scripts created b **Type:** SSRLoadedRenderer[]

-{/* TODO */} +An array containing information about each loaded UI framework renderer (e.g., React, Vue, Svelte). #### `clientDirectives` @@ -2091,9 +2081,7 @@ The base of the assets generated **by the user**. For example, scripts created b

-{/* TODO, this is the JSDoc */} - -Map of directive name (e.g. `load`) to the directive script code +Defines a mapping of client directive names (e.g., `load`, `visible`) to their implementation code. This includes both [built-in client directives](/en/reference/directives-reference/#client-directives) and [custom client directives](/en/reference/directives-reference/#custom-client-directives). #### `entryModules` @@ -2102,7 +2090,7 @@ Map of directive name (e.g. `load`) to the directive script code **Type:** `Record`

-{/* TODO */} +Defines a mapping of entrypoints to their output file paths. #### `inlinedScripts` @@ -2112,7 +2100,7 @@ Map of directive name (e.g. `load`) to the directive script code

-{/* TODO */} +Defines a mapping of scripts identifiers to their content for scripts that will be inlined in the HTML output. #### `assets` @@ -2121,7 +2109,7 @@ Map of directive name (e.g. `load`) to the directive script code **Type:** `Set`

-{/* TODO */} +Defines a set of file paths for all assets that are part of the build. #### `componentMetadata` @@ -2131,7 +2119,7 @@ Map of directive name (e.g. `load`) to the directive script code

-{/* TODO */} +Defines a mapping of component identifier to their build metadata. Each entry contains information about the `propagation` behavior and whether it contains head elements. #### `pageModule` @@ -2141,9 +2129,7 @@ Map of directive name (e.g. `load`) to the directive script code

-{/* TODO */} - -This contains the following properties: +Specifies information about a page module. This contains the following properties: ##### `page` @@ -2180,7 +2166,7 @@ This contains the following properties: **Type:** `Map`

-{/* TODO */} +Defines a mapping of component paths to their importable instances. #### `serverIslandMap` @@ -2190,7 +2176,7 @@ This contains the following properties:

-{/* TODO */} +Defines a mapping of server island IDs to their component instances. #### `serverIslandNameMap` @@ -2200,7 +2186,7 @@ This contains the following properties:

-{/* TODO */} +Defines a mapping of server island component paths to their assigned names. #### `key` @@ -2210,7 +2196,7 @@ This contains the following properties:

-{/* TODO */} +Determines the cryptographic key used for encrypting server island props. #### `i18n` @@ -2220,7 +2206,7 @@ This contains the following properties:

-{/* TODO */} +Specifies the `i18n` resolved configuration when defined by the user. #### middleware @@ -2230,17 +2216,17 @@ This contains the following properties:

-{/* TODO */} +Defines an instance to load the middleware. #### `actions`

-**Type:** `() => Promise | SSRActions`
+**Type:** () => Promise\<\{ server: Record\ActionClient\>; \}\> | \{ server: Record\ActionClient\>; \}

-{/* TODO */} +An object with a `server` property that maps action names to their callable functions. #### `checkOrigin` @@ -2250,7 +2236,7 @@ This contains the following properties:

-{/* TODO */} +Determines whether [origin checking is enabled in the configuration](/en/reference/configuration-reference/#securitycheckorigin). #### `allowedDomains` @@ -2259,7 +2245,7 @@ This contains the following properties: **Type:** Partial\<RemotePattern\>[]

-{/* TODO */} +Specifies the [configured list of permitted host patterns](/en/reference/configuration-reference/#securityalloweddomains) for incoming requests when using on-demand rendering. #### `sessionConfig` @@ -2279,7 +2265,7 @@ This contains the following properties:

-{/* TODO */} +Specifies the [configured directory for caching build artifacts](/en/reference/configuration-reference/#cachedir). #### `srcDir` @@ -2289,7 +2275,7 @@ This contains the following properties:

-{/* TODO */} +Specifies the [configured directory that Astro will read the site from](/en/reference/configuration-reference/#srcdir). #### `outDir` @@ -2299,7 +2285,7 @@ This contains the following properties:

-{/* TODO */} +Specifies the [configured directory in which to write the final build](/en/reference/configuration-reference/#outdir). #### `publicDir` @@ -2309,7 +2295,7 @@ This contains the following properties:

-{/* TODO */} +Specifies the [configured directory for the static assets](/en/reference/configuration-reference/#publicdir). #### `buildClientDir` @@ -2319,7 +2305,7 @@ This contains the following properties:

-{/* TODO */} +Determines the path where client-side build artifacts (e.g. JavaScript, CSS) are output within the build directory. #### `buildServerDir` @@ -2329,7 +2315,7 @@ This contains the following properties:

-{/* TODO */} +Determines the path where server-side build artifacts are output within the build directory. #### `csp` @@ -2349,7 +2335,7 @@ This contains the following properties:

-{/* TODO */} +Specifies the headers that are automatically added to internal fetch requests made during rendering. ### `ValidRedirectStatus` From 1b1ec2494a416573404a8449ba4b13b44d8a3278 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Fri, 9 Jan 2026 19:18:12 +0100 Subject: [PATCH 08/19] complete `SSRManifest` and add `SSRManifestCSP` --- .../en/reference/integrations-reference.mdx | 108 +++++++++++++++--- 1 file changed, 90 insertions(+), 18 deletions(-) diff --git a/src/content/docs/en/reference/integrations-reference.mdx b/src/content/docs/en/reference/integrations-reference.mdx index 2c650cd77b7d1..406137465e704 100644 --- a/src/content/docs/en/reference/integrations-reference.mdx +++ b/src/content/docs/en/reference/integrations-reference.mdx @@ -1405,6 +1405,7 @@ import type { SSRLoadedRenderer, SSRLoadedRendererValue, SSRManifest, + SSRManifestCSP, ValidRedirectStatus, // The following are deprecated: IntegrationRouteData, @@ -1663,15 +1664,6 @@ When the value of `IntegrationResolvedRoute.type` is `redirect`, the value will Describes the destination of a redirect. This can be a string or an object containing information about the status code and its destination. -### `ResolvedSessionConfig` - -

- -**Type:** SessionConfig\ & \{ driverModule?: () => Promise\<\{ default: () => unstorage.Driver \}\>; } -

- -{/* TODO */} - ### `RouteData` Describes the information about a route. This contains the following properties: @@ -2138,9 +2130,9 @@ Specifies information about a page module. This contains the following propertie **Type:** `() => Promise`

-{/* TODO */} +A function to retrieve an instance of the page component. -##### `onRequest` +##### `onRequest()`

@@ -2148,7 +2140,7 @@ Specifies information about a page module. This contains the following propertie

-{/* TODO */} +An Astro middleware function when defined in the user project. ##### `renderers` @@ -2157,7 +2149,7 @@ Specifies information about a page module. This contains the following propertie **Type:** SSRLoadedRenderer[]

-{/* TODO */} +An array of loaded UI framework renderer. #### `pageMap` @@ -2208,7 +2200,7 @@ Determines the cryptographic key used for encrypting server island props. Specifies the `i18n` resolved configuration when defined by the user. -#### middleware +#### `middleware`

@@ -2251,11 +2243,11 @@ Specifies the [configured list of permitted host patterns](/en/reference/configu

-**Type:** [`ResolvedSessionConfig`](#resolvedsessionconfig)
+**Type:** SessionConfig\ & \{ driverModule?: () => Promise\<\{ default: () => unstorage.Driver \}\>; }

-{/* TODO */} +An object containing the [resolved session configuration](/en/reference/configuration-reference/#session-options) and an additional `driverModule` property defining the module specifier. #### `cacheDir` @@ -2321,11 +2313,11 @@ Determines the path where server-side build artifacts are output within the buil

-**Type:** `SSRManifestCSP | undefined`
+**Type:** SSRManifestCSP | undefined

-{/* TODO */} +An object describing the Content Security Policy configuration. #### `internalFetchHeaders` @@ -2337,6 +2329,86 @@ Determines the path where server-side build artifacts are output within the buil Specifies the headers that are automatically added to internal fetch requests made during rendering. +### `SSRManifestCSP` + +

+ + +

+ +Describes the [Content Security Policy configuration](/en/reference/experimental-flags/csp/). This contains the following properties: + +#### `cspDestination` + +

+ +**Type:** `'adapter' | 'meta' | 'header' | undefined` +

+ +A union of literals determining whether CSP directives should be injected as a `meta` element, as a response `header`, or by the [`adapter` when it supports setting response headers](/en/reference/adapter-reference/#experimentalstaticheaders). + +#### `algorithm` + +

+ +**Type:** `'SHA-256' | 'SHA-384' | 'SHA-512'` +

+ +Specifies the [configured hash function](/en/reference/experimental-flags/csp/#algorithm). + +#### `scriptHashes` + +

+ +**Type:** `string[]` +

+ +Specifies a list of generated hashes for project scripts and [user-supplied hashes](/en/reference/experimental-flags/csp/#hashes) for external scripts. + +#### `scriptResources` + +

+ +**Type:** `string[]` +

+ +Specifies a list of valid sources for project scripts. + +#### `isStrictDynamic` + +

+ +**Type:** `boolean` +

+ +Determines whether support for dynamic script injection is [enabled in the configuration](/en/reference/experimental-flags/csp/#strictdynamic). + +#### `styleHashes` + +

+ +**Type:** `string[]` +

+ +Specifies a list of generated hashes for project styles and [user-supplied hashes](/en/reference/experimental-flags/csp/#hashes) for external styles. + +#### `styleResources` + +

+ +**Type:** `string[]` +

+ +Specifies a list of valid sources for project styles. + +#### `directives` + +

+ +**Type:** `CspDirective[]` +

+ +Specifies the [configured list of valid sources](/en/reference/experimental-flags/csp/#directives) for specific content types. ### `ValidRedirectStatus` From 8d0d387a77df6c58c4ae0c466135f26cd650d829 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Fri, 9 Jan 2026 22:48:08 +0100 Subject: [PATCH 09/19] no more TODOs --- .../en/reference/integrations-reference.mdx | 43 +++++++++---------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/src/content/docs/en/reference/integrations-reference.mdx b/src/content/docs/en/reference/integrations-reference.mdx index 406137465e704..ece29e8dd82fa 100644 --- a/src/content/docs/en/reference/integrations-reference.mdx +++ b/src/content/docs/en/reference/integrations-reference.mdx @@ -1124,7 +1124,7 @@ export default { ##### Serialized SSR manifest properties -A subset of the [`SSRManifest`](#ssrmanifest) with the following additional properties: +A serialized version of the [`SSRManifest`](#ssrmanifest) type, accessible through the [`astro:build:ssr` hook](#astrobuildssr). This contains the same information as `SSRManifest`, with the following properties converted to serializable formats: ###### `routes` @@ -1133,7 +1133,7 @@ A subset of the [`SSRManifest`](#ssrmanifest) with the following additional prop **Type:** `SerializedRouteInfo[]`

-{/* TODO */} +Defines a list of routes where each route information has been converted to a format that can be JSON-serialized. ###### `assets` @@ -1142,7 +1142,7 @@ A subset of the [`SSRManifest`](#ssrmanifest) with the following additional prop **Type:** `string[]`

-{/* TODO */} +Defines a list of serialized asset file paths. ###### `componentMetadata` @@ -1152,7 +1152,7 @@ A subset of the [`SSRManifest`](#ssrmanifest) with the following additional prop

-{/* TODO */} +Defines an array of key-value pairs representing component metadata. Each entry is a tuple where the first element is the component identifier and the second is the metadata object. ###### `inlinedScripts` @@ -1161,7 +1161,7 @@ A subset of the [`SSRManifest`](#ssrmanifest) with the following additional prop **Type:** `[string, string][]`

-{/* TODO */} +Defines an array of key-value pairs where each entry is a tuple. The first element is the script identifier and the second is the script content. ###### `clientDirectives` @@ -1171,7 +1171,7 @@ A subset of the [`SSRManifest`](#ssrmanifest) with the following additional prop

-{/* TODO */} +Defines an array of key-value pairs where each entry is a tuple. The first element is the directive name (e.g., `load`, `visible`) and the second is the directive's implementation code. ###### `serverIslandNameMap` @@ -1181,7 +1181,7 @@ A subset of the [`SSRManifest`](#ssrmanifest) with the following additional prop

-{/* TODO */} +Defines an array of key-value pairs where each entry is a tuple. The first element is the component path and the second is the assigned name. ###### `key` @@ -1191,7 +1191,7 @@ A subset of the [`SSRManifest`](#ssrmanifest) with the following additional prop

-{/* TODO */} +Specifies the cryptographic key, serialized as a string, used for encrypting server island props. #### `entryPoints` option @@ -1398,7 +1398,6 @@ import type { HookParameters, IntegrationResolvedRoute, RedirectConfig, - ResolvedSessionConfig, RouteData, RoutePart, RouteType, @@ -1509,7 +1508,7 @@ Defines the import path of the middleware. **Type:** \{ onRequest?: MiddlewareHandler; \}

-{/* TODO */} +An object containing an `onRequest` property defined with the project's middleware function when it exists. ### `AstroRenderer` @@ -1901,11 +1900,11 @@ Describes a loaded UI framework renderer. This is a subset of [`AstroRenderer`]( **Type:** [`SSRLoadedRendererValue`](#ssrloadedrenderervalue)

-{/* TODO */} +Defines the on-demand rendering functions and configuration for this framework. ### `SSRLoadedRendererValue` -{/* TODO */} +Contains the functions and configuration necessary to render components on the server from a specific UI framework. #### `name` @@ -1914,7 +1913,7 @@ Describes a loaded UI framework renderer. This is a subset of [`AstroRenderer`]( **Type:** `string`

-{/* TODO */} +Specifies the name identifier for the renderer. #### `check()` @@ -1923,7 +1922,7 @@ Describes a loaded UI framework renderer. This is a subset of [`AstroRenderer`]( **Type:** `AsyncRendererComponentFn`

-{/* TODO */} +Determines whether the renderer should handle the component. #### `renderToStaticMarkup()` @@ -1932,29 +1931,27 @@ Describes a loaded UI framework renderer. This is a subset of [`AstroRenderer`]( **Type:** `AsyncRendererComponentFn<{ html: string; attrs?: Record; }>`

-{/* TODO */} +Renders a framework component to static HTML markup on the server. #### `supportsAstroStaticSlot`

-**Type:** `boolean` +**Type:** `boolean`
+

-{/* TODO */} +Indicates whether the renderer supports Astro's static slot optimization. When true, Astro prevents the removal of nested slots within islands. #### `renderHydrationScript()`

-**Type:** `() => string` +**Type:** `() => string`
+

-{/* TODO, this is the JSDoc: -If provided, Astro will call this function and inject the returned script in the HTML before the first component handled by this renderer. - -This feature is needed by some renderers (in particular, by Solid). The Solid official hydration script sets up a page-level data structure. It is mainly used to transfer data between the server side render phase and the browser application state. Solid Components rendered later in the HTML may inject tiny scripts into the HTML that call into this page-level data structure. -*/} +Returns a framework-specific hydration script that must be injected into the HTML before the first component that uses this renderer. ### `SSRManifest` From 8fe1d7b35d299762da328511b7b00072382e2605 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Sat, 10 Jan 2026 16:00:12 +0100 Subject: [PATCH 10/19] refine + describe `SSRComponentMetadata` & `RouteInfo` --- .../en/reference/integrations-reference.mdx | 173 +++++++++++++++--- 1 file changed, 152 insertions(+), 21 deletions(-) diff --git a/src/content/docs/en/reference/integrations-reference.mdx b/src/content/docs/en/reference/integrations-reference.mdx index ece29e8dd82fa..e76f1f4b4c591 100644 --- a/src/content/docs/en/reference/integrations-reference.mdx +++ b/src/content/docs/en/reference/integrations-reference.mdx @@ -215,7 +215,7 @@ The functions `clientEntrypoint` and `serverEntrypoint` accept a `URL`.

-If your integration depends on some configuration file that Vite doesn't watch and/or needs a full dev server restart to take effect, add it with `addWatchFile`. Whenever that file changes, the Astro dev server will be reloaded (you can check when a reload happens with `isRestart`). +If your integration depends on some configuration file that Vite doesn't watch and/or needs a full dev server restart to take effect, add it with `addWatchFile()`. Whenever that file changes, the Astro dev server will be reloaded (you can check when a reload happens with [`isRestart`](#isrestart-option)). Example usage: @@ -375,7 +375,7 @@ export default () => ({ }); ``` -Middleware is defined in a package with an `onRequest` function, as with user-defined middleware. +Middleware is defined in a package with an [`onRequest()` function](/en/reference/modules/astro-middleware/#onrequest), as with user-defined middleware. ```js title="@my-package/middleware.js" import { defineMiddleware } from 'astro:middleware'; @@ -421,7 +421,7 @@ export default () => ({ A callback function to inject routes into an Astro project. Injected routes can be [`.astro` pages](/en/basics/astro-pages/) or [`.js` and `.ts` route handlers](/en/guides/endpoints/#static-file-endpoints). -`injectRoute` takes an object with a `pattern` and an `entrypoint`. +`injectRoute()` takes an object with a `pattern` and an `entrypoint`. - `pattern` - where the route should be output in the browser, for example `/foo/bar`. A `pattern` can use Astro's filepath syntax for denoting dynamic routes, for example `/foo/[bar]` or `/foo/[...bar]`. Note that a file extension is **not** needed in the `pattern`. - `entrypoint` - a bare module specifier pointing towards the `.astro` page or `.js`/`.ts` route handler that handles the route denoted in the `pattern`. @@ -810,7 +810,7 @@ A function that sends a message to the dev toolbar that an app can listen for. T A function for integrations to trigger an update to the content layer during `astro dev`. This can be used, for example, to register a webhook endpoint during dev, or to open a socket to a CMS to listen for changes. -By default, `refreshContent` will refresh all collections. You can optionally pass a `loaders` property, which is an array of loader names. If provided, only collections that use those loaders will be refreshed. For example, A CMS integration could use this property to only refresh its own collections. +By default, `refreshContent()` will refresh all collections. You can optionally pass a `loaders` property, which is an array of loader names. If provided, only collections that use those loaders will be refreshed. For example, A CMS integration could use this property to only refresh its own collections. You can also pass a `context` object to the loaders. This can be used to pass arbitrary data such as the webhook body, or an event from the websocket. @@ -1124,7 +1124,7 @@ export default { ##### Serialized SSR manifest properties -A serialized version of the [`SSRManifest`](#ssrmanifest) type, accessible through the [`astro:build:ssr` hook](#astrobuildssr). This contains the same information as `SSRManifest`, with the following properties converted to serializable formats: +A serialized version of the [`SSRManifest`](#ssrmanifest), accessible through the [`astro:build:ssr` hook](#astrobuildssr). This contains the same information as `SSRManifest`, with the following properties converted to serializable formats: ###### `routes` @@ -1133,7 +1133,7 @@ A serialized version of the [`SSRManifest`](#ssrmanifest) type, accessible throu **Type:** `SerializedRouteInfo[]`

-Defines a list of routes where each route information has been converted to a format that can be JSON-serialized. +Defines a list of serialized route information. Each route contains the same properties as [`SSRManifest.routes`](#routes-1), with `routeData` converted to a JSON-serializable format. ###### `assets` @@ -1148,11 +1148,11 @@ Defines a list of serialized asset file paths.

-**Type:** `[string, SSRComponentMetadata][]`
+**Type:** [string, SSRComponentMetadata][]

-Defines an array of key-value pairs representing component metadata. Each entry is a tuple where the first element is the component identifier and the second is the metadata object. +Defines an array of key-value pairs where each entry is a tuple. The first element is the component identifier and the second is an object describing the build metadata. ###### `inlinedScripts` @@ -1268,7 +1268,7 @@ export default { **Type:** [`URL`](https://developer.mozilla.org/en-US/docs/Web/API/URL)

-A URL path to the build output directory. Note that if you need a valid absolute path string, you should use Node's built-in [`fileURLToPath`](https://nodejs.org/api/url.html#urlfileurltopathurl-options) utility. +A URL path to the build output directory. Note that if you need a valid absolute path string, you should use Node's built-in [`fileURLToPath()`](https://nodejs.org/api/url.html#urlfileurltopathurl-options) utility. ```js import { fileURLToPath } from 'node:url'; @@ -1309,7 +1309,7 @@ export default { **Type:** [`URL`](https://developer.mozilla.org/en-US/docs/Web/API/URL)

-A URL path to the build output directory. Note that if you need a valid absolute path string, you should use Node's built-in [`fileURLToPath`](https://nodejs.org/api/url.html#urlfileurltopathurl-options) utility. +A URL path to the build output directory. Note that if you need a valid absolute path string, you should use Node's built-in [`fileURLToPath()`](https://nodejs.org/api/url.html#urlfileurltopathurl-options) utility. ```js import { writeFile } from 'node:fs/promises'; @@ -1364,7 +1364,7 @@ Contains URLs to output files paths, grouped by [`IntegrationResolvedRoute`](#in **Type:** `{ pathname: string }[]`

-A list of all generated pages. It is an object with one property. +A list of all generated pages. Each entry is an object with one property: - `pathname` - the finalized path of the page. @@ -1401,6 +1401,7 @@ import type { RouteData, RoutePart, RouteType, + SSRComponentMetadata, SSRLoadedRenderer, SSRLoadedRendererValue, SSRManifest, @@ -1508,7 +1509,7 @@ Defines the import path of the middleware. **Type:** \{ onRequest?: MiddlewareHandler; \}

-An object containing an `onRequest` property defined with the project's middleware function when it exists. +An object containing an [`onRequest()`](/en/reference/modules/astro-middleware/#onrequest) property defined with the project's middleware function when it exists. ### `AstroRenderer` @@ -1575,7 +1576,7 @@ Defines the import path of the code executed whenever the directive is used. ### `HookParameters` -You can get the type of a hook’s arguments by passing the hook’s name to the `HookParameters` utility type. In the following example, a function’s `options` argument is typed to match the parameters of the `astro:config:setup` hook: +You can get the type of a hook’s arguments by passing the hook’s name to the `HookParameters` utility type. In the following example, a function’s `options` argument is typed to match the parameters of the [`astro:config:setup` hook](#astroconfigsetup): ```ts /HookParameters(?:<.+>)?/ import type { HookParameters } from 'astro'; @@ -1884,6 +1885,36 @@ A union of supported route types: * `redirect`: a route points to another route that lives in the file system * `fallback`: a route that doesn't exist in the file system that needs to be handled with other means, usually a middleware +### `SSRComponentMetadata` + +

+ +**Type:** `{ propagation: PropagationHint; containsHead: boolean; }` +

+ +Describes the build metadata of a component rendered by the server. This contains the following properties: + +#### `propagation` + +

+ +**Type:** `'none' | 'self' | 'in-tree'` +

+ +A union of literals indicating whether the Astro runtime needs to wait for a component to render the head content: +- `none`: The component does not propagate the head content. +- `self`: The component appends the head content. +- `in-tree`: Another component within this component's dependency tree appends the head content. + +#### `containsHead` + +

+ +**Type**: `boolean` +

+ +Determines whether the component contains the head content. + ### `SSRLoadedRenderer`

@@ -1900,7 +1931,7 @@ Describes a loaded UI framework renderer. This is a subset of [`AstroRenderer`]( **Type:** [`SSRLoadedRendererValue`](#ssrloadedrenderervalue)

-Defines the on-demand rendering functions and configuration for this framework. +Defines the functions and configuration used by the server for this framework. ### `SSRLoadedRendererValue` @@ -1983,7 +2014,53 @@ Defines the name of the [server adapter](/en/guides/on-demand-rendering/#server- **Type:** `RouteInfo[]`

-An array containing information about all routes in the project. Each route includes its path pattern, whether it's prerendered, and other routing metadata. +A list of information about the routes available in this project. Each entry contains the following properties: + +##### `routeData` + +

+ +**Type:** [`RouteData`](#routedata) +

+ +An object describing known information about a route. + +##### `file` + +

+ +**Type:** `string` +

+ +Specifies the file path to the built route entrypoint. + +##### `links` + +

+ +**Type:** `string[]` +

+ +Defines a list of [HTML `link` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/link) required by this route. + +##### `scripts` + +

+ +**Type:** `Array<{ children: string; stage: string } | { type: 'inline' | 'external'; value: string }>` +

+ +Defines a list of scripts associated with this route. This includes both integration-injected scripts with `children` and `stage` properties and hoisted scripts with `type` and `value` properties. + +##### `styles` + +

+ +**Type:** `Array<{ type: "inline"; content: string; } | { type: "external"; src: string; }>`
+ +

+ +Defines the list of stylesheets associated with this route. This includes both inline styles and stylesheet URLs. #### `site` @@ -2104,7 +2181,7 @@ Defines a set of file paths for all assets that are part of the build.

-**Type:** `Map`
+**Type:** Map\SSRComponentMetadata\>

@@ -2137,7 +2214,7 @@ A function to retrieve an instance of the page component.

-An Astro middleware function when defined in the user project. +An [Astro middleware function](/en/reference/modules/astro-middleware/#onrequest) when defined in the user project. ##### `renderers` @@ -2152,7 +2229,7 @@ An array of loaded UI framework renderer.

-**Type:** `Map` +**Type:** Map\ Promise\<typeof pageModule\>\>

Defines a mapping of component paths to their importable instances. @@ -2161,7 +2238,7 @@ Defines a mapping of component paths to their importable instances.

-**Type:** `Map`
+**Type:** `Map Promise>`

@@ -2185,7 +2262,7 @@ Defines a mapping of server island component paths to their assigned names.

-Determines the cryptographic key used for encrypting server island props. +Determines the [cryptographic key](https://developer.mozilla.org/en-US/docs/Web/API/CryptoKey) used for encrypting server island props. #### `i18n` @@ -2195,7 +2272,61 @@ Determines the cryptographic key used for encrypting server island props.

-Specifies the `i18n` resolved configuration when defined by the user. +Specifies the `i18n` resolved configuration when enabled in the project. This contains the following properties: + +##### `strategy` + +

+ +**Type:** `"manual" | "pathname-prefix-always" | "pathname-prefix-other-locales" | "pathname-prefix-always-no-redirect" | "domains-prefix-always" | "domains-prefix-other-locales" | "domains-prefix-always-no-redirect"` +

+ +Defines the routing strategy used [based on the project configuration](/en/reference/configuration-reference/#i18nrouting). This determines how locales are handled in URLs and whether redirects occur. + +##### `locales` + +

+ +**Type:** `Locales` +

+ +Specifies a list of [supported locales configured in the project](/en/reference/configuration-reference/#i18nlocales). + +##### `defaultLocale` + +

+ +**Type:** `string` +

+ +Determines the [default locale configured in the project](/en/reference/configuration-reference/#i18ndefaultlocale). + +##### `fallback` + +

+ +**Type:** `Record | undefined` +

+ +Specifies a mapping of locales to their fallback locales as [defined in the project configuration](/en/reference/configuration-reference/#i18nfallback). + +##### `fallbackType` + +

+ +**Type:** `"redirect" | "rewrite"` +

+ +Determines the [configured fallback strategy for the project](/en/reference/configuration-reference/#i18nroutingfallbacktype). + +##### `domainLookupTable` + +

+ +**Type:** `Record` +

+ +A mapping of [configured domains](/en/reference/configuration-reference/#i18ndomains) to their associated locales. #### `middleware` From 5408022cd39c01042a51e697bf974bd7613cc55c Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Sat, 10 Jan 2026 16:18:46 +0100 Subject: [PATCH 11/19] add links from the Adapter API reference --- src/content/docs/en/reference/adapter-reference.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/docs/en/reference/adapter-reference.mdx b/src/content/docs/en/reference/adapter-reference.mdx index 7313348ed0cb4..7ad70ddc446cb 100644 --- a/src/content/docs/en/reference/adapter-reference.mdx +++ b/src/content/docs/en/reference/adapter-reference.mdx @@ -254,7 +254,7 @@ You will need to create a file that executes during server-side requests to enab

-**Type:** `(manifest: SSRManifest, options: any) => Record` +**Type:** (manifest: SSRManifest, options: any) => Record\

An exported function that takes an SSR manifest as its first argument and an object containing your adapter [`args`](#args) as its second argument. This should provide the exports required by your host. @@ -314,7 +314,7 @@ export function createExports(manifest, args) {

-**Type:** `(manifest: SSRManifest, options: any) => Record` +**Type:** (manifest: SSRManifest, options: any) => Record\

An exported function that takes an SSR manifest as its first argument and an object containing your adapter [`args`](#args) as its second argument. From b5e512ffd406a27652f5bc658d8ec7eb4658ca03 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Sat, 10 Jan 2026 16:32:16 +0100 Subject: [PATCH 12/19] small refinement --- src/content/docs/en/reference/integrations-reference.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/docs/en/reference/integrations-reference.mdx b/src/content/docs/en/reference/integrations-reference.mdx index e76f1f4b4c591..9a1cff82fb839 100644 --- a/src/content/docs/en/reference/integrations-reference.mdx +++ b/src/content/docs/en/reference/integrations-reference.mdx @@ -2197,7 +2197,7 @@ Defines a mapping of component identifier to their build metadata. Each entry co Specifies information about a page module. This contains the following properties: -##### `page` +##### `page()`

@@ -2346,7 +2346,7 @@ Defines an instance to load the middleware.

-An object with a `server` property that maps action names to their callable functions. +An object, or a function that returns the same object, with a `server` property that maps action names to their callable functions. #### `checkOrigin` From f4ab7d91d80bc5e0a7b11ae1d0b9aacb0fb0e5fc Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Thu, 15 Jan 2026 17:02:45 +0100 Subject: [PATCH 13/19] Thanks Sarah for this great review, first batch of suggestions Co-authored-by: Sarah Rainsberger <5098874+sarah11918@users.noreply.github.com> --- .../en/reference/integrations-reference.mdx | 32 ++++++++++--------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/src/content/docs/en/reference/integrations-reference.mdx b/src/content/docs/en/reference/integrations-reference.mdx index 9a1cff82fb839..a6cb7252d0e3b 100644 --- a/src/content/docs/en/reference/integrations-reference.mdx +++ b/src/content/docs/en/reference/integrations-reference.mdx @@ -1152,7 +1152,7 @@ Defines a list of serialized asset file paths.

-Defines an array of key-value pairs where each entry is a tuple. The first element is the component identifier and the second is an object describing the build metadata. +Defines an array of key-value pairs where the first element is the component identifier and the second is an object describing the build metadata. ###### `inlinedScripts` @@ -1171,7 +1171,7 @@ Defines an array of key-value pairs where each entry is a tuple. The first eleme

-Defines an array of key-value pairs where each entry is a tuple. The first element is the directive name (e.g., `load`, `visible`) and the second is the directive's implementation code. +Defines an array of key-value pairs where the first element is the directive name (e.g. `load`, `visible`) and the second is the directive's implementation code. ###### `serverIslandNameMap` @@ -1482,7 +1482,7 @@ The example above will produce logs with `[astro-format]` by default, and `[astr **Type:** `{ order: "pre" | "post"; entrypoint: string | URL; }`

-Describes a [middleware added by an integration](#addmiddleware-option). This contains the following properties: +Describes a [middleware added by an integration](#addmiddleware-option). #### `order` @@ -1576,7 +1576,9 @@ Defines the import path of the code executed whenever the directive is used. ### `HookParameters` -You can get the type of a hook’s arguments by passing the hook’s name to the `HookParameters` utility type. In the following example, a function’s `options` argument is typed to match the parameters of the [`astro:config:setup` hook](#astroconfigsetup): +You can get the type of a hook’s arguments by passing the hook’s name to the `HookParameters` utility type. + +In the following example, a function’s `options` argument is typed to match the parameters of the [`astro:config:setup` hook](#astroconfigsetup): ```ts /HookParameters(?:<.+>)?/ import type { HookParameters } from 'astro'; @@ -1901,7 +1903,7 @@ Describes the build metadata of a component rendered by the server. This contain **Type:** `'none' | 'self' | 'in-tree'`

-A union of literals indicating whether the Astro runtime needs to wait for a component to render the head content: +A description of how to render head content from this component, including whether the Astro runtime needs to wait for a component: - `none`: The component does not propagate the head content. - `self`: The component appends the head content. - `in-tree`: Another component within this component's dependency tree appends the head content. @@ -2137,7 +2139,7 @@ Specifies the [configured prefix for Astro-generated asset links](/en/reference/ **Type:** SSRLoadedRenderer[]

-An array containing information about each loaded UI framework renderer (e.g., React, Vue, Svelte). +An array containing information about each loaded UI framework renderer (e.g. React, Vue, Svelte). #### `clientDirectives` @@ -2147,7 +2149,7 @@ An array containing information about each loaded UI framework renderer (e.g., R

-Defines a mapping of client directive names (e.g., `load`, `visible`) to their implementation code. This includes both [built-in client directives](/en/reference/directives-reference/#client-directives) and [custom client directives](/en/reference/directives-reference/#custom-client-directives). +Defines a mapping of client directive names (e.g. `load`, `visible`) to their implementation code. This includes both [built-in client directives](/en/reference/directives-reference/#client-directives) and [custom client directives](/en/reference/directives-reference/#custom-client-directives). #### `entryModules` @@ -2185,7 +2187,7 @@ Defines a set of file paths for all assets that are part of the build.

-Defines a mapping of component identifier to their build metadata. Each entry contains information about the `propagation` behavior and whether it contains head elements. +Defines a mapping of component identifier to their build metadata. Each entry contains information about the [`propagation`](#propagation) behavior and whether it contains head elements. #### `pageModule` @@ -2272,7 +2274,7 @@ Determines the [cryptographic key](https://developer.mozilla.org/en-US/docs/Web/

-Specifies the `i18n` resolved configuration when enabled in the project. This contains the following properties: +Specifies the resolved [`i18n` configuration](/en/reference/configuration-reference/#i18n) when enabled in the project. This contains the following properties: ##### `strategy` @@ -2281,7 +2283,7 @@ Specifies the `i18n` resolved configuration when enabled in the project. This co **Type:** `"manual" | "pathname-prefix-always" | "pathname-prefix-other-locales" | "pathname-prefix-always-no-redirect" | "domains-prefix-always" | "domains-prefix-other-locales" | "domains-prefix-always-no-redirect"`

-Defines the routing strategy used [based on the project configuration](/en/reference/configuration-reference/#i18nrouting). This determines how locales are handled in URLs and whether redirects occur. +Defines the [i18n routing strategy](/en/reference/configuration-reference/#i18nrouting) configured. This determines how locales are handled in URLs and whether redirects occur. ##### `locales` @@ -2308,7 +2310,7 @@ Determines the [default locale configured in the project](/en/reference/configur **Type:** `Record | undefined`

-Specifies a mapping of locales to their fallback locales as [defined in the project configuration](/en/reference/configuration-reference/#i18nfallback). +Specifies a mapping of locales to their fallback locales as [configured in `i18n.fallback`](/en/reference/configuration-reference/#i18nfallback). ##### `fallbackType` @@ -2346,7 +2348,7 @@ Defines an instance to load the middleware.

-An object, or a function that returns the same object, with a `server` property that maps action names to their callable functions. +An object, or a function that returns an object, with a `server` property that maps action names to their callable functions. #### `checkOrigin` @@ -2356,7 +2358,7 @@ An object, or a function that returns the same object, with a `server` property

-Determines whether [origin checking is enabled in the configuration](/en/reference/configuration-reference/#securitycheckorigin). +Determines whether [origin checking is enabled in the security configuration](/en/reference/configuration-reference/#securitycheckorigin). #### `allowedDomains` @@ -2473,7 +2475,7 @@ Describes the [Content Security Policy configuration](/en/reference/experimental **Type:** `'adapter' | 'meta' | 'header' | undefined`

-A union of literals determining whether CSP directives should be injected as a `meta` element, as a response `header`, or by the [`adapter` when it supports setting response headers](/en/reference/adapter-reference/#experimentalstaticheaders). +Specifies whether CSP directives should be injected as a `meta` element, as a response `header`, or by the [`adapter` when it supports setting response headers](/en/reference/adapter-reference/#experimentalstaticheaders). #### `algorithm` @@ -2509,7 +2511,7 @@ Specifies a list of valid sources for project scripts. **Type:** `boolean`

-Determines whether support for dynamic script injection is [enabled in the configuration](/en/reference/experimental-flags/csp/#strictdynamic). +Determines whether support for [dynamic script injection is enabled in the configuration](/en/reference/experimental-flags/csp/#strictdynamic). #### `styleHashes` From b316ae5a27641a56054e23d7bd44750ff08f8657 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Thu, 15 Jan 2026 17:07:08 +0100 Subject: [PATCH 14/19] update link in `address` option description --- src/content/docs/en/reference/integrations-reference.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/en/reference/integrations-reference.mdx b/src/content/docs/en/reference/integrations-reference.mdx index a6cb7252d0e3b..cecf515487fb6 100644 --- a/src/content/docs/en/reference/integrations-reference.mdx +++ b/src/content/docs/en/reference/integrations-reference.mdx @@ -876,7 +876,7 @@ The loader can then access the `refreshContextData` property to get the webhook **Type:** `AddressInfo`

-The address, family and port number supplied by the [Node.js Net module](https://nodejs.org/api/net.html). +The address, family and port number supplied by the [`server.address()` method of the Node.js Net module](https://nodejs.org/api/net.html#serveraddress). ### `astro:server:done` From 6597fa2b016813ea468caccc02d05ab747b17707 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Thu, 15 Jan 2026 18:55:50 +0100 Subject: [PATCH 15/19] 2nd batch before manual edits Co-authored-by: Sarah Rainsberger <5098874+sarah11918@users.noreply.github.com> --- .../docs/en/reference/integrations-reference.mdx | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/content/docs/en/reference/integrations-reference.mdx b/src/content/docs/en/reference/integrations-reference.mdx index cecf515487fb6..9be1ebac37fec 100644 --- a/src/content/docs/en/reference/integrations-reference.mdx +++ b/src/content/docs/en/reference/integrations-reference.mdx @@ -1026,7 +1026,7 @@ Defines a string that can be resolved into a file path for the module.

-A list of styles to render on the page. Each style contains its `depth` and display `order` on the page, as well as an indication of whether it should be applied as an inline or external style. +A list of styles to render on the page. Each style contains its `depth` in the components tree and its display `order` on the page, as well as an indication of whether this should be applied as an inline or external style. #### `target` option @@ -1268,7 +1268,9 @@ export default { **Type:** [`URL`](https://developer.mozilla.org/en-US/docs/Web/API/URL)

-A URL path to the build output directory. Note that if you need a valid absolute path string, you should use Node's built-in [`fileURLToPath()`](https://nodejs.org/api/url.html#urlfileurltopathurl-options) utility. +A URL path to the build output directory. + +The following example uses Node's built-in [`fileURLToPath()`](https://nodejs.org/api/url.html#urlfileurltopathurl-options) utility to compute a valid absolute path string for a file provided by the integration: ```js import { fileURLToPath } from 'node:url'; @@ -1309,7 +1311,9 @@ export default { **Type:** [`URL`](https://developer.mozilla.org/en-US/docs/Web/API/URL)

-A URL path to the build output directory. Note that if you need a valid absolute path string, you should use Node's built-in [`fileURLToPath()`](https://nodejs.org/api/url.html#urlfileurltopathurl-options) utility. +A URL path to the build output directory. + +The following example uses Node's built-in [`fileURLToPath()`](https://nodejs.org/api/url.html#urlfileurltopathurl-options) utility to compute a valid absolute path string for a file provided by the integration before writing to it: ```js import { writeFile } from 'node:fs/promises'; @@ -2377,7 +2381,7 @@ Specifies the [configured list of permitted host patterns](/en/reference/configu

-An object containing the [resolved session configuration](/en/reference/configuration-reference/#session-options) and an additional `driverModule` property defining the module specifier. +An object containing the [resolved session configuration](/en/reference/configuration-reference/#session-options) and an additional property defining the driver in use. #### `cacheDir` @@ -2502,7 +2506,7 @@ Specifies a list of generated hashes for project scripts and [user-supplied hash **Type:** `string[]`

-Specifies a list of valid sources for project scripts. +Specifies a list of valid sources combining the [configured resources](/en/reference/experimental-flags/csp/#resources) and the [injected script resources](/en/reference/experimental-flags/csp/#cspinsertscriptresource). #### `isStrictDynamic` From 83c14ad3473b3c629c9f3c9e20bf1d376ffa9d38 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Thu, 15 Jan 2026 19:07:05 +0100 Subject: [PATCH 16/19] get rid of "the following properties:" --- .../en/reference/integrations-reference.mdx | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/content/docs/en/reference/integrations-reference.mdx b/src/content/docs/en/reference/integrations-reference.mdx index 9be1ebac37fec..af1cad522b558 100644 --- a/src/content/docs/en/reference/integrations-reference.mdx +++ b/src/content/docs/en/reference/integrations-reference.mdx @@ -979,7 +979,7 @@ export default { #### Page build data -A page contains the following properties describing how to build it: +An object describing how to build a page. ###### `key` @@ -1124,7 +1124,7 @@ export default { ##### Serialized SSR manifest properties -A serialized version of the [`SSRManifest`](#ssrmanifest), accessible through the [`astro:build:ssr` hook](#astrobuildssr). This contains the same information as `SSRManifest`, with the following properties converted to serializable formats: +A serialized version of the [`SSRManifest`](#ssrmanifest), accessible through the [`astro:build:ssr` hook](#astrobuildssr). This contains the same information as `SSRManifest`, with some properties converted to serializable formats. ###### `routes` @@ -1522,7 +1522,7 @@ An object containing an [`onRequest()`](/en/reference/modules/astro-middleware/# **Type:** `{ name: string; clientEntrypoint?: string | URL; serverEntrypoint: string | URL; }`

-Describes a [component framework renderer added by an integration](#addrenderer-option). This contains the following properties: +Describes a [component framework renderer added by an integration](#addrenderer-option). #### `name` @@ -1558,7 +1558,7 @@ Defines the import path of the renderer that runs during server-side requests or **Type:** `{ name: string; entrypoint: string | URL; }`

-Describes a [custom client directive added by an integration](#addclientdirective-option). This contains the following properties: +Describes a [custom client directive added by an integration](#addclientdirective-option). #### `name` @@ -1672,7 +1672,7 @@ Describes the destination of a redirect. This can be a string or an object conta ### `RouteData` -Describes the information about a route. This contains the following properties: +Describes the information about a route. #### `route` @@ -1845,7 +1845,7 @@ Determines if a route comes from Astro core (`internal`), an integration (`exter **Type:** `{ content: string; dynamic: boolean; spread: boolean; }`

-Describes a route segment. This contains the following properties: +Describes a route segment. #### `content` @@ -1898,7 +1898,7 @@ A union of supported route types: **Type:** `{ propagation: PropagationHint; containsHead: boolean; }`

-Describes the build metadata of a component rendered by the server. This contains the following properties: +Describes the build metadata of a component rendered by the server. #### `propagation` @@ -1928,7 +1928,7 @@ Determines whether the component contains the head content. **Type:** `{ name: string; clientEntrypoint?: string | URL; ssr: SSRLoadedRendererValue; }`

-Describes a loaded UI framework renderer. This is a subset of [`AstroRenderer`](#astrorenderer) with the following additional properties: +Describes a loaded UI framework renderer. This is a subset of [`AstroRenderer`](#astrorenderer) with additional properties. #### `ssr` @@ -1992,7 +1992,7 @@ Returns a framework-specific hydration script that must be injected into the HTM ### `SSRManifest` -An object containing build configuration and project metadata that the server adapters use at runtime to serve on-demand rendered pages. This contains the following properties: +An object containing build configuration and project metadata that the server adapters use at runtime to serve on-demand rendered pages. #### `hrefRoot` @@ -2020,7 +2020,7 @@ Defines the name of the [server adapter](/en/guides/on-demand-rendering/#server- **Type:** `RouteInfo[]`

-A list of information about the routes available in this project. Each entry contains the following properties: +A list of information about the routes available in this project. Each entry contains the following properties. ##### `routeData` @@ -2201,7 +2201,7 @@ Defines a mapping of component identifier to their build metadata. Each entry co

-Specifies information about a page module. This contains the following properties: +Specifies information about a page module. ##### `page()` @@ -2278,7 +2278,7 @@ Determines the [cryptographic key](https://developer.mozilla.org/en-US/docs/Web/

-Specifies the resolved [`i18n` configuration](/en/reference/configuration-reference/#i18n) when enabled in the project. This contains the following properties: +Specifies the resolved [`i18n` configuration](/en/reference/configuration-reference/#i18n) when enabled in the project. ##### `strategy` @@ -2470,7 +2470,7 @@ Specifies the headers that are automatically added to internal fetch requests ma

-Describes the [Content Security Policy configuration](/en/reference/experimental-flags/csp/). This contains the following properties: +Describes the [Content Security Policy configuration](/en/reference/experimental-flags/csp/). #### `cspDestination` From ef10009932f9786e0c19bbe4541171c1161380dd Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Thu, 15 Jan 2026 19:17:03 +0100 Subject: [PATCH 17/19] replace "loaded renderer" --- src/content/docs/en/reference/integrations-reference.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/docs/en/reference/integrations-reference.mdx b/src/content/docs/en/reference/integrations-reference.mdx index af1cad522b558..1feeb2c7c9ba9 100644 --- a/src/content/docs/en/reference/integrations-reference.mdx +++ b/src/content/docs/en/reference/integrations-reference.mdx @@ -1928,7 +1928,7 @@ Determines whether the component contains the head content. **Type:** `{ name: string; clientEntrypoint?: string | URL; ssr: SSRLoadedRendererValue; }`

-Describes a loaded UI framework renderer. This is a subset of [`AstroRenderer`](#astrorenderer) with additional properties. +Describes a renderer available for the server to use. This is a subset of [`AstroRenderer`](#astrorenderer) with additional properties. #### `ssr` @@ -2143,7 +2143,7 @@ Specifies the [configured prefix for Astro-generated asset links](/en/reference/ **Type:** SSRLoadedRenderer[]

-An array containing information about each loaded UI framework renderer (e.g. React, Vue, Svelte). +A list of renderers (e.g. React, Vue, Svelte) available for the server to use. #### `clientDirectives` @@ -2229,7 +2229,7 @@ An [Astro middleware function](/en/reference/modules/astro-middleware/#onrequest **Type:** SSRLoadedRenderer[]

-An array of loaded UI framework renderer. +A list of renderers that a server can use for this page. #### `pageMap` From 8ecf0d2820c1b3fa0c65d26f0a4accf9adfd54b2 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Thu, 15 Jan 2026 22:04:29 +0100 Subject: [PATCH 18/19] even better, thanks again! Co-authored-by: Sarah Rainsberger <5098874+sarah11918@users.noreply.github.com> --- src/content/docs/en/reference/integrations-reference.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/docs/en/reference/integrations-reference.mdx b/src/content/docs/en/reference/integrations-reference.mdx index 1feeb2c7c9ba9..296ad7903635e 100644 --- a/src/content/docs/en/reference/integrations-reference.mdx +++ b/src/content/docs/en/reference/integrations-reference.mdx @@ -2143,7 +2143,7 @@ Specifies the [configured prefix for Astro-generated asset links](/en/reference/ **Type:** SSRLoadedRenderer[]

-A list of renderers (e.g. React, Vue, Svelte) available for the server to use. +A list of renderers (e.g. React, Vue, Svelte, MDX) available for the server to use. #### `clientDirectives` @@ -2506,7 +2506,7 @@ Specifies a list of generated hashes for project scripts and [user-supplied hash **Type:** `string[]`

-Specifies a list of valid sources combining the [configured resources](/en/reference/experimental-flags/csp/#resources) and the [injected script resources](/en/reference/experimental-flags/csp/#cspinsertscriptresource). +Specifies a list of valid sources combining the [configured script resources](/en/reference/experimental-flags/csp/#resources) and the [injected script resources](/en/reference/experimental-flags/csp/#cspinsertscriptresource). #### `isStrictDynamic` @@ -2533,7 +2533,7 @@ Specifies a list of generated hashes for project styles and [user-supplied hashe **Type:** `string[]`

-Specifies a list of valid sources for project styles. +Specifies a list of valid sources combining the [configured style resources](/en/reference/experimental-flags/csp/#resources) and the [injected script resources](/en/reference/experimental-flags/csp/#cspinsertscriptresource). #### `directives` From f812c24680d5ea4b0a0e947a5a505411550b3304 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Fri, 16 Jan 2026 00:55:48 +0100 Subject: [PATCH 19/19] Apply suggestions from boss review, aka Yan Co-authored-by: Yan <61414485+yanthomasdev@users.noreply.github.com> --- src/content/docs/en/reference/integrations-reference.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/docs/en/reference/integrations-reference.mdx b/src/content/docs/en/reference/integrations-reference.mdx index 296ad7903635e..725c36de9be77 100644 --- a/src/content/docs/en/reference/integrations-reference.mdx +++ b/src/content/docs/en/reference/integrations-reference.mdx @@ -2172,7 +2172,7 @@ Defines a mapping of entrypoints to their output file paths.

-Defines a mapping of scripts identifiers to their content for scripts that will be inlined in the HTML output. +Defines a mapping of script identifiers to their content for scripts that will be inlined in the HTML output. #### `assets` @@ -2191,7 +2191,7 @@ Defines a set of file paths for all assets that are part of the build.

-Defines a mapping of component identifier to their build metadata. Each entry contains information about the [`propagation`](#propagation) behavior and whether it contains head elements. +Defines a mapping of component identifiers to their build metadata. Each entry contains information about the [`propagation`](#propagation) behavior and whether it contains head elements. #### `pageModule`