From 18cce83d80598c430218775c53441b6b2ecdc776 Mon Sep 17 00:00:00 2001 From: Noel Date: Thu, 29 Feb 2024 04:37:52 +0100 Subject: [PATCH] refactor: docs (#10126) --- .github/workflows/documentation.yml | 30 + .vscode/extensions.json | 1 - .vscode/settings.json | 1 + apps/guide/package.json | 24 +- apps/website/.env.development | 1 - apps/website/.gitignore | 2 + apps/website/.prettierrc.cjs | 5 +- apps/website/next.config.mjs | 23 +- apps/website/package.json | 64 +- apps/website/postcss.config.cjs | 3 +- apps/website/src/app/_global-error.tsx | 28 - .../src/app/api/[package]/versions/route.ts | 8 - .../app/api/dynamic-open-graph.png/route.tsx | 170 - .../src/app/api/open-graph.png/route.tsx | 43 - apps/website/src/app/docAPI.ts | 52 - .../[version]/[item]/opengraph-image.tsx | 98 + .../[packageName]/[version]/[item]/page.tsx | 50 + .../[packageName]/[version]/layout.tsx | 87 + .../packages/[packageName]/[version]/page.tsx | 49 + .../[package]/[version]/[item]/loading.tsx | 20 - .../[package]/[version]/[item]/not-found.tsx | 23 - .../[package]/[version]/[item]/page.tsx | 180 - .../packages/[package]/[version]/error.tsx | 12 - .../packages/[package]/[version]/layout.tsx | 102 - .../packages/[package]/[version]/page.tsx | 34 - .../[package]/[version]/providers.tsx | 19 - .../app/docs/packages/[package]/loading.tsx | 1 - .../src/app/docs/packages/[package]/page.tsx | 44 - .../website/src/app/docs/packages/loading.tsx | 1 - apps/website/src/app/docs/packages/page.tsx | 44 - apps/website/src/app/error.tsx | 12 - apps/website/src/app/layout.tsx | 28 +- apps/website/src/app/loading.tsx | 20 - apps/website/src/app/not-found.tsx | 17 - apps/website/src/app/opengraph-image.tsx | 36 + apps/website/src/app/page.tsx | 124 +- apps/website/src/app/providers.tsx | 13 +- apps/website/src/assets/fonts/Inter-Black.ttf | Bin 316372 -> 0 bytes apps/website/src/assets/fonts/Inter-Bold.ttf | Bin 316100 -> 0 bytes .../src/assets/fonts/Inter-Regular.ttf | Bin 309828 -> 0 bytes apps/website/src/components/Anchor.tsx | 9 - apps/website/src/components/Badges.tsx | 48 +- apps/website/src/components/CmdK.tsx | 139 - apps/website/src/components/CodeHeading.tsx | 40 - .../src/components/ConstructorNode.tsx | 48 + .../website/src/components/DeprecatedNode.tsx | 18 + apps/website/src/components/DocItem.tsx | 134 + apps/website/src/components/DocKind.tsx | 44 + apps/website/src/components/DocNode.tsx | 72 + .../src/components/DocumentationLink.tsx | 9 - .../website/src/components/EnumMemberNode.tsx | 109 + apps/website/src/components/EventNode.tsx | 170 + apps/website/src/components/ExampleNode.tsx | 10 + apps/website/src/components/ExcerptNode.tsx | 66 + apps/website/src/components/ExcerptText.tsx | 86 - apps/website/src/components/Header.tsx | 116 - .../src/components/InformationNode.tsx | 33 + .../src/components/InheritanceNode.tsx | 20 + .../src/components/InheritanceText.tsx | 17 - .../src/components/InheritedFromNode.tsx | 23 + apps/website/src/components/InstallButton.tsx | 38 - apps/website/src/components/ItemLink.tsx | 48 - apps/website/src/components/MethodNode.tsx | 180 + apps/website/src/components/Nav.tsx | 47 - apps/website/src/components/Navigation.tsx | 227 + .../website/src/components/NavigationItem.tsx | 34 + apps/website/src/components/Outline.tsx | 165 +- .../src/components/OverlayScrollbars.tsx | 7 + .../src/components/OverloadSwitcher.tsx | 98 - apps/website/src/components/PackageSelect.tsx | 63 - apps/website/src/components/Panel.tsx | 10 - apps/website/src/components/ParameterNode.tsx | 49 + .../website/src/components/ParameterTable.tsx | 32 - apps/website/src/components/Property.tsx | 49 - apps/website/src/components/PropertyList.tsx | 37 - apps/website/src/components/PropertyNode.tsx | 98 + apps/website/src/components/ReturnNode.tsx | 17 + apps/website/src/components/Scrollbars.tsx | 8 - apps/website/src/components/Section.tsx | 8 - apps/website/src/components/SeeNode.tsx | 17 + apps/website/src/components/Sidebar.tsx | 124 - apps/website/src/components/SignatureText.tsx | 10 - apps/website/src/components/SummaryNode.tsx | 17 + .../src/components/SyntaxHighlighter.tsx | 35 +- apps/website/src/components/Table.tsx | 54 - .../src/components/TableOfContentItems.tsx | 161 - apps/website/src/components/ThemeSwitcher.tsx | 20 - .../website/src/components/TypeParamTable.tsx | 39 - .../src/components/TypeParameterNode.tsx | 67 + apps/website/src/components/UnionMember.tsx | 13 + apps/website/src/components/VersionSelect.tsx | 69 - .../documentation/Documentation.tsx | 8 - .../src/components/documentation/Header.tsx | 51 - .../documentation/HierarchyText.tsx | 57 - .../src/components/documentation/Members.tsx | 15 - .../components/documentation/ObjectHeader.tsx | 24 - .../components/documentation/SourceLink.tsx | 22 - .../section/ConstructorSection.tsx | 22 - .../section/DocumentationSection.tsx | 14 - .../documentation/section/EventsSection.tsx | 42 - .../documentation/section/MethodsSection.tsx | 45 - .../section/ParametersSection.tsx | 12 - .../section/PropertiesSection.tsx | 12 - .../documentation/section/SummarySection.tsx | 16 - .../section/TypeParametersSection.tsx | 12 - .../section/UnionMembersSection.tsx | 36 - .../documentation/tsdoc/BlockComment.tsx | 44 - .../components/documentation/tsdoc/TSDoc.tsx | 178 - .../src/components/documentation/util.ts | 173 - apps/website/src/components/model/Class.tsx | 32 - apps/website/src/components/model/Event.tsx | 38 - .../src/components/model/Interface.tsx | 22 - .../src/components/model/OutlineSetter.tsx | 19 - .../src/components/model/TypeAlias.tsx | 65 - .../website/src/components/model/Variable.tsx | 11 - .../src/components/model/enum/Enum.tsx | 24 - .../src/components/model/enum/EnumMember.tsx | 24 - .../components/model/function/Function.tsx | 27 - .../model/function/FunctionBody.tsx | 17 - .../src/components/model/method/Method.tsx | 50 - .../model/method/MethodDocumentation.tsx | 40 - .../components/model/method/MethodHeader.tsx | 30 - apps/website/src/components/ui/Alert.tsx | 67 + apps/website/src/components/ui/Button.tsx | 3 + apps/website/src/components/ui/CmdK.tsx | 148 + .../website/src/components/ui/Collapsible.tsx | 3 + apps/website/src/components/ui/Drawer.tsx | 37 + .../src/components/{ => ui}/Footer.tsx | 32 +- .../src/components/ui/InstallButton.tsx | 33 + apps/website/src/components/ui/ListBox.tsx | 3 + .../src/components/ui/PackageSelect.tsx | 95 + apps/website/src/components/ui/Popover.tsx | 3 + .../src/components/ui/SearchButton.tsx | 26 + apps/website/src/components/ui/Select.tsx | 3 + apps/website/src/components/ui/Tabs.tsx | 3 + .../website/src/components/ui/ThemeSwitch.tsx | 16 + .../src/components/ui/VersionSelect.tsx | 102 + apps/website/src/contexts/cmdK.tsx | 17 - apps/website/src/contexts/member.tsx | 22 - apps/website/src/contexts/nav.tsx | 30 - apps/website/src/contexts/outline.tsx | 22 - apps/website/src/hooks/useCurrentPathMeta.ts | 19 - apps/website/src/middleware.ts | 18 +- apps/website/src/stores/cmdk.ts | 3 + apps/website/src/stores/drawer.ts | 3 + apps/website/src/styles/Button.tsx | 17 - apps/website/src/styles/cmdk.css | 3 - apps/website/src/styles/main.css | 83 +- apps/website/src/util/constants.ts | 33 +- apps/website/src/util/fetchLatestVersion.ts | 7 + apps/website/src/util/fetchMember.ts | 34 - apps/website/src/util/fetchVersions.ts | 13 + apps/website/src/util/fonts.ts | 13 - apps/website/src/util/members.ts | 41 - apps/website/src/util/model.ts | 56 - apps/website/src/util/resolveNodeKind.tsx | 35 + apps/website/src/util/resolvePackageName.ts | 3 - apps/website/src/util/search.ts | 6 - apps/website/tailwind.config.js | 100 + apps/website/tsconfig.eslint.json | 2 +- eslint.config.js | 15 +- package.json | 21 +- packages/actions/package.json | 16 +- .../actions/src/uploadSearchIndices/index.ts | 7 +- .../src/uploadSplitDocumentation/index.ts | 17 +- packages/actions/tsup.config.ts | 2 +- packages/api-extractor-model/package.json | 10 +- packages/api-extractor-utils/package.json | 8 +- packages/api-extractor/package.json | 12 +- packages/brokers/package.json | 12 +- packages/builders/package.json | 14 +- packages/collection/package.json | 12 +- packages/core/package.json | 12 +- packages/create-discord-bot/package.json | 14 +- packages/discord.js/package.json | 12 +- packages/docgen/package.json | 12 +- packages/formatters/package.json | 12 +- packages/next/package.json | 12 +- packages/proxy-container/package.json | 8 +- packages/proxy/package.json | 14 +- packages/rest/package.json | 14 +- packages/scripts/.gitignore | 4 + .../scripts/bin/generateSplitDocumentation.ts | 31 +- packages/scripts/package.json | 22 +- .../scripts/src/generateSplitDocumentation.ts | 201 +- packages/ui/package.json | 34 +- packages/util/package.json | 14 +- packages/voice/package.json | 8 +- packages/ws/package.json | 16 +- pnpm-lock.yaml | 7069 +++++++++++------ turbo.json | 6 +- unocss.config.ts | 7 +- 192 files changed, 8160 insertions(+), 6365 deletions(-) delete mode 100644 apps/website/src/app/_global-error.tsx delete mode 100644 apps/website/src/app/api/[package]/versions/route.ts delete mode 100644 apps/website/src/app/api/dynamic-open-graph.png/route.tsx delete mode 100644 apps/website/src/app/api/open-graph.png/route.tsx delete mode 100644 apps/website/src/app/docAPI.ts create mode 100644 apps/website/src/app/docs/packages/[packageName]/[version]/[item]/opengraph-image.tsx create mode 100644 apps/website/src/app/docs/packages/[packageName]/[version]/[item]/page.tsx create mode 100644 apps/website/src/app/docs/packages/[packageName]/[version]/layout.tsx create mode 100644 apps/website/src/app/docs/packages/[packageName]/[version]/page.tsx delete mode 100644 apps/website/src/app/docs/packages/[package]/[version]/[item]/loading.tsx delete mode 100644 apps/website/src/app/docs/packages/[package]/[version]/[item]/not-found.tsx delete mode 100644 apps/website/src/app/docs/packages/[package]/[version]/[item]/page.tsx delete mode 100644 apps/website/src/app/docs/packages/[package]/[version]/error.tsx delete mode 100644 apps/website/src/app/docs/packages/[package]/[version]/layout.tsx delete mode 100644 apps/website/src/app/docs/packages/[package]/[version]/page.tsx delete mode 100644 apps/website/src/app/docs/packages/[package]/[version]/providers.tsx delete mode 100644 apps/website/src/app/docs/packages/[package]/loading.tsx delete mode 100644 apps/website/src/app/docs/packages/[package]/page.tsx delete mode 100644 apps/website/src/app/docs/packages/loading.tsx delete mode 100644 apps/website/src/app/docs/packages/page.tsx delete mode 100644 apps/website/src/app/error.tsx delete mode 100644 apps/website/src/app/loading.tsx delete mode 100644 apps/website/src/app/not-found.tsx create mode 100644 apps/website/src/app/opengraph-image.tsx delete mode 100644 apps/website/src/assets/fonts/Inter-Black.ttf delete mode 100644 apps/website/src/assets/fonts/Inter-Bold.ttf delete mode 100644 apps/website/src/assets/fonts/Inter-Regular.ttf delete mode 100644 apps/website/src/components/Anchor.tsx delete mode 100644 apps/website/src/components/CmdK.tsx delete mode 100644 apps/website/src/components/CodeHeading.tsx create mode 100644 apps/website/src/components/ConstructorNode.tsx create mode 100644 apps/website/src/components/DeprecatedNode.tsx create mode 100644 apps/website/src/components/DocItem.tsx create mode 100644 apps/website/src/components/DocKind.tsx create mode 100644 apps/website/src/components/DocNode.tsx delete mode 100644 apps/website/src/components/DocumentationLink.tsx create mode 100644 apps/website/src/components/EnumMemberNode.tsx create mode 100644 apps/website/src/components/EventNode.tsx create mode 100644 apps/website/src/components/ExampleNode.tsx create mode 100644 apps/website/src/components/ExcerptNode.tsx delete mode 100644 apps/website/src/components/ExcerptText.tsx delete mode 100644 apps/website/src/components/Header.tsx create mode 100644 apps/website/src/components/InformationNode.tsx create mode 100644 apps/website/src/components/InheritanceNode.tsx delete mode 100644 apps/website/src/components/InheritanceText.tsx create mode 100644 apps/website/src/components/InheritedFromNode.tsx delete mode 100644 apps/website/src/components/InstallButton.tsx delete mode 100644 apps/website/src/components/ItemLink.tsx create mode 100644 apps/website/src/components/MethodNode.tsx delete mode 100644 apps/website/src/components/Nav.tsx create mode 100644 apps/website/src/components/Navigation.tsx create mode 100644 apps/website/src/components/NavigationItem.tsx create mode 100644 apps/website/src/components/OverlayScrollbars.tsx delete mode 100644 apps/website/src/components/OverloadSwitcher.tsx delete mode 100644 apps/website/src/components/PackageSelect.tsx delete mode 100644 apps/website/src/components/Panel.tsx create mode 100644 apps/website/src/components/ParameterNode.tsx delete mode 100644 apps/website/src/components/ParameterTable.tsx delete mode 100644 apps/website/src/components/Property.tsx delete mode 100644 apps/website/src/components/PropertyList.tsx create mode 100644 apps/website/src/components/PropertyNode.tsx create mode 100644 apps/website/src/components/ReturnNode.tsx delete mode 100644 apps/website/src/components/Scrollbars.tsx delete mode 100644 apps/website/src/components/Section.tsx create mode 100644 apps/website/src/components/SeeNode.tsx delete mode 100644 apps/website/src/components/Sidebar.tsx delete mode 100644 apps/website/src/components/SignatureText.tsx create mode 100644 apps/website/src/components/SummaryNode.tsx delete mode 100644 apps/website/src/components/Table.tsx delete mode 100644 apps/website/src/components/TableOfContentItems.tsx delete mode 100644 apps/website/src/components/ThemeSwitcher.tsx delete mode 100644 apps/website/src/components/TypeParamTable.tsx create mode 100644 apps/website/src/components/TypeParameterNode.tsx create mode 100644 apps/website/src/components/UnionMember.tsx delete mode 100644 apps/website/src/components/VersionSelect.tsx delete mode 100644 apps/website/src/components/documentation/Documentation.tsx delete mode 100644 apps/website/src/components/documentation/Header.tsx delete mode 100644 apps/website/src/components/documentation/HierarchyText.tsx delete mode 100644 apps/website/src/components/documentation/Members.tsx delete mode 100644 apps/website/src/components/documentation/ObjectHeader.tsx delete mode 100644 apps/website/src/components/documentation/SourceLink.tsx delete mode 100644 apps/website/src/components/documentation/section/ConstructorSection.tsx delete mode 100644 apps/website/src/components/documentation/section/DocumentationSection.tsx delete mode 100644 apps/website/src/components/documentation/section/EventsSection.tsx delete mode 100644 apps/website/src/components/documentation/section/MethodsSection.tsx delete mode 100644 apps/website/src/components/documentation/section/ParametersSection.tsx delete mode 100644 apps/website/src/components/documentation/section/PropertiesSection.tsx delete mode 100644 apps/website/src/components/documentation/section/SummarySection.tsx delete mode 100644 apps/website/src/components/documentation/section/TypeParametersSection.tsx delete mode 100644 apps/website/src/components/documentation/section/UnionMembersSection.tsx delete mode 100644 apps/website/src/components/documentation/tsdoc/BlockComment.tsx delete mode 100644 apps/website/src/components/documentation/tsdoc/TSDoc.tsx delete mode 100644 apps/website/src/components/documentation/util.ts delete mode 100644 apps/website/src/components/model/Class.tsx delete mode 100644 apps/website/src/components/model/Event.tsx delete mode 100644 apps/website/src/components/model/Interface.tsx delete mode 100644 apps/website/src/components/model/OutlineSetter.tsx delete mode 100644 apps/website/src/components/model/TypeAlias.tsx delete mode 100644 apps/website/src/components/model/Variable.tsx delete mode 100644 apps/website/src/components/model/enum/Enum.tsx delete mode 100644 apps/website/src/components/model/enum/EnumMember.tsx delete mode 100644 apps/website/src/components/model/function/Function.tsx delete mode 100644 apps/website/src/components/model/function/FunctionBody.tsx delete mode 100644 apps/website/src/components/model/method/Method.tsx delete mode 100644 apps/website/src/components/model/method/MethodDocumentation.tsx delete mode 100644 apps/website/src/components/model/method/MethodHeader.tsx create mode 100644 apps/website/src/components/ui/Alert.tsx create mode 100644 apps/website/src/components/ui/Button.tsx create mode 100644 apps/website/src/components/ui/CmdK.tsx create mode 100644 apps/website/src/components/ui/Collapsible.tsx create mode 100644 apps/website/src/components/ui/Drawer.tsx rename apps/website/src/components/{ => ui}/Footer.tsx (70%) create mode 100644 apps/website/src/components/ui/InstallButton.tsx create mode 100644 apps/website/src/components/ui/ListBox.tsx create mode 100644 apps/website/src/components/ui/PackageSelect.tsx create mode 100644 apps/website/src/components/ui/Popover.tsx create mode 100644 apps/website/src/components/ui/SearchButton.tsx create mode 100644 apps/website/src/components/ui/Select.tsx create mode 100644 apps/website/src/components/ui/Tabs.tsx create mode 100644 apps/website/src/components/ui/ThemeSwitch.tsx create mode 100644 apps/website/src/components/ui/VersionSelect.tsx delete mode 100644 apps/website/src/contexts/cmdK.tsx delete mode 100644 apps/website/src/contexts/member.tsx delete mode 100644 apps/website/src/contexts/nav.tsx delete mode 100644 apps/website/src/contexts/outline.tsx delete mode 100644 apps/website/src/hooks/useCurrentPathMeta.ts create mode 100644 apps/website/src/stores/cmdk.ts create mode 100644 apps/website/src/stores/drawer.ts delete mode 100644 apps/website/src/styles/Button.tsx delete mode 100644 apps/website/src/styles/cmdk.css create mode 100644 apps/website/src/util/fetchLatestVersion.ts delete mode 100644 apps/website/src/util/fetchMember.ts create mode 100644 apps/website/src/util/fetchVersions.ts delete mode 100644 apps/website/src/util/fonts.ts delete mode 100644 apps/website/src/util/members.ts delete mode 100644 apps/website/src/util/model.ts create mode 100644 apps/website/src/util/resolveNodeKind.tsx delete mode 100644 apps/website/src/util/resolvePackageName.ts delete mode 100644 apps/website/src/util/search.ts create mode 100644 apps/website/tailwind.config.js diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 4874a982200c..fee631a6c57a 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -113,6 +113,24 @@ jobs: package: ${{ steps.extract-tag.outputs.package }} version: ${{ steps.extract-tag.outputs.semver }} + - name: Upload split documentation to blob storage + if: ${{ env.REF_TYPE == 'tag' && (!inputs.ref || inputs.ref == 'main') }} + env: + BLOB_READ_WRITE_TOKEN: ${{ secrets.BLOB_READ_WRITE_TOKEN }} + uses: ./packages/actions/src/uploadSplitDocumentation + with: + package: ${{ steps.extract-tag.outputs.package }} + version: ${{ steps.extract-tag.outputs.semver }} + + - name: Upload split documentation to blob storage + if: ${{ env.REF_TYPE == 'tag' && inputs.ref && inputs.ref != 'main' }} + env: + BLOB_READ_WRITE_TOKEN: ${{ secrets.BLOB_READ_WRITE_TOKEN }} + uses: ./main/packages/actions/src/uploadSplitDocumentation + with: + package: ${{ steps.extract-tag.outputs.package }} + version: ${{ steps.extract-tag.outputs.semver }} + - name: Move docs to correct directory if: ${{ env.REF_TYPE == 'tag' }} env: @@ -141,6 +159,18 @@ jobs: BLOB_READ_WRITE_TOKEN: ${{ secrets.BLOB_READ_WRITE_TOKEN }} uses: ./main/packages/actions/src/uploadDocumentation + - name: Upload split documentation to blob storage + if: ${{ env.REF_TYPE == 'branch' && (!inputs.ref || inputs.ref == 'main') }} + env: + BLOB_READ_WRITE_TOKEN: ${{ secrets.BLOB_READ_WRITE_TOKEN }} + uses: ./packages/actions/src/uploadSplitDocumentation + + - name: Upload split documentation to blob storage + if: ${{ env.REF_TYPE == 'branch' && inputs.ref && inputs.ref != 'main' }} + env: + BLOB_READ_WRITE_TOKEN: ${{ secrets.BLOB_READ_WRITE_TOKEN }} + uses: ./main/packages/actions/src/uploadSplitDocumentation + - name: Move docs to correct directory if: ${{ env.REF_TYPE == 'branch' }} run: | diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 192cc66f4ead..c29baf2a5b47 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -8,7 +8,6 @@ "eamodio.gitlens", "christian-kohler.npm-intellisense", "christian-kohler.path-intellisense", - "antfu.unocss", "unifiedjs.vscode-mdx" ] } diff --git a/.vscode/settings.json b/.vscode/settings.json index 7f5067db8d03..7f3769bc0fc6 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -26,6 +26,7 @@ "npm.packageManager": "pnpm", "typescript.tsdk": "node_modules/typescript/lib", "typescript.enablePromptUseWorkspaceTsdk": true, + "unocss.disable": true, "deno.enable": false, "deno.enablePaths": ["./packages/create-discord-bot/template/Deno"], "deno.lint": false, diff --git a/apps/guide/package.json b/apps/guide/package.json index ad2f82bd0d8c..c58725a211fa 100644 --- a/apps/guide/package.json +++ b/apps/guide/package.json @@ -47,8 +47,8 @@ "@code-hike/mdx": "^0.9.0", "@discordjs/ui": "workspace:^", "@react-icons/all-files": "^4.1.0", - "@vercel/analytics": "^1.1.3", - "@vercel/edge-config": "^0.4.1", + "@vercel/analytics": "^1.2.2", + "@vercel/edge-config": "^1.1.0", "@vercel/og": "^0.6.2", "ariakit": "2.0.0-next.44", "cmdk": "^0.2.1", @@ -70,28 +70,28 @@ "@testing-library/user-event": "^14.5.2", "@types/html-escaper": "^3.0.2", "@types/node": "18.18.8", - "@types/react": "^18.2.54", - "@types/react-dom": "^18.2.18", + "@types/react": "^18.2.60", + "@types/react-dom": "^18.2.19", "@unocss/eslint-plugin": "^0.58.5", "@unocss/postcss": "^0.58.5", "@unocss/reset": "^0.58.5", "@vitejs/plugin-react": "^4.2.1", - "@vitest/coverage-v8": "^1.2.2", + "@vitest/coverage-v8": "^1.3.1", "cross-env": "^7.0.3", - "eslint": "^8.56.0", - "eslint-config-neon": "^0.1.58", + "eslint": "^8.57.0", + "eslint-config-neon": "^0.1.59", "eslint-formatter-pretty": "^6.0.1", - "happy-dom": "^13.3.8", + "happy-dom": "^13.6.2", "hast-util-to-string": "^2.0.0", "hastscript": "^8.0.0", "html-escaper": "^3.0.3", - "postcss": "^8.4.34", + "postcss": "^8.4.35", "prettier": "^3.2.5", - "turbo": "^1.12.2", + "turbo": "^1.12.4", "typescript": "^5.3.3", "unocss": "^0.58.5", - "vercel": "^33.4.1", - "vitest": "^1.2.2" + "vercel": "^33.5.3", + "vitest": "^1.3.1" }, "engines": { "node": ">=18" diff --git a/apps/website/.env.development b/apps/website/.env.development index 305279a9d052..0333ed8215fc 100644 --- a/apps/website/.env.development +++ b/apps/website/.env.development @@ -1,2 +1 @@ NEXT_PUBLIC_LOCAL_DEV=true -METADATA_BASE_URL=http://localhost:3000 diff --git a/apps/website/.gitignore b/apps/website/.gitignore index 630f0f3c34cf..529c998d82d5 100644 --- a/apps/website/.gitignore +++ b/apps/website/.gitignore @@ -28,3 +28,5 @@ src/styles/unocss.css lighthouse-results .vercel + +old_src diff --git a/apps/website/.prettierrc.cjs b/apps/website/.prettierrc.cjs index f723230a05d4..f1c65b39d161 100644 --- a/apps/website/.prettierrc.cjs +++ b/apps/website/.prettierrc.cjs @@ -1,2 +1,5 @@ /** @type {import('prettier').Config} */ -module.exports = require('../../.prettierrc.json'); +module.exports = { + ...require('../../.prettierrc.json'), + plugins: ['prettier-plugin-tailwindcss'], +}; diff --git a/apps/website/next.config.mjs b/apps/website/next.config.mjs index a6fe69f2198f..a58114a0b386 100644 --- a/apps/website/next.config.mjs +++ b/apps/website/next.config.mjs @@ -1,4 +1,5 @@ import bundleAnalyzer from '@next/bundle-analyzer'; +import localesPlugin from '@react-aria/optimize-locales-plugin'; const withBundleAnalyzer = bundleAnalyzer({ enabled: process.env.ANALYZE === 'true', @@ -6,18 +7,26 @@ const withBundleAnalyzer = bundleAnalyzer({ export default withBundleAnalyzer({ reactStrictMode: true, - experimental: { - typedRoutes: true, - serverComponentsExternalPackages: ['@rushstack/node-core-library', '@discordjs/api-extractor-model', 'jju'], - }, images: { dangerouslyAllowSVG: true, contentDispositionType: 'attachment', contentSecurityPolicy: "default-src 'self'; frame-src 'none'; sandbox;", }, - poweredByHeader: false, - env: { - MAX_FETCH_SIZE: '5', + logging: { + fetches: { + fullUrl: true, + }, + }, + experimental: { + ppr: false, + }, + webpack(config, { isServer }) { + if (!isServer) { + // Don't include any locale strings in the client JS bundle. + config.plugins.push(localesPlugin.webpack({ locales: [] })); + } + + return config; }, async redirects() { return [ diff --git a/apps/website/package.json b/apps/website/package.json index 1b9c2cb074ce..3088c38bae70 100644 --- a/apps/website/package.json +++ b/apps/website/package.json @@ -46,58 +46,60 @@ }, "homepage": "https://discord.js.org", "dependencies": { - "@discordjs/api-extractor-model": "workspace:^", - "@discordjs/api-extractor-utils": "workspace:^", - "@discordjs/scripts": "workspace:^", - "@discordjs/ui": "workspace:^", - "@microsoft/tsdoc": "^0.14.2", - "@microsoft/tsdoc-config": "0.16.2", + "@radix-ui/react-collapsible": "^1.0.3", "@react-icons/all-files": "^4.1.0", - "@vercel/analytics": "^1.1.3", - "@vercel/edge-config": "^0.4.1", + "@vercel/analytics": "^1.2.2", + "@vercel/blob": "^0.22.1", + "@vercel/edge-config": "^1.1.0", "@vercel/og": "^0.6.2", "@vercel/postgres": "^0.7.2", - "ariakit": "2.0.0-next.44", - "bright": "^0.8.4", - "class-variance-authority": "^0.7.0", "cmdk": "^0.2.1", + "geist": "^1.2.2", + "jotai": "^2.7.0", + "lucide-react": "^0.343.0", "meilisearch": "^0.37.0", - "next": "14.1.0", + "next": "14.1.1-canary.80", "next-mdx-remote": "^4.4.1", "next-themes": "^0.2.1", + "overlayscrollbars": "^2.5.0", + "overlayscrollbars-react": "^0.5.4", "react": "^18.2.0", - "react-custom-scrollbars-2": "^4.5.0", + "react-aria-components": "^1.1.1", "react-dom": "^18.2.0", - "react-use": "^17.5.0", - "rehype-slug": "^5.1.0", - "remark-gfm": "^3.0.1", "sharp": "^0.33.2", - "swr": "^2.2.4" + "usehooks-ts": "^2.15.1", + "vaul": "^0.9.0" }, "devDependencies": { - "@next/bundle-analyzer": "14.1.0", + "@next/bundle-analyzer": "14.1.1-canary.80", + "@react-aria/optimize-locales-plugin": "^1.0.2", + "@shikijs/rehype": "1.1.7", + "@tailwindcss/typography": "^0.5.10", "@testing-library/react": "^14.2.1", "@testing-library/user-event": "^14.5.2", "@types/node": "18.18.8", - "@types/react": "^18.2.54", - "@types/react-dom": "^18.2.18", - "@unocss/eslint-plugin": "^0.58.5", - "@unocss/postcss": "^0.58.5", - "@unocss/reset": "^0.58.5", + "@types/react": "^18.2.60", + "@types/react-dom": "^18.2.19", "@vitejs/plugin-react": "^4.2.1", - "@vitest/coverage-v8": "^1.2.2", + "@vitest/coverage-v8": "^1.3.1", + "autoprefixer": "^10.4.17", "cpy-cli": "^5.0.0", "cross-env": "^7.0.3", - "eslint": "^8.56.0", - "eslint-config-neon": "^0.1.58", + "eslint": "^8.57.0", + "eslint-config-neon": "^0.1.59", "eslint-formatter-pretty": "^6.0.1", - "happy-dom": "^13.3.8", - "postcss": "^8.4.34", + "happy-dom": "^13.6.2", + "postcss": "^8.4.35", "prettier": "^3.2.5", - "turbo": "^1.12.2", + "prettier-plugin-tailwindcss": "^0.5.11", + "remark-gfm": "^3.0.1", + "remark-rehype": "^11.1.0", + "shiki": "1.1.7", + "tailwindcss": "^3.4.1", + "turbo": "^1.12.4", "typescript": "^5.3.3", - "vercel": "^33.4.1", - "vitest": "^1.2.2" + "vercel": "^33.5.3", + "vitest": "^1.3.1" }, "engines": { "node": ">=18" diff --git a/apps/website/postcss.config.cjs b/apps/website/postcss.config.cjs index 5d9116500fed..e873f1a4f235 100644 --- a/apps/website/postcss.config.cjs +++ b/apps/website/postcss.config.cjs @@ -1,5 +1,6 @@ module.exports = { plugins: { - '@unocss/postcss': {}, + tailwindcss: {}, + autoprefixer: {}, }, }; diff --git a/apps/website/src/app/_global-error.tsx b/apps/website/src/app/_global-error.tsx deleted file mode 100644 index a1f9bc5c728b..000000000000 --- a/apps/website/src/app/_global-error.tsx +++ /dev/null @@ -1,28 +0,0 @@ -'use client'; - -import { Analytics } from '@vercel/analytics/react'; -import { inter } from '~/util/fonts'; -import { Providers } from './providers'; - -import '~/styles/cmdk.css'; -import '~/styles/main.css'; - -export default function GlobalError({ error }: { readonly error: Error }) { - console.error(error); - - return ( - - - -
-
-

500

-

Error.

-
-
-
- - - - ); -} diff --git a/apps/website/src/app/api/[package]/versions/route.ts b/apps/website/src/app/api/[package]/versions/route.ts deleted file mode 100644 index 53dc59cac4c7..000000000000 --- a/apps/website/src/app/api/[package]/versions/route.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { NextRequest } from 'next/server'; -import { NextResponse } from 'next/server'; -import { fetchVersions } from '~/app/docAPI'; - -export async function GET(req: NextRequest) { - const packageName = req.nextUrl.pathname.split('/').slice(2, 3)[0] ?? 'discord.js'; - return NextResponse.json(await fetchVersions(packageName)); -} diff --git a/apps/website/src/app/api/dynamic-open-graph.png/route.tsx b/apps/website/src/app/api/dynamic-open-graph.png/route.tsx deleted file mode 100644 index 5b9208f44798..000000000000 --- a/apps/website/src/app/api/dynamic-open-graph.png/route.tsx +++ /dev/null @@ -1,170 +0,0 @@ -/* eslint-disable react/no-unknown-property */ - -import type { ApiItemKind } from '@discordjs/api-extractor-model'; -import { ImageResponse } from '@vercel/og'; -import type { NextRequest } from 'next/server'; -import { resolvePackageName } from '~/util/resolvePackageName'; - -export const runtime = 'edge'; - -const fonts = Promise.all([ - fetch(new URL('../../../assets/fonts/Inter-Regular.ttf', import.meta.url)).then(async (res) => res.arrayBuffer()), - fetch(new URL('../../../assets/fonts/Inter-Bold.ttf', import.meta.url)).then(async (res) => res.arrayBuffer()), -]); - -function resolveIcon(icon: keyof typeof ApiItemKind, size = 88) { - switch (icon) { - case 'Class': - return ( - - - - ); - case 'Enum': - return ( - - - - ); - case 'EnumMember': - return ( - - - - ); - case 'Interface': - return ( - - - - ); - case 'TypeAlias': - return ( - - - - ); - case 'Variable': - return ( - - - - ); - case 'Property': - return ( - - - - ); - default: - return ( - - - - ); - } -} - -export async function GET(request: NextRequest) { - const fontData = await fonts; - - const { searchParams } = new URL(request.url); - - const hasPkg = searchParams.has('pkg'); - const hasKind = searchParams.has('kind'); - const hasName = searchParams.has('name'); - const hasMethods = searchParams.has('methods'); - const hasProps = searchParams.has('props'); - const hasMembers = searchParams.has('members'); - const pkg = hasPkg ? resolvePackageName(searchParams.get('pkg')!) : ''; - const kind = hasKind ? searchParams.get('kind')! : 'Method'; - const name = hasName ? searchParams.get('name')!.slice(0, 100) : 'My default name which is super long to overflow'; - const methods = hasMethods ? searchParams.get('methods') : ''; - const props = hasProps ? searchParams.get('props') : ''; - const members = hasMembers ? searchParams.get('members') : ''; - - return new ImageResponse( - ( -
-
-
{pkg}
-
-
- {resolveIcon(kind as keyof typeof ApiItemKind)} -

- {name} -

-
-
-
- {props ? ( -
- {resolveIcon('Property', 36)} -
- {props} - Properties -
-
- ) : null} - {methods ? ( -
- {resolveIcon('Method', 36)} -
- {methods} - Methods -
-
- ) : null} - {members ? ( -
- {resolveIcon('EnumMember', 36)} -
- {members} - Members -
-
- ) : null} -
-
- discord.js -
-
-
-
-
- ), - { - width: 1_200, - height: 630, - fonts: [ - { name: 'Inter', data: fontData[0], weight: 500, style: 'normal' }, - { name: 'Inter', data: fontData[1], weight: 700, style: 'normal' }, - ], - debug: false, - }, - ); -} diff --git a/apps/website/src/app/api/open-graph.png/route.tsx b/apps/website/src/app/api/open-graph.png/route.tsx deleted file mode 100644 index 9ebc85d4fd62..000000000000 --- a/apps/website/src/app/api/open-graph.png/route.tsx +++ /dev/null @@ -1,43 +0,0 @@ -/* eslint-disable react/no-unknown-property */ - -import { ImageResponse } from '@vercel/og'; - -export const runtime = 'edge'; - -const fonts = fetch(new URL('../../../assets/fonts/Inter-Black.ttf', import.meta.url)).then(async (res) => - res.arrayBuffer(), -); - -export async function GET() { - const fontData = await fonts; - - return new ImageResponse( - ( -
-
-
-
-
-
- The most popular -
- way to build Discord - bots. -
-
-
-
-
- ), - { - width: 1_200, - height: 630, - fonts: [{ name: 'Inter', data: fontData, weight: 900, style: 'normal' }], - }, - ); -} diff --git a/apps/website/src/app/docAPI.ts b/apps/website/src/app/docAPI.ts deleted file mode 100644 index be08ff226764..000000000000 --- a/apps/website/src/app/docAPI.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { readFile } from 'node:fs/promises'; -import { join } from 'node:path'; -import { sql } from '@vercel/postgres'; - -export const fetchVersions = async (packageName: string): Promise => { - if (process.env.NEXT_PUBLIC_LOCAL_DEV === 'true' || process.env.NEXT_PUBLIC_VERCEL_ENV === 'preview') { - return ['main']; - } - - try { - const { rows } = await sql`select version from documentation where name = ${packageName} order by version desc`; - - return rows.map((row) => row.version); - } catch { - return []; - } -}; - -export const fetchModelJSON = async (packageName: string, version: string) => { - if (process.env.NEXT_PUBLIC_LOCAL_DEV === 'true') { - try { - const res = await readFile( - join(process.cwd(), '..', '..', 'packages', packageName, 'docs', 'docs.api.json'), - 'utf8', - ); - - return JSON.parse(res); - } catch { - return null; - } - } - - if (process.env.NEXT_PUBLIC_VERCEL_ENV === 'preview') { - try { - const { rows } = await sql`select url from documentation where name = ${packageName} and version = ${'main'}`; - const res = await fetch(rows[0]?.url ?? ''); - - return await res.json(); - } catch { - return null; - } - } - - try { - const { rows } = await sql`select url from documentation where name = ${packageName} and version = ${version}`; - const res = await fetch(rows[0]?.url ?? ''); - - return await res.json(); - } catch { - return null; - } -}; diff --git a/apps/website/src/app/docs/packages/[packageName]/[version]/[item]/opengraph-image.tsx b/apps/website/src/app/docs/packages/[packageName]/[version]/[item]/opengraph-image.tsx new file mode 100644 index 000000000000..c8c16e1f4401 --- /dev/null +++ b/apps/website/src/app/docs/packages/[packageName]/[version]/[item]/opengraph-image.tsx @@ -0,0 +1,98 @@ +/* eslint-disable react/no-unknown-property */ +import { ImageResponse } from 'next/og'; +import { resolveKind } from '~/util/resolveNodeKind'; + +export const runtime = 'edge'; + +export const size = { + width: 1_200, + height: 630, +}; + +export const contentType = 'image/png'; + +export default async function Image({ + params, +}: { + readonly params: { readonly item: string; readonly packageName: string; readonly version: string }; +}) { + const normalizeItem = params.item.split(encodeURIComponent(':')).join('.').toLowerCase(); + + const isMainVersion = params.version === 'main'; + const fileContent = await fetch( + `${process.env.BLOB_STORAGE_URL}/rewrite/${params.packageName}/${params.version}.${normalizeItem}.api.json`, + { next: isMainVersion ? { revalidate: 0 } : { revalidate: 604_800 } }, + ); + const node = await fileContent.json(); + + return new ImageResponse( + ( +
+
+
{params.packageName}
+
+
+ {resolveKind(node.kind, 94)} +

+ {node.displayName} +

+
+
+
+ {node.members?.properties?.length ? ( +
+ {resolveKind('Property', 42)} +
+ {node.members.properties.length} + Properties +
+
+ ) : null} + {node.members?.events?.length ? ( +
+ {resolveKind('Method', 42)} +
+ {node.members.events.length} + Events +
+
+ ) : null} + {node.members?.methods?.length ? ( +
+ {resolveKind('Method', 42)} +
+ {node.members.methods.length} + Methods +
+
+ ) : null} + {node.members?.length ? ( +
+ {resolveKind('EnumMember', 42)} +
+ {node.members.length} + Members +
+
+ ) : null} +
+
+ discord.js +
+
+
+
+
+ ), + { + ...size, + }, + ); +} diff --git a/apps/website/src/app/docs/packages/[packageName]/[version]/[item]/page.tsx b/apps/website/src/app/docs/packages/[packageName]/[version]/[item]/page.tsx new file mode 100644 index 000000000000..1999b0fe3cfe --- /dev/null +++ b/apps/website/src/app/docs/packages/[packageName]/[version]/[item]/page.tsx @@ -0,0 +1,50 @@ +// import { readFile } from 'node:fs/promises'; +// import { join } from 'node:path'; +// import { inspect } from 'node:util'; +import type { Metadata } from 'next'; +import { DocItem } from '~/components/DocItem'; + +export async function generateMetadata({ + params, +}: { + readonly params: { + readonly item: string; + readonly packageName: string; + readonly version: string; + }; +}): Promise { + const normalizeItem = params.item.split(encodeURIComponent(':'))[0]; + + return { + title: `${normalizeItem} (${params.packageName} - ${params.version})`, + }; +} + +export default async function Page({ + params, +}: { + readonly params: { readonly item: string; readonly packageName: string; readonly version: string }; +}) { + const normalizeItem = params.item.split(encodeURIComponent(':')).join('.').toLowerCase(); + + // const fileContent = await readFile( + // join(process.cwd(), `../../packages/${params.packageName}/docs/split/${params.version}.${normalizeItem}.api.json`), + // 'utf8', + // ); + // const node = JSON.parse(fileContent); + + const isMainVersion = params.version === 'main'; + const fileContent = await fetch( + `${process.env.BLOB_STORAGE_URL}/rewrite/${params.packageName}/${params.version}.${normalizeItem}.api.json`, + { next: isMainVersion ? { revalidate: 0 } : { revalidate: 604_800 } }, + ); + const node = await fileContent.json(); + + // console.log(inspect(node, { depth: 0 })); + + return ( +
+ +
+ ); +} diff --git a/apps/website/src/app/docs/packages/[packageName]/[version]/layout.tsx b/apps/website/src/app/docs/packages/[packageName]/[version]/layout.tsx new file mode 100644 index 000000000000..2f020d7549d9 --- /dev/null +++ b/apps/website/src/app/docs/packages/[packageName]/[version]/layout.tsx @@ -0,0 +1,87 @@ +// import { readFile } from 'node:fs/promises'; +// import { join } from 'node:path'; +// import { inspect } from 'node:util'; +import type { Metadata } from 'next'; +import dynamic from 'next/dynamic'; +import type { PropsWithChildren } from 'react'; +import { Navigation } from '~/components/Navigation'; +import { OverlayScrollbarsComponent } from '~/components/OverlayScrollbars'; +import { Drawer } from '~/components/ui/Drawer'; +import { Footer } from '~/components/ui/Footer'; + +// eslint-disable-next-line promise/prefer-await-to-then +const CmdK = dynamic(async () => import('~/components/ui/CmdK').then((mod) => mod.CmdK), { ssr: false }); + +export async function generateMetadata({ + params, +}: { + readonly params: { readonly packageName: string; readonly version: string }; +}): Promise { + return { + title: { + template: '%s | discord.js', + default: `${params.packageName} (${params.version})`, + }, + }; +} + +export default async function Layout({ + params, + children, +}: PropsWithChildren<{ readonly params: { readonly packageName: string; readonly version: string } }>) { + // const fileContent = await readFile( + // join(process.cwd(), `../../packages/${params.packageName}/docs/split/${params.version}.dependencies.api.json`), + // 'utf8', + // ); + // const dependencies = JSON.parse(fileContent); + + const isMainVersion = params.version === 'main'; + const fileContent = await fetch( + `${process.env.BLOB_STORAGE_URL}/rewrite/${params.packageName}/${params.version}.dependencies.api.json`, + { next: isMainVersion ? { revalidate: 0 } : { revalidate: 604_800 } }, + ); + const parsedDependencies = await fileContent.json(); + const dependencies = Object.entries(parsedDependencies) + .filter(([key]) => key.startsWith('@discordjs/') && !key.includes('api-extractor')) + .map(([key, value]) => `${key.replace('@discordjs/', '').replaceAll('.', '-')}-${value.replaceAll('.', '-')}`); + + // console.log(inspect(dependencies, { depth: 0 })); + + return ( + // eslint-disable-next-line react/no-unknown-property +
+
+ + + +
+
+ {children} +
+
+
+ + + +
+ +
+ ); +} diff --git a/apps/website/src/app/docs/packages/[packageName]/[version]/page.tsx b/apps/website/src/app/docs/packages/[packageName]/[version]/page.tsx new file mode 100644 index 000000000000..da5a9d94b12e --- /dev/null +++ b/apps/website/src/app/docs/packages/[packageName]/[version]/page.tsx @@ -0,0 +1,49 @@ +import { readFile } from 'node:fs/promises'; +import { join } from 'node:path'; +import rehypeShikiFromHighlighter from '@shikijs/rehype/core'; +import { MDXRemote } from 'next-mdx-remote/rsc'; +import remarkGfm from 'remark-gfm'; +import { getHighlighterCore } from 'shiki/core'; +import getWasm from 'shiki/wasm'; + +const highlighter = await getHighlighterCore({ + themes: [import('shiki/themes/vitesse-light.mjs'), import('shiki/themes/vitesse-dark.mjs')], + langs: [ + import('shiki/langs/typescript.mjs'), + import('shiki/langs/javascript.mjs'), + import('shiki/langs/shellscript.mjs'), + ], + loadWasm: getWasm, +}); + +export default async function Page({ params }: { readonly params: { readonly packageName: string } }) { + const fileContent = await readFile( + join(process.cwd(), `src/assets/readme/${params.packageName}/home-README.md`), + 'utf8', + ); + + return ( +
+ +
+ ); +} diff --git a/apps/website/src/app/docs/packages/[package]/[version]/[item]/loading.tsx b/apps/website/src/app/docs/packages/[package]/[version]/[item]/loading.tsx deleted file mode 100644 index 066281618908..000000000000 --- a/apps/website/src/app/docs/packages/[package]/[version]/[item]/loading.tsx +++ /dev/null @@ -1,20 +0,0 @@ -export default function Loading() { - return ( -
- - - - -
Loading...
-
- ); -} diff --git a/apps/website/src/app/docs/packages/[package]/[version]/[item]/not-found.tsx b/apps/website/src/app/docs/packages/[package]/[version]/[item]/not-found.tsx deleted file mode 100644 index 67ca19a67cd7..000000000000 --- a/apps/website/src/app/docs/packages/[package]/[version]/[item]/not-found.tsx +++ /dev/null @@ -1,23 +0,0 @@ -'use client'; - -import type { Route } from 'next'; -import Link from 'next/link'; -import { usePathname } from 'next/navigation'; - -export default function NotFound() { - const pathname = usePathname(); - const href = pathname.split('/').slice(0, -1).join('/'); - - return ( -
-

404

-

Not found.

- - Take me back - -
- ); -} diff --git a/apps/website/src/app/docs/packages/[package]/[version]/[item]/page.tsx b/apps/website/src/app/docs/packages/[package]/[version]/[item]/page.tsx deleted file mode 100644 index 5503f049ee14..000000000000 --- a/apps/website/src/app/docs/packages/[package]/[version]/[item]/page.tsx +++ /dev/null @@ -1,180 +0,0 @@ -import type { - ApiClass, - ApiDeclaredItem, - ApiEnum, - ApiInterface, - ApiItem, - ApiItemContainerMixin, - ApiMethod, - ApiMethodSignature, - ApiProperty, - ApiPropertySignature, - ApiTypeAlias, - ApiVariable, - ApiFunction, -} from '@discordjs/api-extractor-model'; -import { ApiItemKind, ApiModel, ApiPackage } from '@discordjs/api-extractor-model'; -import { tryResolveSummaryText } from '@discordjs/scripts'; -import type { Metadata } from 'next'; -import { notFound } from 'next/navigation'; -import { fetchModelJSON } from '~/app/docAPI'; -import { Class } from '~/components/model/Class'; -import { Interface } from '~/components/model/Interface'; -import { TypeAlias } from '~/components/model/TypeAlias'; -import { Variable } from '~/components/model/Variable'; -import { Enum } from '~/components/model/enum/Enum'; -import { Function } from '~/components/model/function/Function'; -import { OVERLOAD_SEPARATOR } from '~/util/constants'; -import { fetchMember } from '~/util/fetchMember'; -import { findMember } from '~/util/model'; - -export const revalidate = 86_400; - -export interface ItemRouteParams { - item: string; - package: string; - version: string; -} - -async function fetchHeadMember({ package: packageName, version, item }: ItemRouteParams) { - const modelJSON = await fetchModelJSON(packageName, version); - - if (!modelJSON) { - return undefined; - } - - const model = new ApiModel(); - model.addMember(ApiPackage.loadFromJson(modelJSON)); - const pkg = model.tryGetPackageByName(packageName); - const entry = pkg?.entryPoints[0]; - - if (!entry) { - return undefined; - } - - const [memberName] = decodeURIComponent(item).split(OVERLOAD_SEPARATOR); - return findMember(model, packageName, memberName); -} - -function resolveMemberSearchParams(packageName: string, member?: ApiItem) { - const params = new URLSearchParams({ - pkg: packageName, - kind: member?.kind ?? '', - name: member?.displayName ?? '', - }); - - switch (member?.kind) { - case ApiItemKind.Interface: - case ApiItemKind.Class: { - const typedMember = member as ApiItemContainerMixin; - - const properties = typedMember.members.filter((member) => - [ApiItemKind.Property, ApiItemKind.PropertySignature].includes(member.kind), - ) as (ApiProperty | ApiPropertySignature)[]; - const methods = typedMember.members.filter((member) => - [ApiItemKind.Method, ApiItemKind.Method].includes(member.kind), - ) as (ApiMethod | ApiMethodSignature)[]; - - params.append('methods', methods.length.toString()); - params.append('props', properties.length.toString()); - break; - } - - case ApiItemKind.Enum: { - const typedMember = member as ApiEnum; - params.append('members', typedMember.members.length.toString()); - break; - } - - default: - break; - } - - return params; -} - -export async function generateMetadata({ params }: { params: ItemRouteParams }) { - const member = await fetchHeadMember(params); - const name = `discord.js${member?.displayName ? ` | ${member.displayName}` : ''}`; - const ogTitle = `${params.package ?? 'discord.js'}${member?.displayName ? ` | ${member.displayName}` : ''}`; - const url = new URL('https://discordjs.dev/api/dynamic-open-graph.png'); - const searchParams = resolveMemberSearchParams(params.package, member); - url.search = searchParams.toString(); - const ogImage = url.toString(); - let description; - - if (member) { - description = tryResolveSummaryText(member as ApiDeclaredItem); - } - - return { - title: name, - description: description ?? 'Discord.js API Documentation', - openGraph: { - title: ogTitle, - description: description ?? 'Discord.js API Documentation', - images: ogImage, - }, - } satisfies Metadata; -} - -export async function generateStaticParams({ params: { package: packageName, version } }: { params: ItemRouteParams }) { - if (process.env.NEXT_PUBLIC_VERCEL_ENV === 'preview') { - return []; - } - - const modelJSON = await fetchModelJSON(packageName, version); - - if (!modelJSON) { - return []; - } - - const model = new ApiModel(); - model.addMember(ApiPackage.loadFromJson(modelJSON)); - - const pkg = model.tryGetPackageByName(packageName); - const entry = pkg?.entryPoints[0]; - - if (!entry) { - return []; - } - - return entry.members.map((member: ApiItem) => ({ - package: packageName, - version, - item: `${member.displayName}${OVERLOAD_SEPARATOR}${member.kind}`, - })); -} - -function Member({ member }: { readonly member?: ApiItem }) { - switch (member?.kind) { - case 'Class': - return ; - case 'Function': - return ; - case 'Interface': - return ; - case 'TypeAlias': - return ; - case 'Variable': - return ; - case 'Enum': - return ; - default: - return
Cannot render that item type
; - } -} - -export default async function Page({ params }: { params: ItemRouteParams }) { - const member = await fetchMember(params.package, params.version ?? 'main', params.item); - - if (!member) { - notFound(); - } - - return ( -
- -
- ); -} diff --git a/apps/website/src/app/docs/packages/[package]/[version]/error.tsx b/apps/website/src/app/docs/packages/[package]/[version]/error.tsx deleted file mode 100644 index bcd4b230ba70..000000000000 --- a/apps/website/src/app/docs/packages/[package]/[version]/error.tsx +++ /dev/null @@ -1,12 +0,0 @@ -'use client'; - -export default function Error({ error }: { readonly error: Error }) { - console.error(error); - - return ( -
-

500

-

Error.

-
- ); -} diff --git a/apps/website/src/app/docs/packages/[package]/[version]/layout.tsx b/apps/website/src/app/docs/packages/[package]/[version]/layout.tsx deleted file mode 100644 index c0278993e4e2..000000000000 --- a/apps/website/src/app/docs/packages/[package]/[version]/layout.tsx +++ /dev/null @@ -1,102 +0,0 @@ -import type { ApiFunction, ApiItem } from '@discordjs/api-extractor-model'; -import { ApiModel, ApiPackage } from '@discordjs/api-extractor-model'; -import dynamic from 'next/dynamic'; -import { notFound } from 'next/navigation'; -import type { PropsWithChildren } from 'react'; -import { fetchModelJSON, fetchVersions } from '~/app/docAPI'; -import { CmdKDialog } from '~/components/CmdK'; -import { Nav } from '~/components/Nav'; -import { Outline } from '~/components/Outline'; -import type { SidebarSectionItemData } from '~/components/Sidebar'; -import { resolveItemURI } from '~/components/documentation/util'; -import { N_RECENT_VERSIONS, PACKAGES } from '~/util/constants'; -import { Providers } from './providers'; - -const Header = dynamic(async () => import('~/components/Header')); -const Footer = dynamic(async () => import('~/components/Footer')); - -interface VersionRouteParams { - package: string; - version: string; -} - -export const generateStaticParams = async () => { - if (process.env.NEXT_PUBLIC_VERCEL_ENV === 'preview') { - return []; - } - - const params: VersionRouteParams[] = []; - - await Promise.all( - PACKAGES.map(async (packageName) => { - const versions = (await fetchVersions(packageName)).slice(1, N_RECENT_VERSIONS); - - params.push(...versions.map((version) => ({ package: packageName, version }))); - }), - ); - - return params; -}; - -const serializeIntoSidebarItemData = (item: ApiItem) => { - return { - kind: item.kind, - name: item.displayName, - href: resolveItemURI(item), - overloadIndex: 'overloadIndex' in item ? (item.overloadIndex as number) : undefined, - } as SidebarSectionItemData; -}; - -export default async function PackageLayout({ children, params }: PropsWithChildren<{ params: VersionRouteParams }>) { - const modelJSON = await fetchModelJSON(params.package, params.version); - - if (!modelJSON) { - notFound(); - } - - const model = new ApiModel(); - model.addMember(ApiPackage.loadFromJson(modelJSON)); - - const pkg = model.tryGetPackageByName(params.package); - - if (!pkg) { - notFound(); - } - - const entry = pkg.entryPoints[0]; - - if (!entry) { - notFound(); - } - - const members = entry.members.filter((member) => { - if (member.kind !== 'Function') { - return true; - } - - return (member as ApiFunction).overloadIndex === 1; - }); - - const versions = await fetchVersions(params.package); - - return ( - -
-
-
-
-
- -
- {children} -
-
- - -
-
- -
- ); -} diff --git a/apps/website/src/app/docs/packages/[package]/[version]/page.tsx b/apps/website/src/app/docs/packages/[package]/[version]/page.tsx deleted file mode 100644 index ae328290cca3..000000000000 --- a/apps/website/src/app/docs/packages/[package]/[version]/page.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import { readFile } from 'node:fs/promises'; -import { join } from 'node:path'; -import { compileMDX } from 'next-mdx-remote/rsc'; -import { cache } from 'react'; -import rehypeSlug from 'rehype-slug'; -import remarkGfm from 'remark-gfm'; -import { SyntaxHighlighter } from '~/components/SyntaxHighlighter'; - -interface VersionRouteParams { - package: string; - version: string; -} - -const loadREADME = cache(async (packageName: string) => { - return readFile(join(process.cwd(), 'src', 'assets', 'readme', packageName, 'home-README.md'), 'utf8'); -}); - -export default async function Page({ params }: { params: VersionRouteParams }) { - const readmeSource = await loadREADME(params.package); - const { content } = await compileMDX({ - source: readmeSource, - // @ts-expect-error SyntaxHighlighter is assignable - components: { pre: SyntaxHighlighter }, - options: { - mdxOptions: { - remarkPlugins: [remarkGfm], - rehypePlugins: [rehypeSlug], - format: 'mdx', - }, - }, - }); - - return
{content}
; -} diff --git a/apps/website/src/app/docs/packages/[package]/[version]/providers.tsx b/apps/website/src/app/docs/packages/[package]/[version]/providers.tsx deleted file mode 100644 index 03367f1761a5..000000000000 --- a/apps/website/src/app/docs/packages/[package]/[version]/providers.tsx +++ /dev/null @@ -1,19 +0,0 @@ -'use client'; - -import type { PropsWithChildren } from 'react'; -import { CmdKProvider } from '~/contexts/cmdK'; -import { MemberProvider } from '~/contexts/member'; -import { NavProvider } from '~/contexts/nav'; -import { OutlineProvider } from '~/contexts/outline'; - -export function Providers({ children }: PropsWithChildren) { - return ( - - - - {children} - - - - ); -} diff --git a/apps/website/src/app/docs/packages/[package]/loading.tsx b/apps/website/src/app/docs/packages/[package]/loading.tsx deleted file mode 100644 index bde40d687c23..000000000000 --- a/apps/website/src/app/docs/packages/[package]/loading.tsx +++ /dev/null @@ -1 +0,0 @@ -export { default } from '~/app/loading'; diff --git a/apps/website/src/app/docs/packages/[package]/page.tsx b/apps/website/src/app/docs/packages/[package]/page.tsx deleted file mode 100644 index a92cabe11371..000000000000 --- a/apps/website/src/app/docs/packages/[package]/page.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import { VscArrowLeft } from '@react-icons/all-files/vsc/VscArrowLeft'; -import { VscArrowRight } from '@react-icons/all-files/vsc/VscArrowRight'; -import { VscVersions } from '@react-icons/all-files/vsc/VscVersions'; -import Link from 'next/link'; -import { notFound } from 'next/navigation'; -import { fetchVersions } from '~/app/docAPI'; -import { buttonVariants } from '~/styles/Button'; -import { PACKAGES } from '~/util/constants'; - -export const revalidate = 86_400; - -export default async function Page({ params }: { params: { package: string } }) { - if (!PACKAGES.includes(params.package)) { - notFound(); - } - - const data = await fetchVersions(params.package); - - return ( -
-

Select a version:

-
- {data.map((version, idx) => ( - -
-
- -

{version}

-
- -
- - )) ?? null} -
- - Go back - -
- ); -} diff --git a/apps/website/src/app/docs/packages/loading.tsx b/apps/website/src/app/docs/packages/loading.tsx deleted file mode 100644 index bde40d687c23..000000000000 --- a/apps/website/src/app/docs/packages/loading.tsx +++ /dev/null @@ -1 +0,0 @@ -export { default } from '~/app/loading'; diff --git a/apps/website/src/app/docs/packages/page.tsx b/apps/website/src/app/docs/packages/page.tsx deleted file mode 100644 index 6eb99fb767fe..000000000000 --- a/apps/website/src/app/docs/packages/page.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import { FiExternalLink } from '@react-icons/all-files/fi/FiExternalLink'; -import { VscArrowLeft } from '@react-icons/all-files/vsc/VscArrowLeft'; -import { VscArrowRight } from '@react-icons/all-files/vsc/VscArrowRight'; -import { VscPackage } from '@react-icons/all-files/vsc/VscPackage'; -import Link from 'next/link'; -import { buttonVariants } from '~/styles/Button'; -import { PACKAGES } from '~/util/constants'; - -export default function Page() { - return ( -
-

Select a package:

-
- {PACKAGES.map((pkg, idx) => ( - -
-
- -

{pkg}

-
- -
- - ))} - -
-
- -

discord-api-types

-
- -
-
-
- - Go back - -
- ); -} diff --git a/apps/website/src/app/error.tsx b/apps/website/src/app/error.tsx deleted file mode 100644 index 0fb52ed124d9..000000000000 --- a/apps/website/src/app/error.tsx +++ /dev/null @@ -1,12 +0,0 @@ -'use client'; - -export default function Error({ error }: { readonly error: Error }) { - console.error(error); - - return ( -
-

500

-

Error.

-
- ); -} diff --git a/apps/website/src/app/layout.tsx b/apps/website/src/app/layout.tsx index 5c3248efa2ee..82708f046296 100644 --- a/apps/website/src/app/layout.tsx +++ b/apps/website/src/app/layout.tsx @@ -1,26 +1,33 @@ import { Analytics } from '@vercel/analytics/react'; +import { GeistMono } from 'geist/font/mono'; +import { GeistSans } from 'geist/font/sans'; import type { Metadata, Viewport } from 'next'; import type { PropsWithChildren } from 'react'; +import { LocalizedStringProvider } from 'react-aria-components/i18n'; import { DESCRIPTION } from '~/util/constants'; -import { inter, jetBrainsMono } from '~/util/fonts'; import { Providers } from './providers'; -import '~/styles/cmdk.css'; import '~/styles/main.css'; +import 'overlayscrollbars/overlayscrollbars.css'; export const viewport: Viewport = { themeColor: [ - { media: '(prefers-color-scheme: light)', color: '#f1f3f5' }, - { media: '(prefers-color-scheme: dark)', color: '#1c1c1e' }, + { media: '(prefers-color-scheme: light)', color: '#ffffff' }, + { media: '(prefers-color-scheme: dark)', color: '#121212' }, ], colorScheme: 'light dark', }; export const metadata: Metadata = { metadataBase: new URL( - process.env.METADATA_BASE_URL ? process.env.METADATA_BASE_URL : `http://localhost:${process.env.PORT ?? 3_000}`, + process.env.NEXT_PUBLIC_LOCAL_DEV === 'true' + ? `http://localhost:${process.env.PORT ?? 3_000}` + : 'https://discord.js.org', ), - title: 'discord.js', + title: { + template: '%s | discord.js', + default: 'discord.js', + }, description: DESCRIPTION, icons: { other: [ @@ -66,14 +73,15 @@ export const metadata: Metadata = { }, other: { - 'msapplication-TileColor': '#1c1c1e', + 'msapplication-TileColor': '#121212', }, }; -export default function RootLayout({ children }: PropsWithChildren) { +export default async function RootLayout({ children }: PropsWithChildren) { return ( - - + + + {children} diff --git a/apps/website/src/app/loading.tsx b/apps/website/src/app/loading.tsx deleted file mode 100644 index 8852a454635f..000000000000 --- a/apps/website/src/app/loading.tsx +++ /dev/null @@ -1,20 +0,0 @@ -export default function Loading() { - return ( -
- - - - -
Loading...
-
- ); -} diff --git a/apps/website/src/app/not-found.tsx b/apps/website/src/app/not-found.tsx deleted file mode 100644 index d976c343b605..000000000000 --- a/apps/website/src/app/not-found.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import type { Route } from 'next'; -import Link from 'next/link'; - -export default function NotFound() { - return ( -
-

404

-

Not found.

- - Take me back - -
- ); -} diff --git a/apps/website/src/app/opengraph-image.tsx b/apps/website/src/app/opengraph-image.tsx new file mode 100644 index 000000000000..0429e4eece43 --- /dev/null +++ b/apps/website/src/app/opengraph-image.tsx @@ -0,0 +1,36 @@ +/* eslint-disable react/no-unknown-property */ +import { ImageResponse } from 'next/og'; + +export const runtime = 'edge'; + +export const size = { + width: 1_200, + height: 630, +}; + +export const contentType = 'image/png'; + +export default async function Image() { + return new ImageResponse( + ( +
+
+
+
+
+
+ The most popular +
+ way to build Discord + bots. +
+
+
+
+
+ ), + { + ...size, + }, + ); +} diff --git a/apps/website/src/app/page.tsx b/apps/website/src/app/page.tsx index 3e5d3d780e2f..d367dbf2b079 100644 --- a/apps/website/src/app/page.tsx +++ b/apps/website/src/app/page.tsx @@ -1,83 +1,81 @@ -import { FiExternalLink } from '@react-icons/all-files/fi/FiExternalLink'; -import type { Route } from 'next'; +import { ExternalLink } from 'lucide-react'; import Image from 'next/image'; import Link from 'next/link'; import vercelLogo from '~/assets/powered-by-vercel.svg'; import workersLogo from '~/assets/powered-by-workers.png'; -import { InstallButton } from '~/components/InstallButton'; -import { buttonVariants } from '~/styles/Button'; +import { InstallButton } from '~/components/ui/InstallButton'; import { DESCRIPTION } from '~/util/constants'; -export default function Page() { +export default async function Page() { return ( -
-
-
-
-

- The most popular way to build - Discord bots. -

-

{DESCRIPTION}

-
- - Docs - - - Guide - - - GitHub - -
- -
-
-
+
+
+

+ The most popular way to build + Discord bots. +

+

{DESCRIPTION}

+ + + + +
+ +
); diff --git a/apps/website/src/app/providers.tsx b/apps/website/src/app/providers.tsx index 4a90036e52eb..fbc910a5d1d5 100644 --- a/apps/website/src/app/providers.tsx +++ b/apps/website/src/app/providers.tsx @@ -1,13 +1,24 @@ 'use client'; +import { Provider as JotaiProvider } from 'jotai'; +import { useRouter } from 'next/navigation'; import { ThemeProvider } from 'next-themes'; import type { PropsWithChildren } from 'react'; +import { RouterProvider } from 'react-aria-components'; import { useSystemThemeFallback } from '~/hooks/useSystemThemeFallback'; import { useUnregisterServiceWorker } from '~/hooks/useUnregisterServiceWorker'; export function Providers({ children }: PropsWithChildren) { + const router = useRouter(); useUnregisterServiceWorker(); useSystemThemeFallback(); - return {children}; + return ( + // eslint-disable-next-line @typescript-eslint/unbound-method + + + {children} + + + ); } diff --git a/apps/website/src/assets/fonts/Inter-Black.ttf b/apps/website/src/assets/fonts/Inter-Black.ttf deleted file mode 100644 index 5aecf7dc414ec9b807d93f6a5b8d676f5d1f0279..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 316372 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 diff --git a/apps/website/src/assets/fonts/Inter-Bold.ttf b/apps/website/src/assets/fonts/Inter-Bold.ttf deleted file mode 100644 index 8e82c70d1081e2857ada1b73395d4f42c2e8adc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 316100 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�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

6=3(=QnPeuLDdti0n3-y(nd#Q;7fbjCmF@fSxxm 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

V7T@aTyAqtk8R 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

NU^a~Y-YT{n`0xQzR2cZRm6M*N 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 - - - ); -} diff --git a/apps/website/src/components/Badges.tsx b/apps/website/src/components/Badges.tsx index 4da25e88e570..b040aa0ebc1e 100644 --- a/apps/website/src/components/Badges.tsx +++ b/apps/website/src/components/Badges.tsx @@ -1,42 +1,38 @@ -import type { ApiDocumentedItem } from '@discordjs/api-extractor-model'; -import { ApiAbstractMixin, ApiProtectedMixin, ApiReadonlyMixin, ApiStaticMixin } from '@discordjs/api-extractor-model'; +import { AlertTriangle } from 'lucide-react'; import type { PropsWithChildren } from 'react'; -export enum BadgeColor { - Danger = 'bg-red-500', - Primary = 'bg-blurple', - Warning = 'bg-yellow-500', -} - -export function Badge({ - children, - color = BadgeColor.Primary, -}: PropsWithChildren<{ readonly color?: BadgeColor | undefined }>) { +export function Badge({ children, className = '' }: PropsWithChildren<{ readonly className?: string }>) { return ( {children} ); } -export function Badges({ item }: { readonly item: ApiDocumentedItem }) { - const isStatic = ApiStaticMixin.isBaseClassOf(item) && item.isStatic; - const isProtected = ApiProtectedMixin.isBaseClassOf(item) && item.isProtected; - const isReadonly = ApiReadonlyMixin.isBaseClassOf(item) && item.isReadonly; - const isAbstract = ApiAbstractMixin.isBaseClassOf(item) && item.isAbstract; - const isDeprecated = Boolean(item.tsdocComment?.deprecatedBlock); +export async function Badges({ node }: { readonly node: any }) { + const isDeprecated = Boolean(node.summary?.deprecatedBlock?.length); + const isProtected = node.isProtected; + const isStatic = node.isStatic; + const isAbstract = node.isAbstract; + const isReadonly = node.isReadonly; + const isOptional = node.isOptional; - const isAny = isStatic || isProtected || isReadonly || isAbstract || isDeprecated; + const isAny = isDeprecated || isProtected || isStatic || isAbstract || isReadonly || isOptional; return isAny ? ( -

- {isDeprecated ? Deprecated : null} - {isProtected ? Protected : null} - {isStatic ? Static : null} - {isAbstract ? Abstract : null} - {isReadonly ? Readonly : null} +
+ {isDeprecated ? ( + + deprecated + + ) : null} + {isProtected ? protected : null} + {isStatic ? static : null} + {isAbstract ? abstract : null} + {isReadonly ? readonly : null} + {isOptional ? optional : null}
) : null; } diff --git a/apps/website/src/components/CmdK.tsx b/apps/website/src/components/CmdK.tsx deleted file mode 100644 index 05f44a9f77e1..000000000000 --- a/apps/website/src/components/CmdK.tsx +++ /dev/null @@ -1,139 +0,0 @@ -'use client'; - -import type { ApiItemKind } from '@discordjs/api-extractor-model'; -import { VscArrowRight } from '@react-icons/all-files/vsc/VscArrowRight'; -import { VscSymbolClass } from '@react-icons/all-files/vsc/VscSymbolClass'; -import { VscSymbolEnum } from '@react-icons/all-files/vsc/VscSymbolEnum'; -import { VscSymbolEvent } from '@react-icons/all-files/vsc/VscSymbolEvent'; -import { VscSymbolInterface } from '@react-icons/all-files/vsc/VscSymbolInterface'; -import { VscSymbolMethod } from '@react-icons/all-files/vsc/VscSymbolMethod'; -import { VscSymbolProperty } from '@react-icons/all-files/vsc/VscSymbolProperty'; -import { VscSymbolVariable } from '@react-icons/all-files/vsc/VscSymbolVariable'; -import { Dialog } from 'ariakit/dialog'; -import { Command } from 'cmdk'; -import { usePathname, useRouter } from 'next/navigation'; -import { useEffect, useMemo, useState } from 'react'; -import { useKey } from 'react-use'; -import { useCmdK } from '~/contexts/cmdK'; -import { client } from '~/util/search'; - -function resolveIcon(item: keyof typeof ApiItemKind) { - switch (item) { - case 'Class': - return ; - case 'Enum': - return ; - case 'Interface': - return ; - case 'Property': - return ; - case 'TypeAlias': - return ; - case 'Variable': - return ; - case 'Event': - return ; - default: - return ; - } -} - -export function CmdKDialog() { - const pathname = usePathname(); - const router = useRouter(); - const dialog = useCmdK(); - const [search, setSearch] = useState(''); - const [searchResults, setSearchResults] = useState([]); - - const packageName = pathname?.split('/').slice(3, 4)[0]; - const branchName = pathname?.split('/').slice(4, 5)[0]; - - const searchResultItems = useMemo( - () => - searchResults?.map((item, idx) => ( - { - router.push(item.path); - dialog!.setOpen(false); - }} - value={`${item.id}`} - > -
-
- {resolveIcon(item.kind)} -
-

{item.name}

-
{item.summary}
-
- {item.path} -
-
-
- -
-
- )) ?? [], - // eslint-disable-next-line react-hooks/exhaustive-deps - [searchResults], - ); - - useKey( - (event) => { - if (event.key === 'k' && (event.metaKey || event.ctrlKey)) { - event.preventDefault(); - return true; - } - - return false; - }, - dialog!.toggle, - { event: 'keydown', options: {} }, - [], - ); - - useEffect(() => { - if (!dialog!.open) { - setSearch(''); - } - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [dialog!.open]); - - useEffect(() => { - const searchDoc = async (searchString: string, version: string) => { - const res = await client - .index(`${packageName?.replaceAll('.', '-')}-${version}`) - .search(searchString, { limit: 5 }); - setSearchResults(res.hits); - }; - - if (search && packageName) { - void searchDoc(search, branchName?.replaceAll('.', '-') ?? 'main'); - } else { - setSearchResults([]); - } - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [search]); - - return ( - - - - - No results found - {search ? searchResultItems : null} - - - - ); -} diff --git a/apps/website/src/components/CodeHeading.tsx b/apps/website/src/components/CodeHeading.tsx deleted file mode 100644 index 655de27f3480..000000000000 --- a/apps/website/src/components/CodeHeading.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import type { ReactNode } from 'react'; -import { Anchor } from './Anchor'; -import { SourceLink } from './documentation/SourceLink'; - -export interface CodeListingProps { - /** - * The value of this heading. - */ - readonly children: ReactNode; - /** - * Additional class names to apply to the root element. - */ - readonly className?: string | undefined; - /** - * The href of this heading. - */ - readonly href?: string | undefined; - /** - * The line in the source code where this part is declared - */ - readonly sourceLine?: number | undefined; - /** - * The URL of the source code of this code part - */ - readonly sourceURL?: string | undefined; -} - -export function CodeHeading({ href, className, children, sourceURL, sourceLine }: CodeListingProps) { - return ( -
-
- {href ? : null} - {children} -
- {sourceURL ? : null} -
- ); -} diff --git a/apps/website/src/components/ConstructorNode.tsx b/apps/website/src/components/ConstructorNode.tsx new file mode 100644 index 000000000000..3ff4e3c20083 --- /dev/null +++ b/apps/website/src/components/ConstructorNode.tsx @@ -0,0 +1,48 @@ +import { VscSymbolMethod } from '@react-icons/all-files/vsc/VscSymbolMethod'; +import { Code2, LinkIcon } from 'lucide-react'; +import Link from 'next/link'; +import { ParameterNode } from './ParameterNode'; +import { SummaryNode } from './SummaryNode'; + +export async function ConstructorNode({ node, version }: { readonly node: any; readonly version: string }) { + return ( +
+

+ + Constructors +

+ +
+

+ {/* constructor({parsedContent.constructor.parametersString}) */} + + + + constructor({node.parameters?.length ? : null}) +

+ + + + +
+ + {node.summary?.summarySection.length ? ( + + ) : null} + +
+
+
+
+ ); +} diff --git a/apps/website/src/components/DeprecatedNode.tsx b/apps/website/src/components/DeprecatedNode.tsx new file mode 100644 index 000000000000..414639d1f2ef --- /dev/null +++ b/apps/website/src/components/DeprecatedNode.tsx @@ -0,0 +1,18 @@ +import { DocNode } from './DocNode'; +import { Alert } from './ui/Alert'; + +export async function DeprecatedNode({ + deprecatedBlock, + version, +}: { + readonly deprecatedBlock: any; + readonly version: string; +}) { + return ( + +

+ +

+
+ ); +} diff --git a/apps/website/src/components/DocItem.tsx b/apps/website/src/components/DocItem.tsx new file mode 100644 index 000000000000..ce4d7b10425d --- /dev/null +++ b/apps/website/src/components/DocItem.tsx @@ -0,0 +1,134 @@ +import { VscSymbolParameter } from '@react-icons/all-files/vsc/VscSymbolParameter'; +import { ConstructorNode } from './ConstructorNode'; +import { DeprecatedNode } from './DeprecatedNode'; +import { EnumMemberNode } from './EnumMemberNode'; +import { EventNode } from './EventNode'; +import { InformationNode } from './InformationNode'; +import { MethodNode } from './MethodNode'; +import { Outline } from './Outline'; +import { OverlayScrollbarsComponent } from './OverlayScrollbars'; +import { ParameterNode } from './ParameterNode'; +import { PropertyNode } from './PropertyNode'; +import { ReturnNode } from './ReturnNode'; +import { SeeNode } from './SeeNode'; +import { SummaryNode } from './SummaryNode'; +import { SyntaxHighlighter } from './SyntaxHighlighter'; +import { TypeParameterNode } from './TypeParameterNode'; +import { UnionMember } from './UnionMember'; +import { Tab, TabList, TabPanel, Tabs } from './ui/Tabs'; + +async function OverloadNode({ node, packageName, version }: { node: any; packageName: string; version: string }) { + return ( + + + {node.overloads.map((overload: any) => { + return ( + + Overload {overload.overloadIndex} + + ); + })} + + {node.overloads.map((overload: any) => { + return ( + + + + ); + })} + + ); +} + +export function DocItem({ + node, + packageName, + version, +}: { + readonly node: any; + readonly packageName: string; + readonly version: string; +}) { + if (node.overloads?.length) { + return ; + } + + return ( + <> + + + + + + + {node.summary?.deprecatedBlock.length ? ( + + ) : null} + + {node.summary?.summarySection ? : null} + + {node.summary?.returnsBlock.length ? : null} + + {node.summary?.seeBlocks.length ? : null} + + + + {node.constructor?.parametersString ? : null} + + {node.typeParameters?.length ? ( +
+

+ + Type Parameters +

+ +
+ ) : null} + + {node.parameters?.length ? ( +
+

+ + Parameters +

+ +
+ ) : null} + + {node.members?.properties?.length ? ( + + ) : null} + + {node.members?.events?.length ? ( +
+ +
+ ) : null} + + {node.members?.methods?.length ? ( +
+ +
+ ) : null} + + {node.members?.length ? : null} + + {node.unionMembers?.length ? : null} + + ); +} diff --git a/apps/website/src/components/DocKind.tsx b/apps/website/src/components/DocKind.tsx new file mode 100644 index 000000000000..47ca84732964 --- /dev/null +++ b/apps/website/src/components/DocKind.tsx @@ -0,0 +1,44 @@ +export function resolveNodeKind(kind: string) { + switch (kind) { + case 'Class': + return { + text: 'text-green-500', + background: 'bg-green-500/20', + }; + case 'Interface': + return { + text: 'text-amber-500', + background: 'bg-amber-500/20', + }; + case 'Function': + return { + text: 'text-blue-500', + background: 'bg-blue-500/20', + }; + case 'Enum': + return { + text: 'text-rose-500', + background: 'bg-rose-500/20', + }; + case 'TypeAlias': + return { + text: 'text-pink-500', + background: 'bg-pink-500/20', + }; + case 'Variable': + return { + text: 'text-purple-500', + background: 'bg-purple-500/20', + }; + default: + return { + text: 'text-gray-500', + background: 'bg-gray-500/20', + }; + } +} + +export async function DocKind({ background = false, node }: { readonly background?: boolean; readonly node: any }) { + const kind = resolveNodeKind(node.kind); + return {node.kind.toLowerCase()}; +} diff --git a/apps/website/src/components/DocNode.tsx b/apps/website/src/components/DocNode.tsx new file mode 100644 index 000000000000..112200c758db --- /dev/null +++ b/apps/website/src/components/DocNode.tsx @@ -0,0 +1,72 @@ +import Link from 'next/link'; +import { OverlayScrollbarsComponent } from './OverlayScrollbars'; +import { SyntaxHighlighter } from './SyntaxHighlighter'; + +export async function DocNode({ node, version }: { readonly node?: any; readonly version: string }) { + const createNode = (node: any, idx: number) => { + switch (node.kind) { + case 'PlainText': + return {node.text}; + case 'LinkTag': { + if (node.resolvedPackage) { + return ( + + {node.text} + + ); + } + + if (node.uri) { + return ( + + {node.text} + + ); + } + + return {node.text}; + } + + case 'CodeSpan': + return ( + + {node.text} + + ); + + case 'FencedCode': { + const { language, text } = node; + + return ( + + + + ); + } + + case 'SoftBreak': + return null; + default: + return null; + } + }; + + return node?.map(createNode) ?? null; +} diff --git a/apps/website/src/components/DocumentationLink.tsx b/apps/website/src/components/DocumentationLink.tsx deleted file mode 100644 index bef2aa71ac38..000000000000 --- a/apps/website/src/components/DocumentationLink.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import type { PropsWithChildren } from 'react'; - -export function DocumentationLink({ children, href }: PropsWithChildren<{ readonly href: string }>) { - return ( - - {children} - - ); -} diff --git a/apps/website/src/components/EnumMemberNode.tsx b/apps/website/src/components/EnumMemberNode.tsx new file mode 100644 index 000000000000..06f5f9a13e34 --- /dev/null +++ b/apps/website/src/components/EnumMemberNode.tsx @@ -0,0 +1,109 @@ +import { VscSymbolEnumMember } from '@react-icons/all-files/vsc/VscSymbolEnumMember'; +import { Code2, LinkIcon } from 'lucide-react'; +import Link from 'next/link'; +import { Fragment } from 'react'; +import { Badges } from './Badges'; +import { DeprecatedNode } from './DeprecatedNode'; +import { ExampleNode } from './ExampleNode'; +import { ExcerptNode } from './ExcerptNode'; +import { InheritedFromNode } from './InheritedFromNode'; +import { ParameterNode } from './ParameterNode'; +import { ReturnNode } from './ReturnNode'; +import { SeeNode } from './SeeNode'; +import { SummaryNode } from './SummaryNode'; + +export async function EnumMemberNode({ + node, + packageName, + version, +}: { + readonly node: any; + readonly packageName: string; + readonly version: string; +}) { + return ( +
+

+ + Members +

+ +
+ {node.map((enumMember: any, idx: number) => { + return ( + +
+
+

+ + + + + + {enumMember.displayName} + {enumMember.parameters?.length ? ( + + ) : null} + {enumMember.initializerExcerpt ? ( + <> + {' = '} + + + ) : null} + +

+ + + + +
+ + {enumMember.summary?.deprecatedBlock.length ? ( + + ) : null} + + {enumMember.summary?.summarySection.length ? ( + + ) : null} + + {enumMember.summary?.exampleBlocks.length ? ( + + ) : null} + + {enumMember.summary?.returnsBlock.length ? ( + + ) : null} + + {enumMember.inheritedFrom ? ( + + ) : null} + + {enumMember.summary?.seeBlocks.length ? ( + + ) : null} +
+
+
+
+ + ); + })} +
+
+ ); +} diff --git a/apps/website/src/components/EventNode.tsx b/apps/website/src/components/EventNode.tsx new file mode 100644 index 000000000000..f9a7e109714d --- /dev/null +++ b/apps/website/src/components/EventNode.tsx @@ -0,0 +1,170 @@ +import { VscSymbolEvent } from '@react-icons/all-files/vsc/VscSymbolEvent'; +import { ChevronDown, ChevronUp, Code2 } from 'lucide-react'; +import { Badges } from './Badges'; +import { DeprecatedNode } from './DeprecatedNode'; +import { ExampleNode } from './ExampleNode'; +import { InheritedFromNode } from './InheritedFromNode'; +import { ParameterNode } from './ParameterNode'; +import { ReturnNode } from './ReturnNode'; +import { SeeNode } from './SeeNode'; +import { SummaryNode } from './SummaryNode'; +import { TypeParameterNode } from './TypeParameterNode'; +import { Collapsible, CollapsibleContent, CollapsibleTrigger } from './ui/Collapsible'; +import { Tab, TabList, TabPanel, Tabs } from './ui/Tabs'; + +async function EventBodyNode({ + event, + packageName, + version, + overload = false, +}: { + readonly event: any; + readonly overload?: boolean; + readonly packageName: string; + readonly version: string; +}) { + return ( + <> +
+
+

+ {event.displayName} + {event.typeParameters?.length ? ( + <> + {'<'} + + {'>'} + + ) : null} + ({event.parameters?.length ? : null}) +

+ + + + +
+ + {event.summary?.deprecatedBlock.length ? ( + + ) : null} + + {event.summary?.summarySection.length ? ( + + ) : null} + + {event.summary?.exampleBlocks.length ? ( + + ) : null} + + {event.summary?.returnsBlock.length ? ( + + ) : null} + + {event.inheritedFrom ? ( + + ) : null} + + {event.summary?.seeBlocks.length ? : null} +
+
+
+
+ + ); +} + +async function OverloadNode({ + event, + packageName, + version, +}: { + readonly event: any; + readonly packageName: string; + readonly version: string; +}) { + return ( + + + {event.overloads.map((overload: any) => { + return ( + + Overload {overload.overloadIndex} + + ); + })} + + {event.overloads.map((overload: any) => { + return ( + + + + ); + })} + + ); +} + +export async function EventNode({ + node, + packageName, + version, +}: { + readonly node: any; + readonly packageName: string; + readonly version: string; +}) { + return ( + + +

+ Events +

+ + +
+ + +
+ {node.map((event: any) => { + return event.overloads?.length ? ( + + ) : ( + + ); + })} +
+
+
+ ); +} diff --git a/apps/website/src/components/ExampleNode.tsx b/apps/website/src/components/ExampleNode.tsx new file mode 100644 index 000000000000..a8692cc65037 --- /dev/null +++ b/apps/website/src/components/ExampleNode.tsx @@ -0,0 +1,10 @@ +import { DocNode } from './DocNode'; + +export async function ExampleNode({ node, version }: { readonly node: any; readonly version: string }) { + return ( +
+ Examples: + +
+ ); +} diff --git a/apps/website/src/components/ExcerptNode.tsx b/apps/website/src/components/ExcerptNode.tsx new file mode 100644 index 000000000000..adee4a59e9d3 --- /dev/null +++ b/apps/website/src/components/ExcerptNode.tsx @@ -0,0 +1,66 @@ +import Link from 'next/link'; +import { Fragment } from 'react'; +import { BuiltinDocumentationLinks } from '~/util/builtinDocumentationLinks'; + +export async function ExcerptNode({ node, version }: { readonly node?: any; readonly version: string }) { + const createExcerpt = (excerpts: any) => { + const excerpt = Array.isArray(excerpts) ? excerpts : excerpts.excerpts ?? [excerpts]; + + return ( + + {excerpt.map((excerpt: any, idx: number) => { + if (excerpt.resolvedItem) { + return ( + + {excerpt.text} + + ); + } + + if (excerpt.href) { + return ( + + {excerpt.text} + + ); + } + + if (excerpt.text in BuiltinDocumentationLinks) { + const href = BuiltinDocumentationLinks[excerpt.text as keyof typeof BuiltinDocumentationLinks]; + return ( + + {excerpt.text} + + ); + } + + return {excerpt.text}; + })} + + ); + }; + + return node?.map(createExcerpt) ?? null; +} diff --git a/apps/website/src/components/ExcerptText.tsx b/apps/website/src/components/ExcerptText.tsx deleted file mode 100644 index 64abcea04080..000000000000 --- a/apps/website/src/components/ExcerptText.tsx +++ /dev/null @@ -1,86 +0,0 @@ -import type { ApiPackage, Excerpt } from '@discordjs/api-extractor-model'; -import { ExcerptTokenKind } from '@discordjs/api-extractor-model'; -import { BuiltinDocumentationLinks } from '~/util/builtinDocumentationLinks'; -import { DISCORD_API_TYPES_DOCS_URL } from '~/util/constants'; -import { DocumentationLink } from './DocumentationLink'; -import { ItemLink } from './ItemLink'; -import { resolveCanonicalReference, resolveItemURI } from './documentation/util'; - -export interface ExcerptTextProps { - /** - * The package this excerpt is referenced from. - */ - readonly apiPackage: ApiPackage; - - /** - * The tokens to render. - */ - readonly excerpt: Excerpt; -} - -/** - * A component that renders excerpt tokens from an api item. - */ -export function ExcerptText({ excerpt, apiPackage }: ExcerptTextProps) { - return ( - - {excerpt.spannedTokens.map((token, idx) => { - if (token.kind === ExcerptTokenKind.Reference) { - if (token.text in BuiltinDocumentationLinks) { - const href = BuiltinDocumentationLinks[token.text as keyof typeof BuiltinDocumentationLinks]; - return ( - - {token.text} - - ); - } - - const source = token.canonicalReference?.source; - const symbol = token.canonicalReference?.symbol; - if (source && 'packageName' in source && source.packageName === 'discord-api-types' && symbol) { - const { meaning, componentPath: path } = symbol; - let href = DISCORD_API_TYPES_DOCS_URL; - - // dapi-types doesn't have routes for class members - // so we can assume this member is for an enum - if (meaning === 'member' && path && 'parent' in path) { - href += `/enum/${path.parent}#${path.component}`; - } else if (meaning === 'type' || meaning === 'var') { - href += `#${token.text}`; - } else { - href += `/${meaning}/${token.text}`; - } - - return ( - - {token.text} - - ); - } - - const resolved = token.canonicalReference - ? resolveCanonicalReference(token.canonicalReference, apiPackage) - : null; - - if (!resolved) { - return token.text; - } - - return ( - - {token.text} - - ); - } - - return token.text.replace(/import\("discord-api-types(?:\/v\d+)?"\)\./, ''); - })} - - ); -} diff --git a/apps/website/src/components/Header.tsx b/apps/website/src/components/Header.tsx deleted file mode 100644 index dab90e015b1c..000000000000 --- a/apps/website/src/components/Header.tsx +++ /dev/null @@ -1,116 +0,0 @@ -'use client'; - -import { FiCommand } from '@react-icons/all-files/fi/FiCommand'; -import { VscGithubInverted } from '@react-icons/all-files/vsc/VscGithubInverted'; -import { VscMenu } from '@react-icons/all-files/vsc/VscMenu'; -import { VscSearch } from '@react-icons/all-files/vsc/VscSearch'; -import { Button } from 'ariakit/button'; -import type { Route } from 'next'; -import dynamic from 'next/dynamic'; -import Link from 'next/link'; -import { usePathname } from 'next/navigation'; -import { Fragment, useMemo } from 'react'; -import { useCmdK } from '~/contexts/cmdK'; -import { useNav } from '~/contexts/nav'; - -const ThemeSwitcher = dynamic(async () => import('./ThemeSwitcher')); - -export default function Header() { - const pathname = usePathname(); - const { setOpened } = useNav(); - const dialog = useCmdK(); - - const pathElements = useMemo( - () => - pathname - .split('/') - .slice(1) - .map((path, idx, original) => ( - - {path} - - )), - [pathname], - ); - - const breadcrumbs = useMemo( - () => - pathElements.flatMap((el, idx, array) => { - if (idx === 0) { - return ( - -
/
-
{el}
-
/
-
- ); - } - - if (idx !== array.length - 1) { - return ( - -
{el}
-
/
-
- ); - } - - return
{el}
; - }), - [pathElements], - ); - - return ( -
-
-
- -
{breadcrumbs}
- -
- - - -
-
-
-
- ); -} diff --git a/apps/website/src/components/InformationNode.tsx b/apps/website/src/components/InformationNode.tsx new file mode 100644 index 000000000000..9e8852f5a36e --- /dev/null +++ b/apps/website/src/components/InformationNode.tsx @@ -0,0 +1,33 @@ +import { FileCode2 } from 'lucide-react'; +import { Badges } from './Badges'; +import { DocKind } from './DocKind'; +import { InheritanceNode } from './InheritanceNode'; + +export async function InformationNode({ node, version }: { readonly node: any; readonly version: string }) { + return ( +
+
+

+ {node.displayName} +

+ {node.implements ? : null} + {node.extends ? : null} + +
+ + + + +
+ ); +} diff --git a/apps/website/src/components/InheritanceNode.tsx b/apps/website/src/components/InheritanceNode.tsx new file mode 100644 index 000000000000..8b2983979492 --- /dev/null +++ b/apps/website/src/components/InheritanceNode.tsx @@ -0,0 +1,20 @@ +import { ExcerptNode } from './ExcerptNode'; + +export async function InheritanceNode({ + text, + node, + version, +}: { + readonly node: any; + readonly text: string; + readonly version: string; +}) { + return ( +
+

{text}

{' '} + + + +
+ ); +} diff --git a/apps/website/src/components/InheritanceText.tsx b/apps/website/src/components/InheritanceText.tsx deleted file mode 100644 index cacefe71e49d..000000000000 --- a/apps/website/src/components/InheritanceText.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import type { ApiDeclaredItem } from '@discordjs/api-extractor-model'; -import { ItemLink } from './ItemLink'; -import { resolveItemURI } from './documentation/util'; - -export function InheritanceText({ parent }: { readonly parent: ApiDeclaredItem }) { - return ( - - Inherited from{' '} - - {parent.displayName} - - - ); -} diff --git a/apps/website/src/components/InheritedFromNode.tsx b/apps/website/src/components/InheritedFromNode.tsx new file mode 100644 index 000000000000..235882cf2372 --- /dev/null +++ b/apps/website/src/components/InheritedFromNode.tsx @@ -0,0 +1,23 @@ +import Link from 'next/link'; + +export async function InheritedFromNode({ + node, + packageName, + version, +}: { + readonly node: any; + readonly packageName: string; + readonly version: string; +}) { + return ( +

+ Inherited from:{' '} + + {node.slice(0, node.indexOf(':'))} + +

+ ); +} diff --git a/apps/website/src/components/InstallButton.tsx b/apps/website/src/components/InstallButton.tsx deleted file mode 100644 index 740cf6dca397..000000000000 --- a/apps/website/src/components/InstallButton.tsx +++ /dev/null @@ -1,38 +0,0 @@ -'use client'; - -import { FiCheck } from '@react-icons/all-files/fi/FiCheck'; -import { FiCopy } from '@react-icons/all-files/fi/FiCopy'; -import { useEffect, useState } from 'react'; -import { useCopyToClipboard } from 'react-use'; -import { buttonVariants } from '~/styles/Button'; - -export function InstallButton() { - const [interacted, setInteracted] = useState(false); - const [state, copyToClipboard] = useCopyToClipboard(); - - useEffect(() => { - const timer = setTimeout(() => setInteracted(false), 2_000); - return () => clearTimeout(timer); - }, [interacted]); - - return ( - - ); -} diff --git a/apps/website/src/components/ItemLink.tsx b/apps/website/src/components/ItemLink.tsx deleted file mode 100644 index d54082be2c8a..000000000000 --- a/apps/website/src/components/ItemLink.tsx +++ /dev/null @@ -1,48 +0,0 @@ -'use client'; - -import type { LinkProps } from 'next/link'; -import Link from 'next/link'; -import { usePathname } from 'next/navigation'; -import type { PropsWithChildren } from 'react'; -import { useCurrentPathMeta } from '~/hooks/useCurrentPathMeta'; - -export interface ItemLinkProps extends Omit, 'href'> { - readonly className?: string; - /** - * The URI of the api item to link to. (e.g. `/RestManager`) - */ - readonly itemURI: string; - - /** - * The name of the package the item belongs to. - */ - readonly packageName?: string | undefined; - - // TODO: This needs to be properly typed above but monkey-patching it for now. - readonly title?: string | undefined; - - /** - * The version of the package the item belongs to. - */ - readonly version?: string | undefined; -} - -/** - * A component that renders a link to an api item. - * - * @remarks - * This component only needs the relative path to the item, and will automatically - * generate the full path to the item client-side. - */ -export function ItemLink(props: PropsWithChildren>) { - const pathname = usePathname(); - const { packageName, version } = useCurrentPathMeta(); - - if (!pathname) { - throw new Error('ItemLink must be used inside a Next.js page. (e.g. /docs/packages/foo/main)'); - } - - const { itemURI, packageName: pkgName, version: pkgVersion, ...linkProps } = props; - - return ; -} diff --git a/apps/website/src/components/MethodNode.tsx b/apps/website/src/components/MethodNode.tsx new file mode 100644 index 000000000000..5a9d541fa89d --- /dev/null +++ b/apps/website/src/components/MethodNode.tsx @@ -0,0 +1,180 @@ +import { VscSymbolMethod } from '@react-icons/all-files/vsc/VscSymbolMethod'; +import { ChevronDown, ChevronUp, Code2, LinkIcon } from 'lucide-react'; +import Link from 'next/link'; +import { Badges } from './Badges'; +import { DeprecatedNode } from './DeprecatedNode'; +import { ExampleNode } from './ExampleNode'; +import { ExcerptNode } from './ExcerptNode'; +import { InheritedFromNode } from './InheritedFromNode'; +import { ParameterNode } from './ParameterNode'; +import { ReturnNode } from './ReturnNode'; +import { SeeNode } from './SeeNode'; +import { SummaryNode } from './SummaryNode'; +import { TypeParameterNode } from './TypeParameterNode'; +import { Collapsible, CollapsibleContent, CollapsibleTrigger } from './ui/Collapsible'; +import { Tab, TabList, TabPanel, Tabs } from './ui/Tabs'; + +async function MethodBodyNode({ + method, + packageName, + version, + overload = false, +}: { + readonly method: any; + readonly overload?: boolean; + readonly packageName: string; + readonly version: string; +}) { + return ( + <> +
+
+

+ {method.displayName} + + + + + {method.typeParameters?.length ? ( + <> + {'<'} + + {'>'} + + ) : null} + ({method.parameters?.length ? : null} + ) : + +

+ + + + +
+ + {method.summary?.deprecatedBlock.length ? ( + + ) : null} + + {method.summary?.summarySection.length ? ( + + ) : null} + + {method.summary?.exampleBlocks.length ? ( + + ) : null} + + {method.summary?.returnsBlock.length ? ( + + ) : null} + + {method.inheritedFrom ? ( + + ) : null} + + {method.summary?.seeBlocks.length ? ( + + ) : null} +
+
+
+
+ + ); +} + +async function OverloadNode({ + method, + packageName, + version, +}: { + readonly method: any; + readonly packageName: string; + readonly version: string; +}) { + return ( + + + {method.overloads.map((overload: any) => { + return ( + + Overload {overload.overloadIndex} + + ); + })} + + {method.overloads.map((overload: any) => { + return ( + + + + ); + })} + + ); +} + +export async function MethodNode({ + node, + packageName, + version, +}: { + readonly node: any; + readonly packageName: string; + readonly version: string; +}) { + return ( + + +

+ Methods +

+ + +
+ + +
+ {node.map((method: any) => { + return method.overloads?.length ? ( + + ) : ( + + ); + })} +
+
+
+ ); +} diff --git a/apps/website/src/components/Nav.tsx b/apps/website/src/components/Nav.tsx deleted file mode 100644 index dbb08aa2ce9c..000000000000 --- a/apps/website/src/components/Nav.tsx +++ /dev/null @@ -1,47 +0,0 @@ -'use client'; - -import dynamic from 'next/dynamic'; -import { Scrollbars } from 'react-custom-scrollbars-2'; -import { useNav } from '~/contexts/nav'; -import { Sidebar } from './Sidebar'; -import type { SidebarSectionItemData } from './Sidebar'; - -const PackageSelect = dynamic(async () => import('./PackageSelect')); -const VersionSelect = dynamic(async () => import('./VersionSelect')); - -export function Nav({ - members, - versions, -}: { - readonly members: SidebarSectionItemData[]; - readonly versions: string[]; -}) { - const { opened } = useNav(); - - return ( - - ); -} diff --git a/apps/website/src/components/Navigation.tsx b/apps/website/src/components/Navigation.tsx new file mode 100644 index 000000000000..466e6a98c5a0 --- /dev/null +++ b/apps/website/src/components/Navigation.tsx @@ -0,0 +1,227 @@ +import { VscGithubInverted } from '@react-icons/all-files/vsc/VscGithubInverted'; +import { ChevronDown, ChevronUp } from 'lucide-react'; +import dynamic from 'next/dynamic'; +import Link from 'next/link'; +import { fetchVersions } from '~/util/fetchVersions'; +import { resolveNodeKind } from './DocKind'; +import { NavigationItem } from './NavigationItem'; +import { Collapsible, CollapsibleContent, CollapsibleTrigger } from './ui/Collapsible'; +import { PackageSelect } from './ui/PackageSelect'; +import { SearchButton } from './ui/SearchButton'; +import { VersionSelect } from './ui/VersionSelect'; + +// eslint-disable-next-line promise/prefer-await-to-then +const ThemeSwitch = dynamic(async () => import('~/components/ui/ThemeSwitch').then((mod) => mod.ThemeSwitch), { + ssr: false, +}); + +export async function Navigation({ + className = '', + packageName, + version, + drawer = false, +}: { + readonly className?: string; + readonly drawer?: boolean; + readonly packageName: string; + readonly version: string; +}) { + const isMainVersion = version === 'main'; + const fileContent = await fetch( + `${process.env.BLOB_STORAGE_URL}/rewrite/${packageName}/${version}.sitemap.api.json`, + { next: isMainVersion ? { revalidate: 0 } : { revalidate: 604_800 } }, + ); + const node = await fileContent.json(); + + const versions = await fetchVersions(packageName); + + const groupedNodes = node.reduce((acc: any, node: any) => { + (acc[node.kind.toLowerCase()] ||= []).push(node); + return acc; + }, {}); + + return ( + + ); +} diff --git a/apps/website/src/components/NavigationItem.tsx b/apps/website/src/components/NavigationItem.tsx new file mode 100644 index 000000000000..716262897356 --- /dev/null +++ b/apps/website/src/components/NavigationItem.tsx @@ -0,0 +1,34 @@ +'use client'; + +import { useSetAtom } from 'jotai'; +import Link from 'next/link'; +import { usePathname } from 'next/navigation'; +import type { PropsWithChildren } from 'react'; +import { isDrawerOpenAtom } from '~/stores/drawer'; + +export function NavigationItem({ + node, + packageName, + version, + children, +}: PropsWithChildren<{ + readonly node: any; + readonly packageName: string; + readonly version: string; +}>) { + const pathname = usePathname(); + const setDrawerOpen = useSetAtom(isDrawerOpenAtom); + + const href = `/docs/packages/${packageName}/${version}/${node.href}`; + + return ( + setDrawerOpen(false)} + > + {children} + + ); +} diff --git a/apps/website/src/components/Outline.tsx b/apps/website/src/components/Outline.tsx index f40460e92cde..44fd1d710815 100644 --- a/apps/website/src/components/Outline.tsx +++ b/apps/website/src/components/Outline.tsx @@ -1,32 +1,135 @@ -'use client'; - -import { useOutline } from '~/contexts/outline'; -import { Scrollbars } from './Scrollbars'; -import { TableOfContentItems } from './TableOfContentItems'; - -export function Outline() { - const { members } = useOutline(); - - if (!members) { - return null; - } - - return ( -
- -
- ); +import { VscListSelection } from '@react-icons/all-files/vsc/VscListSelection'; +import { VscSymbolEvent } from '@react-icons/all-files/vsc/VscSymbolEvent'; +import { VscSymbolMethod } from '@react-icons/all-files/vsc/VscSymbolMethod'; +import { VscSymbolProperty } from '@react-icons/all-files/vsc/VscSymbolProperty'; +import { ChevronDown, ChevronUp } from 'lucide-react'; +import Link from 'next/link'; +import { Fragment } from 'react'; +import { Collapsible, CollapsibleContent, CollapsibleTrigger } from './ui/Collapsible'; + +export async function Outline({ node }: { readonly node: any }) { + const hasAny = node.members?.properties?.length || node.members?.events?.length || node.members?.methods?.length; + + return hasAny ? ( + + +

+ Table of contents +

+ + +
+ + +
+
+ {node.members?.properties?.length ? ( + + +

+ + Properties +

+ + +
+ + +
+ {node.members.properties.map((property: any, idx: number) => { + return ( + +
+
+ + {property.displayName} + +
+
+
+ ); + })} +
+
+
+ ) : null} + + {node.members?.events?.length ? ( + + +

+ + Events +

+ + +
+ + +
+ {node.members.events.map((event: any, idx: number) => { + return ( + +
+
+ + {event.displayName} + +
+
+
+ ); + })} +
+
+
+ ) : null} + + {node.members?.methods?.length ? ( + + +

+ + Methods +

+ + +
+ + +
+ {node.members.methods.map((method: any, idx: number) => { + return ( + +
+
+ + {method.displayName} + +
+
+
+ ); + })} +
+
+
+ ) : null} +
+
+
+
+
+ + + ) : null; } diff --git a/apps/website/src/components/OverlayScrollbars.tsx b/apps/website/src/components/OverlayScrollbars.tsx new file mode 100644 index 000000000000..0e37086c2edc --- /dev/null +++ b/apps/website/src/components/OverlayScrollbars.tsx @@ -0,0 +1,7 @@ +'use client'; + +import { OverlayScrollbars, ClickScrollPlugin } from 'overlayscrollbars'; + +OverlayScrollbars.plugin(ClickScrollPlugin); + +export { OverlayScrollbarsComponent } from 'overlayscrollbars-react'; diff --git a/apps/website/src/components/OverloadSwitcher.tsx b/apps/website/src/components/OverloadSwitcher.tsx deleted file mode 100644 index 923cb645eb48..000000000000 --- a/apps/website/src/components/OverloadSwitcher.tsx +++ /dev/null @@ -1,98 +0,0 @@ -'use client'; - -import { VscChevronDown } from '@react-icons/all-files/vsc/VscChevronDown'; -import { VscVersions } from '@react-icons/all-files/vsc/VscVersions'; -import { Menu, MenuButton, MenuItem, useMenuState } from 'ariakit/menu'; -import type { PropsWithChildren, ReactNode } from 'react'; -import { useCallback, useMemo, useState, useEffect } from 'react'; - -export interface OverloadSwitcherProps { - methodName: string; - overloads: ReactNode[]; -} - -export default function OverloadSwitcher({ - methodName, - overloads, - children, -}: PropsWithChildren<{ - readonly methodName: string; - readonly overloads: ReactNode[]; -}>) { - const [hash, setHash] = useState(() => (typeof window === 'undefined' ? '' : window.location.hash)); - const hashChangeHandler = useCallback(() => { - setHash(window.location.hash); - }, []); - const [overloadIndex, setOverloadIndex] = useState(1); - const overloadedNode = overloads[overloadIndex - 1]!; - const menu = useMenuState({ gutter: 8, sameWidth: true, fitViewport: true }); - - useEffect(() => { - window.addEventListener('hashchange', hashChangeHandler); - return () => { - window.removeEventListener('hashchange', hashChangeHandler); - }; - }); - - useEffect(() => { - if (hash) { - const elementId = hash.replace('#', ''); - const [name, idx] = elementId.split(':'); - if (name && methodName === name) { - if (idx) { - const hashOverload = Number.parseInt(idx, 10); - const resolvedOverload = Math.max(Math.min(hashOverload, overloads.length), 1); - setOverloadIndex(Number.isNaN(resolvedOverload) ? 1 : resolvedOverload); - } - - const element = document.querySelector(`[id^='${name}']`); - if (element) { - element.scrollIntoView({ behavior: 'smooth' }); - } - } - } - }, [hash, methodName, overloads.length]); - - const menuItems = useMemo( - () => - overloads.map((_, idx) => ( - setOverloadIndex(idx + 1)} - > - {`Overload ${idx + 1}`} - - )), - [overloads], - ); - - return ( -
- -
- -
- {`Overload ${overloadIndex}`} - {` of ${overloads.length}`} -
- -
-
- - {menuItems} - - {children} - {overloadedNode} -
- ); -} diff --git a/apps/website/src/components/PackageSelect.tsx b/apps/website/src/components/PackageSelect.tsx deleted file mode 100644 index bae2989ff654..000000000000 --- a/apps/website/src/components/PackageSelect.tsx +++ /dev/null @@ -1,63 +0,0 @@ -'use client'; - -import { VscChevronDown } from '@react-icons/all-files/vsc/VscChevronDown'; -import { VscPackage } from '@react-icons/all-files/vsc/VscPackage'; -import { Menu, MenuButton, MenuItem, useMenuState } from 'ariakit/menu'; -import Link from 'next/link'; -import { usePathname } from 'next/navigation'; -import { useMemo } from 'react'; -import { PACKAGES } from '~/util/constants'; - -export default function PackageSelect() { - const pathname = usePathname(); - const packageName = pathname?.split('/').slice(3, 4)[0]; - - const packageMenu = useMenuState({ - gutter: 8, - sameWidth: true, - fitViewport: true, - }); - - const packageMenuItems = useMemo( - () => - PACKAGES.map((pkg, idx) => ( - - packageMenu.setOpen(false)} - state={packageMenu} - > - {pkg} - - - )), - [packageMenu], - ); - - return ( - <> - -
-
- - {packageName} -
- -
-
- - {packageMenuItems} - - - ); -} diff --git a/apps/website/src/components/Panel.tsx b/apps/website/src/components/Panel.tsx deleted file mode 100644 index 50e6a0ed835e..000000000000 --- a/apps/website/src/components/Panel.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import type { PropsWithChildren } from 'react'; - -export function Panel({ children }: PropsWithChildren) { - return ( - <> - {children} -
- - ); -} diff --git a/apps/website/src/components/ParameterNode.tsx b/apps/website/src/components/ParameterNode.tsx new file mode 100644 index 000000000000..02f35ec29b83 --- /dev/null +++ b/apps/website/src/components/ParameterNode.tsx @@ -0,0 +1,49 @@ +import { LinkIcon } from 'lucide-react'; +import Link from 'next/link'; +import { Fragment } from 'react'; +import { Badges } from './Badges'; +import { DocNode } from './DocNode'; +import { ExcerptNode } from './ExcerptNode'; + +export async function ParameterNode({ + description = false, + node, + version, +}: { + readonly description?: boolean; + readonly node: any; + readonly version: string; +}) { + return ( +
+ {node.map((parameter: any, idx: number) => { + return ( + +
+ + {description ? ( + + + + ) : null} + {description ? : null} + {parameter.name} + {parameter.isOptional ? '?' : ''}: + + {description && parameter.description?.length ? ( +
+ +
+ ) : null} +
+
+ ); + })} + {description ? ( +
+
+
+ ) : null} +
+ ); +} diff --git a/apps/website/src/components/ParameterTable.tsx b/apps/website/src/components/ParameterTable.tsx deleted file mode 100644 index c10c4791bef8..000000000000 --- a/apps/website/src/components/ParameterTable.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import type { ApiDocumentedItem, ApiParameterListMixin } from '@discordjs/api-extractor-model'; -import { useMemo } from 'react'; -import { resolveParameters } from '~/util/model'; -import { ExcerptText } from './ExcerptText'; -import { Table } from './Table'; -import { TSDoc } from './documentation/tsdoc/TSDoc'; - -const columnStyles = { - Name: 'font-mono whitespace-nowrap', - Type: 'font-mono whitespace-pre-wrap break-normal', -}; - -export function ParameterTable({ item }: { readonly item: ApiDocumentedItem & ApiParameterListMixin }) { - const params = resolveParameters(item); - - const rows = useMemo( - () => - params.map((param) => ({ - Name: param.isRest ? `...${param.name}` : param.name, - Type: , - Optional: param.isOptional ? 'Yes' : 'No', - Description: param.description ? : 'None', - })), - [item, params], - ); - - return ( -
- - - ); -} diff --git a/apps/website/src/components/Property.tsx b/apps/website/src/components/Property.tsx deleted file mode 100644 index 242d7dad5709..000000000000 --- a/apps/website/src/components/Property.tsx +++ /dev/null @@ -1,49 +0,0 @@ -import type { - ApiDeclaredItem, - ApiItemContainerMixin, - ApiProperty, - ApiPropertySignature, -} from '@discordjs/api-extractor-model'; -import type { PropsWithChildren } from 'react'; -import { Badges } from './Badges'; -import { CodeHeading } from './CodeHeading'; -import { ExcerptText } from './ExcerptText'; -import { InheritanceText } from './InheritanceText'; -import { TSDoc } from './documentation/tsdoc/TSDoc'; - -export function Property({ - item, - children, - inheritedFrom, -}: PropsWithChildren<{ - readonly inheritedFrom?: (ApiDeclaredItem & ApiItemContainerMixin) | undefined; - readonly item: ApiProperty | ApiPropertySignature; -}>) { - const hasSummary = Boolean(item.tsdocComment?.summarySection); - - return ( -
-
- - - {`${item.displayName}${item.isOptional ? '?' : ''}`} - : - {item.propertyTypeExcerpt.text ? ( - - ) : null} - -
- {hasSummary || inheritedFrom ? ( -
- {item.tsdocComment ? : null} - {inheritedFrom ? : null} - {children} -
- ) : null} -
- ); -} diff --git a/apps/website/src/components/PropertyList.tsx b/apps/website/src/components/PropertyList.tsx deleted file mode 100644 index 8e922513ace0..000000000000 --- a/apps/website/src/components/PropertyList.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import type { - ApiDeclaredItem, - ApiItem, - ApiItemContainerMixin, - ApiProperty, - ApiPropertySignature, -} from '@discordjs/api-extractor-model'; -import { ApiItemKind } from '@discordjs/api-extractor-model'; -import { Fragment, useMemo } from 'react'; -import { resolveMembers } from '~/util/members'; -import { Property } from './Property'; - -export function isPropertyLike(item: ApiItem): item is ApiProperty | ApiPropertySignature { - return item.kind === ApiItemKind.Property || item.kind === ApiItemKind.PropertySignature; -} - -export function PropertyList({ item }: { readonly item: ApiItemContainerMixin }) { - const members = resolveMembers(item, isPropertyLike); - - const propertyItems = useMemo( - () => - members.map((prop, idx) => { - return ( - - -
- - ); - }), - [members], - ); - - return
{propertyItems}
; -} diff --git a/apps/website/src/components/PropertyNode.tsx b/apps/website/src/components/PropertyNode.tsx new file mode 100644 index 000000000000..60b023be1302 --- /dev/null +++ b/apps/website/src/components/PropertyNode.tsx @@ -0,0 +1,98 @@ +import { VscSymbolProperty } from '@react-icons/all-files/vsc/VscSymbolProperty'; +import { ChevronDown, ChevronUp, Code2, LinkIcon } from 'lucide-react'; +import Link from 'next/link'; +import { Fragment } from 'react'; +import { Badges } from './Badges'; +import { DeprecatedNode } from './DeprecatedNode'; +import { ExcerptNode } from './ExcerptNode'; +import { InheritedFromNode } from './InheritedFromNode'; +import { SeeNode } from './SeeNode'; +import { SummaryNode } from './SummaryNode'; +import { Collapsible, CollapsibleContent, CollapsibleTrigger } from './ui/Collapsible'; + +export async function PropertyNode({ + node, + packageName, + version, +}: { + readonly node: any; + readonly packageName: string; + readonly version: string; +}) { + return ( + + +

+ + Properties +

+ + +
+ + +
+ {node.map((property: any, idx: number) => { + return ( + +
+
+

+ + + + + + {property.displayName} + {property.isOptional ? '?' : ''} : + +

+ + + + +
+ + {property.summary?.deprecatedBlock.length ? ( + + ) : null} + + {property.summary?.summarySection.length ? ( + + ) : null} + + {property.inheritedFrom ? ( + + ) : null} + + {property.summary?.seeBlocks.length ? ( + + ) : null} +
+
+
+
+ + ); + })} +
+ + + ); +} diff --git a/apps/website/src/components/ReturnNode.tsx b/apps/website/src/components/ReturnNode.tsx new file mode 100644 index 000000000000..2a18948654eb --- /dev/null +++ b/apps/website/src/components/ReturnNode.tsx @@ -0,0 +1,17 @@ +import { DocNode } from './DocNode'; + +export async function ReturnNode({ + padding = false, + node, + version, +}: { + readonly node: any; + readonly padding?: boolean; + readonly version: string; +}) { + return ( +

+ Returns: +

+ ); +} diff --git a/apps/website/src/components/Scrollbars.tsx b/apps/website/src/components/Scrollbars.tsx deleted file mode 100644 index 9e76b4923726..000000000000 --- a/apps/website/src/components/Scrollbars.tsx +++ /dev/null @@ -1,8 +0,0 @@ -'use client'; - -import type { ScrollbarProps } from 'react-custom-scrollbars-2'; -import { Scrollbars as ReactScrollbars2 } from 'react-custom-scrollbars-2'; - -export function Scrollbars(props: ScrollbarProps) { - return ; -} diff --git a/apps/website/src/components/Section.tsx b/apps/website/src/components/Section.tsx deleted file mode 100644 index 722344864a9a..000000000000 --- a/apps/website/src/components/Section.tsx +++ /dev/null @@ -1,8 +0,0 @@ -'use client'; - -import { Section as DJSSection, type SectionOptions } from '@discordjs/ui'; -import type { PropsWithChildren } from 'react'; - -export function Section(options: PropsWithChildren) { - return ; -} diff --git a/apps/website/src/components/SeeNode.tsx b/apps/website/src/components/SeeNode.tsx new file mode 100644 index 000000000000..4c8565395155 --- /dev/null +++ b/apps/website/src/components/SeeNode.tsx @@ -0,0 +1,17 @@ +import { DocNode } from './DocNode'; + +export async function SeeNode({ + padding = false, + node, + version, +}: { + readonly node: any; + readonly padding?: boolean; + readonly version: string; +}) { + return ( +

+ See also: +

+ ); +} diff --git a/apps/website/src/components/Sidebar.tsx b/apps/website/src/components/Sidebar.tsx deleted file mode 100644 index b81fa250f2fb..000000000000 --- a/apps/website/src/components/Sidebar.tsx +++ /dev/null @@ -1,124 +0,0 @@ -'use client'; - -import type { ApiItemKind } from '@discordjs/api-extractor-model'; -import { VscSymbolClass } from '@react-icons/all-files/vsc/VscSymbolClass'; -import { VscSymbolEnum } from '@react-icons/all-files/vsc/VscSymbolEnum'; -import { VscSymbolInterface } from '@react-icons/all-files/vsc/VscSymbolInterface'; -import { VscSymbolMethod } from '@react-icons/all-files/vsc/VscSymbolMethod'; -import { VscSymbolVariable } from '@react-icons/all-files/vsc/VscSymbolVariable'; -import { useSelectedLayoutSegment } from 'next/navigation'; -import { useMemo } from 'react'; -import { useNav } from '~/contexts/nav'; -import { ItemLink } from './ItemLink'; -import { Section } from './Section'; - -export interface SidebarSectionItemData { - href: string; - kind: ApiItemKind; - name: string; - overloadIndex?: number | undefined; -} - -interface GroupedMembers { - Classes: SidebarSectionItemData[]; - Enums: SidebarSectionItemData[]; - Functions: SidebarSectionItemData[]; - Interfaces: SidebarSectionItemData[]; - Types: SidebarSectionItemData[]; - Variables: SidebarSectionItemData[]; -} - -function groupMembers(members: readonly SidebarSectionItemData[]): GroupedMembers { - const Classes: SidebarSectionItemData[] = []; - const Enums: SidebarSectionItemData[] = []; - const Interfaces: SidebarSectionItemData[] = []; - const Types: SidebarSectionItemData[] = []; - const Variables: SidebarSectionItemData[] = []; - const Functions: SidebarSectionItemData[] = []; - - for (const member of members) { - switch (member.kind) { - case 'Class': - Classes.push(member); - break; - case 'Enum': - Enums.push(member); - break; - case 'Interface': - Interfaces.push(member); - break; - case 'TypeAlias': - Types.push(member); - break; - case 'Variable': - Variables.push(member); - break; - case 'Function': - Functions.push(member); - break; - default: - break; - } - } - - return { Classes, Functions, Enums, Interfaces, Types, Variables }; -} - -function resolveIcon(item: string) { - switch (item) { - case 'Classes': - return ; - case 'Enums': - return ; - case 'Interfaces': - return ; - case 'Types': - case 'Variables': - return ; - default: - return ; - } -} - -export function Sidebar({ members }: { readonly members: SidebarSectionItemData[] }) { - const segment = useSelectedLayoutSegment(); - const { setOpened } = useNav(); - - const groupItems = useMemo(() => groupMembers(members), [members]); - - return ( -
- {(Object.keys(groupItems) as (keyof GroupedMembers)[]) - .filter((group) => groupItems[group].length) - .map((group, idx) => ( -
- {groupItems[group].map((member, index) => ( - setOpened(false)} - title={member.name} - > -
- {member.name} - {member.overloadIndex && member.overloadIndex > 1 ? ( - {member.overloadIndex} - ) : null} -
-
- ))} -
- ))} -
- ); -} diff --git a/apps/website/src/components/SignatureText.tsx b/apps/website/src/components/SignatureText.tsx deleted file mode 100644 index e381488b9c40..000000000000 --- a/apps/website/src/components/SignatureText.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import type { ApiPackage, Excerpt } from '@discordjs/api-extractor-model'; -import { ExcerptText } from './ExcerptText'; - -export function SignatureText({ excerpt, apiPackage }: { readonly apiPackage: ApiPackage; readonly excerpt: Excerpt }) { - return ( -

- -

- ); -} diff --git a/apps/website/src/components/SummaryNode.tsx b/apps/website/src/components/SummaryNode.tsx new file mode 100644 index 000000000000..c0c2bffc9c3c --- /dev/null +++ b/apps/website/src/components/SummaryNode.tsx @@ -0,0 +1,17 @@ +import { DocNode } from './DocNode'; + +export async function SummaryNode({ + padding = false, + node, + version, +}: { + readonly node: any; + readonly padding?: boolean; + readonly version: string; +}) { + return ( +

+ +

+ ); +} diff --git a/apps/website/src/components/SyntaxHighlighter.tsx b/apps/website/src/components/SyntaxHighlighter.tsx index 73f9251dc922..7d020385c024 100644 --- a/apps/website/src/components/SyntaxHighlighter.tsx +++ b/apps/website/src/components/SyntaxHighlighter.tsx @@ -1,14 +1,33 @@ -import { Code } from 'bright'; +import { getHighlighterCore } from 'shiki/core'; +import getWasm from 'shiki/wasm'; + +const highlighter = await getHighlighterCore({ + themes: [import('shiki/themes/github-light.mjs'), import('shiki/themes/github-dark-dimmed.mjs')], + langs: [import('shiki/langs/typescript.mjs'), import('shiki/langs/javascript.mjs')], + loadWasm: getWasm, +}); + +export async function SyntaxHighlighter({ + lang, + code, + className = '', +}: { + readonly className?: string; + readonly code: string; + readonly lang: string; +}) { + const codeHTML = highlighter.codeToHtml(code.trim(), { + lang, + themes: { + light: 'github-light', + dark: 'github-dark-dimmed', + }, + }); -export async function SyntaxHighlighter(props: typeof Code) { return ( <> -
- -
-
- -
+ {/* eslint-disable-next-line react/no-danger */} +
); } diff --git a/apps/website/src/components/Table.tsx b/apps/website/src/components/Table.tsx deleted file mode 100644 index 1929d1fe40c3..000000000000 --- a/apps/website/src/components/Table.tsx +++ /dev/null @@ -1,54 +0,0 @@ -'use client'; - -import { useMemo, type ReactNode } from 'react'; - -export function Table({ - rows, - columns, - columnStyles, -}: { - readonly columnStyles?: Record; - readonly columns: string[]; - readonly rows: Record[]; -}) { - const cols = useMemo( - () => - columns.map((column, idx) => ( -
- )), - [columns], - ); - - const data = useMemo( - () => - rows.map((row, idx) => ( - - {Object.entries(row).map(([colName, val], index) => ( - - ))} - - )), - [columnStyles, rows], - ); - - return ( -
- {column} -
- {val} -
- - {cols} - - {data} -
- ); -} diff --git a/apps/website/src/components/TableOfContentItems.tsx b/apps/website/src/components/TableOfContentItems.tsx deleted file mode 100644 index a1e33316085f..000000000000 --- a/apps/website/src/components/TableOfContentItems.tsx +++ /dev/null @@ -1,161 +0,0 @@ -'use client'; - -import { VscListSelection } from '@react-icons/all-files/vsc/VscListSelection'; -import { VscSymbolEvent } from '@react-icons/all-files/vsc/VscSymbolEvent'; -import { VscSymbolMethod } from '@react-icons/all-files/vsc/VscSymbolMethod'; -import { VscSymbolProperty } from '@react-icons/all-files/vsc/VscSymbolProperty'; -import { useMemo } from 'react'; - -export interface TableOfContentsSerializedMethod { - kind: 'Method' | 'MethodSignature'; - name: string; - overloadIndex?: number; -} - -export interface TableOfContentsSerializedProperty { - kind: 'Property' | 'PropertySignature'; - name: string; -} - -export interface TableOfContentsSerializedEvent { - kind: 'Event'; - name: string; -} - -export type TableOfContentsSerialized = - | TableOfContentsSerializedEvent - | TableOfContentsSerializedMethod - | TableOfContentsSerializedProperty; - -export interface TableOfContentsItemProps { - readonly serializedMembers: TableOfContentsSerialized[]; -} - -export function TableOfContentsPropertyItem({ property }: { readonly property: TableOfContentsSerializedProperty }) { - return ( - - {property.name} - - ); -} - -export function TableOfContentsMethodItem({ method }: { readonly method: TableOfContentsSerializedMethod }) { - if (method.overloadIndex && method.overloadIndex > 1) { - return null; - } - - const key = `${method.name}${method.overloadIndex && method.overloadIndex > 1 ? `:${method.overloadIndex}` : ''}`; - - return ( - - {method.name} - {method.overloadIndex && method.overloadIndex > 1 ? ( - {method.overloadIndex} - ) : null} - - ); -} - -export function TableOfContentsEventItem({ event }: { readonly event: TableOfContentsSerializedEvent }) { - return ( - - {event.name} - - ); -} - -export function TableOfContentItems({ serializedMembers }: TableOfContentsItemProps) { - const propertyItems = useMemo( - () => - serializedMembers - .filter( - (member): member is TableOfContentsSerializedProperty => - member.kind === 'Property' || member.kind === 'PropertySignature', - ) - .map((prop, idx) => ), - [serializedMembers], - ); - - const methodItems = useMemo( - () => - serializedMembers - .filter( - (member): member is TableOfContentsSerializedMethod => - member.kind === 'Method' || member.kind === 'MethodSignature', - ) - .map((member, idx) => ( - - )), - [serializedMembers], - ); - - const eventItems = useMemo( - () => - serializedMembers - .filter((member): member is TableOfContentsSerializedEvent => member.kind === 'Event') - .map((event, idx) => ), - [serializedMembers], - ); - - return ( -
-
- - Contents -
-
- {eventItems.length ? ( -
-
- -
- Events -
-
- {eventItems} -
- ) : null} - {propertyItems.length ? ( -
-
- -
- Properties -
-
- {propertyItems} -
- ) : null} - {methodItems.length ? ( -
-
- -
- Methods -
-
- {methodItems} -
- ) : null} -
-
- ); -} diff --git a/apps/website/src/components/ThemeSwitcher.tsx b/apps/website/src/components/ThemeSwitcher.tsx deleted file mode 100644 index 38acea06884b..000000000000 --- a/apps/website/src/components/ThemeSwitcher.tsx +++ /dev/null @@ -1,20 +0,0 @@ -'use client'; - -import { VscColorMode } from '@react-icons/all-files/vsc/VscColorMode'; -import { Button } from 'ariakit/button'; -import { useTheme } from 'next-themes'; - -export default function ThemeSwitcher() { - const { resolvedTheme, setTheme } = useTheme(); - const toggleTheme = () => setTheme(resolvedTheme === 'light' ? 'dark' : 'light'); - - return ( - - ); -} diff --git a/apps/website/src/components/TypeParamTable.tsx b/apps/website/src/components/TypeParamTable.tsx deleted file mode 100644 index a16f79d07ee0..000000000000 --- a/apps/website/src/components/TypeParamTable.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import type { ApiTypeParameterListMixin } from '@discordjs/api-extractor-model'; -import { useMemo } from 'react'; -import { ExcerptText } from './ExcerptText'; -import { Table } from './Table'; -import { TSDoc } from './documentation/tsdoc/TSDoc'; - -const rowElements = { - Name: 'font-mono whitespace-nowrap', - Constraints: 'font-mono whitespace-pre break-normal', - Default: 'font-mono whitespace-pre break-normal', -}; - -export function TypeParamTable({ item }: { readonly item: ApiTypeParameterListMixin }) { - const rows = useMemo( - () => - item.typeParameters.map((typeParam) => ({ - Name: typeParam.name, - Constraints: , - Optional: typeParam.isOptional ? 'Yes' : 'No', - Default: , - Description: typeParam.tsdocTypeParamBlock ? ( - - ) : ( - 'None' - ), - })), - [item], - ); - - return ( -
- - - ); -} diff --git a/apps/website/src/components/TypeParameterNode.tsx b/apps/website/src/components/TypeParameterNode.tsx new file mode 100644 index 000000000000..1c0c55764891 --- /dev/null +++ b/apps/website/src/components/TypeParameterNode.tsx @@ -0,0 +1,67 @@ +import { LinkIcon } from 'lucide-react'; +import Link from 'next/link'; +import { Fragment } from 'react'; +import { Badges } from './Badges'; +import { DocNode } from './DocNode'; +import { ExcerptNode } from './ExcerptNode'; + +export async function TypeParameterNode({ + description = false, + node, + version, +}: { + readonly description?: boolean; + readonly node: any; + readonly version: string; +}) { + return ( +
+ {node.map((typeParameter: any, idx: number) => { + return ( + +
+

+ {description ? : null} + + {description ? ( + + + + ) : null} + {typeParameter.name} + {typeParameter.isOptional ? '?' : ''} + {typeParameter.constraintsExcerpt.length ? ( + <> + {' extends '} + + + ) : null} + {typeParameter.defaultExcerpt.length ? ( + <> + {' = '} + + + ) : null} + +

+ + {description && typeParameter.description?.length ? ( +
+ +
+ ) : null} +
+
+ ); + })} + {description ? ( +
+
+
+ ) : null} +
+ ); +} diff --git a/apps/website/src/components/UnionMember.tsx b/apps/website/src/components/UnionMember.tsx new file mode 100644 index 000000000000..25f7989bdce5 --- /dev/null +++ b/apps/website/src/components/UnionMember.tsx @@ -0,0 +1,13 @@ +import { ExcerptNode } from './ExcerptNode'; + +export async function UnionMember({ node, version }: { readonly node: any; readonly version: string }) { + return ( +
+

Union Members

+ + + + +
+ ); +} diff --git a/apps/website/src/components/VersionSelect.tsx b/apps/website/src/components/VersionSelect.tsx deleted file mode 100644 index 72ed52318b7a..000000000000 --- a/apps/website/src/components/VersionSelect.tsx +++ /dev/null @@ -1,69 +0,0 @@ -'use client'; - -import { VscChevronDown } from '@react-icons/all-files/vsc/VscChevronDown'; -import { VscVersions } from '@react-icons/all-files/vsc/VscVersions'; -import { Menu, MenuButton, MenuItem, useMenuState } from 'ariakit/menu'; -import Link from 'next/link'; -import { usePathname } from 'next/navigation'; -import { useMemo } from 'react'; -import useSWR from 'swr'; - -const isDev = process.env.NEXT_PUBLIC_LOCAL_DEV === 'true' ?? process.env.NEXT_PUBLIC_VERCEL_ENV === 'preview'; - -export default function VersionSelect({ versions }: { readonly versions: string[] }) { - const pathname = usePathname(); - const packageName = pathname?.split('/').slice(3, 4)[0]; - const branchName = pathname?.split('/').slice(4, 5)[0]; - - const { data } = useSWR(packageName ? `/api/${packageName}/versions` : null, { - fallbackData: versions, - }); - - const versionMenu = useMenuState({ - gutter: 8, - sameWidth: true, - fitViewport: true, - }); - - const versionMenuItems = useMemo( - () => - data?.map((item, idx) => ( - - versionMenu.setOpen(false)} - state={versionMenu} - > - {item} - - - )) ?? [], - [data, packageName, versionMenu], - ); - - return ( - <> - -
-
- - {branchName} -
- -
-
- - {versionMenuItems} - - - ); -} diff --git a/apps/website/src/components/documentation/Documentation.tsx b/apps/website/src/components/documentation/Documentation.tsx deleted file mode 100644 index ffddee132463..000000000000 --- a/apps/website/src/components/documentation/Documentation.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import type { PropsWithChildren } from 'react'; - -/** - * Layout parent of documentation pages. - */ -export function Documentation({ children }: PropsWithChildren) { - return
{children}
; -} diff --git a/apps/website/src/components/documentation/Header.tsx b/apps/website/src/components/documentation/Header.tsx deleted file mode 100644 index 96dc2f4cc3e4..000000000000 --- a/apps/website/src/components/documentation/Header.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import { ApiItemKind } from '@discordjs/api-extractor-model'; -import { VscSymbolClass } from '@react-icons/all-files/vsc/VscSymbolClass'; -import { VscSymbolEnum } from '@react-icons/all-files/vsc/VscSymbolEnum'; -import { VscSymbolInterface } from '@react-icons/all-files/vsc/VscSymbolInterface'; -import { VscSymbolMethod } from '@react-icons/all-files/vsc/VscSymbolMethod'; -import { VscSymbolVariable } from '@react-icons/all-files/vsc/VscSymbolVariable'; -import type { PropsWithChildren } from 'react'; -import { SourceLink } from './SourceLink'; - -function generateIcon(kind: ApiItemKind) { - switch (kind) { - case ApiItemKind.Class: - return ; - case ApiItemKind.Function: - case ApiItemKind.Method: - return ; - case ApiItemKind.Enum: - return ; - case ApiItemKind.Interface: - return ; - case ApiItemKind.TypeAlias: - case ApiItemKind.Variable: - return ; - default: - return ; - } -} - -export function Header({ - kind, - name, - sourceURL, - sourceLine, -}: PropsWithChildren<{ - readonly kind: ApiItemKind; - readonly name: string; - readonly sourceLine?: number | undefined; - readonly sourceURL?: string | undefined; -}>) { - return ( -
-

- - {generateIcon(kind)} - {name} - - {sourceURL ? : null} -

-
- ); -} diff --git a/apps/website/src/components/documentation/HierarchyText.tsx b/apps/website/src/components/documentation/HierarchyText.tsx deleted file mode 100644 index 6bf9a5ec7767..000000000000 --- a/apps/website/src/components/documentation/HierarchyText.tsx +++ /dev/null @@ -1,57 +0,0 @@ -import type { ApiClass, ApiInterface, Excerpt } from '@discordjs/api-extractor-model'; -import { ApiItemKind } from '@discordjs/api-extractor-model'; -import { ExcerptText } from '../ExcerptText'; - -export function HierarchyText({ - item, - type, -}: { - readonly item: ApiClass | ApiInterface; - readonly type: 'Extends' | 'Implements'; -}) { - if ( - (item.kind === ApiItemKind.Class && - (item as ApiClass).extendsType === undefined && - (item as ApiClass).implementsTypes.length === 0) || - (item.kind === ApiItemKind.Interface && !(item as ApiInterface).extendsTypes) - ) { - return null; - } - - let excerpts: Excerpt[]; - - if (item.kind === ApiItemKind.Class) { - if (type === 'Implements') { - if ((item as ApiClass).implementsTypes.length === 0) { - return null; - } - - excerpts = (item as ApiClass).implementsTypes.map((typeExcerpt) => typeExcerpt.excerpt); - } else { - if (!(item as ApiClass).extendsType) { - return null; - } - - excerpts = [(item as ApiClass).extendsType!.excerpt]; - } - } else { - if ((item as ApiInterface).extendsTypes.length === 0) { - return null; - } - - excerpts = (item as ApiInterface).extendsTypes.map((typeExcerpt) => typeExcerpt.excerpt); - } - - return ( -
- {excerpts.map((excerpt, idx) => ( -
-

{type}

- - - -
- ))} -
- ); -} diff --git a/apps/website/src/components/documentation/Members.tsx b/apps/website/src/components/documentation/Members.tsx deleted file mode 100644 index 64a69a4028c6..000000000000 --- a/apps/website/src/components/documentation/Members.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import type { ApiDeclaredItem, ApiItemContainerMixin } from '@discordjs/api-extractor-model'; -import { EventsSection } from './section/EventsSection'; -import { MethodsSection } from './section/MethodsSection'; -import { PropertiesSection } from './section/PropertiesSection'; -import { hasEvents, hasProperties, hasMethods } from './util'; - -export function Members({ item }: { readonly item: ApiDeclaredItem & ApiItemContainerMixin }) { - return ( - <> - {hasEvents(item) ? : null} - {hasProperties(item) ? : null} - {hasMethods(item) ? : null} - - ); -} diff --git a/apps/website/src/components/documentation/ObjectHeader.tsx b/apps/website/src/components/documentation/ObjectHeader.tsx deleted file mode 100644 index 198e54ac252e..000000000000 --- a/apps/website/src/components/documentation/ObjectHeader.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import type { ApiDeclaredItem } from '@discordjs/api-extractor-model'; -import { SyntaxHighlighter } from '../SyntaxHighlighter'; -import { Header } from './Header'; -import { SummarySection } from './section/SummarySection'; - -export interface ObjectHeaderProps { - readonly item: ApiDeclaredItem; -} - -export function ObjectHeader({ item }: ObjectHeaderProps) { - return ( - <> -
- {/* @ts-expect-error async component */} - - - - ); -} diff --git a/apps/website/src/components/documentation/SourceLink.tsx b/apps/website/src/components/documentation/SourceLink.tsx deleted file mode 100644 index 9ecc9115e67e..000000000000 --- a/apps/website/src/components/documentation/SourceLink.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import { VscFileCode } from '@react-icons/all-files/vsc/VscFileCode'; - -export function SourceLink({ - className, - sourceURL, - sourceLine, -}: { - readonly className?: string | undefined; - readonly sourceLine?: number | undefined; - readonly sourceURL?: string | undefined; -}) { - return ( - - - - ); -} diff --git a/apps/website/src/components/documentation/section/ConstructorSection.tsx b/apps/website/src/components/documentation/section/ConstructorSection.tsx deleted file mode 100644 index c06d9e7caf4a..000000000000 --- a/apps/website/src/components/documentation/section/ConstructorSection.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import type { ApiConstructor } from '@discordjs/api-extractor-model'; -import { VscSymbolMethod } from '@react-icons/all-files/vsc/VscSymbolMethod'; -import { CodeHeading } from '~/components/CodeHeading'; -import { ParameterTable } from '../../ParameterTable'; -import { TSDoc } from '../tsdoc/TSDoc'; -import { parametersString } from '../util'; -import { DocumentationSection } from './DocumentationSection'; - -export function ConstructorSection({ item }: { readonly item: ApiConstructor }) { - return ( - } padded title="Constructor"> -
- {`constructor(${parametersString(item)})`} - {item.tsdocComment ? : null} - -
-
- ); -} diff --git a/apps/website/src/components/documentation/section/DocumentationSection.tsx b/apps/website/src/components/documentation/section/DocumentationSection.tsx deleted file mode 100644 index e56bd389bd37..000000000000 --- a/apps/website/src/components/documentation/section/DocumentationSection.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import type { SectionOptions } from '@discordjs/ui'; -import type { PropsWithChildren } from 'react'; -import { Section } from '../../Section'; - -export function DocumentationSection(opts: PropsWithChildren) { - const { children, separator, ...props } = opts; - - return ( -
- {children} - {separator ?
: null} -
- ); -} diff --git a/apps/website/src/components/documentation/section/EventsSection.tsx b/apps/website/src/components/documentation/section/EventsSection.tsx deleted file mode 100644 index a91164c4eb21..000000000000 --- a/apps/website/src/components/documentation/section/EventsSection.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import { - ApiItemKind, - type ApiEvent, - type ApiItem, - type ApiItemContainerMixin, - type ApiDeclaredItem, -} from '@discordjs/api-extractor-model'; -import { VscSymbolEvent } from '@react-icons/all-files/vsc/VscSymbolEvent'; -import { Fragment, useMemo } from 'react'; -import { Event } from '~/components/model/Event'; -import { resolveMembers } from '~/util/members'; -import { DocumentationSection } from './DocumentationSection'; - -function isEventLike(item: ApiItem): item is ApiEvent { - return item.kind === ApiItemKind.Event; -} - -export function EventsSection({ item }: { readonly item: ApiItemContainerMixin }) { - const members = resolveMembers(item, isEventLike); - - const eventItems = useMemo( - () => - members.map((event, idx) => { - return ( - - -
- - ); - }), - [members], - ); - - return ( - } padded title="Events"> -
{eventItems}
-
- ); -} diff --git a/apps/website/src/components/documentation/section/MethodsSection.tsx b/apps/website/src/components/documentation/section/MethodsSection.tsx deleted file mode 100644 index f68479d45487..000000000000 --- a/apps/website/src/components/documentation/section/MethodsSection.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import type { - ApiDeclaredItem, - ApiItem, - ApiItemContainerMixin, - ApiMethod, - ApiMethodSignature, -} from '@discordjs/api-extractor-model'; -import { ApiItemKind } from '@discordjs/api-extractor-model'; -import { VscSymbolMethod } from '@react-icons/all-files/vsc/VscSymbolMethod'; -import { useMemo, Fragment } from 'react'; -import { resolveMembers } from '~/util/members'; -import { Method } from '../../model/method/Method'; -import { DocumentationSection } from './DocumentationSection'; - -function isMethodLike(item: ApiItem): item is ApiMethod | ApiMethodSignature { - return ( - item.kind === ApiItemKind.Method || - (item.kind === ApiItemKind.MethodSignature && (item as ApiMethod).overloadIndex <= 1) - ); -} - -export function MethodsSection({ item }: { readonly item: ApiItemContainerMixin }) { - const members = resolveMembers(item, isMethodLike); - - const methodItems = useMemo( - () => - members.map(({ item: method, inherited }) => ( - 1 ? `:${(method as ApiMethod).overloadIndex}` : '' - }`} - > - -
- - )), - [members], - ); - - return ( - } padded title="Methods"> -
{methodItems}
-
- ); -} diff --git a/apps/website/src/components/documentation/section/ParametersSection.tsx b/apps/website/src/components/documentation/section/ParametersSection.tsx deleted file mode 100644 index 71f0d38326fb..000000000000 --- a/apps/website/src/components/documentation/section/ParametersSection.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import type { ApiDocumentedItem, ApiParameterListMixin } from '@discordjs/api-extractor-model'; -import { VscSymbolParameter } from '@react-icons/all-files/vsc/VscSymbolParameter'; -import { ParameterTable } from '../../ParameterTable'; -import { DocumentationSection } from './DocumentationSection'; - -export function ParameterSection({ item }: { readonly item: ApiDocumentedItem & ApiParameterListMixin }) { - return ( - } padded title="Parameters"> - - - ); -} diff --git a/apps/website/src/components/documentation/section/PropertiesSection.tsx b/apps/website/src/components/documentation/section/PropertiesSection.tsx deleted file mode 100644 index 999201b97394..000000000000 --- a/apps/website/src/components/documentation/section/PropertiesSection.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import type { ApiItemContainerMixin } from '@discordjs/api-extractor-model'; -import { VscSymbolProperty } from '@react-icons/all-files/vsc/VscSymbolProperty'; -import { PropertyList } from '../../PropertyList'; -import { DocumentationSection } from './DocumentationSection'; - -export function PropertiesSection({ item }: { readonly item: ApiItemContainerMixin }) { - return ( - } padded title="Properties"> - - - ); -} diff --git a/apps/website/src/components/documentation/section/SummarySection.tsx b/apps/website/src/components/documentation/section/SummarySection.tsx deleted file mode 100644 index c47287b6a977..000000000000 --- a/apps/website/src/components/documentation/section/SummarySection.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import type { ApiDeclaredItem } from '@discordjs/api-extractor-model'; -import { VscListSelection } from '@react-icons/all-files/vsc/VscListSelection'; -import { TSDoc } from '../tsdoc/TSDoc'; -import { DocumentationSection } from './DocumentationSection'; - -export function SummarySection({ item }: { readonly item: ApiDeclaredItem }) { - return ( - } padded separator title="Summary"> - {item.tsdocComment?.summarySection ? ( - - ) : ( -

No summary provided.

- )} -
- ); -} diff --git a/apps/website/src/components/documentation/section/TypeParametersSection.tsx b/apps/website/src/components/documentation/section/TypeParametersSection.tsx deleted file mode 100644 index b93246b2313f..000000000000 --- a/apps/website/src/components/documentation/section/TypeParametersSection.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import type { ApiTypeParameterListMixin } from '@discordjs/api-extractor-model'; -import { VscSymbolParameter } from '@react-icons/all-files/vsc/VscSymbolParameter'; -import { TypeParamTable } from '../../TypeParamTable'; -import { DocumentationSection } from './DocumentationSection'; - -export function TypeParameterSection({ item }: { readonly item: ApiTypeParameterListMixin }) { - return ( - } padded title="Type Parameters"> - - - ); -} diff --git a/apps/website/src/components/documentation/section/UnionMembersSection.tsx b/apps/website/src/components/documentation/section/UnionMembersSection.tsx deleted file mode 100644 index 2a736c3de0a5..000000000000 --- a/apps/website/src/components/documentation/section/UnionMembersSection.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import { Excerpt, type ApiTypeAlias, type ExcerptToken } from '@discordjs/api-extractor-model'; -import { VscSymbolArray } from '@react-icons/all-files/vsc/VscSymbolArray'; -import { useMemo } from 'react'; -import { ExcerptText } from '~/components/ExcerptText'; -import { DocumentationSection } from './DocumentationSection'; - -export type UnionMember = readonly ExcerptToken[]; - -export function UnionMembersSection({ - item, - members, -}: { - readonly item: ApiTypeAlias; - readonly members: UnionMember[]; -}) { - const unionMembers = useMemo( - () => - members.map((member, idx) => ( -
- - - -
- )), - [item, members], - ); - - return ( - } padded title="Union Members"> -
{unionMembers}
-
- ); -} diff --git a/apps/website/src/components/documentation/tsdoc/BlockComment.tsx b/apps/website/src/components/documentation/tsdoc/BlockComment.tsx deleted file mode 100644 index 8d2a055112a3..000000000000 --- a/apps/website/src/components/documentation/tsdoc/BlockComment.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import { Alert } from '@discordjs/ui'; -import type { PropsWithChildren } from 'react'; - -export function Block({ children, title }: PropsWithChildren<{ readonly title: string }>) { - return ( -
-
{title}
- {children} -
- ); -} - -export function ExampleBlock({ - children, - exampleIndex, -}: PropsWithChildren<{ - readonly exampleIndex?: number | undefined; -}>): JSX.Element { - return {children}; -} - -export function DefaultValueBlock({ children }: PropsWithChildren): JSX.Element { - return {children}; -} - -export function RemarksBlock({ children }: PropsWithChildren): JSX.Element { - return {children}; -} - -export function DeprecatedBlock({ children }: PropsWithChildren): JSX.Element { - return ( - - {children} - - ); -} - -export function SeeBlock({ children }: PropsWithChildren): JSX.Element { - return {children}; -} - -export function ReturnsBlock({ children }: PropsWithChildren): JSX.Element { - return {children}; -} diff --git a/apps/website/src/components/documentation/tsdoc/TSDoc.tsx b/apps/website/src/components/documentation/tsdoc/TSDoc.tsx deleted file mode 100644 index 8f5b007a4873..000000000000 --- a/apps/website/src/components/documentation/tsdoc/TSDoc.tsx +++ /dev/null @@ -1,178 +0,0 @@ -import type { ApiItem } from '@discordjs/api-extractor-model'; -import type { DocComment, DocFencedCode, DocLinkTag, DocNode, DocNodeContainer, DocPlainText } from '@microsoft/tsdoc'; -import { DocNodeKind, StandardTags } from '@microsoft/tsdoc'; -import type { Route } from 'next'; -import Link from 'next/link'; -import { Fragment, useCallback, type ReactNode } from 'react'; -import { DocumentationLink } from '~/components/DocumentationLink'; -import { BuiltinDocumentationLinks } from '~/util/builtinDocumentationLinks'; -import { DISCORD_API_TYPES_DOCS_URL } from '~/util/constants'; -import { ItemLink } from '../../ItemLink'; -import { SyntaxHighlighter } from '../../SyntaxHighlighter'; -import { resolveCanonicalReference, resolveItemURI } from '../util'; -import { DefaultValueBlock, DeprecatedBlock, ExampleBlock, RemarksBlock, ReturnsBlock, SeeBlock } from './BlockComment'; - -export function TSDoc({ item, tsdoc }: { readonly item: ApiItem; readonly tsdoc: DocNode }): JSX.Element { - const createNode = useCallback( - (tsdoc: DocNode, idx?: number): ReactNode => { - switch (tsdoc.kind) { - case DocNodeKind.PlainText: - return ( - - {(tsdoc as DocPlainText).text} - - ); - case DocNodeKind.Section: - case DocNodeKind.Paragraph: - return ( -
- {(tsdoc as DocNodeContainer).nodes.map((node, idx) => createNode(node, idx))} -
- ); - case DocNodeKind.SoftBreak: - return ; - case DocNodeKind.LinkTag: { - const { codeDestination, urlDestination, linkText } = tsdoc as DocLinkTag; - if (codeDestination) { - if ( - !codeDestination.importPath && - !codeDestination.packageName && - codeDestination.memberReferences.length === 1 && - codeDestination.memberReferences[0]!.memberIdentifier && - codeDestination.memberReferences[0]!.memberIdentifier.identifier in BuiltinDocumentationLinks - ) { - const typeName = codeDestination.memberReferences[0]!.memberIdentifier.identifier; - const href = BuiltinDocumentationLinks[typeName as keyof typeof BuiltinDocumentationLinks]; - return ( - - {typeName} - - ); - } - - const declarationReference = item.getAssociatedModel()?.resolveDeclarationReference(codeDestination, item); - const foundItem = declarationReference?.resolvedApiItem; - const resolved = resolveCanonicalReference(codeDestination, item.getAssociatedPackage()); - - if (!foundItem && !resolved) return null; - - if (resolved && resolved.package === 'discord-api-types') { - const { displayName, kind, members, containerKey } = resolved.item; - let href = DISCORD_API_TYPES_DOCS_URL; - - // dapi-types doesn't have routes for class members - // so we can assume this member is for an enum - if (kind === 'enum' && members?.[0]) { - href += `/enum/${displayName}#${members[0].displayName}`; - } else if (kind === 'type' || kind === 'var') { - href += `#${displayName}`; - } else { - href += `/${kind}/${displayName}`; - } - - return ( - - {displayName} - {members?.map((member) => `.${member.displayName}`).join('') ?? ''} - - ); - } - - return ( - - {linkText ?? foundItem?.displayName ?? resolved!.item.displayName} - - ); - } - - if (urlDestination) { - return ( - - {linkText ?? urlDestination} - - ); - } - - return null; - } - - case DocNodeKind.CodeSpan: { - const { code } = tsdoc as DocFencedCode; - return ( - - {code} - - ); - } - - case DocNodeKind.FencedCode: { - const { language, code } = tsdoc as DocFencedCode; - // @ts-expect-error async component - return ; - } - - case DocNodeKind.Comment: { - const comment = tsdoc as DocComment; - - const exampleBlocks = comment.customBlocks.filter( - (block) => block.blockTag.tagName.toUpperCase() === StandardTags.example.tagNameWithUpperCase, - ); - - const defaultValueBlock = comment.customBlocks.find( - (block) => block.blockTag.tagName.toUpperCase() === StandardTags.defaultValue.tagNameWithUpperCase, - ); - - return ( -
- {comment.deprecatedBlock ? ( - {createNode(comment.deprecatedBlock.content)} - ) : null} - {comment.summarySection ? createNode(comment.summarySection) : null} - {comment.remarksBlock ? {createNode(comment.remarksBlock.content)} : null} - {defaultValueBlock ? ( - {createNode(defaultValueBlock.content)} - ) : null} - {comment.returnsBlock ? {createNode(comment.returnsBlock.content)} : null} - {exampleBlocks.length - ? exampleBlocks.map((block, idx) => {createNode(block.content)}) - : null} - {comment.seeBlocks.length ? ( - {comment.seeBlocks.map((seeBlock, idx) => createNode(seeBlock.content, idx))} - ) : null} -
- ); - } - - default: - // console.log(`Captured unknown node kind: ${node.kind}`); - return null; - } - }, - [item], - ); - - return ( - <> - {tsdoc.kind === 'Paragraph' || tsdoc.kind === 'Section' ? ( - <>{(tsdoc as DocNodeContainer).nodes.map((node, idx) => createNode(node, idx))} - ) : ( - createNode(tsdoc) - )} - - ); -} diff --git a/apps/website/src/components/documentation/util.ts b/apps/website/src/components/documentation/util.ts deleted file mode 100644 index 165972f2dfb6..000000000000 --- a/apps/website/src/components/documentation/util.ts +++ /dev/null @@ -1,173 +0,0 @@ -import { ApiItemKind, Meaning } from '@discordjs/api-extractor-model'; -import type { - ApiItem, - ApiItemContainerMixin, - ApiMethod, - ApiMethodSignature, - ApiProperty, - ApiPropertySignature, - ApiDocumentedItem, - ApiParameterListMixin, - ApiEvent, - ApiPackage, -} from '@discordjs/api-extractor-model'; -import type { DocDeclarationReference } from '@microsoft/tsdoc'; -import { SelectorKind } from '@microsoft/tsdoc'; -import type { DeclarationReference } from '@microsoft/tsdoc/lib-commonjs/beta/DeclarationReference'; -import { METHOD_SEPARATOR, OVERLOAD_SEPARATOR } from '~/util/constants'; -import { resolveMembers } from '~/util/members'; -import { resolveParameters } from '~/util/model'; -import type { TableOfContentsSerialized } from '../TableOfContentItems'; - -export interface ApiItemLike { - containerKey?: string; - displayName: string; - kind: string; - members?: readonly ApiItemLike[]; - parent?: ApiItemLike | undefined; -} - -interface ResolvedCanonicalReference { - item: ApiItemLike; - package: string | undefined; - version: string | undefined; -} - -const kindToMeaning = new Map([ - [ApiItemKind.CallSignature, Meaning.CallSignature], - [ApiItemKind.Class, Meaning.Class], - [ApiItemKind.ConstructSignature, Meaning.ConstructSignature], - [ApiItemKind.Constructor, Meaning.Constructor], - [ApiItemKind.Enum, Meaning.Enum], - [ApiItemKind.Event, Meaning.Event], - [ApiItemKind.Function, Meaning.Function], - [ApiItemKind.IndexSignature, Meaning.IndexSignature], - [ApiItemKind.Interface, Meaning.Interface], - [ApiItemKind.Property, Meaning.Member], - [ApiItemKind.Namespace, Meaning.Namespace], - [ApiItemKind.None, Meaning.ComplexType], - [ApiItemKind.TypeAlias, Meaning.TypeAlias], - [ApiItemKind.Variable, Meaning.Variable], -]); - -export function hasProperties(item: ApiItemContainerMixin) { - return resolveMembers(item, memberPredicate).some( - ({ item: member }) => member.kind === ApiItemKind.Property || member.kind === ApiItemKind.PropertySignature, - ); -} - -export function hasMethods(item: ApiItemContainerMixin) { - return resolveMembers(item, memberPredicate).some( - ({ item: member }) => member.kind === ApiItemKind.Method || member.kind === ApiItemKind.MethodSignature, - ); -} - -export function hasEvents(item: ApiItemContainerMixin) { - return resolveMembers(item, memberPredicate).some(({ item: member }) => member.kind === ApiItemKind.Event); -} - -export function resolveItemURI(item: ApiItemLike): string { - return !item.parent || item.parent.kind === ApiItemKind.EntryPoint - ? `${item.displayName}${OVERLOAD_SEPARATOR}${item.kind}` - : `${item.parent.displayName}${OVERLOAD_SEPARATOR}${item.parent.kind}${METHOD_SEPARATOR}${item.displayName}`; -} - -export function resolveCanonicalReference( - canonicalReference: DeclarationReference | DocDeclarationReference, - apiPackage: ApiPackage | undefined, -): ResolvedCanonicalReference | null { - if ( - 'source' in canonicalReference && - canonicalReference.source && - 'packageName' in canonicalReference.source && - canonicalReference.symbol?.componentPath && - canonicalReference.symbol.meaning - ) - return { - package: canonicalReference.source.unscopedPackageName, - item: { - kind: mapMeaningToKind(canonicalReference.symbol.meaning as unknown as Meaning), - displayName: canonicalReference.symbol.componentPath.component.toString(), - containerKey: `|${ - canonicalReference.symbol.meaning - }|${canonicalReference.symbol.componentPath.component.toString()}`, - }, - // eslint-disable-next-line unicorn/better-regex - version: apiPackage?.dependencies?.[canonicalReference.source.packageName]?.replace(/[~^]/, ''), - }; - else if ( - 'memberReferences' in canonicalReference && - canonicalReference.memberReferences.length && - canonicalReference.memberReferences[0]?.memberIdentifier && - canonicalReference.memberReferences[0]?.selector?.selectorKind === SelectorKind.System - ) { - const member = canonicalReference.memberReferences[0]!; - return { - package: canonicalReference.packageName?.replace('@discordjs/', ''), - item: { - kind: member.selector!.selector, - displayName: member.memberIdentifier!.identifier, - containerKey: `|${member.selector!.selector}|${member.memberIdentifier!.identifier}`, - members: canonicalReference.memberReferences - .slice(1) - .map((member) => ({ kind: member.kind, displayName: member.memberIdentifier!.identifier! })), - }, - // eslint-disable-next-line unicorn/better-regex - version: apiPackage?.dependencies?.[canonicalReference.packageName ?? '']?.replace(/[~^]/, ''), - }; - } - - return null; -} - -export function mapMeaningToKind(meaning: Meaning): ApiItemKind { - return [...kindToMeaning.entries()].find((mapping) => mapping[1] === meaning)?.[0] ?? ApiItemKind.None; -} - -export function mapKindToMeaning(kind: ApiItemKind): Meaning { - return kindToMeaning.get(kind) ?? Meaning.Variable; -} - -export function memberPredicate( - item: ApiItem, -): item is ApiEvent | ApiMethod | ApiMethodSignature | ApiProperty | ApiPropertySignature { - return ( - item.kind === ApiItemKind.Property || - item.kind === ApiItemKind.PropertySignature || - item.kind === ApiItemKind.Method || - item.kind === ApiItemKind.MethodSignature || - item.kind === ApiItemKind.Event - ); -} - -export function serializeMembers(clazz: ApiItemContainerMixin): TableOfContentsSerialized[] { - return resolveMembers(clazz, memberPredicate).map(({ item: member }) => { - if (member.kind === 'Method' || member.kind === 'MethodSignature') { - return { - kind: member.kind as 'Method' | 'MethodSignature', - name: member.displayName, - overloadIndex: (member as ApiMethod | ApiMethodSignature).overloadIndex, - }; - } else if (member.kind === 'Event') { - return { - kind: member.kind as 'Event', - name: member.displayName, - }; - } else { - return { - kind: member.kind as 'Property' | 'PropertySignature', - name: member.displayName, - }; - } - }); -} - -export function parametersString(item: ApiDocumentedItem & ApiParameterListMixin) { - return resolveParameters(item).reduce((prev, cur, index) => { - if (index === 0) { - return `${prev}${cur.isRest ? '...' : ''}${cur.isOptional ? `${cur.name}?` : cur.name}`; - } - - return `${prev}, ${cur.isRest ? '...' : ''}${cur.isOptional ? `${cur.name}?` : cur.name}`; - }, ''); -} diff --git a/apps/website/src/components/model/Class.tsx b/apps/website/src/components/model/Class.tsx deleted file mode 100644 index af293ccd376f..000000000000 --- a/apps/website/src/components/model/Class.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import type { ApiClass, ApiConstructor } from '@discordjs/api-extractor-model'; -import { ApiItemKind } from '@discordjs/api-extractor-model'; -import { Badges } from '../Badges'; -import { Documentation } from '../documentation/Documentation'; -import { HierarchyText } from '../documentation/HierarchyText'; -import { Members } from '../documentation/Members'; -import { ObjectHeader } from '../documentation/ObjectHeader'; -import { ConstructorSection } from '../documentation/section/ConstructorSection'; -import { TypeParameterSection } from '../documentation/section/TypeParametersSection'; -import { serializeMembers } from '../documentation/util'; -import { OutlineSetter } from './OutlineSetter'; - -export function Class({ clazz }: { readonly clazz: ApiClass }) { - const constructor = clazz.members.find((member) => member.kind === ApiItemKind.Constructor) as - | ApiConstructor - | undefined; - - const outlineMembers = serializeMembers(clazz); - - return ( - - - - - - {clazz.typeParameters.length ? : null} - {constructor ? : null} - - - - ); -} diff --git a/apps/website/src/components/model/Event.tsx b/apps/website/src/components/model/Event.tsx deleted file mode 100644 index 8fed2da56cb2..000000000000 --- a/apps/website/src/components/model/Event.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import type { ApiDeclaredItem, ApiItemContainerMixin, ApiEvent } from '@discordjs/api-extractor-model'; -import { Badges } from '../Badges'; -import { CodeHeading } from '../CodeHeading'; -import { InheritanceText } from '../InheritanceText'; -import { ParameterTable } from '../ParameterTable'; -import { TSDoc } from '../documentation/tsdoc/TSDoc'; - -export function Event({ - item, - inheritedFrom, -}: { - readonly inheritedFrom?: (ApiDeclaredItem & ApiItemContainerMixin) | undefined; - readonly item: ApiEvent; -}) { - const hasSummary = Boolean(item.tsdocComment?.summarySection); - - return ( -
-
- - - {item.name} - -
- {hasSummary || inheritedFrom ? ( -
- {item.tsdocComment ? : null} - {item.parameters.length ? : null} - {inheritedFrom ? : null} -
- ) : null} -
- ); -} diff --git a/apps/website/src/components/model/Interface.tsx b/apps/website/src/components/model/Interface.tsx deleted file mode 100644 index d981487405ac..000000000000 --- a/apps/website/src/components/model/Interface.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import type { ApiInterface } from '@discordjs/api-extractor-model'; -import { Documentation } from '../documentation/Documentation'; -import { HierarchyText } from '../documentation/HierarchyText'; -import { Members } from '../documentation/Members'; -import { ObjectHeader } from '../documentation/ObjectHeader'; -import { TypeParameterSection } from '../documentation/section/TypeParametersSection'; -import { serializeMembers } from '../documentation/util'; -import { OutlineSetter } from './OutlineSetter'; - -export function Interface({ item }: { readonly item: ApiInterface }) { - const outlineMembers = serializeMembers(item); - - return ( - - - - {item.typeParameters.length ? : null} - - - - ); -} diff --git a/apps/website/src/components/model/OutlineSetter.tsx b/apps/website/src/components/model/OutlineSetter.tsx deleted file mode 100644 index d07aaa127237..000000000000 --- a/apps/website/src/components/model/OutlineSetter.tsx +++ /dev/null @@ -1,19 +0,0 @@ -'use client'; - -import { useEffect, type PropsWithChildren } from 'react'; -import { useOutline } from '~/contexts/outline'; -import type { TableOfContentsSerialized } from '../TableOfContentItems'; - -export function OutlineSetter({ members }: PropsWithChildren<{ readonly members: TableOfContentsSerialized[] }>) { - const { setMembers } = useOutline(); - - useEffect(() => { - setMembers(members); - - return () => { - setMembers(null); - }; - }, [members, setMembers]); - - return null; -} diff --git a/apps/website/src/components/model/TypeAlias.tsx b/apps/website/src/components/model/TypeAlias.tsx deleted file mode 100644 index d15f861b4a52..000000000000 --- a/apps/website/src/components/model/TypeAlias.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import { ExcerptTokenKind, type ApiTypeAlias, ExcerptToken } from '@discordjs/api-extractor-model'; -import { useMemo } from 'react'; -import { SyntaxHighlighter } from '../SyntaxHighlighter'; -import { Documentation } from '../documentation/Documentation'; -import { Header } from '../documentation/Header'; -import { SummarySection } from '../documentation/section/SummarySection'; -import { UnionMembersSection } from '../documentation/section/UnionMembersSection'; - -export function TypeAlias({ item }: { readonly item: ApiTypeAlias }) { - const union = useMemo(() => { - const union: ExcerptToken[][] = []; - let currentUnionMember: ExcerptToken[] = []; - let depth = 0; - for (const token of item.typeExcerpt.spannedTokens) { - if (token.text.includes('?')) { - return [item.typeExcerpt.spannedTokens]; - } - - depth += token.text.split('<').length - token.text.split('>').length; - - if (token.text.trim() === '|' && depth === 0) { - if (currentUnionMember.length) { - union.push(currentUnionMember); - currentUnionMember = []; - } - } else if (depth === 0 && token.kind === ExcerptTokenKind.Content && token.text.includes('|')) { - for (const [idx, tokenpart] of token.text.split('|').entries()) { - if (currentUnionMember.length && depth === 0 && idx === 0) { - currentUnionMember.push(new ExcerptToken(ExcerptTokenKind.Content, tokenpart)); - union.push(currentUnionMember); - currentUnionMember = []; - } else if (currentUnionMember.length && depth === 0) { - union.push(currentUnionMember); - currentUnionMember = [new ExcerptToken(ExcerptTokenKind.Content, tokenpart)]; - } else if (tokenpart.length) { - currentUnionMember.push(new ExcerptToken(ExcerptTokenKind.Content, tokenpart)); - } - } - } else { - currentUnionMember.push(token); - } - } - - if (currentUnionMember.length) { - union.push(currentUnionMember); - } - - return union; - }, [item]); - - return ( - -
- {/* @ts-expect-error async component */} - - - {union.length ? : null} - - ); -} diff --git a/apps/website/src/components/model/Variable.tsx b/apps/website/src/components/model/Variable.tsx deleted file mode 100644 index 7a260ad74b10..000000000000 --- a/apps/website/src/components/model/Variable.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import type { ApiVariable } from '@discordjs/api-extractor-model'; -import { Documentation } from '../documentation/Documentation'; -import { ObjectHeader } from '../documentation/ObjectHeader'; - -export function Variable({ item }: { readonly item: ApiVariable }) { - return ( - - - - ); -} diff --git a/apps/website/src/components/model/enum/Enum.tsx b/apps/website/src/components/model/enum/Enum.tsx deleted file mode 100644 index 32240fa7f2da..000000000000 --- a/apps/website/src/components/model/enum/Enum.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import type { ApiEnum } from '@discordjs/api-extractor-model'; -import { VscSymbolEnum } from '@react-icons/all-files/vsc/VscSymbolEnum'; -import { Panel } from '../../Panel'; -import { Documentation } from '../../documentation/Documentation'; -import { ObjectHeader } from '../../documentation/ObjectHeader'; -import { DocumentationSection } from '../../documentation/section/DocumentationSection'; -import { EnumMember } from './EnumMember'; - -export function Enum({ item }: { readonly item: ApiEnum }) { - return ( - - - } padded title="Members"> -
- {item.members.map((member, idx) => ( - - - - ))} -
-
-
- ); -} diff --git a/apps/website/src/components/model/enum/EnumMember.tsx b/apps/website/src/components/model/enum/EnumMember.tsx deleted file mode 100644 index 21bb67defac7..000000000000 --- a/apps/website/src/components/model/enum/EnumMember.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import type { ApiEnumMember } from '@discordjs/api-extractor-model'; -import { CodeHeading } from '~/components/CodeHeading'; -import { SignatureText } from '../../SignatureText'; -import { TSDoc } from '../../documentation/tsdoc/TSDoc'; - -export function EnumMember({ member }: { readonly member: ApiEnumMember }) { - return ( -
- - {member.name} - = - {member.initializerExcerpt ? ( - - ) : null} - - {member.tsdocComment ? : null} -
- ); -} diff --git a/apps/website/src/components/model/function/Function.tsx b/apps/website/src/components/model/function/Function.tsx deleted file mode 100644 index 7edaaef4ca61..000000000000 --- a/apps/website/src/components/model/function/Function.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import type { ApiFunction } from '@discordjs/api-extractor-model'; -import dynamic from 'next/dynamic'; -import { Documentation } from '~/components/documentation/Documentation'; -import { ObjectHeader } from '~/components/documentation/ObjectHeader'; -import { FunctionBody } from './FunctionBody'; - -const OverloadSwitcher = dynamic(async () => import('../../OverloadSwitcher')); - -export function Function({ item }: { readonly item: ApiFunction }) { - if (item.getMergedSiblings().length > 1) { - const overloads = item.getMergedSiblings().map((sibling, idx) => ( - - - - - )); - - return ; - } - - return ( - - - - - ); -} diff --git a/apps/website/src/components/model/function/FunctionBody.tsx b/apps/website/src/components/model/function/FunctionBody.tsx deleted file mode 100644 index 4b809da0301b..000000000000 --- a/apps/website/src/components/model/function/FunctionBody.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import type { ApiFunction } from '@discordjs/api-extractor-model'; -import { ParameterSection } from '../../documentation/section/ParametersSection'; -import { TypeParameterSection } from '../../documentation/section/TypeParametersSection'; - -export interface FunctionBodyProps { - mergedSiblingCount: number; - overloadDocumentation: React.ReactNode[]; -} - -export function FunctionBody({ item }: { readonly item: ApiFunction }) { - return ( - <> - {item.typeParameters.length ? : null} - {item.parameters.length ? : null} - - ); -} diff --git a/apps/website/src/components/model/method/Method.tsx b/apps/website/src/components/model/method/Method.tsx deleted file mode 100644 index c42158403b09..000000000000 --- a/apps/website/src/components/model/method/Method.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import { - ApiItemKind, - type ApiDeclaredItem, - type ApiItemContainerMixin, - type ApiMethod, - type ApiMethodSignature, -} from '@discordjs/api-extractor-model'; -import dynamic from 'next/dynamic'; -import { Fragment } from 'react'; -import { MethodDocumentation } from './MethodDocumentation'; -import { MethodHeader } from './MethodHeader'; - -const OverloadSwitcher = dynamic(async () => import('../../OverloadSwitcher')); - -export function Method({ - method, - inheritedFrom, -}: { - readonly inheritedFrom?: (ApiDeclaredItem & ApiItemContainerMixin) | undefined; - readonly method: ApiMethod | ApiMethodSignature; -}) { - if ( - method - .getMergedSiblings() - .filter((sibling) => sibling.kind === ApiItemKind.Method || sibling.kind === ApiItemKind.MethodSignature).length > - 1 - ) { - // We have overloads, use the overload switcher, but render - // each overload node on the server. - const overloads = method - .getMergedSiblings() - .filter((sibling) => sibling.kind === ApiItemKind.Method || sibling.kind === ApiItemKind.MethodSignature) - .map((sibling, idx) => ( - - - - - )); - - return ; - } - - // We have just a single method, render it on the server. - return ( - <> - - - - ); -} diff --git a/apps/website/src/components/model/method/MethodDocumentation.tsx b/apps/website/src/components/model/method/MethodDocumentation.tsx deleted file mode 100644 index b64f68417637..000000000000 --- a/apps/website/src/components/model/method/MethodDocumentation.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import { - ApiItemKind, - type ApiDeclaredItem, - type ApiItemContainerMixin, - type ApiMethod, - type ApiMethodSignature, -} from '@discordjs/api-extractor-model'; -import { ParameterSection } from '~/components/documentation/section/ParametersSection'; -import { TypeParameterSection } from '~/components/documentation/section/TypeParametersSection'; -import { InheritanceText } from '../../InheritanceText'; -import { TSDoc } from '../../documentation/tsdoc/TSDoc'; - -export interface MethodDocumentationProps { - readonly inheritedFrom?: (ApiDeclaredItem & ApiItemContainerMixin) | undefined; - readonly method: ApiMethod | ApiMethodSignature; -} - -export function MethodDocumentation({ method, inheritedFrom }: MethodDocumentationProps) { - const parent = method.parent as ApiDeclaredItem; - const firstOverload = method - .getMergedSiblings() - .find( - (meth): meth is ApiMethod => meth.kind === ApiItemKind.Method && (meth as ApiMethod).overloadIndex === 1, - )?.tsdocComment; - - if (!(method.tsdocComment?.summarySection || firstOverload?.summarySection || method.parameters.length > 0)) { - return null; - } - - return ( -
- {method.tsdocComment || firstOverload ? ( - - ) : null} - {method.typeParameters.length ? : null} - {method.parameters.length ? : null} - {inheritedFrom && parent ? : null} -
- ); -} diff --git a/apps/website/src/components/model/method/MethodHeader.tsx b/apps/website/src/components/model/method/MethodHeader.tsx deleted file mode 100644 index 973773cc0f7a..000000000000 --- a/apps/website/src/components/model/method/MethodHeader.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import type { ApiMethod, ApiMethodSignature } from '@discordjs/api-extractor-model'; -import { useMemo } from 'react'; -import { Badges } from '~/components/Badges'; -import { CodeHeading } from '~/components/CodeHeading'; -import { ExcerptText } from '~/components/ExcerptText'; -import { parametersString } from '~/components/documentation/util'; - -export function MethodHeader({ method }: { readonly method: ApiMethod | ApiMethodSignature }) { - const key = useMemo( - () => `${method.displayName}${method.overloadIndex && method.overloadIndex > 1 ? `:${method.overloadIndex}` : ''}`, - [method.displayName, method.overloadIndex], - ); - - return ( -
-
- - - {`${method.name}(${parametersString(method)})`} - : - - -
-
- ); -} diff --git a/apps/website/src/components/ui/Alert.tsx b/apps/website/src/components/ui/Alert.tsx new file mode 100644 index 000000000000..276d21368e85 --- /dev/null +++ b/apps/website/src/components/ui/Alert.tsx @@ -0,0 +1,67 @@ +import { VscFlame } from '@react-icons/all-files/vsc/VscFlame'; +import { VscInfo } from '@react-icons/all-files/vsc/VscInfo'; +import { VscWarning } from '@react-icons/all-files/vsc/VscWarning'; +import type { PropsWithChildren } from 'react'; + +interface IAlert { + readonly title?: string | undefined; + readonly type: 'danger' | 'info' | 'success' | 'warning'; +} + +function resolveType(type: IAlert['type']) { + switch (type) { + case 'danger': { + return { + text: 'text-red-500', + border: 'border-red-500', + icon: , + }; + } + + case 'info': { + return { + text: 'text-blue-500', + border: 'border-blue-500', + icon: , + }; + } + + case 'success': { + return { + text: 'text-green-500', + border: 'border-green-500', + icon: , + }; + } + + case 'warning': { + return { + text: 'text-yellow-500', + border: 'border-yellow-500', + icon: , + }; + } + } +} + +export async function Alert({ title, type, children }: PropsWithChildren) { + const { text, border, icon } = resolveType(type); + + return ( +
+
+
{children}
+
+
+
+
+ {icon} + {title ? {title} : null} +
+
+
+
+
+
+ ); +} diff --git a/apps/website/src/components/ui/Button.tsx b/apps/website/src/components/ui/Button.tsx new file mode 100644 index 000000000000..f469c6a53ef2 --- /dev/null +++ b/apps/website/src/components/ui/Button.tsx @@ -0,0 +1,3 @@ +'use client'; + +export { Button } from 'react-aria-components'; diff --git a/apps/website/src/components/ui/CmdK.tsx b/apps/website/src/components/ui/CmdK.tsx new file mode 100644 index 000000000000..5b5eb48e46a0 --- /dev/null +++ b/apps/website/src/components/ui/CmdK.tsx @@ -0,0 +1,148 @@ +'use client'; + +import { Command } from 'cmdk'; +import { useAtom, useSetAtom } from 'jotai'; +import { ArrowRight } from 'lucide-react'; +import MeiliSearch from 'meilisearch'; +import { usePathname, useRouter } from 'next/navigation'; +import { useEffect, useMemo, useState } from 'react'; +import { useDebounceValue } from 'usehooks-ts'; +import { isCmdKOpenAtom } from '~/stores/cmdk'; +import { isDrawerOpenAtom } from '~/stores/drawer'; +import { resolveKind } from '~/util/resolveNodeKind'; +import { OverlayScrollbarsComponent } from '../OverlayScrollbars'; + +const client = new MeiliSearch({ + host: 'https://search.discordjs.dev', + apiKey: 'b51923c6abb574b1e97be9a03dc6414b6c69fb0c5696d0ef01a82b0f77d223db', +}); + +export function CmdK({ dependencies }: { readonly dependencies: string[] }) { + const pathname = usePathname(); + const router = useRouter(); + const [open, setOpen] = useAtom(isCmdKOpenAtom); + const setDrawerOpen = useSetAtom(isDrawerOpenAtom); + const [search, setSearch] = useDebounceValue('', 250); + const [searchResults, setSearchResults] = useState([]); + + const packageName = useMemo(() => pathname?.split('/').slice(3, 4)[0], [pathname]); + const branchName = useMemo(() => pathname?.split('/').slice(4, 5)[0], [pathname]); + + const searchResultItems = useMemo( + () => + searchResults?.map((item, idx) => ( + { + router.push(item.path); + setOpen(false); + }} + value={item.id} + > + {resolveKind(item.kind)} +
+ {item.name} + {item.summary} + {item.path} +
+ +
+ )) ?? [], + [router, searchResults, setOpen], + ); + + // Toggle the menu when ⌘K is pressed + useEffect(() => { + const down = (event: KeyboardEvent) => { + if (event.key === 'k' && (event.metaKey || event.ctrlKey)) { + event.preventDefault(); + setOpen((open) => !open); + } + }; + + document.addEventListener('keydown', down); + return () => { + document.removeEventListener('keydown', down); + }; + }, [setOpen]); + + useEffect(() => { + if (open) { + setDrawerOpen(false); + setSearch(''); + } + + return () => { + document.body.style.pointerEvents = 'auto'; + }; + }, [open, setDrawerOpen, setSearch]); + + useEffect(() => { + // const searchDoc = async (searchString: string, version: string) => { + // console.log(dependencies); + // const res = await client + // .index(`${packageName?.replaceAll('.', '-')}-${version}`) + // .search(searchString, { limit: 25 }); + // setSearchResults(res.hits); + // }; + + const searchDoc = async (searchString: string, version: string) => { + const result = await client.multiSearch({ + queries: [`${packageName?.replaceAll('.', '-')}-${version}`, ...dependencies].map((dep) => ({ + indexUid: dep, + // eslint-disable-next-line id-length + q: searchString, + limit: 25, + attributesToSearchOn: ['name'], + })), + }); + setSearchResults(result.results.flatMap((res) => res.hits)); + }; + + if (search && packageName) { + void searchDoc(search, branchName?.replaceAll('.', '-') ?? 'main'); + } else { + setSearchResults([]); + } + }, [branchName, dependencies, packageName, search]); + + return ( + + + + + {search && searchResultItems.length ? ( + searchResultItems + ) : ( +
+ No results found. +
+ )} +
+
+
+ ); +} diff --git a/apps/website/src/components/ui/Collapsible.tsx b/apps/website/src/components/ui/Collapsible.tsx new file mode 100644 index 000000000000..5d19873e940c --- /dev/null +++ b/apps/website/src/components/ui/Collapsible.tsx @@ -0,0 +1,3 @@ +'use client'; + +export { Collapsible, CollapsibleTrigger, CollapsibleContent } from '@radix-ui/react-collapsible'; diff --git a/apps/website/src/components/ui/Drawer.tsx b/apps/website/src/components/ui/Drawer.tsx new file mode 100644 index 000000000000..48979e391458 --- /dev/null +++ b/apps/website/src/components/ui/Drawer.tsx @@ -0,0 +1,37 @@ +'use client'; + +import { useAtom } from 'jotai'; +import { ChevronUp } from 'lucide-react'; +import { useEffect, type PropsWithChildren } from 'react'; +import { useMediaQuery } from 'usehooks-ts'; +import { Drawer as Vaul } from 'vaul'; +import { isDrawerOpenAtom } from '~/stores/drawer'; + +export function Drawer({ children }: PropsWithChildren) { + const [open, setOpen] = useAtom(isDrawerOpenAtom); + const isMedium = useMediaQuery('(min-width: 768px)'); + + useEffect(() => { + if (isMedium) { + setOpen(false); + } + }, [isMedium, setOpen]); + + return ( + + + + + + + +
+ {children} + + + + ); +} diff --git a/apps/website/src/components/Footer.tsx b/apps/website/src/components/ui/Footer.tsx similarity index 70% rename from apps/website/src/components/Footer.tsx rename to apps/website/src/components/ui/Footer.tsx index b07ec0494fef..26a79cf0efea 100644 --- a/apps/website/src/components/Footer.tsx +++ b/apps/website/src/components/ui/Footer.tsx @@ -2,13 +2,13 @@ import Image from 'next/image'; import vercelLogo from '~/assets/powered-by-vercel.svg'; import workersLogo from '~/assets/powered-by-workers.png'; -export default function Footer() { +export function Footer() { return (