feat: properly build search indicies

This commit is contained in:
iCrawl
2022-10-04 00:46:15 +02:00
parent 0b8651cf85
commit b187a18e9c

View File

@@ -1,4 +1,4 @@
import { stat, mkdir, writeFile, readFile } from 'node:fs/promises';
import { stat, mkdir, writeFile } from 'node:fs/promises';
import { join } from 'node:path';
import { cwd } from 'node:process';
import { generatePath } from '@discordjs/api-extractor-utils';
@@ -19,7 +19,7 @@ import {
TSDocConfiguration,
} from '@microsoft/tsdoc';
import { TSDocConfigFile } from '@microsoft/tsdoc-config';
// import { request } from 'undici';
import { request } from 'undici';
export interface MemberJSON {
kind: string;
@@ -28,7 +28,7 @@ export interface MemberJSON {
summary: string | null;
}
export const PACKAGES = ['builders', 'collection', 'proxy', 'rest', 'voice', 'ws'];
export const PACKAGES = ['builders', 'collection', 'proxy', 'rest', 'util', 'voice', 'ws'];
let idx = 0;
export function createApiModel(data: any) {
@@ -143,20 +143,17 @@ export async function generateIndex(model: ApiModel, packageName: string, tag =
export async function generateAllIndicies() {
for (const pkg of PACKAGES) {
const res = await readFile(join(cwd(), '..', pkg, 'docs', 'docs.api.json'), 'utf8');
const data = JSON.parse(res);
const response = await request(`https://docs.discordjs.dev/api/info?package=${pkg}`);
const versions = await response.body.json();
// TODO: finish picking versions to generate
// const response = await request(`https://docs.discordjs.dev/api/info?package=${pkg}`);
// const versions = await response.body.json();
for (const version of versions) {
idx = 0;
// for (const version of versions) {
// const model = createApiModel(data);
// await generateIndex(model, pkg, version);
// }
const versionRes = await request(`https://docs.discordjs.dev/docs/${pkg}/${version}.api.json`);
const data = await versionRes.body.json();
idx = 0;
const model = createApiModel(data);
await generateIndex(model, pkg);
const model = createApiModel(data);
await generateIndex(model, pkg, version);
}
}
}