feat: local and preview detection

This commit is contained in:
iCrawl
2024-03-03 02:27:52 +01:00
parent 2848591e21
commit 79fbda3aac
33 changed files with 1069 additions and 1035 deletions

View File

@@ -0,0 +1,30 @@
import { readFile } from 'node:fs/promises';
import { join } from 'node:path';
import { ENV } from './env';
export async function fetchDependencies({
packageName,
version,
}: {
readonly packageName: string;
readonly version: string;
}) {
if (ENV.IS_LOCAL_DEV) {
const fileContent = await readFile(
join(process.cwd(), `../../packages/${packageName}/docs/${packageName}/split/${version}.dependencies.api.json`),
'utf8',
);
return JSON.parse(fileContent);
}
const isMainVersion = version === 'main';
const fileContent = await fetch(
`${process.env.BLOB_STORAGE_URL}/rewrite/${packageName}/${version}.dependencies.api.json`,
{ next: isMainVersion ? { revalidate: 0 } : { revalidate: 604_800 } },
);
const parsedDependencies = await fileContent.json();
return Object.entries<string>(parsedDependencies)
.filter(([key]) => key.startsWith('@discordjs/') && !key.includes('api-extractor'))
.map(([key, value]) => `${key.replace('@discordjs/', '').replaceAll('.', '-')}-${value.replaceAll('.', '-')}`);
}