From 74873fe924214921542879edf469fe1a174c37f6 Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Thu, 2 May 2024 14:21:09 -1000 Subject: [PATCH] fix(api): :ambulance: Replace isomorphic-dompurify with plain jsdom and dompurify --- bun.lockb | Bin 155708 -> 155364 bytes package.json | 4 +++- utils/sanitization.ts | 5 +++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/bun.lockb b/bun.lockb index 2394ebc0279e887ef8a7ca8c1ee47db8ace8338e..5d87acaca52bdece080ef7791530fc6439ce1a22 100755 GIT binary patch delta 24140 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 delta 24337 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 diff --git a/package.json b/package.json index 9c7b0505..cb809cfb 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ "@types/cli-table": "^0.3.4", "@types/html-to-text": "^9.0.4", "@types/ioredis": "^5.0.0", + "@types/jsdom": "^21.1.6", "@types/jsonld": "^1.5.13", "@types/markdown-it-container": "^2.0.10", "@types/mime-types": "^2.1.4", @@ -77,14 +78,15 @@ "cli-parser": "workspace:*", "cli-table": "^0.3.11", "config-manager": "workspace:*", + "dompurify": "^3.1.2", "drizzle-orm": "^0.30.7", "extract-zip": "^2.0.1", "html-to-text": "^9.0.5", "ioredis": "^5.3.2", "ip-matching": "^2.1.2", "iso-639-1": "^3.1.0", - "isomorphic-dompurify": "^2.9.0", "jose": "^5.2.4", + "jsdom": "^24.0.0", "linkify-html": "^4.1.3", "linkify-string": "^4.1.3", "linkifyjs": "^4.1.3", diff --git a/utils/sanitization.ts b/utils/sanitization.ts index d1f175d2..4fb34313 100644 --- a/utils/sanitization.ts +++ b/utils/sanitization.ts @@ -1,11 +1,12 @@ import { config } from "config-manager"; -import DOMPurify from "isomorphic-dompurify"; +import DOMPurify from "dompurify"; +import { JSDOM } from "jsdom"; export const sanitizeHtml = async ( html: string, extraConfig?: DOMPurify.Config, ) => { - const sanitizedHtml = DOMPurify.sanitize(html, { + const sanitizedHtml = DOMPurify(new JSDOM().window).sanitize(html, { ALLOWED_TAGS: [ "a", "p",