diff --git a/package-lock.json b/package-lock.json index 41b282b8..d54c9cf8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "@vueuse/motion": "^3.0.3", "crypto-js": "^4.2.0", "date-fns": "^4.1.0", + "dompurify": "^3.3.1", "form-urlencoded": "^6.1.6", "ky": "^1.13.0", "pinia": "^3.0.3", @@ -23,6 +24,7 @@ "devDependencies": { "@eslint/js": "^9.38.0", "@rushstack/eslint-patch": "^1.14.0", + "@types/dompurify": "^3.0.5", "@types/node": "^24.9.1", "@typescript-eslint/eslint-plugin": "^8.46.2", "@typescript-eslint/parser": "^8.46.2", @@ -1661,6 +1663,16 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/dompurify": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.0.5.tgz", + "integrity": "sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/trusted-types": "*" + } + }, "node_modules/@types/estree": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", @@ -1685,6 +1697,13 @@ "undici-types": "~7.16.0" } }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "devOptional": true, + "license": "MIT" + }, "node_modules/@types/web-bluetooth": { "version": "0.0.21", "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz", @@ -2748,6 +2767,15 @@ "url": "https://github.com/fb55/domhandler?sponsor=1" } }, + "node_modules/dompurify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.1.tgz", + "integrity": "sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==", + "license": "(MPL-2.0 OR Apache-2.0)", + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, "node_modules/domutils": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", diff --git a/package.json b/package.json index f84a0347..887f349e 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "@vueuse/motion": "^3.0.3", "crypto-js": "^4.2.0", "date-fns": "^4.1.0", + "dompurify": "^3.3.1", "form-urlencoded": "^6.1.6", "ky": "^1.13.0", "pinia": "^3.0.3", @@ -26,6 +27,7 @@ "devDependencies": { "@eslint/js": "^9.38.0", "@rushstack/eslint-patch": "^1.14.0", + "@types/dompurify": "^3.0.5", "@types/node": "^24.9.1", "@typescript-eslint/eslint-plugin": "^8.46.2", "@typescript-eslint/parser": "^8.46.2", diff --git a/src/components/artist/ArtistProfile.vue b/src/components/artist/ArtistProfile.vue index ca829ce0..53cbe27e 100644 --- a/src/components/artist/ArtistProfile.vue +++ b/src/components/artist/ArtistProfile.vue @@ -11,6 +11,7 @@