Skip to content

Commit dd6c1c1

Browse files
committed
fix uninstall jsdom dompurify and install isomorphic-dompurify
1 parent 6c4ca81 commit dd6c1c1

File tree

4 files changed

+17
-17
lines changed

4 files changed

+17
-17
lines changed

email-api/jest.config.js

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,6 @@ export default {
55
transform: {
66
"^.+\\.(t|j)sx?$": "@swc/jest",
77
},
8-
// Añadimos esta línea para ayudar a Jest a encontrar los módulos
9-
moduleDirectories: ['node_modules', 'src'],
10-
transformIgnorePatterns: [
11-
// Esta expresión regular le dice a Jest: "Transforma todo lo que esté en node_modules EXCEPTO estas librerías"
12-
"/node_modules/(?!(dompurify|jsdom|@exodus/bytes|html-encoding-sniffer|encoding-lite|abab|tr46|whatwg-url|data-urls|decimal.js|saxes)/)"
13-
],
148
moduleNameMapper: {
159
'^(\\.{1,2}/.*)\\.js$': '$1',
1610
},

email-api/package-lock.json

Lines changed: 14 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

email-api/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,10 @@
1010
"dependencies": {
1111
"bcrypt": "^6.0.0",
1212
"cors": "^2.8.5",
13-
"dompurify": "^3.3.3",
1413
"express": "^5.1.0",
1514
"express-rate-limit": "^8.3.1",
1615
"helmet": "^8.1.0",
17-
"jsdom": "^29.0.1",
16+
"isomorphic-dompurify": "^3.7.1",
1817
"jsonwebtoken": "^9.0.3",
1918
"morgan": "^1.10.1",
2019
"nodemailer": "^8.0.4",

email-api/src/mails/mailer.js

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
import nodemailer from 'nodemailer' // Se cambia la librería
22
import { env } from '../config/env.js'
3-
import createDOMPurify from 'dompurify'; // Librería para limpiar HTML
4-
import { JSDOM } from 'jsdom'; // Necesaria para que dompurify funcione en Node
5-
6-
// Configuración del limpiador
7-
const window = new JSDOM('').window;
8-
const DOMPurify = createDOMPurify(window);
3+
import DOMPurify from 'isomorphic-dompurify'; // Esta librería ya trae su propio DOM interno
94

105
const transporter = nodemailer.createTransport({
116
host: "smtp.gmail.com",
@@ -21,7 +16,7 @@ const transporter = nodemailer.createTransport({
2116
});
2217

2318
export const sendEmail = async ({ to, subject, html }) => {
24-
// LIMPIEZA: Sanitizamos el HTML antes de enviarlo
19+
// Ahora DOMPurify funciona directamente sin configurar nada más
2520
const cleanHtml = DOMPurify.sanitize(html);
2621

2722
const mailOptions = {

0 commit comments

Comments
 (0)