server.ts — astro Source File
Architecture documentation for server.ts, a typescript file in the astro codebase. 7 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR d0de5327_5e5a_8e1a_12da_157bf4a85e96["server.ts"] 452aba20_c5dd_d534_5a48_cfe44988ef3c["./context.js"] d0de5327_5e5a_8e1a_12da_157bf4a85e96 --> 452aba20_c5dd_d534_5a48_cfe44988ef3c d768d4dc_95e0_cf54_1925_986c1d407d73["./static-html.js"] d0de5327_5e5a_8e1a_12da_157bf4a85e96 --> d768d4dc_95e0_cf54_1925_986c1d407d73 e0ce394f_3cf8_2d6b_b842_efcba9df723e["./types.js"] d0de5327_5e5a_8e1a_12da_157bf4a85e96 --> e0ce394f_3cf8_2d6b_b842_efcba9df723e 424749a0_0df4_313e_4a43_2972786b85fe["virtual:astro:vue-app"] d0de5327_5e5a_8e1a_12da_157bf4a85e96 --> 424749a0_0df4_313e_4a43_2972786b85fe f16d8c76_2866_6150_bd14_0347b59abfe9["astro"] d0de5327_5e5a_8e1a_12da_157bf4a85e96 --> f16d8c76_2866_6150_bd14_0347b59abfe9 58645bbc_6680_4e2a_38e9_3e4f34edbed5["vue"] d0de5327_5e5a_8e1a_12da_157bf4a85e96 --> 58645bbc_6680_4e2a_38e9_3e4f34edbed5 27f5dff1_da0b_4b1b_58f4_0f6c36905db8["server-renderer"] d0de5327_5e5a_8e1a_12da_157bf4a85e96 --> 27f5dff1_da0b_4b1b_58f4_0f6c36905db8 style d0de5327_5e5a_8e1a_12da_157bf4a85e96 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { setup } from 'virtual:astro:vue-app';
import type { AstroComponentMetadata, NamedSSRLoadedRendererValue } from 'astro';
import { createSSRApp, h } from 'vue';
import { renderToString } from 'vue/server-renderer';
import { incrementId } from './context.js';
import StaticHtml from './static-html.js';
import type { RendererContext } from './types.js';
async function check(Component: any) {
return !!Component['ssrRender'] || !!Component['__ssrInlineRender'];
}
async function renderToStaticMarkup(
this: RendererContext,
Component: any,
inputProps: Record<string, any>,
slotted: Record<string, any>,
metadata?: AstroComponentMetadata,
) {
let prefix;
if (this && this.result) {
prefix = incrementId(this.result);
}
const attrs: Record<string, any> = { prefix };
const slots: Record<string, any> = {};
const props = { ...inputProps };
delete props.slot;
for (const [key, value] of Object.entries(slotted)) {
slots[key] = () =>
h(StaticHtml, {
value,
name: key === 'default' ? undefined : key,
// Adjust how this is hydrated only when the version of Astro supports `astroStaticSlot`
hydrate: metadata?.astroStaticSlot ? !!metadata.hydrate : true,
});
}
const app = createSSRApp({ render: () => h(Component, props, slots) });
app.config.idPrefix = prefix;
await setup(app);
const html = await renderToString(app);
return { html, attrs };
}
const renderer: NamedSSRLoadedRendererValue = {
name: '@astrojs/vue',
check,
renderToStaticMarkup,
supportsAstroStaticSlot: true,
};
export default renderer;
Domain
Subdomains
Functions
Dependencies
- ./context.js
- ./static-html.js
- ./types.js
- astro
- server-renderer
- virtual:astro:vue-app
- vue
Source
Frequently Asked Questions
What does server.ts do?
server.ts is a source file in the astro codebase, written in typescript. It belongs to the CoreAstro domain, CoreMiddleware subdomain.
What functions are defined in server.ts?
server.ts defines 2 function(s): check, renderToStaticMarkup.
What does server.ts depend on?
server.ts imports 7 module(s): ./context.js, ./static-html.js, ./types.js, astro, server-renderer, virtual:astro:vue-app, vue.
Where is server.ts in the architecture?
server.ts is located at packages/integrations/vue/src/server.ts (domain: CoreAstro, subdomain: CoreMiddleware, directory: packages/integrations/vue/src).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free