fix: can't use node internals on edge

This commit is contained in:
iCrawl
2024-03-03 02:36:06 +01:00
parent 79fbda3aac
commit 9fa115df86

View File

@@ -1,6 +1,5 @@
/* eslint-disable react/no-unknown-property */
import { ImageResponse } from 'next/og';
import { fetchNode } from '~/util/fetchNode';
import { resolveKind } from '~/util/resolveNodeKind';
export const runtime = 'edge';
@@ -17,7 +16,14 @@ export default async function Image({
}: {
readonly params: { readonly item: string; readonly packageName: string; readonly version: string };
}) {
const node = await fetchNode({ item: params.item, packageName: params.packageName, version: params.version });
const normalizeItem = params.item.split(encodeURIComponent(':')).join('.').toLowerCase();
const isMainVersion = params.version === 'main';
const fileContent = await fetch(
`${process.env.BLOB_STORAGE_URL}/rewrite/${params.packageName}/${params.version}.${normalizeItem}.api.json`,
{ next: isMainVersion ? { revalidate: 0 } : { revalidate: 604_800 } },
);
const node = await fileContent.json();
return new ImageResponse(
(