mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-14 18:43:31 +01:00
fix(IRS): also generate index routes
This commit is contained in:
@@ -24,7 +24,7 @@ export const getStaticPaths: GetStaticPaths = async () => {
|
|||||||
await Promise.all(
|
await Promise.all(
|
||||||
packages.map(async (packageName) => {
|
packages.map(async (packageName) => {
|
||||||
if (packageName === 'rest') {
|
if (packageName === 'rest') {
|
||||||
return { params: { slug: ['main', 'packages', packageName, ''] } };
|
return { params: { slug: ['main', 'packages', packageName] } };
|
||||||
}
|
}
|
||||||
|
|
||||||
const res = await fetch(`https://docs.discordjs.dev/docs/${packageName}/main.api.json`);
|
const res = await fetch(`https://docs.discordjs.dev/docs/${packageName}/main.api.json`);
|
||||||
@@ -34,7 +34,10 @@ export const getStaticPaths: GetStaticPaths = async () => {
|
|||||||
const model = createApiModel(data);
|
const model = createApiModel(data);
|
||||||
const pkg = findPackage(model, packageName);
|
const pkg = findPackage(model, packageName);
|
||||||
|
|
||||||
return getMembers(pkg!).map((member) => ({ params: { slug: ['main', 'packages', packageName, member.name] } }));
|
return [
|
||||||
|
{ params: { slug: ['main', 'packages', packageName] } },
|
||||||
|
...getMembers(pkg!).map((member) => ({ params: { slug: ['main', 'packages', packageName, member.name] } })),
|
||||||
|
];
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
).flat();
|
).flat();
|
||||||
@@ -46,31 +49,21 @@ export const getStaticPaths: GetStaticPaths = async () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const getStaticProps: GetStaticProps = async ({ params }) => {
|
export const getStaticProps: GetStaticProps = async ({ params }) => {
|
||||||
const [branchName, , packageName, memberName] = params!.slug as string[];
|
const [branchName = 'main', , packageName = 'builders', memberName] = params!.slug as string[];
|
||||||
|
|
||||||
const UnknownResponse = new Response('Not Found', {
|
const res = await fetch(`https://docs.discordjs.dev/docs/${packageName}/${branchName}.api.json`);
|
||||||
status: 404,
|
|
||||||
});
|
|
||||||
|
|
||||||
const res = await fetch(`https://docs.discordjs.dev/docs/${packageName!}/${branchName!}.api.json`);
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
||||||
const data = await res.json().catch(() => {
|
const data = await res.json();
|
||||||
throw UnknownResponse;
|
|
||||||
});
|
|
||||||
|
|
||||||
const model = createApiModel(data);
|
const model = createApiModel(data);
|
||||||
const pkg = findPackage(model, packageName!);
|
const pkg = findPackage(model, packageName);
|
||||||
|
|
||||||
if (!pkg) {
|
|
||||||
throw UnknownResponse;
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
props: {
|
props: {
|
||||||
packageName,
|
packageName,
|
||||||
data: {
|
data: {
|
||||||
members: getMembers(pkg),
|
members: pkg ? getMembers(pkg) : [],
|
||||||
member: memberName ? findMember(model, packageName!, memberName)!.toJSON() : null,
|
member: memberName ? findMember(model, packageName, memberName)?.toJSON() ?? null : null,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user