fix(website): make sure to use proper revalidate and per request caching

This commit is contained in:
iCrawl 2023-04-01 03:12:12 +02:00
parent 311cab2d3f
commit cf23149d17
No known key found for this signature in database
GPG key ID: 1AB888B16355FBB2
3 changed files with 9 additions and 2 deletions

View file

@ -1,6 +1,7 @@
import { readFile } from 'node:fs/promises';
import { join } from 'node:path';
import { connect } from '@planetscale/database';
import { cache } from 'react';
const sql = connect({ url: process.env.DATABASE_URL! });
@ -12,7 +13,7 @@ export async function fetchVersions(packageName: string): Promise<string[]> {
return response.json();
}
export async function fetchModelJSON(packageName: string, version: string): Promise<unknown> {
export const fetchModelJSON = cache(async (packageName: string, version: string): Promise<unknown> => {
if (process.env.NEXT_PUBLIC_LOCAL_DEV) {
const res = await readFile(
join(process.cwd(), '..', '..', 'packages', packageName, 'docs', 'docs.api.json'),
@ -34,4 +35,4 @@ export async function fetchModelJSON(packageName: string, version: string): Prom
// @ts-expect-error: https://github.com/planetscale/database-js/issues/71
return rows[0].data;
}
});

View file

@ -84,6 +84,9 @@ function resolveMemberSearchParams(packageName: string, member: ApiItem): URLSea
return params;
}
// eslint-disable-next-line unicorn/numeric-separators-style
export const revalidate = 3600;
export async function generateMetadata({ params }: { params: ItemRouteParams }) {
const member = (await fetchHeadMember(params))!;
const name = `discord.js${member?.displayName ? ` | ${member.displayName}` : ''}`;

View file

@ -20,6 +20,9 @@ export interface VersionRouteParams {
version: string;
}
// eslint-disable-next-line unicorn/numeric-separators-style
export const revalidate = 3600;
export async function generateStaticParams() {
const params: VersionRouteParams[] = [];