fix: generate correct paths after moving catch-all

This commit is contained in:
iCrawl
2022-11-30 04:26:40 +01:00
parent 4ae029dfe2
commit 8a39c14921
2 changed files with 10 additions and 18 deletions

View File

@@ -44,12 +44,8 @@ import { DESCRIPTION, PACKAGES } from '~/util/constants';
import { findMember, findMemberByKey } from '~/util/model.server'; import { findMember, findMemberByKey } from '~/util/model.server';
import { tryResolveDescription } from '~/util/summary'; import { tryResolveDescription } from '~/util/summary';
export async function generateStaticParams({ params }: { params: { package: string } }) { export async function generateStaticParams({ params }: { params?: { package: string } }) {
const packageName = params.package; const packageName = params?.package ?? 'builders';
if (!packageName) {
return [{ slug: [] }];
}
try { try {
let data: any[] = []; let data: any[] = [];
@@ -73,22 +69,17 @@ export async function generateStaticParams({ params }: { params: { package: stri
const pkgs = models.map((model) => findPackage(model, packageName)) as ApiPackage[]; const pkgs = models.map((model) => findPackage(model, packageName)) as ApiPackage[];
return [ return [
...versions.map((version) => ({ slug: ['packages', packageName, version] })), ...versions.map((version) => ({ slug: [version] })),
...pkgs.flatMap((pkg, idx) => ...pkgs.flatMap((pkg, idx) =>
getMembers(pkg, versions[idx] ?? 'main').map((member) => { getMembers(pkg, versions[idx] ?? 'main').map((member) => {
if (member.kind === ApiItemKind.Function && member.overloadIndex && member.overloadIndex > 1) { if (member.kind === ApiItemKind.Function && member.overloadIndex && member.overloadIndex > 1) {
return { return {
slug: [ slug: [versions[idx] ?? 'main', `${member.name}:${member.overloadIndex}:${member.kind}`],
'packages',
packageName,
versions[idx] ?? 'main',
`${member.name}:${member.overloadIndex}:${member.kind}`,
],
}; };
} }
return { return {
slug: ['packages', packageName, versions[idx] ?? 'main', `${member.name}:${member.kind}`], slug: [versions[idx] ?? 'main', `${member.name}:${member.kind}`],
}; };
}), }),
), ),
@@ -99,19 +90,19 @@ export async function generateStaticParams({ params }: { params: { package: stri
const pkg = findPackage(model, packageName)!; const pkg = findPackage(model, packageName)!;
return [ return [
{ slug: ['packages', packageName, 'main'] }, { slug: ['main'] },
...getMembers(pkg, 'main').map((member) => { ...getMembers(pkg, 'main').map((member) => {
if (member.kind === ApiItemKind.Function && member.overloadIndex && member.overloadIndex > 1) { if (member.kind === ApiItemKind.Function && member.overloadIndex && member.overloadIndex > 1) {
return { return {
slug: ['packages', packageName, 'main', `${member.name}:${member.overloadIndex}:${member.kind}`], slug: ['main', `${member.name}:${member.overloadIndex}:${member.kind}`],
}; };
} }
return { slug: ['packages', packageName, 'main', `${member.name}:${member.kind}`] }; return { slug: ['main', `${member.name}:${member.kind}`] };
}), }),
]; ];
} catch { } catch {
return [{ slug: [] }]; return [{ slug: ['main'] }];
} }
} }

View File

@@ -23,6 +23,7 @@ export default function Page() {
<Link <Link
className="bg-blurple focus:ring-width-2 flex h-11 transform-gpu cursor-pointer select-none appearance-none flex-row place-items-center rounded border-0 px-6 text-base font-semibold leading-none text-white no-underline outline-0 focus:ring focus:ring-white active:translate-y-px" className="bg-blurple focus:ring-width-2 flex h-11 transform-gpu cursor-pointer select-none appearance-none flex-row place-items-center rounded border-0 px-6 text-base font-semibold leading-none text-white no-underline outline-0 focus:ring focus:ring-white active:translate-y-px"
href="/docs" href="/docs"
prefetch={false}
> >
Docs Docs
</Link> </Link>