feat: components v2 in builders v1 (#10787)

* feat(builders): components v2 in builders v1

* feat: implemented the first components

* fix: tests

* fix: tests

* fix: export the new stuff

* feat: add rest of components

* feat: add callback syntax

* feat: callback syntax for section

* fix: missing implements

* fix: accessory property

* fix: apply suggestions from v2 PR

* chore: bring in line with builders v2

* fix: add missing type

* chore: split accessory methods

* chore: backport changes from v2 PR

* fix: accent_color is nullish

* fix: allow passing raw json to MediaGallery methods

* fix: add test

* chore: add Container#addXComponents

* fix: docs

* chore: bump discord-api-types

* Update packages/builders/src/components/Assertions.ts

Co-authored-by: Denis-Adrian Cristea <didinele.dev@gmail.com>

---------

Co-authored-by: Denis-Adrian Cristea <didinele.dev@gmail.com>
This commit is contained in:
Qjuh
2025-04-24 21:59:58 +02:00
committed by GitHub
parent 53dbc96194
commit 118e682682
31 changed files with 1955 additions and 120 deletions

144
pnpm-lock.yaml generated
View File

@@ -680,8 +680,8 @@ importers:
specifier: ^4.0.0
version: 4.0.0
discord-api-types:
specifier: ^0.37.119
version: 0.37.119
specifier: ^0.38.1
version: 0.38.1
fast-deep-equal:
specifier: ^3.1.3
version: 3.1.3
@@ -941,8 +941,8 @@ importers:
specifier: 3.5.3
version: 3.5.3
discord-api-types:
specifier: ^0.37.119
version: 0.37.119
specifier: ^0.38.1
version: 0.38.1
fast-deep-equal:
specifier: 3.1.3
version: 3.1.3
@@ -1307,8 +1307,8 @@ importers:
specifier: ^2.4.6
version: 2.4.6
discord-api-types:
specifier: ^0.37.119
version: 0.37.119
specifier: ^0.38.1
version: 0.38.1
magic-bytes.js:
specifier: ^1.10.0
version: 1.10.0
@@ -2601,12 +2601,12 @@ packages:
resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
engines: {node: '>=12'}
'@definitelytyped/header-parser@0.2.16':
resolution: {integrity: sha512-UFsgPft5bhZn07UNGz/9ck4AhdKgLFEOmi2DNr7gXcGL89zbe3u5oVafKUT8j1HOtSBjT8ZEQsXHKlbq+wwF/Q==}
'@definitelytyped/header-parser@0.2.19':
resolution: {integrity: sha512-zu+RxQpUCgorYUQZoyyrRIn9CljL1CeM4qak3NDeMO1r7tjAkodfpAGnVzx/6JR2OUk0tAgwmZxNMSwd9LVgxw==}
engines: {node: '>=18.18.0'}
'@definitelytyped/typescript-versions@0.1.6':
resolution: {integrity: sha512-gQpXFteIKrOw4ldmBZQfBrD3WobaIG1SwOr/3alXWkcYbkOWa2NRxQbiaYQ2IvYTGaZK26miJw0UOAFiuIs4gA==}
'@definitelytyped/typescript-versions@0.1.8':
resolution: {integrity: sha512-iz6q9aTwWW7CzN2g8jFQfZ955D63LA+wdIAKz4+2pCc/7kokmEHie1/jVWSczqLFOlmH+69bWQxIurryBP/sig==}
engines: {node: '>=18.18.0'}
'@definitelytyped/utils@0.1.8':
@@ -7638,6 +7638,9 @@ packages:
discord-api-types@0.37.83:
resolution: {integrity: sha512-urGGYeWtWNYMKnYlZnOnDHm8fVRffQs3U0SpE8RHeiuLKb/u92APS8HoQnPTFbnXmY1vVnXjXO4dOxcAn3J+DA==}
discord-api-types@0.38.1:
resolution: {integrity: sha512-vsjsqjAuxsPhiwbPjTBeGQaDPlizFmSkU0mTzFGMgRxqCDIRBR7iTY74HacpzrDV0QtERHRKQEk1tq7drZUtHg==}
dlv@1.1.3:
resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
@@ -8102,6 +8105,7 @@ packages:
eslint-plugin-i@2.29.1:
resolution: {integrity: sha512-ORizX37MelIWLbMyqI7hi8VJMf7A0CskMmYkB+lkCX3aF4pkGV7kwx5bSEb4qx7Yce2rAf9s34HqDRPjGRZPNQ==}
engines: {node: '>=12'}
deprecated: Please migrate to the brand new `eslint-plugin-import-x` instead
peerDependencies:
eslint: ^7.2.0 || ^8
@@ -8226,6 +8230,7 @@ packages:
eslint@8.57.0:
resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
hasBin: true
espree@10.1.0:
@@ -12313,6 +12318,7 @@ packages:
stream-connect@1.0.2:
resolution: {integrity: sha512-68Kl+79cE0RGKemKkhxTSg8+6AGrqBt+cbZAXevg2iJ6Y3zX4JhA/sZeGzLpxW9cXhmqAcE7KnJCisUmIUfnFQ==}
engines: {node: '>=0.10.0'}
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
stream-to-array@2.3.0:
resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==}
@@ -13860,7 +13866,7 @@ snapshots:
'@babel/helper-plugin-utils': 7.24.8
debug: 4.4.0
lodash.debounce: 4.0.8
resolve: 1.22.8
resolve: 1.22.10
transitivePeerDependencies:
- supports-color
@@ -14609,7 +14615,7 @@ snapshots:
'@babel/parser': 7.25.4
'@babel/template': 7.25.0
'@babel/types': 7.25.4
debug: 4.3.6
debug: 4.4.0
globals: 11.12.0
transitivePeerDependencies:
- supports-color
@@ -14837,7 +14843,7 @@ snapshots:
'@conventional-changelog/git-client@1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.0.0)':
dependencies:
'@types/semver': 7.5.8
semver: 7.6.3
semver: 7.5.4
optionalDependencies:
conventional-commits-filter: 5.0.0
conventional-commits-parser: 6.0.0
@@ -14846,13 +14852,13 @@ snapshots:
dependencies:
'@jridgewell/trace-mapping': 0.3.9
'@definitelytyped/header-parser@0.2.16':
'@definitelytyped/header-parser@0.2.19':
dependencies:
'@definitelytyped/typescript-versions': 0.1.6
'@definitelytyped/typescript-versions': 0.1.8
'@definitelytyped/utils': 0.1.8
semver: 7.6.3
'@definitelytyped/typescript-versions@0.1.6': {}
'@definitelytyped/typescript-versions@0.1.8': {}
'@definitelytyped/utils@0.1.8':
dependencies:
@@ -15309,7 +15315,7 @@ snapshots:
'@antfu/install-pkg': 0.4.0
'@antfu/utils': 0.7.10
'@iconify/types': 2.0.0
debug: 4.3.6
debug: 4.4.0
kolorist: 1.8.0
local-pkg: 0.5.0
mlly: 1.7.1
@@ -15432,7 +15438,7 @@ snapshots:
'@jest/console@29.7.0':
dependencies:
'@jest/types': 29.6.3
'@types/node': 18.19.45
'@types/node': 18.19.74
chalk: 4.1.2
jest-message-util: 29.7.0
jest-util: 29.7.0
@@ -15512,7 +15518,7 @@ snapshots:
dependencies:
'@jest/fake-timers': 29.7.0
'@jest/types': 29.6.3
'@types/node': 18.19.45
'@types/node': 18.19.74
jest-mock: 29.7.0
'@jest/expect-utils@29.7.0':
@@ -15530,7 +15536,7 @@ snapshots:
dependencies:
'@jest/types': 29.6.3
'@sinonjs/fake-timers': 10.3.0
'@types/node': 18.19.45
'@types/node': 18.19.74
jest-message-util: 29.7.0
jest-mock: 29.7.0
jest-util: 29.7.0
@@ -15552,7 +15558,7 @@ snapshots:
'@jest/transform': 29.7.0
'@jest/types': 29.6.3
'@jridgewell/trace-mapping': 0.3.25
'@types/node': 18.19.45
'@types/node': 18.19.74
chalk: 4.1.2
collect-v8-coverage: 1.0.2
exit: 0.1.2
@@ -15814,7 +15820,7 @@ snapshots:
'@rushstack/ts-command-line': 4.19.1(@types/node@16.18.105)
lodash: 4.17.21
minimatch: 3.0.8
resolve: 1.22.8
resolve: 1.22.10
semver: 7.5.4
source-map: 0.6.1
typescript: 5.4.2
@@ -15833,7 +15839,7 @@ snapshots:
'@rushstack/ts-command-line': 4.19.1(@types/node@18.17.9)
lodash: 4.17.21
minimatch: 3.0.8
resolve: 1.22.8
resolve: 1.22.10
semver: 7.5.4
source-map: 0.6.1
typescript: 5.4.2
@@ -15852,7 +15858,7 @@ snapshots:
'@rushstack/ts-command-line': 4.19.1(@types/node@18.19.45)
lodash: 4.17.21
minimatch: 3.0.8
resolve: 1.22.8
resolve: 1.22.10
semver: 7.5.4
source-map: 0.6.1
typescript: 5.4.2
@@ -15870,7 +15876,7 @@ snapshots:
'@rushstack/ts-command-line': 4.19.1(@types/node@20.16.1)
lodash: 4.17.21
minimatch: 3.0.8
resolve: 1.22.8
resolve: 1.22.10
semver: 7.5.4
source-map: 0.6.1
typescript: 5.4.2
@@ -17995,7 +18001,7 @@ snapshots:
fs-extra: 7.0.1
import-lazy: 4.0.0
jju: 1.4.0
resolve: 1.22.8
resolve: 1.22.10
semver: 7.5.4
z-schema: 5.0.5
optionalDependencies:
@@ -18007,7 +18013,7 @@ snapshots:
fs-extra: 7.0.1
import-lazy: 4.0.0
jju: 1.4.0
resolve: 1.22.8
resolve: 1.22.10
semver: 7.5.4
z-schema: 5.0.5
optionalDependencies:
@@ -18019,7 +18025,7 @@ snapshots:
fs-extra: 7.0.1
import-lazy: 4.0.0
jju: 1.4.0
resolve: 1.22.8
resolve: 1.22.10
semver: 7.5.4
z-schema: 5.0.5
optionalDependencies:
@@ -18030,7 +18036,7 @@ snapshots:
fs-extra: 7.0.1
import-lazy: 4.0.0
jju: 1.4.0
resolve: 1.22.8
resolve: 1.22.10
semver: 7.5.4
z-schema: 5.0.5
optionalDependencies:
@@ -18055,7 +18061,7 @@ snapshots:
'@rushstack/rig-package@0.5.2':
dependencies:
resolve: 1.22.8
resolve: 1.22.10
strip-json-comments: 3.1.1
'@rushstack/terminal@0.10.0(@types/node@16.18.105)':
@@ -18919,25 +18925,25 @@ snapshots:
'@types/body-parser@1.19.5':
dependencies:
'@types/connect': 3.4.38
'@types/node': 18.19.45
'@types/node': 18.19.74
'@types/concat-stream@2.0.3':
dependencies:
'@types/node': 18.19.45
'@types/node': 18.19.74
'@types/connect@3.4.38':
dependencies:
'@types/node': 18.19.45
'@types/node': 18.19.74
'@types/conventional-commits-parser@5.0.0':
dependencies:
'@types/node': 18.19.45
'@types/node': 18.19.74
'@types/cookiejar@2.1.5': {}
'@types/cross-spawn@6.0.6':
dependencies:
'@types/node': 18.19.45
'@types/node': 18.19.74
'@types/debug@4.1.12':
dependencies:
@@ -18969,7 +18975,7 @@ snapshots:
'@types/express-serve-static-core@4.19.5':
dependencies:
'@types/node': 18.19.45
'@types/node': 18.19.74
'@types/qs': 6.9.15
'@types/range-parser': 1.2.7
'@types/send': 0.17.4
@@ -18986,11 +18992,11 @@ snapshots:
'@types/glob@7.2.0':
dependencies:
'@types/minimatch': 5.1.2
'@types/node': 18.19.45
'@types/node': 18.19.74
'@types/graceful-fs@4.1.9':
dependencies:
'@types/node': 18.19.45
'@types/node': 18.19.74
'@types/hast@2.3.10':
dependencies:
@@ -19072,7 +19078,7 @@ snapshots:
'@types/node-fetch@2.6.11':
dependencies:
'@types/node': 18.19.45
'@types/node': 18.19.74
form-data: 4.0.0
'@types/node@16.18.105': {}
@@ -19099,7 +19105,7 @@ snapshots:
'@types/pg@8.11.6':
dependencies:
'@types/node': 18.19.45
'@types/node': 18.19.74
pg-protocol: 1.6.1
pg-types: 4.0.2
@@ -19132,12 +19138,12 @@ snapshots:
'@types/send@0.17.4':
dependencies:
'@types/mime': 1.3.5
'@types/node': 18.19.45
'@types/node': 18.19.74
'@types/serve-static@1.15.7':
dependencies:
'@types/http-errors': 2.0.4
'@types/node': 18.19.45
'@types/node': 18.19.74
'@types/send': 0.17.4
'@types/stack-utils@2.0.3': {}
@@ -19158,7 +19164,7 @@ snapshots:
'@types/through@0.0.33':
dependencies:
'@types/node': 18.19.45
'@types/node': 18.19.74
'@types/tinycolor2@1.4.6': {}
@@ -19278,7 +19284,7 @@ snapshots:
dependencies:
'@typescript-eslint/typescript-estree': 7.11.0(typescript@5.5.4)
'@typescript-eslint/utils': 7.11.0(eslint@8.57.0)(typescript@5.5.4)
debug: 4.3.6
debug: 4.4.0
eslint: 8.57.0
ts-api-utils: 1.3.0(typescript@5.5.4)
optionalDependencies:
@@ -19290,7 +19296,7 @@ snapshots:
dependencies:
'@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4)
'@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4)
debug: 4.3.6
debug: 4.4.0
eslint: 8.57.0
ts-api-utils: 1.3.0(typescript@5.5.4)
optionalDependencies:
@@ -19302,7 +19308,7 @@ snapshots:
dependencies:
'@typescript-eslint/typescript-estree': 8.2.0(typescript@5.5.4)
'@typescript-eslint/utils': 8.2.0(eslint@8.57.0)(typescript@5.5.4)
debug: 4.3.6
debug: 4.4.0
ts-api-utils: 1.3.0(typescript@5.5.4)
optionalDependencies:
typescript: 5.5.4
@@ -19351,7 +19357,7 @@ snapshots:
dependencies:
'@typescript-eslint/types': 7.18.0
'@typescript-eslint/visitor-keys': 7.18.0
debug: 4.3.6
debug: 4.4.0
globby: 11.1.0
is-glob: 4.0.3
minimatch: 9.0.5
@@ -19366,7 +19372,7 @@ snapshots:
dependencies:
'@typescript-eslint/types': 8.2.0
'@typescript-eslint/visitor-keys': 8.2.0
debug: 4.3.6
debug: 4.4.0
globby: 11.1.0
is-glob: 4.0.3
minimatch: 9.0.5
@@ -21509,6 +21515,8 @@ snapshots:
discord-api-types@0.37.83: {}
discord-api-types@0.38.1: {}
dlv@1.1.3: {}
dmd@6.2.3:
@@ -21558,7 +21566,7 @@ snapshots:
dts-critic@3.3.11(typescript@5.5.4):
dependencies:
'@definitelytyped/header-parser': 0.2.16
'@definitelytyped/header-parser': 0.2.19
command-exists: 1.2.9
rimraf: 3.0.2
semver: 6.3.1
@@ -21568,8 +21576,8 @@ snapshots:
dtslint@4.2.1(typescript@5.5.4):
dependencies:
'@definitelytyped/header-parser': 0.2.16
'@definitelytyped/typescript-versions': 0.1.6
'@definitelytyped/header-parser': 0.2.19
'@definitelytyped/typescript-versions': 0.1.8
'@definitelytyped/utils': 0.1.8
dts-critic: 3.3.11(typescript@5.5.4)
fs-extra: 6.0.1
@@ -23913,7 +23921,7 @@ snapshots:
'@jest/expect': 29.7.0
'@jest/test-result': 29.7.0
'@jest/types': 29.6.3
'@types/node': 18.19.45
'@types/node': 18.19.74
chalk: 4.1.2
co: 4.6.0
dedent: 1.5.3
@@ -24088,7 +24096,7 @@ snapshots:
'@jest/environment': 29.7.0
'@jest/fake-timers': 29.7.0
'@jest/types': 29.6.3
'@types/node': 18.19.45
'@types/node': 18.19.74
jest-mock: 29.7.0
jest-util: 29.7.0
@@ -24098,7 +24106,7 @@ snapshots:
dependencies:
'@jest/types': 29.6.3
'@types/graceful-fs': 4.1.9
'@types/node': 18.19.45
'@types/node': 18.19.74
anymatch: 3.1.3
fb-watchman: 2.0.2
graceful-fs: 4.2.11
@@ -24137,7 +24145,7 @@ snapshots:
jest-mock@29.7.0:
dependencies:
'@jest/types': 29.6.3
'@types/node': 18.19.45
'@types/node': 18.19.74
jest-util: 29.7.0
jest-pnp-resolver@1.2.3(jest-resolve@29.7.0):
@@ -24161,7 +24169,7 @@ snapshots:
jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0)
jest-util: 29.7.0
jest-validate: 29.7.0
resolve: 1.22.8
resolve: 1.22.10
resolve.exports: 2.0.2
slash: 3.0.0
@@ -24172,7 +24180,7 @@ snapshots:
'@jest/test-result': 29.7.0
'@jest/transform': 29.7.0
'@jest/types': 29.6.3
'@types/node': 18.19.45
'@types/node': 18.19.74
chalk: 4.1.2
emittery: 0.13.1
graceful-fs: 4.2.11
@@ -24200,7 +24208,7 @@ snapshots:
'@jest/test-result': 29.7.0
'@jest/transform': 29.7.0
'@jest/types': 29.6.3
'@types/node': 18.19.45
'@types/node': 18.19.74
chalk: 4.1.2
cjs-module-lexer: 1.3.1
collect-v8-coverage: 1.0.2
@@ -24246,7 +24254,7 @@ snapshots:
jest-util@29.7.0:
dependencies:
'@jest/types': 29.6.3
'@types/node': 18.19.45
'@types/node': 18.19.74
chalk: 4.1.2
ci-info: 3.9.0
graceful-fs: 4.2.11
@@ -24265,7 +24273,7 @@ snapshots:
dependencies:
'@jest/test-result': 29.7.0
'@jest/types': 29.6.3
'@types/node': 18.19.45
'@types/node': 18.19.74
ansi-escapes: 4.3.2
chalk: 4.1.2
emittery: 0.13.1
@@ -24279,7 +24287,7 @@ snapshots:
jest-worker@29.7.0:
dependencies:
'@types/node': 18.19.45
'@types/node': 18.19.74
jest-util: 29.7.0
merge-stream: 2.0.0
supports-color: 8.1.1
@@ -26065,7 +26073,7 @@ snapshots:
normalize-package-data@3.0.3:
dependencies:
hosted-git-info: 4.1.0
is-core-module: 2.15.1
is-core-module: 2.16.1
semver: 7.5.4
validate-npm-package-license: 3.0.4
@@ -26753,7 +26761,7 @@ snapshots:
'@protobufjs/path': 1.1.2
'@protobufjs/pool': 1.1.0
'@protobufjs/utf8': 1.1.0
'@types/node': 18.19.45
'@types/node': 18.19.74
long: 5.2.3
proxy-addr@2.0.7:
@@ -26764,7 +26772,7 @@ snapshots:
proxy-agent@6.4.0:
dependencies:
agent-base: 7.1.1
debug: 4.3.6
debug: 4.4.0
http-proxy-agent: 7.0.2
https-proxy-agent: 7.0.5
lru-cache: 7.18.3
@@ -26936,7 +26944,7 @@ snapshots:
'@types/doctrine': 0.0.9
'@types/resolve': 1.20.6
doctrine: 3.0.0
resolve: 1.22.8
resolve: 1.22.10
strip-indent: 4.0.0
transitivePeerDependencies:
- supports-color
@@ -27435,7 +27443,7 @@ snapshots:
resolve@2.0.0-next.5:
dependencies:
is-core-module: 2.15.1
is-core-module: 2.16.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
@@ -28088,7 +28096,7 @@ snapshots:
dependencies:
component-emitter: 1.3.1
cookiejar: 2.1.4
debug: 4.3.6
debug: 4.4.0
fast-safe-stringify: 2.1.1
form-data: 4.0.0
formidable: 3.5.1
@@ -28832,7 +28840,7 @@ snapshots:
'@types/node': 20.16.1
'@types/unist': 3.0.3
concat-stream: 2.0.0
debug: 4.3.6
debug: 4.4.0
extend: 3.0.2
glob: 10.4.5
ignore: 5.3.2