Skip to content

Commit af03792

Browse files
committed
fix: og handler
1 parent 1884e3c commit af03792

File tree

2 files changed

+23
-12
lines changed

2 files changed

+23
-12
lines changed

src/internal/vite-plugins.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,7 @@ export function deps(): PluginOption {
6262
'vocs > ts-interface-checker',
6363
...(config?.optimizeDeps?.include ?? []),
6464
],
65-
exclude: [
66-
'vocs',
67-
'@takumi-rs/core',
68-
'@takumi-rs/image-response',
69-
...(config?.optimizeDeps?.exclude ?? []),
70-
],
65+
exclude: ['vocs', '@takumi-rs/core', ...(config?.optimizeDeps?.exclude ?? [])],
7166
},
7267
resolve: {
7368
...config?.resolve,
@@ -97,7 +92,8 @@ export function deps(): PluginOption {
9792
],
9893
},
9994
ssr: {
100-
noExternal: ['@takumi-rs/core', '@takumi-rs/image-response'],
95+
external: ['@takumi-rs/core'],
96+
noExternal: ['@takumi-rs/image-response'],
10197
},
10298
}
10399
},

src/server/handlers.ts

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
import { ImageResponse } from '@takumi-rs/image-response'
1+
import { ImageResponse } from '@takumi-rs/image-response/wasm'
2+
// @ts-expect-error
3+
import wasm from '@takumi-rs/wasm/takumi_wasm_bg.wasm?url'
4+
25
import * as Config from '../internal/config.js'
36

47
type Handler = {
@@ -39,10 +42,22 @@ export function og(render: (props: og.Props) => React.JSX.Element): Handler {
3942

4043
const element = render({ config, title, description, logo })
4144

42-
return new ImageResponse(element, {
43-
width: 1200,
44-
height: 630,
45-
})
45+
const wasmUrl = new URL(wasm, url.origin)
46+
const module = await fetch(wasmUrl).then((r) => r.arrayBuffer())
47+
48+
try {
49+
console.log(module)
50+
const res = new ImageResponse(element, {
51+
module,
52+
width: 1200,
53+
height: 630,
54+
})
55+
console.log('test', res)
56+
return res
57+
} catch (error) {
58+
console.error(error)
59+
return new Response('Failed to generate OG image', { status: 500 })
60+
}
4661
},
4762
}
4863
}

0 commit comments

Comments
 (0)