mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 00:23:30 +01:00
feat: mainlib docs on new website (#9930)
* fix(ExceptText): don't display import("d..-types/v10"). in return type
* Squashed 'packages/api-extractor-model/' content from commit 39ecb196c
git-subtree-dir: packages/api-extractor-model
git-subtree-split: 39ecb196ca210bdf84ba6c9cadb1bb93571849d7
* Squashed 'packages/api-extractor/' content from commit 341ad6c51
git-subtree-dir: packages/api-extractor
git-subtree-split: 341ad6c51b01656d4f73b74ad4bdb3095f9262c4
* feat(api-extractor): add api-extractor and -model
* fix: package.json docs script
* fix(SourcLink): use <> instead of function syntax
* fix: make packages private
* fix: rest params showing in docs, added labels
* fix: missed two files
* feat: merge docs.json from docgen and docs.api.json
* fix: cpy-cli & pnpm-lock
* fix: increase icon size
* fix: icon size again
* feat: run both docs on mainlib
* chore: website fixes
* fix: more website fixes
* fix: tests and dev database script
* chore: comment out old docs
* fix: increase max fetch cache
* fix: env should always be a string
* fix: try to reapply patches
* fix: remove prepare for docgen
* fix: temporary cosmetic fixes
* fix: horizontal scroll
* feat: generate index for new docs
---------
Co-authored-by: Noel <buechler.noel@outlook.com>
This commit is contained in:
@@ -1,23 +1,11 @@
|
||||
import { stat, mkdir, writeFile } from 'node:fs/promises';
|
||||
import { join } from 'node:path';
|
||||
import { cwd } from 'node:process';
|
||||
import {
|
||||
ApiModel,
|
||||
ApiDeclaredItem,
|
||||
ApiItemContainerMixin,
|
||||
ApiItem,
|
||||
type ApiPackage,
|
||||
ApiItemKind,
|
||||
} from '@discordjs/api-extractor-model';
|
||||
import type { ApiPackage } from '@discordjs/api-extractor-model';
|
||||
import { ApiItem, ApiModel, ApiDeclaredItem, ApiItemContainerMixin, ApiItemKind } from '@discordjs/api-extractor-model';
|
||||
import { generatePath } from '@discordjs/api-extractor-utils';
|
||||
import {
|
||||
DocNodeKind,
|
||||
type DocCodeSpan,
|
||||
type DocNode,
|
||||
type DocParagraph,
|
||||
type DocPlainText,
|
||||
TSDocConfiguration,
|
||||
} from '@microsoft/tsdoc';
|
||||
import { DocNodeKind, TSDocConfiguration } from '@microsoft/tsdoc';
|
||||
import type { DocLinkTag, DocCodeSpan, DocNode, DocParagraph, DocPlainText } from '@microsoft/tsdoc';
|
||||
import { TSDocConfigFile } from '@microsoft/tsdoc-config';
|
||||
import { request } from 'undici';
|
||||
|
||||
@@ -29,6 +17,7 @@ export interface MemberJSON {
|
||||
}
|
||||
|
||||
export const PACKAGES = [
|
||||
'discord.js',
|
||||
'brokers',
|
||||
'builders',
|
||||
'collection',
|
||||
@@ -44,17 +33,23 @@ export const PACKAGES = [
|
||||
let idx = 0;
|
||||
|
||||
export function addPackageToModel(model: ApiModel, data: any) {
|
||||
const tsdocConfiguration = new TSDocConfiguration();
|
||||
const tsdocConfigFile = TSDocConfigFile.loadFromObject(data.metadata.tsdocConfig);
|
||||
tsdocConfigFile.configureParser(tsdocConfiguration);
|
||||
let apiPackage: ApiPackage;
|
||||
if (data.metadata) {
|
||||
const tsdocConfiguration = new TSDocConfiguration();
|
||||
const tsdocConfigFile = TSDocConfigFile.loadFromObject(data.metadata.tsdocConfig);
|
||||
tsdocConfigFile.configureParser(tsdocConfiguration);
|
||||
|
||||
apiPackage = ApiItem.deserialize(data, {
|
||||
apiJsonFilename: '',
|
||||
toolPackage: data.metadata.toolPackage,
|
||||
toolVersion: data.metadata.toolVersion,
|
||||
versionToDeserialize: data.metadata.schemaVersion,
|
||||
tsdocConfiguration,
|
||||
}) as ApiPackage;
|
||||
} else {
|
||||
apiPackage = ApiItem.deserializeDocgen(data, 'discord.js') as ApiPackage;
|
||||
}
|
||||
|
||||
const apiPackage = ApiItem.deserialize(data, {
|
||||
apiJsonFilename: '',
|
||||
toolPackage: data.metadata.toolPackage,
|
||||
toolVersion: data.metadata.toolVersion,
|
||||
versionToDeserialize: data.metadata.schemaVersion,
|
||||
tsdocConfiguration,
|
||||
}) as ApiPackage;
|
||||
model.addMember(apiPackage);
|
||||
return model;
|
||||
}
|
||||
@@ -82,6 +77,9 @@ export function tryResolveSummaryText(item: ApiDeclaredItem): string | null {
|
||||
case DocNodeKind.PlainText:
|
||||
retVal += (node as DocPlainText).text;
|
||||
break;
|
||||
case DocNodeKind.LinkTag:
|
||||
retVal += (node as DocLinkTag).urlDestination;
|
||||
break;
|
||||
case DocNodeKind.Section:
|
||||
case DocNodeKind.Paragraph: {
|
||||
for (const child of (node as DocParagraph).nodes) {
|
||||
|
||||
32
packages/scripts/src/populateDevDatabaseBranch.ts
Normal file
32
packages/scripts/src/populateDevDatabaseBranch.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import { readFile } from 'node:fs/promises';
|
||||
import process, { cwd } from 'node:process';
|
||||
import { create } from '@actions/glob';
|
||||
import { connect } from '@planetscale/database';
|
||||
|
||||
const sql = connect({
|
||||
url: process.env.DATABASE_URL!,
|
||||
});
|
||||
|
||||
process.chdir(`${cwd()}/../../`);
|
||||
const globber = await create(`packages/*/docs/*.api.json`);
|
||||
// const globber2 = await create(`discord.js/*.json`);
|
||||
for await (const file of globber.globGenerator()) {
|
||||
const parsed = /(?<semver>\d+.\d+.\d+)-?.*/.exec(file);
|
||||
const data = await readFile(file, 'utf8');
|
||||
|
||||
if (parsed?.groups) {
|
||||
console.log(parsed.groups.semver, file);
|
||||
try {
|
||||
await sql.execute('replace into documentation (version, data) values (?, ?)', [parsed.groups.semver, data]);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
} else {
|
||||
console.log('main', file);
|
||||
try {
|
||||
await sql.execute('replace into documentation (version, data) values (?, ?)', ['main', data]);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user