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