diff options
author | 2025-04-29 13:28:52 +0200 | |
---|---|---|
committer | 2025-04-29 13:28:52 +0200 | |
commit | e1cd1ae52199c927ad5300a2eaed3996c6af5a64 (patch) | |
tree | c82196caebbe6cef1df84e4269e61001759932c7 /packages/integrations/vue/src/server.ts | |
parent | 210399155a6004e8e975f9024ae6d7e9945ae9a9 (diff) | |
download | astro-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.ts | 14 |
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; |