build(website): build site from db data

This commit is contained in:
iCrawl
2023-04-01 02:50:24 +02:00
parent 34bc36ac4b
commit 311cab2d3f
63 changed files with 740 additions and 641 deletions

View File

@@ -40,18 +40,21 @@
"homepage": "https://discord.js.org",
"dependencies": {
"@actions/core": "^1.10.0",
"tslib": "^2.5.0"
"@actions/glob": "^0.4.0",
"@planetscale/database": "^1.6.0",
"tslib": "^2.5.0",
"undici": "^5.21.0"
},
"devDependencies": {
"@types/node": "16.18.21",
"@types/node": "16.18.23",
"@vitest/coverage-c8": "^0.29.8",
"cross-env": "^7.0.3",
"eslint": "^8.36.0",
"eslint": "^8.37.0",
"eslint-config-neon": "^0.1.41",
"eslint-formatter-pretty": "^5.0.0",
"prettier": "^2.8.7",
"tsup": "^6.7.0",
"typescript": "^5.0.2",
"typescript": "^5.0.3",
"vitest": "^0.29.8"
},
"engines": {

View File

@@ -0,0 +1,11 @@
name: 'Upload documentation'
description: 'Uploads the docs.json file to a planetscale database'
inputs:
package:
description: 'The package string'
required: true
semver:
description: 'The semver string'
runs:
using: node16
main: ../../dist/uploadDocumentation/index.mjs

View File

@@ -0,0 +1,29 @@
import { readFile } from 'node:fs/promises';
import process from 'node:process';
import { getInput, setFailed } from '@actions/core';
import { create } from '@actions/glob';
import { connect } from '@planetscale/database';
import { fetch } from 'undici';
if (!process.env.DATABASE_URL) {
process.exit(0);
}
const pkg = getInput('package', { required: true });
const version = getInput('version') || 'main';
const sql = connect({
fetch,
url: process.env.DATABASE_URL,
});
const globber = await create(`packages/${pkg}/docs/docs.api.json`);
for await (const file of globber.globGenerator()) {
const data = await readFile(file, 'utf8');
try {
await sql.execute('replace into documentation (version, data) values (?, ?)', [version, data]);
} catch (error) {
const err = error as Error;
setFailed(err.message);
}
}

View File

@@ -1,7 +1,7 @@
import { createTsupConfig } from '../../tsup.config.js';
export default createTsupConfig({
entry: ['src/index.ts', 'src/formatTag/index.ts'],
entry: ['src/index.ts', 'src/formatTag/index.ts', 'src/uploadDocumentation/index.ts'],
format: ['esm'],
minify: true,
});

View File

@@ -35,14 +35,14 @@
"@microsoft/tsdoc": "0.14.2"
},
"devDependencies": {
"@types/node": "16.18.21",
"@types/node": "16.18.23",
"cross-env": "^7.0.3",
"eslint": "^8.36.0",
"eslint": "^8.37.0",
"eslint-config-neon": "^0.1.41",
"eslint-formatter-pretty": "^5.0.0",
"prettier": "^2.8.7",
"tsup": "^6.7.0",
"typescript": "^5.0.2"
"typescript": "^5.0.3"
},
"engines": {
"node": ">=16.9.0"

View File

@@ -5,4 +5,5 @@ dist/
docs/**/*
!docs/index.yml
!docs/README.md
coverage/
coverage/
dist-docs/

View File

@@ -64,15 +64,15 @@
"devDependencies": {
"@favware/cliff-jumper": "^2.0.0",
"@microsoft/api-extractor": "^7.34.4",
"@types/node": "16.18.21",
"@types/node": "16.18.23",
"@vitest/coverage-c8": "^0.29.8",
"cross-env": "^7.0.3",
"eslint": "^8.36.0",
"eslint": "^8.37.0",
"eslint-config-neon": "^0.1.41",
"eslint-formatter-pretty": "^5.0.0",
"prettier": "^2.8.7",
"tsup": "^6.7.0",
"typescript": "^5.0.2",
"typescript": "^5.0.3",
"vitest": "^0.29.8"
},
"engines": {

View File

@@ -5,4 +5,5 @@ dist/
docs/**/*
!docs/index.yml
!docs/README.md
coverage/
coverage/
dist-docs/

View File

@@ -66,17 +66,17 @@
"devDependencies": {
"@favware/cliff-jumper": "^2.0.0",
"@microsoft/api-extractor": "^7.34.4",
"@types/node": "16.18.21",
"@types/node": "16.18.23",
"@vitest/coverage-c8": "^0.29.8",
"cross-env": "^7.0.3",
"downlevel-dts": "^0.11.0",
"esbuild-plugin-version-injector": "^1.1.0",
"eslint": "^8.36.0",
"eslint": "^8.37.0",
"eslint-config-neon": "^0.1.41",
"eslint-formatter-pretty": "^5.0.0",
"prettier": "^2.8.7",
"tsup": "^6.7.0",
"typescript": "^5.0.2",
"typescript": "^5.0.3",
"vitest": "^0.29.8"
},
"engines": {

View File

@@ -5,4 +5,5 @@ dist/
docs/**/*
!docs/index.yml
!docs/README.md
coverage/
coverage/
dist-docs/

View File

@@ -53,16 +53,16 @@
"devDependencies": {
"@favware/cliff-jumper": "^2.0.0",
"@microsoft/api-extractor": "^7.34.4",
"@types/node": "16.18.21",
"@types/node": "16.18.23",
"@vitest/coverage-c8": "^0.29.8",
"cross-env": "^7.0.3",
"esbuild-plugin-version-injector": "^1.1.0",
"eslint": "^8.36.0",
"eslint": "^8.37.0",
"eslint-config-neon": "^0.1.41",
"eslint-formatter-pretty": "^5.0.0",
"prettier": "^2.8.7",
"tsup": "^6.7.0",
"typescript": "^5.0.2",
"typescript": "^5.0.3",
"vitest": "^0.29.8"
},
"engines": {

View File

@@ -6,3 +6,4 @@ docs/**/*
!docs/index.yml
!docs/README.md
coverage/
dist-docs/

View File

@@ -56,15 +56,15 @@
"devDependencies": {
"@favware/cliff-jumper": "^2.0.0",
"@microsoft/api-extractor": "^7.34.4",
"@types/node": "16.18.21",
"@types/node": "16.18.23",
"@vitest/coverage-c8": "^0.29.8",
"cross-env": "^7.0.3",
"eslint": "^8.36.0",
"eslint": "^8.37.0",
"eslint-config-neon": "^0.1.41",
"eslint-formatter-pretty": "^5.0.0",
"prettier": "^2.8.7",
"tsup": "^6.7.0",
"typescript": "^5.0.2",
"typescript": "^5.0.3",
"vitest": "^0.29.8"
},
"engines": {

View File

@@ -66,15 +66,15 @@
"devDependencies": {
"@discordjs/docgen": "workspace:^",
"@favware/cliff-jumper": "^2.0.0",
"@types/node": "16.18.21",
"@types/node": "16.18.23",
"dtslint": "^4.2.1",
"eslint": "^8.36.0",
"eslint": "^8.37.0",
"eslint-formatter-pretty": "^5.0.0",
"jest": "^29.5.0",
"prettier": "^2.8.7",
"tsd": "^0.28.1",
"tslint": "^6.1.3",
"typescript": "^5.0.2"
"typescript": "^5.0.3"
},
"engines": {
"node": ">=16.9.0"

View File

@@ -48,14 +48,14 @@
"devDependencies": {
"@favware/cliff-jumper": "^2.0.0",
"@types/jsdoc-to-markdown": "^7.0.3",
"@types/node": "16.18.21",
"@types/node": "16.18.23",
"cross-env": "^7.0.3",
"eslint": "^8.36.0",
"eslint": "^8.37.0",
"eslint-config-neon": "^0.1.41",
"eslint-formatter-pretty": "^5.0.0",
"prettier": "^2.8.7",
"tsup": "^6.7.0",
"typescript": "^5.0.2"
"typescript": "^5.0.3"
},
"engines": {
"node": ">=16.9.0"

View File

@@ -6,3 +6,4 @@ docs/**/*
!docs/index.yml
!docs/README.md
coverage/
dist-docs/

View File

@@ -50,15 +50,15 @@
"devDependencies": {
"@favware/cliff-jumper": "^2.0.0",
"@microsoft/api-extractor": "^7.34.4",
"@types/node": "16.18.21",
"@types/node": "16.18.23",
"@vitest/coverage-c8": "^0.29.8",
"cross-env": "^7.0.3",
"eslint": "^8.36.0",
"eslint": "^8.37.0",
"eslint-config-neon": "^0.1.41",
"eslint-formatter-pretty": "^5.0.0",
"prettier": "^2.8.7",
"tsup": "^6.7.0",
"typescript": "^5.0.2",
"typescript": "^5.0.3",
"vitest": "^0.29.8"
},
"engines": {

View File

@@ -6,3 +6,4 @@ docs/**/*
!docs/index.yml
!docs/README.md
coverage/
dist-docs/

View File

@@ -64,16 +64,16 @@
"devDependencies": {
"@favware/cliff-jumper": "^2.0.0",
"@microsoft/api-extractor": "^7.34.4",
"@types/node": "18.15.10",
"@types/node": "18.15.11",
"@vitest/coverage-c8": "^0.29.8",
"cross-env": "^7.0.3",
"esbuild-plugin-version-injector": "^1.1.0",
"eslint": "^8.36.0",
"eslint": "^8.37.0",
"eslint-config-neon": "^0.1.41",
"eslint-formatter-pretty": "^5.0.0",
"prettier": "^2.8.7",
"tsup": "^6.7.0",
"typescript": "^5.0.2",
"typescript": "^5.0.3",
"vitest": "^0.29.8"
},
"engines": {

View File

@@ -48,14 +48,14 @@
"tslib": "^2.5.0"
},
"devDependencies": {
"@types/node": "16.18.21",
"@types/node": "16.18.23",
"cross-env": "^7.0.3",
"eslint": "^8.36.0",
"eslint": "^8.37.0",
"eslint-config-neon": "^0.1.41",
"eslint-formatter-pretty": "^5.0.0",
"prettier": "^2.8.7",
"tsup": "^6.7.0",
"typescript": "^5.0.2"
"typescript": "^5.0.3"
},
"engines": {
"node": ">=16.9.0"

View File

@@ -5,4 +5,5 @@ dist/
docs/**/*
!docs/index.yml
!docs/README.md
coverage/
coverage/
dist-docs/

View File

@@ -63,17 +63,17 @@
"devDependencies": {
"@favware/cliff-jumper": "^2.0.0",
"@microsoft/api-extractor": "^7.34.4",
"@types/node": "16.18.21",
"@types/node": "16.18.23",
"@types/supertest": "^2.0.12",
"@vitest/coverage-c8": "^0.29.8",
"cross-env": "^7.0.3",
"eslint": "^8.36.0",
"eslint": "^8.37.0",
"eslint-config-neon": "^0.1.41",
"eslint-formatter-pretty": "^5.0.0",
"prettier": "^2.8.7",
"supertest": "^6.3.3",
"tsup": "^6.7.0",
"typescript": "^5.0.2",
"typescript": "^5.0.3",
"vitest": "^0.29.8"
},
"engines": {

View File

@@ -5,4 +5,5 @@ dist/
docs/**/*
!docs/index.yml
!docs/README.md
coverage/
coverage/
dist-docs/

View File

@@ -65,16 +65,16 @@
"devDependencies": {
"@favware/cliff-jumper": "^2.0.0",
"@microsoft/api-extractor": "^7.34.4",
"@types/node": "16.18.21",
"@types/node": "16.18.23",
"@vitest/coverage-c8": "^0.29.8",
"cross-env": "^7.0.3",
"esbuild-plugin-version-injector": "^1.1.0",
"eslint": "^8.36.0",
"eslint": "^8.37.0",
"eslint-config-neon": "^0.1.41",
"eslint-formatter-pretty": "^5.0.0",
"prettier": "^2.8.7",
"tsup": "^6.7.0",
"typescript": "^5.0.2",
"typescript": "^5.0.3",
"vitest": "^0.29.8"
},
"engines": {

View File

@@ -68,7 +68,7 @@ export async function makeNetworkRequest(
const timeout = setTimeout(() => controller.abort(), manager.options.timeout).unref();
if (requestData.signal) {
// The type polyfill is required because Node.js's types are incomplete.
const signal = requestData.signal as PolyFillAbortSignal;
const signal = requestData.signal as unknown as PolyFillAbortSignal;
// If the user signal was aborted, abort the controller, else abort the local signal.
// The reason why we don't re-use the user's signal, is because users may use the same signal for multiple
// requests, and we do not want to cause unexpected side-effects.

View File

@@ -55,15 +55,15 @@
},
"devDependencies": {
"@types/fs-extra": "^11.0.1",
"@types/node": "16.18.21",
"@types/node": "16.18.23",
"@vitest/coverage-c8": "^0.29.8",
"cross-env": "^7.0.3",
"eslint": "^8.36.0",
"eslint": "^8.37.0",
"eslint-config-neon": "^0.1.41",
"eslint-formatter-pretty": "^5.0.0",
"prettier": "^2.8.7",
"tsup": "^6.7.0",
"typescript": "^5.0.2",
"typescript": "^5.0.3",
"vitest": "^0.29.8"
},
"engines": {

View File

@@ -51,18 +51,18 @@
"@favware/cliff-jumper": "^2.0.0",
"@ladle/react": "^2.10.2",
"@react-icons/all-files": "^4.1.0",
"@types/node": "16.18.21",
"@types/react": "^18.0.30",
"@types/node": "16.18.23",
"@types/react": "^18.0.31",
"@types/react-dom": "^18.0.11",
"@unocss/reset": "^0.50.6",
"@vitejs/plugin-react": "^3.1.0",
"@vitest/coverage-c8": "^0.29.8",
"cross-env": "^7.0.3",
"eslint": "^8.36.0",
"eslint": "^8.37.0",
"eslint-config-neon": "^0.1.41",
"eslint-formatter-pretty": "^5.0.0",
"prettier": "^2.8.7",
"typescript": "^5.0.2",
"typescript": "^5.0.3",
"unocss": "^0.50.6",
"vite": "^4.2.1",
"vite-plugin-dts": "^2.1.0",

View File

@@ -48,18 +48,18 @@ export function Alert({ title, type, children }: PropsWithChildren<IAlert>) {
const { text, border, icon } = resolveType(type);
return (
<div className="mt-6 mb-4">
<div className="mb-4 mt-6">
<div className="relative flex">
<div className="p-4">{children}</div>
<div className="pointer-events-none absolute flex h-full w-full">
<div className={`rounded-tl-1.5 rounded-bl-1.5 w-4 shrink-0 border-t-2 border-b-2 border-l-2 ${border}`} />
<div className={`rounded-tl-1.5 rounded-bl-1.5 w-4 shrink-0 border-b-2 border-l-2 border-t-2 ${border}`} />
<div className={`relative border-b-2 ${border}`}>
<div className={`-translate-y-50% pointer-events-auto flex place-items-center gap-2 px-2 ${text}`}>
{icon}
<span className={`font-semibold ${text}`}>{title}</span>
</div>
</div>
<div className={`rounded-tr-1.5 rounded-br-1.5 flex-1 border-t-2 border-b-2 border-r-2 ${border}`} />
<div className={`rounded-tr-1.5 rounded-br-1.5 flex-1 border-b-2 border-r-2 border-t-2 ${border}`} />
</div>
</div>
</div>

View File

@@ -8,7 +8,7 @@ export function DiscordMessageBaseReply({
}: PropsWithChildren<{ author?: IDiscordMessageAuthorReply | undefined; authorNode?: ReactNode | undefined }>) {
return (
<div
className="before:rounded-tl-1.5 relative mb-1 flex place-items-center before:absolute before:left-[-36px] before:right-full before:top-[50%] before:bottom-0 before:mr-1 before:block before:border-l-2 before:border-t-2 before:border-[rgb(79_84_92)] before:content-none"
className="before:rounded-tl-1.5 relative mb-1 flex place-items-center before:absolute before:bottom-0 before:left-[-36px] before:right-full before:top-[50%] before:mr-1 before:block before:border-l-2 before:border-t-2 before:border-[rgb(79_84_92)] before:content-none"
id="reply-wrapper"
>
<div className="flex place-items-center [&>span]:opacity-60">

View File

@@ -25,7 +25,7 @@ export function DiscordMessageEmbed({
<div className="py-0.5" id="outer-embed-wrapper">
<div className="border-l-blurple grid max-w-max rounded border-l-4 bg-[rgb(47_49_54)]" id="embed-wrapper">
<div className="max-w-128">
<div className="pt-2 pr-4 pb-4 pl-3">
<div className="pb-4 pl-3 pr-4 pt-2">
{author ? <DiscordMessageEmbedAuthor {...author} /> : authorNode ?? null}
{title ? <DiscordMessageEmbedTitle {...title} /> : titleNode ?? null}
{children ? <div className="mt-2 text-sm">{children}</div> : null}

View File

@@ -6,3 +6,4 @@ docs/**/*
!docs/index.yml
!docs/README.md
coverage/
dist-docs/

View File

@@ -54,16 +54,16 @@
"devDependencies": {
"@favware/cliff-jumper": "^2.0.0",
"@microsoft/api-extractor": "^7.34.4",
"@types/node": "16.18.21",
"@types/node": "16.18.23",
"@vitest/coverage-c8": "^0.29.8",
"cross-env": "^7.0.3",
"eslint": "^8.36.0",
"eslint": "^8.37.0",
"eslint-config-neon": "^0.1.41",
"eslint-formatter-pretty": "^5.0.0",
"prettier": "^2.8.7",
"tsd": "^0.28.1",
"tsup": "^6.7.0",
"typescript": "^5.0.2",
"typescript": "^5.0.3",
"vitest": "^0.29.8"
},
"engines": {

View File

@@ -5,4 +5,5 @@ dist/
docs/**/*
!docs/index.yml
!docs/README.md
coverage/
coverage/
dist-docs/

View File

@@ -60,16 +60,16 @@
"ws": "^8.13.0"
},
"devDependencies": {
"@babel/core": "^7.21.3",
"@babel/preset-env": "^7.20.2",
"@babel/preset-typescript": "^7.21.0",
"@babel/core": "^7.21.4",
"@babel/preset-env": "^7.21.4",
"@babel/preset-typescript": "^7.21.4",
"@favware/cliff-jumper": "^2.0.0",
"@microsoft/api-extractor": "^7.34.4",
"@types/jest": "^29.5.0",
"@types/node": "16.18.21",
"@types/node": "16.18.23",
"cross-env": "^7.0.3",
"esbuild-plugin-version-injector": "^1.1.0",
"eslint": "^8.36.0",
"eslint": "^8.37.0",
"eslint-config-neon": "^0.1.41",
"eslint-formatter-pretty": "^5.0.0",
"jest": "^29.5.0",
@@ -78,7 +78,7 @@
"prettier": "^2.8.7",
"tsup": "^6.7.0",
"tweetnacl": "^1.0.3",
"typescript": "^5.0.2"
"typescript": "^5.0.3"
},
"engines": {
"node": ">=16.9.0"

View File

@@ -6,3 +6,4 @@ docs/**/*
!docs/index.yml
!docs/README.md
coverage/
dist-docs/

View File

@@ -72,17 +72,17 @@
"devDependencies": {
"@favware/cliff-jumper": "^2.0.0",
"@microsoft/api-extractor": "^7.34.4",
"@types/node": "16.18.21",
"@types/node": "16.18.23",
"@vitest/coverage-c8": "^0.29.8",
"cross-env": "^7.0.3",
"esbuild-plugin-version-injector": "^1.1.0",
"eslint": "^8.36.0",
"eslint": "^8.37.0",
"eslint-config-neon": "^0.1.41",
"eslint-formatter-pretty": "^5.0.0",
"mock-socket": "^9.2.1",
"prettier": "^2.8.7",
"tsup": "^6.7.0",
"typescript": "^5.0.2",
"typescript": "^5.0.3",
"undici": "^5.21.0",
"vitest": "^0.29.8",
"zlib-sync": "^0.1.8"