From 43a78be70bf31dbab502972b17e7c897c28619c8 Mon Sep 17 00:00:00 2001 From: iCrawl Date: Mon, 22 Aug 2022 23:29:23 +0200 Subject: [PATCH] fix: return 404 if a fetch error or no data is returned --- packages/website/src/components/DocContainer.tsx | 2 +- packages/website/src/components/ParameterTable.tsx | 2 +- packages/website/src/components/TypeParamTable.tsx | 2 +- packages/website/src/pages/docs/[...slug].tsx | 2 +- .../src/pages/docs/packages/[package]/index.tsx | 10 ++++++++-- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/packages/website/src/components/DocContainer.tsx b/packages/website/src/components/DocContainer.tsx index a758ce4b0..6fab957a7 100644 --- a/packages/website/src/components/DocContainer.tsx +++ b/packages/website/src/components/DocContainer.tsx @@ -133,7 +133,7 @@ export function DocContainer({ {(kind === 'Class' || kind === 'Interface') && (methods?.length || properties?.length) ? ( diff --git a/packages/website/src/components/ParameterTable.tsx b/packages/website/src/components/ParameterTable.tsx index a8718b0b2..8670ba180 100644 --- a/packages/website/src/components/ParameterTable.tsx +++ b/packages/website/src/components/ParameterTable.tsx @@ -19,7 +19,7 @@ export function ParameterTable({ data }: { data: ParameterDocumentation[] }) { return ( - + diff --git a/packages/website/src/components/TypeParamTable.tsx b/packages/website/src/components/TypeParamTable.tsx index 497755c6d..ed27b6015 100644 --- a/packages/website/src/components/TypeParamTable.tsx +++ b/packages/website/src/components/TypeParamTable.tsx @@ -21,7 +21,7 @@ export function TypeParamTable({ data }: { data: TypeParameterData[] }) { return ( - +
{ } catch { return { props: { - error: 'FetchError', + notFound: true, }, }; } diff --git a/packages/website/src/pages/docs/packages/[package]/index.tsx b/packages/website/src/pages/docs/packages/[package]/index.tsx index 9d1dfbf0f..cbbbf1717 100644 --- a/packages/website/src/pages/docs/packages/[package]/index.tsx +++ b/packages/website/src/pages/docs/packages/[package]/index.tsx @@ -29,6 +29,12 @@ export const getStaticProps: GetStaticProps = async ({ params }) => { // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment const data: string[] = await res.json(); + if (!data.length) { + return { + notFound: true, + }; + } + return { props: { packageName, @@ -37,10 +43,10 @@ export const getStaticProps: GetStaticProps = async ({ params }) => { }, }, }; - } catch (error) { + } catch { return { props: { - error: 'FetchError', + notFound: true, }, }; }