From c54099f179489885137ae9757fe3d1b77934e8cb Mon Sep 17 00:00:00 2001
From: Ruby <rubyowo284@pm.me>
Date: Sun, 27 Oct 2024 12:46:48 +0100
Subject: [PATCH] fix: use new twemoji fork and fix jumbo cmd

---
 backend/package.json                          |   3 +-
 .../src/plugins/Utility/commands/JumboCmd.ts  |   2 +-
 package-lock.json                             | 121 +++++++++---------
 3 files changed, 59 insertions(+), 67 deletions(-)

diff --git a/backend/package.json b/backend/package.json
index 43a43383..8c2c5fc6 100644
--- a/backend/package.json
+++ b/backend/package.json
@@ -67,7 +67,7 @@
     "tlds": "^1.221.1",
     "tmp": "0.0.33",
     "tsconfig-paths": "^3.9.0",
-    "twemoji": "^12.1.4",
+    "@twemoji/api": "^15.1.0",
     "typeorm": "^0.3.17",
     "utf-8-validate": "^5.0.5",
     "uuid": "^9.0.0",
@@ -88,7 +88,6 @@
     "@types/passport-strategy": "^0.2.35",
     "@types/safe-regex": "^1.1.2",
     "@types/tmp": "0.0.33",
-    "@types/twemoji": "^12.1.0",
     "@types/uuid": "^9.0.2",
     "ava": "^5.3.1",
     "rimraf": "^2.6.2",
diff --git a/backend/src/plugins/Utility/commands/JumboCmd.ts b/backend/src/plugins/Utility/commands/JumboCmd.ts
index 4c29b9a2..15de5062 100644
--- a/backend/src/plugins/Utility/commands/JumboCmd.ts
+++ b/backend/src/plugins/Utility/commands/JumboCmd.ts
@@ -1,7 +1,7 @@
 import photon from "@silvia-odwyer/photon-node";
+import twemoji from "@twemoji/api";
 import { AttachmentBuilder } from "discord.js";
 import fs from "fs";
-import twemoji from "twemoji";
 import { commandTypeHelpers as ct } from "../../../commandTypes.js";
 import { sendErrorMessage } from "../../../pluginUtils.js";
 import { downloadFile, isEmoji, SECONDS } from "../../../utils.js";
diff --git a/package-lock.json b/package-lock.json
index e570c762..f047965a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -30,6 +30,7 @@
       "version": "0.0.1",
       "dependencies": {
         "@silvia-odwyer/photon-node": "^0.3.1",
+        "@twemoji/api": "^15.1.0",
         "bufferutil": "^4.0.3",
         "clinic": "^13.0.0",
         "cors": "^2.8.5",
@@ -64,7 +65,6 @@
         "tlds": "^1.221.1",
         "tmp": "0.0.33",
         "tsconfig-paths": "^3.9.0",
-        "twemoji": "^12.1.4",
         "typeorm": "^0.3.17",
         "utf-8-validate": "^5.0.5",
         "uuid": "^9.0.0",
@@ -85,7 +85,6 @@
         "@types/passport-strategy": "^0.2.35",
         "@types/safe-regex": "^1.1.2",
         "@types/tmp": "0.0.33",
-        "@types/twemoji": "^12.1.0",
         "@types/uuid": "^9.0.2",
         "ava": "^5.3.1",
         "rimraf": "^2.6.2",
@@ -3907,6 +3906,62 @@
       "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
       "devOptional": true
     },
+    "node_modules/@twemoji/api": {
+      "version": "15.1.0",
+      "resolved": "https://registry.npmjs.org/@twemoji/api/-/api-15.1.0.tgz",
+      "integrity": "sha512-CySXR4/e6vY0z9lC2tW9EVjsH6zzz2/LQvLRMwwpHsDI4xcaweSIP+LcESf1Mq7w2/zcrrhG4ozniMvpSsEXag==",
+      "dependencies": {
+        "@twemoji/parser": "15.1.0",
+        "fs-extra": "^8.0.1",
+        "jsonfile": "^5.0.0",
+        "universalify": "^0.1.2"
+      }
+    },
+    "node_modules/@twemoji/api/node_modules/fs-extra": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+      "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+      "dependencies": {
+        "graceful-fs": "^4.2.0",
+        "jsonfile": "^4.0.0",
+        "universalify": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=6 <7 || >=8"
+      }
+    },
+    "node_modules/@twemoji/api/node_modules/fs-extra/node_modules/jsonfile": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+      "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
+      "optionalDependencies": {
+        "graceful-fs": "^4.1.6"
+      }
+    },
+    "node_modules/@twemoji/api/node_modules/jsonfile": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-5.0.0.tgz",
+      "integrity": "sha512-NQRZ5CRo74MhMMC3/3r5g2k4fjodJ/wh8MxjFbCViWKFjxrnudWSY5vomh+23ZaXzAS7J3fBZIR2dV6WbmfM0w==",
+      "dependencies": {
+        "universalify": "^0.1.2"
+      },
+      "optionalDependencies": {
+        "graceful-fs": "^4.1.6"
+      }
+    },
+    "node_modules/@twemoji/api/node_modules/universalify": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+      "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+      "engines": {
+        "node": ">= 4.0.0"
+      }
+    },
+    "node_modules/@twemoji/parser": {
+      "version": "15.1.0",
+      "resolved": "https://registry.npmjs.org/@twemoji/parser/-/parser-15.1.0.tgz",
+      "integrity": "sha512-3HTiSxPvkWUJ4kZeCvwyKlIwkpTUfBOk6igpBBRQni58ceQMv5YK4smkc8vX/eqOlMMNER/9qobv+Q6Q8LVrqA=="
+    },
     "node_modules/@types/body-parser": {
       "version": "1.19.5",
       "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz",
@@ -4248,12 +4303,6 @@
       "integrity": "sha512-gVC1InwyVrO326wbBZw+AO3u2vRXz/iRWq9jYhpG4W8LXyIgDv3ZmcLQ5Q4Gs+gFMyqx+viFoFT+l3p61QFCmQ==",
       "dev": true
     },
-    "node_modules/@types/twemoji": {
-      "version": "12.1.2",
-      "resolved": "https://registry.npmjs.org/@types/twemoji/-/twemoji-12.1.2.tgz",
-      "integrity": "sha512-3eMyKenMi0R1CeKzBYtk/Z2JIHsTMQrIrTah0q54o45pHTpWVNofU2oHx0jS8tqsDRhis2TbB6238WP9oh2l2w==",
-      "dev": true
-    },
     "node_modules/@types/uuid": {
       "version": "9.0.8",
       "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz",
@@ -21320,62 +21369,6 @@
       "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
       "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA=="
     },
-    "node_modules/twemoji": {
-      "version": "12.1.6",
-      "resolved": "https://registry.npmjs.org/twemoji/-/twemoji-12.1.6.tgz",
-      "integrity": "sha512-FIKi9Jne5IiDGDWekoANJ1a8ltUKVbJLEIR8XUpbFRDMqIPgLWnYgjeWZ1KOrdiTztRCAa9x4v+5w5OuiJOGVw==",
-      "dependencies": {
-        "fs-extra": "^8.0.1",
-        "jsonfile": "^5.0.0",
-        "twemoji-parser": "12.1.3",
-        "universalify": "^0.1.2"
-      }
-    },
-    "node_modules/twemoji-parser": {
-      "version": "12.1.3",
-      "resolved": "https://registry.npmjs.org/twemoji-parser/-/twemoji-parser-12.1.3.tgz",
-      "integrity": "sha512-ND4LZXF4X92/PFrzSgGkq6KPPg8swy/U0yRw1k/+izWRVmq1HYi3khPwV3XIB6FRudgVICAaBhJfW8e8G3HC7Q=="
-    },
-    "node_modules/twemoji/node_modules/fs-extra": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
-      "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
-      "dependencies": {
-        "graceful-fs": "^4.2.0",
-        "jsonfile": "^4.0.0",
-        "universalify": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=6 <7 || >=8"
-      }
-    },
-    "node_modules/twemoji/node_modules/fs-extra/node_modules/jsonfile": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
-      "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
-      "optionalDependencies": {
-        "graceful-fs": "^4.1.6"
-      }
-    },
-    "node_modules/twemoji/node_modules/jsonfile": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-5.0.0.tgz",
-      "integrity": "sha512-NQRZ5CRo74MhMMC3/3r5g2k4fjodJ/wh8MxjFbCViWKFjxrnudWSY5vomh+23ZaXzAS7J3fBZIR2dV6WbmfM0w==",
-      "dependencies": {
-        "universalify": "^0.1.2"
-      },
-      "optionalDependencies": {
-        "graceful-fs": "^4.1.6"
-      }
-    },
-    "node_modules/twemoji/node_modules/universalify": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
-      "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
-      "engines": {
-        "node": ">= 4.0.0"
-      }
-    },
     "node_modules/type": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",