doiuse-email
TypeScript icon, indicating that this package has built-in type declarations

0.4.1 • Public • Published

doiuse-email

npm version

A tool for checking the HTML and CSS support of various email clients based on Can I email.
Inspired by the excellent doiuse library.

Installation

Install the package from npm using your favourite package manager:

npm install doiuse-email

Programmatic Usage

Import it and run it by calling doIUseEmail(html: string, options: DoIUseOptions):

import { doIUseEmail } from 'doiuse-email';

const result = doIUseEmail(
  `
  <!doctype html>
  <html>
    <body>
      <div style='background-color: orange'></div>
    </body>
  </html>
  `,
  { emailClients: ['gmail.*'] }
);

console.log(result);
/*
  {
    "notes": [
      "Note about `<body> element` support for `gmail.desktop-webmail`: Partial. Replaced by a `<div>` with supported attributes.",
      "Note about `<body> element` support for `gmail.ios`: Partial. Replaced by a `<div>` with supported attributes.",
      "Note about `<body> element` support for `gmail.android`: Partial. Replaced by a `<div>` with supported attributes.",
      "Note about `<body> element` support for `gmail.mobile-webmail`: Partial. Replaced by a `<div>` with supported attributes.",
    ],
    "success": true,
  }
*/

// Output is based on https://caniemail.com

CLI Usage

You can also call doiuse-email from the CLI:

doiuse-email --email-clients='gmail.*' myfile.html

The command will output a JSON representing the support for the HTML in the provided file. It's recommended to use it with a tool like jq for more human-readable output:

doiuse-email --email-clients='gmail.*' myfile.html | jq

API

doIUseEmail(html, options)

html

Type: string

The HTML that represents the email.

options

emailClients

Type: string[]

An array of globs for matching email clients to be checked against the Can I Email database. For more information about the glob syntax that is used, refer to the micromatch package.

Possible email clients:

[
  'apple-mail.macos',
  'apple-mail.ios',
  'gmail.desktop-webmail',
  'gmail.ios',
  'gmail.android',
  'gmail.mobile-webmail',
  'orange.desktop-webmail',
  'orange.ios',
  'orange.android',
  'outlook.windows',
  'outlook.windows-mail',
  'outlook.macos',
  'outlook.ios',
  'outlook.android',
  'yahoo.desktop-webmail',
  'yahoo.ios',
  'yahoo.android',
  'aol.desktop-webmail',
  'aol.ios',
  'aol.android',
  'samsung-email.android',
  'sfr.desktop-webmail',
  'sfr.ios',
  'sfr.android',
  'thunderbird.macos',
  'protonmail.desktop-webmail',
  'protonmail.ios',
  'protonmail.android',
  'hey.desktop-webmail',
  'mail-ru.desktop-webmail',
  'fastmail.desktop-webmail',
  'laposte.desktop-webmail'
];

Example: ["gmail.*", "*.desktop-webmail"]

Package Sidebar

Install

npm i doiuse-email

Weekly Downloads

5

Version

0.4.1

License

MIT

Unpacked Size

1.68 MB

Total Files

31

Last publish

Collaborators

  • shellscape