I'm trying to integrate payload CMS with tnastack Start. Tanstack is vite based, and supports SSR.
Here is the relatively simple example that fails:
const CmsPreviewBlogPost: FunctionComponent = () => {
const { blogPost } = Route.useLoaderData()
return (
<>
<div>{blogPost.title}</div>
</>
);
}
export const Route = createFileRoute('/(cms)/preview/blog-post/$id')({
component: CmsPreviewBlogPost,
loader: async ({ params }) => {
const { getPayload } = await import('payload');
const { config } = await import("@cf/providers/payload");
const payload = await getPayload({ config })
const blogPost = await payload.findByID({
collection: 'blog-posts',
id: params.id,
draft: true,
})
return { blogPost }
}
})
and the error i get:
The requested module '/_build/node_modules/.pnpm/bson-objectid@2.0.4/node_modules/bson-objectid/objectid.js?v=97dd5044' does not provide an export named 'default'
i already tried to add this package to vite config to ban it from client bundles, without success:
vite: {
ssr: {
external: ['payload', 'bson-objectid'],
},
optimizeDeps: {
exclude: ['payload', 'bson-objectid'],
},
any ideas? Thanks!