From f713e47b0ac36196d8ae893caa8afaca04627934 Mon Sep 17 00:00:00 2001 From: iCrawl Date: Wed, 8 Nov 2023 03:23:51 +0100 Subject: [PATCH] fix: gracefully handle no docs --- apps/website/src/app/docAPI.ts | 6 +++--- .../app/docs/packages/[package]/[version]/[item]/page.tsx | 7 ++++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/apps/website/src/app/docAPI.ts b/apps/website/src/app/docAPI.ts index ca476a85d7e4..5a846abdef5e 100644 --- a/apps/website/src/app/docAPI.ts +++ b/apps/website/src/app/docAPI.ts @@ -34,7 +34,7 @@ export async function fetchModelJSON(packageName: string, version: string): Prom return JSON.parse(res); } catch { console.log(res); - return {}; + return null; } } @@ -45,7 +45,7 @@ export async function fetchModelJSON(packageName: string, version: string): Prom ]); // @ts-expect-error: https://github.com/planetscale/database-js/issues/71 - return rows[0]?.data ?? {}; + return rows[0]?.data ?? null; } const { rows } = await sql.execute('select data from documentation where name = ? and version = ?', [ @@ -54,5 +54,5 @@ export async function fetchModelJSON(packageName: string, version: string): Prom ]); // @ts-expect-error: https://github.com/planetscale/database-js/issues/71 - return rows[0]?.data ?? {}; + return rows[0]?.data ?? null; } diff --git a/apps/website/src/app/docs/packages/[package]/[version]/[item]/page.tsx b/apps/website/src/app/docs/packages/[package]/[version]/[item]/page.tsx index fbb30929a1e9..7a12facb169d 100644 --- a/apps/website/src/app/docs/packages/[package]/[version]/[item]/page.tsx +++ b/apps/website/src/app/docs/packages/[package]/[version]/[item]/page.tsx @@ -103,13 +103,18 @@ export async function generateMetadata({ params }: { params: ItemRouteParams }) export async function generateStaticParams({ params: { package: packageName, version } }: { params: ItemRouteParams }) { const modelJSON = await fetchModelJSON(packageName, version); + + if (!modelJSON) { + return []; + } + const model = addPackageToModel(new ApiModel(), modelJSON); const pkg = model.tryGetPackageByName(packageName); const entry = pkg?.entryPoints[0]; if (!entry) { - notFound(); + return []; } return entry.members.map((member: ApiItem) => ({