@appex/aurelia-dompurify
Version:
Use DOMPurify as Aurelia's sanitizer implementation.
19 lines (14 loc) • 613 B
text/typescript
import { HTMLSanitizer } from 'aurelia-templating-resources';
import { getLogger } from 'aurelia-logging';
import * as DOMPurify from 'dompurify';
let domPurifyNotified = false;
export class DOMPurifySanitizer extends HTMLSanitizer {
public static defaultConfig: DOMPurify.Config;
public sanitize(input: any, config?: DOMPurify.Config): any {
if (!domPurifyNotified) {
getLogger('dompurify-sanitizer').debug(`Using DOMPurify instead of Aurelia's default sanitizer`);
domPurifyNotified = true;
}
return DOMPurify.sanitize(input, config ?? DOMPurifySanitizer.defaultConfig);
}
}