summaryrefslogtreecommitdiff
path: root/packages/integrations/vue/src/server.ts
diff options
context:
space:
mode:
authorGravatar Florian Lefebvre <contact@florian-lefebvre.dev> 2025-04-29 13:28:52 +0200
committerGravatar GitHub <noreply@github.com> 2025-04-29 13:28:52 +0200
commite1cd1ae52199c927ad5300a2eaed3996c6af5a64 (patch)
treec82196caebbe6cef1df84e4269e61001759932c7 /packages/integrations/vue/src/server.ts
parent210399155a6004e8e975f9024ae6d7e9945ae9a9 (diff)
downloadastro-e1cd1ae52199c927ad5300a2eaed3996c6af5a64.tar.gz
astro-e1cd1ae52199c927ad5300a2eaed3996c6af5a64.tar.zst
astro-e1cd1ae52199c927ad5300a2eaed3996c6af5a64.zip
fix: renderers types (#13720)
Diffstat (limited to 'packages/integrations/vue/src/server.ts')
-rw-r--r--packages/integrations/vue/src/server.ts14
1 files changed, 8 insertions, 6 deletions
diff --git a/packages/integrations/vue/src/server.ts b/packages/integrations/vue/src/server.ts
index 6b4c2a3f4..1aa104b0d 100644
--- a/packages/integrations/vue/src/server.ts
+++ b/packages/integrations/vue/src/server.ts
@@ -1,12 +1,12 @@
import { setup } from 'virtual:@astrojs/vue/app';
-import type { AstroComponentMetadata } from 'astro';
+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';
-function check(Component: any) {
+async function check(Component: any) {
return !!Component['ssrRender'] || !!Component['__ssrInlineRender'];
}
@@ -15,13 +15,13 @@ async function renderToStaticMarkup(
Component: any,
inputProps: Record<string, any>,
slotted: Record<string, any>,
- metadata: AstroComponentMetadata,
+ metadata?: AstroComponentMetadata,
) {
let prefix;
if (this && this.result) {
prefix = incrementId(this.result);
}
- const attrs = { prefix };
+ const attrs: Record<string, any> = { prefix };
const slots: Record<string, any> = {};
const props = { ...inputProps };
@@ -32,7 +32,7 @@ async function renderToStaticMarkup(
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,
+ hydrate: metadata?.astroStaticSlot ? !!metadata.hydrate : true,
});
}
const app = createSSRApp({ render: () => h(Component, props, slots) });
@@ -42,9 +42,11 @@ async function renderToStaticMarkup(
return { html, attrs };
}
-export default {
+const renderer: NamedSSRLoadedRendererValue = {
name: '@astrojs/vue',
check,
renderToStaticMarkup,
supportsAstroStaticSlot: true,
};
+
+export default renderer;