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:
{ '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 expression # var d = % if something % 'this is something' % else % null % endif %; # any other statements become comments # % for i in 1 2 3 % console; % endfor % };
into this:
{ '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; /* endfor */ };