Skip to content

Conversation

@andymedinadev
Copy link
Contributor

🐛 Problema

El PR #267 solucionó el riesgo de XSS en la consola, pero rompió el formato visual de objetos y arrays, ya que innerHTML era necesario para aplicar las clases de estilos correspondientes. (Hay un issue al respecto #273)

Este código simplifica la prevención de XSS a la vez que soluciona los bugs de estilos en los diferentes tipos de datos que se pueden mostrar en la consola.


✅ Solución

  • Agregada la función escapeHtml para escapar contenido HTML.
  • Se corrigió el bug que eliminaba los estilos aplicados a la consola.
  • Las claves no válidas como identificadores ahora se renderizan como strings escapadas entre comillas.
  • Ahora los a los BigInt se le aplican los mismos estilos que a los Numbers

📸 Capturas

screen

🧪 Tests

  • Las strings con caracteres peligrosos (<, >, ", ', &) no rompen el DOM.
  • Se mantiene el estilo de los elementos renderizados.
  • Las claves inválidas como "some-key" se muestran con comillas y sin romper la estructura.

Fixes #273

- Agrega la función escapeHtml para evitar inyecciones de HTML en strings.
- Simplifica el renderizado con innerHTML.
- Simplifica la lógica en createListItem y handlers.default.
- Aplica estilos correctamente a tipos primitivos, objetos y arrays.
- Muestra claves no válidas como strings escapadas con comillas.
@midudev midudev merged commit cee0318 into midudev:main Jul 18, 2025
2 of 3 checks passed
@andymedinadev andymedinadev deleted the fix/broken-console-logs branch October 11, 2025 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

La consola renderiza elementos HTML que no están en el código

2 participants