Sanitize HTML content using the Google Caja JsHtmlSanitizer and a set of basic assumptions, and a wrapper to make it all work in nodejs without global variable leaks and so on.
This is a slightly 'loosened' version of Caja's restrictions, to allow for things like images, links, and a few HTML5 elements.
Sanitize a string of HTML content, returning a sanitized string.
npm install @mapbox/sanitize-caja
var sanitize = require('@mapbox/sanitize-caja');
document.write(sanitize(evilUserInput));