eslint-plugin-template

0.7.0 • Public • Published

eslint-plugin-template

Parses out template declarations found in js and html files.

For example if you have a file like below, eslint will not be able to parse it normally due to the template markers. With this plugin, the linter is able to work normally. Note that whatever is inside the markers is replaced with {}.

  {# Set data in the JS variable data #}    // ignored
  {% import json %}                         // ignored
  var x = {{ json.dumps(data) }}            // becomes var x = {}
  var y = {% raw json.dumps(data) %}        // becomes var y = {}

It handles conditional templates within JavaScript similarly.

{% if true %}
  var x = 1
{% else %}
  var x = 2
{% endif %}

becomes:

  var x = 1
  var x = 2

If there are edge cases that still cannot be handled, wrap them inside /* eslint-disable */ and /* eslint-enable */:

foo({{x}})
/* eslint-disable */
var x = {% if x %}{{x}}{% else %}0{% endif %}
/* eslint-enable */

becomes:

foo({})

Installation

npm install --save-dev eslint eslint-plugin-template

Usage

Add template to the plugins section of your .eslintrc configuration file:

{
    "plugins": [
        "template"
    ]
}

Tests

npm test

Release

  • Update the version in package.json
  • Commit to the master branch, update the tag, and push
  • Run npm publish

Package Sidebar

Install

npm i eslint-plugin-template

Weekly Downloads

518

Version

0.7.0

License

MIT

Unpacked Size

11.2 kB

Total Files

9

Last publish

Collaborators

  • sanand0