From 14da0c1e2dc6928a5a61559ce9fd0aba8a2b3328 Mon Sep 17 00:00:00 2001 From: Vlad Frangu Date: Sat, 29 May 2021 19:05:15 +0300 Subject: [PATCH] feat(Esm): use `gen-esm-wrapper` instead of manually making the file --- .gitignore | 2 + esm/discord.mjs | 107 ---------------------------------------------- package-lock.json | 96 +++++++++++++++++++++++++++++++++++++++-- package.json | 8 ++-- 4 files changed, 100 insertions(+), 113 deletions(-) delete mode 100644 esm/discord.mjs diff --git a/.gitignore b/.gitignore index d25bca8fa259..b9ecfcc07ce7 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,5 @@ deploy/deploy_key.pub .idea/ docs/docs.json typings/index.js +# Autogenerated +src/index.mjs diff --git a/esm/discord.mjs b/esm/discord.mjs deleted file mode 100644 index c966234d99d6..000000000000 --- a/esm/discord.mjs +++ /dev/null @@ -1,107 +0,0 @@ -import Discord from '../src/index.js'; - -export default Discord; - -export const { - BaseClient, - Client, - Shard, - ShardClientUtil, - ShardingManager, - WebhookClient, - ActivityFlags, - ApplicationFlags, - BitField, - Collection, - Constants, - DataResolver, - BaseManager, - DiscordAPIError, - HTTPError, - MessageFlags, - Intents, - Permissions, - Speaking, - SnowflakeUtil, - Structures, - SystemChannelFlags, - UserFlags, - Util, - version, - ApplicationCommandManager, - BaseGuildEmojiManager, - ChannelManager, - GuildApplicationCommandManager, - GuildBanManager, - GuildChannelManager, - GuildEmojiManager, - GuildEmojiRoleManager, - GuildMemberManager, - GuildMemberRoleManager, - GuildManager, - ReactionManager, - ReactionUserManager, - MessageManager, - PresenceManager, - RoleManager, - UserManager, - discordSort, - escapeMarkdown, - fetchRecommendedShards, - resolveColor, - resolveString, - splitMessage, - Application, - ApplicationCommand, - Base, - Activity, - APIMessage, - BaseGuildEmoji, - BaseGuildVoiceChannel, - CategoryChannel, - Channel, - ClientApplication, - ClientUser, - Collector, - CommandInteraction, - DMChannel, - Emoji, - Guild, - GuildAuditLogs, - GuildBan, - GuildChannel, - GuildEmoji, - GuildMember, - GuildPreview, - GuildTemplate, - Integration, - IntegrationApplication, - Interaction, - Invite, - Message, - MessageAttachment, - MessageCollector, - MessageEmbed, - MessageMentions, - MessageReaction, - NewsChannel, - PermissionOverwrites, - Presence, - ClientPresence, - ReactionCollector, - ReactionEmoji, - RichPresenceAssets, - Role, - Sticker, - StoreChannel, - StageChannel, - Team, - TeamMember, - TextChannel, - User, - VoiceChannel, - VoiceRegion, - VoiceState, - Webhook, - WebSocket -} = Discord; diff --git a/package-lock.json b/package-lock.json index 234fc4be11cc..a19a229260b3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,6 +30,7 @@ "eslint-config-prettier": "^8.3.0", "eslint-plugin-import": "^2.23.3", "eslint-plugin-prettier": "^3.4.0", + "gen-esm-wrapper": "^1.1.1", "husky": "^6.0.0", "is-ci": "^2.0.0", "jest": "^26.6.3", @@ -1997,6 +1998,16 @@ "safer-buffer": "~2.1.0" } }, + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, "node_modules/assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", @@ -5179,6 +5190,18 @@ "node": ">=0.10.0" } }, + "node_modules/gen-esm-wrapper": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/gen-esm-wrapper/-/gen-esm-wrapper-1.1.1.tgz", + "integrity": "sha512-/ZMuX3itPtnjjWuIArzBi6mDnkGVcsx8guLCeH3WLB+iLeFr8TOKhIrNaYmPuRtQcpeBKrlswCPAY9oLRKIxKw==", + "dev": true, + "dependencies": { + "is-valid-identifier": "^2.0.2" + }, + "bin": { + "gen-esm-wrapper": "gen-esm-wrapper.js" + } + }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -6118,6 +6141,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-valid-identifier": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-valid-identifier/-/is-valid-identifier-2.0.2.tgz", + "integrity": "sha512-mpS5EGqXOwzXtKAg6I44jIAqeBfntFLxpAth1rrKbxtKyI6LPktyDYpHBI+tHlduhhX/SF26mFXmxQu995QVqg==", + "dev": true, + "dependencies": { + "assert": "^1.4.1" + } + }, "node_modules/is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -8093,7 +8125,6 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true, - "optional": true, "engines": { "node": ">=0.10.0" } @@ -10950,12 +10981,27 @@ "node": ">=0.10.0" } }, + "node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "dependencies": { + "inherits": "2.0.1" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, "node_modules/uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", @@ -13040,6 +13086,16 @@ "safer-buffer": "~2.1.0" } }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", @@ -15582,6 +15638,15 @@ } } }, + "gen-esm-wrapper": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/gen-esm-wrapper/-/gen-esm-wrapper-1.1.1.tgz", + "integrity": "sha512-/ZMuX3itPtnjjWuIArzBi6mDnkGVcsx8guLCeH3WLB+iLeFr8TOKhIrNaYmPuRtQcpeBKrlswCPAY9oLRKIxKw==", + "dev": true, + "requires": { + "is-valid-identifier": "^2.0.2" + } + }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -16281,6 +16346,15 @@ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true }, + "is-valid-identifier": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-valid-identifier/-/is-valid-identifier-2.0.2.tgz", + "integrity": "sha512-mpS5EGqXOwzXtKAg6I44jIAqeBfntFLxpAth1rrKbxtKyI6LPktyDYpHBI+tHlduhhX/SF26mFXmxQu995QVqg==", + "dev": true, + "requires": { + "assert": "^1.4.1" + } + }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -17891,8 +17965,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true, - "optional": true + "dev": true }, "object-copy": { "version": "0.1.0", @@ -20171,6 +20244,23 @@ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + } + } + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", diff --git a/package.json b/package.json index c35314f52cc8..16a9bd6cbc2c 100644 --- a/package.json +++ b/package.json @@ -3,16 +3,17 @@ "version": "13.0.0-dev", "description": "A powerful library for interacting with the Discord API", "main": "./src/index.js", + "module": "./src/index.mjs", "types": "./typings/index.d.ts", "exports": { ".": [ { "require": "./src/index.js", - "import": "./esm/discord.mjs" + "import": "./src/index.mjs" }, "./src/index.js" ], - "./esm": "./esm/discord.mjs" + "./esm": "./src/index.mjs" }, "scripts": { "test": "npm run lint && npm run docs:test && npm run lint:typings", @@ -23,7 +24,7 @@ "lint:fix": "eslint src --fix", "lint:typings": "tslint typings/index.d.ts", "prettier": "prettier --write src/**/*.js typings/**/*.ts", - "prepublishOnly": "pinst --disable && npm run test", + "prepublishOnly": "pinst --disable && npm run test && gen-esm-wrapper ./src/index.js ./src/index.mjs", "prepare": "is-ci || husky install", "postpublish": "pinst --enable" }, @@ -69,6 +70,7 @@ "eslint-config-prettier": "^8.3.0", "eslint-plugin-import": "^2.23.3", "eslint-plugin-prettier": "^3.4.0", + "gen-esm-wrapper": "^1.1.1", "husky": "^6.0.0", "is-ci": "^2.0.0", "jest": "^26.6.3",