mirror of
https://github.com/discordjs/discord.js.git
synced 2026-05-27 05:50:08 +00:00
Compare commits
7 Commits
@discordjs
...
fix/core-m
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
943dc19b45 | ||
|
|
1f9affd979 | ||
|
|
339b8b5655 | ||
|
|
9b7ea5a1b7 | ||
|
|
8bcf8c94e9 | ||
|
|
22b820fbf2 | ||
|
|
9ade8dcc71 |
@@ -9,7 +9,7 @@ Before you dive into this section, please note that sharding may not be necessar
|
||||
If your bot is in a total of 2,000 or more servers, then please continue with this guide. Otherwise, it may be a good idea to wait until then.
|
||||
|
||||
<Callout>
|
||||
Sharding is only relevant if you app uses gateway events. For webhook callbacks, this is completely irrelevant!
|
||||
Sharding is only relevant if your app uses gateway events. For webhook callbacks, this is completely irrelevant!
|
||||
</Callout>
|
||||
|
||||
## How does sharding work?
|
||||
|
||||
@@ -3,14 +3,14 @@ title: Updating to v15
|
||||
icon: ArrowDownToLine
|
||||
---
|
||||
|
||||
import { Github } from 'lucide-react';
|
||||
import { GitHubIcon } from '@/components/GitHubIcon.tsx';
|
||||
|
||||
<Callout type="idea">
|
||||
**Version 15 is in a pre-release** state, but should be usable!
|
||||
That being said, we do not recommend you update your production instance without careful and thorough testing!
|
||||
Please report any bugs you experience at our GitHub repository:
|
||||
|
||||
<Github className="inline text-red-400"/> https://github.com/discordjs/discord.js/issues
|
||||
<GitHubIcon className="inline text-red-400"/> https://github.com/discordjs/discord.js/issues
|
||||
|
||||
</Callout>
|
||||
|
||||
|
||||
@@ -48,18 +48,18 @@
|
||||
"homepage": "https://discord.js.org",
|
||||
"funding": "https://github.com/discordjs/discord.js?sponsor",
|
||||
"dependencies": {
|
||||
"@opennextjs/cloudflare": "^1.16.5",
|
||||
"@vercel/analytics": "^1.6.1",
|
||||
"fumadocs-core": "^16.6.3",
|
||||
"fumadocs-mdx": "^14.2.7",
|
||||
"fumadocs-twoslash": "^3.1.13",
|
||||
"fumadocs-ui": "^16.6.3",
|
||||
"@opennextjs/cloudflare": "^1.18.0",
|
||||
"@vercel/analytics": "^2.0.1",
|
||||
"fumadocs-core": "^16.7.7",
|
||||
"fumadocs-mdx": "^14.2.11",
|
||||
"fumadocs-twoslash": "^3.1.14",
|
||||
"fumadocs-ui": "^16.7.7",
|
||||
"geist": "^1.7.0",
|
||||
"lucide-react": "^0.559.0",
|
||||
"mermaid": "^11.12.3",
|
||||
"next": "^16.1.6",
|
||||
"lucide-react": "^1.7.0",
|
||||
"mermaid": "^11.13.0",
|
||||
"next": "^16.2.1",
|
||||
"next-themes": "^0.4.6",
|
||||
"p-retry": "^7.1.1",
|
||||
"p-retry": "^8.0.0",
|
||||
"react": "^19.2.4",
|
||||
"react-dom": "^19.2.4",
|
||||
"sharp": "^0.34.5",
|
||||
@@ -68,31 +68,31 @@
|
||||
"twoslash": "^0.3.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@shikijs/rehype": "^3.22.0",
|
||||
"@tailwindcss/postcss": "^4.2.0",
|
||||
"@shikijs/rehype": "^4.0.2",
|
||||
"@tailwindcss/postcss": "^4.2.2",
|
||||
"@types/mdx": "^2.0.13",
|
||||
"@types/node": "^24.10.13",
|
||||
"@types/node": "^24.12.0",
|
||||
"@types/react": "^19.2.14",
|
||||
"@types/react-dom": "^19.2.3",
|
||||
"autoprefixer": "^10.4.24",
|
||||
"autoprefixer": "^10.4.27",
|
||||
"babel-plugin-react-compiler": "^1.0.0",
|
||||
"cpy-cli": "^6.0.0",
|
||||
"cpy-cli": "^7.0.0",
|
||||
"cross-env": "^10.1.0",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"git-describe": "^4.1.1",
|
||||
"postcss": "^8.5.6",
|
||||
"postcss": "^8.5.8",
|
||||
"prettier": "^3.8.1",
|
||||
"prettier-plugin-tailwindcss": "^0.7.2",
|
||||
"remark-gfm": "^4.0.1",
|
||||
"remark-rehype": "^11.1.2",
|
||||
"shiki": "^3.22.0",
|
||||
"tailwindcss": "^4.2.0",
|
||||
"turbo": "^2.8.10",
|
||||
"shiki": "^4.0.2",
|
||||
"tailwindcss": "^4.2.2",
|
||||
"turbo": "^2.8.21",
|
||||
"typescript": "~5.9.3",
|
||||
"vercel": "^49.2.0",
|
||||
"wrangler": "^4.67.0"
|
||||
"vercel": "^50.37.3",
|
||||
"wrangler": "^4.78.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22.12.0"
|
||||
|
||||
27
apps/guide/src/components/GitHubIcon.tsx
Normal file
27
apps/guide/src/components/GitHubIcon.tsx
Normal file
@@ -0,0 +1,27 @@
|
||||
import type { ComponentProps } from 'react';
|
||||
|
||||
export function GitHubIcon(props: ComponentProps<'svg'>) {
|
||||
return (
|
||||
<svg
|
||||
aria-hidden
|
||||
fill="none"
|
||||
height={96}
|
||||
viewBox="0 0 98 96"
|
||||
width={98}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...props}
|
||||
>
|
||||
<g clipPath="url(#clip0_730_27126)">
|
||||
<path
|
||||
d="M41.44 69.385C28.807 67.853 19.906 58.762 19.906 46.99c0-4.785 1.723-9.953 4.594-13.398-1.244-3.158-1.053-9.858.383-12.633 3.828-.479 8.996 1.531 12.058 4.307 3.637-1.149 7.465-1.723 12.155-1.723 4.69 0 8.517.574 11.963 1.627 2.966-2.68 8.23-4.69 12.058-4.211 1.34 2.584 1.531 9.283.287 12.537 3.063 3.637 4.69 8.518 4.69 13.494 0 11.772-8.9 20.672-21.725 22.3 3.254 2.104 5.455 6.698 5.455 11.962v9.953c0 2.871 2.393 4.498 5.264 3.35C84.41 87.95 98 70.629 98 49.19 98 22.107 75.988 0 48.904 0 21.82 0 0 22.107 0 49.191c0 21.246 13.494 38.856 31.678 45.46 2.584.956 5.072-.766 5.072-3.35v-7.657c-1.34.575-3.063.958-4.594.958-6.316 0-10.049-3.446-12.728-9.858-1.053-2.584-2.201-4.115-4.403-4.402-1.148-.096-1.53-.574-1.53-1.149 0-1.148 1.913-2.01 3.827-2.01 2.776 0 5.168 1.723 7.657 5.264 1.914 2.776 3.923 4.02 6.316 4.02 2.392 0 3.924-.861 6.125-3.063 1.627-1.627 2.871-3.062 4.02-4.02z"
|
||||
fill="#000"
|
||||
/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_730_27126">
|
||||
<path d="M0 0H98V96H0z" fill="#fff" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
);
|
||||
}
|
||||
@@ -6,7 +6,7 @@ import { Mermaid } from '@/components/mdx/mermaid';
|
||||
|
||||
export function getMDXComponents(components?: MDXComponents): MDXComponents {
|
||||
return {
|
||||
...defaultMdxComponents,
|
||||
...(defaultMdxComponents as MDXComponents),
|
||||
Popup,
|
||||
PopupContent,
|
||||
PopupTrigger,
|
||||
|
||||
@@ -50,16 +50,16 @@
|
||||
"tslib": "^2.8.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^24.10.13",
|
||||
"@types/node": "^24.12.0",
|
||||
"cross-env": "^10.1.0",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-compact": "^9.0.1",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
"terser": "^5.46.0",
|
||||
"terser": "^5.46.1",
|
||||
"tsup": "^8.5.1",
|
||||
"turbo": "^2.8.10",
|
||||
"turbo": "^2.8.21",
|
||||
"typescript": "~5.9.3"
|
||||
},
|
||||
"engines": {
|
||||
|
||||
@@ -51,27 +51,27 @@
|
||||
"homepage": "https://discord.js.org",
|
||||
"funding": "https://github.com/discordjs/discord.js?sponsor",
|
||||
"dependencies": {
|
||||
"@opennextjs/cloudflare": "^1.16.5",
|
||||
"@opennextjs/cloudflare": "^1.18.0",
|
||||
"@radix-ui/react-collapsible": "^1.1.12",
|
||||
"@react-icons/all-files": "^4.1.0",
|
||||
"@tanstack/react-query": "^5.90.21",
|
||||
"@vercel/analytics": "^1.6.1",
|
||||
"@tanstack/react-query": "^5.95.2",
|
||||
"@vercel/analytics": "^2.0.1",
|
||||
"@vercel/postgres": "^0.10.0",
|
||||
"cloudflare": "^5.2.0",
|
||||
"cmdk": "^1.1.1",
|
||||
"cva": "1.0.0-beta.3",
|
||||
"geist": "^1.7.0",
|
||||
"jotai": "^2.18.0",
|
||||
"lucide-react": "^0.559.0",
|
||||
"meilisearch": "^0.54.0",
|
||||
"next": "^16.1.6",
|
||||
"jotai": "^2.19.0",
|
||||
"lucide-react": "^1.7.0",
|
||||
"meilisearch": "^0.56.0",
|
||||
"next": "^16.2.1",
|
||||
"next-themes": "^0.4.6",
|
||||
"nuqs": "^2.8.8",
|
||||
"nuqs": "^2.8.9",
|
||||
"overlayscrollbars": "^2.14.0",
|
||||
"overlayscrollbars-react": "^0.5.6",
|
||||
"react": "^19.2.4",
|
||||
"react-aria": "^3.46.0",
|
||||
"react-aria-components": "^1.15.1",
|
||||
"react-aria": "^3.47.0",
|
||||
"react-aria-components": "^1.16.0",
|
||||
"react-dom": "^19.2.4",
|
||||
"safe-mdx": "^1.3.9",
|
||||
"sharp": "^0.34.5",
|
||||
@@ -80,32 +80,32 @@
|
||||
"usehooks-ts": "^3.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@shikijs/rehype": "^3.22.0",
|
||||
"@tailwindcss/postcss": "^4.2.0",
|
||||
"@shikijs/rehype": "^4.0.2",
|
||||
"@tailwindcss/postcss": "^4.2.2",
|
||||
"@tailwindcss/typography": "^0.5.19",
|
||||
"@types/node": "^24.10.13",
|
||||
"@types/node": "^24.12.0",
|
||||
"@types/react": "^19.2.14",
|
||||
"@types/react-dom": "^19.2.3",
|
||||
"autoprefixer": "^10.4.24",
|
||||
"autoprefixer": "^10.4.27",
|
||||
"babel-plugin-react-compiler": "^1.0.0",
|
||||
"cpy-cli": "^6.0.0",
|
||||
"cpy-cli": "^7.0.0",
|
||||
"cross-env": "^10.1.0",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"git-describe": "^4.1.1",
|
||||
"postcss": "^8.5.6",
|
||||
"postcss": "^8.5.8",
|
||||
"prettier": "^3.8.1",
|
||||
"prettier-plugin-tailwindcss": "^0.7.2",
|
||||
"remark-gfm": "^4.0.1",
|
||||
"remark-rehype": "^11.1.2",
|
||||
"shiki": "^3.22.0",
|
||||
"tailwindcss": "^4.2.0",
|
||||
"shiki": "^4.0.2",
|
||||
"tailwindcss": "^4.2.2",
|
||||
"tailwindcss-react-aria-components": "^2.0.1",
|
||||
"turbo": "^2.8.10",
|
||||
"turbo": "^2.8.21",
|
||||
"typescript": "~5.9.3",
|
||||
"vercel": "^49.2.0",
|
||||
"wrangler": "^4.67.0"
|
||||
"vercel": "^50.37.3",
|
||||
"wrangler": "^4.78.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22.12.0"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
import { Command } from 'cmdk';
|
||||
import { useAtom, useSetAtom } from 'jotai';
|
||||
import { ArrowRight } from 'lucide-react';
|
||||
import MeiliSearch from 'meilisearch';
|
||||
import { MeiliSearch } from 'meilisearch';
|
||||
import dynamic from 'next/dynamic';
|
||||
import { usePathname, useRouter } from 'next/navigation';
|
||||
import { useEffect, useState } from 'react';
|
||||
|
||||
@@ -4,18 +4,35 @@ import type {
|
||||
DynamicImportThemeRegistration,
|
||||
HighlighterGeneric,
|
||||
} from 'shiki/types';
|
||||
import { createSingletonShorthands, createdBundledHighlighter } from 'shiki/core';
|
||||
import { createBundledHighlighter, createSingletonShorthands } from 'shiki/core';
|
||||
import { createJavaScriptRegexEngine } from 'shiki/engine-javascript.mjs';
|
||||
|
||||
type BundledLanguage = 'typescript' | 'ts' | 'javascript' | 'js' | 'shellscript' | 'bash' | 'sh' | 'shell' | 'zsh';
|
||||
type BundledLanguage =
|
||||
| 'typescript'
|
||||
| 'ts'
|
||||
| 'cts'
|
||||
| 'mts'
|
||||
| 'javascript'
|
||||
| 'js'
|
||||
| 'cjs'
|
||||
| 'mjs'
|
||||
| 'shellscript'
|
||||
| 'bash'
|
||||
| 'sh'
|
||||
| 'shell'
|
||||
| 'zsh';
|
||||
type BundledTheme = 'github-light' | 'github-dark-dimmed';
|
||||
type Highlighter = HighlighterGeneric<BundledLanguage, BundledTheme>;
|
||||
|
||||
const bundledLanguages = {
|
||||
typescript: () => import('shiki/langs/typescript.mjs'),
|
||||
ts: () => import('shiki/langs/typescript.mjs'),
|
||||
cts: () => import('shiki/langs/typescript.mjs'),
|
||||
mts: () => import('shiki/langs/typescript.mjs'),
|
||||
javascript: () => import('shiki/langs/javascript.mjs'),
|
||||
js: () => import('shiki/langs/javascript.mjs'),
|
||||
cjs: () => import('shiki/langs/javascript.mjs'),
|
||||
mjs: () => import('shiki/langs/javascript.mjs'),
|
||||
shellscript: () => import('shiki/langs/shellscript.mjs'),
|
||||
bash: () => import('shiki/langs/shellscript.mjs'),
|
||||
sh: () => import('shiki/langs/shellscript.mjs'),
|
||||
@@ -28,7 +45,7 @@ const bundledThemes = {
|
||||
'github-dark-dimmed': () => import('shiki/themes/github-dark-dimmed.mjs'),
|
||||
} as Record<BundledTheme, DynamicImportThemeRegistration>;
|
||||
|
||||
const createHighlighter = /* @__PURE__ */ createdBundledHighlighter<BundledLanguage, BundledTheme>({
|
||||
const createHighlighter = /* @__PURE__ */ createBundledHighlighter<BundledLanguage, BundledTheme>({
|
||||
langs: bundledLanguages,
|
||||
themes: bundledThemes,
|
||||
engine: () => createJavaScriptRegexEngine(),
|
||||
|
||||
24
package.json
24
package.json
@@ -51,33 +51,33 @@
|
||||
"homepage": "https://discord.js.org",
|
||||
"funding": "https://github.com/discordjs/discord.js?sponsor",
|
||||
"devDependencies": {
|
||||
"@commitlint/cli": "^20.4.2",
|
||||
"@commitlint/config-angular": "^20.4.2",
|
||||
"@commitlint/cli": "^20.5.0",
|
||||
"@commitlint/config-angular": "^20.5.0",
|
||||
"@favware/cliff-jumper": "^6.0.0",
|
||||
"@favware/npm-deprecate": "^2.0.0",
|
||||
"@types/lodash.merge": "^4.6.9",
|
||||
"@unocss/eslint-plugin": "^66.6.0",
|
||||
"@vitest/coverage-v8": "^4.0.18",
|
||||
"@unocss/eslint-plugin": "^66.6.7",
|
||||
"@vitest/coverage-v8": "^4.1.2",
|
||||
"conventional-changelog-cli": "^5.0.0",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-import-resolver-typescript": "^4.4.4",
|
||||
"eslint-plugin-react-compiler": "19.1.0-rc.2",
|
||||
"husky": "^9.1.7",
|
||||
"is-ci": "^4.1.0",
|
||||
"lint-staged": "^16.2.7",
|
||||
"lint-staged": "^16.4.0",
|
||||
"lodash.merge": "^4.6.2",
|
||||
"prettier": "^3.8.1",
|
||||
"tsup": "^8.5.1",
|
||||
"turbo": "^2.8.10",
|
||||
"turbo": "^2.8.21",
|
||||
"typescript": "~5.9.3",
|
||||
"typescript-eslint": "^8.56.0",
|
||||
"unocss": "^66.6.0",
|
||||
"vercel": "^49.2.0",
|
||||
"vitest": "^4.0.18"
|
||||
"typescript-eslint": "^8.57.2",
|
||||
"unocss": "^66.6.7",
|
||||
"vercel": "^50.37.3",
|
||||
"vitest": "^4.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22.12.0"
|
||||
},
|
||||
"packageManager": "pnpm@10.30.1"
|
||||
"packageManager": "pnpm@10.33.0"
|
||||
}
|
||||
|
||||
@@ -41,35 +41,35 @@
|
||||
"homepage": "https://discord.js.org",
|
||||
"funding": "https://github.com/discordjs/discord.js?sponsor",
|
||||
"dependencies": {
|
||||
"@actions/core": "^2.0.3",
|
||||
"@actions/github": "^6.0.1",
|
||||
"@actions/glob": "^0.5.1",
|
||||
"@aws-sdk/client-s3": "^3.994.0",
|
||||
"@actions/core": "^3.0.0",
|
||||
"@actions/github": "^9.0.0",
|
||||
"@actions/glob": "^0.6.1",
|
||||
"@aws-sdk/client-s3": "^3.1019.0",
|
||||
"@discordjs/scripts": "workspace:^",
|
||||
"cloudflare": "^5.2.0",
|
||||
"commander": "^14.0.3",
|
||||
"meilisearch": "^0.54.0",
|
||||
"meilisearch": "^0.56.0",
|
||||
"p-limit": "^7.3.0",
|
||||
"p-queue": "^9.1.0",
|
||||
"tslib": "^2.8.1",
|
||||
"undici": "7.22.0"
|
||||
"undici": "7.24.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@npm/types": "^2.1.0",
|
||||
"@types/bun": "^1.3.9",
|
||||
"@types/node": "^24.10.13",
|
||||
"@vitest/coverage-v8": "^4.0.18",
|
||||
"@types/bun": "^1.3.11",
|
||||
"@types/node": "^24.12.0",
|
||||
"@vitest/coverage-v8": "^4.1.2",
|
||||
"cross-env": "^10.1.0",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-compact": "^9.0.1",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
"terser": "^5.46.0",
|
||||
"terser": "^5.46.1",
|
||||
"tsup": "^8.5.1",
|
||||
"turbo": "^2.8.10",
|
||||
"turbo": "^2.8.21",
|
||||
"typescript": "~5.9.3",
|
||||
"vitest": "^4.0.18"
|
||||
"vitest": "^4.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22.12.0"
|
||||
|
||||
@@ -36,16 +36,16 @@
|
||||
"@rushstack/node-core-library": "5.13.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^24.10.13",
|
||||
"@types/node": "^24.12.0",
|
||||
"cross-env": "^10.1.0",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-compact": "^9.0.1",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
"terser": "^5.46.0",
|
||||
"terser": "^5.46.1",
|
||||
"tsup": "^8.5.1",
|
||||
"turbo": "^2.8.10",
|
||||
"turbo": "^2.8.21",
|
||||
"typescript": "~5.9.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,16 +50,16 @@
|
||||
"@microsoft/tsdoc": "~0.15.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^24.10.13",
|
||||
"@types/node": "^24.12.0",
|
||||
"cross-env": "^10.1.0",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-compact": "^9.0.1",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
"terser": "^5.46.0",
|
||||
"terser": "^5.46.1",
|
||||
"tsup": "^8.5.1",
|
||||
"turbo": "^2.8.10",
|
||||
"turbo": "^2.8.21",
|
||||
"typescript": "~5.9.3"
|
||||
},
|
||||
"engines": {
|
||||
|
||||
@@ -63,19 +63,19 @@
|
||||
"typescript": "~5.5.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/lodash": "^4.17.23",
|
||||
"@types/node": "^24.10.13",
|
||||
"@types/lodash": "^4.17.24",
|
||||
"@types/node": "^24.12.0",
|
||||
"@types/resolve": "^1.20.6",
|
||||
"@types/semver": "^7.7.1",
|
||||
"cpy-cli": "^6.0.0",
|
||||
"cpy-cli": "^7.0.0",
|
||||
"cross-env": "^10.1.0",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.2.9",
|
||||
"eslint-formatter-compact": "^9.0.1",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
"terser": "^5.46.0",
|
||||
"terser": "^5.46.1",
|
||||
"tsup": "^8.5.1",
|
||||
"turbo": "^2.8.7"
|
||||
"turbo": "^2.8.21"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,25 +71,25 @@
|
||||
"@discordjs/ws": "workspace:^",
|
||||
"@msgpack/msgpack": "^3.1.3",
|
||||
"@vladfrangu/async_event_emitter": "^2.4.7",
|
||||
"ioredis": "^5.9.3"
|
||||
"ioredis": "^5.10.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@discordjs/api-extractor": "workspace:^",
|
||||
"@discordjs/scripts": "workspace:^",
|
||||
"@favware/cliff-jumper": "^6.0.0",
|
||||
"@types/node": "^22.19.11",
|
||||
"@vitest/coverage-v8": "^4.0.18",
|
||||
"@types/node": "^22.19.15",
|
||||
"@vitest/coverage-v8": "^4.1.2",
|
||||
"cross-env": "^10.1.0",
|
||||
"esbuild-plugin-version-injector": "^1.2.1",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-compact": "^9.0.1",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
"tsup": "^8.5.1",
|
||||
"turbo": "^2.8.10",
|
||||
"turbo": "^2.8.21",
|
||||
"typescript": "~5.9.3",
|
||||
"vitest": "^4.0.18"
|
||||
"vitest": "^4.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22.12.0"
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
"funding": "https://github.com/discordjs/discord.js?sponsor",
|
||||
"dependencies": {
|
||||
"@discordjs/util": "workspace:^",
|
||||
"discord-api-types": "^0.38.41",
|
||||
"discord-api-types": "^0.38.43",
|
||||
"ts-mixer": "^6.0.4",
|
||||
"tslib": "^2.8.1",
|
||||
"zod": "^4.3.6"
|
||||
@@ -75,19 +75,19 @@
|
||||
"@discordjs/api-extractor": "workspace:^",
|
||||
"@discordjs/scripts": "workspace:^",
|
||||
"@favware/cliff-jumper": "^6.0.0",
|
||||
"@types/node": "^22.19.11",
|
||||
"@vitest/coverage-v8": "^4.0.18",
|
||||
"@types/node": "^22.19.15",
|
||||
"@vitest/coverage-v8": "^4.1.2",
|
||||
"cross-env": "^10.1.0",
|
||||
"esbuild-plugin-version-injector": "^1.2.1",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-compact": "^9.0.1",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
"tsup": "^8.5.1",
|
||||
"turbo": "^2.8.10",
|
||||
"turbo": "^2.8.21",
|
||||
"typescript": "~5.9.3",
|
||||
"vitest": "^4.0.18"
|
||||
"vitest": "^4.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22.12.0"
|
||||
|
||||
@@ -64,19 +64,19 @@
|
||||
"@discordjs/api-extractor": "workspace:^",
|
||||
"@discordjs/scripts": "workspace:^",
|
||||
"@favware/cliff-jumper": "^6.0.0",
|
||||
"@types/node": "^22.19.11",
|
||||
"@vitest/coverage-v8": "^4.0.18",
|
||||
"@types/node": "^22.19.15",
|
||||
"@vitest/coverage-v8": "^4.1.2",
|
||||
"cross-env": "^10.1.0",
|
||||
"esbuild-plugin-version-injector": "^1.2.1",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-compact": "^9.0.1",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
"tsup": "^8.5.1",
|
||||
"turbo": "^2.8.10",
|
||||
"turbo": "^2.8.21",
|
||||
"typescript": "~5.9.3",
|
||||
"vitest": "^4.0.18"
|
||||
"vitest": "^4.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22.12.0"
|
||||
|
||||
@@ -1023,7 +1023,10 @@ export class Collection<Key, Value> extends Map<Key, Value> {
|
||||
* but returns a Collection instead of an Array.
|
||||
*/
|
||||
public toReversed() {
|
||||
return new this.constructor[Symbol.species](this).reverse();
|
||||
const entries = [...this.entries()];
|
||||
entries.reverse();
|
||||
|
||||
return new this.constructor[Symbol.species](entries);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1039,7 +1042,10 @@ export class Collection<Key, Value> extends Map<Key, Value> {
|
||||
* ```
|
||||
*/
|
||||
public toSorted(compareFunction: Comparator<Key, Value> = Collection.defaultSort): Collection<Key, Value> {
|
||||
return new this.constructor[Symbol.species](this).sort(compareFunction);
|
||||
const entries = [...this.entries()];
|
||||
entries.sort((a, b): number => compareFunction(a[1], b[1], a[0], b[0]));
|
||||
|
||||
return new this.constructor[Symbol.species](entries);
|
||||
}
|
||||
|
||||
public toJSON() {
|
||||
|
||||
@@ -70,25 +70,25 @@
|
||||
"@discordjs/ws": "workspace:^",
|
||||
"@sapphire/snowflake": "^3.5.5",
|
||||
"@vladfrangu/async_event_emitter": "^2.4.7",
|
||||
"discord-api-types": "^0.38.41"
|
||||
"discord-api-types": "^0.38.43"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@discordjs/api-extractor": "workspace:^",
|
||||
"@discordjs/scripts": "workspace:^",
|
||||
"@favware/cliff-jumper": "^6.0.0",
|
||||
"@types/node": "^22.19.11",
|
||||
"@vitest/coverage-v8": "^4.0.18",
|
||||
"@types/node": "^22.19.15",
|
||||
"@vitest/coverage-v8": "^4.1.2",
|
||||
"cross-env": "^10.1.0",
|
||||
"esbuild-plugin-version-injector": "^1.2.1",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-compact": "^9.0.1",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
"tsup": "^8.5.1",
|
||||
"turbo": "^2.8.10",
|
||||
"turbo": "^2.8.21",
|
||||
"typescript": "~5.9.3",
|
||||
"vitest": "^4.0.18"
|
||||
"vitest": "^4.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22.12.0"
|
||||
|
||||
@@ -31,7 +31,6 @@ import {
|
||||
type RESTPostAPIChannelWebhookJSONBody,
|
||||
type RESTPostAPIChannelWebhookResult,
|
||||
type RESTPostAPIGuildForumThreadsJSONBody,
|
||||
type RESTPostAPISendSoundboardSoundResult,
|
||||
type RESTPostAPISoundboardSendSoundJSONBody,
|
||||
type RESTPutAPIChannelPermissionJSONBody,
|
||||
type RESTPutAPIChannelRecipientJSONBody,
|
||||
@@ -702,11 +701,11 @@ export class ChannelsAPI {
|
||||
body: RESTPostAPISoundboardSendSoundJSONBody,
|
||||
{ auth, signal }: Pick<RequestData, 'auth' | 'signal'> = {},
|
||||
) {
|
||||
return this.rest.post(Routes.sendSoundboardSound(channelId), {
|
||||
await this.rest.post(Routes.sendSoundboardSound(channelId), {
|
||||
auth,
|
||||
body,
|
||||
signal,
|
||||
}) as Promise<RESTPostAPISendSoundboardSoundResult>;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1237,7 +1237,7 @@ export class GuildsAPI {
|
||||
userId: Snowflake,
|
||||
{ auth, reason, signal }: Pick<RequestData, 'auth' | 'reason' | 'signal'> = {},
|
||||
) {
|
||||
return this.rest.delete(Routes.guildMember(guildId, userId), { auth, reason, signal });
|
||||
await this.rest.delete(Routes.guildMember(guildId, userId), { auth, reason, signal });
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -16,6 +16,7 @@ import {
|
||||
type RESTPostAPIWebhookWithTokenQuery,
|
||||
type RESTPostAPIWebhookWithTokenSlackQuery,
|
||||
type RESTPostAPIWebhookWithTokenWaitResult,
|
||||
type RESTDeleteAPIWebhookWithTokenMessageQuery,
|
||||
type Snowflake,
|
||||
} from 'discord-api-types/v10';
|
||||
|
||||
@@ -259,7 +260,7 @@ export class WebhooksAPI {
|
||||
id: Snowflake,
|
||||
token: string,
|
||||
messageId: Snowflake,
|
||||
query: { thread_id?: Snowflake } = {},
|
||||
query: RESTDeleteAPIWebhookWithTokenMessageQuery = {},
|
||||
{ signal }: Pick<RequestData, 'signal'> = {},
|
||||
) {
|
||||
await this.rest.delete(Routes.webhookMessage(id, token, messageId), {
|
||||
|
||||
@@ -57,16 +57,16 @@
|
||||
"devDependencies": {
|
||||
"@discordjs/api-extractor": "workspace:^",
|
||||
"@favware/cliff-jumper": "^6.0.0",
|
||||
"@types/node": "^22.19.11",
|
||||
"@types/node": "^22.19.15",
|
||||
"@types/prompts": "^2.4.9",
|
||||
"@types/validate-npm-package-name": "^4.0.2",
|
||||
"cross-env": "^10.1.0",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-compact": "^9.0.1",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
"terser": "^5.46.0",
|
||||
"terser": "^5.46.1",
|
||||
"tsup": "^8.5.1",
|
||||
"typescript": "~5.9.3"
|
||||
},
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"discord.js": "^14.25.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@sapphire/ts-config": "^5.0.3",
|
||||
"@types/bun": "^1.3.9",
|
||||
"eslint": "^9.39.2",
|
||||
"@types/bun": "^1.3.11",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"discord.js": "^14.25.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@sapphire/ts-config": "^5.0.3",
|
||||
"@types/node": "^22.19.11",
|
||||
"eslint": "^9.39.2",
|
||||
"@types/node": "^22.19.15",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
|
||||
@@ -73,12 +73,12 @@
|
||||
"@discordjs/ws": "workspace:^",
|
||||
"@sapphire/snowflake": "3.5.5",
|
||||
"@vladfrangu/async_event_emitter": "^2.4.7",
|
||||
"discord-api-types": "^0.38.41",
|
||||
"discord-api-types": "^0.38.43",
|
||||
"fast-deep-equal": "3.1.3",
|
||||
"lodash.snakecase": "4.1.1",
|
||||
"magic-bytes.js": "^1.13.0",
|
||||
"tslib": "^2.8.1",
|
||||
"undici": "7.22.0"
|
||||
"undici": "7.24.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@discordjs/api-extractor": "workspace:^",
|
||||
@@ -86,15 +86,15 @@
|
||||
"@discordjs/docgen": "workspace:^",
|
||||
"@discordjs/scripts": "workspace:^",
|
||||
"@favware/cliff-jumper": "^6.0.0",
|
||||
"@types/node": "^22.19.11",
|
||||
"@types/node": "^22.19.15",
|
||||
"cross-env": "^10.1.0",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-compact": "^9.0.1",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
"tsd": "^0.33.0",
|
||||
"turbo": "^2.8.10",
|
||||
"turbo": "^2.8.21",
|
||||
"typescript": "~5.9.3"
|
||||
},
|
||||
"engines": {
|
||||
|
||||
@@ -5,6 +5,7 @@ const { DiscordjsError, ErrorCodes } = require('../errors/index.js');
|
||||
const { GuildMemberRoleManager } = require('../managers/GuildMemberRoleManager.js');
|
||||
const { GuildMemberFlagsBitField } = require('../util/GuildMemberFlagsBitField.js');
|
||||
const { PermissionsBitField } = require('../util/PermissionsBitField.js');
|
||||
const { _transformCollectibles } = require('../util/Transformers.js');
|
||||
const { Base } = require('./Base.js');
|
||||
const { VoiceState } = require('./VoiceState.js');
|
||||
|
||||
@@ -150,6 +151,17 @@ class GuildMember extends Base {
|
||||
} else {
|
||||
this.avatarDecorationData = null;
|
||||
}
|
||||
|
||||
if ('collectibles' in data) {
|
||||
/**
|
||||
* The member's collectibles
|
||||
*
|
||||
* @type {?Collectibles}
|
||||
*/
|
||||
this.collectibles = data.collectibles ? _transformCollectibles(data.collectibles) : null;
|
||||
} else {
|
||||
this.collectibles ??= null;
|
||||
}
|
||||
}
|
||||
|
||||
_clone() {
|
||||
@@ -599,7 +611,11 @@ class GuildMember extends Base {
|
||||
(this._roles.length === member._roles.length &&
|
||||
this._roles.every((role, index) => role === member._roles[index]))) &&
|
||||
this.avatarDecorationData?.asset === member.avatarDecorationData?.asset &&
|
||||
this.avatarDecorationData?.skuId === member.avatarDecorationData?.skuId
|
||||
this.avatarDecorationData?.skuId === member.avatarDecorationData?.skuId &&
|
||||
this.collectibles?.nameplate?.skuId === member.collectibles?.nameplate?.skuId &&
|
||||
this.collectibles?.nameplate?.asset === member.collectibles?.nameplate?.asset &&
|
||||
this.collectibles?.nameplate?.label === member.collectibles?.nameplate?.label &&
|
||||
this.collectibles?.nameplate?.palette === member.collectibles?.nameplate?.palette
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -170,15 +170,15 @@ class User extends Base {
|
||||
* @property {?NameplateData} nameplate The user's nameplate data
|
||||
*/
|
||||
|
||||
if (data.collectibles) {
|
||||
if ('collectibles' in data) {
|
||||
/**
|
||||
* The user's collectibles
|
||||
*
|
||||
* @type {?Collectibles}
|
||||
*/
|
||||
this.collectibles = _transformCollectibles(data.collectibles);
|
||||
this.collectibles = data.collectibles ? _transformCollectibles(data.collectibles) : null;
|
||||
} else {
|
||||
this.collectibles = null;
|
||||
this.collectibles ??= null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
1
packages/discord.js/typings/index.d.ts
vendored
1
packages/discord.js/typings/index.d.ts
vendored
@@ -1638,6 +1638,7 @@ export class GuildMember extends Base {
|
||||
public avatarDecorationData: AvatarDecorationData | null;
|
||||
public banner: string | null;
|
||||
public get bannable(): boolean;
|
||||
public collectibles: Collectibles | null;
|
||||
public get dmChannel(): DMChannel | null;
|
||||
public get displayColor(): number;
|
||||
public get displayHexColor(): HexColorString;
|
||||
|
||||
@@ -68,16 +68,16 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/jsdoc-to-markdown": "^7.0.6",
|
||||
"@types/node": "^24.10.13",
|
||||
"@types/node": "^24.12.0",
|
||||
"cross-env": "^10.1.0",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-compact": "^9.0.1",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
"terser": "^5.46.0",
|
||||
"terser": "^5.46.1",
|
||||
"tsup": "^8.5.1",
|
||||
"turbo": "^2.8.10",
|
||||
"turbo": "^2.8.21",
|
||||
"typescript": "~5.9.3"
|
||||
},
|
||||
"engines": {
|
||||
|
||||
@@ -55,25 +55,25 @@
|
||||
"homepage": "https://discord.js.org",
|
||||
"funding": "https://github.com/discordjs/discord.js?sponsor",
|
||||
"dependencies": {
|
||||
"discord-api-types": "^0.38.41"
|
||||
"discord-api-types": "^0.38.43"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@discordjs/api-extractor": "workspace:^",
|
||||
"@discordjs/scripts": "workspace:^",
|
||||
"@favware/cliff-jumper": "^6.0.0",
|
||||
"@types/node": "^22.19.11",
|
||||
"@vitest/coverage-v8": "^4.0.18",
|
||||
"@types/node": "^22.19.15",
|
||||
"@vitest/coverage-v8": "^4.1.2",
|
||||
"cross-env": "^10.1.0",
|
||||
"esbuild-plugin-version-injector": "^1.2.1",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-compact": "^9.0.1",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
"tsup": "^8.5.1",
|
||||
"turbo": "^2.8.10",
|
||||
"turbo": "^2.8.21",
|
||||
"typescript": "~5.9.3",
|
||||
"vitest": "^4.0.18"
|
||||
"vitest": "^4.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22.12.0"
|
||||
|
||||
@@ -72,25 +72,25 @@
|
||||
"@discordjs/rest": "workspace:^",
|
||||
"@discordjs/util": "workspace:^",
|
||||
"@discordjs/ws": "workspace:^",
|
||||
"discord-api-types": "^0.38.41"
|
||||
"discord-api-types": "^0.38.43"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@discordjs/api-extractor": "workspace:^",
|
||||
"@discordjs/scripts": "workspace:^",
|
||||
"@favware/cliff-jumper": "^6.0.0",
|
||||
"@types/node": "^22.19.11",
|
||||
"@vitest/coverage-v8": "^4.0.18",
|
||||
"@types/node": "^22.19.15",
|
||||
"@vitest/coverage-v8": "^4.1.2",
|
||||
"cross-env": "^10.1.0",
|
||||
"esbuild-plugin-version-injector": "^1.2.1",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-compact": "^9.0.1",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
"tsup": "^8.5.1",
|
||||
"turbo": "^2.8.10",
|
||||
"turbo": "^2.8.21",
|
||||
"typescript": "~5.9.3",
|
||||
"vitest": "^4.0.18"
|
||||
"vitest": "^4.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22.12.0"
|
||||
|
||||
@@ -68,27 +68,27 @@
|
||||
"@discordjs/rest": "workspace:^",
|
||||
"@discordjs/util": "workspace:^",
|
||||
"tslib": "^2.8.1",
|
||||
"undici": "7.22.0"
|
||||
"undici": "7.24.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@discordjs/api-extractor": "workspace:^",
|
||||
"@discordjs/scripts": "workspace:^",
|
||||
"@favware/cliff-jumper": "^6.0.0",
|
||||
"@types/node": "^22.19.11",
|
||||
"@types/supertest": "^6.0.3",
|
||||
"@vitest/coverage-v8": "^4.0.18",
|
||||
"@types/node": "^22.19.15",
|
||||
"@types/supertest": "^7.2.0",
|
||||
"@vitest/coverage-v8": "^4.1.2",
|
||||
"cross-env": "^10.1.0",
|
||||
"esbuild-plugin-version-injector": "^1.2.1",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-compact": "^9.0.1",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
"supertest": "^7.2.2",
|
||||
"tsup": "^8.5.1",
|
||||
"turbo": "^2.8.10",
|
||||
"turbo": "^2.8.21",
|
||||
"typescript": "~5.9.3",
|
||||
"vitest": "^4.0.18"
|
||||
"vitest": "^4.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22.12.0"
|
||||
|
||||
@@ -88,29 +88,29 @@
|
||||
"@sapphire/async-queue": "^1.5.5",
|
||||
"@sapphire/snowflake": "^3.5.5",
|
||||
"@vladfrangu/async_event_emitter": "^2.4.7",
|
||||
"discord-api-types": "^0.38.41",
|
||||
"discord-api-types": "^0.38.43",
|
||||
"magic-bytes.js": "^1.13.0",
|
||||
"tslib": "^2.8.1",
|
||||
"undici": "7.22.0",
|
||||
"undici": "7.24.6",
|
||||
"uuid": "^13.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@discordjs/api-extractor": "workspace:^",
|
||||
"@discordjs/scripts": "workspace:^",
|
||||
"@favware/cliff-jumper": "^6.0.0",
|
||||
"@types/node": "^22.19.11",
|
||||
"@vitest/coverage-v8": "^4.0.18",
|
||||
"@types/node": "^22.19.15",
|
||||
"@vitest/coverage-v8": "^4.1.2",
|
||||
"cross-env": "^10.1.0",
|
||||
"esbuild-plugin-version-injector": "^1.2.1",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-compact": "^9.0.1",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
"tsup": "^8.5.1",
|
||||
"turbo": "^2.8.10",
|
||||
"turbo": "^2.8.21",
|
||||
"typescript": "~5.9.3",
|
||||
"vitest": "^4.0.18"
|
||||
"vitest": "^4.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22.12.0"
|
||||
|
||||
@@ -60,30 +60,30 @@
|
||||
"homepage": "https://discord.js.org",
|
||||
"funding": "https://github.com/discordjs/discord.js?sponsor",
|
||||
"dependencies": {
|
||||
"@actions/glob": "^0.5.1",
|
||||
"@actions/glob": "^0.6.1",
|
||||
"@discordjs/api-extractor-model": "workspace:^",
|
||||
"@discordjs/api-extractor-utils": "workspace:^",
|
||||
"@microsoft/tsdoc": "~0.15.1",
|
||||
"@microsoft/tsdoc-config": "~0.17.1",
|
||||
"@vercel/blob": "^2.3.0",
|
||||
"@vercel/blob": "^2.3.2",
|
||||
"@vercel/postgres": "^0.10.0",
|
||||
"commander": "^14.0.3",
|
||||
"tslib": "^2.8.1",
|
||||
"undici": "7.22.0",
|
||||
"yaml": "^2.8.2"
|
||||
"undici": "7.24.6",
|
||||
"yaml": "^2.8.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@turbo/gen": "^2.8.10",
|
||||
"@types/node": "^24.10.13",
|
||||
"@turbo/gen": "^2.8.21",
|
||||
"@types/node": "^24.12.0",
|
||||
"cross-env": "^10.1.0",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-compact": "^9.0.1",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
"terser": "^5.46.0",
|
||||
"terser": "^5.46.1",
|
||||
"tsup": "^8.5.1",
|
||||
"turbo": "^2.8.10",
|
||||
"turbo": "^2.8.21",
|
||||
"typescript": "~5.9.3"
|
||||
},
|
||||
"engines": {
|
||||
|
||||
@@ -59,19 +59,19 @@
|
||||
"devDependencies": {
|
||||
"@discordjs/api-extractor": "workspace:^",
|
||||
"@favware/cliff-jumper": "^6.0.0",
|
||||
"@types/node": "^24.10.13",
|
||||
"@vitest/coverage-v8": "^4.0.18",
|
||||
"@types/node": "^24.12.0",
|
||||
"@vitest/coverage-v8": "^4.1.2",
|
||||
"cross-env": "^10.1.0",
|
||||
"esbuild-plugin-version-injector": "^1.2.1",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-compact": "^9.0.1",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
"tsup": "^8.5.1",
|
||||
"turbo": "^2.8.10",
|
||||
"turbo": "^2.8.21",
|
||||
"typescript": "~5.9.3",
|
||||
"vitest": "^4.0.18"
|
||||
"vitest": "^4.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22.12.0"
|
||||
|
||||
@@ -63,26 +63,26 @@
|
||||
"dependencies": {
|
||||
"@discordjs/formatters": "workspace:^",
|
||||
"@sapphire/snowflake": "^3.5.5",
|
||||
"discord-api-types": "^0.38.41"
|
||||
"discord-api-types": "^0.38.43"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@discordjs/api-extractor": "workspace:^",
|
||||
"@discordjs/scripts": "workspace:^",
|
||||
"@favware/cliff-jumper": "^6.0.0",
|
||||
"@types/node": "^22.19.11",
|
||||
"@vitest/coverage-v8": "^4.0.18",
|
||||
"cpy-cli": "^6.0.0",
|
||||
"@types/node": "^22.19.15",
|
||||
"@vitest/coverage-v8": "^4.1.2",
|
||||
"cpy-cli": "^7.0.0",
|
||||
"cross-env": "^10.1.0",
|
||||
"esbuild-plugin-version-injector": "^1.2.1",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-compact": "^9.0.1",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
"tsup": "^8.5.1",
|
||||
"turbo": "^2.8.10",
|
||||
"turbo": "^2.8.21",
|
||||
"typescript": "~5.9.3",
|
||||
"vitest": "^4.0.18"
|
||||
"vitest": "^4.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22.12.0"
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
"homepage": "https://discord.js.org",
|
||||
"funding": "https://github.com/discordjs/discord.js?sponsor",
|
||||
"dependencies": {
|
||||
"@ariakit/react": "^0.4.21",
|
||||
"@ariakit/react": "^0.4.24",
|
||||
"@react-icons/all-files": "^4.1.0",
|
||||
"react": "^19.2.4",
|
||||
"react-dom": "^19.2.4"
|
||||
@@ -60,30 +60,30 @@
|
||||
"devDependencies": {
|
||||
"@favware/cliff-jumper": "^6.0.0",
|
||||
"@react-icons/all-files": "^4.1.0",
|
||||
"@storybook/addon-docs": "^10.2.10",
|
||||
"@storybook/addon-links": "^10.2.10",
|
||||
"@storybook/addon-themes": "^10.2.10",
|
||||
"@storybook/builder-vite": "^10.2.10",
|
||||
"@storybook/react": "^10.2.10",
|
||||
"@storybook/react-vite": "^10.2.10",
|
||||
"@types/node": "^24.10.13",
|
||||
"@storybook/addon-docs": "^10.3.3",
|
||||
"@storybook/addon-links": "^10.3.3",
|
||||
"@storybook/addon-themes": "^10.3.3",
|
||||
"@storybook/builder-vite": "^10.3.3",
|
||||
"@storybook/react": "^10.3.3",
|
||||
"@storybook/react-vite": "^10.3.3",
|
||||
"@types/node": "^24.12.0",
|
||||
"@types/react": "^19.2.14",
|
||||
"@types/react-dom": "^19.2.3",
|
||||
"@unocss/eslint-plugin": "^66.6.0",
|
||||
"@unocss/reset": "^66.6.0",
|
||||
"@vitejs/plugin-react": "^5.1.4",
|
||||
"chromatic": "^13.3.5",
|
||||
"@unocss/eslint-plugin": "^66.6.7",
|
||||
"@unocss/reset": "^66.6.7",
|
||||
"@vitejs/plugin-react": "^5.2.0",
|
||||
"chromatic": "^16.0.0",
|
||||
"cross-env": "^10.1.0",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-compact": "^9.0.1",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
"prop-types": "^15.8.1",
|
||||
"storybook": "^10.2.10",
|
||||
"turbo": "^2.8.10",
|
||||
"storybook": "^10.3.3",
|
||||
"turbo": "^2.8.21",
|
||||
"typescript": "~5.9.3",
|
||||
"unocss": "^66.6.0",
|
||||
"unocss": "^66.6.7",
|
||||
"vite": "^7.3.1",
|
||||
"vite-plugin-dts": "^4.5.4"
|
||||
},
|
||||
|
||||
47
packages/util/__tests__/runtime.test.ts
Normal file
47
packages/util/__tests__/runtime.test.ts
Normal file
@@ -0,0 +1,47 @@
|
||||
import { afterEach, describe, expect, test, vi } from 'vitest';
|
||||
import { shouldUseGlobalFetchAndWebSocket } from '../src/index.js';
|
||||
|
||||
describe('shouldUseGlobalFetchAndWebSocket', () => {
|
||||
afterEach(() => {
|
||||
vi.unstubAllGlobals();
|
||||
});
|
||||
|
||||
test('GIVEN browser env with fetch and WebSocket THEN returns true', () => {
|
||||
vi.stubGlobal('process', undefined);
|
||||
vi.stubGlobal('fetch', () => void 0);
|
||||
vi.stubGlobal('WebSocket', class {});
|
||||
expect(shouldUseGlobalFetchAndWebSocket()).toBe(true);
|
||||
});
|
||||
|
||||
test('GIVEN browser env without fetch or WebSocket THEN returns false', () => {
|
||||
vi.stubGlobal('process', undefined);
|
||||
vi.stubGlobal('fetch', globalThis.fetch);
|
||||
vi.stubGlobal('WebSocket', globalThis.WebSocket);
|
||||
// @ts-expect-error Testing missing globals
|
||||
delete globalThis.fetch;
|
||||
// @ts-expect-error Testing missing globals
|
||||
delete globalThis.WebSocket;
|
||||
expect(shouldUseGlobalFetchAndWebSocket()).toBe(false);
|
||||
});
|
||||
|
||||
test('GIVEN Cloudflare Workers with nodejs_compat THEN returns true', () => {
|
||||
vi.stubGlobal('process', { versions: { node: '22.19.0' } });
|
||||
vi.stubGlobal('WebSocketPair', class {});
|
||||
expect(shouldUseGlobalFetchAndWebSocket()).toBe(true);
|
||||
});
|
||||
|
||||
test('GIVEN Node.js THEN returns false', () => {
|
||||
vi.stubGlobal('process', { versions: { node: '22.19.0' } });
|
||||
expect(shouldUseGlobalFetchAndWebSocket()).toBe(false);
|
||||
});
|
||||
|
||||
test('GIVEN Deno THEN returns true', () => {
|
||||
vi.stubGlobal('process', { versions: { deno: '1.0.0' } });
|
||||
expect(shouldUseGlobalFetchAndWebSocket()).toBe(true);
|
||||
});
|
||||
|
||||
test('GIVEN Bun THEN returns true', () => {
|
||||
vi.stubGlobal('process', { versions: { bun: '1.0.0' } });
|
||||
expect(shouldUseGlobalFetchAndWebSocket()).toBe(true);
|
||||
});
|
||||
});
|
||||
@@ -62,25 +62,25 @@
|
||||
"homepage": "https://discord.js.org",
|
||||
"funding": "https://github.com/discordjs/discord.js?sponsor",
|
||||
"dependencies": {
|
||||
"discord-api-types": "^0.38.41"
|
||||
"discord-api-types": "^0.38.43"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@discordjs/api-extractor": "workspace:^",
|
||||
"@discordjs/scripts": "workspace:^",
|
||||
"@favware/cliff-jumper": "^6.0.0",
|
||||
"@types/node": "^22.19.11",
|
||||
"@vitest/coverage-v8": "^4.0.18",
|
||||
"@types/node": "^22.19.15",
|
||||
"@vitest/coverage-v8": "^4.1.2",
|
||||
"cross-env": "^10.1.0",
|
||||
"esbuild-plugin-version-injector": "^1.2.1",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-compact": "^9.0.1",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
"tsup": "^8.5.1",
|
||||
"turbo": "^2.8.10",
|
||||
"turbo": "^2.8.21",
|
||||
"typescript": "~5.9.3",
|
||||
"vitest": "^4.0.18"
|
||||
"vitest": "^4.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22.12.0"
|
||||
|
||||
@@ -6,6 +6,14 @@ export function shouldUseGlobalFetchAndWebSocket() {
|
||||
return 'fetch' in globalThis && 'WebSocket' in globalThis;
|
||||
}
|
||||
|
||||
// Cloudflare Workers with nodejs_compat polyfills process (including
|
||||
// process.versions.node), but natively supports the Web WebSocket API.
|
||||
// WebSocketPair is a Workers-only global; no other runtime exposes it.
|
||||
// @ts-expect-error WebSocketPair is not in the globalThis type
|
||||
if (typeof globalThis.WebSocketPair !== 'undefined') {
|
||||
return true;
|
||||
}
|
||||
|
||||
if ('versions' in globalThis.process) {
|
||||
return 'deno' in globalThis.process.versions || 'bun' in globalThis.process.versions;
|
||||
}
|
||||
|
||||
@@ -63,12 +63,12 @@
|
||||
"homepage": "https://discord.js.org",
|
||||
"funding": "https://github.com/discordjs/discord.js?sponsor",
|
||||
"dependencies": {
|
||||
"@snazzah/davey": "^0.1.9",
|
||||
"@snazzah/davey": "^0.1.11",
|
||||
"@types/ws": "^8.18.1",
|
||||
"discord-api-types": "^0.38.41",
|
||||
"discord-api-types": "^0.38.43",
|
||||
"prism-media": "^1.3.5",
|
||||
"tslib": "^2.8.1",
|
||||
"ws": "^8.19.0"
|
||||
"ws": "^8.20.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@discordjs/api-extractor": "workspace:^",
|
||||
@@ -76,19 +76,19 @@
|
||||
"@discordjs/scripts": "workspace:^",
|
||||
"@favware/cliff-jumper": "^6.0.0",
|
||||
"@noble/ciphers": "^2.1.1",
|
||||
"@types/node": "^22.19.11",
|
||||
"@vitest/coverage-v8": "^4.0.18",
|
||||
"@types/node": "^22.19.15",
|
||||
"@vitest/coverage-v8": "^4.1.2",
|
||||
"cross-env": "^10.1.0",
|
||||
"esbuild-plugin-version-injector": "^1.2.1",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-compact": "^9.0.1",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"prettier": "^3.8.1",
|
||||
"tsup": "^8.5.1",
|
||||
"turbo": "^2.8.10",
|
||||
"turbo": "^2.8.21",
|
||||
"typescript": "~5.9.3",
|
||||
"vitest": "^4.0.18",
|
||||
"vitest": "^4.1.2",
|
||||
"vitest-websocket-mock": "^0.5.0"
|
||||
},
|
||||
"engines": {
|
||||
|
||||
@@ -78,28 +78,28 @@
|
||||
"@sapphire/async-queue": "^1.5.5",
|
||||
"@types/ws": "^8.18.1",
|
||||
"@vladfrangu/async_event_emitter": "^2.4.7",
|
||||
"discord-api-types": "^0.38.41",
|
||||
"discord-api-types": "^0.38.43",
|
||||
"tslib": "^2.8.1",
|
||||
"ws": "^8.19.0"
|
||||
"ws": "^8.20.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@discordjs/api-extractor": "workspace:^",
|
||||
"@discordjs/scripts": "workspace:^",
|
||||
"@favware/cliff-jumper": "^6.0.0",
|
||||
"@types/node": "^22.19.11",
|
||||
"@vitest/coverage-v8": "^4.0.18",
|
||||
"@types/node": "^22.19.15",
|
||||
"@vitest/coverage-v8": "^4.1.2",
|
||||
"cross-env": "^10.1.0",
|
||||
"esbuild-plugin-version-injector": "^1.2.1",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-neon": "^0.3.2",
|
||||
"eslint-formatter-compact": "^9.0.1",
|
||||
"eslint-formatter-pretty": "^7.0.0",
|
||||
"mock-socket": "^9.3.1",
|
||||
"prettier": "^3.8.1",
|
||||
"tsup": "^8.5.1",
|
||||
"turbo": "^2.8.10",
|
||||
"turbo": "^2.8.21",
|
||||
"typescript": "~5.9.3",
|
||||
"vitest": "^4.0.18",
|
||||
"vitest": "^4.1.2",
|
||||
"zlib-sync": "^0.1.10"
|
||||
},
|
||||
"engines": {
|
||||
|
||||
12532
pnpm-lock.yaml
generated
12532
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -3,24 +3,22 @@ packages:
|
||||
- packages/*
|
||||
- packages/create-discord-bot/template/**/*
|
||||
|
||||
allowBuilds:
|
||||
'@discordjs/opus': true
|
||||
'@tailwindcss/oxide': true
|
||||
bufferutil: true
|
||||
core-js-pure: false
|
||||
esbuild: true
|
||||
protobufjs: true
|
||||
rclone.js: true
|
||||
sharp: true
|
||||
unrs-resolver: false
|
||||
utf-8-validate: true
|
||||
workerd: true
|
||||
zlib-sync: true
|
||||
|
||||
autoInstallPeers: false
|
||||
|
||||
ignoredBuiltDependencies:
|
||||
- core-js-pure
|
||||
- unrs-resolver
|
||||
|
||||
onlyBuiltDependencies:
|
||||
- '@discordjs/opus'
|
||||
- '@tailwindcss/oxide'
|
||||
- bufferutil
|
||||
- esbuild
|
||||
- protobufjs
|
||||
- rclone.js
|
||||
- sharp
|
||||
- utf-8-validate
|
||||
- workerd
|
||||
- zlib-sync
|
||||
|
||||
patchedDependencies:
|
||||
'@microsoft/tsdoc-config@0.17.1': patches/@microsoft__tsdoc-config@0.17.1.patch
|
||||
|
||||
|
||||
Reference in New Issue
Block a user