diff --git a/package-lock.json b/package-lock.json index ad931479f..c11cfa6f1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,7 +29,6 @@ "nanoid": "^3.3.6", "obscenity": "^0.4.3", "ts-node": "^10.9.2", - "twemoji": "^14.0.2", "uuid": "^11.1.0", "winston": "^3.17.0", "ws": "^8.18.0", @@ -11664,29 +11663,6 @@ "dev": true, "license": "MIT" }, - "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==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "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==", - "license": "MIT", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -11937,6 +11913,7 @@ "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, "license": "ISC" }, "node_modules/graphemer": { @@ -14761,18 +14738,6 @@ "node": ">=6" } }, - "node_modules/jsonfile": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-5.0.0.tgz", - "integrity": "sha512-NQRZ5CRo74MhMMC3/3r5g2k4fjodJ/wh8MxjFbCViWKFjxrnudWSY5vomh+23ZaXzAS7J3fBZIR2dV6WbmfM0w==", - "license": "MIT", - "dependencies": { - "universalify": "^0.1.2" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -19383,24 +19348,6 @@ "node": "*" } }, - "node_modules/twemoji": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/twemoji/-/twemoji-14.0.2.tgz", - "integrity": "sha512-BzOoXIe1QVdmsUmZ54xbEH+8AgtOKUiG53zO5vVP2iUu6h5u9lN15NcuS6te4OY96qx0H7JK9vjjl9WQbkTRuA==", - "license": "MIT", - "dependencies": { - "fs-extra": "^8.0.1", - "jsonfile": "^5.0.0", - "twemoji-parser": "14.0.0", - "universalify": "^0.1.2" - } - }, - "node_modules/twemoji-parser": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/twemoji-parser/-/twemoji-parser-14.0.0.tgz", - "integrity": "sha512-9DUOTGLOWs0pFWnh1p6NF+C3CkQ96PWmEFwhOVmT3WbecRC+68AIqpsnJXygfkFcp4aXbOp8Dwbhh/HQgvoRxA==", - "license": "MIT" - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -19536,15 +19483,6 @@ "node": ">=4" } }, - "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==", - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", diff --git a/package.json b/package.json index 5311c5ecb..20fdc2a73 100644 --- a/package.json +++ b/package.json @@ -119,7 +119,6 @@ "nanoid": "^3.3.6", "obscenity": "^0.4.3", "ts-node": "^10.9.2", - "twemoji": "^14.0.2", "uuid": "^11.1.0", "winston": "^3.17.0", "ws": "^8.18.0", diff --git a/src/core/Util.ts b/src/core/Util.ts index ba138fe3c..6133b9a18 100644 --- a/src/core/Util.ts +++ b/src/core/Util.ts @@ -1,6 +1,5 @@ import DOMPurify from "dompurify"; import { customAlphabet } from "nanoid"; -import twemoji from "twemoji"; import { Cell, Unit } from "./game/Game"; import { GameMap, TileRef } from "./game/GameMap"; import { @@ -142,39 +141,6 @@ export function sanitize(name: string): string { .replace(/[^\p{L}\p{N}\s\p{Emoji}\p{Emoji_Component}[\]_]/gu, ""); } -export function processName(name: string): string { - // First sanitize the raw input - strip everything except text and emojis - const sanitizedName = sanitize(name); - // Process emojis with twemoji - const withEmojis = twemoji.parse(sanitizedName, { - base: "https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/", - folder: "svg", - ext: ".svg", - }); - - // Add CSS styles inline to the wrapper span - const styledHTML = ` - - ${withEmojis} - - `; - - // Add CSS for the emoji images - const withEmojiStyles = styledHTML.replace( - /