summaryrefslogtreecommitdiff
path: root/packages/integrations/vue/server.js
blob: 4e06baa5f671a45abc942ab5d481032a72d4c4da (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import { h, createSSRApp } from 'vue';
import { renderToString } from 'vue/server-renderer';
import { setup } from 'virtual:@astrojs/vue/app';
import StaticHtml from './static-html.js';

function check(Component) {
	return !!Component['ssrRender'] || !!Component['__ssrInlineRender'];
}

async function renderToStaticMarkup(Component, props, slotted, metadata) {
	const slots = {};
	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) });
	await setup(app);
	const html = await renderToString(app);
	return { html };
}

export default {
	check,
	renderToStaticMarkup,
	supportsAstroStaticSlot: true,
};
-fallback&id=acac0af53466f8a381ccdac29ed2ad735d7b4e79&follow=1'>fix(routing): middleware in dev (#12420)Gravatar Emanuele Stoppa 6-9/+52 2024-11-12[ci] release (#12403)astro@4.16.11Gravatar Houston (Bot) 30-73/+68 2024-11-11fix(routing): emit error for forbidden rewrite (#12339)Gravatar Emanuele Stoppa 7-0/+88 2024-11-11[ci] formatGravatar Sarah Rainsberger 1-38/+38 2024-11-11update markdown config docs (#12382)Gravatar Sarah Rainsberger 1-4/+45 2024-11-08Actions middleware (#12373)Gravatar Ben Holmes 26-311/+483 2024-11-08Fix incorrect status code in dev server for action errors (#12401)Gravatar Ben Holmes 2-13/+21 2024-11-08fix(actions): better runtime check for invalid usages (#12402)Gravatar Emanuele Stoppa 8-5/+47 2024-11-08fix: error overlay message escape (#12305)Gravatar Florian Lefebvre 3-0/+28 2024-11-06[ci] release (beta) (#12370)create-astro@4.11.0-beta.0astro@5.0.0-beta.7@astrojs/svelte@6.0.0-beta.2Gravatar Houston (Bot) 31-55/+84 2024-11-06Add svelte changesetGravatar bluwy 5-39/+51 2024-11-06[ci] release (#12369)astro@4.16.10@astrojs/svelte@5.7.3Gravatar Houston (Bot) 34-81/+74 2024-11-06Update to Vite 6.0.0-beta.6 (#12323)Gravatar Bjorn Lu 15-100/+123 2024-11-06[ci] formatGravatar Bjorn Lu 2-18/+17 2024-11-06Add support for Svelte 5 @render syntax (#12390)Gravatar Bjorn Lu 3-0/+30 2024-11-06fix(deps): update all non-major dependencies (#12366)Gravatar renovate[bot] 29-533/+552