From 84b85f4c91e83b40eb2bd74d61304fcfdcabf6d5 Mon Sep 17 00:00:00 2001 From: Denis-Adrian Cristea Date: Sat, 7 Mar 2026 12:25:00 +0200 Subject: [PATCH] refactor!: remove builders and formatters re-export (#11361) BREAKING CHANGE: removed builders and formatters re-export --- packages/builders/package.json | 2 +- ...plicationCommandOptionChannelTypesMixin.ts | 13 ++-- packages/core/package.json | 2 +- packages/discord.js/package.json | 4 +- packages/discord.js/src/index.js | 2 - packages/discord.js/typings/index.d.ts | 6 +- packages/discord.js/typings/index.test-d.ts | 31 +++++---- packages/formatters/package.json | 2 +- packages/next/package.json | 2 +- packages/rest/package.json | 2 +- packages/structures/package.json | 2 +- packages/util/package.json | 2 +- packages/voice/package.json | 2 +- packages/ws/package.json | 2 +- pnpm-lock.yaml | 68 +++++++++---------- 15 files changed, 70 insertions(+), 72 deletions(-) diff --git a/packages/builders/package.json b/packages/builders/package.json index 67373f4ba..ed8937044 100644 --- a/packages/builders/package.json +++ b/packages/builders/package.json @@ -66,7 +66,7 @@ "funding": "https://github.com/discordjs/discord.js?sponsor", "dependencies": { "@discordjs/util": "workspace:^", - "discord-api-types": "^0.38.40", + "discord-api-types": "^0.38.41", "ts-mixer": "^6.0.4", "tslib": "^2.8.1", "zod": "^4.3.6" diff --git a/packages/builders/src/interactions/commands/chatInput/mixins/ApplicationCommandOptionChannelTypesMixin.ts b/packages/builders/src/interactions/commands/chatInput/mixins/ApplicationCommandOptionChannelTypesMixin.ts index 5012ad5a4..40d0e8826 100644 --- a/packages/builders/src/interactions/commands/chatInput/mixins/ApplicationCommandOptionChannelTypesMixin.ts +++ b/packages/builders/src/interactions/commands/chatInput/mixins/ApplicationCommandOptionChannelTypesMixin.ts @@ -1,4 +1,8 @@ -import { ChannelType, type APIApplicationCommandChannelOption } from 'discord-api-types/v10'; +import { + type ApplicationCommandOptionAllowedChannelType, + type APIApplicationCommandChannelOption, + ChannelType, +} from 'discord-api-types/v10'; import { normalizeArray, type RestOrArray } from '../../../../util/normalizeArray'; export const ApplicationCommandOptionAllowedChannelTypes = [ @@ -12,12 +16,7 @@ export const ApplicationCommandOptionAllowedChannelTypes = [ ChannelType.GuildStageVoice, ChannelType.GuildForum, ChannelType.GuildMedia, -] as const; - -/** - * Allowed channel types used for a channel option. - */ -export type ApplicationCommandOptionAllowedChannelType = (typeof ApplicationCommandOptionAllowedChannelTypes)[number]; +] as const satisfies readonly ApplicationCommandOptionAllowedChannelType[]; export interface ApplicationCommandOptionChannelTypesData extends Pick< APIApplicationCommandChannelOption, diff --git a/packages/core/package.json b/packages/core/package.json index 5f2d4fbe8..803ee0e60 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -70,7 +70,7 @@ "@discordjs/ws": "workspace:^", "@sapphire/snowflake": "^3.5.5", "@vladfrangu/async_event_emitter": "^2.4.7", - "discord-api-types": "^0.38.40" + "discord-api-types": "^0.38.41" }, "devDependencies": { "@discordjs/api-extractor": "workspace:^", diff --git a/packages/discord.js/package.json b/packages/discord.js/package.json index 0f59ecc2c..5e121956e 100644 --- a/packages/discord.js/package.json +++ b/packages/discord.js/package.json @@ -66,7 +66,6 @@ "homepage": "https://discord.js.org", "funding": "https://github.com/discordjs/discord.js?sponsor", "dependencies": { - "@discordjs/builders": "workspace:^", "@discordjs/collection": "workspace:^", "@discordjs/formatters": "workspace:^", "@discordjs/rest": "workspace:^", @@ -74,7 +73,7 @@ "@discordjs/ws": "workspace:^", "@sapphire/snowflake": "3.5.5", "@vladfrangu/async_event_emitter": "^2.4.7", - "discord-api-types": "^0.38.40", + "discord-api-types": "^0.38.41", "fast-deep-equal": "3.1.3", "lodash.snakecase": "4.1.1", "magic-bytes.js": "^1.13.0", @@ -83,6 +82,7 @@ }, "devDependencies": { "@discordjs/api-extractor": "workspace:^", + "@discordjs/builders": "workspace:^", "@discordjs/docgen": "workspace:^", "@discordjs/scripts": "workspace:^", "@favware/cliff-jumper": "^6.0.0", diff --git a/packages/discord.js/src/index.js b/packages/discord.js/src/index.js index 929376b28..3a344e146 100644 --- a/packages/discord.js/src/index.js +++ b/packages/discord.js/src/index.js @@ -254,8 +254,6 @@ exports.WidgetMember = require('./structures/WidgetMember.js').WidgetMember; // External __exportStar(require('discord-api-types/v10'), exports); -__exportStar(require('@discordjs/builders'), exports); -__exportStar(require('@discordjs/formatters'), exports); __exportStar(require('@discordjs/rest'), exports); __exportStar(require('@discordjs/util'), exports); __exportStar(require('@discordjs/ws'), exports); diff --git a/packages/discord.js/typings/index.d.ts b/packages/discord.js/typings/index.d.ts index 0551bc8e5..6b7d67197 100644 --- a/packages/discord.js/typings/index.d.ts +++ b/packages/discord.js/typings/index.d.ts @@ -2,7 +2,6 @@ import { Buffer } from 'node:buffer'; import { ChildProcess } from 'node:child_process'; import { Stream } from 'node:stream'; import { MessagePort, Worker } from 'node:worker_threads'; -import { ApplicationCommandOptionAllowedChannelType, MessageActionRowComponentBuilder } from '@discordjs/builders'; import { Collection, ReadonlyCollection } from '@discordjs/collection'; import { BaseImageURLOptions, ImageURLOptions, RawFile, REST, RESTOptions, EmojiURLOptions } from '@discordjs/rest'; import { Awaitable, FileBodyEncodable, JSONEncodable } from '@discordjs/util'; @@ -99,6 +98,7 @@ import { APIUser, APIUserSelectComponent, APIVoiceRegion, + ApplicationCommandOptionAllowedChannelType, ApplicationCommandOptionType, ApplicationCommandPermissionType, ApplicationCommandType, @@ -6745,7 +6745,7 @@ export interface MessageSnapshot extends Partialize< export interface BaseMessageOptions { allowedMentions?: MessageMentionOptions; components?: readonly ( - | ActionRowData + | ActionRowData | MessageActionRowComponentData> | APIMessageTopLevelComponent | JSONEncodable> | JSONEncodable @@ -7447,8 +7447,6 @@ export type InternalDiscordGatewayAdapterCreator = ( // #endregion // External -export * from '@discordjs/builders'; -export * from '@discordjs/formatters'; export * from '@discordjs/rest'; export * from '@discordjs/util'; export * from '@discordjs/ws'; diff --git a/packages/discord.js/typings/index.test-d.ts b/packages/discord.js/typings/index.test-d.ts index 578ecce1a..f06db5b36 100644 --- a/packages/discord.js/typings/index.test-d.ts +++ b/packages/discord.js/typings/index.test-d.ts @@ -1,7 +1,23 @@ /* eslint-disable no-lone-blocks, @typescript-eslint/unbound-method, @typescript-eslint/ban-ts-comment, no-param-reassign, id-length */ import type { ChildProcess } from 'node:child_process'; import type { Worker } from 'node:worker_threads'; -import type { ChatInputCommandBuilder, ContextMenuCommandBuilder } from '@discordjs/builders'; +import { + ActionRowBuilder, + ButtonBuilder, + ChannelSelectMenuBuilder, + createComponentBuilder, + EmbedBuilder, + MentionableSelectMenuBuilder, + MessageBuilder, + ModalBuilder, + PrimaryButtonBuilder, + RoleSelectMenuBuilder, + StringSelectMenuBuilder, + TextInputBuilder, + UserSelectMenuBuilder, + type ChatInputCommandBuilder, + type ContextMenuCommandBuilder, +} from '@discordjs/builders'; import type { ReadonlyCollection } from '@discordjs/collection'; import type { APIButtonComponent, @@ -67,7 +83,6 @@ import type { AutoModerationRule, AutoModerationRuleManager, Awaitable, - ButtonBuilder, ButtonComponent, ButtonComponentData, ButtonInteraction, @@ -143,7 +158,6 @@ import type { MessageManager, MessageMentions, MessageReaction, - ModalBuilder, ModalSubmitInteraction, NonThreadGuildBasedChannel, PartialDMChannel, @@ -205,34 +219,23 @@ import type { VoiceServerUpdateData, } from './index.js'; import { - ActionRowBuilder, - ChannelSelectMenuBuilder, Client, Collection, - createComponentBuilder, - EmbedBuilder, Events, IntentsBitField, - MentionableSelectMenuBuilder, Options, PermissionsBitField, - PrimaryButtonBuilder, Status, - StringSelectMenuBuilder, - TextInputBuilder, resolveColor, - RoleSelectMenuBuilder, ShardEvents, TextDisplayComponentData, ThumbnailComponentData, UnfurledMediaItemData, UserContextMenuCommandInteraction, UserMention, - UserSelectMenuBuilder, UserSelectMenuComponent, UserSelectMenuInteraction, Webhook, - MessageBuilder, } from './index.js'; // Test type transformation: diff --git a/packages/formatters/package.json b/packages/formatters/package.json index 5786226c6..c9ad9a7e2 100644 --- a/packages/formatters/package.json +++ b/packages/formatters/package.json @@ -55,7 +55,7 @@ "homepage": "https://discord.js.org", "funding": "https://github.com/discordjs/discord.js?sponsor", "dependencies": { - "discord-api-types": "^0.38.40" + "discord-api-types": "^0.38.41" }, "devDependencies": { "@discordjs/api-extractor": "workspace:^", diff --git a/packages/next/package.json b/packages/next/package.json index dbd265cb5..8e7ebf32e 100644 --- a/packages/next/package.json +++ b/packages/next/package.json @@ -72,7 +72,7 @@ "@discordjs/rest": "workspace:^", "@discordjs/util": "workspace:^", "@discordjs/ws": "workspace:^", - "discord-api-types": "^0.38.40" + "discord-api-types": "^0.38.41" }, "devDependencies": { "@discordjs/api-extractor": "workspace:^", diff --git a/packages/rest/package.json b/packages/rest/package.json index 0bbd47e16..df62f9d15 100644 --- a/packages/rest/package.json +++ b/packages/rest/package.json @@ -88,7 +88,7 @@ "@sapphire/async-queue": "^1.5.5", "@sapphire/snowflake": "^3.5.5", "@vladfrangu/async_event_emitter": "^2.4.7", - "discord-api-types": "^0.38.40", + "discord-api-types": "^0.38.41", "magic-bytes.js": "^1.13.0", "tslib": "^2.8.1", "undici": "7.22.0", diff --git a/packages/structures/package.json b/packages/structures/package.json index 531d02f28..0a6b8773b 100644 --- a/packages/structures/package.json +++ b/packages/structures/package.json @@ -63,7 +63,7 @@ "dependencies": { "@discordjs/formatters": "workspace:^", "@sapphire/snowflake": "^3.5.5", - "discord-api-types": "^0.38.40" + "discord-api-types": "^0.38.41" }, "devDependencies": { "@discordjs/api-extractor": "workspace:^", diff --git a/packages/util/package.json b/packages/util/package.json index b319a96c1..1f44f1aa9 100644 --- a/packages/util/package.json +++ b/packages/util/package.json @@ -62,7 +62,7 @@ "homepage": "https://discord.js.org", "funding": "https://github.com/discordjs/discord.js?sponsor", "dependencies": { - "discord-api-types": "^0.38.40" + "discord-api-types": "^0.38.41" }, "devDependencies": { "@discordjs/api-extractor": "workspace:^", diff --git a/packages/voice/package.json b/packages/voice/package.json index 20145e7b6..08049e051 100644 --- a/packages/voice/package.json +++ b/packages/voice/package.json @@ -65,7 +65,7 @@ "dependencies": { "@snazzah/davey": "^0.1.9", "@types/ws": "^8.18.1", - "discord-api-types": "^0.38.40", + "discord-api-types": "^0.38.41", "prism-media": "^1.3.5", "tslib": "^2.8.1", "ws": "^8.19.0" diff --git a/packages/ws/package.json b/packages/ws/package.json index 4c75e0cf7..9bcd67df7 100644 --- a/packages/ws/package.json +++ b/packages/ws/package.json @@ -78,7 +78,7 @@ "@sapphire/async-queue": "^1.5.5", "@types/ws": "^8.18.1", "@vladfrangu/async_event_emitter": "^2.4.7", - "discord-api-types": "^0.38.40", + "discord-api-types": "^0.38.41", "tslib": "^2.8.1", "ws": "^8.19.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8d388b5e0..8b5b5b8ea 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -754,8 +754,8 @@ importers: specifier: workspace:^ version: link:../util discord-api-types: - specifier: ^0.38.40 - version: 0.38.40 + specifier: ^0.38.41 + version: 0.38.41 ts-mixer: specifier: ^6.0.4 version: 6.0.4 @@ -884,8 +884,8 @@ importers: specifier: ^2.4.7 version: 2.4.7 discord-api-types: - specifier: ^0.38.40 - version: 0.38.40 + specifier: ^0.38.41 + version: 0.38.41 devDependencies: '@discordjs/api-extractor': specifier: workspace:^ @@ -1111,9 +1111,6 @@ importers: packages/discord.js: dependencies: - '@discordjs/builders': - specifier: workspace:^ - version: link:../builders '@discordjs/collection': specifier: workspace:^ version: link:../collection @@ -1136,8 +1133,8 @@ importers: specifier: ^2.4.7 version: 2.4.7 discord-api-types: - specifier: ^0.38.40 - version: 0.38.40 + specifier: ^0.38.41 + version: 0.38.41 fast-deep-equal: specifier: 3.1.3 version: 3.1.3 @@ -1157,6 +1154,9 @@ importers: '@discordjs/api-extractor': specifier: workspace:^ version: link:../api-extractor + '@discordjs/builders': + specifier: workspace:^ + version: link:../builders '@discordjs/docgen': specifier: workspace:^ version: link:../docgen @@ -1252,8 +1252,8 @@ importers: packages/formatters: dependencies: discord-api-types: - specifier: ^0.38.40 - version: 0.38.40 + specifier: ^0.38.41 + version: 0.38.41 devDependencies: '@discordjs/api-extractor': specifier: workspace:^ @@ -1328,8 +1328,8 @@ importers: specifier: workspace:^ version: link:../ws discord-api-types: - specifier: ^0.38.40 - version: 0.38.40 + specifier: ^0.38.41 + version: 0.38.41 devDependencies: '@discordjs/api-extractor': specifier: workspace:^ @@ -1468,8 +1468,8 @@ importers: specifier: ^2.4.7 version: 2.4.7 discord-api-types: - specifier: ^0.38.40 - version: 0.38.40 + specifier: ^0.38.41 + version: 0.38.41 magic-bytes.js: specifier: ^1.13.0 version: 1.13.0 @@ -1614,8 +1614,8 @@ importers: specifier: ^3.5.5 version: 3.5.5 discord-api-types: - specifier: ^0.38.40 - version: 0.38.40 + specifier: ^0.38.41 + version: 0.38.41 devDependencies: '@discordjs/api-extractor': specifier: workspace:^ @@ -1769,8 +1769,8 @@ importers: packages/util: dependencies: discord-api-types: - specifier: ^0.38.40 - version: 0.38.40 + specifier: ^0.38.41 + version: 0.38.41 devDependencies: '@discordjs/api-extractor': specifier: workspace:^ @@ -1830,8 +1830,8 @@ importers: specifier: ^8.18.1 version: 8.18.1 discord-api-types: - specifier: ^0.38.40 - version: 0.38.40 + specifier: ^0.38.41 + version: 0.38.41 prism-media: specifier: ^1.3.5 version: 1.3.5(@discordjs/opus@0.10.0(encoding@0.1.13)) @@ -1918,8 +1918,8 @@ importers: specifier: ^2.4.7 version: 2.4.7 discord-api-types: - specifier: ^0.38.40 - version: 0.38.40 + specifier: ^0.38.41 + version: 0.38.41 tslib: specifier: ^2.8.1 version: 2.8.1 @@ -8333,8 +8333,8 @@ packages: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} - discord-api-types@0.38.40: - resolution: {integrity: sha512-P/His8cotqZgQqrt+hzrocp9L8RhQQz1GkrCnC9TMJ8Uw2q0tg8YyqJyGULxhXn/8kxHETN4IppmOv+P2m82lQ==} + discord-api-types@0.38.41: + resolution: {integrity: sha512-yMECyR8j9c2fVTvCQ+Qc24pweYFIZk/XoxDOmt1UvPeSw5tK6gXBd/2hhP+FEAe9Y6ny8pRMaf618XDK4U53OQ==} discord.js@14.25.1: resolution: {integrity: sha512-2l0gsPOLPs5t6GFZfQZKnL1OJNYFcuC/ETWsW4VtKVD/tg4ICa9x+jb9bkPffkMdRpRpuUaO/fKkHCBeiCKh8g==} @@ -14899,7 +14899,7 @@ snapshots: '@discordjs/formatters': 0.6.2 '@discordjs/util': 1.2.0 '@sapphire/shapeshift': 4.0.0 - discord-api-types: 0.38.40 + discord-api-types: 0.38.41 fast-deep-equal: 3.1.3 ts-mixer: 6.0.4 tslib: 2.8.1 @@ -14915,14 +14915,14 @@ snapshots: '@discordjs/ws': 2.0.4(bufferutil@4.1.0) '@sapphire/snowflake': 3.5.5 '@vladfrangu/async_event_emitter': 2.4.7 - discord-api-types: 0.38.40 + discord-api-types: 0.38.41 transitivePeerDependencies: - bufferutil - utf-8-validate '@discordjs/formatters@0.6.2': dependencies: - discord-api-types: 0.38.40 + discord-api-types: 0.38.41 '@discordjs/node-pre-gyp@0.4.5(encoding@0.1.13)': dependencies: @@ -14954,14 +14954,14 @@ snapshots: '@sapphire/async-queue': 1.5.5 '@sapphire/snowflake': 3.5.5 '@vladfrangu/async_event_emitter': 2.4.7 - discord-api-types: 0.38.40 + discord-api-types: 0.38.41 magic-bytes.js: 1.13.0 tslib: 2.8.1 undici: 6.21.3 '@discordjs/util@1.2.0': dependencies: - discord-api-types: 0.38.40 + discord-api-types: 0.38.41 '@discordjs/ws@1.2.3(bufferutil@4.1.0)': dependencies: @@ -14971,7 +14971,7 @@ snapshots: '@sapphire/async-queue': 1.5.5 '@types/ws': 8.18.1 '@vladfrangu/async_event_emitter': 2.4.7 - discord-api-types: 0.38.40 + discord-api-types: 0.38.41 tslib: 2.8.1 ws: 8.19.0(bufferutil@4.1.0) transitivePeerDependencies: @@ -14986,7 +14986,7 @@ snapshots: '@sapphire/async-queue': 1.5.5 '@types/ws': 8.18.1 '@vladfrangu/async_event_emitter': 2.4.7 - discord-api-types: 0.38.40 + discord-api-types: 0.38.41 tslib: 2.8.1 ws: 8.19.0(bufferutil@4.1.0) transitivePeerDependencies: @@ -21375,7 +21375,7 @@ snapshots: dependencies: path-type: 4.0.0 - discord-api-types@0.38.40: {} + discord-api-types@0.38.41: {} discord.js@14.25.1(bufferutil@4.1.0): dependencies: @@ -21386,7 +21386,7 @@ snapshots: '@discordjs/util': 1.2.0 '@discordjs/ws': 1.2.3(bufferutil@4.1.0) '@sapphire/snowflake': 3.5.3 - discord-api-types: 0.38.40 + discord-api-types: 0.38.41 fast-deep-equal: 3.1.3 lodash.snakecase: 4.1.1 magic-bytes.js: 1.13.0