Migrar ngSanitize ($sanitize, ng-bind-html, linky) a Angular moderno
ngSanitize entregaba $sanitize, hacía seguro ng-bind-html e incluía el filtro linky, que convertía en enlaces las URLs de un texto.
Qué la reemplaza
| Opción | Cuándo elegirla |
|---|---|
| Built-in sanitization with [innerHTML] | No necesita paquete: Angular sanitiza por defecto el HTML enlazado a innerHTML. |
| DOMPurify | Cuando debes controlar la lista de etiquetas y atributos permitidos, por ejemplo para contenido de un editor enriquecido. |
| A small pipe for links | linky no tiene equivalente integrado; escribe un pipe que arme los enlaces y deja que Angular sanitice el resultado. |
Cómo migrarla
- Reemplaza ng-bind-html por [innerHTML]; Angular sanitiza el valor automáticamente.
- Revisa cada llamada a $sce.trustAsHtml: la mayoría debería pasar a ser un binding sanitizado normal, y solo el contenido que controlas por completo puede usar bypassSecurityTrustHtml.
- Reemplaza linky por un pipe propio y pruébalo con datos no confiables.
Cuidado con. Los dos sanitizadores no permiten exactamente el mismo HTML; Angular elimina los atributos style en línea, por ejemplo. Renderiza el contenido guardado con ambos y compara, y revisa la advertencia que Angular escribe en la consola en desarrollo cuando elimina algo.
Otras librerías
¿Planeas una migración o una plataforma de microfrontends?
En una llamada de 20 minutos me cuentas tu situación y te digo cómo la abordaría. Si todavía no vale la pena, también te lo digo.
Escríbeme por LinkedIn