diff --git a/packages/core/src/blitz/metadata.socket.ts b/packages/core/src/blitz/metadata.socket.ts index 9b83fa8c1..b3e8ed1dc 100644 --- a/packages/core/src/blitz/metadata.socket.ts +++ b/packages/core/src/blitz/metadata.socket.ts @@ -4,7 +4,7 @@ import { CatalogItemAccessor } from './catalogItemAccessor'; import { MetadataAccessor } from './metadata'; export class SocketMetadataAccessor extends MetadataAccessor { - private items: Record = {}; + items: Record = {}; constructor(metadata: Metadata) { super(); diff --git a/packages/website-ue/src/core/blitz/metadata.ts b/packages/website-ue/src/core/blitz/metadata.ts index 40c9fc2c9..39d886c20 100644 --- a/packages/website-ue/src/core/blitz/metadata.ts +++ b/packages/website-ue/src/core/blitz/metadata.ts @@ -1,13 +1,11 @@ import type { MetadataAccessor } from 'packages/core/src'; -import { remoteMetadata } from './metadata.remote'; -import { socketMetadata } from './metadata.socket'; let accessor: MetadataAccessor; if (import.meta.env.SSR) { - accessor = socketMetadata; + accessor = await import('./metadata.socket').then((m) => m.socketMetadata); } else { - accessor = remoteMetadata; + accessor = await import('./metadata.remote').then((m) => m.remoteMetadata); } export const metadata = accessor; diff --git a/packages/website-ue/src/pages/api/metadata/catalog/[item].pb.ts b/packages/website-ue/src/pages/api/metadata/catalog/[item].pb.ts index d321b4f8d..5a9409c48 100644 --- a/packages/website-ue/src/pages/api/metadata/catalog/[item].pb.ts +++ b/packages/website-ue/src/pages/api/metadata/catalog/[item].pb.ts @@ -1,18 +1,19 @@ import type { APIRoute, GetStaticPaths, GetStaticPathsItem } from 'astro'; -import { catalog } from 'packages/website-ue/src/core/blitz/metadata'; +import { socketMetadata } from 'packages/website-ue/src/core/blitz/metadata.socket'; export const getStaticPaths: GetStaticPaths = () => { const paths: GetStaticPathsItem[] = []; - for (const item in catalog.items) { + for (const item in socketMetadata.items) { paths.push({ params: { item } }); } return paths; }; -export const GET: APIRoute<{}, { item: string }> = ({ params }) => { - return new Response(catalog.get(params.item).encode(), { - headers: { 'Content-Type': 'application/octet-stream' }, - }); +export const GET: APIRoute<{}, { item: string }> = async ({ params }) => { + return new Response( + await socketMetadata.get(params.item).then((item) => item.encode()), + { headers: { 'Content-Type': 'application/octet-stream' } }, + ); };