fix: 🎨 Switch from happy-dom to jsdom for HTML sanitization

This commit is contained in:
Jesse Wierzbinski 2024-05-02 13:53:10 -10:00
parent 68badc5caa
commit 7a90abeaec
No known key found for this signature in database
3 changed files with 111 additions and 115 deletions

View file

@ -1,14 +1,11 @@
import { config } from "config-manager";
import type DOMPurify from "dompurify";
import createDomPurify from "dompurify";
import { Window } from "happy-dom";
import DOMPurify from "isomorphic-dompurify";
const window = new Window();
// @ts-expect-error Mismatch between types, but they're okay i swear
const purifier = createDomPurify(window);
export const sanitizeHtml = async (html: string, extraConfig?: DOMPurify.Config) => {
const sanitizedHtml = purifier.sanitize(html, {
export const sanitizeHtml = async (
html: string,
extraConfig?: DOMPurify.Config,
) => {
const sanitizedHtml = DOMPurify.sanitize(html, {
ALLOWED_TAGS: [
"a",
"p",