JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 23205
  • Score
    100M100P100Q137418F
  • License BSD-3-Clause-Clear

DOM-based HTML email sanitizer for in-browser email rendering.

Package Exports

  • lettersanitizer
  • lettersanitizer/lib/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (lettersanitizer) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

lettersanitizer

DOM-based HTML email sanitizer for in-browser email rendering.

workflow npm npm NPM

Used in react-letter and vue-letter.

Installation

lettersanitizer is available on npm, you can install it with either npm or yarn:

npm install lettersanitizer
# or:
yarn install lettersanitizer

Example usage

import { sanitize } from 'lettersanitizer';

sanitize('<b>test</b><script>test</script>', '', { id: 'test' });
// <div id="test"><b>test</b></div>

sanitize function

lettersanitizer exposes a sanitize function that uses DOMParser to sanitize the HTML content of messages and returns HTML text.

text is used for fallback text in case of no HTML source being available. Plain text in that case is processed into safe HTML output.

interface SanitizerOptions {
  id?: string;
  dropAllHtmlTags?: boolean;
  rewriteExternalResources?: (url: string) => string;
  rewriteExternalLinks?: (url: string) => string;
  allowedSchemas?: string[];
  preserveCssPriority?: boolean;
  noWrapper?: boolean;
}

function sanitize(html: string, text?: string, options?: SanitizerOptions);