@jupyterlab/eslint-plugin-jinja

0.2.0 • Public • Published

npm version

eslint-plugin-jinja

This plugin treats Jinja template expressions and statements as valid Javascript expressions, so that ESLint can check javascript code, ignoring any Jinja expression found.

As a note, it is possible that this best effort conversion yeilds false negatives or positives because it is impossible to know the right way to insert placeholders.

Example

Plugin will convert (internally) this code:

  (function() {
    'use strict';

    {# plain jinja variables are converted into strings
      (preferred quotes are getting from .eslintrc file) #}

    var a = 'this is' + {{ some_variable }};

    {# if it is already in string, it is wrapped with spaces #}

    var b = 'this is {{ other_variable }}';
    var c = 'and this is {{ another_one['field']}}';

    {# if-else statements are converted into ( ..., ... ) expression #}

    var d = {% if something %} 'this is something' {% else %} null {% endif %};

    {# any other statements become comments #}
    
    {% for i in [1, 2, 3] %}
      console.log(a, b, c, d);
    {% endfor %}
  })();

into this:

 (function() {
    'use strict';

    /* plain jinja variables are converted into strings
      (preferred quotes are getting from .eslintrc file) */

    var a = 'this is' + '  some_variable  ';

    /* if it is already in string, it is wrapped with spaces */

    var b = 'this is    other_variable   ';
    var c = 'and this is    another_one[ field ]  ';

    /* if-else statements are converted into ( ..., ... ) expression */

    var d = (/*if something */ 'this is something' ,/*else */ null /*endif */);

    /* any other statements become comments */

    /* for i in [1, 2, 3] */
      console.log(a, b, c, d);
    /* endfor */
  })();

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.2.0
    4
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 0.2.0
    4

Package Sidebar

Install

npm i @jupyterlab/eslint-plugin-jinja

Weekly Downloads

4

Version

0.2.0

License

MIT

Last publish

Collaborators

  • hbcarlos
  • jupyter-server-release-bot
  • jupyterlab-release-bot
  • jweill-aws
  • krassowski
  • darian
  • blink1073
  • jasongrout
  • sylvaincorlay
  • ian-r-rose
  • minrk
  • hoo761
  • zsailer
  • telamonian
  • fcollonval
  • jtpio
  • echarles
  • goanpeca
  • mbektas
  • loichuder