JSPM

  • Created
  • Published
  • Downloads 37
  • Score
    100M100P100Q65083F
  • License MIT

Pluggable email template code linter

Package Exports

  • emlint

Readme

emlint

Pluggable email template code linter

Install

This package is ESM only: Node 12+ is needed to use it and it must be imported instead of required:

npm i emlint

If you need a legacy version which works with require, use version 4.7.0

Quick Take

import { strict as assert } from "assert";
import { Linter } from "emlint";
const linter = new Linter();

// Correct "not" type Outlook conditional would be:
// <!--[if !mso]><!-->
//   <span class="foo">z</span>
// <!--<![endif]-->

// We have a "not" type opening but "only" type
// closing:
const messages = linter.verify(
  `<!--[if !mso]><!-->
  <span class="foo">z</span>
<![endif]-->`,
  {
    rules: {
      all: 2,
    },
  }
);

assert.deepEqual(messages, [
  {
    line: 3,
    column: 1,
    severity: 2,
    ruleId: "comment-mismatching-pair",
    message: `Add "<!--".`,
    idxFrom: 49,
    idxTo: 61,
    fix: {
      ranges: [[49, 49, "<!--"]],
    },
    keepSeparateWhenFixing: true,
  },
]);

Documentation

Please visit codsen.com for a full description of the API and examples.

Contributing

To report bugs or request features or assistance, raise an issue on GitHub.

Licence

MIT License

Copyright (c) 2010-2021 Roy Revelt and other contributors

ok codsen star